UNPKG

mira-app-server

Version:

Mira Server - standalone server application using mira-app-core

2 lines (1 loc) 4.2 kB
import{aJ as f,cx as g,de as S,al as b,cM as v,bZ as n,at as c,dq as p,cc as h,cB as r,av as V,bB as y,ds as C,dt as B,G as q,aw as R,c6 as P,cO as T,ak as F,a1 as M,aH as $,bL as x,bM as z,b7 as E}from"./index-OOzZz4T6.js";import{n as K,V as O}from"./TooltipTrigger-BN8IaDgz.js";const[j,H]=R("SwitchRoot");var L=f({__name:"SwitchRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:"on"},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(i,{emit:d}){const e=i,t=d,{disabled:s}=g(e),u=S(e,"modelValue",t,{defaultValue:e.defaultValue??e.falseValue,passive:e.modelValue===void 0}),l=b(()=>u.value===e.trueValue);function o(){s.value||(u.value=l.value?e.falseValue:e.trueValue)}const{forwardRef:_,currentElement:m}=v(),w=K(m),k=b(()=>e.id&&m.value?document.querySelector(`[for="${e.id}"]`)?.innerText:void 0);return H({checked:l,toggleCheck:o,disabled:s}),(a,Z)=>(n(),c(r(q),y(a.$attrs,{id:a.id,ref:r(_),role:"switch",type:a.as==="button"?"button":void 0,value:a.value,"aria-label":a.$attrs["aria-label"]||k.value,"aria-checked":l.value,"aria-required":a.required,"data-state":l.value?"checked":"unchecked","data-disabled":r(s)?"":void 0,"as-child":a.asChild,as:a.as,disabled:r(s),onClick:o,onKeydown:C(B(o,["prevent"]),["enter"])}),{default:p(()=>[h(a.$slots,"default",{modelValue:r(u),checked:l.value}),r(w)&&a.name?(n(),c(r(O),{key:0,type:"checkbox",name:a.name,disabled:r(s),required:a.required,value:a.value,checked:l.value},null,8,["name","disabled","required","value","checked"])):V("v-if",!0)]),_:3},16,["id","type","value","aria-label","aria-checked","aria-required","data-state","data-disabled","as-child","as","disabled","onKeydown"]))}}),N=L,D=f({__name:"SwitchThumb",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const d=j();return v(),(e,t)=>(n(),c(r(q),{"data-state":r(d).checked.value?"checked":"unchecked","data-disabled":r(d).disabled.value?"":void 0,"as-child":e.asChild,as:e.as},{default:p(()=>[h(e.$slots,"default")]),_:3},8,["data-state","data-disabled","as-child","as"]))}}),G=D;const I=f({__name:"Switch",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1},trueValue:{type:null,required:!1},falseValue:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},class:{type:null,required:!1}},emits:["update:modelValue"],setup(i,{expose:d,emit:e}){d();const t=i,s=e,u=P(t,"class"),l=T(u,s),o={props:t,emits:s,delegatedProps:u,forwarded:l,get SwitchRoot(){return N},get SwitchThumb(){return G},get cn(){return F}};return Object.defineProperty(o,"__isScriptSetup",{enumerable:!1,value:!0}),o}});function J(i,d,e,t,s,u){return n(),c(t.SwitchRoot,y({"data-slot":"switch"},t.forwarded,{class:t.cn("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50",t.props.class)}),{default:p(l=>[$(t.SwitchThumb,{"data-slot":"switch-thumb",class:x(t.cn("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"))},{default:p(()=>[h(i.$slots,"thumb",z(E(l)))]),_:2},1032,["class"])]),_:3},16,["class"])}const U=M(I,[["render",J],["__file","D:/mira_typescript/packages/mira-client/src/components/ui/switch/Switch.vue"]]);export{U as S};