1 line
7.0 KiB
JavaScript
1 line
7.0 KiB
JavaScript
import{Ct as e,E as t,Et as n,H as r,N as i,S as a,bt as o,c as s,g as c,l,mt as u,nt as d,v as f,w as p,y as m,z as h}from"./vue.runtime.esm-bundler-DQjudA8G.js";import{t as g}from"./circle-C6c1ynCZ.js";import{t as _}from"./utils-BB02OBq2.js";import{S as v,l as y,m as b}from"./dist-t_U6YImb.js";import{n as x,t as S}from"./useFormControl-CyMrrgSu.js";import{t as C}from"./createContext-BefgL9WT.js";import{t as w}from"./useForwardPropsEmits-ixfQllIc.js";import{y as T}from"./Teleport-CLYBkdRb.js";import{t as E}from"./Presence-C1RtYpyR.js";import{t as D}from"./Primitive-jhoGcsVx.js";import{t as O}from"./useForwardProps-B-1JXcFn.js";import{n as k}from"./usePrimitiveElement-BKQPgqfD.js";import{t as A}from"./useForwardExpose-OKJAPp5E.js";import{t as j}from"./VisuallyHiddenInput-syf01z94.js";import{t as M}from"./RovingFocusGroup-BI5E2MOD.js";import{t as N}from"./RovingFocusItem-4bA-dcrz.js";var P=`radio.select`;function F(e,t,n){T(P,n,{originalEvent:e,value:t})}var I=p({__name:`Radio`,props:{id:{type:String,required:!1},value:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},checked:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:checked`,`select`],setup(t,{emit:n}){let a=t,s=n,u=b(a,`checked`,s,{passive:a.checked===void 0}),{value:p}=o(a),{forwardRef:g,currentElement:_}=A(),v=S(_),y=c(()=>a.id&&_.value?document.querySelector(`[for="${a.id}"]`)?.innerText??a.value:void 0);function x(e){a.disabled||F(e,a.value,e=>{s(`select`,e),!e?.defaultPrevented&&(u.value=!0,v.value&&e.stopPropagation())})}return(t,n)=>(h(),f(e(D),i(t.$attrs,{id:t.id,ref:e(g),role:`radio`,type:t.as===`button`?`button`:void 0,as:t.as,"aria-checked":e(u),"aria-label":y.value,"as-child":t.asChild,disabled:t.disabled?``:void 0,"data-state":e(u)?`checked`:`unchecked`,"data-disabled":t.disabled?``:void 0,value:e(p),required:t.required,name:t.name,onClick:l(x,[`stop`])}),{default:d(()=>[r(t.$slots,`default`,{checked:e(u)}),e(v)&&t.name?(h(),f(e(j),{key:0,type:`radio`,tabindex:`-1`,value:e(p),checked:!!e(u),name:t.name,disabled:t.disabled,required:t.required},null,8,[`value`,`checked`,`name`,`disabled`,`required`])):m(`v-if`,!0)]),_:3},16,[`id`,`type`,`as`,`aria-checked`,`aria-label`,`as-child`,`disabled`,`data-state`,`data-disabled`,`value`,`required`,`name`]))}}),[L,R]=C(`RadioGroupRoot`),z=p({__name:`RadioGroupRoot`,props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},disabled:{type:Boolean,required:!1,default:!1},orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1,default:!1}},emits:[`update:modelValue`],setup(t,{emit:n}){let i=t,s=n,{forwardRef:c,currentElement:l}=A(),u=b(i,`modelValue`,s,{defaultValue:i.defaultValue,passive:i.modelValue===void 0}),{disabled:p,loop:g,orientation:_,name:v,required:y,dir:x}=o(i),C=k(x),w=S(l);return R({modelValue:u,changeModelValue:e=>{u.value=e},disabled:p,loop:g,orientation:_,name:v?.value,required:y}),(t,n)=>(h(),f(e(M),{"as-child":``,orientation:e(_),dir:e(C),loop:e(g)},{default:d(()=>[a(e(D),{ref:e(c),role:`radiogroup`,"data-disabled":e(p)?``:void 0,"as-child":t.asChild,as:t.as,"aria-orientation":e(_),"aria-required":e(y),dir:e(C)},{default:d(()=>[r(t.$slots,`default`,{modelValue:e(u)}),e(w)&&e(v)?(h(),f(e(j),{key:0,required:e(y),disabled:e(p),value:e(u),name:e(v)},null,8,[`required`,`disabled`,`value`,`name`])):m(`v-if`,!0)]),_:3},8,[`data-disabled`,`as-child`,`as`,`aria-orientation`,`aria-required`,`dir`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),[B,V]=C(`RadioGroupItem`),H=p({inheritAttrs:!1,__name:`RadioGroupItem`,props:{id:{type:String,required:!1},value:{type:null,required:!1},disabled:{type:Boolean,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:[`select`],setup(t,{emit:n}){let o=t,p=n,{forwardRef:m,currentElement:g}=A(),_=L(),v=c(()=>_.disabled.value||o.disabled),b=c(()=>_.required.value||o.required),S=c(()=>x(_.modelValue?.value,o.value));V({disabled:v,checked:S});let C=u(!1),w=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`];y(`keydown`,e=>{w.includes(e.key)&&(C.value=!0)}),y(`keyup`,()=>{C.value=!1});function T(){setTimeout(()=>{C.value&&g.value?.click()},0)}return(t,n)=>(h(),f(e(N),{checked:S.value,disabled:v.value,"as-child":``,focusable:!v.value,active:S.value},{default:d(()=>[a(I,i({...t.$attrs,...o},{ref:e(m),checked:S.value,required:b.value,disabled:v.value,"onUpdate:checked":n[0]||=n=>e(_).changeModelValue(t.value),onSelect:n[1]||=e=>p(`select`,e),onKeydown:n[2]||=s(l(()=>{},[`prevent`]),[`enter`]),onFocus:T}),{default:d(()=>[r(t.$slots,`default`,{checked:S.value,required:b.value,disabled:v.value})]),_:3},16,[`checked`,`required`,`disabled`])]),_:3},8,[`checked`,`disabled`,`focusable`,`active`]))}}),U=p({__name:`RadioGroupIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let{forwardRef:n}=A(),o=B();return(t,s)=>(h(),f(e(E),{present:t.forceMount||e(o).checked.value},{default:d(()=>[a(e(D),i({ref:e(n),"data-state":e(o).checked.value?`checked`:`unchecked`,"data-disabled":e(o).disabled.value?``:void 0,"as-child":t.asChild,as:t.as},t.$attrs),{default:d(()=>[r(t.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),W=p({__name:`RadioGroup`,props:{modelValue:{},defaultValue:{},disabled:{type:Boolean},orientation:{},dir:{},loop:{type:Boolean},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(a,{emit:o}){let s=a,c=o,l=w(v(s,`class`),c);return(a,o)=>(h(),f(e(z),i({"data-slot":`radio-group`,class:e(_)(`grid gap-3`,s.class)},e(l)),{default:d(e=>[r(a.$slots,`default`,n(t(e)))]),_:3},16,[`class`]))}}),G=p({__name:`RadioGroupItem`,props:{id:{},value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,o=O(v(n,`class`));return(t,s)=>(h(),f(e(H),i({"data-slot":`radio-group-item`},e(o),{class:e(_)(`border-input text-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 dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,n.class)}),{default:d(()=>[a(e(U),{"data-slot":`radio-group-indicator`,class:`relative flex items-center justify-center`},{default:d(()=>[r(t.$slots,`default`,{},()=>[a(e(g),{class:`fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2`})])]),_:3})]),_:3},16,[`class`]))}});export{W as n,G as t}; |