UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2 lines (1 loc) 1.59 kB
(function(e,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("../common/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../common/index.umd.js"],n):(e=typeof globalThis<"u"?globalThis:e||self,n(e.button={},e.Vue,e.common))})(this,function(e,n,f){"use strict";const d={id:String,type:{type:String,default:"primary"},disabled:{type:Boolean,default:!1},size:{type:String,default:"middle"},icon:{type:String},customClass:{type:Object,default:{}}};function b(t,i){function c(o){o.stopPropagation(),t.disabled||i.emit("click",o)}return{onClickButton:c}}function y(t){const i=n.computed(()=>{const o={"f-icon":!0};if(t.icon){const s=t.icon.trim().split(" ");s&&s.length&&s.reduce((l,u)=>(l[u]=!0,l),o)}return o}),c=n.computed(()=>!!(t.icon&&t.icon.trim()));return{iconClass:i,shouldShowIcon:c}}const a=n.defineComponent({name:"FButton",props:d,emits:["click"],setup(t,i){const{onClickButton:c}=b(t,i),{iconClass:o,shouldShowIcon:s}=y(t),l=n.computed(()=>{const u={btn:!0,"btn-lg":t.size==="large","btn-md":t.size!=="large"&&t.size!=="small","btn-sm":t.size==="small","btn-icontext":s.value};return u[`btn-${t.type}`]=!0,t.customClass&&Object.keys(t.customClass).reduce((m,r)=>(m[r]=t.customClass[r],m),u),u});return()=>n.createVNode("button",{class:l.value,disabled:t.disabled,onClick:u=>c(u)},[s.value&&n.createVNode("i",{class:o.value},null),i.slots.default&&i.slots.default()])}}),C=f.withInstall(a);e.FButton=a,e.buttonProps=d,e.default=C,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});