el-checkbox-DivMJ7n7.js 9.5 KB

1
  1. import{a1 as W,a2 as Y,a3 as U,a4 as ee,a5 as ae,a6 as z,a7 as F,c as f,a8 as P,a9 as ge,aa as R,ab as le,V as ne,ac as te,O as oe,ad as T,i as O,ae as I,af as A,ag as Ce,ah as Q,ai as X,aj as ue,ak as D,al as j,d as E,am as se,an as K,H as ie,o as x,w as re,b as Z,a as S,M,Y as C,e as n,D as N,ao as $,J as G,ap as w,U as q,F as xe,q as ce,t as de,aq as be,ar as Ve,as as ye,at as Se,au as Le,av as Be,aw as Ee,ax as _e,ay as ve}from"./index-CCU9aCns.js";import{i as Ie}from"./isEqual-D8flBje4.js";const me={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:ae,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},...ee(["ariaControls"])},fe={[z]:e=>W(e)||Y(e)||U(e),change:e=>W(e)||Y(e)||U(e)},_=Symbol("checkboxGroupContextKey"),Fe=({model:e,isChecked:c})=>{const i=F(_,void 0),l=f(()=>{var r,d;const t=(r=i==null?void 0:i.max)==null?void 0:r.value,v=(d=i==null?void 0:i.min)==null?void 0:d.value;return!P(t)&&e.value.length>=t&&!c.value||!P(v)&&e.value.length<=v&&c.value});return{isDisabled:ge(f(()=>(i==null?void 0:i.disabled.value)||l.value)),isLimitDisabled:l}},Ne=(e,{model:c,isLimitExceeded:i,hasOwnLabel:l,isDisabled:b,isLabeledByFormItem:r})=>{const d=F(_,void 0),{formItem:t}=R(),{emit:v}=le();function s(a){var h,k,u,p;return[!0,e.trueValue,e.trueLabel].includes(a)?(k=(h=e.trueValue)!=null?h:e.trueLabel)!=null?k:!0:(p=(u=e.falseValue)!=null?u:e.falseLabel)!=null?p:!1}function o(a,h){v(T,s(a),h)}function m(a){if(i.value)return;const h=a.target;v(T,s(h.checked),a)}async function V(a){i.value||!l.value&&!b.value&&r.value&&(a.composedPath().some(u=>u.tagName==="LABEL")||(c.value=s([!1,e.falseValue,e.falseLabel].includes(c.value)),await oe(),o(c.value,a)))}const L=f(()=>(d==null?void 0:d.validateEvent)||e.validateEvent);return ne(()=>e.modelValue,()=>{L.value&&(t==null||t.validate("change").catch(a=>te()))}),{handleChange:m,onClickRoot:V}},$e=e=>{const c=O(!1),{emit:i}=le(),l=F(_,void 0),b=f(()=>P(l)===!1),r=O(!1),d=f({get(){var t,v;return b.value?(t=l==null?void 0:l.modelValue)==null?void 0:t.value:(v=e.modelValue)!=null?v:c.value},set(t){var v,s;b.value&&I(t)?(r.value=((v=l==null?void 0:l.max)==null?void 0:v.value)!==void 0&&t.length>(l==null?void 0:l.max.value)&&t.length>d.value.length,r.value===!1&&((s=l==null?void 0:l.changeEvent)==null||s.call(l,t))):(i(z,t),c.value=t)}});return{model:d,isGroup:b,isLimitExceeded:r}},Ge=(e,c,{model:i})=>{const l=F(_,void 0),b=O(!1),r=f(()=>A(e.value)?e.label:e.value),d=f(()=>{const o=i.value;return U(o)?o:I(o)?Ce(r.value)?o.map(Q).some(m=>Ie(m,r.value)):o.map(Q).includes(r.value):o!=null?o===e.trueValue||o===e.trueLabel:!!o}),t=X(f(()=>{var o;return(o=l==null?void 0:l.size)==null?void 0:o.value}),{prop:!0}),v=X(f(()=>{var o;return(o=l==null?void 0:l.size)==null?void 0:o.value})),s=f(()=>!!c.default||!A(r.value));return{checkboxButtonSize:t,isChecked:d,isFocused:b,checkboxSize:v,hasOwnLabel:s,actualValue:r}},he=(e,c)=>{const{formItem:i}=R(),{model:l,isGroup:b,isLimitExceeded:r}=$e(e),{isFocused:d,isChecked:t,checkboxButtonSize:v,checkboxSize:s,hasOwnLabel:o,actualValue:m}=Ge(e,c,{model:l}),{isDisabled:V}=Fe({model:l,isChecked:t}),{inputId:L,isLabeledByFormItem:a}=ue(e,{formItemContext:i,disableIdGeneration:o,disableIdManagement:b}),{handleChange:h,onClickRoot:k}=Ne(e,{model:l,isLimitExceeded:r,hasOwnLabel:o,isDisabled:V,isLabeledByFormItem:a});return(()=>{function p(){var y,g;I(l.value)&&!l.value.includes(m.value)?l.value.push(m.value):l.value=(g=(y=e.trueValue)!=null?y:e.trueLabel)!=null?g:!0}e.checked&&p()})(),D({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},f(()=>b.value&&A(e.value))),D({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},f(()=>!!e.trueLabel)),D({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},f(()=>!!e.falseLabel)),{inputId:L,isLabeledByFormItem:a,isChecked:t,isDisabled:V,isFocused:d,checkboxButtonSize:v,checkboxSize:s,hasOwnLabel:o,model:l,actualValue:m,handleChange:h,onClickRoot:k}},we=E({name:"ElCheckbox"}),ze=E({...we,props:me,emits:fe,setup(e){const c=e,i=se(),{inputId:l,isLabeledByFormItem:b,isChecked:r,isDisabled:d,isFocused:t,checkboxSize:v,hasOwnLabel:s,model:o,actualValue:m,handleChange:V,onClickRoot:L}=he(c,i),a=K("checkbox"),h=f(()=>[a.b(),a.m(v.value),a.is("disabled",d.value),a.is("bordered",c.border),a.is("checked",r.value)]),k=f(()=>[a.e("input"),a.is("disabled",d.value),a.is("checked",r.value),a.is("indeterminate",c.indeterminate),a.is("focus",t.value)]);return(u,p)=>(x(),ie(be(!n(s)&&n(b)?"span":"label"),{class:C(n(h)),"aria-controls":u.indeterminate?u.ariaControls:null,onClick:n(L)},{default:re(()=>{var y,g,H,J;return[Z("span",{class:C(n(k))},[u.trueValue||u.falseValue||u.trueLabel||u.falseLabel?N((x(),S("input",{key:0,id:n(l),"onUpdate:modelValue":B=>G(o)?o.value=B:null,class:C(n(a).e("original")),type:"checkbox",indeterminate:u.indeterminate,name:u.name,tabindex:u.tabindex,disabled:n(d),"true-value":(g=(y=u.trueValue)!=null?y:u.trueLabel)!=null?g:!0,"false-value":(J=(H=u.falseValue)!=null?H:u.falseLabel)!=null?J:!1,onChange:n(V),onFocus:B=>t.value=!0,onBlur:B=>t.value=!1,onClick:$(()=>{},["stop"])},null,42,["id","onUpdate:modelValue","indeterminate","name","tabindex","disabled","true-value","false-value","onChange","onFocus","onBlur","onClick"])),[[w,n(o)]]):N((x(),S("input",{key:1,id:n(l),"onUpdate:modelValue":B=>G(o)?o.value=B:null,class:C(n(a).e("original")),type:"checkbox",indeterminate:u.indeterminate,disabled:n(d),value:n(m),name:u.name,tabindex:u.tabindex,onChange:n(V),onFocus:B=>t.value=!0,onBlur:B=>t.value=!1,onClick:$(()=>{},["stop"])},null,42,["id","onUpdate:modelValue","indeterminate","disabled","value","name","tabindex","onChange","onFocus","onBlur","onClick"])),[[w,n(o)]]),Z("span",{class:C(n(a).e("inner"))},null,2)],2),n(s)?(x(),S("span",{key:0,class:C(n(a).e("label"))},[q(u.$slots,"default"),u.$slots.default?M("v-if",!0):(x(),S(xe,{key:0},[ce(de(u.label),1)],64))],2)):M("v-if",!0)]}),_:3},8,["class","aria-controls","onClick"]))}});var De=j(ze,[["__file","checkbox.vue"]]);const Ue=E({name:"ElCheckboxButton"}),Pe=E({...Ue,props:me,emits:fe,setup(e){const c=e,i=se(),{isFocused:l,isChecked:b,isDisabled:r,checkboxButtonSize:d,model:t,actualValue:v,handleChange:s}=he(c,i),o=F(_,void 0),m=K("checkbox"),V=f(()=>{var a,h,k,u;const p=(h=(a=o==null?void 0:o.fill)==null?void 0:a.value)!=null?h:"";return{backgroundColor:p,borderColor:p,color:(u=(k=o==null?void 0:o.textColor)==null?void 0:k.value)!=null?u:"",boxShadow:p?`-1px 0 0 0 ${p}`:void 0}}),L=f(()=>[m.b("button"),m.bm("button",d.value),m.is("disabled",r.value),m.is("checked",b.value),m.is("focus",l.value)]);return(a,h)=>{var k,u,p,y;return x(),S("label",{class:C(n(L))},[a.trueValue||a.falseValue||a.trueLabel||a.falseLabel?N((x(),S("input",{key:0,"onUpdate:modelValue":g=>G(t)?t.value=g:null,class:C(n(m).be("button","original")),type:"checkbox",name:a.name,tabindex:a.tabindex,disabled:n(r),"true-value":(u=(k=a.trueValue)!=null?k:a.trueLabel)!=null?u:!0,"false-value":(y=(p=a.falseValue)!=null?p:a.falseLabel)!=null?y:!1,onChange:n(s),onFocus:g=>l.value=!0,onBlur:g=>l.value=!1,onClick:$(()=>{},["stop"])},null,42,["onUpdate:modelValue","name","tabindex","disabled","true-value","false-value","onChange","onFocus","onBlur","onClick"])),[[w,n(t)]]):N((x(),S("input",{key:1,"onUpdate:modelValue":g=>G(t)?t.value=g:null,class:C(n(m).be("button","original")),type:"checkbox",name:a.name,tabindex:a.tabindex,disabled:n(r),value:n(v),onChange:n(s),onFocus:g=>l.value=!0,onBlur:g=>l.value=!1,onClick:$(()=>{},["stop"])},null,42,["onUpdate:modelValue","name","tabindex","disabled","value","onChange","onFocus","onBlur","onClick"])),[[w,n(t)]]),a.$slots.default||a.label?(x(),S("span",{key:2,class:C(n(m).be("button","inner")),style:Ve(n(b)?n(V):void 0)},[q(a.$slots,"default",{},()=>[ce(de(a.label),1)])],6)):M("v-if",!0)],2)}}});var ke=j(Pe,[["__file","checkbox-button.vue"]]);const Te=ye({modelValue:{type:Se(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:ae,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},...ee(["ariaLabel"])}),Oe={[z]:e=>I(e),change:e=>I(e)},Ae=E({name:"ElCheckboxGroup"}),Me=E({...Ae,props:Te,emits:Oe,setup(e,{emit:c}){const i=e,l=K("checkbox"),{formItem:b}=R(),{inputId:r,isLabeledByFormItem:d}=ue(i,{formItemContext:b}),t=async s=>{c(z,s),await oe(),c(T,s)},v=f({get(){return i.modelValue},set(s){t(s)}});return Le(_,{...Be(Ee(i),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:v,changeEvent:t}),ne(()=>i.modelValue,()=>{i.validateEvent&&(b==null||b.validate("change").catch(s=>te()))}),(s,o)=>{var m;return x(),ie(be(s.tag),{id:n(r),class:C(n(l).b("group")),role:"group","aria-label":n(d)?void 0:s.ariaLabel||"checkbox-group","aria-labelledby":n(d)?(m=n(b))==null?void 0:m.labelId:void 0},{default:re(()=>[q(s.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var pe=j(Me,[["__file","checkbox-group.vue"]]);const Ke=_e(De,{CheckboxButton:ke,CheckboxGroup:pe});ve(ke);const qe=ve(pe);export{Ke as E,qe as a};