2 lines
9.4 KiB
JavaScript
2 lines
9.4 KiB
JavaScript
import{aS as X,J,ak as Y,k as P,a6 as B,b as ye,R as F,B as V,j as b,U as w,N as Z,D as _,P as G,aU as ee,y as z,cb as O,a3 as pe,cc as Q,b6 as ae,d as M,bF as te,a as R,o as y,e as $,w as le,q as N,n as p,K as ne,Y as T,f as c,aB as se,aL as ue,cd as oe,c as E,h as j,M as ie,x as re,aa as de,g as U,r as A,al as Ve,F as Se,aV as Le,ad as Be,ab as ce,l as Ee}from"./index-Dq6jPnBF.js";import{U as I,C as K}from"./raf-BV6Sit1E.js";import{u as be,p as Ne}from"./index-VqqV1S6i.js";import{g as Ie,c as ve,b as q,e as W,d as me,u as D}from"./index-C7hG1muh.js";import{o as Fe}from"./omit-DdM_zsdI.js";const fe={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:{type:Boolean,default:void 0},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:X,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},ariaLabel:String,...be(["ariaControls"])},he={[I]:e=>J(e)||Y(e)||P(e),change:e=>J(e)||Y(e)||P(e)},S=Symbol("checkboxGroupContextKey"),De=ye({modelValue:{type:F(Array),default:()=>[]},disabled:{type:Boolean,default:void 0},min:Number,max:Number,size:X,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},options:{type:F(Array)},props:{type:F(Object),default:()=>ge},type:{type:String,values:["checkbox","button"],default:"checkbox"},...be(["ariaLabel"])}),Pe={[I]:e=>B(e),change:e=>B(e)},ge={label:"label",value:"value",disabled:"disabled"},we=({model:e,isChecked:t})=>{const s=V(S,void 0),u=V(Ie,void 0),l=b(()=>{var n,v;const r=(n=s==null?void 0:s.max)==null?void 0:n.value,i=(v=s==null?void 0:s.min)==null?void 0:v.value;return!w(r)&&e.value.length>=r&&!t.value||!w(i)&&e.value.length<=i&&t.value});return{isDisabled:ve(b(()=>{var r;return s===void 0?(u==null?void 0:u.disabled)??l.value:((r=s.disabled)==null?void 0:r.value)||l.value})),isLimitDisabled:l}},ze=(e,{model:t,isLimitExceeded:s,hasOwnLabel:u,isDisabled:l,isLabeledByFormItem:r})=>{const i=V(S,void 0),{formItem:n}=q(),{emit:v}=Z();function d(a){return[!0,e.trueValue,e.trueLabel].includes(a)?e.trueValue??e.trueLabel??!0:e.falseValue??e.falseLabel??!1}function f(a,o){v(K,d(a),o)}function m(a){if(s.value)return;const o=a.target;v(K,d(o.checked),a)}async function k(a){s.value||!u.value&&!l.value&&r.value&&(a.composedPath().some(o=>o.tagName==="LABEL")||(t.value=d([!1,e.falseValue,e.falseLabel].includes(t.value)),await G(),f(t.value,a)))}const x=b(()=>(i==null?void 0:i.validateEvent)||e.validateEvent);return _(()=>e.modelValue,()=>{x.value&&(n==null||n.validate("change").catch(ee))}),{handleChange:m,onClickRoot:k}},Oe=e=>{const t=z(!1),{emit:s,vnode:u}=Z(),l=V(S,void 0),r=b(()=>w(l)===!1),i=z(!1),n=b(()=>{const d=u.props??{};return"modelValue"in d||"model-value"in d}),v=b({get(){var d;return r.value?(d=l==null?void 0:l.modelValue)==null?void 0:d.value:n.value?e.modelValue:t.value},set(d){var f,m;r.value&&B(d)?(i.value=((f=l==null?void 0:l.max)==null?void 0:f.value)!==void 0&&d.length>(l==null?void 0:l.max.value)&&d.length>v.value.length,i.value===!1&&((m=l==null?void 0:l.changeEvent)==null||m.call(l,d))):(s(I,d),t.value=d)}});return{model:v,isGroup:r,isLimitExceeded:i}},$e=(e,t,{model:s})=>{const u=V(S,void 0),l=z(!1),r=b(()=>O(e.value)?e.label:e.value),i=b(()=>{const n=s.value;return P(n)?n:B(n)?pe(r.value)?n.map(Q).some(v=>ae(v,r.value)):n.map(Q).includes(r.value):n!=null?n===e.trueValue||n===e.trueLabel:!!n});return{checkboxButtonSize:W(b(()=>{var n;return(n=u==null?void 0:u.size)==null?void 0:n.value}),{prop:!0}),isChecked:i,isFocused:l,checkboxSize:W(b(()=>{var n;return(n=u==null?void 0:u.size)==null?void 0:n.value})),hasOwnLabel:b(()=>!!t.default||!O(r.value)),actualValue:r}},ke=(e,t)=>{const{formItem:s}=q(),{model:u,isGroup:l,isLimitExceeded:r}=Oe(e),{isFocused:i,isChecked:n,checkboxButtonSize:v,checkboxSize:d,hasOwnLabel:f,actualValue:m}=$e(e,t,{model:u}),{isDisabled:k}=we({model:u,isChecked:n}),{inputId:x,isLabeledByFormItem:a}=me(e,{formItemContext:s,disableIdGeneration:f,disableIdManagement:l}),{handleChange:o,onClickRoot:h}=ze(e,{model:u,isLimitExceeded:r,hasOwnLabel:f,isDisabled:k,isLabeledByFormItem:a});return(()=>{function g(){B(u.value)&&!u.value.includes(m.value)?u.value.push(m.value):u.value=e.trueValue??e.trueLabel??!0}e.checked&&g()})(),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"},b(()=>l.value&&O(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"},b(()=>!!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"},b(()=>!!e.falseLabel)),{inputId:x,isLabeledByFormItem:a,isChecked:n,isDisabled:k,isFocused:i,checkboxButtonSize:v,checkboxSize:d,hasOwnLabel:f,model:u,actualValue:m,handleChange:o,onClickRoot:h}},Ue=["id","indeterminate","name","tabindex","disabled"];var Ae=M({name:"ElCheckbox",__name:"checkbox",props:fe,emits:he,setup(e){const t=e,{inputId:s,isLabeledByFormItem:u,isChecked:l,isDisabled:r,isFocused:i,checkboxSize:n,hasOwnLabel:v,model:d,actualValue:f,handleChange:m,onClickRoot:k}=ke(t,te()),x=b(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:f.value}),a=R("checkbox"),o=b(()=>[a.b(),a.m(n.value),a.is("disabled",r.value),a.is("bordered",t.border),a.is("checked",l.value)]),h=b(()=>[a.e("input"),a.is("disabled",r.value),a.is("checked",l.value),a.is("indeterminate",t.indeterminate),a.is("focus",i.value)]);return(C,g)=>(y(),$(A(!c(v)&&c(u)?"span":"label"),{for:!c(v)&&c(u)?null:c(s),class:p(o.value),"aria-controls":e.indeterminate?e.ariaControls:null,"aria-checked":e.indeterminate?"mixed":void 0,"aria-label":e.ariaLabel,onClick:c(k)},{default:le(()=>[N("span",{class:p(h.value)},[ne(N("input",T({id:c(s),"onUpdate:modelValue":g[0]||(g[0]=L=>se(d)?d.value=L:null),class:c(a).e("original"),type:"checkbox",indeterminate:e.indeterminate,name:e.name,tabindex:e.tabindex,disabled:c(r)},x.value,{onChange:g[1]||(g[1]=(...L)=>c(m)&&c(m)(...L)),onFocus:g[2]||(g[2]=L=>i.value=!0),onBlur:g[3]||(g[3]=L=>i.value=!1),onClick:g[4]||(g[4]=ue(()=>{},["stop"]))}),null,16,Ue),[[oe,c(d)]]),N("span",{class:p(c(a).e("inner"))},null,2)],2),c(v)?(y(),E("span",{key:0,class:p(c(a).e("label"))},[j(C.$slots,"default"),C.$slots.default?U("v-if",!0):(y(),E(ie,{key:0},[re(de(e.label),1)],64))],2)):U("v-if",!0)]),_:3},8,["for","class","aria-controls","aria-checked","aria-label","onClick"]))}}),xe=Ae;const Ke=["name","tabindex","disabled"];var Me=M({name:"ElCheckboxButton",__name:"checkbox-button",props:fe,emits:he,setup(e){const t=e,{isFocused:s,isChecked:u,isDisabled:l,checkboxButtonSize:r,model:i,actualValue:n,handleChange:v}=ke(t,te()),d=b(()=>t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":t.trueValue??t.trueLabel??!0,"false-value":t.falseValue??t.falseLabel??!1}:{value:n.value}),f=V(S,void 0),m=R("checkbox"),k=b(()=>{var o,h;const a=((o=f==null?void 0:f.fill)==null?void 0:o.value)??"";return{backgroundColor:a,borderColor:a,color:((h=f==null?void 0:f.textColor)==null?void 0:h.value)??"",boxShadow:a?`-1px 0 0 0 ${a}`:void 0}}),x=b(()=>[m.b("button"),m.bm("button",r.value),m.is("disabled",l.value),m.is("checked",u.value),m.is("focus",s.value)]);return(a,o)=>(y(),E("label",{class:p(x.value)},[ne(N("input",T({"onUpdate:modelValue":o[0]||(o[0]=h=>se(i)?i.value=h:null),class:c(m).be("button","original"),type:"checkbox",name:e.name,tabindex:e.tabindex,disabled:c(l)},d.value,{onChange:o[1]||(o[1]=(...h)=>c(v)&&c(v)(...h)),onFocus:o[2]||(o[2]=h=>s.value=!0),onBlur:o[3]||(o[3]=h=>s.value=!1),onClick:o[4]||(o[4]=ue(()=>{},["stop"]))}),null,16,Ke),[[oe,c(i)]]),a.$slots.default||e.label?(y(),E("span",{key:0,class:p(c(m).be("button","inner")),style:Ve(c(u)?k.value:void 0)},[j(a.$slots,"default",{},()=>[re(de(e.label),1)])],6)):U("v-if",!0)],2))}}),H=Me,Re=M({name:"ElCheckboxGroup",__name:"checkbox-group",props:De,emits:Pe,setup(e,{emit:t}){const s=e,u=t,l=R("checkbox"),r=ve(),{formItem:i}=q(),{inputId:n,isLabeledByFormItem:v}=me(s,{formItemContext:i}),d=async a=>{u(I,a),await G(),u(K,a)},f=b({get(){return s.modelValue},set(a){d(a)}}),m=b(()=>({...ge,...s.props})),k=a=>{const{label:o,value:h,disabled:C}=m.value,g={label:a[o],value:a[h],disabled:a[C]};return{...Fe(a,[o,h,C]),...g}},x=b(()=>s.type==="button"?H:xe);return Se(S,{...Ne(Le(s),["size","min","max","validateEvent","fill","textColor"]),disabled:r,modelValue:f,changeEvent:d}),_(()=>s.modelValue,(a,o)=>{s.validateEvent&&!ae(a,o)&&(i==null||i.validate("change").catch(ee))}),(a,o)=>{var h;return y(),$(A(e.tag),{id:c(n),class:p(c(l).b("group")),role:"group","aria-label":c(v)?void 0:e.ariaLabel||"checkbox-group","aria-labelledby":c(v)?(h=c(i))==null?void 0:h.labelId:void 0},{default:le(()=>[j(a.$slots,"default",{},()=>[(y(!0),E(ie,null,Be(e.options,(C,g)=>(y(),$(A(x.value),T({key:g},{ref_for:!0},k(C)),null,16))),128))])]),_:3},8,["id","class","aria-label","aria-labelledby"])}}}),Ce=Re;const Ye=Ee(xe,{CheckboxButton:H,CheckboxGroup:Ce});ce(H);const Qe=ce(Ce);export{Ye as E,Qe as a};
|