@purpurds/toggle 8.12.1 → 8.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/LICENSE.txt CHANGED
@@ -1,19 +1,19 @@
1
1
  Name: @purpurds/icon
2
- Version: 8.12.0
2
+ Version: 8.12.2
3
3
  License: AGPL-3.0-only
4
4
  Private: false
5
5
 
6
6
  ---
7
7
 
8
8
  Name: @purpurds/label
9
- Version: 8.12.0
9
+ Version: 8.12.2
10
10
  License: AGPL-3.0-only
11
11
  Private: false
12
12
 
13
13
  ---
14
14
 
15
15
  Name: @purpurds/paragraph
16
- Version: 8.12.0
16
+ Version: 8.12.2
17
17
  License: AGPL-3.0-only
18
18
  Private: false
19
19
 
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- ._purpur-toggle_zqs8u_1{all:unset;height:calc(var(--purpur-spacing-400) + var(--purpur-spacing-150));width:calc(var(--purpur-spacing-400) + var(--purpur-spacing-150));cursor:pointer}._purpur-toggle_zqs8u_1:hover:not(:disabled)>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-transparent-hover);border-color:var(--purpur-color-border-interactive-primary)}._purpur-toggle_zqs8u_1:active:not(:disabled)>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-toggle_zqs8u_1:disabled{cursor:default}._purpur-toggle_zqs8u_1:disabled>._purpur-toggle__track_zqs8u_7{border-color:var(--purpur-color-border-weak)}._purpur-toggle_zqs8u_1:focus-visible:after{content:"";position:absolute;inset:0;border-radius:var(--purpur-border-radius-xs);outline:var(--purpur-border-width-sm) solid var(--purpur-color-border-interactive-focus);outline-offset:var(--purpur-spacing-25);pointer-events:none}._purpur-toggle_zqs8u_1[data-state=checked]>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-primary);border-color:var(--purpur-color-functional-transparent)}._purpur-toggle_zqs8u_1[data-state=checked]:hover:not(:disabled)>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-primary-hover);border-color:var(--purpur-color-functional-transparent)}._purpur-toggle_zqs8u_1[data-state=checked]:active:not(:disabled)>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-primary-active);border-color:var(--purpur-color-functional-transparent)}._purpur-toggle_zqs8u_1[data-state=checked]:disabled>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-disabled);border-color:var(--purpur-color-functional-transparent)}._purpur-toggle_zqs8u_1[data-state=checked] ._purpur-toggle__checkmark-container_zqs8u_45{opacity:1}._purpur-toggle__track_zqs8u_7{display:block;width:calc(var(--purpur-spacing-400) + var(--purpur-spacing-150));height:var(--purpur-spacing-300);position:relative;background-color:var(--purpur-color-text-interactive-on-primary);color:var(--purpur-color-text-interactive-on-primary);box-sizing:border-box;border:var(--purpur-border-width-xs) solid var(--purpur-color-border-interactive-primary);border-radius:var(--purpur-border-radius-full);transition:background-color var(--purpur-motion-duration-150) ease,border-color var(--purpur-motion-duration-150) ease}._purpur-toggle__thumb_zqs8u_60{position:absolute;display:block;height:calc(var(--purpur-spacing-200) + var(--purpur-spacing-25));width:calc(var(--purpur-spacing-200) + var(--purpur-spacing-25));border-radius:var(--purpur-border-radius-full);background-color:var(--purpur-color-background-interactive-primary);transition:background-color var(--purpur-motion-duration-150) ease;will-change:transform;top:2px}@media(prefers-reduced-motion:no-preference){._purpur-toggle__thumb_zqs8u_60{transition:transform var(--purpur-motion-duration-150) ease,background-color var(--purpur-motion-duration-150) ease}}._purpur-toggle__thumb_zqs8u_60[data-disabled]{background-color:var(--purpur-color-background-interactive-disabled)}._purpur-toggle__thumb_zqs8u_60[data-state=checked],._purpur-toggle__thumb_zqs8u_60[data-state=checked][data-disabled]{background-color:var(--purpur-color-text-interactive-on-primary)}._purpur-toggle__thumb--dragging_zqs8u_85{cursor:grabbing;transition:background-color var(--purpur-motion-duration-150) ease}@media(prefers-reduced-motion:no-preference){._purpur-toggle__thumb--dragging_zqs8u_85{transition:transform 35ms ease,background-color var(--purpur-motion-duration-150) ease}}._purpur-toggle__checkmark-container_zqs8u_45{position:absolute;display:flex;align-items:center;justify-content:center;top:50%;opacity:0;transform:translateY(-50%);left:var(--purpur-spacing-25);transition:opacity var(--purpur-motion-duration-150) ease;width:calc(var(--purpur-spacing-200) + var(--purpur-spacing-25));height:calc(var(--purpur-spacing-200) + var(--purpur-spacing-25))}._purpur-toggle__checkmark_zqs8u_45{display:flex!important}._purpur-toggle__label--right_zqs8u_110{padding-left:var(--purpur-spacing-150)}._purpur-toggle__label--left_zqs8u_113{padding-right:var(--purpur-spacing-150)}._purpur-toggle__container_zqs8u_116{width:fit-content;position:relative;display:flex;align-items:center}._purpur-toggle__container_zqs8u_116 p{transition:color var(--purpur-motion-duration-150) ease}
1
+ ._purpur-toggle_zqs8u_1{all:unset;height:calc(var(--purpur-spacing-400) + var(--purpur-spacing-150));width:calc(var(--purpur-spacing-400) + var(--purpur-spacing-150));cursor:pointer}._purpur-toggle_zqs8u_1:hover:not(:disabled)>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-transparent-hover);border-color:var(--purpur-color-border-interactive-primary)}._purpur-toggle_zqs8u_1:active:not(:disabled)>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-transparent-active)}._purpur-toggle_zqs8u_1:disabled{cursor:default}._purpur-toggle_zqs8u_1:disabled>._purpur-toggle__track_zqs8u_7{border-color:var(--purpur-color-border-weak)}._purpur-toggle_zqs8u_1:focus-visible:after{content:"";position:absolute;inset:0;border-radius:var(--purpur-border-radius-xs);outline:var(--purpur-border-width-sm) solid var(--purpur-color-border-interactive-focus);outline-offset:var(--purpur-spacing-25);pointer-events:none}._purpur-toggle_zqs8u_1[data-state=checked]>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-primary);border-color:var(--purpur-color-functional-transparent)}._purpur-toggle_zqs8u_1[data-state=checked]:hover:not(:disabled)>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-primary-hover);border-color:var(--purpur-color-functional-transparent)}._purpur-toggle_zqs8u_1[data-state=checked]:active:not(:disabled)>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-primary-active);border-color:var(--purpur-color-functional-transparent)}._purpur-toggle_zqs8u_1[data-state=checked]:disabled>._purpur-toggle__track_zqs8u_7{background-color:var(--purpur-color-background-interactive-disabled);border-color:var(--purpur-color-functional-transparent)}._purpur-toggle_zqs8u_1[data-state=checked] ._purpur-toggle__checkmark-container_zqs8u_45{opacity:1}._purpur-toggle__track_zqs8u_7{display:block;width:calc(var(--purpur-spacing-400) + var(--purpur-spacing-150));height:var(--purpur-spacing-300);position:relative;background-color:var(--purpur-color-text-interactive-on-primary);color:var(--purpur-color-text-interactive-on-primary);box-sizing:border-box;border:var(--purpur-border-width-xs) solid var(--purpur-color-border-interactive-primary);border-radius:var(--purpur-border-radius-full);transition:background-color var(--purpur-motion-duration-150) ease,border-color var(--purpur-motion-duration-150) ease}._purpur-toggle__thumb_zqs8u_60{position:absolute;display:block;height:calc(var(--purpur-spacing-200) + var(--purpur-spacing-25));width:calc(var(--purpur-spacing-200) + var(--purpur-spacing-25));border-radius:var(--purpur-border-radius-full);background-color:var(--purpur-color-background-interactive-primary);transition:background-color var(--purpur-motion-duration-150) ease;will-change:transform;top:2px}@media (prefers-reduced-motion: no-preference){._purpur-toggle__thumb_zqs8u_60{transition:transform var(--purpur-motion-duration-150) ease,background-color var(--purpur-motion-duration-150) ease}}._purpur-toggle__thumb_zqs8u_60[data-disabled]{background-color:var(--purpur-color-background-interactive-disabled)}._purpur-toggle__thumb_zqs8u_60[data-state=checked],._purpur-toggle__thumb_zqs8u_60[data-state=checked][data-disabled]{background-color:var(--purpur-color-text-interactive-on-primary)}._purpur-toggle__thumb--dragging_zqs8u_85{cursor:grabbing;transition:background-color var(--purpur-motion-duration-150) ease}@media (prefers-reduced-motion: no-preference){._purpur-toggle__thumb--dragging_zqs8u_85{transition:transform 35ms ease,background-color var(--purpur-motion-duration-150) ease}}._purpur-toggle__checkmark-container_zqs8u_45{position:absolute;display:flex;align-items:center;justify-content:center;top:50%;opacity:0;transform:translateY(-50%);left:var(--purpur-spacing-25);transition:opacity var(--purpur-motion-duration-150) ease;width:calc(var(--purpur-spacing-200) + var(--purpur-spacing-25));height:calc(var(--purpur-spacing-200) + var(--purpur-spacing-25))}._purpur-toggle__checkmark_zqs8u_45{display:flex!important}._purpur-toggle__label--right_zqs8u_110{padding-left:var(--purpur-spacing-150)}._purpur-toggle__label--left_zqs8u_113{padding-right:var(--purpur-spacing-150)}._purpur-toggle__container_zqs8u_116{width:fit-content;position:relative;display:flex;align-items:center}._purpur-toggle__container_zqs8u_116 p{transition:color var(--purpur-motion-duration-150) ease}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react/jsx-runtime"),d=require("react");require("react-dom");function oe(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const u=oe(d);function ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var D={exports:{}},O;function ae(){return O||(O=1,(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(t=o(t,a.call(this,s)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var i="";for(var s in t)n.call(t,s)&&t[s]&&(i=o(i,this&&this[s]||s));return i}function o(t,i){return i?t?t+" "+i:t+i:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(D)),D.exports}var se=ae();const ue=ie(se),ce={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},le=ue.bind(ce),N="purpur-icon",pe="md",fe=e=>e.filter(n=>Object.keys(n).length>=1).map(n=>`${n.name}="${n.value}"`).join(" "),de=({content:e="",title:n}={})=>{const r=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},n?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],a=n?`<title>${n}</title>`:"";return`<svg ${fe(r)}>${a}${e}</svg>`},ge=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),F=({svg:e,allyTitle:n,className:r,size:a=pe,...o})=>{const t=de({content:ge(e.svg),title:n}),i=le(N,`${N}--${a}`,r);return f.jsx("span",{className:i,dangerouslySetInnerHTML:{__html:t},...o})};F.displayName="Icon";const he={name:"checkmark-bold",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M21.243 4.176a2 2 0 0 1 .324 2.81l-10.45 13.176a2.092 2.092 0 0 1-3.118.18l-5.413-5.413A2 2 0 1 1 5.414 12.1l3.9 3.9 9.118-11.5a2 2 0 0 1 2.81-.324Z" clip-rule="evenodd"/></svg>',keywords:["checkmark-bold"],category:"utility"};function A(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function ve(...e){return n=>{let r=!1;const a=e.map(o=>{const t=A(o,n);return!r&&typeof t=="function"&&(r=!0),t});if(r)return()=>{for(let o=0;o<a.length;o++){const t=a[o];typeof t=="function"?t():A(e[o],null)}}}}var _e=Symbol.for("react.lazy"),j=u[" use ".trim().toString()];function me(e){return typeof e=="object"&&e!==null&&"then"in e}function U(e){return e!=null&&typeof e=="object"&&"$$typeof"in e&&e.$$typeof===_e&&"_payload"in e&&me(e._payload)}function be(e){const n=ye(e),r=u.forwardRef((a,o)=>{let{children:t,...i}=a;U(t)&&typeof j=="function"&&(t=j(t._payload));const s=u.Children.toArray(t),c=s.find(we);if(c){const l=c.props.children,g=s.map(p=>p===c?u.Children.count(l)>1?u.Children.only(null):u.isValidElement(l)?l.props.children:null:p);return f.jsx(n,{...i,ref:o,children:u.isValidElement(l)?u.cloneElement(l,void 0,g):null})}return f.jsx(n,{...i,ref:o,children:t})});return r.displayName=`${e}.Slot`,r}function ye(e){const n=u.forwardRef((r,a)=>{let{children:o,...t}=r;if(U(o)&&typeof j=="function"&&(o=j(o._payload)),u.isValidElement(o)){const i=Ce(o),s=xe(t,o.props);return o.type!==u.Fragment&&(s.ref=a?ve(a,i):i),u.cloneElement(o,s)}return u.Children.count(o)>1?u.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Se=Symbol("radix.slottable");function we(e){return u.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Se}function xe(e,n){const r={...n};for(const a in n){const o=e[a],t=n[a];/^on[A-Z]/.test(a)?o&&t?r[a]=(...i)=>{const s=t(...i);return o(...i),s}:o&&(r[a]=o):a==="style"?r[a]={...o,...t}:a==="className"&&(r[a]=[o,t].filter(Boolean).join(" "))}return{...e,...r}}function Ce(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var $e=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Re=$e.reduce((e,n)=>{const r=be(`Primitive.${n}`),a=u.forwardRef((o,t)=>{const{asChild:i,...s}=o,c=i?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(c,{...s,ref:t})});return a.displayName=`Primitive.${n}`,{...e,[n]:a}},{}),je="Label",Z=u.forwardRef((e,n)=>f.jsx(Re.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));Z.displayName=je;var ze=Z;function Ee(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var M={exports:{}},q;function Pe(){return q||(q=1,(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(t=o(t,a.call(this,s)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var i="";for(var s in t)n.call(t,s)&&t[s]&&(i=o(i,this&&this[s]||s));return i}function o(t,i){return i?t?t+" "+i:t+i:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(M)),M.exports}var ke=Pe();const De=Ee(ke),Oe={"purpur-label":"_purpur-label_1x80u_1","purpur-label--negative":"_purpur-label--negative_1x80u_8","purpur-label--disabled":"_purpur-label--disabled_1x80u_11"},Ne=De.bind(Oe),E="purpur-label",Ae=({children:e,className:n,disabled:r,negative:a=!1,...o})=>{const t=Ne(n,E,{[`${E}--disabled`]:r,[`${E}--negative`]:a});return f.jsx(ze,{className:t,...o,children:e})};function Me(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var B={exports:{}},X;function qe(){return X||(X=1,(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(t=o(t,a.call(this,s)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var i="";for(var s in t)n.call(t,s)&&t[s]&&(i=o(i,this&&this[s]||s));return i}function o(t,i){return i?t?t+" "+i:t+i:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(B)),B.exports}var Be=qe();const Xe=Me(Be),He={"purpur-paragraph":"_purpur-paragraph_1vz75_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1vz75_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1vz75_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1vz75_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1vz75_16","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1vz75_22","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1vz75_29","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1vz75_36","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1vz75_42","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1vz75_48","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1vz75_54","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1vz75_60","purpur-paragraph--additional-100-bold":"_purpur-paragraph--additional-100-bold_1vz75_67","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1vz75_74","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1vz75_82"},Le=Xe.bind(He),We={PARAGRAPH100:"paragraph-100"},R="purpur-paragraph",G=({children:e,className:n,disabled:r,enableHyphenation:a=!1,negative:o=!1,variant:t=We.PARAGRAPH100,...i})=>{const s=Le(n,R,`${R}--${t}`,{[`${R}--hyphens`]:a,[`${R}--disabled`]:r,[`${R}--negative`]:o});return f.jsx("p",{...i,className:s,children:e})};G.displayName="Paragraph";function Te(e,n,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e?.(o),r===!1||!o.defaultPrevented)return n?.(o)}}function H(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function J(...e){return n=>{let r=!1;const a=e.map(o=>{const t=H(o,n);return!r&&typeof t=="function"&&(r=!0),t});if(r)return()=>{for(let o=0;o<a.length;o++){const t=a[o];typeof t=="function"?t():H(e[o],null)}}}}function Ie(...e){return u.useCallback(J(...e),e)}function Ve(e,n=[]){let r=[];function a(t,i){const s=u.createContext(i),c=r.length;r=[...r,i];const l=p=>{const{scope:h,children:_,...v}=p,m=h?.[e]?.[c]||s,b=u.useMemo(()=>v,Object.values(v));return f.jsx(m.Provider,{value:b,children:_})};l.displayName=t+"Provider";function g(p,h){const _=h?.[e]?.[c]||s,v=u.useContext(_);if(v)return v;if(i!==void 0)return i;throw new Error(`\`${p}\` must be used within \`${t}\``)}return[l,g]}const o=()=>{const t=r.map(i=>u.createContext(i));return function(s){const c=s?.[e]||t;return u.useMemo(()=>({[`__scope${e}`]:{...s,[e]:c}}),[s,c])}};return o.scopeName=e,[a,Fe(o,...n)]}function Fe(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const a=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(t){const i=a.reduce((s,{useScope:c,scopeName:l})=>{const p=c(t)[`__scope${l}`];return{...s,...p}},{});return u.useMemo(()=>({[`__scope${n.scopeName}`]:i}),[i])}};return r.scopeName=n.scopeName,r}function K(e){const n=u.useRef(e);return u.useEffect(()=>{n.current=e}),u.useMemo(()=>(...r)=>n.current?.(...r),[])}function Ue({prop:e,defaultProp:n,onChange:r=()=>{}}){const[a,o]=Ze({defaultProp:n,onChange:r}),t=e!==void 0,i=t?e:a,s=K(r),c=u.useCallback(l=>{if(t){const p=typeof l=="function"?l(e):l;p!==e&&s(p)}else o(l)},[t,e,o,s]);return[i,c]}function Ze({defaultProp:e,onChange:n}){const r=u.useState(e),[a]=r,o=u.useRef(a),t=K(n);return u.useEffect(()=>{o.current!==a&&(t(a),o.current=a)},[a,o,t]),r}function Ge(e){const n=u.useRef({value:e,previous:e});return u.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}var Je=globalThis?.document?u.useLayoutEffect:()=>{};function Ke(e){const[n,r]=u.useState(void 0);return Je(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const a=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const t=o[0];let i,s;if("borderBoxSize"in t){const c=t.borderBoxSize,l=Array.isArray(c)?c[0]:c;i=l.inlineSize,s=l.blockSize}else i=e.offsetWidth,s=e.offsetHeight;r({width:i,height:s})});return a.observe(e,{box:"border-box"}),()=>a.unobserve(e)}else r(void 0)},[e]),n}function Qe(e){const n=Ye(e),r=u.forwardRef((a,o)=>{const{children:t,...i}=a,s=u.Children.toArray(t),c=s.find(tt);if(c){const l=c.props.children,g=s.map(p=>p===c?u.Children.count(l)>1?u.Children.only(null):u.isValidElement(l)?l.props.children:null:p);return f.jsx(n,{...i,ref:o,children:u.isValidElement(l)?u.cloneElement(l,void 0,g):null})}return f.jsx(n,{...i,ref:o,children:t})});return r.displayName=`${e}.Slot`,r}function Ye(e){const n=u.forwardRef((r,a)=>{const{children:o,...t}=r;if(u.isValidElement(o)){const i=nt(o),s=rt(t,o.props);return o.type!==u.Fragment&&(s.ref=a?J(a,i):i),u.cloneElement(o,s)}return u.Children.count(o)>1?u.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var et=Symbol("radix.slottable");function tt(e){return u.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===et}function rt(e,n){const r={...n};for(const a in n){const o=e[a],t=n[a];/^on[A-Z]/.test(a)?o&&t?r[a]=(...s)=>{t(...s),o(...s)}:o&&(r[a]=o):a==="style"?r[a]={...o,...t}:a==="className"&&(r[a]=[o,t].filter(Boolean).join(" "))}return{...e,...r}}function nt(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var ot=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],Q=ot.reduce((e,n)=>{const r=Qe(`Primitive.${n}`),a=u.forwardRef((o,t)=>{const{asChild:i,...s}=o,c=i?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),f.jsx(c,{...s,ref:t})});return a.displayName=`Primitive.${n}`,{...e,[n]:a}},{}),k="Switch",[it]=Ve(k),[at,st]=it(k),Y=u.forwardRef((e,n)=>{const{__scopeSwitch:r,name:a,checked:o,defaultChecked:t,required:i,disabled:s,value:c="on",onCheckedChange:l,form:g,...p}=e,[h,_]=u.useState(null),v=Ie(n,S=>_(S)),m=u.useRef(!1),b=h?g||!!h.closest("form"):!0,[y=!1,C]=Ue({prop:o,defaultProp:t,onChange:l});return f.jsxs(at,{scope:r,checked:y,disabled:s,children:[f.jsx(Q.button,{type:"button",role:"switch","aria-checked":y,"aria-required":i,"data-state":re(y),"data-disabled":s?"":void 0,disabled:s,value:c,...p,ref:v,onClick:Te(e.onClick,S=>{C(w=>!w),b&&(m.current=S.isPropagationStopped(),m.current||S.stopPropagation())})}),b&&f.jsx(ut,{control:h,bubbles:!m.current,name:a,value:c,checked:y,required:i,disabled:s,form:g,style:{transform:"translateX(-100%)"}})]})});Y.displayName=k;var ee="SwitchThumb",te=u.forwardRef((e,n)=>{const{__scopeSwitch:r,...a}=e,o=st(ee,r);return f.jsx(Q.span,{"data-state":re(o.checked),"data-disabled":o.disabled?"":void 0,...a,ref:n})});te.displayName=ee;var ut=e=>{const{control:n,checked:r,bubbles:a=!0,...o}=e,t=u.useRef(null),i=Ge(r),s=Ke(n);return u.useEffect(()=>{const c=t.current,l=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(l,"checked").set;if(i!==r&&p){const h=new Event("click",{bubbles:a});p.call(c,r),c.dispatchEvent(h)}},[i,r,a]),f.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:t,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function re(e){return e?"checked":"unchecked"}var ct=Y,lt=te;function pt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var P={exports:{}};var L;function ft(){return L||(L=1,(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(t=o(t,a.call(this,s)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var i="";for(var s in t)n.call(t,s)&&t[s]&&(i=o(i,this&&this[s]||s));return i}function o(t,i){return i?t?t+" "+i:t+i:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(P)),P.exports}var dt=ft();const gt=pt(dt),W=e=>e&&"touches"in e,ht=({children:e,disabled:n,onStart:r,onDrag:a,onStop:o,bounds:t,position:i,style:s})=>{const[c,l]=d.useState(void 0),[g,p]=d.useState(void 0),[h,_]=d.useState(!1),v=y=>{if(!n){y.preventDefault();const C=W(y.nativeEvent)?y.nativeEvent.touches[0].clientX:y.nativeEvent.clientX;p(C),r?.()}},m=d.useCallback(y=>{if(typeof g!="number")return;const S=(W(y)?y.touches[0].clientX:y.clientX)-g;if(!S)return;const w=i+S;!h&&Math.abs(w)&&_(!0);const z=w>t.right?t.right:w<t.left?t.left:w;l(z),a?.({x:z})},[a,l,h,g]),b=d.useCallback(()=>{p(void 0),l(void 0),_(!1),o?.()},[o,p]);return d.useEffect(()=>(window.addEventListener("mousemove",m),window.addEventListener("touchmove",m),()=>{window.removeEventListener("mousemove",m),window.removeEventListener("touchmove",m)}),[m]),d.useEffect(()=>(window.addEventListener("mouseup",b),window.addEventListener("touchend",b),()=>{window.removeEventListener("mouseup",b),window.removeEventListener("touchend",b)}),[b]),d.isValidElement(e)?d.cloneElement(e,{onMouseDown:v,onTouchStart:v,style:{...s,transform:`translateX(${h?c:i}px)`}}):null},T={width:void 0,height:void 0};function I(e){const{ref:n,box:r="content-box",round:a}=e,[{width:o,height:t},i]=d.useState(T),s=vt(),c=d.useRef({...T}),l=d.useRef(void 0);return l.current=e.onResize,d.useEffect(()=>{if(!n.current||typeof window>"u"||!("ResizeObserver"in window))return;const g=new ResizeObserver(([p])=>{const h=r==="border-box"?"borderBoxSize":r==="device-pixel-content-box"?"devicePixelContentBoxSize":"contentBoxSize",_=V(p,h,"inlineSize"),v=V(p,h,"blockSize");if(c.current.width!==_||c.current.height!==v){const b={width:_&&a?Math.round(_):_,height:v&&a?Math.round(v):v};c.current.width=_,c.current.height=v,l.current?l.current(b):s()&&i(b)}});return g.observe(n.current,{box:r}),()=>{g.disconnect()}},[r,n,s,a]),{width:o,height:t}}function V(e,n,r){return e[n]?Array.isArray(e[n])?e[n][0][r]:e[n][r]:n==="contentBoxSize"?e.contentRect[r==="inlineSize"?"width":"height"]:void 0}function vt(){const e=d.useRef(!1);return d.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),d.useCallback(()=>e.current,[])}const _t=({checked:e,onChange:n})=>{const r=d.useRef(null),a=d.useRef(null),[o,t]=d.useState(void 0),[i,s]=d.useState(!1),[c,l]=d.useState(0),{height:g=0}=I({ref:a,round:!0}),{height:p=0}=I({ref:r,round:!0}),h=(p||0)-g,_=g+h,v=h/2,m=_/2,b=typeof o=="number"&&(e?o<m:o>m);return{trackRef:r,thumbRef:a,isDragging:i,bounds:{left:v,right:_},position:e?_:v,onDrag:({x:w})=>{t(w),Math.abs((e?_:v)-w)>2&&s(!0)},onStop:()=>{s(!1),i&&l(Date.now()),b&&n?.(!e)},onChangeWithDrag:()=>{Date.now()-c>50&&n?.(!e),t(void 0)}}},mt={"purpur-toggle":"_purpur-toggle_zqs8u_1","purpur-toggle__track":"_purpur-toggle__track_zqs8u_7","purpur-toggle__checkmark-container":"_purpur-toggle__checkmark-container_zqs8u_45","purpur-toggle__thumb":"_purpur-toggle__thumb_zqs8u_60","purpur-toggle__thumb--dragging":"_purpur-toggle__thumb--dragging_zqs8u_85","purpur-toggle__checkmark":"_purpur-toggle__checkmark_zqs8u_45","purpur-toggle__label--right":"_purpur-toggle__label--right_zqs8u_110","purpur-toggle__label--left":"_purpur-toggle__label--left_zqs8u_113","purpur-toggle__container":"_purpur-toggle__container_zqs8u_116"},$=gt.bind(mt),x="purpur-toggle",ne=d.forwardRef(({["data-testid"]:e,className:n,label:r,onChange:a,labelPosition:o="right",checked:t,disableDrag:i,defaultChecked:s,...c},l)=>{const[g,p]=d.useState(typeof t=="boolean"?t:!!s),h=!!(typeof t=="boolean"?t:g),{thumbRef:_,trackRef:v,isDragging:m,onChangeWithDrag:b,...y}=_t({checked:h,onChange:S=>{c.disabled||(a?.(S),p(S))}}),C=()=>f.jsx(Ae,{htmlFor:c.id,"data-testid":e&&`${e}-label`,disabled:c.disabled,className:$(`${x}__label`,`${x}__label--${o}`),children:f.jsx(G,{disabled:c.disabled,children:r})});return f.jsxs("div",{className:$(n,`${x}__container`),children:[r&&o==="left"&&C(),f.jsx(ct,{...c,ref:l,id:c.id,"data-testid":e,className:$(x),onCheckedChange:b,checked:h,children:f.jsxs("span",{ref:v,className:$(`${x}__track`),children:[f.jsx("span",{className:$(`${x}__checkmark-container`),children:f.jsx(F,{className:$(`${x}__checkmark`),svg:he,size:"xxs"})}),f.jsx(ht,{disabled:i,...y,children:f.jsx(lt,{ref:_,"data-testid":e&&`${e}-thumb`,className:$(`${x}__thumb`,{[`${x}__thumb--dragging`]:m})})})]})}),r&&o==="right"&&C()]})});ne.displayName="Toggle";exports.Toggle=ne;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),f=require("react");require("react-dom");function re(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const u=re(f);function ne(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var k={exports:{}},D;function oe(){return D||(D=1,(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(t=o(t,a.call(this,s)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var i="";for(var s in t)n.call(t,s)&&t[s]&&(i=o(i,this&&this[s]||s));return i}function o(t,i){return i?t?t+" "+i:t+i:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(k)),k.exports}var ie=oe();const ae=ne(ie),se={"purpur-icon":"_purpur-icon_8u1lq_1","purpur-icon--xxs":"_purpur-icon--xxs_8u1lq_4","purpur-icon--xs":"_purpur-icon--xs_8u1lq_8","purpur-icon--sm":"_purpur-icon--sm_8u1lq_12","purpur-icon--md":"_purpur-icon--md_8u1lq_16","purpur-icon--lg":"_purpur-icon--lg_8u1lq_20","purpur-icon--xl":"_purpur-icon--xl_8u1lq_24"},ue=ae.bind(se),O="purpur-icon",ce="md",le=e=>e.filter(n=>Object.keys(n).length>=1).map(n=>`${n.name}="${n.value}"`).join(" "),pe=({content:e="",title:n}={})=>{const r=[{name:"xmlns",value:"http://www.w3.org/2000/svg"},{name:"fill",value:"currentColor"},{name:"viewBox",value:"0 0 24 24"},n?{name:"role",value:"img"}:{name:"aria-hidden",value:"true"}],a=n?`<title>${n}</title>`:"";return`<svg ${le(r)}>${a}${e}</svg>`},de=e=>e.replace(/<(\/?)svg([^>]*)>/g,"").trim(),V=({svg:e,allyTitle:n,className:r,size:a=ce,...o})=>{const t=pe({content:de(e.svg),title:n}),i=ue(O,`${O}--${a}`,r);return d.jsx("span",{className:i,dangerouslySetInnerHTML:{__html:t},...o})};V.displayName="Icon";const fe={name:"checkmark-bold",svg:'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M21.243 4.176a2 2 0 0 1 .324 2.81l-10.45 13.176a2.092 2.092 0 0 1-3.118.18l-5.413-5.413A2 2 0 1 1 5.414 12.1l3.9 3.9 9.118-11.5a2 2 0 0 1 2.81-.324Z" clip-rule="evenodd"/></svg>',keywords:["checkmark-bold"],category:"utility"};function N(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function ge(...e){return n=>{let r=!1;const a=e.map(o=>{const t=N(o,n);return!r&&typeof t=="function"&&(r=!0),t});if(r)return()=>{for(let o=0;o<a.length;o++){const t=a[o];typeof t=="function"?t():N(e[o],null)}}}}function he(e){const n=ve(e),r=u.forwardRef((a,o)=>{const{children:t,...i}=a,s=u.Children.toArray(t),c=s.find(me);if(c){const l=c.props.children,g=s.map(p=>p===c?u.Children.count(l)>1?u.Children.only(null):u.isValidElement(l)?l.props.children:null:p);return d.jsx(n,{...i,ref:o,children:u.isValidElement(l)?u.cloneElement(l,void 0,g):null})}return d.jsx(n,{...i,ref:o,children:t})});return r.displayName=`${e}.Slot`,r}function ve(e){const n=u.forwardRef((r,a)=>{const{children:o,...t}=r;if(u.isValidElement(o)){const i=ye(o),s=be(t,o.props);return o.type!==u.Fragment&&(s.ref=a?ge(a,i):i),u.cloneElement(o,s)}return u.Children.count(o)>1?u.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var _e=Symbol("radix.slottable");function me(e){return u.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===_e}function be(e,n){const r={...n};for(const a in n){const o=e[a],t=n[a];/^on[A-Z]/.test(a)?o&&t?r[a]=(...i)=>{const s=t(...i);return o(...i),s}:o&&(r[a]=o):a==="style"?r[a]={...o,...t}:a==="className"&&(r[a]=[o,t].filter(Boolean).join(" "))}return{...e,...r}}function ye(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var we=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Se=we.reduce((e,n)=>{const r=he(`Primitive.${n}`),a=u.forwardRef((o,t)=>{const{asChild:i,...s}=o,c=i?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(c,{...s,ref:t})});return a.displayName=`Primitive.${n}`,{...e,[n]:a}},{}),xe="Label",F=u.forwardRef((e,n)=>d.jsx(Se.label,{...e,ref:n,onMouseDown:r=>{r.target.closest("button, input, select, textarea")||(e.onMouseDown?.(r),!r.defaultPrevented&&r.detail>1&&r.preventDefault())}}));F.displayName=xe;var Ce=F;function Re(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var A={exports:{}},M;function $e(){return M||(M=1,(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(t=o(t,a.call(this,s)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var i="";for(var s in t)n.call(t,s)&&t[s]&&(i=o(i,this&&this[s]||s));return i}function o(t,i){return i?t?t+" "+i:t+i:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(A)),A.exports}var je=$e();const ze=Re(je),Ee={"purpur-label":"_purpur-label_1x80u_1","purpur-label--negative":"_purpur-label--negative_1x80u_8","purpur-label--disabled":"_purpur-label--disabled_1x80u_11"},Pe=ze.bind(Ee),z="purpur-label",ke=({children:e,className:n,disabled:r,negative:a=!1,...o})=>{const t=Pe(n,z,{[`${z}--disabled`]:r,[`${z}--negative`]:a});return d.jsx(Ce,{className:t,...o,children:e})};function De(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var q={exports:{}},B;function Oe(){return B||(B=1,(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(t=o(t,a.call(this,s)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var i="";for(var s in t)n.call(t,s)&&t[s]&&(i=o(i,this&&this[s]||s));return i}function o(t,i){return i?t?t+" "+i:t+i:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(q)),q.exports}var Ne=Oe();const Ae=De(Ne),Me={"purpur-paragraph":"_purpur-paragraph_1vz75_1","purpur-paragraph--disabled":"_purpur-paragraph--disabled_1vz75_7","purpur-paragraph--hyphens":"_purpur-paragraph--hyphens_1vz75_10","purpur-paragraph--negative":"_purpur-paragraph--negative_1vz75_13","purpur-paragraph--paragraph-100":"_purpur-paragraph--paragraph-100_1vz75_16","purpur-paragraph--paragraph-100-medium":"_purpur-paragraph--paragraph-100-medium_1vz75_22","purpur-paragraph--paragraph-100-bold":"_purpur-paragraph--paragraph-100-bold_1vz75_29","purpur-paragraph--paragraph-200":"_purpur-paragraph--paragraph-200_1vz75_36","purpur-paragraph--preamble-100":"_purpur-paragraph--preamble-100_1vz75_42","purpur-paragraph--preamble-200":"_purpur-paragraph--preamble-200_1vz75_48","purpur-paragraph--additional-100":"_purpur-paragraph--additional-100_1vz75_54","purpur-paragraph--additional-100-medium":"_purpur-paragraph--additional-100-medium_1vz75_60","purpur-paragraph--additional-100-bold":"_purpur-paragraph--additional-100-bold_1vz75_67","purpur-paragraph--overline-100":"_purpur-paragraph--overline-100_1vz75_74","purpur-paragraph--overline-200":"_purpur-paragraph--overline-200_1vz75_82"},qe=Ae.bind(Me),Be={PARAGRAPH100:"paragraph-100"},$="purpur-paragraph",U=({children:e,className:n,disabled:r,enableHyphenation:a=!1,negative:o=!1,variant:t=Be.PARAGRAPH100,...i})=>{const s=qe(n,$,`${$}--${t}`,{[`${$}--hyphens`]:a,[`${$}--disabled`]:r,[`${$}--negative`]:o});return d.jsx("p",{...i,className:s,children:e})};U.displayName="Paragraph";function Xe(e,n,{checkForDefaultPrevented:r=!0}={}){return function(o){if(e?.(o),r===!1||!o.defaultPrevented)return n?.(o)}}function X(e,n){if(typeof e=="function")return e(n);e!=null&&(e.current=n)}function Z(...e){return n=>{let r=!1;const a=e.map(o=>{const t=X(o,n);return!r&&typeof t=="function"&&(r=!0),t});if(r)return()=>{for(let o=0;o<a.length;o++){const t=a[o];typeof t=="function"?t():X(e[o],null)}}}}function He(...e){return u.useCallback(Z(...e),e)}function Le(e,n=[]){let r=[];function a(t,i){const s=u.createContext(i),c=r.length;r=[...r,i];const l=p=>{const{scope:h,children:_,...v}=p,m=h?.[e]?.[c]||s,b=u.useMemo(()=>v,Object.values(v));return d.jsx(m.Provider,{value:b,children:_})};l.displayName=t+"Provider";function g(p,h){const _=h?.[e]?.[c]||s,v=u.useContext(_);if(v)return v;if(i!==void 0)return i;throw new Error(`\`${p}\` must be used within \`${t}\``)}return[l,g]}const o=()=>{const t=r.map(i=>u.createContext(i));return function(s){const c=s?.[e]||t;return u.useMemo(()=>({[`__scope${e}`]:{...s,[e]:c}}),[s,c])}};return o.scopeName=e,[a,We(o,...n)]}function We(...e){const n=e[0];if(e.length===1)return n;const r=()=>{const a=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(t){const i=a.reduce((s,{useScope:c,scopeName:l})=>{const p=c(t)[`__scope${l}`];return{...s,...p}},{});return u.useMemo(()=>({[`__scope${n.scopeName}`]:i}),[i])}};return r.scopeName=n.scopeName,r}function G(e){const n=u.useRef(e);return u.useEffect(()=>{n.current=e}),u.useMemo(()=>(...r)=>n.current?.(...r),[])}function Te({prop:e,defaultProp:n,onChange:r=()=>{}}){const[a,o]=Ie({defaultProp:n,onChange:r}),t=e!==void 0,i=t?e:a,s=G(r),c=u.useCallback(l=>{if(t){const p=typeof l=="function"?l(e):l;p!==e&&s(p)}else o(l)},[t,e,o,s]);return[i,c]}function Ie({defaultProp:e,onChange:n}){const r=u.useState(e),[a]=r,o=u.useRef(a),t=G(n);return u.useEffect(()=>{o.current!==a&&(t(a),o.current=a)},[a,o,t]),r}function Ve(e){const n=u.useRef({value:e,previous:e});return u.useMemo(()=>(n.current.value!==e&&(n.current.previous=n.current.value,n.current.value=e),n.current.previous),[e])}var Fe=globalThis?.document?u.useLayoutEffect:()=>{};function Ue(e){const[n,r]=u.useState(void 0);return Fe(()=>{if(e){r({width:e.offsetWidth,height:e.offsetHeight});const a=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;const t=o[0];let i,s;if("borderBoxSize"in t){const c=t.borderBoxSize,l=Array.isArray(c)?c[0]:c;i=l.inlineSize,s=l.blockSize}else i=e.offsetWidth,s=e.offsetHeight;r({width:i,height:s})});return a.observe(e,{box:"border-box"}),()=>a.unobserve(e)}else r(void 0)},[e]),n}function Ze(e){const n=Ge(e),r=u.forwardRef((a,o)=>{const{children:t,...i}=a,s=u.Children.toArray(t),c=s.find(Ke);if(c){const l=c.props.children,g=s.map(p=>p===c?u.Children.count(l)>1?u.Children.only(null):u.isValidElement(l)?l.props.children:null:p);return d.jsx(n,{...i,ref:o,children:u.isValidElement(l)?u.cloneElement(l,void 0,g):null})}return d.jsx(n,{...i,ref:o,children:t})});return r.displayName=`${e}.Slot`,r}function Ge(e){const n=u.forwardRef((r,a)=>{const{children:o,...t}=r;if(u.isValidElement(o)){const i=Ye(o),s=Qe(t,o.props);return o.type!==u.Fragment&&(s.ref=a?Z(a,i):i),u.cloneElement(o,s)}return u.Children.count(o)>1?u.Children.only(null):null});return n.displayName=`${e}.SlotClone`,n}var Je=Symbol("radix.slottable");function Ke(e){return u.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Je}function Qe(e,n){const r={...n};for(const a in n){const o=e[a],t=n[a];/^on[A-Z]/.test(a)?o&&t?r[a]=(...s)=>{t(...s),o(...s)}:o&&(r[a]=o):a==="style"?r[a]={...o,...t}:a==="className"&&(r[a]=[o,t].filter(Boolean).join(" "))}return{...e,...r}}function Ye(e){let n=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning;return r?e.ref:(n=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=n&&"isReactWarning"in n&&n.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var et=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],J=et.reduce((e,n)=>{const r=Ze(`Primitive.${n}`),a=u.forwardRef((o,t)=>{const{asChild:i,...s}=o,c=i?r:n;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(c,{...s,ref:t})});return a.displayName=`Primitive.${n}`,{...e,[n]:a}},{}),P="Switch",[tt]=Le(P),[rt,nt]=tt(P),K=u.forwardRef((e,n)=>{const{__scopeSwitch:r,name:a,checked:o,defaultChecked:t,required:i,disabled:s,value:c="on",onCheckedChange:l,form:g,...p}=e,[h,_]=u.useState(null),v=He(n,w=>_(w)),m=u.useRef(!1),b=h?g||!!h.closest("form"):!0,[y=!1,C]=Te({prop:o,defaultProp:t,onChange:l});return d.jsxs(rt,{scope:r,checked:y,disabled:s,children:[d.jsx(J.button,{type:"button",role:"switch","aria-checked":y,"aria-required":i,"data-state":ee(y),"data-disabled":s?"":void 0,disabled:s,value:c,...p,ref:v,onClick:Xe(e.onClick,w=>{C(S=>!S),b&&(m.current=w.isPropagationStopped(),m.current||w.stopPropagation())})}),b&&d.jsx(ot,{control:h,bubbles:!m.current,name:a,value:c,checked:y,required:i,disabled:s,form:g,style:{transform:"translateX(-100%)"}})]})});K.displayName=P;var Q="SwitchThumb",Y=u.forwardRef((e,n)=>{const{__scopeSwitch:r,...a}=e,o=nt(Q,r);return d.jsx(J.span,{"data-state":ee(o.checked),"data-disabled":o.disabled?"":void 0,...a,ref:n})});Y.displayName=Q;var ot=e=>{const{control:n,checked:r,bubbles:a=!0,...o}=e,t=u.useRef(null),i=Ve(r),s=Ue(n);return u.useEffect(()=>{const c=t.current,l=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(l,"checked").set;if(i!==r&&p){const h=new Event("click",{bubbles:a});p.call(c,r),c.dispatchEvent(h)}},[i,r,a]),d.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:r,...o,tabIndex:-1,ref:t,style:{...e.style,...s,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function ee(e){return e?"checked":"unchecked"}var it=K,at=Y;function st(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var E={exports:{}};var H;function ut(){return H||(H=1,(function(e){(function(){var n={}.hasOwnProperty;function r(){for(var t="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(t=o(t,a.call(this,s)))}return t}function a(t){if(typeof t=="string"||typeof t=="number")return this&&this[t]||t;if(typeof t!="object")return"";if(Array.isArray(t))return r.apply(this,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes("[native code]"))return t.toString();var i="";for(var s in t)n.call(t,s)&&t[s]&&(i=o(i,this&&this[s]||s));return i}function o(t,i){return i?t?t+" "+i:t+i:t}e.exports?(r.default=r,e.exports=r):window.classNames=r})()})(E)),E.exports}var ct=ut();const lt=st(ct),L=e=>e&&"touches"in e,pt=({children:e,disabled:n,onStart:r,onDrag:a,onStop:o,bounds:t,position:i,style:s})=>{const[c,l]=f.useState(void 0),[g,p]=f.useState(void 0),[h,_]=f.useState(!1),v=y=>{if(!n){y.preventDefault();const C=L(y.nativeEvent)?y.nativeEvent.touches[0].clientX:y.nativeEvent.clientX;p(C),r?.()}},m=f.useCallback(y=>{if(typeof g!="number")return;const w=(L(y)?y.touches[0].clientX:y.clientX)-g;if(!w)return;const S=i+w;!h&&Math.abs(S)&&_(!0);const j=S>t.right?t.right:S<t.left?t.left:S;l(j),a?.({x:j})},[a,l,h,g]),b=f.useCallback(()=>{p(void 0),l(void 0),_(!1),o?.()},[o,p]);return f.useEffect(()=>(window.addEventListener("mousemove",m),window.addEventListener("touchmove",m),()=>{window.removeEventListener("mousemove",m),window.removeEventListener("touchmove",m)}),[m]),f.useEffect(()=>(window.addEventListener("mouseup",b),window.addEventListener("touchend",b),()=>{window.removeEventListener("mouseup",b),window.removeEventListener("touchend",b)}),[b]),f.isValidElement(e)?f.cloneElement(e,{onMouseDown:v,onTouchStart:v,style:{...s,transform:`translateX(${h?c:i}px)`}}):null},W={width:void 0,height:void 0};function T(e){const{ref:n,box:r="content-box",round:a}=e,[{width:o,height:t},i]=f.useState(W),s=dt(),c=f.useRef({...W}),l=f.useRef(void 0);return l.current=e.onResize,f.useEffect(()=>{if(!n.current||typeof window>"u"||!("ResizeObserver"in window))return;const g=new ResizeObserver(([p])=>{const h=r==="border-box"?"borderBoxSize":r==="device-pixel-content-box"?"devicePixelContentBoxSize":"contentBoxSize",_=I(p,h,"inlineSize"),v=I(p,h,"blockSize");if(c.current.width!==_||c.current.height!==v){const b={width:_&&a?Math.round(_):_,height:v&&a?Math.round(v):v};c.current.width=_,c.current.height=v,l.current?l.current(b):s()&&i(b)}});return g.observe(n.current,{box:r}),()=>{g.disconnect()}},[r,n,s,a]),{width:o,height:t}}function I(e,n,r){return e[n]?Array.isArray(e[n])?e[n][0][r]:e[n][r]:n==="contentBoxSize"?e.contentRect[r==="inlineSize"?"width":"height"]:void 0}function dt(){const e=f.useRef(!1);return f.useEffect(()=>(e.current=!0,()=>{e.current=!1}),[]),f.useCallback(()=>e.current,[])}const ft=({checked:e,onChange:n})=>{const r=f.useRef(null),a=f.useRef(null),[o,t]=f.useState(void 0),[i,s]=f.useState(!1),[c,l]=f.useState(0),{height:g=0}=T({ref:a,round:!0}),{height:p=0}=T({ref:r,round:!0}),h=(p||0)-g,_=g+h,v=h/2,m=_/2,b=typeof o=="number"&&(e?o<m:o>m);return{trackRef:r,thumbRef:a,isDragging:i,bounds:{left:v,right:_},position:e?_:v,onDrag:({x:S})=>{t(S),Math.abs((e?_:v)-S)>2&&s(!0)},onStop:()=>{s(!1),i&&l(Date.now()),b&&n?.(!e)},onChangeWithDrag:()=>{Date.now()-c>50&&n?.(!e),t(void 0)}}},gt={"purpur-toggle":"_purpur-toggle_zqs8u_1","purpur-toggle__track":"_purpur-toggle__track_zqs8u_7","purpur-toggle__checkmark-container":"_purpur-toggle__checkmark-container_zqs8u_45","purpur-toggle__thumb":"_purpur-toggle__thumb_zqs8u_60","purpur-toggle__thumb--dragging":"_purpur-toggle__thumb--dragging_zqs8u_85","purpur-toggle__checkmark":"_purpur-toggle__checkmark_zqs8u_45","purpur-toggle__label--right":"_purpur-toggle__label--right_zqs8u_110","purpur-toggle__label--left":"_purpur-toggle__label--left_zqs8u_113","purpur-toggle__container":"_purpur-toggle__container_zqs8u_116"},R=lt.bind(gt),x="purpur-toggle",te=f.forwardRef(({["data-testid"]:e,className:n,label:r,onChange:a,labelPosition:o="right",checked:t,disableDrag:i,defaultChecked:s,...c},l)=>{const[g,p]=f.useState(typeof t=="boolean"?t:!!s),h=!!(typeof t=="boolean"?t:g),{thumbRef:_,trackRef:v,isDragging:m,onChangeWithDrag:b,...y}=ft({checked:h,onChange:w=>{c.disabled||(a?.(w),p(w))}}),C=()=>d.jsx(ke,{htmlFor:c.id,"data-testid":e&&`${e}-label`,disabled:c.disabled,className:R(`${x}__label`,`${x}__label--${o}`),children:d.jsx(U,{disabled:c.disabled,children:r})});return d.jsxs("div",{className:R(n,`${x}__container`),children:[r&&o==="left"&&C(),d.jsx(it,{...c,ref:l,id:c.id,"data-testid":e,className:R(x),onCheckedChange:b,checked:h,children:d.jsxs("span",{ref:v,className:R(`${x}__track`),children:[d.jsx("span",{className:R(`${x}__checkmark-container`),children:d.jsx(V,{className:R(`${x}__checkmark`),svg:fe,size:"xxs"})}),d.jsx(pt,{disabled:i,...y,children:d.jsx(at,{ref:_,"data-testid":e&&`${e}-thumb`,className:R(`${x}__thumb`,{[`${x}__thumb--dragging`]:m})})})]})}),r&&o==="right"&&C()]})});te.displayName="Toggle";exports.Toggle=te;
2
2
  //# sourceMappingURL=toggle.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle.cjs.js","sources":["../../icon/dist/icon.es.js","../../icon/dist/assets/checkmark-bold.es.js","../../label/dist/label.es.js","../../paragraph/dist/paragraph.es.js","../../../common/temp/node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.2.6_react@19.2.1/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.2.6_react@19.2.1/node_modules/@radix-ui/react-context/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.1_@types+react@19.2.6_react@19.2.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.1_@types+react@19.2.6_react@19.2.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@19.2.6_react@19.2.1/node_modules/@radix-ui/react-use-previous/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.1_@types+react@19.2.6_react@19.2.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@19.2.6_react@19.2.1/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slot@1.2.0_@types+react@19.2.6_react@19.2.1/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-primitive@2.0.3_@types+react-dom@19.2.3_@types+react@19.2.6_react-dom@19.2.1_react@19.2.1/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-switch@1.1.4_@types+react-dom@19.2.3_@types+react@19.2.6_react-dom@19.2.1_react@19.2.1/node_modules/@radix-ui/react-switch/dist/index.mjs","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/DraggableX.tsx","../src/hooks/useResizeObserver.ts","../src/hooks/useToggleDrag.ts","../src/toggle.tsx"],"sourcesContent":["import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\nvar p;\nfunction m() {\n return p || (p = 1, (function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function s() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var o = arguments[n];\n o && (t = i(t, u.call(this, o)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return s.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var o in t)\n e.call(t, o) && t[o] && (n = i(n, this && this[o] || o));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (s.default = s, r.exports = s) : window.classNames = s;\n })();\n })(c)), c.exports;\n}\nvar _ = m();\nconst v = /* @__PURE__ */ f(_), d = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, x = v.bind(d), l = \"purpur-icon\", w = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], g = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const s = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(s)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({ svg: r, allyTitle: e, className: s, size: u = g, ...i }) => {\n const t = y({\n content: S(r.svg),\n title: e\n }), n = x(l, `${l}--${u}`, s);\n return /* @__PURE__ */ a(\"span\", { className: n, dangerouslySetInnerHTML: { __html: t }, ...i });\n};\nb.displayName = \"Icon\";\nexport {\n g as DEFAULT_SIZE,\n b as Icon,\n w as sizes\n};\n//# sourceMappingURL=icon.es.js.map\n","const l = {\n name: \"checkmark-bold\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M21.243 4.176a2 2 0 0 1 .324 2.81l-10.45 13.176a2.092 2.092 0 0 1-3.118.18l-5.413-5.413A2 2 0 1 1 5.414 12.1l3.9 3.9 9.118-11.5a2 2 0 0 1 2.81-.324Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"checkmark-bold\"],\n category: \"utility\"\n};\nexport {\n l as checkmarkBold\n};\n//# sourceMappingURL=checkmark-bold.es.js.map\n","import { jsx as p } from \"react/jsx-runtime\";\nimport * as a from \"react\";\nimport \"react-dom\";\nfunction m(t, n) {\n if (typeof t == \"function\")\n return t(n);\n t != null && (t.current = n);\n}\nfunction g(...t) {\n return (n) => {\n let r = !1;\n const i = t.map((o) => {\n const e = m(o, n);\n return !r && typeof e == \"function\" && (r = !0), e;\n });\n if (r)\n return () => {\n for (let o = 0; o < i.length; o++) {\n const e = i[o];\n typeof e == \"function\" ? e() : m(t[o], null);\n }\n };\n };\n}\nvar E = Symbol.for(\"react.lazy\"), c = a[\" use \".trim().toString()];\nfunction C(t) {\n return typeof t == \"object\" && t !== null && \"then\" in t;\n}\nfunction v(t) {\n return t != null && typeof t == \"object\" && \"$$typeof\" in t && t.$$typeof === E && \"_payload\" in t && C(t._payload);\n}\n// @__NO_SIDE_EFFECTS__\nfunction R(t) {\n const n = /* @__PURE__ */ w(t), r = a.forwardRef((i, o) => {\n let { children: e, ...l } = i;\n v(e) && typeof c == \"function\" && (e = c(e._payload));\n const s = a.Children.toArray(e), u = s.find(P);\n if (u) {\n const f = u.props.children, S = s.map((b) => b === u ? a.Children.count(f) > 1 ? a.Children.only(null) : a.isValidElement(f) ? f.props.children : null : b);\n return /* @__PURE__ */ p(n, { ...l, ref: o, children: a.isValidElement(f) ? a.cloneElement(f, void 0, S) : null });\n }\n return /* @__PURE__ */ p(n, { ...l, ref: o, children: e });\n });\n return r.displayName = `${t}.Slot`, r;\n}\n// @__NO_SIDE_EFFECTS__\nfunction w(t) {\n const n = a.forwardRef((r, i) => {\n let { children: o, ...e } = r;\n if (v(o) && typeof c == \"function\" && (o = c(o._payload)), a.isValidElement(o)) {\n const l = O(o), s = N(e, o.props);\n return o.type !== a.Fragment && (s.ref = i ? g(i, l) : l), a.cloneElement(o, s);\n }\n return a.Children.count(o) > 1 ? a.Children.only(null) : null;\n });\n return n.displayName = `${t}.SlotClone`, n;\n}\nvar x = Symbol(\"radix.slottable\");\nfunction P(t) {\n return a.isValidElement(t) && typeof t.type == \"function\" && \"__radixId\" in t.type && t.type.__radixId === x;\n}\nfunction N(t, n) {\n const r = { ...n };\n for (const i in n) {\n const o = t[i], e = n[i];\n /^on[A-Z]/.test(i) ? o && e ? r[i] = (...s) => {\n const u = e(...s);\n return o(...s), u;\n } : o && (r[i] = o) : i === \"style\" ? r[i] = { ...o, ...e } : i === \"className\" && (r[i] = [o, e].filter(Boolean).join(\" \"));\n }\n return { ...t, ...r };\n}\nfunction O(t) {\n let n = Object.getOwnPropertyDescriptor(t.props, \"ref\")?.get, r = n && \"isReactWarning\" in n && n.isReactWarning;\n return r ? t.ref : (n = Object.getOwnPropertyDescriptor(t, \"ref\")?.get, r = n && \"isReactWarning\" in n && n.isReactWarning, r ? t.props.ref : t.props.ref || t.ref);\n}\nvar $ = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n], j = $.reduce((t, n) => {\n const r = /* @__PURE__ */ R(`Primitive.${n}`), i = a.forwardRef((o, e) => {\n const { asChild: l, ...s } = o, u = l ? r : n;\n return typeof window < \"u\" && (window[Symbol.for(\"radix-ui\")] = !0), /* @__PURE__ */ p(u, { ...s, ref: e });\n });\n return i.displayName = `Primitive.${n}`, { ...t, [n]: i };\n}, {}), A = \"Label\", _ = a.forwardRef((t, n) => /* @__PURE__ */ p(\n j.label,\n {\n ...t,\n ref: n,\n onMouseDown: (r) => {\n r.target.closest(\"button, input, select, textarea\") || (t.onMouseDown?.(r), !r.defaultPrevented && r.detail > 1 && r.preventDefault());\n }\n }\n));\n_.displayName = A;\nvar D = _;\nfunction L(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar d = { exports: {} };\nvar h;\nfunction V() {\n return h || (h = 1, (function(t) {\n (function() {\n var n = {}.hasOwnProperty;\n function r() {\n for (var e = \"\", l = 0; l < arguments.length; l++) {\n var s = arguments[l];\n s && (e = o(e, i.call(this, s)));\n }\n return e;\n }\n function i(e) {\n if (typeof e == \"string\" || typeof e == \"number\")\n return this && this[e] || e;\n if (typeof e != \"object\")\n return \"\";\n if (Array.isArray(e))\n return r.apply(this, e);\n if (e.toString !== Object.prototype.toString && !e.toString.toString().includes(\"[native code]\"))\n return e.toString();\n var l = \"\";\n for (var s in e)\n n.call(e, s) && e[s] && (l = o(l, this && this[s] || s));\n return l;\n }\n function o(e, l) {\n return l ? e ? e + \" \" + l : e + l : e;\n }\n t.exports ? (r.default = r, t.exports = r) : window.classNames = r;\n })();\n })(d)), d.exports;\n}\nvar I = V();\nconst T = /* @__PURE__ */ L(I), W = {\n \"purpur-label\": \"_purpur-label_1x80u_1\",\n \"purpur-label--negative\": \"_purpur-label--negative_1x80u_8\",\n \"purpur-label--disabled\": \"_purpur-label--disabled_1x80u_11\"\n}, B = T.bind(W), y = \"purpur-label\", q = ({\n children: t,\n className: n,\n disabled: r,\n negative: i = !1,\n ...o\n}) => {\n const e = B(n, y, {\n [`${y}--disabled`]: r,\n [`${y}--negative`]: i\n });\n return /* @__PURE__ */ p(D, { className: e, ...o, children: t });\n};\nexport {\n q as Label\n};\n//# sourceMappingURL=label.es.js.map\n","import { jsx as l } from \"react/jsx-runtime\";\nfunction d(p) {\n return p && p.__esModule && Object.prototype.hasOwnProperty.call(p, \"default\") ? p.default : p;\n}\nvar h = { exports: {} };\nvar s;\nfunction _() {\n return s || (s = 1, (function(p) {\n (function() {\n var n = {}.hasOwnProperty;\n function u() {\n for (var r = \"\", a = 0; a < arguments.length; a++) {\n var e = arguments[a];\n e && (r = i(r, o.call(this, e)));\n }\n return r;\n }\n function o(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return this && this[r] || r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return u.apply(this, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var a = \"\";\n for (var e in r)\n n.call(r, e) && r[e] && (a = i(a, this && this[e] || e));\n return a;\n }\n function i(r, a) {\n return a ? r ? r + \" \" + a : r + a : r;\n }\n p.exports ? (u.default = u, p.exports = u) : window.classNames = u;\n })();\n })(h)), h.exports;\n}\nvar g = _();\nconst v = /* @__PURE__ */ d(g), c = {\n \"purpur-paragraph\": \"_purpur-paragraph_1vz75_1\",\n \"purpur-paragraph--disabled\": \"_purpur-paragraph--disabled_1vz75_7\",\n \"purpur-paragraph--hyphens\": \"_purpur-paragraph--hyphens_1vz75_10\",\n \"purpur-paragraph--negative\": \"_purpur-paragraph--negative_1vz75_13\",\n \"purpur-paragraph--paragraph-100\": \"_purpur-paragraph--paragraph-100_1vz75_16\",\n \"purpur-paragraph--paragraph-100-medium\": \"_purpur-paragraph--paragraph-100-medium_1vz75_22\",\n \"purpur-paragraph--paragraph-100-bold\": \"_purpur-paragraph--paragraph-100-bold_1vz75_29\",\n \"purpur-paragraph--paragraph-200\": \"_purpur-paragraph--paragraph-200_1vz75_36\",\n \"purpur-paragraph--preamble-100\": \"_purpur-paragraph--preamble-100_1vz75_42\",\n \"purpur-paragraph--preamble-200\": \"_purpur-paragraph--preamble-200_1vz75_48\",\n \"purpur-paragraph--additional-100\": \"_purpur-paragraph--additional-100_1vz75_54\",\n \"purpur-paragraph--additional-100-medium\": \"_purpur-paragraph--additional-100-medium_1vz75_60\",\n \"purpur-paragraph--additional-100-bold\": \"_purpur-paragraph--additional-100-bold_1vz75_67\",\n \"purpur-paragraph--overline-100\": \"_purpur-paragraph--overline-100_1vz75_74\",\n \"purpur-paragraph--overline-200\": \"_purpur-paragraph--overline-200_1vz75_82\"\n}, f = v.bind(c), m = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n ADDITIONAL100BOLD: \"additional-100-bold\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\"\n}, t = \"purpur-paragraph\", A = ({\n children: p,\n className: n,\n disabled: u,\n enableHyphenation: o = !1,\n negative: i = !1,\n variant: r = m.PARAGRAPH100,\n ...a\n}) => {\n const e = f(n, t, `${t}--${r}`, {\n [`${t}--hyphens`]: o,\n [`${t}--disabled`]: u,\n [`${t}--negative`]: i\n });\n return /* @__PURE__ */ l(\"p\", { ...a, className: e, children: p });\n};\nA.displayName = \"Paragraph\";\nexport {\n A as Paragraph,\n m as ParagraphVariant\n};\n//# sourceMappingURL=paragraph.es.js.map\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/switch/src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked = false, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked,\n onChange: onCheckedChange\n });\n return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"checked\");\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...inputProps,\n tabIndex: -1,\n ref,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n};\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n Root,\n Switch,\n SwitchThumb,\n Thumb,\n createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import {\n cloneElement,\n type CSSProperties,\n isValidElement,\n type ReactElement,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport { type SwitchThumbProps } from \"@radix-ui/react-switch\";\n\nexport type DraggableXProps = {\n children?: ReactElement<SwitchThumbProps>;\n disabled?: boolean;\n position: number;\n bounds: { left: number; right: number };\n onStart?: () => void;\n onDrag?: (args: { x: number }) => void;\n onStop?: () => void;\n style?: CSSProperties;\n};\n\nconst isTouchEvent = (e: MouseEvent | TouchEvent): e is TouchEvent => e && \"touches\" in e;\n\n/**\n * Bare minimum to make the toggle draggable.\n * It is created for usage in the toggle only but could easily be extracted and used elsewhere.\n *\n * It is called `DraggableX` since it's only for dragging along the x-axis.\n */\nexport const DraggableX = ({\n children,\n disabled,\n onStart,\n onDrag,\n onStop,\n bounds,\n position,\n style,\n}: DraggableXProps) => {\n const [dragX, setDragX] = useState<number | undefined>(undefined);\n const [dragStartX, setDragStartX] = useState<number | undefined>(undefined);\n const [isDragging, setIsDragging] = useState(false);\n\n const startDrag = (e: React.MouseEvent | React.TouchEvent) => {\n if (!disabled) {\n e.preventDefault();\n const clientX = isTouchEvent(e.nativeEvent)\n ? e.nativeEvent.touches[0].clientX\n : e.nativeEvent.clientX;\n setDragStartX(clientX);\n onStart?.();\n }\n };\n\n const onMouseMove = useCallback(\n (e: MouseEvent | TouchEvent) => {\n if (typeof dragStartX !== \"number\") {\n return;\n }\n\n const clientX = isTouchEvent(e) ? e.touches[0].clientX : e.clientX;\n const dragDelta = clientX - dragStartX;\n\n if (!dragDelta) {\n return;\n }\n\n const nextDragX = position + dragDelta;\n if (!isDragging && Math.abs(nextDragX)) {\n setIsDragging(true);\n }\n\n const nextDragXBounded = (() => {\n if (nextDragX > bounds.right) {\n return bounds.right;\n }\n\n if (nextDragX < bounds.left) {\n return bounds.left;\n }\n\n return nextDragX;\n })();\n\n setDragX(nextDragXBounded);\n onDrag?.({ x: nextDragXBounded });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onDrag, setDragX, isDragging, dragStartX]\n );\n\n const onMouseUp = useCallback(() => {\n setDragStartX(undefined);\n setDragX(undefined);\n setIsDragging(false);\n onStop?.();\n }, [onStop, setDragStartX]);\n\n useEffect(() => {\n window.addEventListener(\"mousemove\", onMouseMove);\n window.addEventListener(\"touchmove\", onMouseMove);\n\n return () => {\n window.removeEventListener(\"mousemove\", onMouseMove);\n window.removeEventListener(\"touchmove\", onMouseMove);\n };\n }, [onMouseMove]);\n\n useEffect(() => {\n window.addEventListener(\"mouseup\", onMouseUp);\n window.addEventListener(\"touchend\", onMouseUp);\n\n return () => {\n window.removeEventListener(\"mouseup\", onMouseUp);\n window.removeEventListener(\"touchend\", onMouseUp);\n };\n }, [onMouseUp]);\n\n return isValidElement(children)\n ? cloneElement<SwitchThumbProps>(children, {\n onMouseDown: startDrag,\n onTouchStart: startDrag,\n style: { ...style, transform: `translateX(${isDragging ? dragX : position}px)` },\n })\n : null;\n};\n","import type { RefObject } from \"react\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\n// This hook is a clone of useResizeObserver in b2c-sales/hooks\n\ntype Size = {\n width: number | undefined;\n height: number | undefined;\n};\n\ntype UseResizeObserverOptions<T extends HTMLElement = HTMLElement> = {\n ref: RefObject<T | null>;\n onResize?: (size: Size) => void;\n box?: \"border-box\" | \"content-box\" | \"device-pixel-content-box\";\n round?: boolean;\n};\n\nconst initialSize: Size = {\n width: undefined,\n height: undefined,\n};\n\nexport function useResizeObserver<T extends HTMLElement = HTMLElement>(\n options: UseResizeObserverOptions<T>\n): Size {\n const { ref, box = \"content-box\", round } = options;\n const [{ width, height }, setSize] = useState<Size>(initialSize);\n const isMounted = useIsMounted();\n const previousSize = useRef<Size>({ ...initialSize });\n const onResize = useRef<((size: Size) => void) | undefined>(undefined);\n onResize.current = options.onResize;\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n if (typeof window === \"undefined\" || !(\"ResizeObserver\" in window)) {\n return;\n }\n\n const observer = new ResizeObserver(([entry]) => {\n const boxProp =\n\n box === \"border-box\"\n ? \"borderBoxSize\"\n : box === \"device-pixel-content-box\"\n ? \"devicePixelContentBoxSize\"\n : \"contentBoxSize\";\n\n const newWidth = extractSize(entry, boxProp, \"inlineSize\");\n const newHeight = extractSize(entry, boxProp, \"blockSize\");\n\n const hasChanged =\n previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n\n if (hasChanged) {\n const newSize: Size = {\n width: newWidth && round ? Math.round(newWidth) : newWidth,\n height: newHeight && round ? Math.round(newHeight) : newHeight,\n };\n previousSize.current.width = newWidth;\n previousSize.current.height = newHeight;\n\n if (onResize.current) {\n onResize.current(newSize);\n } else {\n if (isMounted()) {\n setSize(newSize);\n }\n }\n }\n });\n\n observer.observe(ref.current, { box });\n\n return () => {\n observer.disconnect();\n };\n }, [box, ref, isMounted, round]);\n\n return { width, height };\n}\n\ntype BoxSizesKey = keyof Pick<\n ResizeObserverEntry,\n \"borderBoxSize\" | \"contentBoxSize\" | \"devicePixelContentBoxSize\"\n>;\n\nfunction extractSize(\n entry: ResizeObserverEntry,\n box: BoxSizesKey,\n sizeType: keyof ResizeObserverSize\n): number | undefined {\n if (!entry[box]) {\n if (box === \"contentBoxSize\") {\n return entry.contentRect[sizeType === \"inlineSize\" ? \"width\" : \"height\"];\n }\n return undefined;\n }\n\n return Array.isArray(entry[box])\n ? entry[box][0][sizeType]\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore Support Firefox's non-standard behavior\n (entry[box][sizeType] as number);\n}\n\nfunction useIsMounted() {\n const isMounted = useRef(false);\n\n useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return useCallback(() => isMounted.current, []);\n}\n","import { type RefObject, useRef, useState } from \"react\";\n\nimport { useResizeObserver } from \"./useResizeObserver\";\n\ntype UseToggleDragProps = {\n checked: boolean;\n onChange: ((checked: boolean) => void) | undefined;\n};\n\nexport const useToggleDrag = ({ checked, onChange }: UseToggleDragProps) => {\n const trackRef: RefObject<HTMLDivElement | null> = useRef(null);\n const thumbRef = useRef<HTMLSpanElement>(null);\n const [dragX, setDragX] = useState<number | undefined>(undefined);\n const [isDragging, setIsDragging] = useState(false);\n const [dragStopped, setDragStopped] = useState(0);\n\n const { height: thumbHeight = 0 } = useResizeObserver({ ref: thumbRef, round: true });\n const { height: switchHeight = 0 } = useResizeObserver({ ref: trackRef, round: true });\n\n const switchThumbHeightDelta = (switchHeight || 0) - thumbHeight;\n const maxDragRange = thumbHeight + switchThumbHeightDelta;\n const minDragRange = switchThumbHeightDelta / 2;\n const halfMaxDragRange = maxDragRange / 2;\n const isDraggedHalfway =\n typeof dragX === \"number\" && (checked ? dragX < halfMaxDragRange : dragX > halfMaxDragRange);\n\n const onDrag = ({ x }: { x: number }) => {\n setDragX(x);\n const dragDelta = Math.abs((checked ? maxDragRange : minDragRange) - x);\n\n // Add a threshold here for then accidentally dragging when clicking/touching\n dragDelta > 2 && setIsDragging(true);\n };\n\n const onStop = () => {\n setIsDragging(false);\n isDragging && setDragStopped(Date.now());\n if (isDraggedHalfway) {\n onChange?.(!checked);\n }\n };\n\n const onChangeWithDrag = () => {\n if (Date.now() - dragStopped > 50) {\n onChange?.(!checked);\n }\n setDragX(undefined);\n };\n\n return {\n trackRef,\n thumbRef,\n isDragging,\n bounds: { left: minDragRange, right: maxDragRange },\n position: checked ? maxDragRange : minDragRange,\n onDrag,\n onStop,\n onChangeWithDrag,\n };\n};\n","import React, { forwardRef, useState } from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport { Icon } from \"@purpurds/icon\";\nimport { checkmarkBold } from \"@purpurds/icon/assets/checkmark-bold\";\nimport { Label } from \"@purpurds/label\";\nimport { Paragraph } from \"@purpurds/paragraph\";\nimport * as Switch from \"@radix-ui/react-switch\";\nimport c from \"classnames/bind\";\n\nimport { DraggableX } from \"./DraggableX\";\nimport { useToggleDrag } from \"./hooks/useToggleDrag\";\nimport styles from \"./toggle.module.scss\";\n\nexport type ToggleProps = Omit<BaseProps<\"button\">, \"onChange\" | \"children\" | \"id\"> & {\n /**\n * To use when no label is given.\n * */\n [\"aria-label\"]?: string;\n /**\n * To use with custom label (not recommended).\n * */\n [\"aria-labelledby\"]?: string;\n /**\n * The controlled state of the toggle. Must be used in conjunction with `onChange`.\n * */\n checked?: boolean;\n /**\n * The state of the toggle when it is initially rendered. Use when you do not need to control its state.\n * */\n defaultChecked?: boolean;\n /**\n * When `true`, prevents the user from interacting with the toggle.\n * */\n disabled?: boolean;\n /**\n * When `true`, the toggle isn't draggable.\n * */\n disableDrag?: boolean;\n /**\n * ID of the toggle.\n * */\n id: string;\n /**\n * The label of the toggle.\n * */\n label?: string;\n /**\n * Set to decide which side of the toggle the label should be rendered.\n * */\n labelPosition?: \"left\" | \"right\";\n /**\n * The name of the toggle. Submitted with its owning form as part of a name/value pair, when wrapped in a form.\n * */\n name?: string;\n /**\n * Event handler called when the toggle is toggled.\n * */\n onChange?: (checked: boolean) => void;\n /**\n * When `true`, indicates that the user must check the toggle before the owning form can be submitted..\n * */\n required?: boolean;\n /**\n * The value given as data when wrapped with a form and submitted with a name.\n * */\n value?: string;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-toggle\";\n\nexport const Toggle = forwardRef<HTMLButtonElement, ToggleProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n label,\n onChange,\n labelPosition = \"right\",\n checked,\n disableDrag,\n defaultChecked,\n ...props\n },\n ref\n ) => {\n const [internalChecked, setInternalChecked] = useState(\n typeof checked === \"boolean\" ? checked : !!defaultChecked\n );\n const isChecked = Boolean(typeof checked === \"boolean\" ? checked : internalChecked);\n const { thumbRef, trackRef, isDragging, onChangeWithDrag, ...draggableXProps } = useToggleDrag({\n checked: isChecked,\n onChange: (value) => {\n if (!props.disabled) {\n onChange?.(value);\n setInternalChecked(value);\n }\n },\n });\n\n const renderLabel = () => (\n <Label\n htmlFor={props.id}\n data-testid={dataTestId && `${dataTestId}-label`}\n disabled={props.disabled}\n className={cx(`${rootClassName}__label`, `${rootClassName}__label--${labelPosition}`)}\n >\n <Paragraph disabled={props.disabled}>{label}</Paragraph>\n </Label>\n );\n\n return (\n <div className={cx(className, `${rootClassName}__container`)}>\n {label && labelPosition === \"left\" && renderLabel()}\n <Switch.Root\n {...props}\n ref={ref}\n id={props.id}\n data-testid={dataTestId}\n className={cx(rootClassName)}\n onCheckedChange={onChangeWithDrag}\n checked={isChecked}\n >\n <span ref={trackRef} className={cx(`${rootClassName}__track`)}>\n <span className={cx(`${rootClassName}__checkmark-container`)}>\n <Icon className={cx(`${rootClassName}__checkmark`)} svg={checkmarkBold} size=\"xxs\" />\n </span>\n <DraggableX disabled={disableDrag} {...draggableXProps}>\n <Switch.Thumb\n ref={thumbRef}\n data-testid={dataTestId && `${dataTestId}-thumb`}\n className={cx(`${rootClassName}__thumb`, {\n [`${rootClassName}__thumb--dragging`]: isDragging,\n })}\n />\n </DraggableX>\n </span>\n </Switch.Root>\n {label && labelPosition === \"right\" && renderLabel()}\n </div>\n );\n }\n);\n\nToggle.displayName = \"Toggle\";\n"],"names":["f","r","c","p","m","e","s","n","o","i","u","_","v","d","x","l","g","h","y","S","b","a","t","E","C","R","w","P","O","N","$","j","A","D","L","V","I","T","W","B","q","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","value","composeRefs","refs","node","hasCleanup","cleanups","cleanup","useComposedRefs","React","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","index","Provider","props","scope","children","context","Context","jsx","useContext2","consumerName","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","useCallbackRef","callback","callbackRef","args","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","usePrevious","useLayoutEffect2","useSize","element","size","setSize","useLayoutEffect","resizeObserver","entries","entry","width","height","borderSizeEntry","borderSize","createSlot","ownerName","SlotClone","createSlotClone","Slot2","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","getter","mayWarn","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","SWITCH_NAME","createSwitchContext","SwitchProvider","useSwitchContext","Switch","__scopeSwitch","name","checkedProp","defaultChecked","required","disabled","onCheckedChange","form","switchProps","button","setButton","composedRefs","hasConsumerStoppedPropagationRef","isFormControl","checked","setChecked","jsxs","getState","prevChecked","BubbleInput","THUMB_NAME","SwitchThumb","thumbProps","control","bubbles","inputProps","controlSize","input","inputProto","Root","Thumb","hasOwn","classNames","classes","arg","appendClass","parseValue","key","newClass","module","isTouchEvent","DraggableX","onStart","onDrag","onStop","bounds","position","style","dragX","setDragX","useState","dragStartX","setDragStartX","isDragging","setIsDragging","startDrag","clientX","onMouseMove","useCallback","dragDelta","nextDragX","nextDragXBounded","onMouseUp","useEffect","isValidElement","cloneElement","initialSize","useResizeObserver","options","box","round","isMounted","useIsMounted","previousSize","useRef","onResize","observer","boxProp","newWidth","extractSize","newHeight","newSize","sizeType","useToggleDrag","trackRef","thumbRef","dragStopped","setDragStopped","thumbHeight","switchHeight","switchThumbHeightDelta","maxDragRange","minDragRange","halfMaxDragRange","isDraggedHalfway","cx","styles","rootClassName","Toggle","forwardRef","dataTestId","className","label","labelPosition","disableDrag","internalChecked","setInternalChecked","isChecked","onChangeWithDrag","draggableXProps","renderLabel","Label","Paragraph","Switch.Root","Icon","checkmarkBold","Switch.Thumb"],"mappings":"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","x_google_ignoreList":[4,5,6,7,8,9,10,11,12,13,14,15]}
1
+ {"version":3,"file":"toggle.cjs.js","sources":["../../icon/dist/icon.es.js","../../icon/dist/assets/checkmark-bold.es.js","../../label/dist/label.es.js","../../paragraph/dist/paragraph.es.js","../../../common/temp/node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.2.6_react@19.2.3/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.2.6_react@19.2.3/node_modules/@radix-ui/react-context/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.1_@types+react@19.2.6_react@19.2.3/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.1_@types+react@19.2.6_react@19.2.3/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@19.2.6_react@19.2.3/node_modules/@radix-ui/react-use-previous/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.1_@types+react@19.2.6_react@19.2.3/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@19.2.6_react@19.2.3/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slot@1.2.0_@types+react@19.2.6_react@19.2.3/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-primitive@2.0.3_@types+react-dom@19.2.3_@types+react@19.2.6_react-dom@19.2.3_react@19.2.3/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-switch@1.1.4_@types+react-dom@19.2.3_@types+react@19.2.6_react-dom@19.2.3_react@19.2.3/node_modules/@radix-ui/react-switch/dist/index.mjs","../../../common/temp/node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/bind.js","../src/DraggableX.tsx","../src/hooks/useResizeObserver.ts","../src/hooks/useToggleDrag.ts","../src/toggle.tsx"],"sourcesContent":["import { jsx as a } from \"react/jsx-runtime\";\nfunction f(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar c = { exports: {} };\nvar p;\nfunction m() {\n return p || (p = 1, (function(r) {\n (function() {\n var e = {}.hasOwnProperty;\n function s() {\n for (var t = \"\", n = 0; n < arguments.length; n++) {\n var o = arguments[n];\n o && (t = i(t, u.call(this, o)));\n }\n return t;\n }\n function u(t) {\n if (typeof t == \"string\" || typeof t == \"number\")\n return this && this[t] || t;\n if (typeof t != \"object\")\n return \"\";\n if (Array.isArray(t))\n return s.apply(this, t);\n if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n return t.toString();\n var n = \"\";\n for (var o in t)\n e.call(t, o) && t[o] && (n = i(n, this && this[o] || o));\n return n;\n }\n function i(t, n) {\n return n ? t ? t + \" \" + n : t + n : t;\n }\n r.exports ? (s.default = s, r.exports = s) : window.classNames = s;\n })();\n })(c)), c.exports;\n}\nvar _ = m();\nconst v = /* @__PURE__ */ f(_), d = {\n \"purpur-icon\": \"_purpur-icon_8u1lq_1\",\n \"purpur-icon--xxs\": \"_purpur-icon--xxs_8u1lq_4\",\n \"purpur-icon--xs\": \"_purpur-icon--xs_8u1lq_8\",\n \"purpur-icon--sm\": \"_purpur-icon--sm_8u1lq_12\",\n \"purpur-icon--md\": \"_purpur-icon--md_8u1lq_16\",\n \"purpur-icon--lg\": \"_purpur-icon--lg_8u1lq_20\",\n \"purpur-icon--xl\": \"_purpur-icon--xl_8u1lq_24\"\n}, x = v.bind(d), l = \"purpur-icon\", w = [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\"], g = \"md\", h = (r) => r.filter((e) => Object.keys(e).length >= 1).map((e) => `${e.name}=\"${e.value}\"`).join(\" \"), y = ({ content: r = \"\", title: e } = {}) => {\n const s = [\n { name: \"xmlns\", value: \"http://www.w3.org/2000/svg\" },\n { name: \"fill\", value: \"currentColor\" },\n { name: \"viewBox\", value: \"0 0 24 24\" },\n e ? { name: \"role\", value: \"img\" } : { name: \"aria-hidden\", value: \"true\" }\n ], u = e ? `<title>${e}</title>` : \"\";\n return `<svg ${h(s)}>${u}${r}</svg>`;\n}, S = (r) => r.replace(/<(\\/?)svg([^>]*)>/g, \"\").trim(), b = ({ svg: r, allyTitle: e, className: s, size: u = g, ...i }) => {\n const t = y({\n content: S(r.svg),\n title: e\n }), n = x(l, `${l}--${u}`, s);\n return /* @__PURE__ */ a(\"span\", { className: n, dangerouslySetInnerHTML: { __html: t }, ...i });\n};\nb.displayName = \"Icon\";\nexport {\n g as DEFAULT_SIZE,\n b as Icon,\n w as sizes\n};\n//# sourceMappingURL=icon.es.js.map\n","const l = {\n name: \"checkmark-bold\",\n svg: '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M21.243 4.176a2 2 0 0 1 .324 2.81l-10.45 13.176a2.092 2.092 0 0 1-3.118.18l-5.413-5.413A2 2 0 1 1 5.414 12.1l3.9 3.9 9.118-11.5a2 2 0 0 1 2.81-.324Z\" clip-rule=\"evenodd\"/></svg>',\n keywords: [\"checkmark-bold\"],\n category: \"utility\"\n};\nexport {\n l as checkmarkBold\n};\n//# sourceMappingURL=checkmark-bold.es.js.map\n","import { jsx as f } from \"react/jsx-runtime\";\nimport * as a from \"react\";\nimport \"react-dom\";\nfunction b(t, n) {\n if (typeof t == \"function\")\n return t(n);\n t != null && (t.current = n);\n}\nfunction S(...t) {\n return (n) => {\n let r = !1;\n const i = t.map((o) => {\n const e = b(o, n);\n return !r && typeof e == \"function\" && (r = !0), e;\n });\n if (r)\n return () => {\n for (let o = 0; o < i.length; o++) {\n const e = i[o];\n typeof e == \"function\" ? e() : b(t[o], null);\n }\n };\n };\n}\n// @__NO_SIDE_EFFECTS__\nfunction g(t) {\n const n = /* @__PURE__ */ _(t), r = a.forwardRef((i, o) => {\n const { children: e, ...l } = i, s = a.Children.toArray(e), u = s.find(w);\n if (u) {\n const c = u.props.children, v = s.map((m) => m === u ? a.Children.count(c) > 1 ? a.Children.only(null) : a.isValidElement(c) ? c.props.children : null : m);\n return /* @__PURE__ */ f(n, { ...l, ref: o, children: a.isValidElement(c) ? a.cloneElement(c, void 0, v) : null });\n }\n return /* @__PURE__ */ f(n, { ...l, ref: o, children: e });\n });\n return r.displayName = `${t}.Slot`, r;\n}\n// @__NO_SIDE_EFFECTS__\nfunction _(t) {\n const n = a.forwardRef((r, i) => {\n const { children: o, ...e } = r;\n if (a.isValidElement(o)) {\n const l = C(o), s = x(e, o.props);\n return o.type !== a.Fragment && (s.ref = i ? S(i, l) : l), a.cloneElement(o, s);\n }\n return a.Children.count(o) > 1 ? a.Children.only(null) : null;\n });\n return n.displayName = `${t}.SlotClone`, n;\n}\nvar E = Symbol(\"radix.slottable\");\nfunction w(t) {\n return a.isValidElement(t) && typeof t.type == \"function\" && \"__radixId\" in t.type && t.type.__radixId === E;\n}\nfunction x(t, n) {\n const r = { ...n };\n for (const i in n) {\n const o = t[i], e = n[i];\n /^on[A-Z]/.test(i) ? o && e ? r[i] = (...s) => {\n const u = e(...s);\n return o(...s), u;\n } : o && (r[i] = o) : i === \"style\" ? r[i] = { ...o, ...e } : i === \"className\" && (r[i] = [o, e].filter(Boolean).join(\" \"));\n }\n return { ...t, ...r };\n}\nfunction C(t) {\n let n = Object.getOwnPropertyDescriptor(t.props, \"ref\")?.get, r = n && \"isReactWarning\" in n && n.isReactWarning;\n return r ? t.ref : (n = Object.getOwnPropertyDescriptor(t, \"ref\")?.get, r = n && \"isReactWarning\" in n && n.isReactWarning, r ? t.props.ref : t.props.ref || t.ref);\n}\nvar R = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n], N = R.reduce((t, n) => {\n const r = /* @__PURE__ */ g(`Primitive.${n}`), i = a.forwardRef((o, e) => {\n const { asChild: l, ...s } = o, u = l ? r : n;\n return typeof window < \"u\" && (window[Symbol.for(\"radix-ui\")] = !0), /* @__PURE__ */ f(u, { ...s, ref: e });\n });\n return i.displayName = `Primitive.${n}`, { ...t, [n]: i };\n}, {}), P = \"Label\", h = a.forwardRef((t, n) => /* @__PURE__ */ f(\n N.label,\n {\n ...t,\n ref: n,\n onMouseDown: (r) => {\n r.target.closest(\"button, input, select, textarea\") || (t.onMouseDown?.(r), !r.defaultPrevented && r.detail > 1 && r.preventDefault());\n }\n }\n));\nh.displayName = P;\nvar O = h;\nfunction j(t) {\n return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, \"default\") ? t.default : t;\n}\nvar p = { exports: {} };\nvar y;\nfunction D() {\n return y || (y = 1, (function(t) {\n (function() {\n var n = {}.hasOwnProperty;\n function r() {\n for (var e = \"\", l = 0; l < arguments.length; l++) {\n var s = arguments[l];\n s && (e = o(e, i.call(this, s)));\n }\n return e;\n }\n function i(e) {\n if (typeof e == \"string\" || typeof e == \"number\")\n return this && this[e] || e;\n if (typeof e != \"object\")\n return \"\";\n if (Array.isArray(e))\n return r.apply(this, e);\n if (e.toString !== Object.prototype.toString && !e.toString.toString().includes(\"[native code]\"))\n return e.toString();\n var l = \"\";\n for (var s in e)\n n.call(e, s) && e[s] && (l = o(l, this && this[s] || s));\n return l;\n }\n function o(e, l) {\n return l ? e ? e + \" \" + l : e + l : e;\n }\n t.exports ? (r.default = r, t.exports = r) : window.classNames = r;\n })();\n })(p)), p.exports;\n}\nvar A = D();\nconst V = /* @__PURE__ */ j(A), $ = {\n \"purpur-label\": \"_purpur-label_1x80u_1\",\n \"purpur-label--negative\": \"_purpur-label--negative_1x80u_8\",\n \"purpur-label--disabled\": \"_purpur-label--disabled_1x80u_11\"\n}, I = V.bind($), d = \"purpur-label\", B = ({\n children: t,\n className: n,\n disabled: r,\n negative: i = !1,\n ...o\n}) => {\n const e = I(n, d, {\n [`${d}--disabled`]: r,\n [`${d}--negative`]: i\n });\n return /* @__PURE__ */ f(O, { className: e, ...o, children: t });\n};\nexport {\n B as Label\n};\n//# sourceMappingURL=label.es.js.map\n","import { jsx as l } from \"react/jsx-runtime\";\nfunction d(p) {\n return p && p.__esModule && Object.prototype.hasOwnProperty.call(p, \"default\") ? p.default : p;\n}\nvar h = { exports: {} };\nvar s;\nfunction _() {\n return s || (s = 1, (function(p) {\n (function() {\n var n = {}.hasOwnProperty;\n function u() {\n for (var r = \"\", a = 0; a < arguments.length; a++) {\n var e = arguments[a];\n e && (r = i(r, o.call(this, e)));\n }\n return r;\n }\n function o(r) {\n if (typeof r == \"string\" || typeof r == \"number\")\n return this && this[r] || r;\n if (typeof r != \"object\")\n return \"\";\n if (Array.isArray(r))\n return u.apply(this, r);\n if (r.toString !== Object.prototype.toString && !r.toString.toString().includes(\"[native code]\"))\n return r.toString();\n var a = \"\";\n for (var e in r)\n n.call(r, e) && r[e] && (a = i(a, this && this[e] || e));\n return a;\n }\n function i(r, a) {\n return a ? r ? r + \" \" + a : r + a : r;\n }\n p.exports ? (u.default = u, p.exports = u) : window.classNames = u;\n })();\n })(h)), h.exports;\n}\nvar g = _();\nconst v = /* @__PURE__ */ d(g), c = {\n \"purpur-paragraph\": \"_purpur-paragraph_1vz75_1\",\n \"purpur-paragraph--disabled\": \"_purpur-paragraph--disabled_1vz75_7\",\n \"purpur-paragraph--hyphens\": \"_purpur-paragraph--hyphens_1vz75_10\",\n \"purpur-paragraph--negative\": \"_purpur-paragraph--negative_1vz75_13\",\n \"purpur-paragraph--paragraph-100\": \"_purpur-paragraph--paragraph-100_1vz75_16\",\n \"purpur-paragraph--paragraph-100-medium\": \"_purpur-paragraph--paragraph-100-medium_1vz75_22\",\n \"purpur-paragraph--paragraph-100-bold\": \"_purpur-paragraph--paragraph-100-bold_1vz75_29\",\n \"purpur-paragraph--paragraph-200\": \"_purpur-paragraph--paragraph-200_1vz75_36\",\n \"purpur-paragraph--preamble-100\": \"_purpur-paragraph--preamble-100_1vz75_42\",\n \"purpur-paragraph--preamble-200\": \"_purpur-paragraph--preamble-200_1vz75_48\",\n \"purpur-paragraph--additional-100\": \"_purpur-paragraph--additional-100_1vz75_54\",\n \"purpur-paragraph--additional-100-medium\": \"_purpur-paragraph--additional-100-medium_1vz75_60\",\n \"purpur-paragraph--additional-100-bold\": \"_purpur-paragraph--additional-100-bold_1vz75_67\",\n \"purpur-paragraph--overline-100\": \"_purpur-paragraph--overline-100_1vz75_74\",\n \"purpur-paragraph--overline-200\": \"_purpur-paragraph--overline-200_1vz75_82\"\n}, f = v.bind(c), m = {\n PARAGRAPH100: \"paragraph-100\",\n PARAGRAPH100MEDIUM: \"paragraph-100-medium\",\n PARAGRAPH100BOLD: \"paragraph-100-bold\",\n PARAGRAPH200: \"paragraph-200\",\n PREAMBLE100: \"preamble-100\",\n PREAMBLE200: \"preamble-200\",\n ADDITIONAL100: \"additional-100\",\n ADDITIONAL100MEDIUM: \"additional-100-medium\",\n ADDITIONAL100BOLD: \"additional-100-bold\",\n OVERLINE100: \"overline-100\",\n OVERLINE200: \"overline-200\"\n}, t = \"purpur-paragraph\", A = ({\n children: p,\n className: n,\n disabled: u,\n enableHyphenation: o = !1,\n negative: i = !1,\n variant: r = m.PARAGRAPH100,\n ...a\n}) => {\n const e = f(n, t, `${t}--${r}`, {\n [`${t}--hyphens`]: o,\n [`${t}--disabled`]: u,\n [`${t}--negative`]: i\n });\n return /* @__PURE__ */ l(\"p\", { ...a, className: e, children: p });\n};\nA.displayName = \"Paragraph\";\nexport {\n A as Paragraph,\n m as ParagraphVariant\n};\n//# sourceMappingURL=paragraph.es.js.map\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-previous/src/use-previous.tsx\nimport * as React from \"react\";\nfunction usePrevious(value) {\n const ref = React.useRef({ value, previous: value });\n return React.useMemo(() => {\n if (ref.current.value !== value) {\n ref.current.previous = ref.current.value;\n ref.current.value = value;\n }\n return ref.current.previous;\n }, [value]);\n}\nexport {\n usePrevious\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/switch/src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked = false, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked,\n onChange: onCheckedChange\n });\n return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"checked\");\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...inputProps,\n tabIndex: -1,\n ref,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n};\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n Root,\n Switch,\n SwitchThumb,\n Thumb,\n createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue.call(this, arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn this && this[arg] || arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(this, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, this && this[key] || key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import {\n cloneElement,\n type CSSProperties,\n isValidElement,\n type ReactElement,\n useCallback,\n useEffect,\n useState,\n} from \"react\";\nimport { type SwitchThumbProps } from \"@radix-ui/react-switch\";\n\nexport type DraggableXProps = {\n children?: ReactElement<SwitchThumbProps>;\n disabled?: boolean;\n position: number;\n bounds: { left: number; right: number };\n onStart?: () => void;\n onDrag?: (args: { x: number }) => void;\n onStop?: () => void;\n style?: CSSProperties;\n};\n\nconst isTouchEvent = (e: MouseEvent | TouchEvent): e is TouchEvent => e && \"touches\" in e;\n\n/**\n * Bare minimum to make the toggle draggable.\n * It is created for usage in the toggle only but could easily be extracted and used elsewhere.\n *\n * It is called `DraggableX` since it's only for dragging along the x-axis.\n */\nexport const DraggableX = ({\n children,\n disabled,\n onStart,\n onDrag,\n onStop,\n bounds,\n position,\n style,\n}: DraggableXProps) => {\n const [dragX, setDragX] = useState<number | undefined>(undefined);\n const [dragStartX, setDragStartX] = useState<number | undefined>(undefined);\n const [isDragging, setIsDragging] = useState(false);\n\n const startDrag = (e: React.MouseEvent | React.TouchEvent) => {\n if (!disabled) {\n e.preventDefault();\n const clientX = isTouchEvent(e.nativeEvent)\n ? e.nativeEvent.touches[0].clientX\n : e.nativeEvent.clientX;\n setDragStartX(clientX);\n onStart?.();\n }\n };\n\n const onMouseMove = useCallback(\n (e: MouseEvent | TouchEvent) => {\n if (typeof dragStartX !== \"number\") {\n return;\n }\n\n const clientX = isTouchEvent(e) ? e.touches[0].clientX : e.clientX;\n const dragDelta = clientX - dragStartX;\n\n if (!dragDelta) {\n return;\n }\n\n const nextDragX = position + dragDelta;\n if (!isDragging && Math.abs(nextDragX)) {\n setIsDragging(true);\n }\n\n const nextDragXBounded = (() => {\n if (nextDragX > bounds.right) {\n return bounds.right;\n }\n\n if (nextDragX < bounds.left) {\n return bounds.left;\n }\n\n return nextDragX;\n })();\n\n setDragX(nextDragXBounded);\n onDrag?.({ x: nextDragXBounded });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onDrag, setDragX, isDragging, dragStartX]\n );\n\n const onMouseUp = useCallback(() => {\n setDragStartX(undefined);\n setDragX(undefined);\n setIsDragging(false);\n onStop?.();\n }, [onStop, setDragStartX]);\n\n useEffect(() => {\n window.addEventListener(\"mousemove\", onMouseMove);\n window.addEventListener(\"touchmove\", onMouseMove);\n\n return () => {\n window.removeEventListener(\"mousemove\", onMouseMove);\n window.removeEventListener(\"touchmove\", onMouseMove);\n };\n }, [onMouseMove]);\n\n useEffect(() => {\n window.addEventListener(\"mouseup\", onMouseUp);\n window.addEventListener(\"touchend\", onMouseUp);\n\n return () => {\n window.removeEventListener(\"mouseup\", onMouseUp);\n window.removeEventListener(\"touchend\", onMouseUp);\n };\n }, [onMouseUp]);\n\n return isValidElement(children)\n ? cloneElement<SwitchThumbProps>(children, {\n onMouseDown: startDrag,\n onTouchStart: startDrag,\n style: { ...style, transform: `translateX(${isDragging ? dragX : position}px)` },\n })\n : null;\n};\n","import type { RefObject } from \"react\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\n// This hook is a clone of useResizeObserver in b2c-sales/hooks\n\ntype Size = {\n width: number | undefined;\n height: number | undefined;\n};\n\ntype UseResizeObserverOptions<T extends HTMLElement = HTMLElement> = {\n ref: RefObject<T | null>;\n onResize?: (size: Size) => void;\n box?: \"border-box\" | \"content-box\" | \"device-pixel-content-box\";\n round?: boolean;\n};\n\nconst initialSize: Size = {\n width: undefined,\n height: undefined,\n};\n\nexport function useResizeObserver<T extends HTMLElement = HTMLElement>(\n options: UseResizeObserverOptions<T>\n): Size {\n const { ref, box = \"content-box\", round } = options;\n const [{ width, height }, setSize] = useState<Size>(initialSize);\n const isMounted = useIsMounted();\n const previousSize = useRef<Size>({ ...initialSize });\n const onResize = useRef<((size: Size) => void) | undefined>(undefined);\n onResize.current = options.onResize;\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n if (typeof window === \"undefined\" || !(\"ResizeObserver\" in window)) {\n return;\n }\n\n const observer = new ResizeObserver(([entry]) => {\n const boxProp =\n\n box === \"border-box\"\n ? \"borderBoxSize\"\n : box === \"device-pixel-content-box\"\n ? \"devicePixelContentBoxSize\"\n : \"contentBoxSize\";\n\n const newWidth = extractSize(entry, boxProp, \"inlineSize\");\n const newHeight = extractSize(entry, boxProp, \"blockSize\");\n\n const hasChanged =\n previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n\n if (hasChanged) {\n const newSize: Size = {\n width: newWidth && round ? Math.round(newWidth) : newWidth,\n height: newHeight && round ? Math.round(newHeight) : newHeight,\n };\n previousSize.current.width = newWidth;\n previousSize.current.height = newHeight;\n\n if (onResize.current) {\n onResize.current(newSize);\n } else {\n if (isMounted()) {\n setSize(newSize);\n }\n }\n }\n });\n\n observer.observe(ref.current, { box });\n\n return () => {\n observer.disconnect();\n };\n }, [box, ref, isMounted, round]);\n\n return { width, height };\n}\n\ntype BoxSizesKey = keyof Pick<\n ResizeObserverEntry,\n \"borderBoxSize\" | \"contentBoxSize\" | \"devicePixelContentBoxSize\"\n>;\n\nfunction extractSize(\n entry: ResizeObserverEntry,\n box: BoxSizesKey,\n sizeType: keyof ResizeObserverSize\n): number | undefined {\n if (!entry[box]) {\n if (box === \"contentBoxSize\") {\n return entry.contentRect[sizeType === \"inlineSize\" ? \"width\" : \"height\"];\n }\n return undefined;\n }\n\n return Array.isArray(entry[box])\n ? entry[box][0][sizeType]\n : // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore Support Firefox's non-standard behavior\n (entry[box][sizeType] as number);\n}\n\nfunction useIsMounted() {\n const isMounted = useRef(false);\n\n useEffect(() => {\n isMounted.current = true;\n\n return () => {\n isMounted.current = false;\n };\n }, []);\n\n return useCallback(() => isMounted.current, []);\n}\n","import { type RefObject, useRef, useState } from \"react\";\n\nimport { useResizeObserver } from \"./useResizeObserver\";\n\ntype UseToggleDragProps = {\n checked: boolean;\n onChange: ((checked: boolean) => void) | undefined;\n};\n\nexport const useToggleDrag = ({ checked, onChange }: UseToggleDragProps) => {\n const trackRef: RefObject<HTMLDivElement | null> = useRef(null);\n const thumbRef = useRef<HTMLSpanElement>(null);\n const [dragX, setDragX] = useState<number | undefined>(undefined);\n const [isDragging, setIsDragging] = useState(false);\n const [dragStopped, setDragStopped] = useState(0);\n\n const { height: thumbHeight = 0 } = useResizeObserver({ ref: thumbRef, round: true });\n const { height: switchHeight = 0 } = useResizeObserver({ ref: trackRef, round: true });\n\n const switchThumbHeightDelta = (switchHeight || 0) - thumbHeight;\n const maxDragRange = thumbHeight + switchThumbHeightDelta;\n const minDragRange = switchThumbHeightDelta / 2;\n const halfMaxDragRange = maxDragRange / 2;\n const isDraggedHalfway =\n typeof dragX === \"number\" && (checked ? dragX < halfMaxDragRange : dragX > halfMaxDragRange);\n\n const onDrag = ({ x }: { x: number }) => {\n setDragX(x);\n const dragDelta = Math.abs((checked ? maxDragRange : minDragRange) - x);\n\n // Add a threshold here for then accidentally dragging when clicking/touching\n dragDelta > 2 && setIsDragging(true);\n };\n\n const onStop = () => {\n setIsDragging(false);\n isDragging && setDragStopped(Date.now());\n if (isDraggedHalfway) {\n onChange?.(!checked);\n }\n };\n\n const onChangeWithDrag = () => {\n if (Date.now() - dragStopped > 50) {\n onChange?.(!checked);\n }\n setDragX(undefined);\n };\n\n return {\n trackRef,\n thumbRef,\n isDragging,\n bounds: { left: minDragRange, right: maxDragRange },\n position: checked ? maxDragRange : minDragRange,\n onDrag,\n onStop,\n onChangeWithDrag,\n };\n};\n","import React, { forwardRef, useState } from \"react\";\nimport type { BaseProps } from \"@purpurds/common-types\";\nimport { Icon } from \"@purpurds/icon\";\nimport { checkmarkBold } from \"@purpurds/icon/assets/checkmark-bold\";\nimport { Label } from \"@purpurds/label\";\nimport { Paragraph } from \"@purpurds/paragraph\";\nimport * as Switch from \"@radix-ui/react-switch\";\nimport c from \"classnames/bind\";\n\nimport { DraggableX } from \"./DraggableX\";\nimport { useToggleDrag } from \"./hooks/useToggleDrag\";\nimport styles from \"./toggle.module.scss\";\n\nexport type ToggleProps = Omit<BaseProps<\"button\">, \"onChange\" | \"children\" | \"id\"> & {\n /**\n * To use when no label is given.\n * */\n [\"aria-label\"]?: string;\n /**\n * To use with custom label (not recommended).\n * */\n [\"aria-labelledby\"]?: string;\n /**\n * The controlled state of the toggle. Must be used in conjunction with `onChange`.\n * */\n checked?: boolean;\n /**\n * The state of the toggle when it is initially rendered. Use when you do not need to control its state.\n * */\n defaultChecked?: boolean;\n /**\n * When `true`, prevents the user from interacting with the toggle.\n * */\n disabled?: boolean;\n /**\n * When `true`, the toggle isn't draggable.\n * */\n disableDrag?: boolean;\n /**\n * ID of the toggle.\n * */\n id: string;\n /**\n * The label of the toggle.\n * */\n label?: string;\n /**\n * Set to decide which side of the toggle the label should be rendered.\n * */\n labelPosition?: \"left\" | \"right\";\n /**\n * The name of the toggle. Submitted with its owning form as part of a name/value pair, when wrapped in a form.\n * */\n name?: string;\n /**\n * Event handler called when the toggle is toggled.\n * */\n onChange?: (checked: boolean) => void;\n /**\n * When `true`, indicates that the user must check the toggle before the owning form can be submitted..\n * */\n required?: boolean;\n /**\n * The value given as data when wrapped with a form and submitted with a name.\n * */\n value?: string;\n};\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-toggle\";\n\nexport const Toggle = forwardRef<HTMLButtonElement, ToggleProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n className,\n label,\n onChange,\n labelPosition = \"right\",\n checked,\n disableDrag,\n defaultChecked,\n ...props\n },\n ref\n ) => {\n const [internalChecked, setInternalChecked] = useState(\n typeof checked === \"boolean\" ? checked : !!defaultChecked\n );\n const isChecked = Boolean(typeof checked === \"boolean\" ? checked : internalChecked);\n const { thumbRef, trackRef, isDragging, onChangeWithDrag, ...draggableXProps } = useToggleDrag({\n checked: isChecked,\n onChange: (value) => {\n if (!props.disabled) {\n onChange?.(value);\n setInternalChecked(value);\n }\n },\n });\n\n const renderLabel = () => (\n <Label\n htmlFor={props.id}\n data-testid={dataTestId && `${dataTestId}-label`}\n disabled={props.disabled}\n className={cx(`${rootClassName}__label`, `${rootClassName}__label--${labelPosition}`)}\n >\n <Paragraph disabled={props.disabled}>{label}</Paragraph>\n </Label>\n );\n\n return (\n <div className={cx(className, `${rootClassName}__container`)}>\n {label && labelPosition === \"left\" && renderLabel()}\n <Switch.Root\n {...props}\n ref={ref}\n id={props.id}\n data-testid={dataTestId}\n className={cx(rootClassName)}\n onCheckedChange={onChangeWithDrag}\n checked={isChecked}\n >\n <span ref={trackRef} className={cx(`${rootClassName}__track`)}>\n <span className={cx(`${rootClassName}__checkmark-container`)}>\n <Icon className={cx(`${rootClassName}__checkmark`)} svg={checkmarkBold} size=\"xxs\" />\n </span>\n <DraggableX disabled={disableDrag} {...draggableXProps}>\n <Switch.Thumb\n ref={thumbRef}\n data-testid={dataTestId && `${dataTestId}-thumb`}\n className={cx(`${rootClassName}__thumb`, {\n [`${rootClassName}__thumb--dragging`]: isDragging,\n })}\n />\n </DraggableX>\n </span>\n </Switch.Root>\n {label && labelPosition === \"right\" && renderLabel()}\n </div>\n );\n }\n);\n\nToggle.displayName = \"Toggle\";\n"],"names":["f","r","c","p","m","e","s","n","o","i","u","_","v","d","x","l","g","h","y","S","b","a","t","w","C","E","R","N","P","O","j","D","A","V","$","I","B","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","value","composeRefs","refs","node","hasCleanup","cleanups","cleanup","useComposedRefs","React","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","index","Provider","props","scope","children","context","Context","jsx","useContext2","consumerName","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","useCallbackRef","callback","callbackRef","args","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","usePrevious","useLayoutEffect2","useSize","element","size","setSize","useLayoutEffect","resizeObserver","entries","entry","width","height","borderSizeEntry","borderSize","createSlot","ownerName","SlotClone","createSlotClone","Slot2","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","getter","mayWarn","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","SWITCH_NAME","createSwitchContext","SwitchProvider","useSwitchContext","Switch","__scopeSwitch","name","checkedProp","defaultChecked","required","disabled","onCheckedChange","form","switchProps","button","setButton","composedRefs","hasConsumerStoppedPropagationRef","isFormControl","checked","setChecked","jsxs","getState","prevChecked","BubbleInput","THUMB_NAME","SwitchThumb","thumbProps","control","bubbles","inputProps","controlSize","input","inputProto","Root","Thumb","hasOwn","classNames","classes","arg","appendClass","parseValue","key","newClass","module","isTouchEvent","DraggableX","onStart","onDrag","onStop","bounds","position","style","dragX","setDragX","useState","dragStartX","setDragStartX","isDragging","setIsDragging","startDrag","clientX","onMouseMove","useCallback","dragDelta","nextDragX","nextDragXBounded","onMouseUp","useEffect","isValidElement","cloneElement","initialSize","useResizeObserver","options","box","round","isMounted","useIsMounted","previousSize","useRef","onResize","observer","boxProp","newWidth","extractSize","newHeight","newSize","sizeType","useToggleDrag","trackRef","thumbRef","dragStopped","setDragStopped","thumbHeight","switchHeight","switchThumbHeightDelta","maxDragRange","minDragRange","halfMaxDragRange","isDraggedHalfway","cx","styles","rootClassName","Toggle","forwardRef","dataTestId","className","label","labelPosition","disableDrag","internalChecked","setInternalChecked","isChecked","onChangeWithDrag","draggableXProps","renderLabel","Label","Paragraph","Switch.Root","Icon","checkmarkBold","Switch.Thumb"],"mappings":"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","x_google_ignoreList":[4,5,6,7,8,9,10,11,12,13,14,15]}