{"version":3,"file":"ThemeSwitcher-0a3dbc5d.js","sources":["../../../node_modules/@headlessui/vue/dist/utils/form.js","../../../node_modules/@headlessui/vue/dist/hooks/use-controllable.js","../../../node_modules/@headlessui/vue/dist/components/label/label.js","../../../node_modules/@headlessui/vue/dist/components/switch/switch.js","../../../app/javascript/components/ThemeSwitcher.vue"],"sourcesContent":["function e(n={},r=null,t=[]){for(let[i,o]of Object.entries(n))f(t,s(r,i),o);return t}function s(n,r){return n?n+\"[\"+r+\"]\":r}function f(n,r,t){if(Array.isArray(t))for(let[i,o]of t.entries())f(n,s(r,i.toString()),o);else t instanceof Date?n.push([r,t.toISOString()]):typeof t==\"boolean\"?n.push([r,t?\"1\":\"0\"]):typeof t==\"string\"?n.push([r,t]):typeof t==\"number\"?n.push([r,`${t}`]):t==null?n.push([r,\"\"]):e(t,r,n)}function p(n){var t;let r=(t=n==null?void 0:n.form)!=null?t:n.closest(\"form\");if(r){for(let i of r.elements)if(i.tagName===\"INPUT\"&&i.type===\"submit\"||i.tagName===\"BUTTON\"&&i.type===\"submit\"||i.nodeName===\"INPUT\"&&i.type===\"image\"){i.click();return}}}export{p as attemptSubmit,e as objectToFormEntries};\n","import{computed as p,ref as s}from\"vue\";function d(u,e,r){let i=s(r==null?void 0:r.value),f=p(()=>u.value!==void 0);return[p(()=>f.value?u.value:i.value),function(t){return f.value||(i.value=t),e==null?void 0:e(t)}]}export{d as useControllable};\n","import{computed as m,defineComponent as v,inject as x,onMounted as L,onUnmounted as k,provide as C,ref as j,unref as h}from\"vue\";import{useId as w}from'../../hooks/use-id.js';import{render as R}from'../../utils/render.js';let a=Symbol(\"LabelContext\");function d(){let t=x(a,null);if(t===null){let n=new Error(\"You used a component, but it is not inside a parent.\");throw Error.captureStackTrace&&Error.captureStackTrace(n,d),n}return t}function K({slot:t={},name:n=\"Label\",props:i={}}={}){let e=j([]);function l(r){return e.value.push(r),()=>{let o=e.value.indexOf(r);o!==-1&&e.value.splice(o,1)}}return C(a,{register:l,slot:t,name:n,props:i}),m(()=>e.value.length>0?e.value.join(\" \"):void 0)}let T=v({name:\"Label\",props:{as:{type:[Object,String],default:\"label\"},passive:{type:[Boolean],default:!1},id:{type:String,default:()=>`headlessui-label-${w()}`}},setup(t,{slots:n,attrs:i}){let e=d();return L(()=>k(e.register(t.id))),()=>{let{name:l=\"Label\",slot:r={},props:o={}}=e,{id:p,passive:c,...u}=t,s={...Object.entries(o).reduce((f,[b,g])=>Object.assign(f,{[b]:h(g)}),{}),id:p};return c&&(delete s.onClick,delete s.htmlFor,delete u.onClick),R({ourProps:s,theirProps:u,slot:r,attrs:i,slots:n,name:l})}}});export{T as Label,K as useLabels};\n","import{Fragment as x,computed as d,defineComponent as m,h,inject as T,provide as H,ref as y,watch as M,onMounted as B}from\"vue\";import{render as b,compact as P,omit as j}from'../../utils/render.js';import{useId as G}from'../../hooks/use-id.js';import{Keys as v}from'../../keyboard.js';import{Label as V,useLabels as F}from'../label/label.js';import{Description as I,useDescriptions as O}from'../description/description.js';import{useResolveButtonType as A}from'../../hooks/use-resolve-button-type.js';import{Hidden as $,Features as N}from'../../internal/hidden.js';import{attemptSubmit as U}from'../../utils/form.js';import{useControllable as _}from'../../hooks/use-controllable.js';import{dom as q}from'../../utils/dom.js';let S=Symbol(\"GroupContext\"),oe=m({name:\"SwitchGroup\",props:{as:{type:[Object,String],default:\"template\"}},setup(l,{slots:p,attrs:a}){let i=y(null),s=F({name:\"SwitchLabel\",props:{htmlFor:d(()=>{var n;return(n=i.value)==null?void 0:n.id}),onClick(n){i.value&&(n.currentTarget.tagName===\"LABEL\"&&n.preventDefault(),i.value.click(),i.value.focus({preventScroll:!0}))}}}),t=O({name:\"SwitchDescription\"});return H(S,{switchRef:i,labelledby:s,describedby:t}),()=>b({theirProps:l,ourProps:{},slot:{},slots:p,attrs:a,name:\"SwitchGroup\"})}}),ae=m({name:\"Switch\",emits:{\"update:modelValue\":l=>!0},props:{as:{type:[Object,String],default:\"button\"},modelValue:{type:Boolean,default:void 0},defaultChecked:{type:Boolean,optional:!0},name:{type:String,optional:!0},value:{type:String,optional:!0},id:{type:String,default:()=>`headlessui-switch-${G()}`}},inheritAttrs:!1,setup(l,{emit:p,attrs:a,slots:i,expose:s}){let t=T(S,null),[o,n]=_(d(()=>l.modelValue),e=>p(\"update:modelValue\",e),d(()=>l.defaultChecked));function f(){n(!o.value)}let w=y(null),u=t===null?w:t.switchRef,k=A(d(()=>({as:l.as,type:a.type})),u);s({el:u,$el:u});function g(e){e.preventDefault(),f()}function C(e){e.key===v.Space?(e.preventDefault(),f()):e.key===v.Enter&&U(e.currentTarget)}function E(e){e.preventDefault()}let c=d(()=>{var e,r;return(r=(e=q(u))==null?void 0:e.closest)==null?void 0:r.call(e,\"form\")});return B(()=>{M([c],()=>{if(!c.value||l.defaultChecked===void 0)return;function e(){n(l.defaultChecked)}return c.value.addEventListener(\"reset\",e),()=>{var r;(r=c.value)==null||r.removeEventListener(\"reset\",e)}},{immediate:!0})}),()=>{let{id:e,name:r,value:L,...D}=l,R={checked:o.value},K={id:e,ref:u,role:\"switch\",type:k.value,tabIndex:0,\"aria-checked\":o.value,\"aria-labelledby\":t==null?void 0:t.labelledby.value,\"aria-describedby\":t==null?void 0:t.describedby.value,onClick:g,onKeyup:C,onKeypress:E};return h(x,[r!=null&&o.value!=null?h($,P({features:N.Hidden,as:\"input\",type:\"checkbox\",hidden:!0,readOnly:!0,checked:o.value,name:r,value:L})):null,b({ourProps:K,theirProps:{...a,...j(D,[\"modelValue\",\"defaultChecked\"])},slot:R,attrs:a,slots:i,name:\"Switch\"})])}}}),ue=V,de=I;export{ae as Switch,de as SwitchDescription,oe as SwitchGroup,ue as SwitchLabel};\n","\n \n \n