2 lines
5.2 KiB
JavaScript
2 lines
5.2 KiB
JavaScript
import{r as s,j as h,f as T,m as y,k as $,n as O,H}from"./ui-Z445SNHD.js";import{u as M}from"./index-9MclThM-.js";import{e as g}from"./app-BJfYyIIX.js";function A(e,t=[]){let r=[];function o(a,c){const i=s.createContext(c),l=r.length;r=[...r,c];const u=d=>{var S;const{scope:p,children:b,...m}=d,v=((S=p==null?void 0:p[e])==null?void 0:S[l])||i,x=s.useMemo(()=>m,Object.values(m));return h.jsx(v.Provider,{value:x,children:b})};u.displayName=a+"Provider";function f(d,p){var v;const b=((v=p==null?void 0:p[e])==null?void 0:v[l])||i,m=s.useContext(b);if(m)return m;if(c!==void 0)return c;throw new Error(`\`${d}\` must be used within \`${a}\``)}return[u,f]}const n=()=>{const a=r.map(c=>s.createContext(c));return function(i){const l=(i==null?void 0:i[e])||a;return s.useMemo(()=>({[`__scope${e}`]:{...i,[e]:l}}),[i,l])}};return n.scopeName=e,[o,V(n,...t)]}function V(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const o=e.map(n=>({useScope:n(),scopeName:n.scopeName}));return function(a){const c=o.reduce((i,{useScope:l,scopeName:u})=>{const d=l(a)[`__scope${u}`];return{...i,...d}},{});return s.useMemo(()=>({[`__scope${t.scopeName}`]:c}),[c])}};return r.scopeName=t.scopeName,r}function W(e){const t=D(e),r=s.forwardRef((o,n)=>{const{children:a,...c}=o,i=s.Children.toArray(a),l=i.find(F);if(l){const u=l.props.children,f=i.map(d=>d===l?s.Children.count(u)>1?s.Children.only(null):s.isValidElement(u)?u.props.children:null:d);return h.jsx(t,{...c,ref:n,children:s.isValidElement(u)?s.cloneElement(u,void 0,f):null})}return h.jsx(t,{...c,ref:n,children:a})});return r.displayName=`${e}.Slot`,r}function D(e){const t=s.forwardRef((r,o)=>{const{children:n,...a}=r;if(s.isValidElement(n)){const c=q(n),i=U(a,n.props);return n.type!==s.Fragment&&(i.ref=o?T(o,c):c),s.cloneElement(n,i)}return s.Children.count(n)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var L=Symbol("radix.slottable");function F(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===L}function U(e,t){const r={...t};for(const o in t){const n=e[o],a=t[o];/^on[A-Z]/.test(o)?n&&a?r[o]=(...i)=>{const l=a(...i);return n(...i),l}:n&&(r[o]=n):o==="style"?r[o]={...n,...a}:o==="className"&&(r[o]=[n,a].filter(Boolean).join(" "))}return{...e,...r}}function q(e){var o,n;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(n=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var z=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],k=z.reduce((e,t)=>{const r=W(`Primitive.${t}`),o=s.forwardRef((n,a)=>{const{asChild:c,...i}=n,l=c?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),h.jsx(l,{...i,ref:a})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),C="Switch",[X]=A(C),[Z,G]=X(C),P=s.forwardRef((e,t)=>{const{__scopeSwitch:r,name:o,checked:n,defaultChecked:a,required:c,disabled:i,value:l="on",onCheckedChange:u,form:f,...d}=e,[p,b]=s.useState(null),m=y(t,w=>b(w)),v=s.useRef(!1),x=p?f||!!p.closest("form"):!0,[S,I]=$({prop:n,defaultProp:a??!1,onChange:u,caller:C});return h.jsxs(Z,{scope:r,checked:S,disabled:i,children:[h.jsx(k.button,{type:"button",role:"switch","aria-checked":S,"aria-required":c,"data-state":N(S),"data-disabled":i?"":void 0,disabled:i,value:l,...d,ref:m,onClick:O(e.onClick,w=>{I(B=>!B),x&&(v.current=w.isPropagationStopped(),v.current||w.stopPropagation())})}),x&&h.jsx(_,{control:p,bubbles:!v.current,name:o,value:l,checked:S,required:c,disabled:i,form:f,style:{transform:"translateX(-100%)"}})]})});P.displayName=C;var E="SwitchThumb",R=s.forwardRef((e,t)=>{const{__scopeSwitch:r,...o}=e,n=G(E,r);return h.jsx(k.span,{"data-state":N(n.checked),"data-disabled":n.disabled?"":void 0,...o,ref:t})});R.displayName=E;var J="SwitchBubbleInput",_=s.forwardRef(({__scopeSwitch:e,control:t,checked:r,bubbles:o=!0,...n},a)=>{const c=s.useRef(null),i=y(c,a),l=M(r),u=H(t);return s.useEffect(()=>{const f=c.current;if(!f)return;const d=window.HTMLInputElement.prototype,b=Object.getOwnPropertyDescriptor(d,"checked").set;if(l!==r&&b){const m=new Event("click",{bubbles:o});b.call(f,r),f.dispatchEvent(m)}},[l,r,o]),h.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...n,tabIndex:-1,ref:i,style:{...n.style,...u,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});_.displayName=J;function N(e){return e?"checked":"unchecked"}var j=P,K=R;const Q=s.forwardRef(({className:e,...t},r)=>h.jsx(j,{className:g("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:r,children:h.jsx(K,{className:g("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0 rtl:data-[state=checked]:-translate-x-5 rtl:data-[state=unchecked]:translate-x-0")})}));Q.displayName=j.displayName;export{Q as S};
|