@gits-id/button
Version:
GITS Button Component
2 lines (1 loc) • 3.39 kB
JavaScript
(function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@gits-id/icon")):typeof define=="function"&&define.amd?define(["exports","vue","@gits-id/icon"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.VBtn={},l.Vue,l.VIcon))})(this,function(l,e,d){"use strict";const r=(n=>n&&typeof n=="object"&&"default"in n?n:{default:n})(d),C="",V="",c=e.defineComponent({__name:"VBtn",props:{color:{default:"default"},size:{default:"md"},to:null,href:null,text:{type:Boolean},outlined:{type:Boolean},rounded:{type:Boolean},disabled:{type:Boolean},noRing:{type:Boolean},tile:{type:Boolean},block:{type:Boolean},shadow:{type:Boolean},icon:{type:Boolean},loading:{type:Boolean},loadingText:{default:"Loading..."},newTab:{type:Boolean},type:{default:"button"},ring:{type:Boolean},solid:{type:Boolean},fab:{type:Boolean},loadingIcon:{default:"gg:spinner"},prefix:{type:Boolean},prefixIcon:{default:""},prefixIconSize:{default:"sm"},prefixIconClass:{default:""},suffix:{type:Boolean},suffixIcon:{default:""},suffixIconSize:{default:"sm"},suffixIconClass:{default:""},loadingClass:{default:"animate-spin"},flush:{type:Boolean}},setup(n){const o=n,s=e.computed(()=>o.to?e.resolveComponent("router-link"):o.href?"a":"button"),a=e.computed(()=>`focus:ring focus:ring-offset-2 focus:outline-none ${{default:"",primary:"focus:ring-primary-500",secondary:"focus:ring-secondary-500",info:"focus:ring-info-500",warning:"focus:ring-warning-500",success:"focus:ring-success-500",error:"focus:ring-error-500",dark:"focus:ring-gray-500"}[o.color]}`),i=e.computed(()=>["btn",`btn-${o.color}`,`btn--${o.size}`,{[a.value]:!o.noRing,"btn--rounded":o.rounded,"btn--outlined":o.outlined,"btn--fab":o.fab,"btn--tile":o.tile,"btn--block":o.block,"btn--loading":o.loading,"btn--text":o.text,"btn--flush":o.flush,shadow:o.shadow}]),x=e.computed(()=>{let t={type:o.type,"aria-label":"Button"};return o.disabled&&(t["aria-disabled"]=!0,t.disabled=!0),o.to&&(t.to=o.to),o.href&&(t.href=o.href),o.newTab&&(t.rel="noopener",t.target="_blank"),t});return(t,h)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(s)),e.mergeProps({class:e.unref(i)},{...e.unref(x),...t.$attrs}),{default:e.withCtx(()=>[e.renderSlot(t.$slots,"prefix",{},()=>[n.prefixIcon||n.loading?(e.openBlock(),e.createBlock(e.unref(r.default),{key:0,name:n.loading?n.loadingIcon:n.prefixIcon,class:e.normalizeClass(["btn-icon",n.prefixIconClass,n.loading?n.loadingClass:void 0]),size:n.prefixIconSize},null,8,["name","class","size"])):e.createCommentVNode("",!0)]),e.renderSlot(t.$slots,"default"),e.renderSlot(t.$slots,"suffix",{},()=>[n.suffixIcon?(e.openBlock(),e.createBlock(e.unref(r.default),{key:0,name:n.suffixIcon,size:n.suffixIconSize,class:e.normalizeClass(["btn-icon",n.suffixIconClass])},null,8,["name","size","class"])):e.createCommentVNode("",!0)])]),_:3},16,["class"]))}}),f=(n,o)=>{const s=n.__vccOpts||n;for(const[a,i]of o)s[a]=i;return s},u={},p={class:"v-btn-group"};function g(n,o){return e.openBlock(),e.createElementBlock("div",p,[e.renderSlot(n.$slots,"default")])}const b=f(u,[["render",g]]),y={},B={class:"v-btn-toolbar"};function m(n,o){return e.openBlock(),e.createElementBlock("div",B,[e.renderSlot(n.$slots,"default")])}const k=f(y,[["render",m]]);l.VBtn=c,l.VBtnGroup=b,l.VBtnToolbar=k,l.default=c,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});