Files
monisuo/monisuo-admin/dist/assets/Checkbox-CoilONXi.js
2026-04-21 08:12:17 +08:00

1 line
4.6 KiB
JavaScript

import{C as e,D as t,E as n,G as r,H as i,I as a,Ot as o,S as s,Tt as c,b as l,f as u,it as d,k as f,p,q as m}from"./iconify-DYZHDLa8.js";import{o as h}from"./SelectValue-Dhq6ao6U.js";import{E as g,y as _}from"./vue-vendor-DjtlKxRy.js";import{J as v}from"./index-Uji7rFqr.js";import{n as y,r as b}from"./VisuallyHidden-CeN_p2Md.js";import{O as x,T as S,g as C,y as w}from"./Teleport-BIYegdAM.js";import{r as T}from"./button-BuRmTYve.js";import{t as E}from"./useForwardExpose-B0BXtanw.js";import{t as D}from"./VisuallyHiddenInput-dn3LBkPE.js";import{t as O}from"./RovingFocusItem-BIHcXQd-.js";function k(e,t){return S(e)?!1:Array.isArray(e)?e.some(e=>b(e,t)):b(e,t)}var[A,j]=x(`CheckboxGroupRoot`);function M(e){return e===`indeterminate`}function N(e){return M(e)?`indeterminate`:e?`checked`:`unchecked`}var[P,F]=x(`CheckboxRoot`),I=t({inheritAttrs:!1,__name:`CheckboxRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:`on`},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let o=t,f=n,{forwardRef:h,currentElement:g}=E(),v=A(null),x=_(o,`modelValue`,f,{defaultValue:o.defaultValue??o.falseValue,passive:o.modelValue===void 0}),C=l(()=>v?.disabled.value||o.disabled),w=l(()=>b(x.value,o.trueValue)),j=l(()=>S(v?.modelValue.value)?x.value===`indeterminate`?`indeterminate`:w.value:k(v.modelValue.value,o.value));function P(){if(S(v?.modelValue.value))x.value===`indeterminate`?x.value=o.trueValue:x.value=w.value?o.falseValue:o.trueValue;else{let e=[...v.modelValue.value||[]];if(k(e,o.value)){let t=e.findIndex(e=>b(e,o.value));e.splice(t,1)}else e.push(o.value);v.modelValue.value=e}}let I=y(g),L=l(()=>o.id&&g.value?document.querySelector(`[for="${o.id}"]`)?.innerText:void 0);return F({disabled:C,state:j}),(t,n)=>(i(),s(m(c(v)?.rovingFocus.value?c(O):c(T)),a(t.$attrs,{id:t.id,ref:c(h),role:`checkbox`,"as-child":t.asChild,as:t.as,type:t.as===`button`?`button`:void 0,"aria-checked":c(M)(j.value)?`mixed`:j.value,"aria-required":t.required,"aria-label":t.$attrs[`aria-label`]||L.value,"data-state":c(N)(j.value),"data-disabled":C.value?``:void 0,disabled:C.value,focusable:c(v)?.rovingFocus.value?!C.value:void 0,onKeydown:u(p(()=>{},[`prevent`]),[`enter`]),onClick:P}),{default:d(()=>[r(t.$slots,`default`,{modelValue:c(x),state:j.value}),c(I)&&t.name&&!c(v)?(i(),s(c(D),{key:0,type:`checkbox`,checked:!!j.value,name:t.name,value:t.value,disabled:C.value,required:t.required},null,8,[`checked`,`name`,`value`,`disabled`,`required`])):e(`v-if`,!0)]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`]))}}),L=t({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let{forwardRef:t}=E(),o=P();return(e,l)=>(i(),s(c(C),{present:e.forceMount||c(M)(c(o).state.value)||c(o).state.value===!0},{default:d(()=>[n(c(T),a({ref:c(t),"data-state":c(N)(c(o).state.value),"data-disabled":c(o).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":e.asChild,as:e.as},e.$attrs),{default:d(()=>[r(e.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),R=t({__name:`Checkbox`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},value:{},id:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(e,{emit:t}){let l=e,u=t,p=w(g(l,`class`),u);return(e,t)=>(i(),s(c(I),a({"data-slot":`checkbox`},c(p),{class:c(v)(`peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,l.class)}),{default:d(t=>[n(c(L),{"data-slot":`checkbox-indicator`,class:`grid place-content-center text-current transition-none`},{default:d(()=>[r(e.$slots,`default`,o(f(t)),()=>[n(c(h),{class:`size-3.5`})])]),_:2},1024)]),_:3},16,[`class`]))}});export{R as t};