UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

2 lines (1 loc) 2.47 kB
(function(t,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("../common/index.umd.js"),require("vue")):typeof define=="function"&&define.amd?define(["exports","../common/index.umd.js","vue"],n):(t=typeof globalThis<"u"?globalThis:t||self,n(t.checkbox={},t.common,t.Vue))})(this,function(t,n,e){"use strict";const i={id:{Type:String,default:""},customClass:{Type:String,default:""},disabled:{Type:Boolean,default:!1},readonly:{type:Boolean,default:!1},indeterminate:{Type:Boolean,default:!1},modelValue:{Type:Boolean,default:!1},focusOnCreated:{type:Boolean,default:!1},value:{type:String,default:""},name:{type:String,default:""},checked:{type:Boolean,default:!1}},b=e.defineComponent({name:"FCheckboxButton",props:i,emits:["change","changeValue","update:modelValue","update:checked","click"],setup(a,d){const l=e.inject(n.CHECKBOX_CONTEXT,null),{buttonClass:o}=n.useCheck(a,d,l==null?void 0:l.parentProps,l==null?void 0:l.parentContext),r=u=>{u.stopPropagation(),d.emit("click",u)};return()=>{var u,s;return e.createVNode("div",{class:o.value,style:"border-radius:0;border: 1px solid #E8EBF2;",onClick:r},[(s=(u=d.slots).default)==null?void 0:s.call(u)])}}}),f=e.defineComponent({name:"FCheckbox",props:i,emits:["change","changeValue","update:modelValue","update:checked"],setup(a,d){const l=e.ref(),o=e.inject(n.CHECKBOX_CONTEXT,null),{checked:r,disabled:u,indeterminate:s,name:T,onClickCheckBox:p,shouldRenderButton:V,shouldRenderNative:g}=n.useCheck(a,d,o==null?void 0:o.parentProps,o==null?void 0:o.parentContext),N=e.ref(a.id),F=e.computed(()=>({display:"inline-block"}));function m(){var c;a.focusOnCreated&&((c=l.value)==null||c.focus({preventScroll:!0}))}function S(c){p(c),m()}return e.onMounted(()=>{m()}),()=>{var c,h;return e.createVNode(e.Fragment,null,[V.value&&e.createVNode(b,e.mergeProps(a,{onClick:p}),{default:()=>{var k,C;return[(C=(k=d.slots).default)==null?void 0:C.call(k)]}}),g.value&&e.createVNode("div",{class:"custom-control custom-checkbox",onClick:S,style:F.value},[e.createVNode("input",{ref:l,id:N,title:"checkbox-input",type:"checkbox",class:"custom-control-input",checked:r.value,disabled:u.value,indeterminate:s.value,name:T.value,value:a.value},null),e.createVNode("div",{class:"custom-control-label"},[(h=(c=d.slots).default)==null?void 0:h.call(c)])])])}}}),y=n.withInstall(f);t.FCheckbox=f,t.checkboxProps=i,t.default=y,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});