@compa11y/react 0.1.8 → 0.1.9
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/index.cjs +1 -1
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var chunkPO5IUVYY_cjs=require('./chunk-PO5IUVYY.cjs'),chunkASK7XTJD_cjs=require('./chunk-ASK7XTJD.cjs'),chunkBFN4HW4Y_cjs=require('./chunk-BFN4HW4Y.cjs'),chunkROFBF3PJ_cjs=require('./chunk-ROFBF3PJ.cjs'),chunkFOVHQAY5_cjs=require('./chunk-FOVHQAY5.cjs'),chunkJS3UD7KS_cjs=require('./chunk-JS3UD7KS.cjs'),chunkAJ7JSWUT_cjs=require('./chunk-AJ7JSWUT.cjs'),chunkMAR6RBHF_cjs=require('./chunk-MAR6RBHF.cjs'),tr=require('react'),core=require('@compa11y/core'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var tr__default=/*#__PURE__*/_interopDefault(tr);function oe(){let[p,t]=tr.useState(false);tr.useEffect(()=>core.initFocusVisible(),[]);let i=tr.useCallback(()=>{t(core.isFocusVisible());},[]),r=tr.useCallback(()=>{t(false);},[]);return {isFocusVisible:p,focusProps:{onFocus:i,onBlur:r}}}function Dt(p={}){let{autoFocus:t=false,restoreFocus:i=false,focusVisible:r=true}=p,e=tr.useCallback(n=>{n&&t&&requestAnimationFrame(()=>{r?core.focusWithVisibleRing(n):n.focus();});},[t,r]);return tr.useEffect(()=>{if(!i)return;let n=document.activeElement;return ()=>{n&&n.focus&&n.focus();}},[i]),e}function Bt(){let p=tr.useCallback(i=>{},[]),t=tr.useCallback(i=>{let r=p;r.current&&(i?.visible?core.focusWithVisibleRing(r.current):r.current.focus());},[]);return {ref:p,focus:t}}function zt(){let[p,t]=tr.useState(false),i=tr.useCallback(n=>{},[]),r=tr.useCallback(()=>{t(true);},[]),e=tr.useCallback(n=>{let s=n.currentTarget,c=n.relatedTarget;(!c||!s.contains(c))&&t(false);},[]);return {ref:i,hasFocus:p,focusWithinProps:{onFocus:r,onBlur:e}}}function ot(p){let{itemCount:t,initialIndex:i=0,wrap:r=true,orientation:e="both",onChange:n}=p,[s,c]=tr.useState(i),o=tr.useRef([]);tr.useEffect(()=>{s>=t&&c(Math.max(0,t-1));},[t,s]);let a=tr.useCallback(f=>{let u=f;u<0?u=r?t-1:0:u>=t&&(u=r?0:t-1),c(u),n?.(u),o.current[u]?.focus();},[t,r,n]),b=tr.useCallback((f,u)=>{let x=false;switch(f.key){case "ArrowRight":(e==="horizontal"||e==="both")&&(a(u+1),x=true);break;case "ArrowLeft":(e==="horizontal"||e==="both")&&(a(u-1),x=true);break;case "ArrowDown":(e==="vertical"||e==="both")&&(a(u+1),x=true);break;case "ArrowUp":(e==="vertical"||e==="both")&&(a(u-1),x=true);break;case "Home":a(0),x=true;break;case "End":a(t-1),x=true;break}x&&(f.preventDefault(),f.stopPropagation());},[e,a,t]),l=tr.useCallback(f=>({ref:u=>{o.current[f]=u;},tabIndex:f===s?0:-1,onKeyDown:u=>b(u,f),onFocus:()=>{f!==s&&(c(f),n?.(f));}}),[s,b,n]);return {activeIndex:s,setActiveIndex:a,getItemProps:l,first:()=>a(0),last:()=>a(t-1),next:()=>a(s+1),previous:()=>a(s-1)}}function Gt(p,t={}){let i=ot({...t,itemCount:p.length}),r=tr.useCallback(n=>{let s=p.indexOf(n);if(s===-1)throw new Error(`Unknown item ID: ${n}`);return i.getItemProps(s)},[p,i]),e=p[i.activeIndex];return {...i,activeId:e,getItemProps:r,setActiveId:n=>{let s=p.indexOf(n);s!==-1&&i.setActiveIndex(s);}}}function $t(p){let t=tr.useRef(null),i=tr.useRef(p);i.current=p;let r=tr.useCallback(()=>t.current?core.findFocusNeighbor(t.current,i.current):null,[]),e=tr.useCallback(()=>{r()?.focus();},[r]);return {ref:t,getNeighbor:r,focusNeighbor:e}}function Kt(){let p=tr.useRef(core.createFocusReturn()),t=tr.useCallback(e=>{p.current.save(e);},[]),i=tr.useCallback(e=>{p.current.return(e);},[]),r=tr.useCallback(()=>{p.current.clear();},[]);return {save:t,returnFocus:i,clear:r}}var vn=core.createComponentWarnings("Select"),qt=tr.createContext(null);function st(){let p=tr.useContext(qt);if(!p)throw new Error("Select compound components must be used within a Select component");return p}function jt(p,t,i){let r=p.length,e=t+i;e<0&&(e=r-1),e>=r&&(e=0);let n=e;for(;p[e]?.disabled;)if(e+=i,e<0&&(e=r-1),e>=r&&(e=0),e===n)return -1;return e}function Wt(p){return p.findIndex(t=>!t.disabled)}function Ut(p){for(let t=p.length-1;t>=0;t--)if(!p[t]?.disabled)return t;return -1}function lt({options:p,value:t,defaultValue:i,onValueChange:r,disabled:e=false,placeholder:n="Select an option...","aria-label":s,"aria-labelledby":c,children:o}){let[a,b]=tr.useState(i??null),[l,f]=tr.useState(false),[u,x]=tr.useState(-1),d=tr.useRef(null),T=t!==void 0?t:a,R=chunkMAR6RBHF_cjs.a("select-trigger"),S=chunkMAR6RBHF_cjs.a("select-listbox"),I=chunkMAR6RBHF_cjs.a("select-option"),m=tr.useCallback(P=>{t===void 0&&b(P),r?.(P);},[t,r]),y=tr.useCallback(P=>`${I}-${P}`,[I]),H=tr.useCallback(P=>{m(P.value),f(false),x(-1),d.current?.focus();},[m]);tr.useEffect(()=>{!s&&!c&&vn.warning("Select has no accessible label.","Add aria-label or aria-labelledby prop.");},[s,c]);let C={selectedValue:T,setSelectedValue:m,isOpen:l,setIsOpen:f,highlightedIndex:u,setHighlightedIndex:x,options:p,triggerId:R,listboxId:S,getOptionId:y,onSelect:H,triggerRef:d,placeholder:n,disabled:e};return jsxRuntime.jsx(qt.Provider,{value:C,children:jsxRuntime.jsx("div",{"data-compa11y-select":true,"data-disabled":e||void 0,children:o})})}var ct=tr.forwardRef(function({onKeyDown:t,onClick:i,onBlur:r,...e},n){let{selectedValue:s,isOpen:c,setIsOpen:o,highlightedIndex:a,setHighlightedIndex:b,options:l,triggerId:f,listboxId:u,getOptionId:x,onSelect:d,triggerRef:T,placeholder:R,disabled:S}=st(),{announce:I}=chunkJS3UD7KS_cjs.a(),m=chunkAJ7JSWUT_cjs.e(l.map(h=>h.label),h=>{let k=l.findIndex(F=>F.label===h&&!F.disabled);k>=0&&(c||o(true),b(k));},{disabled:S}),y=tr.useCallback((h=false)=>{o(true);let k=l.findIndex(F=>F.value===s);k>=0?b(k):b(h?Ut(l):Wt(l));},[l,s,o,b]),H=chunkAJ7JSWUT_cjs.a({ArrowDown:()=>{if(!c)y();else {let h=jt(l,a,1);h>=0&&b(h);}},ArrowUp:()=>{if(!c)y(true);else {let h=jt(l,a,-1);h>=0&&b(h);}},Enter:()=>{if(c&&a>=0){let h=l[a];h&&!h.disabled&&(d(h),I(`${h.label} selected`));}else c||y();},Space:()=>{if(c&&a>=0){let h=l[a];h&&!h.disabled&&(d(h),I(`${h.label} selected`));}else c||y();},Escape:()=>{c&&(o(false),b(-1));},Home:()=>{c&&b(Wt(l));},End:()=>{c&&b(Ut(l));},Tab:()=>(c&&(o(false),b(-1)),false)},{preventDefault:true,stopPropagation:false}),C=h=>{t?.(h),h.defaultPrevented||H.onKeyDown(h),h.defaultPrevented||m.onKeyDown(h);},P=h=>{i?.(h),!h.defaultPrevented&&!S&&(c?(o(false),b(-1)):y());},A=h=>{r?.(h),setTimeout(()=>{o(false),b(-1);},150);},V=c&&a>=0?x(a):void 0,O=l.find(h=>h.value===s),$=O?.label??R,g=tr.useCallback(h=>{T.current=h,typeof n=="function"?n(h):n&&(n.current=h);},[n,T]);return jsxRuntime.jsxs("button",{ref:g,id:f,type:"button",role:"combobox","aria-expanded":c,"aria-controls":u,"aria-haspopup":"listbox","aria-activedescendant":V,disabled:S,onKeyDown:C,onClick:P,onBlur:A,"data-compa11y-select-trigger":true,"data-placeholder":!O||void 0,...e,children:[jsxRuntime.jsx("span",{"data-compa11y-select-value":true,children:$}),jsxRuntime.jsx("span",{"aria-hidden":"true","data-compa11y-select-chevron":true,children:"\u25BC"})]})}),ut=tr.forwardRef(function({children:t,style:i,...r},e){let{isOpen:n,options:s,listboxId:c,triggerId:o}=st(),{announce:a}=chunkJS3UD7KS_cjs.a(),b=tr.useRef(null),[l,f]=tr.useState("bottom");tr.useEffect(()=>{n&&a(`${s.length} option${s.length===1?"":"s"} available`);},[n,s.length,a]),tr.useLayoutEffect(()=>{if(n&&b.current){let R=b.current.getBoundingClientRect(),I=window.innerHeight-R.top,m=R.top,y=Math.min(R.height,200);I<y+50&&m>I?f("top"):f("bottom");}},[n]);let u=T=>{T.preventDefault();},x=tr.useCallback(T=>{b.current=T,typeof e=="function"?e(T):e&&(e.current=T);},[e]);return n?jsxRuntime.jsx("ul",{ref:x,id:c,role:"listbox","aria-labelledby":o,style:{...i,...l==="top"?{bottom:"100%",top:"auto",marginBottom:"4px",marginTop:0}:{}},onMouseDown:u,"data-compa11y-select-listbox":true,"data-position":l,...r,children:t??s.map((T,R)=>jsxRuntime.jsx(we,{option:T,index:R},T.value))}):null}),we=tr.forwardRef(function({option:t,index:i,onClick:r,onMouseEnter:e,...n},s){let{selectedValue:c,highlightedIndex:o,setHighlightedIndex:a,getOptionId:b,onSelect:l}=st(),{announce:f}=chunkJS3UD7KS_cjs.a(),u=tr.useRef(null),x=c===t.value,d=o===i,T=b(i);tr.useEffect(()=>{d&&u.current&&u.current.scrollIntoView({block:"nearest",behavior:"smooth"});},[d]);let R=m=>{r?.(m),!m.defaultPrevented&&!t.disabled&&(l(t),f(`${t.label} selected`));},S=m=>{e?.(m),t.disabled||a(i);},I=tr.useCallback(m=>{u.current=m,typeof s=="function"?s(m):s&&(s.current=m);},[s]);return jsxRuntime.jsxs("li",{ref:I,id:T,role:"option","aria-selected":x,"aria-disabled":t.disabled,"data-highlighted":d,"data-selected":x,"data-disabled":t.disabled,onClick:R,onMouseEnter:S,"data-compa11y-select-option":true,...n,children:[jsxRuntime.jsx("span",{"data-compa11y-select-option-text":true,children:t.label}),x&&jsxRuntime.jsx("span",{"aria-hidden":"true","data-compa11y-select-check":true,children:"\u2713"})]})}),_t=Object.assign(lt,{Trigger:ct,Listbox:ut,Option:we});var Zt=core.createComponentWarnings("Checkbox"),In=()=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:{display:"block"},children:jsxRuntime.jsx("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),En=()=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:{display:"block"},children:jsxRuntime.jsx("path",{d:"M3 6H9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})}),Jt=tr.createContext(null);function bt(){return tr.useContext(Jt)}var Fe=tr.forwardRef(function({value:t,defaultValue:i=[],onValueChange:r,disabled:e=false,legend:n,error:s,orientation:c="vertical",name:o,unstyled:a=false,className:b="",children:l,"aria-label":f,"aria-labelledby":u},x){let d=chunkMAR6RBHF_cjs.a("checkbox-group"),T=o||d,R=chunkMAR6RBHF_cjs.a("checkbox-group-error"),[S,I]=tr.useState(i),m=t!==void 0,y=m?t:S;tr.useEffect(()=>{!n&&!f&&!u&&Zt.warning("CheckboxGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[n,f,u]);let H=tr.useCallback((g,h)=>{let k=m?t:S,F=h?[...k,g]:k.filter(K=>K!==g);m||I(F),r?.(F);},[m,t,S,r]),C={name:T,value:y,disabled:e,unstyled:a,onCheckboxChange:H},P=!!s,A={border:"none",margin:0,padding:0,minWidth:0},V=a?{padding:0,marginBottom:"0.5rem"}:{padding:0,marginBottom:"0.5rem",fontWeight:600},O={display:"flex",flexDirection:c==="horizontal"?"row":"column",flexWrap:c==="horizontal"?"wrap":void 0,gap:"var(--compa11y-checkbox-group-gap, 0.75rem)"},$=a?{marginTop:"0.25rem"}:{color:"var(--compa11y-checkbox-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"};return jsxRuntime.jsx(Jt.Provider,{value:C,children:jsxRuntime.jsxs("fieldset",{ref:x,className:b,"aria-label":f,"aria-labelledby":u,"aria-describedby":P?R:void 0,disabled:e,"data-compa11y-checkbox-group":"","data-orientation":c,"data-disabled":e?"true":void 0,style:A,children:[n&&jsxRuntime.jsx("legend",{"data-compa11y-checkbox-group-legend":"",style:V,children:n}),jsxRuntime.jsx("div",{style:O,children:l}),P&&jsxRuntime.jsx("div",{id:R,role:"alert","data-compa11y-checkbox-group-error":"",style:$,children:s})]})})});Fe.displayName="CheckboxGroup";var Ae=tr.forwardRef(function({checked:t,defaultChecked:i=false,onCheckedChange:r,indeterminate:e=false,label:n,hint:s,error:c,disabled:o=false,value:a,required:b=false,unstyled:l,className:f="",size:u="md",name:x,"aria-label":d,"aria-labelledby":T,"aria-describedby":R,onClick:S,onFocus:I,onBlur:m,...y},H){let C=bt(),P=chunkMAR6RBHF_cjs.a("checkbox"),A=`${P}-input`,V=`${P}-label`,O=`${P}-hint`,$=`${P}-error`,{announce:g}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:h,focusProps:k}=oe(),F=C!==null,K=F&&C.disabled||o,D=l??(F?C.unstyled:false),B=F?C.name:x,[q,w]=tr.useState(i),U=F?C.value.includes(a||""):t!==void 0?t:q,j=tr.useRef(null),W=tr.useCallback(ue=>{j.current=ue,typeof H=="function"?H(ue):H&&(H.current=ue);},[H]);tr.useEffect(()=>{j.current&&(j.current.indeterminate=e);},[e]),tr.useEffect(()=>{!n&&!d&&!T&&Zt.warning("Checkbox has no accessible label. Screen readers need this to identify the checkbox.",'Add label="...", aria-label="...", or aria-labelledby="..."');},[n,d,T]);let z=tr.useCallback(ue=>{let ke=ue.target.checked;F?C.onCheckboxChange(a||"",ke):(t===void 0&&w(ke),r?.(ke)),g(`${typeof n=="string"?n:d||"Checkbox"} ${ke?"checked":"unchecked"}`);},[F,C,a,t,r,n,d,g]),Z=tr.useCallback(ue=>{k.onFocus(),I?.(ue);},[k,I]),ne=tr.useCallback(ue=>{k.onBlur(),m?.(ue);},[k,m]),J=!!n,Q=!!s,re=!!c,Y=[];R&&Y.push(R),Q&&Y.push(O),re&&Y.push($);let be=Y.length?Y.join(" "):void 0,E={sm:{box:16},md:{box:20},lg:{box:24}}[u],L={display:"inline-flex",alignItems:"flex-start",gap:"0.5rem",cursor:K?"not-allowed":"pointer",userSelect:"none",...K&&!D?{opacity:.5}:{}},M={position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},N={position:"absolute",opacity:0,width:"100%",height:"100%",margin:0,cursor:"inherit",zIndex:1},_=D?{}:{width:E.box,height:E.box,minWidth:24,minHeight:24,border:U||e?"var(--compa11y-checkbox-checked-border, 2px solid #0066cc)":"var(--compa11y-checkbox-border, 2px solid #666)",borderRadius:"var(--compa11y-checkbox-radius, 3px)",background:U||e?"var(--compa11y-checkbox-checked-bg, #0066cc)":"var(--compa11y-checkbox-bg, white)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.15s ease",pointerEvents:"none",color:"var(--compa11y-checkbox-check-color, white)",...h?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}},ge={display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},Lo=D?{cursor:"inherit"}:{cursor:"inherit",color:"var(--compa11y-checkbox-label-color, inherit)"},Ho=D?{}:{color:"var(--compa11y-checkbox-hint-color, #666)",fontSize:"0.8125rem"},ko=D?{}:{color:"var(--compa11y-checkbox-error-color, #ef4444)",fontSize:"0.8125rem"};return jsxRuntime.jsxs("div",{className:f,"data-compa11y-checkbox":"","data-checked":U?"true":"false","data-indeterminate":e?"true":void 0,"data-disabled":K?"true":void 0,"data-size":u,style:L,children:[jsxRuntime.jsxs("div",{style:M,children:[jsxRuntime.jsx("input",{ref:W,type:"checkbox",id:A,name:B,value:a,checked:U,onChange:z,onClick:S,onFocus:Z,onBlur:ne,disabled:K,required:b,"aria-required":b||void 0,"aria-invalid":re||void 0,"aria-label":!J&&!T?d:void 0,"aria-labelledby":T||(J?V:void 0),"aria-describedby":be,"aria-checked":e?"mixed":U,tabIndex:K?-1:0,style:N,...y}),!D&&jsxRuntime.jsxs("div",{"data-compa11y-checkbox-indicator":"","aria-hidden":"true",style:_,children:[U&&!e&&jsxRuntime.jsx(In,{}),e&&jsxRuntime.jsx(En,{})]})]}),(J||Q||re)&&jsxRuntime.jsxs("div",{style:ge,children:[J&&jsxRuntime.jsxs("label",{htmlFor:A,id:V,"data-compa11y-checkbox-label":"",style:Lo,children:[n,b&&jsxRuntime.jsx("span",{"aria-hidden":"true",style:{color:"var(--compa11y-checkbox-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),Q&&jsxRuntime.jsx("div",{id:O,"data-compa11y-checkbox-hint":"",style:Ho,children:s}),re&&jsxRuntime.jsx("div",{id:$,role:"alert","data-compa11y-checkbox-error":"",style:ko,children:c})]})]})});Ae.displayName="Checkbox";var Oe=tr.forwardRef(function({children:t,className:i},r){return jsxRuntime.jsx("div",{ref:r,className:i,"data-compa11y-checkbox-indicator":"","aria-hidden":"true",children:t})});Oe.displayName="CheckboxIndicator";var Qt=Object.assign(Ae,{Group:Fe,Indicator:Oe});var Mn=core.createComponentWarnings("RadioGroup"),xt=tr.createContext(null);function yt(){let p=tr.useContext(xt);if(!p)throw new Error("[Compa11y RadioGroup]: Radio must be used within a RadioGroup.");return p}var Ve=tr.forwardRef(function({value:t,defaultValue:i,onValueChange:r,disabled:e=false,discoverable:n=true,required:s=false,orientation:c="vertical",name:o,legend:a,hint:b,error:l,unstyled:f=false,className:u="",children:x,"aria-label":d,"aria-labelledby":T},R){let S=chunkMAR6RBHF_cjs.a("radiogroup"),I=o||S,m=chunkMAR6RBHF_cjs.a("radiogroup-hint"),y=chunkMAR6RBHF_cjs.a("radiogroup-error"),[H,C]=tr.useState(i??null),P=t!==void 0,A=P?t:H,V=tr.useRef(new Map);tr.useEffect(()=>{!a&&!d&&!T&&Mn.warning("RadioGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[a,d,T]);let O=tr.useCallback(W=>{e||(P||C(W),r?.(W));},[e,P,r]),$=tr.useCallback((W,z)=>{V.current.set(W,z);},[]),g=tr.useCallback(W=>{V.current.delete(W);},[]),h=tr.useCallback((W,z)=>{V.current.set(W,z);},[]),k=tr.useCallback(()=>{let W=[];return V.current.forEach((z,Z)=>{!z&&!e&&W.push(Z);}),W},[e]),F=tr.useRef(null),K=R||F,D=tr.useCallback(W=>{let z=k();if(z.length===0)return;let Z=A?z.indexOf(A):-1,ne;switch(W){case "next":ne=Z<0?0:(Z+1)%z.length;break;case "prev":ne=Z<0?z.length-1:(Z-1+z.length)%z.length;break;case "first":ne=0;break;case "last":ne=z.length-1;break}let J=z[ne];if(J!==void 0){O(J);let Q=typeof K=="object"&&K?K.current:null;Q&&Q.querySelector(`input[type="radio"][value="${CSS.escape(J)}"]`)?.focus();}},[k,A,O,K]),B=chunkAJ7JSWUT_cjs.a({ArrowDown:()=>D("next"),ArrowRight:()=>D("next"),ArrowUp:()=>D("prev"),ArrowLeft:()=>D("prev"),Home:()=>D("first"),End:()=>D("last")},{preventDefault:true,stopPropagation:true,disabled:e}),q={name:I,value:A??null,disabled:e,discoverable:n,required:s,unstyled:f,orientation:c,onValueChange:O,registerRadio:$,unregisterRadio:g,updateRadioDisabled:h},w=[];b&&w.push(m),l&&w.push(y);let U=w.length>0?w.join(" "):void 0,j=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:f?{display:"flex",flexDirection:c==="horizontal"?"row":"column"}:{display:"flex",flexDirection:c==="horizontal"?"row":"column",gap:"var(--compa11y-radio-gap, 0.75rem)"},children:x}),b&&jsxRuntime.jsx("div",{id:m,style:f?{}:{color:"var(--compa11y-radio-group-hint-color, #666)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:b}),l&&jsxRuntime.jsx("div",{id:y,role:"alert",style:f?{}:{color:"var(--compa11y-radio-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:l})]});return a?jsxRuntime.jsx(xt.Provider,{value:q,children:jsxRuntime.jsxs("fieldset",{ref:K,role:"radiogroup","aria-label":d,"aria-labelledby":T,"aria-orientation":c,"aria-required":s||void 0,"aria-disabled":e||void 0,"aria-invalid":l?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${u}`.trim(),"data-compa11y-radiogroup":"","data-orientation":c,"data-disabled":e?"true":void 0,"data-error":l?"true":void 0,onKeyDown:B.onKeyDown,style:f?{border:"none",margin:0,padding:0,minWidth:0}:{border:"none",margin:0,padding:0,minWidth:0},children:[jsxRuntime.jsxs("legend",{style:f?{}:{padding:0,marginBottom:"var(--compa11y-radio-group-legend-gap, 0.5rem)",fontWeight:"var(--compa11y-radio-group-legend-weight, 600)",color:"var(--compa11y-radio-group-legend-color, inherit)",fontSize:"var(--compa11y-radio-group-legend-size, 1rem)"},children:[a,s&&!f&&jsxRuntime.jsxs("span",{"aria-hidden":"true",style:{color:"var(--compa11y-radio-group-required-color, #ef4444)",marginLeft:"0.125rem"},children:[" ","*"]})]}),j]})}):jsxRuntime.jsx(xt.Provider,{value:q,children:jsxRuntime.jsx("div",{ref:K,role:"radiogroup","aria-label":d,"aria-labelledby":T,"aria-orientation":c,"aria-required":s||void 0,"aria-disabled":e||void 0,"aria-invalid":l?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${u}`.trim(),"data-compa11y-radiogroup":"","data-orientation":c,"data-disabled":e?"true":void 0,"data-error":l?"true":void 0,onKeyDown:B.onKeyDown,children:j})})});Ve.displayName="RadioGroup";var Ne=tr.forwardRef(function({value:t,disabled:i=false,discoverable:r,label:e,hint:n,unstyled:s,className:c="",children:o,"aria-label":a},b){let l=yt(),f=chunkMAR6RBHF_cjs.a("radio"),u=chunkMAR6RBHF_cjs.a("radio-hint"),x=l.disabled||i,d=r??l.discoverable,T=s??l.unstyled,R=l.value===t,{announce:S}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:I,focusProps:m}=oe(),y=tr.useRef(null),H=tr.useCallback(B=>{y.current=B,typeof b=="function"?b(B):b&&(b.current=B);},[b]);tr.useEffect(()=>(l.registerRadio(t,x),()=>l.unregisterRadio(t)),[t]),tr.useEffect(()=>{l.updateRadioDisabled(t,x);},[x,t]);let C=tr.useCallback(B=>{if(x){B.preventDefault();return}l.onValueChange(t),S(`${e||(typeof o=="string"?o:null)||t} selected`,{politeness:"polite"});},[x,l,t,e,o,S]),P=tr.useCallback(B=>{x&&B.preventDefault();},[x]),A=tr.useCallback(B=>{m.onFocus(),!R&&!x&&l.onValueChange(t);},[m,R,x,l,t]),V=tr.useCallback(()=>{m.onBlur();},[m]),O=!!(o||e),$=o||e,g=`${f}-label`,h=!!n,k=(()=>{if(l.value!==null)return false;let B=Array.from(y.current?.closest('[role="radiogroup"]')?.querySelectorAll('input[type="radio"]')??[]);for(let q of B){let w=q;if(!w.disabled&&w.getAttribute("aria-disabled")!=="true")return w.value===t}return false})(),F=x&&!d?-1:R||l.value===null&&k?0:-1,K=x&&!d,D=h?u:void 0;return jsxRuntime.jsxs("label",{htmlFor:f,className:`compa11y-radio-wrapper ${c}`.trim(),"data-compa11y-radio":"","data-value":t,"data-checked":R?"true":"false","data-disabled":x?"true":void 0,style:T?{display:"inline-flex",alignItems:"flex-start",cursor:x?"not-allowed":"pointer",gap:"0.5rem"}:{display:"inline-flex",alignItems:"flex-start",gap:"var(--compa11y-radio-gap, 0.5rem)",cursor:x?"not-allowed":"pointer",userSelect:"none",opacity:x?.5:1},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:[jsxRuntime.jsx("input",{ref:H,type:"radio",id:f,name:l.name,value:t,checked:R,onChange:C,onClick:P,onFocus:A,onBlur:V,disabled:K,tabIndex:F,"aria-disabled":x?"true":void 0,"aria-label":O?void 0:a,"aria-labelledby":O?g:void 0,"aria-describedby":D,required:l.required,className:"compa11y-radio-input",style:{position:"absolute",opacity:0,width:"var(--compa11y-radio-size, 1.25rem)",height:"var(--compa11y-radio-size, 1.25rem)",margin:0,cursor:x?"not-allowed":"pointer"}}),!T&&jsxRuntime.jsx("div",{className:"compa11y-radio-circle",style:{width:"var(--compa11y-radio-size, 1.25rem)",height:"var(--compa11y-radio-size, 1.25rem)",minWidth:"24px",minHeight:"24px",border:R?"var(--compa11y-radio-checked-border, 2px solid #0066cc)":"var(--compa11y-radio-border, 2px solid #666)",borderRadius:"50%",background:R?"var(--compa11y-radio-checked-bg, #0066cc)":"var(--compa11y-radio-bg, white)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.15s ease",pointerEvents:"none",...I?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}},children:jsxRuntime.jsx("div",{"aria-hidden":"true",style:{width:"var(--compa11y-radio-dot-size, 0.5rem)",height:"var(--compa11y-radio-dot-size, 0.5rem)",borderRadius:"50%",background:"var(--compa11y-radio-dot-color, white)",opacity:R?1:0,transform:R?"scale(1)":"scale(0)",transition:"all 0.15s ease"}})})]}),(O||h)&&jsxRuntime.jsxs("div",{style:T?{}:{display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},children:[O&&jsxRuntime.jsx("span",{id:g,className:"compa11y-radio-label",style:T?{}:{color:"var(--compa11y-radio-label-color, inherit)",fontSize:"var(--compa11y-radio-label-size, 1rem)"},children:$}),h&&jsxRuntime.jsx("span",{id:u,className:"compa11y-radio-hint",style:T?{}:{color:"var(--compa11y-radio-hint-color, #666)",fontSize:"var(--compa11y-radio-hint-size, 0.8125rem)"},children:n})]})]})});Ne.displayName="Radio";var to=Object.assign(Ve,{Radio:Ne});var Nn=core.createComponentWarnings("Switch"),ht=tr.forwardRef(function({checked:t,defaultChecked:i=false,onCheckedChange:r,label:e,disabled:n=false,unstyled:s=false,className:c,size:o="md","aria-label":a,"aria-labelledby":b,onClick:l,...f},u){let d=`${chunkMAR6RBHF_cjs.a("switch")}-label`,{announce:T}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:R,focusProps:S}=oe(),[I,m]=tr.useState(i),y=t!==void 0,H=y?t:I;tr.useEffect(()=>{!e&&!a&&!b&&Nn.warning("Switch has no accessible label. Screen readers need this to identify the switch.",'Add label="Description", aria-label="...", or aria-labelledby="..."');},[e,a,b]);let C=tr.useCallback(()=>{if(n)return;let w=!H;y||m(w),r?.(w),T(`${e||a||"Switch"} ${w?"on":"off"}`);},[H,n,y,r,e,a,T]),P=tr.useCallback(w=>{l?.(w),w.defaultPrevented||C();},[l,C]),A=chunkAJ7JSWUT_cjs.a({Space:()=>{C();},Enter:()=>{C();}},{preventDefault:true}),V=w=>{f.onKeyDown?.(w),w.defaultPrevented||A.onKeyDown(w);},O=a,$=b||(e?d:void 0),g={display:"inline-flex",alignItems:"center"},k={sm:{width:32,height:18,thumb:14,translate:14},md:{width:44,height:24,thumb:20,translate:20},lg:{width:56,height:30,thumb:26,translate:26}}[o],F={position:"relative",display:"inline-flex",alignItems:"center",flexShrink:0,width:k.width,height:k.height,border:"none",padding:2,cursor:n?"not-allowed":"pointer"},K=s?{}:{backgroundColor:H?"#0066cc":"#d1d5db",borderRadius:k.height/2,transition:"background-color 0.2s ease",opacity:n?.5:1},D={position:"absolute",left:2,width:k.thumb,height:k.thumb,pointerEvents:"none",transform:H?`translateX(${k.translate}px)`:"translateX(0)"},B=s?{}:{backgroundColor:"white",borderRadius:"50%",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.2)",transition:"transform 0.2s ease"},q=s?{marginLeft:8,userSelect:"none",cursor:n?"not-allowed":"pointer"}:{marginLeft:8,userSelect:"none",cursor:n?"not-allowed":"pointer",opacity:n?.5:1};return jsxRuntime.jsxs("div",{style:g,"data-compa11y-switch-wrapper":true,"data-size":o,children:[jsxRuntime.jsx("button",{ref:u,type:"button",role:"switch","aria-checked":H,"aria-label":O,"aria-labelledby":$,disabled:n,onClick:P,onKeyDown:V,className:c,style:{...F,...K,...!s&&R&&!n?{outline:"2px solid #0066cc",outlineOffset:"2px"}:{outline:"none"}},tabIndex:n?-1:0,"data-compa11y-switch":true,"data-checked":H,"data-disabled":n||void 0,"data-size":o,...f,onFocus:w=>{S.onFocus(),f.onFocus?.(w);},onBlur:w=>{S.onBlur(),f.onBlur?.(w);},children:jsxRuntime.jsx("span",{style:{...D,...B},"data-compa11y-switch-thumb":true,"aria-hidden":"true"})}),e&&jsxRuntime.jsx("label",{id:d,onClick:n?void 0:()=>C(),style:q,"data-compa11y-switch-label":true,children:e})]})});ht.displayName="Switch";var zn=core.createComponentWarnings("Listbox"),ao=tr.createContext(null);function ze(){let p=tr.useContext(ao);if(!p)throw new Error("[Compa11y Listbox]: Option/Group must be used within a Listbox.");return p}var io=tr.createContext({groupDisabled:false}),Ge=tr.forwardRef(function({value:t,defaultValue:i,onValueChange:r,multiple:e=false,disabled:n=false,discoverable:s=true,orientation:c="vertical",unstyled:o=false,className:a="",children:b,"aria-label":l,"aria-labelledby":f},u){let x=chunkMAR6RBHF_cjs.a("listbox"),{announce:d}=chunkJS3UD7KS_cjs.a(),[T,R]=tr.useState(()=>i??(e?[]:"")),S=t!==void 0,I=S?t:T,m=tr.useMemo(()=>e?new Set(Array.isArray(I)?I:[]):new Set(I?[String(I)]:[]),[I,e]),[y,H]=tr.useState(null),C=tr.useRef(new Map),[P,A]=tr.useState(0),V=tr.useCallback((v,E,L)=>{C.current.set(v,{disabled:E,label:L}),A(M=>M+1);},[]),O=tr.useCallback(v=>{C.current.delete(v),A(E=>E+1);},[]),$=tr.useCallback((v,E)=>{let L=C.current.get(v);L&&C.current.set(v,{...L,disabled:E});},[]),g=tr.useMemo(()=>{let v=[];return C.current.forEach((E,L)=>{!E.disabled&&!n&&v.push(L);}),v},[P,n]);tr.useEffect(()=>{!l&&!f&&zn.warning("Listbox has no accessible label. Screen readers need this.",'Add aria-label="..." or aria-labelledby="..."');},[l,f]);let h=tr.useCallback(v=>m.has(v),[m]),k=tr.useCallback(v=>{if(n)return;let E=C.current.get(v);if(E?.disabled)return;let L,M=E?.label||v;if(e){let N=new Set(m);N.has(v)?(N.delete(v),d(`${M} deselected`,{politeness:"polite"})):(N.add(v),d(`${M} selected`,{politeness:"polite"})),L=Array.from(N);}else L=v,d(`${M} selected`,{politeness:"polite"});S||R(L),r?.(L);},[n,e,m,S,r,d]),F=tr.useCallback(v=>{if(g.length===0)return;let E=y?g.indexOf(y):-1,L;switch(v){case "next":L=E<0?0:Math.min(E+1,g.length-1);break;case "prev":L=E<0?g.length-1:Math.max(E-1,0);break;case "first":L=0;break;case "last":L=g.length-1;break}let M=g[L];if(M!==void 0)if(H(M),e){let _=C.current.get(M)?.label||M,ge=m.has(M);d(`${_}${ge?", selected":""}`,{politeness:"polite"});}else {let _=C.current.get(M)?.label||M,ge=M;S||R(ge),r?.(ge),d(`${_} selected`,{politeness:"polite"});}},[g,y,e,S,r,d,m]),K=tr.useCallback(()=>{y&&e&&k(y);},[y,e,k]),D=tr.useCallback(v=>{if(g.length===0)return;let E=y?g.indexOf(y):-1,L;v==="next"?L=E<0?0:Math.min(E+1,g.length-1):L=E<0?g.length-1:Math.max(E-1,0);let M=g[L];M!==void 0&&(H(M),k(M));},[g,y,k]),B=tr.useCallback(()=>{if(!e||!y)return;let v=g.indexOf(y);if(v<0)return;let E=g.slice(0,v+1),L=new Set(m);E.forEach(N=>L.add(N));let M=Array.from(L);S||R(M),r?.(M),H(g[0]??null),d(`${E.length} items selected`,{politeness:"polite"});},[e,y,g,m,S,r,d]),q=tr.useCallback(()=>{if(!e||!y)return;let v=g.indexOf(y);if(v<0)return;let E=g.slice(v),L=new Set(m);E.forEach(N=>L.add(N));let M=Array.from(L);S||R(M),r?.(M),H(g[g.length-1]??null),d(`${E.length} items selected`,{politeness:"polite"});},[e,y,g,m,S,r,d]),w=tr.useCallback(()=>{if(!e)return;let v=g.every(L=>m.has(L)),E;v?(E=[],d("All deselected",{politeness:"polite"})):(E=[...g],d("All selected",{politeness:"polite"})),S||R(E),r?.(E);},[e,g,m,S,r,d]),U=tr.useMemo(()=>{let v={ArrowDown:()=>F("next"),ArrowUp:()=>F("prev"),Home:()=>F("first"),End:()=>F("last")};return e&&(v.Space=()=>K(),v["Shift+ArrowDown"]=()=>D("next"),v["Shift+ArrowUp"]=()=>D("prev"),v["Ctrl+Shift+Home"]=()=>B(),v["Ctrl+Shift+End"]=()=>q(),v["Ctrl+a"]=()=>w(),v["Meta+a"]=()=>w()),v},[e,F,K,D,B,q,w]),j=chunkAJ7JSWUT_cjs.a(U,{preventDefault:true,stopPropagation:true,disabled:n}),W=tr.useMemo(()=>Array.from(C.current.values()).map(v=>v.label),[P]),z=chunkAJ7JSWUT_cjs.e(W,v=>{for(let[E,L]of C.current.entries())if(L.label===v&&!L.disabled){if(H(E),!e){let M=E;S||R(M),r?.(M),d(`${v} selected`,{politeness:"polite"});}break}},{disabled:n}),Z=tr.useCallback(v=>{j.onKeyDown(v),v.defaultPrevented||z.onKeyDown(v);},[j,z]),ne=tr.useCallback(()=>{if(!y){if(!e&&I&&typeof I=="string"){H(I);return}if(e&&Array.isArray(I)&&I.length>0){H(I[0]??null);return}g.length>0&&H(g[0]??null);}},[y,e,I,g]),J=tr.useCallback(()=>{},[]),Q=tr.useRef(null);tr.useEffect(()=>{y&&Q.current&&Q.current.querySelector(`[data-value="${CSS.escape(y)}"]`)?.scrollIntoView({block:"nearest"});},[y]);let re=tr.useMemo(()=>({multiple:e,disabled:n,discoverable:s,unstyled:o,orientation:c,selectedValues:m,focusedValue:y,onSelect:k,onFocusOption:H,registerOption:V,unregisterOption:O,updateOptionDisabled:$,isSelected:h,listboxId:x}),[e,n,s,o,c,m,y,k,V,O,$,h,x]),Y=tr.useCallback(v=>{Q.current=v,typeof u=="function"?u(v):u&&(u.current=v);},[u]),be=y?`${x}-option-${y}`:void 0;return jsxRuntime.jsx(ao.Provider,{value:re,children:jsxRuntime.jsx("div",{ref:Y,role:"listbox","aria-label":l,"aria-labelledby":f,"aria-orientation":c,"aria-multiselectable":e||void 0,"aria-disabled":n||void 0,"aria-activedescendant":be,tabIndex:n&&!s?-1:0,className:`compa11y-listbox ${a}`.trim(),"data-compa11y-listbox":"","data-orientation":c,"data-disabled":n?"true":void 0,"data-multiple":e?"true":void 0,onKeyDown:Z,onFocus:ne,onBlur:J,style:o?{}:{width:"var(--compa11y-listbox-width, 250px)",maxHeight:"var(--compa11y-listbox-max-height, 300px)",overflowY:"auto",border:"var(--compa11y-listbox-border, 1px solid #e0e0e0)",borderRadius:"var(--compa11y-listbox-radius, 4px)",background:"var(--compa11y-listbox-bg, white)",padding:"var(--compa11y-listbox-padding, 0.25rem 0)",...n?{opacity:"var(--compa11y-listbox-disabled-opacity, 0.5)",cursor:"not-allowed"}:{}},children:b})})});Ge.displayName="Listbox";var $e=tr.forwardRef(function({value:t,disabled:i=false,discoverable:r,unstyled:e,className:n="",children:s,"aria-label":c},o){let a=ze(),{groupDisabled:b}=tr.useContext(io),l=a.disabled||b||i,f=e??a.unstyled,u=a.isSelected(t),x=a.focusedValue===t,d=`${a.listboxId}-option-${t}`,T=tr.useRef(""),R=tr.useRef(null),S=tr.useCallback(m=>{R.current=m,typeof o=="function"?o(m):o&&(o.current=m);},[o]);tr.useEffect(()=>{let m=typeof s=="string"?s:R.current?.textContent?.trim()||t;return T.current=m,a.registerOption(t,l,m),()=>a.unregisterOption(t)},[t]),tr.useEffect(()=>{a.updateOptionDisabled(t,l);},[l,t]);let I=tr.useCallback(m=>{if(l){m.preventDefault();return}a.onFocusOption(t),a.onSelect(t);},[l,a,t]);return jsxRuntime.jsxs("div",{ref:S,id:d,role:"option","aria-selected":u,"aria-disabled":l||void 0,"aria-label":c,className:`compa11y-listbox-option ${n}`.trim(),"data-compa11y-listbox-option":"","data-value":t,"data-selected":u?"true":"false","data-focused":x?"true":"false","data-disabled":l?"true":void 0,onClick:I,style:f?{cursor:l?"not-allowed":"pointer"}:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--compa11y-listbox-option-padding, 0.5rem 0.75rem)",cursor:l?"not-allowed":"pointer",userSelect:"none",transition:"background 0.1s ease",background:x?u?"var(--compa11y-listbox-option-selected-hover-bg, #cce0ff)":"var(--compa11y-listbox-option-hover-bg, #f5f5f5)":u?"var(--compa11y-listbox-option-selected-bg, #e6f0ff)":"transparent",fontWeight:u?500:"normal",opacity:l?.5:1},children:[jsxRuntime.jsx("span",{style:{flex:1},children:s}),u&&!f&&jsxRuntime.jsx("span",{"aria-hidden":"true",style:{fontSize:"0.875rem",color:"var(--compa11y-listbox-check-color, #0066cc)",marginLeft:"0.5rem"},children:"\u2713"})]})});$e.displayName="ListboxOption";var Ke=tr.forwardRef(function({label:t,disabled:i=false,unstyled:r,className:e="",children:n},s){let c=ze(),o=r??c.unstyled,a=chunkMAR6RBHF_cjs.a("listbox-group"),b=tr.useMemo(()=>({groupDisabled:c.disabled||i}),[c.disabled,i]);return jsxRuntime.jsx(io.Provider,{value:b,children:jsxRuntime.jsxs("div",{ref:s,role:"group","aria-labelledby":a,"aria-disabled":i||void 0,className:`compa11y-listbox-group ${e}`.trim(),"data-compa11y-listbox-group":"","data-disabled":i?"true":void 0,style:o?{}:{opacity:i?.5:1},children:[jsxRuntime.jsx("div",{id:a,role:"presentation",style:o?{}:{padding:"var(--compa11y-listbox-group-label-padding, 0.5rem 0.75rem 0.25rem)",fontSize:"var(--compa11y-listbox-group-label-size, 0.75rem)",fontWeight:600,color:"var(--compa11y-listbox-group-label-color, #666)",textTransform:"uppercase",letterSpacing:"0.05em"},children:t}),n]})})});Ke.displayName="ListboxGroup";var so=Object.assign(Ge,{Option:$e,Group:Ke});var fo=tr.createContext(null);function Ce(){let p=tr.useContext(fo);if(!p)throw new Error("[Compa11y Input]: Input sub-components (Input.Label, Input.Field, etc.) must be used within <Input>.");return p}var je=tr.forwardRef(function({children:t,className:i},r){let e=Ce();return jsxRuntime.jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-input-label":"",className:i,style:e.unstyled?{}:{display:"block",color:e.disabled?"var(--compa11y-input-disabled-color, #999)":"var(--compa11y-input-label-color, inherit)",fontSize:"var(--compa11y-input-label-size, 0.875rem)",fontWeight:"var(--compa11y-input-label-weight, 500)"},children:[t,e.required&&jsxRuntime.jsx("span",{"data-compa11y-input-required":"","aria-hidden":"true",style:e.unstyled?{}:{color:"var(--compa11y-input-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]})});je.displayName="InputLabel";var We=tr.forwardRef(function({type:t="text",onFocus:i,onBlur:r,className:e,style:n,...s},c){let o=Ce(),a=tr.useRef(null),b=tr.useCallback(d=>{a.current=d,typeof c=="function"?c(d):c&&(c.current=d);},[c]),l=tr.useCallback(d=>{o.setValue(d.target.value);},[o.setValue]),f=tr.useCallback(d=>{o.focusProps.onFocus(),i?.(d);},[o.focusProps,i]),u=tr.useCallback(d=>{o.focusProps.onBlur(),r?.(d);},[o.focusProps,r]),x=[];return o.hasHint&&x.push(o.hintId),o.hasError&&x.push(o.errorId),jsxRuntime.jsx("input",{ref:b,id:o.fieldId,type:t,value:o.value,onChange:l,onFocus:f,onBlur:u,disabled:o.disabled,readOnly:o.readOnly,"aria-describedby":x.join(" ")||void 0,"aria-invalid":o.hasError?"true":void 0,"aria-required":o.required?"true":void 0,"data-compa11y-input-field":"",className:e,style:o.unstyled?n:{width:"100%",padding:"var(--compa11y-input-padding, 0.5rem 0.75rem)",border:o.hasError?"1px solid var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border, 1px solid #ccc)",borderRadius:"var(--compa11y-input-radius, 4px)",fontSize:"var(--compa11y-input-font-size, 0.875rem)",fontFamily:"inherit",background:o.disabled?"var(--compa11y-input-disabled-bg, #f5f5f5)":o.readOnly?"var(--compa11y-input-readonly-bg, #f9f9f9)":"var(--compa11y-input-bg, white)",color:"inherit",cursor:o.disabled?"not-allowed":void 0,opacity:o.disabled?"var(--compa11y-input-disabled-opacity, 0.7)":void 0,...o.isFocusVisible&&!o.disabled?{outline:o.hasError?"2px solid var(--compa11y-input-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:o.hasError?"var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border-focus, #0066cc)"}:{},...n},...s})});We.displayName="InputField";var Ue=tr.forwardRef(function({children:t,className:i},r){let e=Ce();return tr.useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsxRuntime.jsx("div",{ref:r,id:e.hintId,"data-compa11y-input-hint":"",className:i,style:e.unstyled?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:t})});Ue.displayName="InputHint";var qe=tr.forwardRef(function({children:t,className:i},r){let e=Ce();return t?jsxRuntime.jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-input-error":"",className:i,style:e.unstyled?{}:{color:"var(--compa11y-input-error-color, #ef4444)",fontSize:"var(--compa11y-input-error-size, 0.8125rem)"},children:t}):null});qe.displayName="InputError";var _e=tr.forwardRef(function({value:t,defaultValue:i="",onValueChange:r,type:e="text",label:n,hint:s,error:c,required:o=false,disabled:a=false,readOnly:b=false,"aria-label":l,"aria-labelledby":f,placeholder:u,name:x,autoComplete:d,maxLength:T,minLength:R,pattern:S,inputMode:I,id:m,unstyled:y=false,className:H,onFocus:C,onBlur:P,children:A},V){let O=chunkMAR6RBHF_cjs.a("input"),$=m||O,g=`${$}-field`,h=`${$}-label`,k=`${$}-hint`,F=`${$}-error`,[K,D]=tr.useState(i),B=t!==void 0,q=B?t:K,[w,U]=tr.useState(false),j=tr.useCallback(_=>{B||D(_),r?.(_);},[B,r]),{isFocusVisible:W,focusProps:z}=oe(),Z=tr.useRef(null),ne=tr.useCallback(_=>{Z.current=_,typeof V=="function"?V(_):V&&(V.current=_);},[V]),J=tr.useCallback(_=>{j(_.target.value);},[j]),Q=tr.useCallback(_=>{z.onFocus(),C?.(_);},[z,C]),re=tr.useCallback(_=>{z.onBlur(),P?.(_);},[z,P]);tr.useEffect(()=>{process.env.NODE_ENV!=="production"&&!(tr.Children.count(A)>0)&&!n&&!l&&!f&&console.warn("[Compa11y Input]: Input has no accessible label. Screen readers need this to identify the input. Use label prop, aria-label, or aria-labelledby.");},[A,n,l,f]);let Y=!!c,be=tr.Children.count(A)>0,v={fieldId:g,labelId:h,hintId:k,errorId:F,value:q,setValue:j,hasError:Y,hasHint:be?w:!!s,setHasHint:U,disabled:a,readOnly:b,required:o,isFocusVisible:W,focusProps:z,unstyled:y},E={"data-compa11y-input":"","data-error":Y?"true":"false","data-disabled":a?"true":"false","data-required":o?"true":"false","data-readonly":b?"true":"false"},L=y?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"};if(be)return jsxRuntime.jsx(fo.Provider,{value:v,children:jsxRuntime.jsx("div",{...E,className:H,style:L,children:A})});let M=[];s&&M.push(k),Y&&M.push(F);let N=M.length>0?M.join(" "):void 0;return jsxRuntime.jsxs("div",{...E,className:H,style:L,children:[n&&jsxRuntime.jsxs("label",{id:h,htmlFor:g,"data-compa11y-input-label":"",style:y?{}:{display:"block",color:a?"var(--compa11y-input-disabled-color, #999)":"var(--compa11y-input-label-color, inherit)",fontSize:"var(--compa11y-input-label-size, 0.875rem)",fontWeight:"var(--compa11y-input-label-weight, 500)"},children:[n,o&&jsxRuntime.jsx("span",{"data-compa11y-input-required":"","aria-hidden":"true",style:y?{}:{color:"var(--compa11y-input-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),jsxRuntime.jsx("input",{ref:ne,id:g,type:e,value:q,onChange:J,onFocus:Q,onBlur:re,disabled:a,readOnly:b,required:o,placeholder:u,name:x,autoComplete:d,maxLength:T,minLength:R,pattern:S,inputMode:I,"aria-label":n?void 0:l,"aria-labelledby":!n&&f?f:n?h:void 0,"aria-describedby":N,"aria-invalid":Y?"true":void 0,"aria-required":o?"true":void 0,"data-compa11y-input-field":"",style:y?{}:{width:"100%",padding:"var(--compa11y-input-padding, 0.5rem 0.75rem)",border:Y?"1px solid var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border, 1px solid #ccc)",borderRadius:"var(--compa11y-input-radius, 4px)",fontSize:"var(--compa11y-input-font-size, 0.875rem)",fontFamily:"inherit",background:a?"var(--compa11y-input-disabled-bg, #f5f5f5)":b?"var(--compa11y-input-readonly-bg, #f9f9f9)":"var(--compa11y-input-bg, white)",color:"inherit",cursor:a?"not-allowed":void 0,opacity:a?"var(--compa11y-input-disabled-opacity, 0.7)":void 0,...W&&!a?{outline:Y?"2px solid var(--compa11y-input-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:Y?"var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border-focus, #0066cc)"}:{}}}),s&&jsxRuntime.jsx("div",{id:k,"data-compa11y-input-hint":"",style:y?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:s}),Y&&jsxRuntime.jsx("div",{id:F,role:"alert","data-compa11y-input-error":"",style:y?{}:{color:"var(--compa11y-input-error-color, #ef4444)",fontSize:"var(--compa11y-input-error-size, 0.8125rem)"},children:c})]})});_e.displayName="Input";var mo=Object.assign(_e,{Label:je,Field:We,Hint:Ue,Error:qe});var Un={primary:{background:"var(--compa11y-button-primary-bg, #0066cc)",color:"var(--compa11y-button-primary-color, white)",border:"var(--compa11y-button-primary-border, 1px solid #0066cc)"},secondary:{background:"var(--compa11y-button-secondary-bg, white)",color:"var(--compa11y-button-secondary-color, #333)",border:"var(--compa11y-button-secondary-border, 1px solid #ccc)"},danger:{background:"var(--compa11y-button-danger-bg, #ef4444)",color:"var(--compa11y-button-danger-color, white)",border:"var(--compa11y-button-danger-border, 1px solid #ef4444)"},outline:{background:"var(--compa11y-button-outline-bg, transparent)",color:"var(--compa11y-button-outline-color, #0066cc)",border:"var(--compa11y-button-outline-border, 1px solid #0066cc)"},ghost:{background:"var(--compa11y-button-ghost-bg, transparent)",color:"var(--compa11y-button-ghost-color, #333)",border:"var(--compa11y-button-ghost-border, 1px solid transparent)"}},qn={sm:{padding:"var(--compa11y-button-padding-sm, 0.25rem 0.5rem)",fontSize:"var(--compa11y-button-font-size-sm, 0.75rem)"},md:{padding:"var(--compa11y-button-padding-md, 0.5rem 1rem)",fontSize:"var(--compa11y-button-font-size-md, 0.875rem)"},lg:{padding:"var(--compa11y-button-padding-lg, 0.75rem 1.5rem)",fontSize:"var(--compa11y-button-font-size-lg, 1rem)"}},Ct=tr.forwardRef(function({variant:t="secondary",size:i="md",type:r="button",disabled:e=false,discoverable:n=false,loading:s=false,unstyled:c=false,"aria-label":o,className:a,style:b,onClick:l,onFocus:f,onBlur:u,children:x,...d},T){let R=chunkMAR6RBHF_cjs.a("button"),S=tr.useRef(null),I=tr.useCallback(g=>{S.current=g,typeof T=="function"?T(g):T&&(T.current=g);},[T]),{isFocusVisible:m,focusProps:y}=oe();tr.useEffect(()=>{process.env.NODE_ENV!=="production"&&!x&&!o&&!d["aria-labelledby"]&&console.warn("[Compa11y Button]: Button has no accessible label. Screen readers need this to identify the button. Add text content, aria-label, or aria-labelledby.");},[x,o,d["aria-labelledby"]]);let H=e&&!n,C=e||s,P=tr.useCallback(g=>{if(C){g.preventDefault();return}l?.(g);},[C,l]),A=tr.useCallback(g=>{y.onFocus(),f?.(g);},[y,f]),V=tr.useCallback(g=>{y.onBlur(),u?.(g);},[y,u]),O={"data-compa11y-button":"","data-variant":t,"data-size":i,"data-disabled":e?"true":"false","data-loading":s?"true":"false"},$=c?{}:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"0.5rem",borderRadius:"var(--compa11y-button-radius, 4px)",fontFamily:"inherit",fontWeight:"var(--compa11y-button-font-weight, 500)",lineHeight:"1.5",cursor:C?"not-allowed":"pointer",opacity:e?"var(--compa11y-button-disabled-opacity, 0.5)":void 0,transition:"background-color 0.15s ease, border-color 0.15s ease",...Un[t],...qn[i],...m&&!H?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}};return jsxRuntime.jsxs("button",{ref:I,id:R,type:r,disabled:H,tabIndex:e&&!n?void 0:0,"aria-disabled":C?"true":void 0,"aria-busy":s?"true":void 0,"aria-label":o,onClick:P,onFocus:A,onBlur:V,className:a,style:{...$,...b},...O,...d,children:[s&&jsxRuntime.jsx("span",{"data-compa11y-button-spinner":"","aria-hidden":"true",style:c?{}:{display:"inline-block",width:"1em",height:"1em",border:"2px solid currentColor",borderRightColor:"transparent",borderRadius:"50%",animation:"compa11y-spin 0.6s linear infinite"}}),x]})});Ct.displayName="Button";var vo=tr.createContext(null);function Se(){let p=tr.useContext(vo);if(!p)throw new Error("[Compa11y Textarea]: Textarea sub-components (Textarea.Label, Textarea.Field, etc.) must be used within <Textarea>.");return p}var Xe=tr.forwardRef(function({children:t,className:i},r){let e=Se();return jsxRuntime.jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-textarea-label":"",className:i,style:e.unstyled?{}:{display:"block",color:e.disabled?"var(--compa11y-textarea-disabled-color, #999)":"var(--compa11y-textarea-label-color, inherit)",fontSize:"var(--compa11y-textarea-label-size, 0.875rem)",fontWeight:"var(--compa11y-textarea-label-weight, 500)"},children:[t,e.required&&jsxRuntime.jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:e.unstyled?{}:{color:"var(--compa11y-textarea-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]})});Xe.displayName="TextareaLabel";var Ze=tr.forwardRef(function({onFocus:t,onBlur:i,className:r,style:e,rows:n,...s},c){let o=Se(),a=tr.useRef(null),b=tr.useCallback(d=>{a.current=d,typeof c=="function"?c(d):c&&(c.current=d);},[c]),l=tr.useCallback(d=>{o.setValue(d.target.value);},[o.setValue]),f=tr.useCallback(d=>{o.focusProps.onFocus(),t?.(d);},[o.focusProps,t]),u=tr.useCallback(d=>{o.focusProps.onBlur(),i?.(d);},[o.focusProps,i]),x=[];return o.hasHint&&x.push(o.hintId),o.hasError&&x.push(o.errorId),jsxRuntime.jsx("textarea",{ref:b,id:o.fieldId,rows:n??o.rows,value:o.value,onChange:l,onFocus:f,onBlur:u,disabled:o.disabled,readOnly:o.readOnly,"aria-describedby":x.join(" ")||void 0,"aria-invalid":o.hasError?"true":void 0,"aria-required":o.required?"true":void 0,"data-compa11y-textarea-field":"",className:r,style:o.unstyled?e:{width:"100%",padding:"var(--compa11y-textarea-padding, 0.5rem 0.75rem)",border:o.hasError?"1px solid var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border, 1px solid #ccc)",borderRadius:"var(--compa11y-textarea-radius, 4px)",fontSize:"var(--compa11y-textarea-font-size, 0.875rem)",fontFamily:"inherit",lineHeight:"1.5",resize:o.resize,background:o.disabled?"var(--compa11y-textarea-disabled-bg, #f5f5f5)":o.readOnly?"var(--compa11y-textarea-readonly-bg, #f9f9f9)":"var(--compa11y-textarea-bg, white)",color:"inherit",cursor:o.disabled?"not-allowed":void 0,opacity:o.disabled?"var(--compa11y-textarea-disabled-opacity, 0.7)":void 0,...o.isFocusVisible&&!o.disabled?{outline:o.hasError?"2px solid var(--compa11y-textarea-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:o.hasError?"var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border-focus, #0066cc)"}:{},...e},...s})});Ze.displayName="TextareaField";var Je=tr.forwardRef(function({children:t,className:i},r){let e=Se();return tr.useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsxRuntime.jsx("div",{ref:r,id:e.hintId,"data-compa11y-textarea-hint":"",className:i,style:e.unstyled?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:t})});Je.displayName="TextareaHint";var Qe=tr.forwardRef(function({children:t,className:i},r){let e=Se();return t?jsxRuntime.jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-textarea-error":"",className:i,style:e.unstyled?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:t}):null});Qe.displayName="TextareaError";var et=tr.forwardRef(function({value:t,defaultValue:i="",onValueChange:r,rows:e=3,resize:n="vertical",label:s,hint:c,error:o,required:a=false,disabled:b=false,readOnly:l=false,"aria-label":f,"aria-labelledby":u,placeholder:x,name:d,autoComplete:T,maxLength:R,minLength:S,id:I,unstyled:m=false,className:y,onFocus:H,onBlur:C,children:P},A){let V=chunkMAR6RBHF_cjs.a("textarea"),O=I||V,$=`${O}-field`,g=`${O}-label`,h=`${O}-hint`,k=`${O}-error`,[F,K]=tr.useState(i),D=t!==void 0,B=D?t:F,q=tr.useCallback(N=>{D||K(N),r?.(N);},[D,r]),{isFocusVisible:w,focusProps:U}=oe();tr.useEffect(()=>{process.env.NODE_ENV!=="production"&&!(tr.Children.count(P)>0)&&!s&&!f&&!u&&console.warn("[Compa11y Textarea]: Textarea has no accessible label. Screen readers need this to identify the textarea. Use label prop, aria-label, or aria-labelledby.");},[P,s,f,u]);let j=!!o,[W,z]=tr.useState(false),Z=tr.Children.count(P)>0,ne={fieldId:$,labelId:g,hintId:h,errorId:k,value:B,setValue:q,hasError:j,hasHint:Z?W:!!c,setHasHint:z,disabled:b,readOnly:l,required:a,rows:e,resize:n,isFocusVisible:w,focusProps:U,unstyled:m},J={"data-compa11y-textarea":"","data-error":j?"true":"false","data-disabled":b?"true":"false","data-required":a?"true":"false","data-readonly":l?"true":"false"},Q=m?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"},re=tr.useRef(null),Y=tr.useCallback(N=>{re.current=N,typeof A=="function"?A(N):A&&(A.current=N);},[A]),be=tr.useCallback(N=>{q(N.target.value);},[q]),v=tr.useCallback(N=>{U.onFocus(),H?.(N);},[U,H]),E=tr.useCallback(N=>{U.onBlur(),C?.(N);},[U,C]);if(Z)return jsxRuntime.jsx(vo.Provider,{value:ne,children:jsxRuntime.jsx("div",{...J,className:y,style:Q,children:P})});let L=[];c&&L.push(h),j&&L.push(k);let M=L.length>0?L.join(" "):void 0;return jsxRuntime.jsxs("div",{...J,className:y,style:Q,children:[s&&jsxRuntime.jsxs("label",{id:g,htmlFor:$,"data-compa11y-textarea-label":"",style:m?{}:{display:"block",color:b?"var(--compa11y-textarea-disabled-color, #999)":"var(--compa11y-textarea-label-color, inherit)",fontSize:"var(--compa11y-textarea-label-size, 0.875rem)",fontWeight:"var(--compa11y-textarea-label-weight, 500)"},children:[s,a&&jsxRuntime.jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:m?{}:{color:"var(--compa11y-textarea-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),jsxRuntime.jsx("textarea",{ref:Y,id:$,rows:e,value:B,onChange:be,onFocus:v,onBlur:E,disabled:b,readOnly:l,required:a,placeholder:x,name:d,autoComplete:T,maxLength:R,minLength:S,"aria-label":s?void 0:f,"aria-labelledby":!s&&u?u:s?g:void 0,"aria-describedby":M,"aria-invalid":j?"true":void 0,"aria-required":a?"true":void 0,"data-compa11y-textarea-field":"",style:m?{}:{width:"100%",padding:"var(--compa11y-textarea-padding, 0.5rem 0.75rem)",border:j?"1px solid var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border, 1px solid #ccc)",borderRadius:"var(--compa11y-textarea-radius, 4px)",fontSize:"var(--compa11y-textarea-font-size, 0.875rem)",fontFamily:"inherit",lineHeight:"1.5",resize:n,background:b?"var(--compa11y-textarea-disabled-bg, #f5f5f5)":l?"var(--compa11y-textarea-readonly-bg, #f9f9f9)":"var(--compa11y-textarea-bg, white)",color:"inherit",cursor:b?"not-allowed":void 0,opacity:b?"var(--compa11y-textarea-disabled-opacity, 0.7)":void 0,...w&&!b?{outline:j?"2px solid var(--compa11y-textarea-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:j?"var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border-focus, #0066cc)"}:{}}}),c&&jsxRuntime.jsx("div",{id:h,"data-compa11y-textarea-hint":"",style:m?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:c}),j&&jsxRuntime.jsx("div",{id:k,role:"alert","data-compa11y-textarea-error":"",style:m?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:o})]})});et.displayName="Textarea";var To=Object.assign(et,{Label:Xe,Field:Ze,Hint:Je,Error:Qe});var Qn={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},Ro=tr.forwardRef(function({focusable:t=false,style:i,children:r,...e},n){return jsxRuntime.jsx("span",{ref:n,"data-compa11y-visually-hidden":true,"data-focusable":t||void 0,style:t?void 0:{...Qn,...i},...e,children:r})});var rr={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},ar={position:"fixed",top:"0.5rem",left:"0.5rem",zIndex:99999,width:"auto",height:"auto",padding:"0.75rem 1.5rem",margin:0,overflow:"visible",clip:"auto",whiteSpace:"normal",background:"#0066cc",color:"white",fontSize:"1rem",fontWeight:600,borderRadius:"4px",border:"2px solid transparent",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.2)",outline:"2px solid #0066cc",outlineOffset:"2px",textDecoration:"none"},Co=tr.forwardRef(function({target:t="#main-content",unstyled:i=false,children:r,style:e,onClick:n,...s},c){let[o,a]=tr__default.default.useState(false),b=tr.useCallback(f=>{let u=document.querySelector(t);u&&(f.preventDefault(),!u.hasAttribute("tabindex")&&u.tabIndex<0&&u.setAttribute("tabindex","-1"),u.focus(),u.scrollIntoView({behavior:"smooth",block:"start"})),n?.(f);},[t,n]),l=i?e:o?{...ar,...e}:{...rr,...e};return jsxRuntime.jsx("a",{ref:c,href:t,"data-compa11y-skip-link":true,"data-focused":o||void 0,style:l,onFocus:()=>a(true),onBlur:()=>a(false),onClick:b,...s,children:r||"Skip to main content"})});var cr={info:"\u2139\uFE0F",success:"\u2705",warning:"\u26A0\uFE0F",error:"\u274C"},So={info:"#3b82f6",success:"#22c55e",warning:"#f59e0b",error:"#ef4444"},ur={display:"flex",alignItems:"flex-start",gap:"0.75rem",padding:"0.75rem 1rem",background:"white",border:"1px solid #e0e0e0",borderRadius:"6px"},dr={flexShrink:0,fontSize:"1.25rem",lineHeight:1,marginTop:"0.125rem"},pr={flex:1,minWidth:0},br={fontWeight:600,fontSize:"0.875rem",marginBottom:"0.125rem"},fr={color:"#555",fontSize:"0.8125rem"},mr={appearance:"none",background:"none",border:"none",padding:0,margin:0,font:"inherit",cursor:"pointer",flexShrink:0,width:"1.5rem",height:"1.5rem",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"4px",color:"#999",fontSize:"1.125rem",lineHeight:1},Eo=tr.forwardRef(function({type:t="info",title:i,dismissible:r=false,onDismiss:e,unstyled:n=false,children:s,style:c,...o},a){let b=t==="error"||t==="warning"?"alert":"status",l=tr.useCallback(()=>{e?.();},[e]),f=n?c:{...ur,borderLeft:`4px solid ${So[t]}`,...c};return jsxRuntime.jsxs("div",{ref:a,role:b,"aria-live":b==="alert"?"assertive":"polite","data-compa11y-alert":true,"data-type":t,"data-dismissible":r||void 0,style:f,...o,children:[!n&&jsxRuntime.jsx("span",{"data-compa11y-alert-icon":true,"aria-hidden":"true",style:{...dr,color:So[t]},children:cr[t]}),jsxRuntime.jsxs("div",{"data-compa11y-alert-content":true,style:n?void 0:pr,children:[i&&jsxRuntime.jsx("div",{"data-compa11y-alert-title":true,style:n?void 0:br,children:i}),jsxRuntime.jsx("div",{"data-compa11y-alert-description":true,style:n?void 0:fr,children:s})]}),r&&jsxRuntime.jsx("button",{type:"button",onClick:l,"aria-label":"Dismiss alert","data-compa11y-alert-close":true,style:n?void 0:mr,children:"\xD7"})]})});Object.defineProperty(exports,"Dialog",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.k}});Object.defineProperty(exports,"DialogActions",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.j}});Object.defineProperty(exports,"DialogBase",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.d}});Object.defineProperty(exports,"DialogClose",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.h}});Object.defineProperty(exports,"DialogContent",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.i}});Object.defineProperty(exports,"DialogDescription",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.g}});Object.defineProperty(exports,"DialogTitle",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.f}});Object.defineProperty(exports,"DialogTrigger",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.e}});Object.defineProperty(exports,"useDialogContext",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.c}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.a}});Object.defineProperty(exports,"useFocusTrapControls",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.b}});Object.defineProperty(exports,"ActionMenu",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.i}});Object.defineProperty(exports,"ActionMenuBase",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.c}});Object.defineProperty(exports,"ActionMenuContent",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.e}});Object.defineProperty(exports,"ActionMenuItem",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.f}});Object.defineProperty(exports,"ActionMenuLabel",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.h}});Object.defineProperty(exports,"ActionMenuSeparator",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.g}});Object.defineProperty(exports,"ActionMenuTrigger",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.d}});Object.defineProperty(exports,"useActionMenuContext",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.a}});Object.defineProperty(exports,"Tab",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.d}});Object.defineProperty(exports,"TabList",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.c}});Object.defineProperty(exports,"TabPanel",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.e}});Object.defineProperty(exports,"Tabs",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.f}});Object.defineProperty(exports,"TabsBase",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.b}});Object.defineProperty(exports,"useTabsContext",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.a}});Object.defineProperty(exports,"ToastProvider",{enumerable:true,get:function(){return chunkROFBF3PJ_cjs.b}});Object.defineProperty(exports,"ToastViewport",{enumerable:true,get:function(){return chunkROFBF3PJ_cjs.c}});Object.defineProperty(exports,"useToast",{enumerable:true,get:function(){return chunkROFBF3PJ_cjs.a}});Object.defineProperty(exports,"useToastHelpers",{enumerable:true,get:function(){return chunkROFBF3PJ_cjs.d}});Object.defineProperty(exports,"Combobox",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.e}});Object.defineProperty(exports,"ComboboxBase",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.a}});Object.defineProperty(exports,"ComboboxInput",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.b}});Object.defineProperty(exports,"ComboboxListbox",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.c}});Object.defineProperty(exports,"ComboboxOption",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.d}});Object.defineProperty(exports,"useAnnounceLoading",{enumerable:true,get:function(){return chunkJS3UD7KS_cjs.c}});Object.defineProperty(exports,"useAnnounceOnChange",{enumerable:true,get:function(){return chunkJS3UD7KS_cjs.b}});Object.defineProperty(exports,"useAnnouncer",{enumerable:true,get:function(){return chunkJS3UD7KS_cjs.a}});Object.defineProperty(exports,"useGridKeyboard",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.d}});Object.defineProperty(exports,"useKeyPressed",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.f}});Object.defineProperty(exports,"useKeyboard",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.a}});Object.defineProperty(exports,"useMenuKeyboard",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.b}});Object.defineProperty(exports,"useTabsKeyboard",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.c}});Object.defineProperty(exports,"useTypeAhead",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.e}});Object.defineProperty(exports,"useId",{enumerable:true,get:function(){return chunkMAR6RBHF_cjs.a}});Object.defineProperty(exports,"useIdScope",{enumerable:true,get:function(){return chunkMAR6RBHF_cjs.c}});Object.defineProperty(exports,"useIds",{enumerable:true,get:function(){return chunkMAR6RBHF_cjs.b}});Object.defineProperty(exports,"announce",{enumerable:true,get:function(){return core.announce}});Object.defineProperty(exports,"announceAssertive",{enumerable:true,get:function(){return core.announceAssertive}});Object.defineProperty(exports,"announceError",{enumerable:true,get:function(){return core.announceError}});Object.defineProperty(exports,"announcePolite",{enumerable:true,get:function(){return core.announcePolite}});Object.defineProperty(exports,"announceProgress",{enumerable:true,get:function(){return core.announceProgress}});Object.defineProperty(exports,"announceStatus",{enumerable:true,get:function(){return core.announceStatus}});Object.defineProperty(exports,"aria",{enumerable:true,get:function(){return core.aria}});Object.defineProperty(exports,"buildAriaProps",{enumerable:true,get:function(){return core.buildAriaProps}});Object.defineProperty(exports,"checks",{enumerable:true,get:function(){return core.checks}});Object.defineProperty(exports,"createComponentWarnings",{enumerable:true,get:function(){return core.createComponentWarnings}});Object.defineProperty(exports,"hasAccessibleName",{enumerable:true,get:function(){return core.hasAccessibleName}});Object.defineProperty(exports,"isAndroid",{enumerable:true,get:function(){return core.isAndroid}});Object.defineProperty(exports,"isBrowser",{enumerable:true,get:function(){return core.isBrowser}});Object.defineProperty(exports,"isIOS",{enumerable:true,get:function(){return core.isIOS}});Object.defineProperty(exports,"isMac",{enumerable:true,get:function(){return core.isMac}});Object.defineProperty(exports,"mergeAriaIds",{enumerable:true,get:function(){return core.mergeAriaIds}});Object.defineProperty(exports,"prefersDarkMode",{enumerable:true,get:function(){return core.prefersDarkMode}});Object.defineProperty(exports,"prefersHighContrast",{enumerable:true,get:function(){return core.prefersHighContrast}});Object.defineProperty(exports,"prefersReducedMotion",{enumerable:true,get:function(){return core.prefersReducedMotion}});Object.defineProperty(exports,"setWarningHandler",{enumerable:true,get:function(){return core.setWarningHandler}});Object.defineProperty(exports,"warn",{enumerable:true,get:function(){return core.warn}});exports.Alert=Eo;exports.Button=Ct;exports.Checkbox=Qt;exports.CheckboxBase=Ae;exports.CheckboxGroup=Fe;exports.CheckboxIndicator=Oe;exports.Input=mo;exports.InputBase=_e;exports.InputError=qe;exports.InputField=We;exports.InputHint=Ue;exports.InputLabel=je;exports.Listbox=so;exports.ListboxBase=Ge;exports.ListboxGroup=Ke;exports.ListboxOption=$e;exports.Radio=Ne;exports.RadioGroup=to;exports.RadioGroupBase=Ve;exports.Select=_t;exports.SelectBase=lt;exports.SelectListbox=ut;exports.SelectOptionItem=we;exports.SelectTrigger=ct;exports.SkipLink=Co;exports.Switch=ht;exports.Textarea=To;exports.TextareaBase=et;exports.TextareaError=Qe;exports.TextareaField=Ze;exports.TextareaHint=Je;exports.TextareaLabel=Xe;exports.VisuallyHidden=Ro;exports.useCheckboxGroupContext=bt;exports.useFocusControl=Bt;exports.useFocusManager=Dt;exports.useFocusNeighbor=$t;exports.useFocusReturn=Kt;exports.useFocusVisible=oe;exports.useFocusWithin=zt;exports.useInputContext=Ce;exports.useListboxContext=ze;exports.useRadioGroupContext=yt;exports.useRovingTabindex=ot;exports.useRovingTabindexMap=Gt;exports.useTextareaContext=Se;
|
|
1
|
+
'use strict';var chunkPO5IUVYY_cjs=require('./chunk-PO5IUVYY.cjs'),chunkASK7XTJD_cjs=require('./chunk-ASK7XTJD.cjs'),chunkBFN4HW4Y_cjs=require('./chunk-BFN4HW4Y.cjs'),chunkROFBF3PJ_cjs=require('./chunk-ROFBF3PJ.cjs'),chunkFOVHQAY5_cjs=require('./chunk-FOVHQAY5.cjs'),chunkJS3UD7KS_cjs=require('./chunk-JS3UD7KS.cjs'),chunkAJ7JSWUT_cjs=require('./chunk-AJ7JSWUT.cjs'),chunkMAR6RBHF_cjs=require('./chunk-MAR6RBHF.cjs'),tr=require('react'),core=require('@compa11y/core'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var tr__default=/*#__PURE__*/_interopDefault(tr);function oe(){let[p,t]=tr.useState(false);tr.useEffect(()=>core.initFocusVisible(),[]);let s=tr.useCallback(()=>{t(core.isFocusVisible());},[]),r=tr.useCallback(()=>{t(false);},[]);return {isFocusVisible:p,focusProps:{onFocus:s,onBlur:r}}}function Dt(p={}){let{autoFocus:t=false,restoreFocus:s=false,focusVisible:r=true}=p,e=tr.useCallback(n=>{n&&t&&requestAnimationFrame(()=>{r?core.focusWithVisibleRing(n):n.focus();});},[t,r]);return tr.useEffect(()=>{if(!s)return;let n=document.activeElement;return ()=>{n&&n.focus&&n.focus();}},[s]),e}function Bt(){let p=tr.useCallback(s=>{},[]),t=tr.useCallback(s=>{let r=p;r.current&&(s?.visible?core.focusWithVisibleRing(r.current):r.current.focus());},[]);return {ref:p,focus:t}}function zt(){let[p,t]=tr.useState(false),s=tr.useCallback(n=>{},[]),r=tr.useCallback(()=>{t(true);},[]),e=tr.useCallback(n=>{let i=n.currentTarget,d=n.relatedTarget;(!d||!i.contains(d))&&t(false);},[]);return {ref:s,hasFocus:p,focusWithinProps:{onFocus:r,onBlur:e}}}function ot(p){let{itemCount:t,initialIndex:s=0,wrap:r=true,orientation:e="both",onChange:n}=p,[i,d]=tr.useState(s),o=tr.useRef([]);tr.useEffect(()=>{i>=t&&d(Math.max(0,t-1));},[t,i]);let a=tr.useCallback(c=>{let u=c;u<0?u=r?t-1:0:u>=t&&(u=r?0:t-1),d(u),n?.(u),o.current[u]?.focus();},[t,r,n]),f=tr.useCallback((c,u)=>{let x=false;switch(c.key){case "ArrowRight":(e==="horizontal"||e==="both")&&(a(u+1),x=true);break;case "ArrowLeft":(e==="horizontal"||e==="both")&&(a(u-1),x=true);break;case "ArrowDown":(e==="vertical"||e==="both")&&(a(u+1),x=true);break;case "ArrowUp":(e==="vertical"||e==="both")&&(a(u-1),x=true);break;case "Home":a(0),x=true;break;case "End":a(t-1),x=true;break}x&&(c.preventDefault(),c.stopPropagation());},[e,a,t]),l=tr.useCallback(c=>({ref:u=>{o.current[c]=u;},tabIndex:c===i?0:-1,onKeyDown:u=>f(u,c),onFocus:()=>{c!==i&&(d(c),n?.(c));}}),[i,f,n]);return {activeIndex:i,setActiveIndex:a,getItemProps:l,first:()=>a(0),last:()=>a(t-1),next:()=>a(i+1),previous:()=>a(i-1)}}function Gt(p,t={}){let s=ot({...t,itemCount:p.length}),r=tr.useCallback(n=>{let i=p.indexOf(n);if(i===-1)throw new Error(`Unknown item ID: ${n}`);return s.getItemProps(i)},[p,s]),e=p[s.activeIndex];return {...s,activeId:e,getItemProps:r,setActiveId:n=>{let i=p.indexOf(n);i!==-1&&s.setActiveIndex(i);}}}function $t(p){let t=tr.useRef(null),s=tr.useRef(p);s.current=p;let r=tr.useCallback(()=>t.current?core.findFocusNeighbor(t.current,s.current):null,[]),e=tr.useCallback(()=>{r()?.focus();},[r]);return {ref:t,getNeighbor:r,focusNeighbor:e}}function Kt(){let p=tr.useRef(core.createFocusReturn()),t=tr.useCallback(e=>{p.current.save(e);},[]),s=tr.useCallback(e=>{p.current.return(e);},[]),r=tr.useCallback(()=>{p.current.clear();},[]);return {save:t,returnFocus:s,clear:r}}var vn=core.createComponentWarnings("Select"),qt=tr.createContext(null);function st(){let p=tr.useContext(qt);if(!p)throw new Error("Select compound components must be used within a Select component");return p}function jt(p,t,s){let r=p.length,e=t+s;e<0&&(e=r-1),e>=r&&(e=0);let n=e;for(;p[e]?.disabled;)if(e+=s,e<0&&(e=r-1),e>=r&&(e=0),e===n)return -1;return e}function Wt(p){return p.findIndex(t=>!t.disabled)}function Ut(p){for(let t=p.length-1;t>=0;t--)if(!p[t]?.disabled)return t;return -1}function lt({options:p,value:t,defaultValue:s,onValueChange:r,disabled:e=false,placeholder:n="Select an option...","aria-label":i,"aria-labelledby":d,children:o}){let[a,f]=tr.useState(s??null),[l,c]=tr.useState(false),[u,x]=tr.useState(-1),b=tr.useRef(null),T=t!==void 0?t:a,C=chunkMAR6RBHF_cjs.a("select-trigger"),L=chunkMAR6RBHF_cjs.a("select-listbox"),S=chunkMAR6RBHF_cjs.a("select-option"),m=tr.useCallback(k=>{t===void 0&&f(k),r?.(k);},[t,r]),h=tr.useCallback(k=>`${S}-${k}`,[S]),H=tr.useCallback(k=>{m(k.value),c(false),x(-1),b.current?.focus();},[m]);tr.useEffect(()=>{!i&&!d&&vn.warning("Select has no accessible label.","Add aria-label or aria-labelledby prop.");},[i,d]);let R={selectedValue:T,setSelectedValue:m,isOpen:l,setIsOpen:c,highlightedIndex:u,setHighlightedIndex:x,options:p,triggerId:C,listboxId:L,getOptionId:h,onSelect:H,triggerRef:b,placeholder:n,disabled:e};return jsxRuntime.jsx(qt.Provider,{value:R,children:jsxRuntime.jsx("div",{"data-compa11y-select":true,"data-disabled":e||void 0,children:o})})}var ct=tr.forwardRef(function({placeholder:t,onKeyDown:s,onClick:r,onBlur:e,...n},i){let{selectedValue:d,isOpen:o,setIsOpen:a,highlightedIndex:f,setHighlightedIndex:l,options:c,triggerId:u,listboxId:x,getOptionId:b,onSelect:T,triggerRef:C,placeholder:L,disabled:S}=st(),m=t??L,{announce:h}=chunkJS3UD7KS_cjs.a(),H=chunkAJ7JSWUT_cjs.e(c.map(y=>y.label),y=>{let O=c.findIndex(F=>F.label===y&&!F.disabled);O>=0&&(o||a(true),l(O));},{disabled:S}),R=tr.useCallback((y=false)=>{a(true);let O=c.findIndex(F=>F.value===d);O>=0?l(O):l(y?Ut(c):Wt(c));},[c,d,a,l]),k=chunkAJ7JSWUT_cjs.a({ArrowDown:()=>{if(!o)R();else {let y=jt(c,f,1);y>=0&&l(y);}},ArrowUp:()=>{if(!o)R(true);else {let y=jt(c,f,-1);y>=0&&l(y);}},Enter:()=>{if(o&&f>=0){let y=c[f];y&&!y.disabled&&(T(y),h(`${y.label} selected`));}else o||R();},Space:()=>{if(o&&f>=0){let y=c[f];y&&!y.disabled&&(T(y),h(`${y.label} selected`));}else o||R();},Escape:()=>{o&&(a(false),l(-1));},Home:()=>{o&&l(Wt(c));},End:()=>{o&&l(Ut(c));},Tab:()=>(o&&(a(false),l(-1)),false)},{preventDefault:true,stopPropagation:false}),A=y=>{s?.(y),y.defaultPrevented||k.onKeyDown(y),y.defaultPrevented||H.onKeyDown(y);},N=y=>{r?.(y),!y.defaultPrevented&&!S&&(o?(a(false),l(-1)):R());},V=y=>{e?.(y),setTimeout(()=>{a(false),l(-1);},150);},$=o&&f>=0?b(f):void 0,g=c.find(y=>y.value===d),K=g?.label??m,P=tr.useCallback(y=>{C.current=y,typeof i=="function"?i(y):i&&(i.current=y);},[i,C]);return jsxRuntime.jsxs("button",{ref:P,id:u,type:"button",role:"combobox","aria-expanded":o,"aria-controls":x,"aria-haspopup":"listbox","aria-activedescendant":$,disabled:S,onKeyDown:A,onClick:N,onBlur:V,"data-compa11y-select-trigger":true,"data-placeholder":!g||void 0,...n,children:[jsxRuntime.jsx("span",{"data-compa11y-select-value":true,children:K}),jsxRuntime.jsx("span",{"aria-hidden":"true","data-compa11y-select-chevron":true,children:"\u25BC"})]})}),dt=tr.forwardRef(function({children:t,style:s,...r},e){let{isOpen:n,options:i,listboxId:d,triggerId:o}=st(),{announce:a}=chunkJS3UD7KS_cjs.a(),f=tr.useRef(null),[l,c]=tr.useState("bottom");tr.useEffect(()=>{n&&a(`${i.length} option${i.length===1?"":"s"} available`);},[n,i.length,a]),tr.useLayoutEffect(()=>{if(n&&f.current){let C=f.current.getBoundingClientRect(),S=window.innerHeight-C.top,m=C.top,h=Math.min(C.height,200);S<h+50&&m>S?c("top"):c("bottom");}},[n]);let u=T=>{T.preventDefault();},x=tr.useCallback(T=>{f.current=T,typeof e=="function"?e(T):e&&(e.current=T);},[e]);return n?jsxRuntime.jsx("ul",{ref:x,id:d,role:"listbox","aria-labelledby":o,style:{...s,...l==="top"?{bottom:"100%",top:"auto",marginBottom:"4px",marginTop:0}:{}},onMouseDown:u,"data-compa11y-select-listbox":true,"data-position":l,...r,children:t??i.map((T,C)=>jsxRuntime.jsx(we,{option:T,index:C},T.value))}):null}),we=tr.forwardRef(function({option:t,index:s,onClick:r,onMouseEnter:e,...n},i){let{selectedValue:d,highlightedIndex:o,setHighlightedIndex:a,getOptionId:f,onSelect:l}=st(),{announce:c}=chunkJS3UD7KS_cjs.a(),u=tr.useRef(null),x=d===t.value,b=o===s,T=f(s);tr.useEffect(()=>{b&&u.current&&u.current.scrollIntoView({block:"nearest",behavior:"smooth"});},[b]);let C=m=>{r?.(m),!m.defaultPrevented&&!t.disabled&&(l(t),c(`${t.label} selected`));},L=m=>{e?.(m),t.disabled||a(s);},S=tr.useCallback(m=>{u.current=m,typeof i=="function"?i(m):i&&(i.current=m);},[i]);return jsxRuntime.jsxs("li",{ref:S,id:T,role:"option","aria-selected":x,"aria-disabled":t.disabled,"data-highlighted":b,"data-selected":x,"data-disabled":t.disabled,onClick:C,onMouseEnter:L,"data-compa11y-select-option":true,...n,children:[jsxRuntime.jsx("span",{"data-compa11y-select-option-text":true,children:t.label}),x&&jsxRuntime.jsx("span",{"aria-hidden":"true","data-compa11y-select-check":true,children:"\u2713"})]})}),_t=Object.assign(lt,{Trigger:ct,Listbox:dt,Option:we});var Zt=core.createComponentWarnings("Checkbox"),In=()=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:{display:"block"},children:jsxRuntime.jsx("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),En=()=>jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:{display:"block"},children:jsxRuntime.jsx("path",{d:"M3 6H9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})}),Jt=tr.createContext(null);function bt(){return tr.useContext(Jt)}var Fe=tr.forwardRef(function({value:t,defaultValue:s=[],onValueChange:r,disabled:e=false,legend:n,error:i,orientation:d="vertical",name:o,unstyled:a=false,className:f="",children:l,"aria-label":c,"aria-labelledby":u},x){let b=chunkMAR6RBHF_cjs.a("checkbox-group"),T=o||b,C=chunkMAR6RBHF_cjs.a("checkbox-group-error"),[L,S]=tr.useState(s),m=t!==void 0,h=m?t:L;tr.useEffect(()=>{!n&&!c&&!u&&Zt.warning("CheckboxGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[n,c,u]);let H=tr.useCallback((g,K)=>{let P=m?t:L,y=K?[...P,g]:P.filter(O=>O!==g);m||S(y),r?.(y);},[m,t,L,r]),R={name:T,value:h,disabled:e,unstyled:a,onCheckboxChange:H},k=!!i,A={border:"none",margin:0,padding:0,minWidth:0},N=a?{padding:0,marginBottom:"0.5rem"}:{padding:0,marginBottom:"0.5rem",fontWeight:600},V={display:"flex",flexDirection:d==="horizontal"?"row":"column",flexWrap:d==="horizontal"?"wrap":void 0,gap:"var(--compa11y-checkbox-group-gap, 0.75rem)"},$=a?{marginTop:"0.25rem"}:{color:"var(--compa11y-checkbox-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"};return jsxRuntime.jsx(Jt.Provider,{value:R,children:jsxRuntime.jsxs("fieldset",{ref:x,className:f,"aria-label":c,"aria-labelledby":u,"aria-describedby":k?C:void 0,disabled:e,"data-compa11y-checkbox-group":"","data-orientation":d,"data-disabled":e?"true":void 0,style:A,children:[n&&jsxRuntime.jsx("legend",{"data-compa11y-checkbox-group-legend":"",style:N,children:n}),jsxRuntime.jsx("div",{style:V,children:l}),k&&jsxRuntime.jsx("div",{id:C,role:"alert","data-compa11y-checkbox-group-error":"",style:$,children:i})]})})});Fe.displayName="CheckboxGroup";var Ae=tr.forwardRef(function({checked:t,defaultChecked:s=false,onCheckedChange:r,indeterminate:e=false,label:n,hint:i,error:d,disabled:o=false,value:a,required:f=false,unstyled:l,className:c="",size:u="md",name:x,"aria-label":b,"aria-labelledby":T,"aria-describedby":C,onClick:L,onFocus:S,onBlur:m,...h},H){let R=bt(),k=chunkMAR6RBHF_cjs.a("checkbox"),A=`${k}-input`,N=`${k}-label`,V=`${k}-hint`,$=`${k}-error`,{announce:g}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:K,focusProps:P}=oe(),y=R!==null,O=y&&R.disabled||o,F=l??(y?R.unstyled:false),B=y?R.name:x,[q,w]=tr.useState(s),U=y?R.value.includes(a||""):t!==void 0?t:q,j=tr.useRef(null),W=tr.useCallback(de=>{j.current=de,typeof H=="function"?H(de):H&&(H.current=de);},[H]);tr.useEffect(()=>{j.current&&(j.current.indeterminate=e);},[e]),tr.useEffect(()=>{!n&&!b&&!T&&Zt.warning("Checkbox has no accessible label. Screen readers need this to identify the checkbox.",'Add label="...", aria-label="...", or aria-labelledby="..."');},[n,b,T]);let z=tr.useCallback(de=>{let ke=de.target.checked;y?R.onCheckboxChange(a||"",ke):(t===void 0&&w(ke),r?.(ke)),g(`${typeof n=="string"?n:b||"Checkbox"} ${ke?"checked":"unchecked"}`);},[y,R,a,t,r,n,b,g]),Z=tr.useCallback(de=>{P.onFocus(),S?.(de);},[P,S]),ne=tr.useCallback(de=>{P.onBlur(),m?.(de);},[P,m]),J=!!n,Q=!!i,re=!!d,Y=[];C&&Y.push(C),Q&&Y.push(V),re&&Y.push($);let be=Y.length?Y.join(" "):void 0,I={sm:{box:16},md:{box:20},lg:{box:24}}[u],E={display:"inline-flex",alignItems:"flex-start",gap:"0.5rem",cursor:O?"not-allowed":"pointer",userSelect:"none",...O&&!F?{opacity:.5}:{}},M={position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},D={position:"absolute",opacity:0,width:"100%",height:"100%",margin:0,cursor:"inherit",zIndex:1},_=F?{}:{width:I.box,height:I.box,minWidth:24,minHeight:24,border:U||e?"var(--compa11y-checkbox-checked-border, 2px solid #0066cc)":"var(--compa11y-checkbox-border, 2px solid #666)",borderRadius:"var(--compa11y-checkbox-radius, 3px)",background:U||e?"var(--compa11y-checkbox-checked-bg, #0066cc)":"var(--compa11y-checkbox-bg, white)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.15s ease",pointerEvents:"none",color:"var(--compa11y-checkbox-check-color, white)",...K?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}},ge={display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},Lo=F?{cursor:"inherit"}:{cursor:"inherit",color:"var(--compa11y-checkbox-label-color, inherit)"},Ho=F?{}:{color:"var(--compa11y-checkbox-hint-color, #666)",fontSize:"0.8125rem"},ko=F?{}:{color:"var(--compa11y-checkbox-error-color, #ef4444)",fontSize:"0.8125rem"};return jsxRuntime.jsxs("div",{className:c,"data-compa11y-checkbox":"","data-checked":U?"true":"false","data-indeterminate":e?"true":void 0,"data-disabled":O?"true":void 0,"data-size":u,style:E,children:[jsxRuntime.jsxs("div",{style:M,children:[jsxRuntime.jsx("input",{ref:W,type:"checkbox",id:A,name:B,value:a,checked:U,onChange:z,onClick:L,onFocus:Z,onBlur:ne,disabled:O,required:f,"aria-required":f||void 0,"aria-invalid":re||void 0,"aria-label":!J&&!T?b:void 0,"aria-labelledby":T||(J?N:void 0),"aria-describedby":be,"aria-checked":e?"mixed":U,tabIndex:O?-1:0,style:D,...h}),!F&&jsxRuntime.jsxs("div",{"data-compa11y-checkbox-indicator":"","aria-hidden":"true",style:_,children:[U&&!e&&jsxRuntime.jsx(In,{}),e&&jsxRuntime.jsx(En,{})]})]}),(J||Q||re)&&jsxRuntime.jsxs("div",{style:ge,children:[J&&jsxRuntime.jsxs("label",{htmlFor:A,id:N,"data-compa11y-checkbox-label":"",style:Lo,children:[n,f&&jsxRuntime.jsx("span",{"aria-hidden":"true",style:{color:"var(--compa11y-checkbox-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),Q&&jsxRuntime.jsx("div",{id:V,"data-compa11y-checkbox-hint":"",style:Ho,children:i}),re&&jsxRuntime.jsx("div",{id:$,role:"alert","data-compa11y-checkbox-error":"",style:ko,children:d})]})]})});Ae.displayName="Checkbox";var Oe=tr.forwardRef(function({children:t,className:s},r){return jsxRuntime.jsx("div",{ref:r,className:s,"data-compa11y-checkbox-indicator":"","aria-hidden":"true",children:t})});Oe.displayName="CheckboxIndicator";var Qt=Object.assign(Ae,{Group:Fe,Indicator:Oe});var Mn=core.createComponentWarnings("RadioGroup"),xt=tr.createContext(null);function yt(){let p=tr.useContext(xt);if(!p)throw new Error("[Compa11y RadioGroup]: Radio must be used within a RadioGroup.");return p}var Ve=tr.forwardRef(function({value:t,defaultValue:s,onValueChange:r,disabled:e=false,discoverable:n=true,required:i=false,orientation:d="vertical",name:o,legend:a,hint:f,error:l,unstyled:c=false,className:u="",children:x,"aria-label":b,"aria-labelledby":T},C){let L=chunkMAR6RBHF_cjs.a("radiogroup"),S=o||L,m=chunkMAR6RBHF_cjs.a("radiogroup-hint"),h=chunkMAR6RBHF_cjs.a("radiogroup-error"),[H,R]=tr.useState(s??null),k=t!==void 0,A=k?t:H,N=tr.useRef(new Map);tr.useEffect(()=>{!a&&!b&&!T&&Mn.warning("RadioGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[a,b,T]);let V=tr.useCallback(W=>{e||(k||R(W),r?.(W));},[e,k,r]),$=tr.useCallback((W,z)=>{N.current.set(W,z);},[]),g=tr.useCallback(W=>{N.current.delete(W);},[]),K=tr.useCallback((W,z)=>{N.current.set(W,z);},[]),P=tr.useCallback(()=>{let W=[];return N.current.forEach((z,Z)=>{!z&&!e&&W.push(Z);}),W},[e]),y=tr.useRef(null),O=C||y,F=tr.useCallback(W=>{let z=P();if(z.length===0)return;let Z=A?z.indexOf(A):-1,ne;switch(W){case "next":ne=Z<0?0:(Z+1)%z.length;break;case "prev":ne=Z<0?z.length-1:(Z-1+z.length)%z.length;break;case "first":ne=0;break;case "last":ne=z.length-1;break}let J=z[ne];if(J!==void 0){V(J);let Q=typeof O=="object"&&O?O.current:null;Q&&Q.querySelector(`input[type="radio"][value="${CSS.escape(J)}"]`)?.focus();}},[P,A,V,O]),B=chunkAJ7JSWUT_cjs.a({ArrowDown:()=>F("next"),ArrowRight:()=>F("next"),ArrowUp:()=>F("prev"),ArrowLeft:()=>F("prev"),Home:()=>F("first"),End:()=>F("last")},{preventDefault:true,stopPropagation:true,disabled:e}),q={name:S,value:A??null,disabled:e,discoverable:n,required:i,unstyled:c,orientation:d,onValueChange:V,registerRadio:$,unregisterRadio:g,updateRadioDisabled:K},w=[];f&&w.push(m),l&&w.push(h);let U=w.length>0?w.join(" "):void 0,j=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{style:c?{display:"flex",flexDirection:d==="horizontal"?"row":"column"}:{display:"flex",flexDirection:d==="horizontal"?"row":"column",gap:"var(--compa11y-radio-gap, 0.75rem)"},children:x}),f&&jsxRuntime.jsx("div",{id:m,style:c?{}:{color:"var(--compa11y-radio-group-hint-color, #666)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:f}),l&&jsxRuntime.jsx("div",{id:h,role:"alert",style:c?{}:{color:"var(--compa11y-radio-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:l})]});return a?jsxRuntime.jsx(xt.Provider,{value:q,children:jsxRuntime.jsxs("fieldset",{ref:O,role:"radiogroup","aria-label":b,"aria-labelledby":T,"aria-orientation":d,"aria-required":i||void 0,"aria-disabled":e||void 0,"aria-invalid":l?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${u}`.trim(),"data-compa11y-radiogroup":"","data-orientation":d,"data-disabled":e?"true":void 0,"data-error":l?"true":void 0,onKeyDown:B.onKeyDown,style:c?{border:"none",margin:0,padding:0,minWidth:0}:{border:"none",margin:0,padding:0,minWidth:0},children:[jsxRuntime.jsxs("legend",{style:c?{}:{padding:0,marginBottom:"var(--compa11y-radio-group-legend-gap, 0.5rem)",fontWeight:"var(--compa11y-radio-group-legend-weight, 600)",color:"var(--compa11y-radio-group-legend-color, inherit)",fontSize:"var(--compa11y-radio-group-legend-size, 1rem)"},children:[a,i&&!c&&jsxRuntime.jsxs("span",{"aria-hidden":"true",style:{color:"var(--compa11y-radio-group-required-color, #ef4444)",marginLeft:"0.125rem"},children:[" ","*"]})]}),j]})}):jsxRuntime.jsx(xt.Provider,{value:q,children:jsxRuntime.jsx("div",{ref:O,role:"radiogroup","aria-label":b,"aria-labelledby":T,"aria-orientation":d,"aria-required":i||void 0,"aria-disabled":e||void 0,"aria-invalid":l?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${u}`.trim(),"data-compa11y-radiogroup":"","data-orientation":d,"data-disabled":e?"true":void 0,"data-error":l?"true":void 0,onKeyDown:B.onKeyDown,children:j})})});Ve.displayName="RadioGroup";var Ne=tr.forwardRef(function({value:t,disabled:s=false,discoverable:r,label:e,hint:n,unstyled:i,className:d="",children:o,"aria-label":a},f){let l=yt(),c=chunkMAR6RBHF_cjs.a("radio"),u=chunkMAR6RBHF_cjs.a("radio-hint"),x=l.disabled||s,b=r??l.discoverable,T=i??l.unstyled,C=l.value===t,{announce:L}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:S,focusProps:m}=oe(),h=tr.useRef(null),H=tr.useCallback(B=>{h.current=B,typeof f=="function"?f(B):f&&(f.current=B);},[f]);tr.useEffect(()=>(l.registerRadio(t,x),()=>l.unregisterRadio(t)),[t]),tr.useEffect(()=>{l.updateRadioDisabled(t,x);},[x,t]);let R=tr.useCallback(B=>{if(x){B.preventDefault();return}l.onValueChange(t),L(`${e||(typeof o=="string"?o:null)||t} selected`,{politeness:"polite"});},[x,l,t,e,o,L]),k=tr.useCallback(B=>{x&&B.preventDefault();},[x]),A=tr.useCallback(B=>{m.onFocus(),!C&&!x&&l.onValueChange(t);},[m,C,x,l,t]),N=tr.useCallback(()=>{m.onBlur();},[m]),V=!!(o||e),$=o||e,g=`${c}-label`,K=!!n,P=(()=>{if(l.value!==null)return false;let B=Array.from(h.current?.closest('[role="radiogroup"]')?.querySelectorAll('input[type="radio"]')??[]);for(let q of B){let w=q;if(!w.disabled&&w.getAttribute("aria-disabled")!=="true")return w.value===t}return false})(),y=x&&!b?-1:C||l.value===null&&P?0:-1,O=x&&!b,F=K?u:void 0;return jsxRuntime.jsxs("label",{htmlFor:c,className:`compa11y-radio-wrapper ${d}`.trim(),"data-compa11y-radio":"","data-value":t,"data-checked":C?"true":"false","data-disabled":x?"true":void 0,style:T?{display:"inline-flex",alignItems:"flex-start",cursor:x?"not-allowed":"pointer",gap:"0.5rem"}:{display:"inline-flex",alignItems:"flex-start",gap:"var(--compa11y-radio-gap, 0.5rem)",cursor:x?"not-allowed":"pointer",userSelect:"none",opacity:x?.5:1},children:[jsxRuntime.jsxs("div",{style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:[jsxRuntime.jsx("input",{ref:H,type:"radio",id:c,name:l.name,value:t,checked:C,onChange:R,onClick:k,onFocus:A,onBlur:N,disabled:O,tabIndex:y,"aria-disabled":x?"true":void 0,"aria-label":V?void 0:a,"aria-labelledby":V?g:void 0,"aria-describedby":F,required:l.required,className:"compa11y-radio-input",style:{position:"absolute",opacity:0,width:"var(--compa11y-radio-size, 1.25rem)",height:"var(--compa11y-radio-size, 1.25rem)",margin:0,cursor:x?"not-allowed":"pointer"}}),!T&&jsxRuntime.jsx("div",{className:"compa11y-radio-circle",style:{width:"var(--compa11y-radio-size, 1.25rem)",height:"var(--compa11y-radio-size, 1.25rem)",minWidth:"24px",minHeight:"24px",border:C?"var(--compa11y-radio-checked-border, 2px solid #0066cc)":"var(--compa11y-radio-border, 2px solid #666)",borderRadius:"50%",background:C?"var(--compa11y-radio-checked-bg, #0066cc)":"var(--compa11y-radio-bg, white)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.15s ease",pointerEvents:"none",...S?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}},children:jsxRuntime.jsx("div",{"aria-hidden":"true",style:{width:"var(--compa11y-radio-dot-size, 0.5rem)",height:"var(--compa11y-radio-dot-size, 0.5rem)",borderRadius:"50%",background:"var(--compa11y-radio-dot-color, white)",opacity:C?1:0,transform:C?"scale(1)":"scale(0)",transition:"all 0.15s ease"}})})]}),(V||K)&&jsxRuntime.jsxs("div",{style:T?{}:{display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},children:[V&&jsxRuntime.jsx("span",{id:g,className:"compa11y-radio-label",style:T?{}:{color:"var(--compa11y-radio-label-color, inherit)",fontSize:"var(--compa11y-radio-label-size, 1rem)"},children:$}),K&&jsxRuntime.jsx("span",{id:u,className:"compa11y-radio-hint",style:T?{}:{color:"var(--compa11y-radio-hint-color, #666)",fontSize:"var(--compa11y-radio-hint-size, 0.8125rem)"},children:n})]})]})});Ne.displayName="Radio";var to=Object.assign(Ve,{Radio:Ne});var Nn=core.createComponentWarnings("Switch"),ht=tr.forwardRef(function({checked:t,defaultChecked:s=false,onCheckedChange:r,label:e,disabled:n=false,unstyled:i=false,className:d,size:o="md","aria-label":a,"aria-labelledby":f,onClick:l,...c},u){let b=`${chunkMAR6RBHF_cjs.a("switch")}-label`,{announce:T}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:C,focusProps:L}=oe(),[S,m]=tr.useState(s),h=t!==void 0,H=h?t:S;tr.useEffect(()=>{!e&&!a&&!f&&Nn.warning("Switch has no accessible label. Screen readers need this to identify the switch.",'Add label="Description", aria-label="...", or aria-labelledby="..."');},[e,a,f]);let R=tr.useCallback(()=>{if(n)return;let w=!H;h||m(w),r?.(w),T(`${e||a||"Switch"} ${w?"on":"off"}`);},[H,n,h,r,e,a,T]),k=tr.useCallback(w=>{l?.(w),w.defaultPrevented||R();},[l,R]),A=chunkAJ7JSWUT_cjs.a({Space:()=>{R();},Enter:()=>{R();}},{preventDefault:true}),N=w=>{c.onKeyDown?.(w),w.defaultPrevented||A.onKeyDown(w);},V=a,$=f||(e?b:void 0),g={display:"inline-flex",alignItems:"center"},P={sm:{width:32,height:18,thumb:14,translate:14},md:{width:44,height:24,thumb:20,translate:20},lg:{width:56,height:30,thumb:26,translate:26}}[o],y={position:"relative",display:"inline-flex",alignItems:"center",flexShrink:0,width:P.width,height:P.height,border:"none",padding:2,cursor:n?"not-allowed":"pointer"},O=i?{}:{backgroundColor:H?"#0066cc":"#d1d5db",borderRadius:P.height/2,transition:"background-color 0.2s ease",opacity:n?.5:1},F={position:"absolute",left:2,width:P.thumb,height:P.thumb,pointerEvents:"none",transform:H?`translateX(${P.translate}px)`:"translateX(0)"},B=i?{}:{backgroundColor:"white",borderRadius:"50%",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.2)",transition:"transform 0.2s ease"},q=i?{marginLeft:8,userSelect:"none",cursor:n?"not-allowed":"pointer"}:{marginLeft:8,userSelect:"none",cursor:n?"not-allowed":"pointer",opacity:n?.5:1};return jsxRuntime.jsxs("div",{style:g,"data-compa11y-switch-wrapper":true,"data-size":o,children:[jsxRuntime.jsx("button",{ref:u,type:"button",role:"switch","aria-checked":H,"aria-label":V,"aria-labelledby":$,disabled:n,onClick:k,onKeyDown:N,className:d,style:{...y,...O,...!i&&C&&!n?{outline:"2px solid #0066cc",outlineOffset:"2px"}:{outline:"none"}},tabIndex:n?-1:0,"data-compa11y-switch":true,"data-checked":H,"data-disabled":n||void 0,"data-size":o,...c,onFocus:w=>{L.onFocus(),c.onFocus?.(w);},onBlur:w=>{L.onBlur(),c.onBlur?.(w);},children:jsxRuntime.jsx("span",{style:{...F,...B},"data-compa11y-switch-thumb":true,"aria-hidden":"true"})}),e&&jsxRuntime.jsx("label",{id:b,onClick:n?void 0:()=>R(),style:q,"data-compa11y-switch-label":true,children:e})]})});ht.displayName="Switch";var zn=core.createComponentWarnings("Listbox"),ao=tr.createContext(null);function ze(){let p=tr.useContext(ao);if(!p)throw new Error("[Compa11y Listbox]: Option/Group must be used within a Listbox.");return p}var io=tr.createContext({groupDisabled:false}),Ge=tr.forwardRef(function({value:t,defaultValue:s,onValueChange:r,multiple:e=false,disabled:n=false,discoverable:i=true,orientation:d="vertical",unstyled:o=false,className:a="",children:f,"aria-label":l,"aria-labelledby":c},u){let x=chunkMAR6RBHF_cjs.a("listbox"),{announce:b}=chunkJS3UD7KS_cjs.a(),[T,C]=tr.useState(()=>s??(e?[]:"")),L=t!==void 0,S=L?t:T,m=tr.useMemo(()=>e?new Set(Array.isArray(S)?S:[]):new Set(S?[String(S)]:[]),[S,e]),[h,H]=tr.useState(null),R=tr.useRef(new Map),[k,A]=tr.useState(0),N=tr.useCallback((v,I,E)=>{R.current.set(v,{disabled:I,label:E}),A(M=>M+1);},[]),V=tr.useCallback(v=>{R.current.delete(v),A(I=>I+1);},[]),$=tr.useCallback((v,I)=>{let E=R.current.get(v);E&&R.current.set(v,{...E,disabled:I});},[]),g=tr.useMemo(()=>{let v=[];return R.current.forEach((I,E)=>{!I.disabled&&!n&&v.push(E);}),v},[k,n]);tr.useEffect(()=>{!l&&!c&&zn.warning("Listbox has no accessible label. Screen readers need this.",'Add aria-label="..." or aria-labelledby="..."');},[l,c]);let K=tr.useCallback(v=>m.has(v),[m]),P=tr.useCallback(v=>{if(n)return;let I=R.current.get(v);if(I?.disabled)return;let E,M=I?.label||v;if(e){let D=new Set(m);D.has(v)?(D.delete(v),b(`${M} deselected`,{politeness:"polite"})):(D.add(v),b(`${M} selected`,{politeness:"polite"})),E=Array.from(D);}else E=v,b(`${M} selected`,{politeness:"polite"});L||C(E),r?.(E);},[n,e,m,L,r,b]),y=tr.useCallback(v=>{if(g.length===0)return;let I=h?g.indexOf(h):-1,E;switch(v){case "next":E=I<0?0:Math.min(I+1,g.length-1);break;case "prev":E=I<0?g.length-1:Math.max(I-1,0);break;case "first":E=0;break;case "last":E=g.length-1;break}let M=g[E];if(M!==void 0)if(H(M),e){let _=R.current.get(M)?.label||M,ge=m.has(M);b(`${_}${ge?", selected":""}`,{politeness:"polite"});}else {let _=R.current.get(M)?.label||M,ge=M;L||C(ge),r?.(ge),b(`${_} selected`,{politeness:"polite"});}},[g,h,e,L,r,b,m]),O=tr.useCallback(()=>{h&&e&&P(h);},[h,e,P]),F=tr.useCallback(v=>{if(g.length===0)return;let I=h?g.indexOf(h):-1,E;v==="next"?E=I<0?0:Math.min(I+1,g.length-1):E=I<0?g.length-1:Math.max(I-1,0);let M=g[E];M!==void 0&&(H(M),P(M));},[g,h,P]),B=tr.useCallback(()=>{if(!e||!h)return;let v=g.indexOf(h);if(v<0)return;let I=g.slice(0,v+1),E=new Set(m);I.forEach(D=>E.add(D));let M=Array.from(E);L||C(M),r?.(M),H(g[0]??null),b(`${I.length} items selected`,{politeness:"polite"});},[e,h,g,m,L,r,b]),q=tr.useCallback(()=>{if(!e||!h)return;let v=g.indexOf(h);if(v<0)return;let I=g.slice(v),E=new Set(m);I.forEach(D=>E.add(D));let M=Array.from(E);L||C(M),r?.(M),H(g[g.length-1]??null),b(`${I.length} items selected`,{politeness:"polite"});},[e,h,g,m,L,r,b]),w=tr.useCallback(()=>{if(!e)return;let v=g.every(E=>m.has(E)),I;v?(I=[],b("All deselected",{politeness:"polite"})):(I=[...g],b("All selected",{politeness:"polite"})),L||C(I),r?.(I);},[e,g,m,L,r,b]),U=tr.useMemo(()=>{let v={ArrowDown:()=>y("next"),ArrowUp:()=>y("prev"),Home:()=>y("first"),End:()=>y("last")};return e&&(v.Space=()=>O(),v["Shift+ArrowDown"]=()=>F("next"),v["Shift+ArrowUp"]=()=>F("prev"),v["Ctrl+Shift+Home"]=()=>B(),v["Ctrl+Shift+End"]=()=>q(),v["Ctrl+a"]=()=>w(),v["Meta+a"]=()=>w()),v},[e,y,O,F,B,q,w]),j=chunkAJ7JSWUT_cjs.a(U,{preventDefault:true,stopPropagation:true,disabled:n}),W=tr.useMemo(()=>Array.from(R.current.values()).map(v=>v.label),[k]),z=chunkAJ7JSWUT_cjs.e(W,v=>{for(let[I,E]of R.current.entries())if(E.label===v&&!E.disabled){if(H(I),!e){let M=I;L||C(M),r?.(M),b(`${v} selected`,{politeness:"polite"});}break}},{disabled:n}),Z=tr.useCallback(v=>{j.onKeyDown(v),v.defaultPrevented||z.onKeyDown(v);},[j,z]),ne=tr.useCallback(()=>{if(!h){if(!e&&S&&typeof S=="string"){H(S);return}if(e&&Array.isArray(S)&&S.length>0){H(S[0]??null);return}g.length>0&&H(g[0]??null);}},[h,e,S,g]),J=tr.useCallback(()=>{},[]),Q=tr.useRef(null);tr.useEffect(()=>{h&&Q.current&&Q.current.querySelector(`[data-value="${CSS.escape(h)}"]`)?.scrollIntoView({block:"nearest"});},[h]);let re=tr.useMemo(()=>({multiple:e,disabled:n,discoverable:i,unstyled:o,orientation:d,selectedValues:m,focusedValue:h,onSelect:P,onFocusOption:H,registerOption:N,unregisterOption:V,updateOptionDisabled:$,isSelected:K,listboxId:x}),[e,n,i,o,d,m,h,P,N,V,$,K,x]),Y=tr.useCallback(v=>{Q.current=v,typeof u=="function"?u(v):u&&(u.current=v);},[u]),be=h?`${x}-option-${h}`:void 0;return jsxRuntime.jsx(ao.Provider,{value:re,children:jsxRuntime.jsx("div",{ref:Y,role:"listbox","aria-label":l,"aria-labelledby":c,"aria-orientation":d,"aria-multiselectable":e||void 0,"aria-disabled":n||void 0,"aria-activedescendant":be,tabIndex:n&&!i?-1:0,className:`compa11y-listbox ${a}`.trim(),"data-compa11y-listbox":"","data-orientation":d,"data-disabled":n?"true":void 0,"data-multiple":e?"true":void 0,onKeyDown:Z,onFocus:ne,onBlur:J,style:o?{}:{width:"var(--compa11y-listbox-width, 250px)",maxHeight:"var(--compa11y-listbox-max-height, 300px)",overflowY:"auto",border:"var(--compa11y-listbox-border, 1px solid #e0e0e0)",borderRadius:"var(--compa11y-listbox-radius, 4px)",background:"var(--compa11y-listbox-bg, white)",padding:"var(--compa11y-listbox-padding, 0.25rem 0)",...n?{opacity:"var(--compa11y-listbox-disabled-opacity, 0.5)",cursor:"not-allowed"}:{}},children:f})})});Ge.displayName="Listbox";var $e=tr.forwardRef(function({value:t,disabled:s=false,discoverable:r,unstyled:e,className:n="",children:i,"aria-label":d},o){let a=ze(),{groupDisabled:f}=tr.useContext(io),l=a.disabled||f||s,c=e??a.unstyled,u=a.isSelected(t),x=a.focusedValue===t,b=`${a.listboxId}-option-${t}`,T=tr.useRef(""),C=tr.useRef(null),L=tr.useCallback(m=>{C.current=m,typeof o=="function"?o(m):o&&(o.current=m);},[o]);tr.useEffect(()=>{let m=typeof i=="string"?i:C.current?.textContent?.trim()||t;return T.current=m,a.registerOption(t,l,m),()=>a.unregisterOption(t)},[t]),tr.useEffect(()=>{a.updateOptionDisabled(t,l);},[l,t]);let S=tr.useCallback(m=>{if(l){m.preventDefault();return}a.onFocusOption(t),a.onSelect(t);},[l,a,t]);return jsxRuntime.jsxs("div",{ref:L,id:b,role:"option","aria-selected":u,"aria-disabled":l||void 0,"aria-label":d,className:`compa11y-listbox-option ${n}`.trim(),"data-compa11y-listbox-option":"","data-value":t,"data-selected":u?"true":"false","data-focused":x?"true":"false","data-disabled":l?"true":void 0,onClick:S,style:c?{cursor:l?"not-allowed":"pointer"}:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--compa11y-listbox-option-padding, 0.5rem 0.75rem)",cursor:l?"not-allowed":"pointer",userSelect:"none",transition:"background 0.1s ease",background:x?u?"var(--compa11y-listbox-option-selected-hover-bg, #cce0ff)":"var(--compa11y-listbox-option-hover-bg, #f5f5f5)":u?"var(--compa11y-listbox-option-selected-bg, #e6f0ff)":"transparent",fontWeight:u?500:"normal",opacity:l?.5:1},children:[jsxRuntime.jsx("span",{style:{flex:1},children:i}),u&&!c&&jsxRuntime.jsx("span",{"aria-hidden":"true",style:{fontSize:"0.875rem",color:"var(--compa11y-listbox-check-color, #0066cc)",marginLeft:"0.5rem"},children:"\u2713"})]})});$e.displayName="ListboxOption";var Ke=tr.forwardRef(function({label:t,disabled:s=false,unstyled:r,className:e="",children:n},i){let d=ze(),o=r??d.unstyled,a=chunkMAR6RBHF_cjs.a("listbox-group"),f=tr.useMemo(()=>({groupDisabled:d.disabled||s}),[d.disabled,s]);return jsxRuntime.jsx(io.Provider,{value:f,children:jsxRuntime.jsxs("div",{ref:i,role:"group","aria-labelledby":a,"aria-disabled":s||void 0,className:`compa11y-listbox-group ${e}`.trim(),"data-compa11y-listbox-group":"","data-disabled":s?"true":void 0,style:o?{}:{opacity:s?.5:1},children:[jsxRuntime.jsx("div",{id:a,role:"presentation",style:o?{}:{padding:"var(--compa11y-listbox-group-label-padding, 0.5rem 0.75rem 0.25rem)",fontSize:"var(--compa11y-listbox-group-label-size, 0.75rem)",fontWeight:600,color:"var(--compa11y-listbox-group-label-color, #666)",textTransform:"uppercase",letterSpacing:"0.05em"},children:t}),n]})})});Ke.displayName="ListboxGroup";var so=Object.assign(Ge,{Option:$e,Group:Ke});var fo=tr.createContext(null);function Ce(){let p=tr.useContext(fo);if(!p)throw new Error("[Compa11y Input]: Input sub-components (Input.Label, Input.Field, etc.) must be used within <Input>.");return p}var je=tr.forwardRef(function({children:t,className:s},r){let e=Ce();return jsxRuntime.jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-input-label":"",className:s,style:e.unstyled?{}:{display:"block",color:e.disabled?"var(--compa11y-input-disabled-color, #999)":"var(--compa11y-input-label-color, inherit)",fontSize:"var(--compa11y-input-label-size, 0.875rem)",fontWeight:"var(--compa11y-input-label-weight, 500)"},children:[t,e.required&&jsxRuntime.jsx("span",{"data-compa11y-input-required":"","aria-hidden":"true",style:e.unstyled?{}:{color:"var(--compa11y-input-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]})});je.displayName="InputLabel";var We=tr.forwardRef(function({type:t="text",onFocus:s,onBlur:r,className:e,style:n,...i},d){let o=Ce(),a=tr.useRef(null),f=tr.useCallback(b=>{a.current=b,typeof d=="function"?d(b):d&&(d.current=b);},[d]),l=tr.useCallback(b=>{o.setValue(b.target.value);},[o.setValue]),c=tr.useCallback(b=>{o.focusProps.onFocus(),s?.(b);},[o.focusProps,s]),u=tr.useCallback(b=>{o.focusProps.onBlur(),r?.(b);},[o.focusProps,r]),x=[];return o.hasHint&&x.push(o.hintId),o.hasError&&x.push(o.errorId),jsxRuntime.jsx("input",{ref:f,id:o.fieldId,type:t,value:o.value,onChange:l,onFocus:c,onBlur:u,disabled:o.disabled,readOnly:o.readOnly,"aria-describedby":x.join(" ")||void 0,"aria-invalid":o.hasError?"true":void 0,"aria-required":o.required?"true":void 0,"data-compa11y-input-field":"",className:e,style:o.unstyled?n:{width:"100%",padding:"var(--compa11y-input-padding, 0.5rem 0.75rem)",border:o.hasError?"1px solid var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border, 1px solid #ccc)",borderRadius:"var(--compa11y-input-radius, 4px)",fontSize:"var(--compa11y-input-font-size, 0.875rem)",fontFamily:"inherit",background:o.disabled?"var(--compa11y-input-disabled-bg, #f5f5f5)":o.readOnly?"var(--compa11y-input-readonly-bg, #f9f9f9)":"var(--compa11y-input-bg, white)",color:"inherit",cursor:o.disabled?"not-allowed":void 0,opacity:o.disabled?"var(--compa11y-input-disabled-opacity, 0.7)":void 0,...o.isFocusVisible&&!o.disabled?{outline:o.hasError?"2px solid var(--compa11y-input-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:o.hasError?"var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border-focus, #0066cc)"}:{},...n},...i})});We.displayName="InputField";var Ue=tr.forwardRef(function({children:t,className:s},r){let e=Ce();return tr.useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsxRuntime.jsx("div",{ref:r,id:e.hintId,"data-compa11y-input-hint":"",className:s,style:e.unstyled?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:t})});Ue.displayName="InputHint";var qe=tr.forwardRef(function({children:t,className:s},r){let e=Ce();return t?jsxRuntime.jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-input-error":"",className:s,style:e.unstyled?{}:{color:"var(--compa11y-input-error-color, #ef4444)",fontSize:"var(--compa11y-input-error-size, 0.8125rem)"},children:t}):null});qe.displayName="InputError";var _e=tr.forwardRef(function({value:t,defaultValue:s="",onValueChange:r,type:e="text",label:n,hint:i,error:d,required:o=false,disabled:a=false,readOnly:f=false,"aria-label":l,"aria-labelledby":c,placeholder:u,name:x,autoComplete:b,maxLength:T,minLength:C,pattern:L,inputMode:S,id:m,unstyled:h=false,className:H,onFocus:R,onBlur:k,children:A},N){let V=chunkMAR6RBHF_cjs.a("input"),$=m||V,g=`${$}-field`,K=`${$}-label`,P=`${$}-hint`,y=`${$}-error`,[O,F]=tr.useState(s),B=t!==void 0,q=B?t:O,[w,U]=tr.useState(false),j=tr.useCallback(_=>{B||F(_),r?.(_);},[B,r]),{isFocusVisible:W,focusProps:z}=oe(),Z=tr.useRef(null),ne=tr.useCallback(_=>{Z.current=_,typeof N=="function"?N(_):N&&(N.current=_);},[N]),J=tr.useCallback(_=>{j(_.target.value);},[j]),Q=tr.useCallback(_=>{z.onFocus(),R?.(_);},[z,R]),re=tr.useCallback(_=>{z.onBlur(),k?.(_);},[z,k]);tr.useEffect(()=>{process.env.NODE_ENV!=="production"&&!(tr.Children.count(A)>0)&&!n&&!l&&!c&&console.warn("[Compa11y Input]: Input has no accessible label. Screen readers need this to identify the input. Use label prop, aria-label, or aria-labelledby.");},[A,n,l,c]);let Y=!!d,be=tr.Children.count(A)>0,v={fieldId:g,labelId:K,hintId:P,errorId:y,value:q,setValue:j,hasError:Y,hasHint:be?w:!!i,setHasHint:U,disabled:a,readOnly:f,required:o,isFocusVisible:W,focusProps:z,unstyled:h},I={"data-compa11y-input":"","data-error":Y?"true":"false","data-disabled":a?"true":"false","data-required":o?"true":"false","data-readonly":f?"true":"false"},E=h?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"};if(be)return jsxRuntime.jsx(fo.Provider,{value:v,children:jsxRuntime.jsx("div",{...I,className:H,style:E,children:A})});let M=[];i&&M.push(P),Y&&M.push(y);let D=M.length>0?M.join(" "):void 0;return jsxRuntime.jsxs("div",{...I,className:H,style:E,children:[n&&jsxRuntime.jsxs("label",{id:K,htmlFor:g,"data-compa11y-input-label":"",style:h?{}:{display:"block",color:a?"var(--compa11y-input-disabled-color, #999)":"var(--compa11y-input-label-color, inherit)",fontSize:"var(--compa11y-input-label-size, 0.875rem)",fontWeight:"var(--compa11y-input-label-weight, 500)"},children:[n,o&&jsxRuntime.jsx("span",{"data-compa11y-input-required":"","aria-hidden":"true",style:h?{}:{color:"var(--compa11y-input-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),jsxRuntime.jsx("input",{ref:ne,id:g,type:e,value:q,onChange:J,onFocus:Q,onBlur:re,disabled:a,readOnly:f,required:o,placeholder:u,name:x,autoComplete:b,maxLength:T,minLength:C,pattern:L,inputMode:S,"aria-label":n?void 0:l,"aria-labelledby":!n&&c?c:n?K:void 0,"aria-describedby":D,"aria-invalid":Y?"true":void 0,"aria-required":o?"true":void 0,"data-compa11y-input-field":"",style:h?{}:{width:"100%",padding:"var(--compa11y-input-padding, 0.5rem 0.75rem)",border:Y?"1px solid var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border, 1px solid #ccc)",borderRadius:"var(--compa11y-input-radius, 4px)",fontSize:"var(--compa11y-input-font-size, 0.875rem)",fontFamily:"inherit",background:a?"var(--compa11y-input-disabled-bg, #f5f5f5)":f?"var(--compa11y-input-readonly-bg, #f9f9f9)":"var(--compa11y-input-bg, white)",color:"inherit",cursor:a?"not-allowed":void 0,opacity:a?"var(--compa11y-input-disabled-opacity, 0.7)":void 0,...W&&!a?{outline:Y?"2px solid var(--compa11y-input-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:Y?"var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border-focus, #0066cc)"}:{}}}),i&&jsxRuntime.jsx("div",{id:P,"data-compa11y-input-hint":"",style:h?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:i}),Y&&jsxRuntime.jsx("div",{id:y,role:"alert","data-compa11y-input-error":"",style:h?{}:{color:"var(--compa11y-input-error-color, #ef4444)",fontSize:"var(--compa11y-input-error-size, 0.8125rem)"},children:d})]})});_e.displayName="Input";var mo=Object.assign(_e,{Label:je,Field:We,Hint:Ue,Error:qe});var Un={primary:{background:"var(--compa11y-button-primary-bg, #0066cc)",color:"var(--compa11y-button-primary-color, white)",border:"var(--compa11y-button-primary-border, 1px solid #0066cc)"},secondary:{background:"var(--compa11y-button-secondary-bg, white)",color:"var(--compa11y-button-secondary-color, #333)",border:"var(--compa11y-button-secondary-border, 1px solid #ccc)"},danger:{background:"var(--compa11y-button-danger-bg, #ef4444)",color:"var(--compa11y-button-danger-color, white)",border:"var(--compa11y-button-danger-border, 1px solid #ef4444)"},outline:{background:"var(--compa11y-button-outline-bg, transparent)",color:"var(--compa11y-button-outline-color, #0066cc)",border:"var(--compa11y-button-outline-border, 1px solid #0066cc)"},ghost:{background:"var(--compa11y-button-ghost-bg, transparent)",color:"var(--compa11y-button-ghost-color, #333)",border:"var(--compa11y-button-ghost-border, 1px solid transparent)"}},qn={sm:{padding:"var(--compa11y-button-padding-sm, 0.25rem 0.5rem)",fontSize:"var(--compa11y-button-font-size-sm, 0.75rem)"},md:{padding:"var(--compa11y-button-padding-md, 0.5rem 1rem)",fontSize:"var(--compa11y-button-font-size-md, 0.875rem)"},lg:{padding:"var(--compa11y-button-padding-lg, 0.75rem 1.5rem)",fontSize:"var(--compa11y-button-font-size-lg, 1rem)"}},Ct=tr.forwardRef(function({variant:t="secondary",size:s="md",type:r="button",disabled:e=false,discoverable:n=false,loading:i=false,unstyled:d=false,"aria-label":o,className:a,style:f,onClick:l,onFocus:c,onBlur:u,children:x,...b},T){let C=chunkMAR6RBHF_cjs.a("button"),L=tr.useRef(null),S=tr.useCallback(g=>{L.current=g,typeof T=="function"?T(g):T&&(T.current=g);},[T]),{isFocusVisible:m,focusProps:h}=oe();tr.useEffect(()=>{process.env.NODE_ENV!=="production"&&!x&&!o&&!b["aria-labelledby"]&&console.warn("[Compa11y Button]: Button has no accessible label. Screen readers need this to identify the button. Add text content, aria-label, or aria-labelledby.");},[x,o,b["aria-labelledby"]]);let H=e&&!n,R=e||i,k=tr.useCallback(g=>{if(R){g.preventDefault();return}l?.(g);},[R,l]),A=tr.useCallback(g=>{h.onFocus(),c?.(g);},[h,c]),N=tr.useCallback(g=>{h.onBlur(),u?.(g);},[h,u]),V={"data-compa11y-button":"","data-variant":t,"data-size":s,"data-disabled":e?"true":"false","data-loading":i?"true":"false"},$=d?{}:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"0.5rem",borderRadius:"var(--compa11y-button-radius, 4px)",fontFamily:"inherit",fontWeight:"var(--compa11y-button-font-weight, 500)",lineHeight:"1.5",cursor:R?"not-allowed":"pointer",opacity:e?"var(--compa11y-button-disabled-opacity, 0.5)":void 0,transition:"background-color 0.15s ease, border-color 0.15s ease",...Un[t],...qn[s],...m&&!H?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}};return jsxRuntime.jsxs("button",{ref:S,id:C,type:r,disabled:H,tabIndex:e&&!n?void 0:0,"aria-disabled":R?"true":void 0,"aria-busy":i?"true":void 0,"aria-label":o,onClick:k,onFocus:A,onBlur:N,className:a,style:{...$,...f},...V,...b,children:[i&&jsxRuntime.jsx("span",{"data-compa11y-button-spinner":"","aria-hidden":"true",style:d?{}:{display:"inline-block",width:"1em",height:"1em",border:"2px solid currentColor",borderRightColor:"transparent",borderRadius:"50%",animation:"compa11y-spin 0.6s linear infinite"}}),x]})});Ct.displayName="Button";var vo=tr.createContext(null);function Se(){let p=tr.useContext(vo);if(!p)throw new Error("[Compa11y Textarea]: Textarea sub-components (Textarea.Label, Textarea.Field, etc.) must be used within <Textarea>.");return p}var Xe=tr.forwardRef(function({children:t,className:s},r){let e=Se();return jsxRuntime.jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-textarea-label":"",className:s,style:e.unstyled?{}:{display:"block",color:e.disabled?"var(--compa11y-textarea-disabled-color, #999)":"var(--compa11y-textarea-label-color, inherit)",fontSize:"var(--compa11y-textarea-label-size, 0.875rem)",fontWeight:"var(--compa11y-textarea-label-weight, 500)"},children:[t,e.required&&jsxRuntime.jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:e.unstyled?{}:{color:"var(--compa11y-textarea-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]})});Xe.displayName="TextareaLabel";var Ze=tr.forwardRef(function({onFocus:t,onBlur:s,className:r,style:e,rows:n,...i},d){let o=Se(),a=tr.useRef(null),f=tr.useCallback(b=>{a.current=b,typeof d=="function"?d(b):d&&(d.current=b);},[d]),l=tr.useCallback(b=>{o.setValue(b.target.value);},[o.setValue]),c=tr.useCallback(b=>{o.focusProps.onFocus(),t?.(b);},[o.focusProps,t]),u=tr.useCallback(b=>{o.focusProps.onBlur(),s?.(b);},[o.focusProps,s]),x=[];return o.hasHint&&x.push(o.hintId),o.hasError&&x.push(o.errorId),jsxRuntime.jsx("textarea",{ref:f,id:o.fieldId,rows:n??o.rows,value:o.value,onChange:l,onFocus:c,onBlur:u,disabled:o.disabled,readOnly:o.readOnly,"aria-describedby":x.join(" ")||void 0,"aria-invalid":o.hasError?"true":void 0,"aria-required":o.required?"true":void 0,"data-compa11y-textarea-field":"",className:r,style:o.unstyled?e:{width:"100%",padding:"var(--compa11y-textarea-padding, 0.5rem 0.75rem)",border:o.hasError?"1px solid var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border, 1px solid #ccc)",borderRadius:"var(--compa11y-textarea-radius, 4px)",fontSize:"var(--compa11y-textarea-font-size, 0.875rem)",fontFamily:"inherit",lineHeight:"1.5",resize:o.resize,background:o.disabled?"var(--compa11y-textarea-disabled-bg, #f5f5f5)":o.readOnly?"var(--compa11y-textarea-readonly-bg, #f9f9f9)":"var(--compa11y-textarea-bg, white)",color:"inherit",cursor:o.disabled?"not-allowed":void 0,opacity:o.disabled?"var(--compa11y-textarea-disabled-opacity, 0.7)":void 0,...o.isFocusVisible&&!o.disabled?{outline:o.hasError?"2px solid var(--compa11y-textarea-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:o.hasError?"var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border-focus, #0066cc)"}:{},...e},...i})});Ze.displayName="TextareaField";var Je=tr.forwardRef(function({children:t,className:s},r){let e=Se();return tr.useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsxRuntime.jsx("div",{ref:r,id:e.hintId,"data-compa11y-textarea-hint":"",className:s,style:e.unstyled?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:t})});Je.displayName="TextareaHint";var Qe=tr.forwardRef(function({children:t,className:s},r){let e=Se();return t?jsxRuntime.jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-textarea-error":"",className:s,style:e.unstyled?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:t}):null});Qe.displayName="TextareaError";var et=tr.forwardRef(function({value:t,defaultValue:s="",onValueChange:r,rows:e=3,resize:n="vertical",label:i,hint:d,error:o,required:a=false,disabled:f=false,readOnly:l=false,"aria-label":c,"aria-labelledby":u,placeholder:x,name:b,autoComplete:T,maxLength:C,minLength:L,id:S,unstyled:m=false,className:h,onFocus:H,onBlur:R,children:k},A){let N=chunkMAR6RBHF_cjs.a("textarea"),V=S||N,$=`${V}-field`,g=`${V}-label`,K=`${V}-hint`,P=`${V}-error`,[y,O]=tr.useState(s),F=t!==void 0,B=F?t:y,q=tr.useCallback(D=>{F||O(D),r?.(D);},[F,r]),{isFocusVisible:w,focusProps:U}=oe();tr.useEffect(()=>{process.env.NODE_ENV!=="production"&&!(tr.Children.count(k)>0)&&!i&&!c&&!u&&console.warn("[Compa11y Textarea]: Textarea has no accessible label. Screen readers need this to identify the textarea. Use label prop, aria-label, or aria-labelledby.");},[k,i,c,u]);let j=!!o,[W,z]=tr.useState(false),Z=tr.Children.count(k)>0,ne={fieldId:$,labelId:g,hintId:K,errorId:P,value:B,setValue:q,hasError:j,hasHint:Z?W:!!d,setHasHint:z,disabled:f,readOnly:l,required:a,rows:e,resize:n,isFocusVisible:w,focusProps:U,unstyled:m},J={"data-compa11y-textarea":"","data-error":j?"true":"false","data-disabled":f?"true":"false","data-required":a?"true":"false","data-readonly":l?"true":"false"},Q=m?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"},re=tr.useRef(null),Y=tr.useCallback(D=>{re.current=D,typeof A=="function"?A(D):A&&(A.current=D);},[A]),be=tr.useCallback(D=>{q(D.target.value);},[q]),v=tr.useCallback(D=>{U.onFocus(),H?.(D);},[U,H]),I=tr.useCallback(D=>{U.onBlur(),R?.(D);},[U,R]);if(Z)return jsxRuntime.jsx(vo.Provider,{value:ne,children:jsxRuntime.jsx("div",{...J,className:h,style:Q,children:k})});let E=[];d&&E.push(K),j&&E.push(P);let M=E.length>0?E.join(" "):void 0;return jsxRuntime.jsxs("div",{...J,className:h,style:Q,children:[i&&jsxRuntime.jsxs("label",{id:g,htmlFor:$,"data-compa11y-textarea-label":"",style:m?{}:{display:"block",color:f?"var(--compa11y-textarea-disabled-color, #999)":"var(--compa11y-textarea-label-color, inherit)",fontSize:"var(--compa11y-textarea-label-size, 0.875rem)",fontWeight:"var(--compa11y-textarea-label-weight, 500)"},children:[i,a&&jsxRuntime.jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:m?{}:{color:"var(--compa11y-textarea-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),jsxRuntime.jsx("textarea",{ref:Y,id:$,rows:e,value:B,onChange:be,onFocus:v,onBlur:I,disabled:f,readOnly:l,required:a,placeholder:x,name:b,autoComplete:T,maxLength:C,minLength:L,"aria-label":i?void 0:c,"aria-labelledby":!i&&u?u:i?g:void 0,"aria-describedby":M,"aria-invalid":j?"true":void 0,"aria-required":a?"true":void 0,"data-compa11y-textarea-field":"",style:m?{}:{width:"100%",padding:"var(--compa11y-textarea-padding, 0.5rem 0.75rem)",border:j?"1px solid var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border, 1px solid #ccc)",borderRadius:"var(--compa11y-textarea-radius, 4px)",fontSize:"var(--compa11y-textarea-font-size, 0.875rem)",fontFamily:"inherit",lineHeight:"1.5",resize:n,background:f?"var(--compa11y-textarea-disabled-bg, #f5f5f5)":l?"var(--compa11y-textarea-readonly-bg, #f9f9f9)":"var(--compa11y-textarea-bg, white)",color:"inherit",cursor:f?"not-allowed":void 0,opacity:f?"var(--compa11y-textarea-disabled-opacity, 0.7)":void 0,...w&&!f?{outline:j?"2px solid var(--compa11y-textarea-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:j?"var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border-focus, #0066cc)"}:{}}}),d&&jsxRuntime.jsx("div",{id:K,"data-compa11y-textarea-hint":"",style:m?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:d}),j&&jsxRuntime.jsx("div",{id:P,role:"alert","data-compa11y-textarea-error":"",style:m?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:o})]})});et.displayName="Textarea";var To=Object.assign(et,{Label:Xe,Field:Ze,Hint:Je,Error:Qe});var Qn={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},Ro=tr.forwardRef(function({focusable:t=false,style:s,children:r,...e},n){return jsxRuntime.jsx("span",{ref:n,"data-compa11y-visually-hidden":true,"data-focusable":t||void 0,style:t?void 0:{...Qn,...s},...e,children:r})});var rr={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},ar={position:"fixed",top:"0.5rem",left:"0.5rem",zIndex:99999,width:"auto",height:"auto",padding:"0.75rem 1.5rem",margin:0,overflow:"visible",clip:"auto",whiteSpace:"normal",background:"#0066cc",color:"white",fontSize:"1rem",fontWeight:600,borderRadius:"4px",border:"2px solid transparent",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.2)",outline:"2px solid #0066cc",outlineOffset:"2px",textDecoration:"none"},Co=tr.forwardRef(function({target:t="#main-content",unstyled:s=false,children:r,style:e,onClick:n,...i},d){let[o,a]=tr__default.default.useState(false),f=tr.useCallback(c=>{let u=document.querySelector(t);u&&(c.preventDefault(),!u.hasAttribute("tabindex")&&u.tabIndex<0&&u.setAttribute("tabindex","-1"),u.focus(),u.scrollIntoView({behavior:"smooth",block:"start"})),n?.(c);},[t,n]),l=s?e:o?{...ar,...e}:{...rr,...e};return jsxRuntime.jsx("a",{ref:d,href:t,"data-compa11y-skip-link":true,"data-focused":o||void 0,style:l,onFocus:()=>a(true),onBlur:()=>a(false),onClick:f,...i,children:r||"Skip to main content"})});var cr={info:"\u2139\uFE0F",success:"\u2705",warning:"\u26A0\uFE0F",error:"\u274C"},So={info:"#3b82f6",success:"#22c55e",warning:"#f59e0b",error:"#ef4444"},dr={display:"flex",alignItems:"flex-start",gap:"0.75rem",padding:"0.75rem 1rem",background:"white",border:"1px solid #e0e0e0",borderRadius:"6px"},ur={flexShrink:0,fontSize:"1.25rem",lineHeight:1,marginTop:"0.125rem"},pr={flex:1,minWidth:0},br={fontWeight:600,fontSize:"0.875rem",marginBottom:"0.125rem"},fr={color:"#555",fontSize:"0.8125rem"},mr={appearance:"none",background:"none",border:"none",padding:0,margin:0,font:"inherit",cursor:"pointer",flexShrink:0,width:"1.5rem",height:"1.5rem",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"4px",color:"#999",fontSize:"1.125rem",lineHeight:1},Eo=tr.forwardRef(function({type:t="info",title:s,dismissible:r=false,onDismiss:e,unstyled:n=false,children:i,style:d,...o},a){let f=t==="error"||t==="warning"?"alert":"status",l=tr.useCallback(()=>{e?.();},[e]),c=n?d:{...dr,borderLeft:`4px solid ${So[t]}`,...d};return jsxRuntime.jsxs("div",{ref:a,role:f,"aria-live":f==="alert"?"assertive":"polite","data-compa11y-alert":true,"data-type":t,"data-dismissible":r||void 0,style:c,...o,children:[!n&&jsxRuntime.jsx("span",{"data-compa11y-alert-icon":true,"aria-hidden":"true",style:{...ur,color:So[t]},children:cr[t]}),jsxRuntime.jsxs("div",{"data-compa11y-alert-content":true,style:n?void 0:pr,children:[s&&jsxRuntime.jsx("div",{"data-compa11y-alert-title":true,style:n?void 0:br,children:s}),jsxRuntime.jsx("div",{"data-compa11y-alert-description":true,style:n?void 0:fr,children:i})]}),r&&jsxRuntime.jsx("button",{type:"button",onClick:l,"aria-label":"Dismiss alert","data-compa11y-alert-close":true,style:n?void 0:mr,children:"\xD7"})]})});Object.defineProperty(exports,"Dialog",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.k}});Object.defineProperty(exports,"DialogActions",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.j}});Object.defineProperty(exports,"DialogBase",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.d}});Object.defineProperty(exports,"DialogClose",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.h}});Object.defineProperty(exports,"DialogContent",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.i}});Object.defineProperty(exports,"DialogDescription",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.g}});Object.defineProperty(exports,"DialogTitle",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.f}});Object.defineProperty(exports,"DialogTrigger",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.e}});Object.defineProperty(exports,"useDialogContext",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.c}});Object.defineProperty(exports,"useFocusTrap",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.a}});Object.defineProperty(exports,"useFocusTrapControls",{enumerable:true,get:function(){return chunkPO5IUVYY_cjs.b}});Object.defineProperty(exports,"ActionMenu",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.i}});Object.defineProperty(exports,"ActionMenuBase",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.c}});Object.defineProperty(exports,"ActionMenuContent",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.e}});Object.defineProperty(exports,"ActionMenuItem",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.f}});Object.defineProperty(exports,"ActionMenuLabel",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.h}});Object.defineProperty(exports,"ActionMenuSeparator",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.g}});Object.defineProperty(exports,"ActionMenuTrigger",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.d}});Object.defineProperty(exports,"useActionMenuContext",{enumerable:true,get:function(){return chunkASK7XTJD_cjs.a}});Object.defineProperty(exports,"Tab",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.d}});Object.defineProperty(exports,"TabList",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.c}});Object.defineProperty(exports,"TabPanel",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.e}});Object.defineProperty(exports,"Tabs",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.f}});Object.defineProperty(exports,"TabsBase",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.b}});Object.defineProperty(exports,"useTabsContext",{enumerable:true,get:function(){return chunkBFN4HW4Y_cjs.a}});Object.defineProperty(exports,"ToastProvider",{enumerable:true,get:function(){return chunkROFBF3PJ_cjs.b}});Object.defineProperty(exports,"ToastViewport",{enumerable:true,get:function(){return chunkROFBF3PJ_cjs.c}});Object.defineProperty(exports,"useToast",{enumerable:true,get:function(){return chunkROFBF3PJ_cjs.a}});Object.defineProperty(exports,"useToastHelpers",{enumerable:true,get:function(){return chunkROFBF3PJ_cjs.d}});Object.defineProperty(exports,"Combobox",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.e}});Object.defineProperty(exports,"ComboboxBase",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.a}});Object.defineProperty(exports,"ComboboxInput",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.b}});Object.defineProperty(exports,"ComboboxListbox",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.c}});Object.defineProperty(exports,"ComboboxOption",{enumerable:true,get:function(){return chunkFOVHQAY5_cjs.d}});Object.defineProperty(exports,"useAnnounceLoading",{enumerable:true,get:function(){return chunkJS3UD7KS_cjs.c}});Object.defineProperty(exports,"useAnnounceOnChange",{enumerable:true,get:function(){return chunkJS3UD7KS_cjs.b}});Object.defineProperty(exports,"useAnnouncer",{enumerable:true,get:function(){return chunkJS3UD7KS_cjs.a}});Object.defineProperty(exports,"useGridKeyboard",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.d}});Object.defineProperty(exports,"useKeyPressed",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.f}});Object.defineProperty(exports,"useKeyboard",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.a}});Object.defineProperty(exports,"useMenuKeyboard",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.b}});Object.defineProperty(exports,"useTabsKeyboard",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.c}});Object.defineProperty(exports,"useTypeAhead",{enumerable:true,get:function(){return chunkAJ7JSWUT_cjs.e}});Object.defineProperty(exports,"useId",{enumerable:true,get:function(){return chunkMAR6RBHF_cjs.a}});Object.defineProperty(exports,"useIdScope",{enumerable:true,get:function(){return chunkMAR6RBHF_cjs.c}});Object.defineProperty(exports,"useIds",{enumerable:true,get:function(){return chunkMAR6RBHF_cjs.b}});Object.defineProperty(exports,"announce",{enumerable:true,get:function(){return core.announce}});Object.defineProperty(exports,"announceAssertive",{enumerable:true,get:function(){return core.announceAssertive}});Object.defineProperty(exports,"announceError",{enumerable:true,get:function(){return core.announceError}});Object.defineProperty(exports,"announcePolite",{enumerable:true,get:function(){return core.announcePolite}});Object.defineProperty(exports,"announceProgress",{enumerable:true,get:function(){return core.announceProgress}});Object.defineProperty(exports,"announceStatus",{enumerable:true,get:function(){return core.announceStatus}});Object.defineProperty(exports,"aria",{enumerable:true,get:function(){return core.aria}});Object.defineProperty(exports,"buildAriaProps",{enumerable:true,get:function(){return core.buildAriaProps}});Object.defineProperty(exports,"checks",{enumerable:true,get:function(){return core.checks}});Object.defineProperty(exports,"createComponentWarnings",{enumerable:true,get:function(){return core.createComponentWarnings}});Object.defineProperty(exports,"hasAccessibleName",{enumerable:true,get:function(){return core.hasAccessibleName}});Object.defineProperty(exports,"isAndroid",{enumerable:true,get:function(){return core.isAndroid}});Object.defineProperty(exports,"isBrowser",{enumerable:true,get:function(){return core.isBrowser}});Object.defineProperty(exports,"isIOS",{enumerable:true,get:function(){return core.isIOS}});Object.defineProperty(exports,"isMac",{enumerable:true,get:function(){return core.isMac}});Object.defineProperty(exports,"mergeAriaIds",{enumerable:true,get:function(){return core.mergeAriaIds}});Object.defineProperty(exports,"prefersDarkMode",{enumerable:true,get:function(){return core.prefersDarkMode}});Object.defineProperty(exports,"prefersHighContrast",{enumerable:true,get:function(){return core.prefersHighContrast}});Object.defineProperty(exports,"prefersReducedMotion",{enumerable:true,get:function(){return core.prefersReducedMotion}});Object.defineProperty(exports,"setWarningHandler",{enumerable:true,get:function(){return core.setWarningHandler}});Object.defineProperty(exports,"warn",{enumerable:true,get:function(){return core.warn}});exports.Alert=Eo;exports.Button=Ct;exports.Checkbox=Qt;exports.CheckboxBase=Ae;exports.CheckboxGroup=Fe;exports.CheckboxIndicator=Oe;exports.Input=mo;exports.InputBase=_e;exports.InputError=qe;exports.InputField=We;exports.InputHint=Ue;exports.InputLabel=je;exports.Listbox=so;exports.ListboxBase=Ge;exports.ListboxGroup=Ke;exports.ListboxOption=$e;exports.Radio=Ne;exports.RadioGroup=to;exports.RadioGroupBase=Ve;exports.Select=_t;exports.SelectBase=lt;exports.SelectListbox=dt;exports.SelectOptionItem=we;exports.SelectTrigger=ct;exports.SkipLink=Co;exports.Switch=ht;exports.Textarea=To;exports.TextareaBase=et;exports.TextareaError=Qe;exports.TextareaField=Ze;exports.TextareaHint=Je;exports.TextareaLabel=Xe;exports.VisuallyHidden=Ro;exports.useCheckboxGroupContext=bt;exports.useFocusControl=Bt;exports.useFocusManager=Dt;exports.useFocusNeighbor=$t;exports.useFocusReturn=Kt;exports.useFocusVisible=oe;exports.useFocusWithin=zt;exports.useInputContext=Ce;exports.useListboxContext=ze;exports.useRadioGroupContext=yt;exports.useRovingTabindex=ot;exports.useRovingTabindexMap=Gt;exports.useTextareaContext=Se;
|
package/dist/index.d.cts
CHANGED
|
@@ -428,6 +428,8 @@ interface SelectProps {
|
|
|
428
428
|
}
|
|
429
429
|
declare function Select({ options, value: controlledValue, defaultValue, onValueChange, disabled, placeholder, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, children, }: SelectProps): react_jsx_runtime.JSX.Element;
|
|
430
430
|
interface SelectTriggerProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
|
|
431
|
+
/** Placeholder text shown when no value is selected (overrides the root Select placeholder) */
|
|
432
|
+
placeholder?: string;
|
|
431
433
|
}
|
|
432
434
|
declare const SelectTrigger: React__default.ForwardRefExoticComponent<SelectTriggerProps & React__default.RefAttributes<HTMLButtonElement>>;
|
|
433
435
|
interface SelectListboxProps extends React__default.HTMLAttributes<HTMLUListElement> {
|
package/dist/index.d.ts
CHANGED
|
@@ -428,6 +428,8 @@ interface SelectProps {
|
|
|
428
428
|
}
|
|
429
429
|
declare function Select({ options, value: controlledValue, defaultValue, onValueChange, disabled, placeholder, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, children, }: SelectProps): react_jsx_runtime.JSX.Element;
|
|
430
430
|
interface SelectTriggerProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, 'value'> {
|
|
431
|
+
/** Placeholder text shown when no value is selected (overrides the root Select placeholder) */
|
|
432
|
+
placeholder?: string;
|
|
431
433
|
}
|
|
432
434
|
declare const SelectTrigger: React__default.ForwardRefExoticComponent<SelectTriggerProps & React__default.RefAttributes<HTMLButtonElement>>;
|
|
433
435
|
interface SelectListboxProps extends React__default.HTMLAttributes<HTMLUListElement> {
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{k as Dialog,j as DialogActions,d as DialogBase,h as DialogClose,i as DialogContent,g as DialogDescription,f as DialogTitle,e as DialogTrigger,c as useDialogContext,a as useFocusTrap,b as useFocusTrapControls}from'./chunk-32AW37KT.js';export{i as ActionMenu,c as ActionMenuBase,e as ActionMenuContent,f as ActionMenuItem,h as ActionMenuLabel,g as ActionMenuSeparator,d as ActionMenuTrigger,a as useActionMenuContext}from'./chunk-QOY5G3EC.js';export{d as Tab,c as TabList,e as TabPanel,f as Tabs,b as TabsBase,a as useTabsContext}from'./chunk-L6H47IF4.js';export{b as ToastProvider,c as ToastViewport,a as useToast,d as useToastHelpers}from'./chunk-IFZVKAUZ.js';export{e as Combobox,a as ComboboxBase,b as ComboboxInput,c as ComboboxListbox,d as ComboboxOption}from'./chunk-HEA4NAOM.js';import {a}from'./chunk-MD4AVTLT.js';export{c as useAnnounceLoading,b as useAnnounceOnChange,a as useAnnouncer}from'./chunk-MD4AVTLT.js';import {e,a as a$1}from'./chunk-VMM4K2K4.js';export{d as useGridKeyboard,f as useKeyPressed,a as useKeyboard,b as useMenuKeyboard,c as useTabsKeyboard,e as useTypeAhead}from'./chunk-VMM4K2K4.js';import {a as a$2}from'./chunk-IZ7LLPPV.js';export{a as useId,c as useIdScope,b as useIds}from'./chunk-IZ7LLPPV.js';import tr,{createContext,forwardRef,useCallback,useRef,useState,useEffect,useLayoutEffect,useMemo,useContext,Children}from'react';import {createComponentWarnings,initFocusVisible,isFocusVisible,focusWithVisibleRing,findFocusNeighbor,createFocusReturn}from'@compa11y/core';export{announce,announceAssertive,announceError,announcePolite,announceProgress,announceStatus,aria,buildAriaProps,checks,createComponentWarnings,hasAccessibleName,isAndroid,isBrowser,isIOS,isMac,mergeAriaIds,prefersDarkMode,prefersHighContrast,prefersReducedMotion,setWarningHandler,warn}from'@compa11y/core';import {jsxs,jsx,Fragment}from'react/jsx-runtime';function oe(){let[p,t]=useState(false);useEffect(()=>initFocusVisible(),[]);let i=useCallback(()=>{t(isFocusVisible());},[]),r=useCallback(()=>{t(false);},[]);return {isFocusVisible:p,focusProps:{onFocus:i,onBlur:r}}}function Dt(p={}){let{autoFocus:t=false,restoreFocus:i=false,focusVisible:r=true}=p,e=useCallback(n=>{n&&t&&requestAnimationFrame(()=>{r?focusWithVisibleRing(n):n.focus();});},[t,r]);return useEffect(()=>{if(!i)return;let n=document.activeElement;return ()=>{n&&n.focus&&n.focus();}},[i]),e}function Bt(){let p=useCallback(i=>{},[]),t=useCallback(i=>{let r=p;r.current&&(i?.visible?focusWithVisibleRing(r.current):r.current.focus());},[]);return {ref:p,focus:t}}function zt(){let[p,t]=useState(false),i=useCallback(n=>{},[]),r=useCallback(()=>{t(true);},[]),e=useCallback(n=>{let s=n.currentTarget,c=n.relatedTarget;(!c||!s.contains(c))&&t(false);},[]);return {ref:i,hasFocus:p,focusWithinProps:{onFocus:r,onBlur:e}}}function ot(p){let{itemCount:t,initialIndex:i=0,wrap:r=true,orientation:e="both",onChange:n}=p,[s,c]=useState(i),o=useRef([]);useEffect(()=>{s>=t&&c(Math.max(0,t-1));},[t,s]);let a=useCallback(f=>{let u=f;u<0?u=r?t-1:0:u>=t&&(u=r?0:t-1),c(u),n?.(u),o.current[u]?.focus();},[t,r,n]),b=useCallback((f,u)=>{let x=false;switch(f.key){case "ArrowRight":(e==="horizontal"||e==="both")&&(a(u+1),x=true);break;case "ArrowLeft":(e==="horizontal"||e==="both")&&(a(u-1),x=true);break;case "ArrowDown":(e==="vertical"||e==="both")&&(a(u+1),x=true);break;case "ArrowUp":(e==="vertical"||e==="both")&&(a(u-1),x=true);break;case "Home":a(0),x=true;break;case "End":a(t-1),x=true;break}x&&(f.preventDefault(),f.stopPropagation());},[e,a,t]),l=useCallback(f=>({ref:u=>{o.current[f]=u;},tabIndex:f===s?0:-1,onKeyDown:u=>b(u,f),onFocus:()=>{f!==s&&(c(f),n?.(f));}}),[s,b,n]);return {activeIndex:s,setActiveIndex:a,getItemProps:l,first:()=>a(0),last:()=>a(t-1),next:()=>a(s+1),previous:()=>a(s-1)}}function Gt(p,t={}){let i=ot({...t,itemCount:p.length}),r=useCallback(n=>{let s=p.indexOf(n);if(s===-1)throw new Error(`Unknown item ID: ${n}`);return i.getItemProps(s)},[p,i]),e=p[i.activeIndex];return {...i,activeId:e,getItemProps:r,setActiveId:n=>{let s=p.indexOf(n);s!==-1&&i.setActiveIndex(s);}}}function $t(p){let t=useRef(null),i=useRef(p);i.current=p;let r=useCallback(()=>t.current?findFocusNeighbor(t.current,i.current):null,[]),e=useCallback(()=>{r()?.focus();},[r]);return {ref:t,getNeighbor:r,focusNeighbor:e}}function Kt(){let p=useRef(createFocusReturn()),t=useCallback(e=>{p.current.save(e);},[]),i=useCallback(e=>{p.current.return(e);},[]),r=useCallback(()=>{p.current.clear();},[]);return {save:t,returnFocus:i,clear:r}}var vn=createComponentWarnings("Select"),qt=createContext(null);function st(){let p=useContext(qt);if(!p)throw new Error("Select compound components must be used within a Select component");return p}function jt(p,t,i){let r=p.length,e=t+i;e<0&&(e=r-1),e>=r&&(e=0);let n=e;for(;p[e]?.disabled;)if(e+=i,e<0&&(e=r-1),e>=r&&(e=0),e===n)return -1;return e}function Wt(p){return p.findIndex(t=>!t.disabled)}function Ut(p){for(let t=p.length-1;t>=0;t--)if(!p[t]?.disabled)return t;return -1}function lt({options:p,value:t,defaultValue:i,onValueChange:r,disabled:e=false,placeholder:n="Select an option...","aria-label":s,"aria-labelledby":c,children:o}){let[a,b]=useState(i??null),[l,f]=useState(false),[u,x]=useState(-1),d=useRef(null),T=t!==void 0?t:a,R=a$2("select-trigger"),S=a$2("select-listbox"),I=a$2("select-option"),m=useCallback(P=>{t===void 0&&b(P),r?.(P);},[t,r]),y=useCallback(P=>`${I}-${P}`,[I]),H=useCallback(P=>{m(P.value),f(false),x(-1),d.current?.focus();},[m]);useEffect(()=>{!s&&!c&&vn.warning("Select has no accessible label.","Add aria-label or aria-labelledby prop.");},[s,c]);let C={selectedValue:T,setSelectedValue:m,isOpen:l,setIsOpen:f,highlightedIndex:u,setHighlightedIndex:x,options:p,triggerId:R,listboxId:S,getOptionId:y,onSelect:H,triggerRef:d,placeholder:n,disabled:e};return jsx(qt.Provider,{value:C,children:jsx("div",{"data-compa11y-select":true,"data-disabled":e||void 0,children:o})})}var ct=forwardRef(function({onKeyDown:t,onClick:i,onBlur:r,...e$1},n){let{selectedValue:s,isOpen:c,setIsOpen:o,highlightedIndex:a$2,setHighlightedIndex:b,options:l,triggerId:f,listboxId:u,getOptionId:x,onSelect:d,triggerRef:T,placeholder:R,disabled:S}=st(),{announce:I}=a(),m=e(l.map(h=>h.label),h=>{let k=l.findIndex(F=>F.label===h&&!F.disabled);k>=0&&(c||o(true),b(k));},{disabled:S}),y=useCallback((h=false)=>{o(true);let k=l.findIndex(F=>F.value===s);k>=0?b(k):b(h?Ut(l):Wt(l));},[l,s,o,b]),H=a$1({ArrowDown:()=>{if(!c)y();else {let h=jt(l,a$2,1);h>=0&&b(h);}},ArrowUp:()=>{if(!c)y(true);else {let h=jt(l,a$2,-1);h>=0&&b(h);}},Enter:()=>{if(c&&a$2>=0){let h=l[a$2];h&&!h.disabled&&(d(h),I(`${h.label} selected`));}else c||y();},Space:()=>{if(c&&a$2>=0){let h=l[a$2];h&&!h.disabled&&(d(h),I(`${h.label} selected`));}else c||y();},Escape:()=>{c&&(o(false),b(-1));},Home:()=>{c&&b(Wt(l));},End:()=>{c&&b(Ut(l));},Tab:()=>(c&&(o(false),b(-1)),false)},{preventDefault:true,stopPropagation:false}),C=h=>{t?.(h),h.defaultPrevented||H.onKeyDown(h),h.defaultPrevented||m.onKeyDown(h);},P=h=>{i?.(h),!h.defaultPrevented&&!S&&(c?(o(false),b(-1)):y());},A=h=>{r?.(h),setTimeout(()=>{o(false),b(-1);},150);},V=c&&a$2>=0?x(a$2):void 0,O=l.find(h=>h.value===s),$=O?.label??R,g=useCallback(h=>{T.current=h,typeof n=="function"?n(h):n&&(n.current=h);},[n,T]);return jsxs("button",{ref:g,id:f,type:"button",role:"combobox","aria-expanded":c,"aria-controls":u,"aria-haspopup":"listbox","aria-activedescendant":V,disabled:S,onKeyDown:C,onClick:P,onBlur:A,"data-compa11y-select-trigger":true,"data-placeholder":!O||void 0,...e$1,children:[jsx("span",{"data-compa11y-select-value":true,children:$}),jsx("span",{"aria-hidden":"true","data-compa11y-select-chevron":true,children:"\u25BC"})]})}),ut=forwardRef(function({children:t,style:i,...r},e){let{isOpen:n,options:s,listboxId:c,triggerId:o}=st(),{announce:a$1}=a(),b=useRef(null),[l,f]=useState("bottom");useEffect(()=>{n&&a$1(`${s.length} option${s.length===1?"":"s"} available`);},[n,s.length,a$1]),useLayoutEffect(()=>{if(n&&b.current){let R=b.current.getBoundingClientRect(),I=window.innerHeight-R.top,m=R.top,y=Math.min(R.height,200);I<y+50&&m>I?f("top"):f("bottom");}},[n]);let u=T=>{T.preventDefault();},x=useCallback(T=>{b.current=T,typeof e=="function"?e(T):e&&(e.current=T);},[e]);return n?jsx("ul",{ref:x,id:c,role:"listbox","aria-labelledby":o,style:{...i,...l==="top"?{bottom:"100%",top:"auto",marginBottom:"4px",marginTop:0}:{}},onMouseDown:u,"data-compa11y-select-listbox":true,"data-position":l,...r,children:t??s.map((T,R)=>jsx(we,{option:T,index:R},T.value))}):null}),we=forwardRef(function({option:t,index:i,onClick:r,onMouseEnter:e,...n},s){let{selectedValue:c,highlightedIndex:o,setHighlightedIndex:a$1,getOptionId:b,onSelect:l}=st(),{announce:f}=a(),u=useRef(null),x=c===t.value,d=o===i,T=b(i);useEffect(()=>{d&&u.current&&u.current.scrollIntoView({block:"nearest",behavior:"smooth"});},[d]);let R=m=>{r?.(m),!m.defaultPrevented&&!t.disabled&&(l(t),f(`${t.label} selected`));},S=m=>{e?.(m),t.disabled||a$1(i);},I=useCallback(m=>{u.current=m,typeof s=="function"?s(m):s&&(s.current=m);},[s]);return jsxs("li",{ref:I,id:T,role:"option","aria-selected":x,"aria-disabled":t.disabled,"data-highlighted":d,"data-selected":x,"data-disabled":t.disabled,onClick:R,onMouseEnter:S,"data-compa11y-select-option":true,...n,children:[jsx("span",{"data-compa11y-select-option-text":true,children:t.label}),x&&jsx("span",{"aria-hidden":"true","data-compa11y-select-check":true,children:"\u2713"})]})}),_t=Object.assign(lt,{Trigger:ct,Listbox:ut,Option:we});var Zt=createComponentWarnings("Checkbox"),In=()=>jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:{display:"block"},children:jsx("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),En=()=>jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:{display:"block"},children:jsx("path",{d:"M3 6H9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})}),Jt=createContext(null);function bt(){return useContext(Jt)}var Fe=forwardRef(function({value:t,defaultValue:i=[],onValueChange:r,disabled:e=false,legend:n,error:s,orientation:c="vertical",name:o,unstyled:a=false,className:b="",children:l,"aria-label":f,"aria-labelledby":u},x){let d=a$2("checkbox-group"),T=o||d,R=a$2("checkbox-group-error"),[S,I]=useState(i),m=t!==void 0,y=m?t:S;useEffect(()=>{!n&&!f&&!u&&Zt.warning("CheckboxGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[n,f,u]);let H=useCallback((g,h)=>{let k=m?t:S,F=h?[...k,g]:k.filter(K=>K!==g);m||I(F),r?.(F);},[m,t,S,r]),C={name:T,value:y,disabled:e,unstyled:a,onCheckboxChange:H},P=!!s,A={border:"none",margin:0,padding:0,minWidth:0},V=a?{padding:0,marginBottom:"0.5rem"}:{padding:0,marginBottom:"0.5rem",fontWeight:600},O={display:"flex",flexDirection:c==="horizontal"?"row":"column",flexWrap:c==="horizontal"?"wrap":void 0,gap:"var(--compa11y-checkbox-group-gap, 0.75rem)"},$=a?{marginTop:"0.25rem"}:{color:"var(--compa11y-checkbox-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"};return jsx(Jt.Provider,{value:C,children:jsxs("fieldset",{ref:x,className:b,"aria-label":f,"aria-labelledby":u,"aria-describedby":P?R:void 0,disabled:e,"data-compa11y-checkbox-group":"","data-orientation":c,"data-disabled":e?"true":void 0,style:A,children:[n&&jsx("legend",{"data-compa11y-checkbox-group-legend":"",style:V,children:n}),jsx("div",{style:O,children:l}),P&&jsx("div",{id:R,role:"alert","data-compa11y-checkbox-group-error":"",style:$,children:s})]})})});Fe.displayName="CheckboxGroup";var Ae=forwardRef(function({checked:t,defaultChecked:i=false,onCheckedChange:r,indeterminate:e=false,label:n,hint:s,error:c,disabled:o=false,value:a$1,required:b=false,unstyled:l,className:f="",size:u="md",name:x,"aria-label":d,"aria-labelledby":T,"aria-describedby":R,onClick:S,onFocus:I,onBlur:m,...y},H){let C=bt(),P=a$2("checkbox"),A=`${P}-input`,V=`${P}-label`,O=`${P}-hint`,$=`${P}-error`,{announce:g}=a(),{isFocusVisible:h,focusProps:k}=oe(),F=C!==null,K=F&&C.disabled||o,D=l??(F?C.unstyled:false),B=F?C.name:x,[q,w]=useState(i),U=F?C.value.includes(a$1||""):t!==void 0?t:q,j=useRef(null),W=useCallback(ue=>{j.current=ue,typeof H=="function"?H(ue):H&&(H.current=ue);},[H]);useEffect(()=>{j.current&&(j.current.indeterminate=e);},[e]),useEffect(()=>{!n&&!d&&!T&&Zt.warning("Checkbox has no accessible label. Screen readers need this to identify the checkbox.",'Add label="...", aria-label="...", or aria-labelledby="..."');},[n,d,T]);let z=useCallback(ue=>{let ke=ue.target.checked;F?C.onCheckboxChange(a$1||"",ke):(t===void 0&&w(ke),r?.(ke)),g(`${typeof n=="string"?n:d||"Checkbox"} ${ke?"checked":"unchecked"}`);},[F,C,a$1,t,r,n,d,g]),Z=useCallback(ue=>{k.onFocus(),I?.(ue);},[k,I]),ne=useCallback(ue=>{k.onBlur(),m?.(ue);},[k,m]),J=!!n,Q=!!s,re=!!c,Y=[];R&&Y.push(R),Q&&Y.push(O),re&&Y.push($);let be=Y.length?Y.join(" "):void 0,E={sm:{box:16},md:{box:20},lg:{box:24}}[u],L={display:"inline-flex",alignItems:"flex-start",gap:"0.5rem",cursor:K?"not-allowed":"pointer",userSelect:"none",...K&&!D?{opacity:.5}:{}},M={position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},N={position:"absolute",opacity:0,width:"100%",height:"100%",margin:0,cursor:"inherit",zIndex:1},_=D?{}:{width:E.box,height:E.box,minWidth:24,minHeight:24,border:U||e?"var(--compa11y-checkbox-checked-border, 2px solid #0066cc)":"var(--compa11y-checkbox-border, 2px solid #666)",borderRadius:"var(--compa11y-checkbox-radius, 3px)",background:U||e?"var(--compa11y-checkbox-checked-bg, #0066cc)":"var(--compa11y-checkbox-bg, white)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.15s ease",pointerEvents:"none",color:"var(--compa11y-checkbox-check-color, white)",...h?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}},ge={display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},Lo=D?{cursor:"inherit"}:{cursor:"inherit",color:"var(--compa11y-checkbox-label-color, inherit)"},Ho=D?{}:{color:"var(--compa11y-checkbox-hint-color, #666)",fontSize:"0.8125rem"},ko=D?{}:{color:"var(--compa11y-checkbox-error-color, #ef4444)",fontSize:"0.8125rem"};return jsxs("div",{className:f,"data-compa11y-checkbox":"","data-checked":U?"true":"false","data-indeterminate":e?"true":void 0,"data-disabled":K?"true":void 0,"data-size":u,style:L,children:[jsxs("div",{style:M,children:[jsx("input",{ref:W,type:"checkbox",id:A,name:B,value:a$1,checked:U,onChange:z,onClick:S,onFocus:Z,onBlur:ne,disabled:K,required:b,"aria-required":b||void 0,"aria-invalid":re||void 0,"aria-label":!J&&!T?d:void 0,"aria-labelledby":T||(J?V:void 0),"aria-describedby":be,"aria-checked":e?"mixed":U,tabIndex:K?-1:0,style:N,...y}),!D&&jsxs("div",{"data-compa11y-checkbox-indicator":"","aria-hidden":"true",style:_,children:[U&&!e&&jsx(In,{}),e&&jsx(En,{})]})]}),(J||Q||re)&&jsxs("div",{style:ge,children:[J&&jsxs("label",{htmlFor:A,id:V,"data-compa11y-checkbox-label":"",style:Lo,children:[n,b&&jsx("span",{"aria-hidden":"true",style:{color:"var(--compa11y-checkbox-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),Q&&jsx("div",{id:O,"data-compa11y-checkbox-hint":"",style:Ho,children:s}),re&&jsx("div",{id:$,role:"alert","data-compa11y-checkbox-error":"",style:ko,children:c})]})]})});Ae.displayName="Checkbox";var Oe=forwardRef(function({children:t,className:i},r){return jsx("div",{ref:r,className:i,"data-compa11y-checkbox-indicator":"","aria-hidden":"true",children:t})});Oe.displayName="CheckboxIndicator";var Qt=Object.assign(Ae,{Group:Fe,Indicator:Oe});var Mn=createComponentWarnings("RadioGroup"),xt=createContext(null);function yt(){let p=useContext(xt);if(!p)throw new Error("[Compa11y RadioGroup]: Radio must be used within a RadioGroup.");return p}var Ve=forwardRef(function({value:t,defaultValue:i,onValueChange:r,disabled:e=false,discoverable:n=true,required:s=false,orientation:c="vertical",name:o,legend:a,hint:b,error:l,unstyled:f=false,className:u="",children:x,"aria-label":d,"aria-labelledby":T},R){let S=a$2("radiogroup"),I=o||S,m=a$2("radiogroup-hint"),y=a$2("radiogroup-error"),[H,C]=useState(i??null),P=t!==void 0,A=P?t:H,V=useRef(new Map);useEffect(()=>{!a&&!d&&!T&&Mn.warning("RadioGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[a,d,T]);let O=useCallback(W=>{e||(P||C(W),r?.(W));},[e,P,r]),$=useCallback((W,z)=>{V.current.set(W,z);},[]),g=useCallback(W=>{V.current.delete(W);},[]),h=useCallback((W,z)=>{V.current.set(W,z);},[]),k=useCallback(()=>{let W=[];return V.current.forEach((z,Z)=>{!z&&!e&&W.push(Z);}),W},[e]),F=useRef(null),K=R||F,D=useCallback(W=>{let z=k();if(z.length===0)return;let Z=A?z.indexOf(A):-1,ne;switch(W){case "next":ne=Z<0?0:(Z+1)%z.length;break;case "prev":ne=Z<0?z.length-1:(Z-1+z.length)%z.length;break;case "first":ne=0;break;case "last":ne=z.length-1;break}let J=z[ne];if(J!==void 0){O(J);let Q=typeof K=="object"&&K?K.current:null;Q&&Q.querySelector(`input[type="radio"][value="${CSS.escape(J)}"]`)?.focus();}},[k,A,O,K]),B=a$1({ArrowDown:()=>D("next"),ArrowRight:()=>D("next"),ArrowUp:()=>D("prev"),ArrowLeft:()=>D("prev"),Home:()=>D("first"),End:()=>D("last")},{preventDefault:true,stopPropagation:true,disabled:e}),q={name:I,value:A??null,disabled:e,discoverable:n,required:s,unstyled:f,orientation:c,onValueChange:O,registerRadio:$,unregisterRadio:g,updateRadioDisabled:h},w=[];b&&w.push(m),l&&w.push(y);let U=w.length>0?w.join(" "):void 0,j=jsxs(Fragment,{children:[jsx("div",{style:f?{display:"flex",flexDirection:c==="horizontal"?"row":"column"}:{display:"flex",flexDirection:c==="horizontal"?"row":"column",gap:"var(--compa11y-radio-gap, 0.75rem)"},children:x}),b&&jsx("div",{id:m,style:f?{}:{color:"var(--compa11y-radio-group-hint-color, #666)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:b}),l&&jsx("div",{id:y,role:"alert",style:f?{}:{color:"var(--compa11y-radio-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:l})]});return a?jsx(xt.Provider,{value:q,children:jsxs("fieldset",{ref:K,role:"radiogroup","aria-label":d,"aria-labelledby":T,"aria-orientation":c,"aria-required":s||void 0,"aria-disabled":e||void 0,"aria-invalid":l?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${u}`.trim(),"data-compa11y-radiogroup":"","data-orientation":c,"data-disabled":e?"true":void 0,"data-error":l?"true":void 0,onKeyDown:B.onKeyDown,style:f?{border:"none",margin:0,padding:0,minWidth:0}:{border:"none",margin:0,padding:0,minWidth:0},children:[jsxs("legend",{style:f?{}:{padding:0,marginBottom:"var(--compa11y-radio-group-legend-gap, 0.5rem)",fontWeight:"var(--compa11y-radio-group-legend-weight, 600)",color:"var(--compa11y-radio-group-legend-color, inherit)",fontSize:"var(--compa11y-radio-group-legend-size, 1rem)"},children:[a,s&&!f&&jsxs("span",{"aria-hidden":"true",style:{color:"var(--compa11y-radio-group-required-color, #ef4444)",marginLeft:"0.125rem"},children:[" ","*"]})]}),j]})}):jsx(xt.Provider,{value:q,children:jsx("div",{ref:K,role:"radiogroup","aria-label":d,"aria-labelledby":T,"aria-orientation":c,"aria-required":s||void 0,"aria-disabled":e||void 0,"aria-invalid":l?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${u}`.trim(),"data-compa11y-radiogroup":"","data-orientation":c,"data-disabled":e?"true":void 0,"data-error":l?"true":void 0,onKeyDown:B.onKeyDown,children:j})})});Ve.displayName="RadioGroup";var Ne=forwardRef(function({value:t,disabled:i=false,discoverable:r,label:e,hint:n,unstyled:s,className:c="",children:o,"aria-label":a$1},b){let l=yt(),f=a$2("radio"),u=a$2("radio-hint"),x=l.disabled||i,d=r??l.discoverable,T=s??l.unstyled,R=l.value===t,{announce:S}=a(),{isFocusVisible:I,focusProps:m}=oe(),y=useRef(null),H=useCallback(B=>{y.current=B,typeof b=="function"?b(B):b&&(b.current=B);},[b]);useEffect(()=>(l.registerRadio(t,x),()=>l.unregisterRadio(t)),[t]),useEffect(()=>{l.updateRadioDisabled(t,x);},[x,t]);let C=useCallback(B=>{if(x){B.preventDefault();return}l.onValueChange(t),S(`${e||(typeof o=="string"?o:null)||t} selected`,{politeness:"polite"});},[x,l,t,e,o,S]),P=useCallback(B=>{x&&B.preventDefault();},[x]),A=useCallback(B=>{m.onFocus(),!R&&!x&&l.onValueChange(t);},[m,R,x,l,t]),V=useCallback(()=>{m.onBlur();},[m]),O=!!(o||e),$=o||e,g=`${f}-label`,h=!!n,k=(()=>{if(l.value!==null)return false;let B=Array.from(y.current?.closest('[role="radiogroup"]')?.querySelectorAll('input[type="radio"]')??[]);for(let q of B){let w=q;if(!w.disabled&&w.getAttribute("aria-disabled")!=="true")return w.value===t}return false})(),F=x&&!d?-1:R||l.value===null&&k?0:-1,K=x&&!d,D=h?u:void 0;return jsxs("label",{htmlFor:f,className:`compa11y-radio-wrapper ${c}`.trim(),"data-compa11y-radio":"","data-value":t,"data-checked":R?"true":"false","data-disabled":x?"true":void 0,style:T?{display:"inline-flex",alignItems:"flex-start",cursor:x?"not-allowed":"pointer",gap:"0.5rem"}:{display:"inline-flex",alignItems:"flex-start",gap:"var(--compa11y-radio-gap, 0.5rem)",cursor:x?"not-allowed":"pointer",userSelect:"none",opacity:x?.5:1},children:[jsxs("div",{style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:[jsx("input",{ref:H,type:"radio",id:f,name:l.name,value:t,checked:R,onChange:C,onClick:P,onFocus:A,onBlur:V,disabled:K,tabIndex:F,"aria-disabled":x?"true":void 0,"aria-label":O?void 0:a$1,"aria-labelledby":O?g:void 0,"aria-describedby":D,required:l.required,className:"compa11y-radio-input",style:{position:"absolute",opacity:0,width:"var(--compa11y-radio-size, 1.25rem)",height:"var(--compa11y-radio-size, 1.25rem)",margin:0,cursor:x?"not-allowed":"pointer"}}),!T&&jsx("div",{className:"compa11y-radio-circle",style:{width:"var(--compa11y-radio-size, 1.25rem)",height:"var(--compa11y-radio-size, 1.25rem)",minWidth:"24px",minHeight:"24px",border:R?"var(--compa11y-radio-checked-border, 2px solid #0066cc)":"var(--compa11y-radio-border, 2px solid #666)",borderRadius:"50%",background:R?"var(--compa11y-radio-checked-bg, #0066cc)":"var(--compa11y-radio-bg, white)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.15s ease",pointerEvents:"none",...I?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}},children:jsx("div",{"aria-hidden":"true",style:{width:"var(--compa11y-radio-dot-size, 0.5rem)",height:"var(--compa11y-radio-dot-size, 0.5rem)",borderRadius:"50%",background:"var(--compa11y-radio-dot-color, white)",opacity:R?1:0,transform:R?"scale(1)":"scale(0)",transition:"all 0.15s ease"}})})]}),(O||h)&&jsxs("div",{style:T?{}:{display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},children:[O&&jsx("span",{id:g,className:"compa11y-radio-label",style:T?{}:{color:"var(--compa11y-radio-label-color, inherit)",fontSize:"var(--compa11y-radio-label-size, 1rem)"},children:$}),h&&jsx("span",{id:u,className:"compa11y-radio-hint",style:T?{}:{color:"var(--compa11y-radio-hint-color, #666)",fontSize:"var(--compa11y-radio-hint-size, 0.8125rem)"},children:n})]})]})});Ne.displayName="Radio";var to=Object.assign(Ve,{Radio:Ne});var Nn=createComponentWarnings("Switch"),ht=forwardRef(function({checked:t,defaultChecked:i=false,onCheckedChange:r,label:e,disabled:n=false,unstyled:s=false,className:c,size:o="md","aria-label":a$3,"aria-labelledby":b,onClick:l,...f},u){let d=`${a$2("switch")}-label`,{announce:T}=a(),{isFocusVisible:R,focusProps:S}=oe(),[I,m]=useState(i),y=t!==void 0,H=y?t:I;useEffect(()=>{!e&&!a$3&&!b&&Nn.warning("Switch has no accessible label. Screen readers need this to identify the switch.",'Add label="Description", aria-label="...", or aria-labelledby="..."');},[e,a$3,b]);let C=useCallback(()=>{if(n)return;let w=!H;y||m(w),r?.(w),T(`${e||a$3||"Switch"} ${w?"on":"off"}`);},[H,n,y,r,e,a$3,T]),P=useCallback(w=>{l?.(w),w.defaultPrevented||C();},[l,C]),A=a$1({Space:()=>{C();},Enter:()=>{C();}},{preventDefault:true}),V=w=>{f.onKeyDown?.(w),w.defaultPrevented||A.onKeyDown(w);},O=a$3,$=b||(e?d:void 0),g={display:"inline-flex",alignItems:"center"},k={sm:{width:32,height:18,thumb:14,translate:14},md:{width:44,height:24,thumb:20,translate:20},lg:{width:56,height:30,thumb:26,translate:26}}[o],F={position:"relative",display:"inline-flex",alignItems:"center",flexShrink:0,width:k.width,height:k.height,border:"none",padding:2,cursor:n?"not-allowed":"pointer"},K=s?{}:{backgroundColor:H?"#0066cc":"#d1d5db",borderRadius:k.height/2,transition:"background-color 0.2s ease",opacity:n?.5:1},D={position:"absolute",left:2,width:k.thumb,height:k.thumb,pointerEvents:"none",transform:H?`translateX(${k.translate}px)`:"translateX(0)"},B=s?{}:{backgroundColor:"white",borderRadius:"50%",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.2)",transition:"transform 0.2s ease"},q=s?{marginLeft:8,userSelect:"none",cursor:n?"not-allowed":"pointer"}:{marginLeft:8,userSelect:"none",cursor:n?"not-allowed":"pointer",opacity:n?.5:1};return jsxs("div",{style:g,"data-compa11y-switch-wrapper":true,"data-size":o,children:[jsx("button",{ref:u,type:"button",role:"switch","aria-checked":H,"aria-label":O,"aria-labelledby":$,disabled:n,onClick:P,onKeyDown:V,className:c,style:{...F,...K,...!s&&R&&!n?{outline:"2px solid #0066cc",outlineOffset:"2px"}:{outline:"none"}},tabIndex:n?-1:0,"data-compa11y-switch":true,"data-checked":H,"data-disabled":n||void 0,"data-size":o,...f,onFocus:w=>{S.onFocus(),f.onFocus?.(w);},onBlur:w=>{S.onBlur(),f.onBlur?.(w);},children:jsx("span",{style:{...D,...B},"data-compa11y-switch-thumb":true,"aria-hidden":"true"})}),e&&jsx("label",{id:d,onClick:n?void 0:()=>C(),style:q,"data-compa11y-switch-label":true,children:e})]})});ht.displayName="Switch";var zn=createComponentWarnings("Listbox"),ao=createContext(null);function ze(){let p=useContext(ao);if(!p)throw new Error("[Compa11y Listbox]: Option/Group must be used within a Listbox.");return p}var io=createContext({groupDisabled:false}),Ge=forwardRef(function({value:t,defaultValue:i,onValueChange:r,multiple:e$1=false,disabled:n=false,discoverable:s=true,orientation:c="vertical",unstyled:o=false,className:a$3="",children:b,"aria-label":l,"aria-labelledby":f},u){let x=a$2("listbox"),{announce:d}=a(),[T,R]=useState(()=>i??(e$1?[]:"")),S=t!==void 0,I=S?t:T,m=useMemo(()=>e$1?new Set(Array.isArray(I)?I:[]):new Set(I?[String(I)]:[]),[I,e$1]),[y,H]=useState(null),C=useRef(new Map),[P,A]=useState(0),V=useCallback((v,E,L)=>{C.current.set(v,{disabled:E,label:L}),A(M=>M+1);},[]),O=useCallback(v=>{C.current.delete(v),A(E=>E+1);},[]),$=useCallback((v,E)=>{let L=C.current.get(v);L&&C.current.set(v,{...L,disabled:E});},[]),g=useMemo(()=>{let v=[];return C.current.forEach((E,L)=>{!E.disabled&&!n&&v.push(L);}),v},[P,n]);useEffect(()=>{!l&&!f&&zn.warning("Listbox has no accessible label. Screen readers need this.",'Add aria-label="..." or aria-labelledby="..."');},[l,f]);let h=useCallback(v=>m.has(v),[m]),k=useCallback(v=>{if(n)return;let E=C.current.get(v);if(E?.disabled)return;let L,M=E?.label||v;if(e$1){let N=new Set(m);N.has(v)?(N.delete(v),d(`${M} deselected`,{politeness:"polite"})):(N.add(v),d(`${M} selected`,{politeness:"polite"})),L=Array.from(N);}else L=v,d(`${M} selected`,{politeness:"polite"});S||R(L),r?.(L);},[n,e$1,m,S,r,d]),F=useCallback(v=>{if(g.length===0)return;let E=y?g.indexOf(y):-1,L;switch(v){case "next":L=E<0?0:Math.min(E+1,g.length-1);break;case "prev":L=E<0?g.length-1:Math.max(E-1,0);break;case "first":L=0;break;case "last":L=g.length-1;break}let M=g[L];if(M!==void 0)if(H(M),e$1){let _=C.current.get(M)?.label||M,ge=m.has(M);d(`${_}${ge?", selected":""}`,{politeness:"polite"});}else {let _=C.current.get(M)?.label||M,ge=M;S||R(ge),r?.(ge),d(`${_} selected`,{politeness:"polite"});}},[g,y,e$1,S,r,d,m]),K=useCallback(()=>{y&&e$1&&k(y);},[y,e$1,k]),D=useCallback(v=>{if(g.length===0)return;let E=y?g.indexOf(y):-1,L;v==="next"?L=E<0?0:Math.min(E+1,g.length-1):L=E<0?g.length-1:Math.max(E-1,0);let M=g[L];M!==void 0&&(H(M),k(M));},[g,y,k]),B=useCallback(()=>{if(!e$1||!y)return;let v=g.indexOf(y);if(v<0)return;let E=g.slice(0,v+1),L=new Set(m);E.forEach(N=>L.add(N));let M=Array.from(L);S||R(M),r?.(M),H(g[0]??null),d(`${E.length} items selected`,{politeness:"polite"});},[e$1,y,g,m,S,r,d]),q=useCallback(()=>{if(!e$1||!y)return;let v=g.indexOf(y);if(v<0)return;let E=g.slice(v),L=new Set(m);E.forEach(N=>L.add(N));let M=Array.from(L);S||R(M),r?.(M),H(g[g.length-1]??null),d(`${E.length} items selected`,{politeness:"polite"});},[e$1,y,g,m,S,r,d]),w=useCallback(()=>{if(!e$1)return;let v=g.every(L=>m.has(L)),E;v?(E=[],d("All deselected",{politeness:"polite"})):(E=[...g],d("All selected",{politeness:"polite"})),S||R(E),r?.(E);},[e$1,g,m,S,r,d]),U=useMemo(()=>{let v={ArrowDown:()=>F("next"),ArrowUp:()=>F("prev"),Home:()=>F("first"),End:()=>F("last")};return e$1&&(v.Space=()=>K(),v["Shift+ArrowDown"]=()=>D("next"),v["Shift+ArrowUp"]=()=>D("prev"),v["Ctrl+Shift+Home"]=()=>B(),v["Ctrl+Shift+End"]=()=>q(),v["Ctrl+a"]=()=>w(),v["Meta+a"]=()=>w()),v},[e$1,F,K,D,B,q,w]),j=a$1(U,{preventDefault:true,stopPropagation:true,disabled:n}),W=useMemo(()=>Array.from(C.current.values()).map(v=>v.label),[P]),z=e(W,v=>{for(let[E,L]of C.current.entries())if(L.label===v&&!L.disabled){if(H(E),!e$1){let M=E;S||R(M),r?.(M),d(`${v} selected`,{politeness:"polite"});}break}},{disabled:n}),Z=useCallback(v=>{j.onKeyDown(v),v.defaultPrevented||z.onKeyDown(v);},[j,z]),ne=useCallback(()=>{if(!y){if(!e$1&&I&&typeof I=="string"){H(I);return}if(e$1&&Array.isArray(I)&&I.length>0){H(I[0]??null);return}g.length>0&&H(g[0]??null);}},[y,e$1,I,g]),J=useCallback(()=>{},[]),Q=useRef(null);useEffect(()=>{y&&Q.current&&Q.current.querySelector(`[data-value="${CSS.escape(y)}"]`)?.scrollIntoView({block:"nearest"});},[y]);let re=useMemo(()=>({multiple:e$1,disabled:n,discoverable:s,unstyled:o,orientation:c,selectedValues:m,focusedValue:y,onSelect:k,onFocusOption:H,registerOption:V,unregisterOption:O,updateOptionDisabled:$,isSelected:h,listboxId:x}),[e$1,n,s,o,c,m,y,k,V,O,$,h,x]),Y=useCallback(v=>{Q.current=v,typeof u=="function"?u(v):u&&(u.current=v);},[u]),be=y?`${x}-option-${y}`:void 0;return jsx(ao.Provider,{value:re,children:jsx("div",{ref:Y,role:"listbox","aria-label":l,"aria-labelledby":f,"aria-orientation":c,"aria-multiselectable":e$1||void 0,"aria-disabled":n||void 0,"aria-activedescendant":be,tabIndex:n&&!s?-1:0,className:`compa11y-listbox ${a$3}`.trim(),"data-compa11y-listbox":"","data-orientation":c,"data-disabled":n?"true":void 0,"data-multiple":e$1?"true":void 0,onKeyDown:Z,onFocus:ne,onBlur:J,style:o?{}:{width:"var(--compa11y-listbox-width, 250px)",maxHeight:"var(--compa11y-listbox-max-height, 300px)",overflowY:"auto",border:"var(--compa11y-listbox-border, 1px solid #e0e0e0)",borderRadius:"var(--compa11y-listbox-radius, 4px)",background:"var(--compa11y-listbox-bg, white)",padding:"var(--compa11y-listbox-padding, 0.25rem 0)",...n?{opacity:"var(--compa11y-listbox-disabled-opacity, 0.5)",cursor:"not-allowed"}:{}},children:b})})});Ge.displayName="Listbox";var $e=forwardRef(function({value:t,disabled:i=false,discoverable:r,unstyled:e,className:n="",children:s,"aria-label":c},o){let a=ze(),{groupDisabled:b}=useContext(io),l=a.disabled||b||i,f=e??a.unstyled,u=a.isSelected(t),x=a.focusedValue===t,d=`${a.listboxId}-option-${t}`,T=useRef(""),R=useRef(null),S=useCallback(m=>{R.current=m,typeof o=="function"?o(m):o&&(o.current=m);},[o]);useEffect(()=>{let m=typeof s=="string"?s:R.current?.textContent?.trim()||t;return T.current=m,a.registerOption(t,l,m),()=>a.unregisterOption(t)},[t]),useEffect(()=>{a.updateOptionDisabled(t,l);},[l,t]);let I=useCallback(m=>{if(l){m.preventDefault();return}a.onFocusOption(t),a.onSelect(t);},[l,a,t]);return jsxs("div",{ref:S,id:d,role:"option","aria-selected":u,"aria-disabled":l||void 0,"aria-label":c,className:`compa11y-listbox-option ${n}`.trim(),"data-compa11y-listbox-option":"","data-value":t,"data-selected":u?"true":"false","data-focused":x?"true":"false","data-disabled":l?"true":void 0,onClick:I,style:f?{cursor:l?"not-allowed":"pointer"}:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--compa11y-listbox-option-padding, 0.5rem 0.75rem)",cursor:l?"not-allowed":"pointer",userSelect:"none",transition:"background 0.1s ease",background:x?u?"var(--compa11y-listbox-option-selected-hover-bg, #cce0ff)":"var(--compa11y-listbox-option-hover-bg, #f5f5f5)":u?"var(--compa11y-listbox-option-selected-bg, #e6f0ff)":"transparent",fontWeight:u?500:"normal",opacity:l?.5:1},children:[jsx("span",{style:{flex:1},children:s}),u&&!f&&jsx("span",{"aria-hidden":"true",style:{fontSize:"0.875rem",color:"var(--compa11y-listbox-check-color, #0066cc)",marginLeft:"0.5rem"},children:"\u2713"})]})});$e.displayName="ListboxOption";var Ke=forwardRef(function({label:t,disabled:i=false,unstyled:r,className:e="",children:n},s){let c=ze(),o=r??c.unstyled,a=a$2("listbox-group"),b=useMemo(()=>({groupDisabled:c.disabled||i}),[c.disabled,i]);return jsx(io.Provider,{value:b,children:jsxs("div",{ref:s,role:"group","aria-labelledby":a,"aria-disabled":i||void 0,className:`compa11y-listbox-group ${e}`.trim(),"data-compa11y-listbox-group":"","data-disabled":i?"true":void 0,style:o?{}:{opacity:i?.5:1},children:[jsx("div",{id:a,role:"presentation",style:o?{}:{padding:"var(--compa11y-listbox-group-label-padding, 0.5rem 0.75rem 0.25rem)",fontSize:"var(--compa11y-listbox-group-label-size, 0.75rem)",fontWeight:600,color:"var(--compa11y-listbox-group-label-color, #666)",textTransform:"uppercase",letterSpacing:"0.05em"},children:t}),n]})})});Ke.displayName="ListboxGroup";var so=Object.assign(Ge,{Option:$e,Group:Ke});var fo=createContext(null);function Ce(){let p=useContext(fo);if(!p)throw new Error("[Compa11y Input]: Input sub-components (Input.Label, Input.Field, etc.) must be used within <Input>.");return p}var je=forwardRef(function({children:t,className:i},r){let e=Ce();return jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-input-label":"",className:i,style:e.unstyled?{}:{display:"block",color:e.disabled?"var(--compa11y-input-disabled-color, #999)":"var(--compa11y-input-label-color, inherit)",fontSize:"var(--compa11y-input-label-size, 0.875rem)",fontWeight:"var(--compa11y-input-label-weight, 500)"},children:[t,e.required&&jsx("span",{"data-compa11y-input-required":"","aria-hidden":"true",style:e.unstyled?{}:{color:"var(--compa11y-input-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]})});je.displayName="InputLabel";var We=forwardRef(function({type:t="text",onFocus:i,onBlur:r,className:e,style:n,...s},c){let o=Ce(),a=useRef(null),b=useCallback(d=>{a.current=d,typeof c=="function"?c(d):c&&(c.current=d);},[c]),l=useCallback(d=>{o.setValue(d.target.value);},[o.setValue]),f=useCallback(d=>{o.focusProps.onFocus(),i?.(d);},[o.focusProps,i]),u=useCallback(d=>{o.focusProps.onBlur(),r?.(d);},[o.focusProps,r]),x=[];return o.hasHint&&x.push(o.hintId),o.hasError&&x.push(o.errorId),jsx("input",{ref:b,id:o.fieldId,type:t,value:o.value,onChange:l,onFocus:f,onBlur:u,disabled:o.disabled,readOnly:o.readOnly,"aria-describedby":x.join(" ")||void 0,"aria-invalid":o.hasError?"true":void 0,"aria-required":o.required?"true":void 0,"data-compa11y-input-field":"",className:e,style:o.unstyled?n:{width:"100%",padding:"var(--compa11y-input-padding, 0.5rem 0.75rem)",border:o.hasError?"1px solid var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border, 1px solid #ccc)",borderRadius:"var(--compa11y-input-radius, 4px)",fontSize:"var(--compa11y-input-font-size, 0.875rem)",fontFamily:"inherit",background:o.disabled?"var(--compa11y-input-disabled-bg, #f5f5f5)":o.readOnly?"var(--compa11y-input-readonly-bg, #f9f9f9)":"var(--compa11y-input-bg, white)",color:"inherit",cursor:o.disabled?"not-allowed":void 0,opacity:o.disabled?"var(--compa11y-input-disabled-opacity, 0.7)":void 0,...o.isFocusVisible&&!o.disabled?{outline:o.hasError?"2px solid var(--compa11y-input-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:o.hasError?"var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border-focus, #0066cc)"}:{},...n},...s})});We.displayName="InputField";var Ue=forwardRef(function({children:t,className:i},r){let e=Ce();return useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsx("div",{ref:r,id:e.hintId,"data-compa11y-input-hint":"",className:i,style:e.unstyled?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:t})});Ue.displayName="InputHint";var qe=forwardRef(function({children:t,className:i},r){let e=Ce();return t?jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-input-error":"",className:i,style:e.unstyled?{}:{color:"var(--compa11y-input-error-color, #ef4444)",fontSize:"var(--compa11y-input-error-size, 0.8125rem)"},children:t}):null});qe.displayName="InputError";var _e=forwardRef(function({value:t,defaultValue:i="",onValueChange:r,type:e="text",label:n,hint:s,error:c,required:o=false,disabled:a=false,readOnly:b=false,"aria-label":l,"aria-labelledby":f,placeholder:u,name:x,autoComplete:d,maxLength:T,minLength:R,pattern:S,inputMode:I,id:m,unstyled:y=false,className:H,onFocus:C,onBlur:P,children:A},V){let O=a$2("input"),$=m||O,g=`${$}-field`,h=`${$}-label`,k=`${$}-hint`,F=`${$}-error`,[K,D]=useState(i),B=t!==void 0,q=B?t:K,[w,U]=useState(false),j=useCallback(_=>{B||D(_),r?.(_);},[B,r]),{isFocusVisible:W,focusProps:z}=oe(),Z=useRef(null),ne=useCallback(_=>{Z.current=_,typeof V=="function"?V(_):V&&(V.current=_);},[V]),J=useCallback(_=>{j(_.target.value);},[j]),Q=useCallback(_=>{z.onFocus(),C?.(_);},[z,C]),re=useCallback(_=>{z.onBlur(),P?.(_);},[z,P]);useEffect(()=>{process.env.NODE_ENV!=="production"&&!(Children.count(A)>0)&&!n&&!l&&!f&&console.warn("[Compa11y Input]: Input has no accessible label. Screen readers need this to identify the input. Use label prop, aria-label, or aria-labelledby.");},[A,n,l,f]);let Y=!!c,be=Children.count(A)>0,v={fieldId:g,labelId:h,hintId:k,errorId:F,value:q,setValue:j,hasError:Y,hasHint:be?w:!!s,setHasHint:U,disabled:a,readOnly:b,required:o,isFocusVisible:W,focusProps:z,unstyled:y},E={"data-compa11y-input":"","data-error":Y?"true":"false","data-disabled":a?"true":"false","data-required":o?"true":"false","data-readonly":b?"true":"false"},L=y?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"};if(be)return jsx(fo.Provider,{value:v,children:jsx("div",{...E,className:H,style:L,children:A})});let M=[];s&&M.push(k),Y&&M.push(F);let N=M.length>0?M.join(" "):void 0;return jsxs("div",{...E,className:H,style:L,children:[n&&jsxs("label",{id:h,htmlFor:g,"data-compa11y-input-label":"",style:y?{}:{display:"block",color:a?"var(--compa11y-input-disabled-color, #999)":"var(--compa11y-input-label-color, inherit)",fontSize:"var(--compa11y-input-label-size, 0.875rem)",fontWeight:"var(--compa11y-input-label-weight, 500)"},children:[n,o&&jsx("span",{"data-compa11y-input-required":"","aria-hidden":"true",style:y?{}:{color:"var(--compa11y-input-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),jsx("input",{ref:ne,id:g,type:e,value:q,onChange:J,onFocus:Q,onBlur:re,disabled:a,readOnly:b,required:o,placeholder:u,name:x,autoComplete:d,maxLength:T,minLength:R,pattern:S,inputMode:I,"aria-label":n?void 0:l,"aria-labelledby":!n&&f?f:n?h:void 0,"aria-describedby":N,"aria-invalid":Y?"true":void 0,"aria-required":o?"true":void 0,"data-compa11y-input-field":"",style:y?{}:{width:"100%",padding:"var(--compa11y-input-padding, 0.5rem 0.75rem)",border:Y?"1px solid var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border, 1px solid #ccc)",borderRadius:"var(--compa11y-input-radius, 4px)",fontSize:"var(--compa11y-input-font-size, 0.875rem)",fontFamily:"inherit",background:a?"var(--compa11y-input-disabled-bg, #f5f5f5)":b?"var(--compa11y-input-readonly-bg, #f9f9f9)":"var(--compa11y-input-bg, white)",color:"inherit",cursor:a?"not-allowed":void 0,opacity:a?"var(--compa11y-input-disabled-opacity, 0.7)":void 0,...W&&!a?{outline:Y?"2px solid var(--compa11y-input-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:Y?"var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border-focus, #0066cc)"}:{}}}),s&&jsx("div",{id:k,"data-compa11y-input-hint":"",style:y?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:s}),Y&&jsx("div",{id:F,role:"alert","data-compa11y-input-error":"",style:y?{}:{color:"var(--compa11y-input-error-color, #ef4444)",fontSize:"var(--compa11y-input-error-size, 0.8125rem)"},children:c})]})});_e.displayName="Input";var mo=Object.assign(_e,{Label:je,Field:We,Hint:Ue,Error:qe});var Un={primary:{background:"var(--compa11y-button-primary-bg, #0066cc)",color:"var(--compa11y-button-primary-color, white)",border:"var(--compa11y-button-primary-border, 1px solid #0066cc)"},secondary:{background:"var(--compa11y-button-secondary-bg, white)",color:"var(--compa11y-button-secondary-color, #333)",border:"var(--compa11y-button-secondary-border, 1px solid #ccc)"},danger:{background:"var(--compa11y-button-danger-bg, #ef4444)",color:"var(--compa11y-button-danger-color, white)",border:"var(--compa11y-button-danger-border, 1px solid #ef4444)"},outline:{background:"var(--compa11y-button-outline-bg, transparent)",color:"var(--compa11y-button-outline-color, #0066cc)",border:"var(--compa11y-button-outline-border, 1px solid #0066cc)"},ghost:{background:"var(--compa11y-button-ghost-bg, transparent)",color:"var(--compa11y-button-ghost-color, #333)",border:"var(--compa11y-button-ghost-border, 1px solid transparent)"}},qn={sm:{padding:"var(--compa11y-button-padding-sm, 0.25rem 0.5rem)",fontSize:"var(--compa11y-button-font-size-sm, 0.75rem)"},md:{padding:"var(--compa11y-button-padding-md, 0.5rem 1rem)",fontSize:"var(--compa11y-button-font-size-md, 0.875rem)"},lg:{padding:"var(--compa11y-button-padding-lg, 0.75rem 1.5rem)",fontSize:"var(--compa11y-button-font-size-lg, 1rem)"}},Ct=forwardRef(function({variant:t="secondary",size:i="md",type:r="button",disabled:e=false,discoverable:n=false,loading:s=false,unstyled:c=false,"aria-label":o,className:a,style:b,onClick:l,onFocus:f,onBlur:u,children:x,...d},T){let R=a$2("button"),S=useRef(null),I=useCallback(g=>{S.current=g,typeof T=="function"?T(g):T&&(T.current=g);},[T]),{isFocusVisible:m,focusProps:y}=oe();useEffect(()=>{process.env.NODE_ENV!=="production"&&!x&&!o&&!d["aria-labelledby"]&&console.warn("[Compa11y Button]: Button has no accessible label. Screen readers need this to identify the button. Add text content, aria-label, or aria-labelledby.");},[x,o,d["aria-labelledby"]]);let H=e&&!n,C=e||s,P=useCallback(g=>{if(C){g.preventDefault();return}l?.(g);},[C,l]),A=useCallback(g=>{y.onFocus(),f?.(g);},[y,f]),V=useCallback(g=>{y.onBlur(),u?.(g);},[y,u]),O={"data-compa11y-button":"","data-variant":t,"data-size":i,"data-disabled":e?"true":"false","data-loading":s?"true":"false"},$=c?{}:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"0.5rem",borderRadius:"var(--compa11y-button-radius, 4px)",fontFamily:"inherit",fontWeight:"var(--compa11y-button-font-weight, 500)",lineHeight:"1.5",cursor:C?"not-allowed":"pointer",opacity:e?"var(--compa11y-button-disabled-opacity, 0.5)":void 0,transition:"background-color 0.15s ease, border-color 0.15s ease",...Un[t],...qn[i],...m&&!H?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}};return jsxs("button",{ref:I,id:R,type:r,disabled:H,tabIndex:e&&!n?void 0:0,"aria-disabled":C?"true":void 0,"aria-busy":s?"true":void 0,"aria-label":o,onClick:P,onFocus:A,onBlur:V,className:a,style:{...$,...b},...O,...d,children:[s&&jsx("span",{"data-compa11y-button-spinner":"","aria-hidden":"true",style:c?{}:{display:"inline-block",width:"1em",height:"1em",border:"2px solid currentColor",borderRightColor:"transparent",borderRadius:"50%",animation:"compa11y-spin 0.6s linear infinite"}}),x]})});Ct.displayName="Button";var vo=createContext(null);function Se(){let p=useContext(vo);if(!p)throw new Error("[Compa11y Textarea]: Textarea sub-components (Textarea.Label, Textarea.Field, etc.) must be used within <Textarea>.");return p}var Xe=forwardRef(function({children:t,className:i},r){let e=Se();return jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-textarea-label":"",className:i,style:e.unstyled?{}:{display:"block",color:e.disabled?"var(--compa11y-textarea-disabled-color, #999)":"var(--compa11y-textarea-label-color, inherit)",fontSize:"var(--compa11y-textarea-label-size, 0.875rem)",fontWeight:"var(--compa11y-textarea-label-weight, 500)"},children:[t,e.required&&jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:e.unstyled?{}:{color:"var(--compa11y-textarea-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]})});Xe.displayName="TextareaLabel";var Ze=forwardRef(function({onFocus:t,onBlur:i,className:r,style:e,rows:n,...s},c){let o=Se(),a=useRef(null),b=useCallback(d=>{a.current=d,typeof c=="function"?c(d):c&&(c.current=d);},[c]),l=useCallback(d=>{o.setValue(d.target.value);},[o.setValue]),f=useCallback(d=>{o.focusProps.onFocus(),t?.(d);},[o.focusProps,t]),u=useCallback(d=>{o.focusProps.onBlur(),i?.(d);},[o.focusProps,i]),x=[];return o.hasHint&&x.push(o.hintId),o.hasError&&x.push(o.errorId),jsx("textarea",{ref:b,id:o.fieldId,rows:n??o.rows,value:o.value,onChange:l,onFocus:f,onBlur:u,disabled:o.disabled,readOnly:o.readOnly,"aria-describedby":x.join(" ")||void 0,"aria-invalid":o.hasError?"true":void 0,"aria-required":o.required?"true":void 0,"data-compa11y-textarea-field":"",className:r,style:o.unstyled?e:{width:"100%",padding:"var(--compa11y-textarea-padding, 0.5rem 0.75rem)",border:o.hasError?"1px solid var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border, 1px solid #ccc)",borderRadius:"var(--compa11y-textarea-radius, 4px)",fontSize:"var(--compa11y-textarea-font-size, 0.875rem)",fontFamily:"inherit",lineHeight:"1.5",resize:o.resize,background:o.disabled?"var(--compa11y-textarea-disabled-bg, #f5f5f5)":o.readOnly?"var(--compa11y-textarea-readonly-bg, #f9f9f9)":"var(--compa11y-textarea-bg, white)",color:"inherit",cursor:o.disabled?"not-allowed":void 0,opacity:o.disabled?"var(--compa11y-textarea-disabled-opacity, 0.7)":void 0,...o.isFocusVisible&&!o.disabled?{outline:o.hasError?"2px solid var(--compa11y-textarea-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:o.hasError?"var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border-focus, #0066cc)"}:{},...e},...s})});Ze.displayName="TextareaField";var Je=forwardRef(function({children:t,className:i},r){let e=Se();return useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsx("div",{ref:r,id:e.hintId,"data-compa11y-textarea-hint":"",className:i,style:e.unstyled?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:t})});Je.displayName="TextareaHint";var Qe=forwardRef(function({children:t,className:i},r){let e=Se();return t?jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-textarea-error":"",className:i,style:e.unstyled?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:t}):null});Qe.displayName="TextareaError";var et=forwardRef(function({value:t,defaultValue:i="",onValueChange:r,rows:e=3,resize:n="vertical",label:s,hint:c,error:o,required:a=false,disabled:b=false,readOnly:l=false,"aria-label":f,"aria-labelledby":u,placeholder:x,name:d,autoComplete:T,maxLength:R,minLength:S,id:I,unstyled:m=false,className:y,onFocus:H,onBlur:C,children:P},A){let V=a$2("textarea"),O=I||V,$=`${O}-field`,g=`${O}-label`,h=`${O}-hint`,k=`${O}-error`,[F,K]=useState(i),D=t!==void 0,B=D?t:F,q=useCallback(N=>{D||K(N),r?.(N);},[D,r]),{isFocusVisible:w,focusProps:U}=oe();useEffect(()=>{process.env.NODE_ENV!=="production"&&!(Children.count(P)>0)&&!s&&!f&&!u&&console.warn("[Compa11y Textarea]: Textarea has no accessible label. Screen readers need this to identify the textarea. Use label prop, aria-label, or aria-labelledby.");},[P,s,f,u]);let j=!!o,[W,z]=useState(false),Z=Children.count(P)>0,ne={fieldId:$,labelId:g,hintId:h,errorId:k,value:B,setValue:q,hasError:j,hasHint:Z?W:!!c,setHasHint:z,disabled:b,readOnly:l,required:a,rows:e,resize:n,isFocusVisible:w,focusProps:U,unstyled:m},J={"data-compa11y-textarea":"","data-error":j?"true":"false","data-disabled":b?"true":"false","data-required":a?"true":"false","data-readonly":l?"true":"false"},Q=m?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"},re=useRef(null),Y=useCallback(N=>{re.current=N,typeof A=="function"?A(N):A&&(A.current=N);},[A]),be=useCallback(N=>{q(N.target.value);},[q]),v=useCallback(N=>{U.onFocus(),H?.(N);},[U,H]),E=useCallback(N=>{U.onBlur(),C?.(N);},[U,C]);if(Z)return jsx(vo.Provider,{value:ne,children:jsx("div",{...J,className:y,style:Q,children:P})});let L=[];c&&L.push(h),j&&L.push(k);let M=L.length>0?L.join(" "):void 0;return jsxs("div",{...J,className:y,style:Q,children:[s&&jsxs("label",{id:g,htmlFor:$,"data-compa11y-textarea-label":"",style:m?{}:{display:"block",color:b?"var(--compa11y-textarea-disabled-color, #999)":"var(--compa11y-textarea-label-color, inherit)",fontSize:"var(--compa11y-textarea-label-size, 0.875rem)",fontWeight:"var(--compa11y-textarea-label-weight, 500)"},children:[s,a&&jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:m?{}:{color:"var(--compa11y-textarea-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),jsx("textarea",{ref:Y,id:$,rows:e,value:B,onChange:be,onFocus:v,onBlur:E,disabled:b,readOnly:l,required:a,placeholder:x,name:d,autoComplete:T,maxLength:R,minLength:S,"aria-label":s?void 0:f,"aria-labelledby":!s&&u?u:s?g:void 0,"aria-describedby":M,"aria-invalid":j?"true":void 0,"aria-required":a?"true":void 0,"data-compa11y-textarea-field":"",style:m?{}:{width:"100%",padding:"var(--compa11y-textarea-padding, 0.5rem 0.75rem)",border:j?"1px solid var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border, 1px solid #ccc)",borderRadius:"var(--compa11y-textarea-radius, 4px)",fontSize:"var(--compa11y-textarea-font-size, 0.875rem)",fontFamily:"inherit",lineHeight:"1.5",resize:n,background:b?"var(--compa11y-textarea-disabled-bg, #f5f5f5)":l?"var(--compa11y-textarea-readonly-bg, #f9f9f9)":"var(--compa11y-textarea-bg, white)",color:"inherit",cursor:b?"not-allowed":void 0,opacity:b?"var(--compa11y-textarea-disabled-opacity, 0.7)":void 0,...w&&!b?{outline:j?"2px solid var(--compa11y-textarea-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:j?"var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border-focus, #0066cc)"}:{}}}),c&&jsx("div",{id:h,"data-compa11y-textarea-hint":"",style:m?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:c}),j&&jsx("div",{id:k,role:"alert","data-compa11y-textarea-error":"",style:m?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:o})]})});et.displayName="Textarea";var To=Object.assign(et,{Label:Xe,Field:Ze,Hint:Je,Error:Qe});var Qn={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},Ro=forwardRef(function({focusable:t=false,style:i,children:r,...e},n){return jsx("span",{ref:n,"data-compa11y-visually-hidden":true,"data-focusable":t||void 0,style:t?void 0:{...Qn,...i},...e,children:r})});var rr={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},ar={position:"fixed",top:"0.5rem",left:"0.5rem",zIndex:99999,width:"auto",height:"auto",padding:"0.75rem 1.5rem",margin:0,overflow:"visible",clip:"auto",whiteSpace:"normal",background:"#0066cc",color:"white",fontSize:"1rem",fontWeight:600,borderRadius:"4px",border:"2px solid transparent",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.2)",outline:"2px solid #0066cc",outlineOffset:"2px",textDecoration:"none"},Co=forwardRef(function({target:t="#main-content",unstyled:i=false,children:r,style:e,onClick:n,...s},c){let[o,a]=tr.useState(false),b=useCallback(f=>{let u=document.querySelector(t);u&&(f.preventDefault(),!u.hasAttribute("tabindex")&&u.tabIndex<0&&u.setAttribute("tabindex","-1"),u.focus(),u.scrollIntoView({behavior:"smooth",block:"start"})),n?.(f);},[t,n]),l=i?e:o?{...ar,...e}:{...rr,...e};return jsx("a",{ref:c,href:t,"data-compa11y-skip-link":true,"data-focused":o||void 0,style:l,onFocus:()=>a(true),onBlur:()=>a(false),onClick:b,...s,children:r||"Skip to main content"})});var cr={info:"\u2139\uFE0F",success:"\u2705",warning:"\u26A0\uFE0F",error:"\u274C"},So={info:"#3b82f6",success:"#22c55e",warning:"#f59e0b",error:"#ef4444"},ur={display:"flex",alignItems:"flex-start",gap:"0.75rem",padding:"0.75rem 1rem",background:"white",border:"1px solid #e0e0e0",borderRadius:"6px"},dr={flexShrink:0,fontSize:"1.25rem",lineHeight:1,marginTop:"0.125rem"},pr={flex:1,minWidth:0},br={fontWeight:600,fontSize:"0.875rem",marginBottom:"0.125rem"},fr={color:"#555",fontSize:"0.8125rem"},mr={appearance:"none",background:"none",border:"none",padding:0,margin:0,font:"inherit",cursor:"pointer",flexShrink:0,width:"1.5rem",height:"1.5rem",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"4px",color:"#999",fontSize:"1.125rem",lineHeight:1},Eo=forwardRef(function({type:t="info",title:i,dismissible:r=false,onDismiss:e,unstyled:n=false,children:s,style:c,...o},a){let b=t==="error"||t==="warning"?"alert":"status",l=useCallback(()=>{e?.();},[e]),f=n?c:{...ur,borderLeft:`4px solid ${So[t]}`,...c};return jsxs("div",{ref:a,role:b,"aria-live":b==="alert"?"assertive":"polite","data-compa11y-alert":true,"data-type":t,"data-dismissible":r||void 0,style:f,...o,children:[!n&&jsx("span",{"data-compa11y-alert-icon":true,"aria-hidden":"true",style:{...dr,color:So[t]},children:cr[t]}),jsxs("div",{"data-compa11y-alert-content":true,style:n?void 0:pr,children:[i&&jsx("div",{"data-compa11y-alert-title":true,style:n?void 0:br,children:i}),jsx("div",{"data-compa11y-alert-description":true,style:n?void 0:fr,children:s})]}),r&&jsx("button",{type:"button",onClick:l,"aria-label":"Dismiss alert","data-compa11y-alert-close":true,style:n?void 0:mr,children:"\xD7"})]})});export{Eo as Alert,Ct as Button,Qt as Checkbox,Ae as CheckboxBase,Fe as CheckboxGroup,Oe as CheckboxIndicator,mo as Input,_e as InputBase,qe as InputError,We as InputField,Ue as InputHint,je as InputLabel,so as Listbox,Ge as ListboxBase,Ke as ListboxGroup,$e as ListboxOption,Ne as Radio,to as RadioGroup,Ve as RadioGroupBase,_t as Select,lt as SelectBase,ut as SelectListbox,we as SelectOptionItem,ct as SelectTrigger,Co as SkipLink,ht as Switch,To as Textarea,et as TextareaBase,Qe as TextareaError,Ze as TextareaField,Je as TextareaHint,Xe as TextareaLabel,Ro as VisuallyHidden,bt as useCheckboxGroupContext,Bt as useFocusControl,Dt as useFocusManager,$t as useFocusNeighbor,Kt as useFocusReturn,oe as useFocusVisible,zt as useFocusWithin,Ce as useInputContext,ze as useListboxContext,yt as useRadioGroupContext,ot as useRovingTabindex,Gt as useRovingTabindexMap,Se as useTextareaContext};
|
|
1
|
+
export{k as Dialog,j as DialogActions,d as DialogBase,h as DialogClose,i as DialogContent,g as DialogDescription,f as DialogTitle,e as DialogTrigger,c as useDialogContext,a as useFocusTrap,b as useFocusTrapControls}from'./chunk-32AW37KT.js';export{i as ActionMenu,c as ActionMenuBase,e as ActionMenuContent,f as ActionMenuItem,h as ActionMenuLabel,g as ActionMenuSeparator,d as ActionMenuTrigger,a as useActionMenuContext}from'./chunk-QOY5G3EC.js';export{d as Tab,c as TabList,e as TabPanel,f as Tabs,b as TabsBase,a as useTabsContext}from'./chunk-L6H47IF4.js';export{b as ToastProvider,c as ToastViewport,a as useToast,d as useToastHelpers}from'./chunk-IFZVKAUZ.js';export{e as Combobox,a as ComboboxBase,b as ComboboxInput,c as ComboboxListbox,d as ComboboxOption}from'./chunk-HEA4NAOM.js';import {a}from'./chunk-MD4AVTLT.js';export{c as useAnnounceLoading,b as useAnnounceOnChange,a as useAnnouncer}from'./chunk-MD4AVTLT.js';import {e,a as a$1}from'./chunk-VMM4K2K4.js';export{d as useGridKeyboard,f as useKeyPressed,a as useKeyboard,b as useMenuKeyboard,c as useTabsKeyboard,e as useTypeAhead}from'./chunk-VMM4K2K4.js';import {a as a$2}from'./chunk-IZ7LLPPV.js';export{a as useId,c as useIdScope,b as useIds}from'./chunk-IZ7LLPPV.js';import tr,{createContext,forwardRef,useCallback,useRef,useState,useEffect,useLayoutEffect,useMemo,useContext,Children}from'react';import {createComponentWarnings,initFocusVisible,isFocusVisible,focusWithVisibleRing,findFocusNeighbor,createFocusReturn}from'@compa11y/core';export{announce,announceAssertive,announceError,announcePolite,announceProgress,announceStatus,aria,buildAriaProps,checks,createComponentWarnings,hasAccessibleName,isAndroid,isBrowser,isIOS,isMac,mergeAriaIds,prefersDarkMode,prefersHighContrast,prefersReducedMotion,setWarningHandler,warn}from'@compa11y/core';import {jsxs,jsx,Fragment}from'react/jsx-runtime';function oe(){let[p,t]=useState(false);useEffect(()=>initFocusVisible(),[]);let s=useCallback(()=>{t(isFocusVisible());},[]),r=useCallback(()=>{t(false);},[]);return {isFocusVisible:p,focusProps:{onFocus:s,onBlur:r}}}function Dt(p={}){let{autoFocus:t=false,restoreFocus:s=false,focusVisible:r=true}=p,e=useCallback(n=>{n&&t&&requestAnimationFrame(()=>{r?focusWithVisibleRing(n):n.focus();});},[t,r]);return useEffect(()=>{if(!s)return;let n=document.activeElement;return ()=>{n&&n.focus&&n.focus();}},[s]),e}function Bt(){let p=useCallback(s=>{},[]),t=useCallback(s=>{let r=p;r.current&&(s?.visible?focusWithVisibleRing(r.current):r.current.focus());},[]);return {ref:p,focus:t}}function zt(){let[p,t]=useState(false),s=useCallback(n=>{},[]),r=useCallback(()=>{t(true);},[]),e=useCallback(n=>{let i=n.currentTarget,d=n.relatedTarget;(!d||!i.contains(d))&&t(false);},[]);return {ref:s,hasFocus:p,focusWithinProps:{onFocus:r,onBlur:e}}}function ot(p){let{itemCount:t,initialIndex:s=0,wrap:r=true,orientation:e="both",onChange:n}=p,[i,d]=useState(s),o=useRef([]);useEffect(()=>{i>=t&&d(Math.max(0,t-1));},[t,i]);let a=useCallback(c=>{let u=c;u<0?u=r?t-1:0:u>=t&&(u=r?0:t-1),d(u),n?.(u),o.current[u]?.focus();},[t,r,n]),f=useCallback((c,u)=>{let x=false;switch(c.key){case "ArrowRight":(e==="horizontal"||e==="both")&&(a(u+1),x=true);break;case "ArrowLeft":(e==="horizontal"||e==="both")&&(a(u-1),x=true);break;case "ArrowDown":(e==="vertical"||e==="both")&&(a(u+1),x=true);break;case "ArrowUp":(e==="vertical"||e==="both")&&(a(u-1),x=true);break;case "Home":a(0),x=true;break;case "End":a(t-1),x=true;break}x&&(c.preventDefault(),c.stopPropagation());},[e,a,t]),l=useCallback(c=>({ref:u=>{o.current[c]=u;},tabIndex:c===i?0:-1,onKeyDown:u=>f(u,c),onFocus:()=>{c!==i&&(d(c),n?.(c));}}),[i,f,n]);return {activeIndex:i,setActiveIndex:a,getItemProps:l,first:()=>a(0),last:()=>a(t-1),next:()=>a(i+1),previous:()=>a(i-1)}}function Gt(p,t={}){let s=ot({...t,itemCount:p.length}),r=useCallback(n=>{let i=p.indexOf(n);if(i===-1)throw new Error(`Unknown item ID: ${n}`);return s.getItemProps(i)},[p,s]),e=p[s.activeIndex];return {...s,activeId:e,getItemProps:r,setActiveId:n=>{let i=p.indexOf(n);i!==-1&&s.setActiveIndex(i);}}}function $t(p){let t=useRef(null),s=useRef(p);s.current=p;let r=useCallback(()=>t.current?findFocusNeighbor(t.current,s.current):null,[]),e=useCallback(()=>{r()?.focus();},[r]);return {ref:t,getNeighbor:r,focusNeighbor:e}}function Kt(){let p=useRef(createFocusReturn()),t=useCallback(e=>{p.current.save(e);},[]),s=useCallback(e=>{p.current.return(e);},[]),r=useCallback(()=>{p.current.clear();},[]);return {save:t,returnFocus:s,clear:r}}var vn=createComponentWarnings("Select"),qt=createContext(null);function st(){let p=useContext(qt);if(!p)throw new Error("Select compound components must be used within a Select component");return p}function jt(p,t,s){let r=p.length,e=t+s;e<0&&(e=r-1),e>=r&&(e=0);let n=e;for(;p[e]?.disabled;)if(e+=s,e<0&&(e=r-1),e>=r&&(e=0),e===n)return -1;return e}function Wt(p){return p.findIndex(t=>!t.disabled)}function Ut(p){for(let t=p.length-1;t>=0;t--)if(!p[t]?.disabled)return t;return -1}function lt({options:p,value:t,defaultValue:s,onValueChange:r,disabled:e=false,placeholder:n="Select an option...","aria-label":i,"aria-labelledby":d,children:o}){let[a,f]=useState(s??null),[l,c]=useState(false),[u,x]=useState(-1),b=useRef(null),T=t!==void 0?t:a,C=a$2("select-trigger"),L=a$2("select-listbox"),S=a$2("select-option"),m=useCallback(k=>{t===void 0&&f(k),r?.(k);},[t,r]),h=useCallback(k=>`${S}-${k}`,[S]),H=useCallback(k=>{m(k.value),c(false),x(-1),b.current?.focus();},[m]);useEffect(()=>{!i&&!d&&vn.warning("Select has no accessible label.","Add aria-label or aria-labelledby prop.");},[i,d]);let R={selectedValue:T,setSelectedValue:m,isOpen:l,setIsOpen:c,highlightedIndex:u,setHighlightedIndex:x,options:p,triggerId:C,listboxId:L,getOptionId:h,onSelect:H,triggerRef:b,placeholder:n,disabled:e};return jsx(qt.Provider,{value:R,children:jsx("div",{"data-compa11y-select":true,"data-disabled":e||void 0,children:o})})}var ct=forwardRef(function({placeholder:t,onKeyDown:s,onClick:r,onBlur:e$1,...n},i){let{selectedValue:d,isOpen:o,setIsOpen:a$2,highlightedIndex:f,setHighlightedIndex:l,options:c,triggerId:u,listboxId:x,getOptionId:b,onSelect:T,triggerRef:C,placeholder:L,disabled:S}=st(),m=t??L,{announce:h}=a(),H=e(c.map(y=>y.label),y=>{let O=c.findIndex(F=>F.label===y&&!F.disabled);O>=0&&(o||a$2(true),l(O));},{disabled:S}),R=useCallback((y=false)=>{a$2(true);let O=c.findIndex(F=>F.value===d);O>=0?l(O):l(y?Ut(c):Wt(c));},[c,d,a$2,l]),k=a$1({ArrowDown:()=>{if(!o)R();else {let y=jt(c,f,1);y>=0&&l(y);}},ArrowUp:()=>{if(!o)R(true);else {let y=jt(c,f,-1);y>=0&&l(y);}},Enter:()=>{if(o&&f>=0){let y=c[f];y&&!y.disabled&&(T(y),h(`${y.label} selected`));}else o||R();},Space:()=>{if(o&&f>=0){let y=c[f];y&&!y.disabled&&(T(y),h(`${y.label} selected`));}else o||R();},Escape:()=>{o&&(a$2(false),l(-1));},Home:()=>{o&&l(Wt(c));},End:()=>{o&&l(Ut(c));},Tab:()=>(o&&(a$2(false),l(-1)),false)},{preventDefault:true,stopPropagation:false}),A=y=>{s?.(y),y.defaultPrevented||k.onKeyDown(y),y.defaultPrevented||H.onKeyDown(y);},N=y=>{r?.(y),!y.defaultPrevented&&!S&&(o?(a$2(false),l(-1)):R());},V=y=>{e$1?.(y),setTimeout(()=>{a$2(false),l(-1);},150);},$=o&&f>=0?b(f):void 0,g=c.find(y=>y.value===d),K=g?.label??m,P=useCallback(y=>{C.current=y,typeof i=="function"?i(y):i&&(i.current=y);},[i,C]);return jsxs("button",{ref:P,id:u,type:"button",role:"combobox","aria-expanded":o,"aria-controls":x,"aria-haspopup":"listbox","aria-activedescendant":$,disabled:S,onKeyDown:A,onClick:N,onBlur:V,"data-compa11y-select-trigger":true,"data-placeholder":!g||void 0,...n,children:[jsx("span",{"data-compa11y-select-value":true,children:K}),jsx("span",{"aria-hidden":"true","data-compa11y-select-chevron":true,children:"\u25BC"})]})}),dt=forwardRef(function({children:t,style:s,...r},e){let{isOpen:n,options:i,listboxId:d,triggerId:o}=st(),{announce:a$1}=a(),f=useRef(null),[l,c]=useState("bottom");useEffect(()=>{n&&a$1(`${i.length} option${i.length===1?"":"s"} available`);},[n,i.length,a$1]),useLayoutEffect(()=>{if(n&&f.current){let C=f.current.getBoundingClientRect(),S=window.innerHeight-C.top,m=C.top,h=Math.min(C.height,200);S<h+50&&m>S?c("top"):c("bottom");}},[n]);let u=T=>{T.preventDefault();},x=useCallback(T=>{f.current=T,typeof e=="function"?e(T):e&&(e.current=T);},[e]);return n?jsx("ul",{ref:x,id:d,role:"listbox","aria-labelledby":o,style:{...s,...l==="top"?{bottom:"100%",top:"auto",marginBottom:"4px",marginTop:0}:{}},onMouseDown:u,"data-compa11y-select-listbox":true,"data-position":l,...r,children:t??i.map((T,C)=>jsx(we,{option:T,index:C},T.value))}):null}),we=forwardRef(function({option:t,index:s,onClick:r,onMouseEnter:e,...n},i){let{selectedValue:d,highlightedIndex:o,setHighlightedIndex:a$1,getOptionId:f,onSelect:l}=st(),{announce:c}=a(),u=useRef(null),x=d===t.value,b=o===s,T=f(s);useEffect(()=>{b&&u.current&&u.current.scrollIntoView({block:"nearest",behavior:"smooth"});},[b]);let C=m=>{r?.(m),!m.defaultPrevented&&!t.disabled&&(l(t),c(`${t.label} selected`));},L=m=>{e?.(m),t.disabled||a$1(s);},S=useCallback(m=>{u.current=m,typeof i=="function"?i(m):i&&(i.current=m);},[i]);return jsxs("li",{ref:S,id:T,role:"option","aria-selected":x,"aria-disabled":t.disabled,"data-highlighted":b,"data-selected":x,"data-disabled":t.disabled,onClick:C,onMouseEnter:L,"data-compa11y-select-option":true,...n,children:[jsx("span",{"data-compa11y-select-option-text":true,children:t.label}),x&&jsx("span",{"aria-hidden":"true","data-compa11y-select-check":true,children:"\u2713"})]})}),_t=Object.assign(lt,{Trigger:ct,Listbox:dt,Option:we});var Zt=createComponentWarnings("Checkbox"),In=()=>jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:{display:"block"},children:jsx("path",{d:"M2.5 6L5 8.5L9.5 3.5",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}),En=()=>jsx("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none","aria-hidden":"true",style:{display:"block"},children:jsx("path",{d:"M3 6H9",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})}),Jt=createContext(null);function bt(){return useContext(Jt)}var Fe=forwardRef(function({value:t,defaultValue:s=[],onValueChange:r,disabled:e=false,legend:n,error:i,orientation:d="vertical",name:o,unstyled:a=false,className:f="",children:l,"aria-label":c,"aria-labelledby":u},x){let b=a$2("checkbox-group"),T=o||b,C=a$2("checkbox-group-error"),[L,S]=useState(s),m=t!==void 0,h=m?t:L;useEffect(()=>{!n&&!c&&!u&&Zt.warning("CheckboxGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[n,c,u]);let H=useCallback((g,K)=>{let P=m?t:L,y=K?[...P,g]:P.filter(O=>O!==g);m||S(y),r?.(y);},[m,t,L,r]),R={name:T,value:h,disabled:e,unstyled:a,onCheckboxChange:H},k=!!i,A={border:"none",margin:0,padding:0,minWidth:0},N=a?{padding:0,marginBottom:"0.5rem"}:{padding:0,marginBottom:"0.5rem",fontWeight:600},V={display:"flex",flexDirection:d==="horizontal"?"row":"column",flexWrap:d==="horizontal"?"wrap":void 0,gap:"var(--compa11y-checkbox-group-gap, 0.75rem)"},$=a?{marginTop:"0.25rem"}:{color:"var(--compa11y-checkbox-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"};return jsx(Jt.Provider,{value:R,children:jsxs("fieldset",{ref:x,className:f,"aria-label":c,"aria-labelledby":u,"aria-describedby":k?C:void 0,disabled:e,"data-compa11y-checkbox-group":"","data-orientation":d,"data-disabled":e?"true":void 0,style:A,children:[n&&jsx("legend",{"data-compa11y-checkbox-group-legend":"",style:N,children:n}),jsx("div",{style:V,children:l}),k&&jsx("div",{id:C,role:"alert","data-compa11y-checkbox-group-error":"",style:$,children:i})]})})});Fe.displayName="CheckboxGroup";var Ae=forwardRef(function({checked:t,defaultChecked:s=false,onCheckedChange:r,indeterminate:e=false,label:n,hint:i,error:d,disabled:o=false,value:a$1,required:f=false,unstyled:l,className:c="",size:u="md",name:x,"aria-label":b,"aria-labelledby":T,"aria-describedby":C,onClick:L,onFocus:S,onBlur:m,...h},H){let R=bt(),k=a$2("checkbox"),A=`${k}-input`,N=`${k}-label`,V=`${k}-hint`,$=`${k}-error`,{announce:g}=a(),{isFocusVisible:K,focusProps:P}=oe(),y=R!==null,O=y&&R.disabled||o,F=l??(y?R.unstyled:false),B=y?R.name:x,[q,w]=useState(s),U=y?R.value.includes(a$1||""):t!==void 0?t:q,j=useRef(null),W=useCallback(de=>{j.current=de,typeof H=="function"?H(de):H&&(H.current=de);},[H]);useEffect(()=>{j.current&&(j.current.indeterminate=e);},[e]),useEffect(()=>{!n&&!b&&!T&&Zt.warning("Checkbox has no accessible label. Screen readers need this to identify the checkbox.",'Add label="...", aria-label="...", or aria-labelledby="..."');},[n,b,T]);let z=useCallback(de=>{let ke=de.target.checked;y?R.onCheckboxChange(a$1||"",ke):(t===void 0&&w(ke),r?.(ke)),g(`${typeof n=="string"?n:b||"Checkbox"} ${ke?"checked":"unchecked"}`);},[y,R,a$1,t,r,n,b,g]),Z=useCallback(de=>{P.onFocus(),S?.(de);},[P,S]),ne=useCallback(de=>{P.onBlur(),m?.(de);},[P,m]),J=!!n,Q=!!i,re=!!d,Y=[];C&&Y.push(C),Q&&Y.push(V),re&&Y.push($);let be=Y.length?Y.join(" "):void 0,I={sm:{box:16},md:{box:20},lg:{box:24}}[u],E={display:"inline-flex",alignItems:"flex-start",gap:"0.5rem",cursor:O?"not-allowed":"pointer",userSelect:"none",...O&&!F?{opacity:.5}:{}},M={position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},D={position:"absolute",opacity:0,width:"100%",height:"100%",margin:0,cursor:"inherit",zIndex:1},_=F?{}:{width:I.box,height:I.box,minWidth:24,minHeight:24,border:U||e?"var(--compa11y-checkbox-checked-border, 2px solid #0066cc)":"var(--compa11y-checkbox-border, 2px solid #666)",borderRadius:"var(--compa11y-checkbox-radius, 3px)",background:U||e?"var(--compa11y-checkbox-checked-bg, #0066cc)":"var(--compa11y-checkbox-bg, white)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.15s ease",pointerEvents:"none",color:"var(--compa11y-checkbox-check-color, white)",...K?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}},ge={display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},Lo=F?{cursor:"inherit"}:{cursor:"inherit",color:"var(--compa11y-checkbox-label-color, inherit)"},Ho=F?{}:{color:"var(--compa11y-checkbox-hint-color, #666)",fontSize:"0.8125rem"},ko=F?{}:{color:"var(--compa11y-checkbox-error-color, #ef4444)",fontSize:"0.8125rem"};return jsxs("div",{className:c,"data-compa11y-checkbox":"","data-checked":U?"true":"false","data-indeterminate":e?"true":void 0,"data-disabled":O?"true":void 0,"data-size":u,style:E,children:[jsxs("div",{style:M,children:[jsx("input",{ref:W,type:"checkbox",id:A,name:B,value:a$1,checked:U,onChange:z,onClick:L,onFocus:Z,onBlur:ne,disabled:O,required:f,"aria-required":f||void 0,"aria-invalid":re||void 0,"aria-label":!J&&!T?b:void 0,"aria-labelledby":T||(J?N:void 0),"aria-describedby":be,"aria-checked":e?"mixed":U,tabIndex:O?-1:0,style:D,...h}),!F&&jsxs("div",{"data-compa11y-checkbox-indicator":"","aria-hidden":"true",style:_,children:[U&&!e&&jsx(In,{}),e&&jsx(En,{})]})]}),(J||Q||re)&&jsxs("div",{style:ge,children:[J&&jsxs("label",{htmlFor:A,id:N,"data-compa11y-checkbox-label":"",style:Lo,children:[n,f&&jsx("span",{"aria-hidden":"true",style:{color:"var(--compa11y-checkbox-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),Q&&jsx("div",{id:V,"data-compa11y-checkbox-hint":"",style:Ho,children:i}),re&&jsx("div",{id:$,role:"alert","data-compa11y-checkbox-error":"",style:ko,children:d})]})]})});Ae.displayName="Checkbox";var Oe=forwardRef(function({children:t,className:s},r){return jsx("div",{ref:r,className:s,"data-compa11y-checkbox-indicator":"","aria-hidden":"true",children:t})});Oe.displayName="CheckboxIndicator";var Qt=Object.assign(Ae,{Group:Fe,Indicator:Oe});var Mn=createComponentWarnings("RadioGroup"),xt=createContext(null);function yt(){let p=useContext(xt);if(!p)throw new Error("[Compa11y RadioGroup]: Radio must be used within a RadioGroup.");return p}var Ve=forwardRef(function({value:t,defaultValue:s,onValueChange:r,disabled:e=false,discoverable:n=true,required:i=false,orientation:d="vertical",name:o,legend:a,hint:f,error:l,unstyled:c=false,className:u="",children:x,"aria-label":b,"aria-labelledby":T},C){let L=a$2("radiogroup"),S=o||L,m=a$2("radiogroup-hint"),h=a$2("radiogroup-error"),[H,R]=useState(s??null),k=t!==void 0,A=k?t:H,N=useRef(new Map);useEffect(()=>{!a&&!b&&!T&&Mn.warning("RadioGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[a,b,T]);let V=useCallback(W=>{e||(k||R(W),r?.(W));},[e,k,r]),$=useCallback((W,z)=>{N.current.set(W,z);},[]),g=useCallback(W=>{N.current.delete(W);},[]),K=useCallback((W,z)=>{N.current.set(W,z);},[]),P=useCallback(()=>{let W=[];return N.current.forEach((z,Z)=>{!z&&!e&&W.push(Z);}),W},[e]),y=useRef(null),O=C||y,F=useCallback(W=>{let z=P();if(z.length===0)return;let Z=A?z.indexOf(A):-1,ne;switch(W){case "next":ne=Z<0?0:(Z+1)%z.length;break;case "prev":ne=Z<0?z.length-1:(Z-1+z.length)%z.length;break;case "first":ne=0;break;case "last":ne=z.length-1;break}let J=z[ne];if(J!==void 0){V(J);let Q=typeof O=="object"&&O?O.current:null;Q&&Q.querySelector(`input[type="radio"][value="${CSS.escape(J)}"]`)?.focus();}},[P,A,V,O]),B=a$1({ArrowDown:()=>F("next"),ArrowRight:()=>F("next"),ArrowUp:()=>F("prev"),ArrowLeft:()=>F("prev"),Home:()=>F("first"),End:()=>F("last")},{preventDefault:true,stopPropagation:true,disabled:e}),q={name:S,value:A??null,disabled:e,discoverable:n,required:i,unstyled:c,orientation:d,onValueChange:V,registerRadio:$,unregisterRadio:g,updateRadioDisabled:K},w=[];f&&w.push(m),l&&w.push(h);let U=w.length>0?w.join(" "):void 0,j=jsxs(Fragment,{children:[jsx("div",{style:c?{display:"flex",flexDirection:d==="horizontal"?"row":"column"}:{display:"flex",flexDirection:d==="horizontal"?"row":"column",gap:"var(--compa11y-radio-gap, 0.75rem)"},children:x}),f&&jsx("div",{id:m,style:c?{}:{color:"var(--compa11y-radio-group-hint-color, #666)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:f}),l&&jsx("div",{id:h,role:"alert",style:c?{}:{color:"var(--compa11y-radio-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:l})]});return a?jsx(xt.Provider,{value:q,children:jsxs("fieldset",{ref:O,role:"radiogroup","aria-label":b,"aria-labelledby":T,"aria-orientation":d,"aria-required":i||void 0,"aria-disabled":e||void 0,"aria-invalid":l?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${u}`.trim(),"data-compa11y-radiogroup":"","data-orientation":d,"data-disabled":e?"true":void 0,"data-error":l?"true":void 0,onKeyDown:B.onKeyDown,style:c?{border:"none",margin:0,padding:0,minWidth:0}:{border:"none",margin:0,padding:0,minWidth:0},children:[jsxs("legend",{style:c?{}:{padding:0,marginBottom:"var(--compa11y-radio-group-legend-gap, 0.5rem)",fontWeight:"var(--compa11y-radio-group-legend-weight, 600)",color:"var(--compa11y-radio-group-legend-color, inherit)",fontSize:"var(--compa11y-radio-group-legend-size, 1rem)"},children:[a,i&&!c&&jsxs("span",{"aria-hidden":"true",style:{color:"var(--compa11y-radio-group-required-color, #ef4444)",marginLeft:"0.125rem"},children:[" ","*"]})]}),j]})}):jsx(xt.Provider,{value:q,children:jsx("div",{ref:O,role:"radiogroup","aria-label":b,"aria-labelledby":T,"aria-orientation":d,"aria-required":i||void 0,"aria-disabled":e||void 0,"aria-invalid":l?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${u}`.trim(),"data-compa11y-radiogroup":"","data-orientation":d,"data-disabled":e?"true":void 0,"data-error":l?"true":void 0,onKeyDown:B.onKeyDown,children:j})})});Ve.displayName="RadioGroup";var Ne=forwardRef(function({value:t,disabled:s=false,discoverable:r,label:e,hint:n,unstyled:i,className:d="",children:o,"aria-label":a$1},f){let l=yt(),c=a$2("radio"),u=a$2("radio-hint"),x=l.disabled||s,b=r??l.discoverable,T=i??l.unstyled,C=l.value===t,{announce:L}=a(),{isFocusVisible:S,focusProps:m}=oe(),h=useRef(null),H=useCallback(B=>{h.current=B,typeof f=="function"?f(B):f&&(f.current=B);},[f]);useEffect(()=>(l.registerRadio(t,x),()=>l.unregisterRadio(t)),[t]),useEffect(()=>{l.updateRadioDisabled(t,x);},[x,t]);let R=useCallback(B=>{if(x){B.preventDefault();return}l.onValueChange(t),L(`${e||(typeof o=="string"?o:null)||t} selected`,{politeness:"polite"});},[x,l,t,e,o,L]),k=useCallback(B=>{x&&B.preventDefault();},[x]),A=useCallback(B=>{m.onFocus(),!C&&!x&&l.onValueChange(t);},[m,C,x,l,t]),N=useCallback(()=>{m.onBlur();},[m]),V=!!(o||e),$=o||e,g=`${c}-label`,K=!!n,P=(()=>{if(l.value!==null)return false;let B=Array.from(h.current?.closest('[role="radiogroup"]')?.querySelectorAll('input[type="radio"]')??[]);for(let q of B){let w=q;if(!w.disabled&&w.getAttribute("aria-disabled")!=="true")return w.value===t}return false})(),y=x&&!b?-1:C||l.value===null&&P?0:-1,O=x&&!b,F=K?u:void 0;return jsxs("label",{htmlFor:c,className:`compa11y-radio-wrapper ${d}`.trim(),"data-compa11y-radio":"","data-value":t,"data-checked":C?"true":"false","data-disabled":x?"true":void 0,style:T?{display:"inline-flex",alignItems:"flex-start",cursor:x?"not-allowed":"pointer",gap:"0.5rem"}:{display:"inline-flex",alignItems:"flex-start",gap:"var(--compa11y-radio-gap, 0.5rem)",cursor:x?"not-allowed":"pointer",userSelect:"none",opacity:x?.5:1},children:[jsxs("div",{style:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:[jsx("input",{ref:H,type:"radio",id:c,name:l.name,value:t,checked:C,onChange:R,onClick:k,onFocus:A,onBlur:N,disabled:O,tabIndex:y,"aria-disabled":x?"true":void 0,"aria-label":V?void 0:a$1,"aria-labelledby":V?g:void 0,"aria-describedby":F,required:l.required,className:"compa11y-radio-input",style:{position:"absolute",opacity:0,width:"var(--compa11y-radio-size, 1.25rem)",height:"var(--compa11y-radio-size, 1.25rem)",margin:0,cursor:x?"not-allowed":"pointer"}}),!T&&jsx("div",{className:"compa11y-radio-circle",style:{width:"var(--compa11y-radio-size, 1.25rem)",height:"var(--compa11y-radio-size, 1.25rem)",minWidth:"24px",minHeight:"24px",border:C?"var(--compa11y-radio-checked-border, 2px solid #0066cc)":"var(--compa11y-radio-border, 2px solid #666)",borderRadius:"50%",background:C?"var(--compa11y-radio-checked-bg, #0066cc)":"var(--compa11y-radio-bg, white)",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:"all 0.15s ease",pointerEvents:"none",...S?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}},children:jsx("div",{"aria-hidden":"true",style:{width:"var(--compa11y-radio-dot-size, 0.5rem)",height:"var(--compa11y-radio-dot-size, 0.5rem)",borderRadius:"50%",background:"var(--compa11y-radio-dot-color, white)",opacity:C?1:0,transform:C?"scale(1)":"scale(0)",transition:"all 0.15s ease"}})})]}),(V||K)&&jsxs("div",{style:T?{}:{display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},children:[V&&jsx("span",{id:g,className:"compa11y-radio-label",style:T?{}:{color:"var(--compa11y-radio-label-color, inherit)",fontSize:"var(--compa11y-radio-label-size, 1rem)"},children:$}),K&&jsx("span",{id:u,className:"compa11y-radio-hint",style:T?{}:{color:"var(--compa11y-radio-hint-color, #666)",fontSize:"var(--compa11y-radio-hint-size, 0.8125rem)"},children:n})]})]})});Ne.displayName="Radio";var to=Object.assign(Ve,{Radio:Ne});var Nn=createComponentWarnings("Switch"),ht=forwardRef(function({checked:t,defaultChecked:s=false,onCheckedChange:r,label:e,disabled:n=false,unstyled:i=false,className:d,size:o="md","aria-label":a$3,"aria-labelledby":f,onClick:l,...c},u){let b=`${a$2("switch")}-label`,{announce:T}=a(),{isFocusVisible:C,focusProps:L}=oe(),[S,m]=useState(s),h=t!==void 0,H=h?t:S;useEffect(()=>{!e&&!a$3&&!f&&Nn.warning("Switch has no accessible label. Screen readers need this to identify the switch.",'Add label="Description", aria-label="...", or aria-labelledby="..."');},[e,a$3,f]);let R=useCallback(()=>{if(n)return;let w=!H;h||m(w),r?.(w),T(`${e||a$3||"Switch"} ${w?"on":"off"}`);},[H,n,h,r,e,a$3,T]),k=useCallback(w=>{l?.(w),w.defaultPrevented||R();},[l,R]),A=a$1({Space:()=>{R();},Enter:()=>{R();}},{preventDefault:true}),N=w=>{c.onKeyDown?.(w),w.defaultPrevented||A.onKeyDown(w);},V=a$3,$=f||(e?b:void 0),g={display:"inline-flex",alignItems:"center"},P={sm:{width:32,height:18,thumb:14,translate:14},md:{width:44,height:24,thumb:20,translate:20},lg:{width:56,height:30,thumb:26,translate:26}}[o],y={position:"relative",display:"inline-flex",alignItems:"center",flexShrink:0,width:P.width,height:P.height,border:"none",padding:2,cursor:n?"not-allowed":"pointer"},O=i?{}:{backgroundColor:H?"#0066cc":"#d1d5db",borderRadius:P.height/2,transition:"background-color 0.2s ease",opacity:n?.5:1},F={position:"absolute",left:2,width:P.thumb,height:P.thumb,pointerEvents:"none",transform:H?`translateX(${P.translate}px)`:"translateX(0)"},B=i?{}:{backgroundColor:"white",borderRadius:"50%",boxShadow:"0 1px 3px rgba(0, 0, 0, 0.2)",transition:"transform 0.2s ease"},q=i?{marginLeft:8,userSelect:"none",cursor:n?"not-allowed":"pointer"}:{marginLeft:8,userSelect:"none",cursor:n?"not-allowed":"pointer",opacity:n?.5:1};return jsxs("div",{style:g,"data-compa11y-switch-wrapper":true,"data-size":o,children:[jsx("button",{ref:u,type:"button",role:"switch","aria-checked":H,"aria-label":V,"aria-labelledby":$,disabled:n,onClick:k,onKeyDown:N,className:d,style:{...y,...O,...!i&&C&&!n?{outline:"2px solid #0066cc",outlineOffset:"2px"}:{outline:"none"}},tabIndex:n?-1:0,"data-compa11y-switch":true,"data-checked":H,"data-disabled":n||void 0,"data-size":o,...c,onFocus:w=>{L.onFocus(),c.onFocus?.(w);},onBlur:w=>{L.onBlur(),c.onBlur?.(w);},children:jsx("span",{style:{...F,...B},"data-compa11y-switch-thumb":true,"aria-hidden":"true"})}),e&&jsx("label",{id:b,onClick:n?void 0:()=>R(),style:q,"data-compa11y-switch-label":true,children:e})]})});ht.displayName="Switch";var zn=createComponentWarnings("Listbox"),ao=createContext(null);function ze(){let p=useContext(ao);if(!p)throw new Error("[Compa11y Listbox]: Option/Group must be used within a Listbox.");return p}var io=createContext({groupDisabled:false}),Ge=forwardRef(function({value:t,defaultValue:s,onValueChange:r,multiple:e$1=false,disabled:n=false,discoverable:i=true,orientation:d="vertical",unstyled:o=false,className:a$3="",children:f,"aria-label":l,"aria-labelledby":c},u){let x=a$2("listbox"),{announce:b}=a(),[T,C]=useState(()=>s??(e$1?[]:"")),L=t!==void 0,S=L?t:T,m=useMemo(()=>e$1?new Set(Array.isArray(S)?S:[]):new Set(S?[String(S)]:[]),[S,e$1]),[h,H]=useState(null),R=useRef(new Map),[k,A]=useState(0),N=useCallback((v,I,E)=>{R.current.set(v,{disabled:I,label:E}),A(M=>M+1);},[]),V=useCallback(v=>{R.current.delete(v),A(I=>I+1);},[]),$=useCallback((v,I)=>{let E=R.current.get(v);E&&R.current.set(v,{...E,disabled:I});},[]),g=useMemo(()=>{let v=[];return R.current.forEach((I,E)=>{!I.disabled&&!n&&v.push(E);}),v},[k,n]);useEffect(()=>{!l&&!c&&zn.warning("Listbox has no accessible label. Screen readers need this.",'Add aria-label="..." or aria-labelledby="..."');},[l,c]);let K=useCallback(v=>m.has(v),[m]),P=useCallback(v=>{if(n)return;let I=R.current.get(v);if(I?.disabled)return;let E,M=I?.label||v;if(e$1){let D=new Set(m);D.has(v)?(D.delete(v),b(`${M} deselected`,{politeness:"polite"})):(D.add(v),b(`${M} selected`,{politeness:"polite"})),E=Array.from(D);}else E=v,b(`${M} selected`,{politeness:"polite"});L||C(E),r?.(E);},[n,e$1,m,L,r,b]),y=useCallback(v=>{if(g.length===0)return;let I=h?g.indexOf(h):-1,E;switch(v){case "next":E=I<0?0:Math.min(I+1,g.length-1);break;case "prev":E=I<0?g.length-1:Math.max(I-1,0);break;case "first":E=0;break;case "last":E=g.length-1;break}let M=g[E];if(M!==void 0)if(H(M),e$1){let _=R.current.get(M)?.label||M,ge=m.has(M);b(`${_}${ge?", selected":""}`,{politeness:"polite"});}else {let _=R.current.get(M)?.label||M,ge=M;L||C(ge),r?.(ge),b(`${_} selected`,{politeness:"polite"});}},[g,h,e$1,L,r,b,m]),O=useCallback(()=>{h&&e$1&&P(h);},[h,e$1,P]),F=useCallback(v=>{if(g.length===0)return;let I=h?g.indexOf(h):-1,E;v==="next"?E=I<0?0:Math.min(I+1,g.length-1):E=I<0?g.length-1:Math.max(I-1,0);let M=g[E];M!==void 0&&(H(M),P(M));},[g,h,P]),B=useCallback(()=>{if(!e$1||!h)return;let v=g.indexOf(h);if(v<0)return;let I=g.slice(0,v+1),E=new Set(m);I.forEach(D=>E.add(D));let M=Array.from(E);L||C(M),r?.(M),H(g[0]??null),b(`${I.length} items selected`,{politeness:"polite"});},[e$1,h,g,m,L,r,b]),q=useCallback(()=>{if(!e$1||!h)return;let v=g.indexOf(h);if(v<0)return;let I=g.slice(v),E=new Set(m);I.forEach(D=>E.add(D));let M=Array.from(E);L||C(M),r?.(M),H(g[g.length-1]??null),b(`${I.length} items selected`,{politeness:"polite"});},[e$1,h,g,m,L,r,b]),w=useCallback(()=>{if(!e$1)return;let v=g.every(E=>m.has(E)),I;v?(I=[],b("All deselected",{politeness:"polite"})):(I=[...g],b("All selected",{politeness:"polite"})),L||C(I),r?.(I);},[e$1,g,m,L,r,b]),U=useMemo(()=>{let v={ArrowDown:()=>y("next"),ArrowUp:()=>y("prev"),Home:()=>y("first"),End:()=>y("last")};return e$1&&(v.Space=()=>O(),v["Shift+ArrowDown"]=()=>F("next"),v["Shift+ArrowUp"]=()=>F("prev"),v["Ctrl+Shift+Home"]=()=>B(),v["Ctrl+Shift+End"]=()=>q(),v["Ctrl+a"]=()=>w(),v["Meta+a"]=()=>w()),v},[e$1,y,O,F,B,q,w]),j=a$1(U,{preventDefault:true,stopPropagation:true,disabled:n}),W=useMemo(()=>Array.from(R.current.values()).map(v=>v.label),[k]),z=e(W,v=>{for(let[I,E]of R.current.entries())if(E.label===v&&!E.disabled){if(H(I),!e$1){let M=I;L||C(M),r?.(M),b(`${v} selected`,{politeness:"polite"});}break}},{disabled:n}),Z=useCallback(v=>{j.onKeyDown(v),v.defaultPrevented||z.onKeyDown(v);},[j,z]),ne=useCallback(()=>{if(!h){if(!e$1&&S&&typeof S=="string"){H(S);return}if(e$1&&Array.isArray(S)&&S.length>0){H(S[0]??null);return}g.length>0&&H(g[0]??null);}},[h,e$1,S,g]),J=useCallback(()=>{},[]),Q=useRef(null);useEffect(()=>{h&&Q.current&&Q.current.querySelector(`[data-value="${CSS.escape(h)}"]`)?.scrollIntoView({block:"nearest"});},[h]);let re=useMemo(()=>({multiple:e$1,disabled:n,discoverable:i,unstyled:o,orientation:d,selectedValues:m,focusedValue:h,onSelect:P,onFocusOption:H,registerOption:N,unregisterOption:V,updateOptionDisabled:$,isSelected:K,listboxId:x}),[e$1,n,i,o,d,m,h,P,N,V,$,K,x]),Y=useCallback(v=>{Q.current=v,typeof u=="function"?u(v):u&&(u.current=v);},[u]),be=h?`${x}-option-${h}`:void 0;return jsx(ao.Provider,{value:re,children:jsx("div",{ref:Y,role:"listbox","aria-label":l,"aria-labelledby":c,"aria-orientation":d,"aria-multiselectable":e$1||void 0,"aria-disabled":n||void 0,"aria-activedescendant":be,tabIndex:n&&!i?-1:0,className:`compa11y-listbox ${a$3}`.trim(),"data-compa11y-listbox":"","data-orientation":d,"data-disabled":n?"true":void 0,"data-multiple":e$1?"true":void 0,onKeyDown:Z,onFocus:ne,onBlur:J,style:o?{}:{width:"var(--compa11y-listbox-width, 250px)",maxHeight:"var(--compa11y-listbox-max-height, 300px)",overflowY:"auto",border:"var(--compa11y-listbox-border, 1px solid #e0e0e0)",borderRadius:"var(--compa11y-listbox-radius, 4px)",background:"var(--compa11y-listbox-bg, white)",padding:"var(--compa11y-listbox-padding, 0.25rem 0)",...n?{opacity:"var(--compa11y-listbox-disabled-opacity, 0.5)",cursor:"not-allowed"}:{}},children:f})})});Ge.displayName="Listbox";var $e=forwardRef(function({value:t,disabled:s=false,discoverable:r,unstyled:e,className:n="",children:i,"aria-label":d},o){let a=ze(),{groupDisabled:f}=useContext(io),l=a.disabled||f||s,c=e??a.unstyled,u=a.isSelected(t),x=a.focusedValue===t,b=`${a.listboxId}-option-${t}`,T=useRef(""),C=useRef(null),L=useCallback(m=>{C.current=m,typeof o=="function"?o(m):o&&(o.current=m);},[o]);useEffect(()=>{let m=typeof i=="string"?i:C.current?.textContent?.trim()||t;return T.current=m,a.registerOption(t,l,m),()=>a.unregisterOption(t)},[t]),useEffect(()=>{a.updateOptionDisabled(t,l);},[l,t]);let S=useCallback(m=>{if(l){m.preventDefault();return}a.onFocusOption(t),a.onSelect(t);},[l,a,t]);return jsxs("div",{ref:L,id:b,role:"option","aria-selected":u,"aria-disabled":l||void 0,"aria-label":d,className:`compa11y-listbox-option ${n}`.trim(),"data-compa11y-listbox-option":"","data-value":t,"data-selected":u?"true":"false","data-focused":x?"true":"false","data-disabled":l?"true":void 0,onClick:S,style:c?{cursor:l?"not-allowed":"pointer"}:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--compa11y-listbox-option-padding, 0.5rem 0.75rem)",cursor:l?"not-allowed":"pointer",userSelect:"none",transition:"background 0.1s ease",background:x?u?"var(--compa11y-listbox-option-selected-hover-bg, #cce0ff)":"var(--compa11y-listbox-option-hover-bg, #f5f5f5)":u?"var(--compa11y-listbox-option-selected-bg, #e6f0ff)":"transparent",fontWeight:u?500:"normal",opacity:l?.5:1},children:[jsx("span",{style:{flex:1},children:i}),u&&!c&&jsx("span",{"aria-hidden":"true",style:{fontSize:"0.875rem",color:"var(--compa11y-listbox-check-color, #0066cc)",marginLeft:"0.5rem"},children:"\u2713"})]})});$e.displayName="ListboxOption";var Ke=forwardRef(function({label:t,disabled:s=false,unstyled:r,className:e="",children:n},i){let d=ze(),o=r??d.unstyled,a=a$2("listbox-group"),f=useMemo(()=>({groupDisabled:d.disabled||s}),[d.disabled,s]);return jsx(io.Provider,{value:f,children:jsxs("div",{ref:i,role:"group","aria-labelledby":a,"aria-disabled":s||void 0,className:`compa11y-listbox-group ${e}`.trim(),"data-compa11y-listbox-group":"","data-disabled":s?"true":void 0,style:o?{}:{opacity:s?.5:1},children:[jsx("div",{id:a,role:"presentation",style:o?{}:{padding:"var(--compa11y-listbox-group-label-padding, 0.5rem 0.75rem 0.25rem)",fontSize:"var(--compa11y-listbox-group-label-size, 0.75rem)",fontWeight:600,color:"var(--compa11y-listbox-group-label-color, #666)",textTransform:"uppercase",letterSpacing:"0.05em"},children:t}),n]})})});Ke.displayName="ListboxGroup";var so=Object.assign(Ge,{Option:$e,Group:Ke});var fo=createContext(null);function Ce(){let p=useContext(fo);if(!p)throw new Error("[Compa11y Input]: Input sub-components (Input.Label, Input.Field, etc.) must be used within <Input>.");return p}var je=forwardRef(function({children:t,className:s},r){let e=Ce();return jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-input-label":"",className:s,style:e.unstyled?{}:{display:"block",color:e.disabled?"var(--compa11y-input-disabled-color, #999)":"var(--compa11y-input-label-color, inherit)",fontSize:"var(--compa11y-input-label-size, 0.875rem)",fontWeight:"var(--compa11y-input-label-weight, 500)"},children:[t,e.required&&jsx("span",{"data-compa11y-input-required":"","aria-hidden":"true",style:e.unstyled?{}:{color:"var(--compa11y-input-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]})});je.displayName="InputLabel";var We=forwardRef(function({type:t="text",onFocus:s,onBlur:r,className:e,style:n,...i},d){let o=Ce(),a=useRef(null),f=useCallback(b=>{a.current=b,typeof d=="function"?d(b):d&&(d.current=b);},[d]),l=useCallback(b=>{o.setValue(b.target.value);},[o.setValue]),c=useCallback(b=>{o.focusProps.onFocus(),s?.(b);},[o.focusProps,s]),u=useCallback(b=>{o.focusProps.onBlur(),r?.(b);},[o.focusProps,r]),x=[];return o.hasHint&&x.push(o.hintId),o.hasError&&x.push(o.errorId),jsx("input",{ref:f,id:o.fieldId,type:t,value:o.value,onChange:l,onFocus:c,onBlur:u,disabled:o.disabled,readOnly:o.readOnly,"aria-describedby":x.join(" ")||void 0,"aria-invalid":o.hasError?"true":void 0,"aria-required":o.required?"true":void 0,"data-compa11y-input-field":"",className:e,style:o.unstyled?n:{width:"100%",padding:"var(--compa11y-input-padding, 0.5rem 0.75rem)",border:o.hasError?"1px solid var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border, 1px solid #ccc)",borderRadius:"var(--compa11y-input-radius, 4px)",fontSize:"var(--compa11y-input-font-size, 0.875rem)",fontFamily:"inherit",background:o.disabled?"var(--compa11y-input-disabled-bg, #f5f5f5)":o.readOnly?"var(--compa11y-input-readonly-bg, #f9f9f9)":"var(--compa11y-input-bg, white)",color:"inherit",cursor:o.disabled?"not-allowed":void 0,opacity:o.disabled?"var(--compa11y-input-disabled-opacity, 0.7)":void 0,...o.isFocusVisible&&!o.disabled?{outline:o.hasError?"2px solid var(--compa11y-input-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:o.hasError?"var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border-focus, #0066cc)"}:{},...n},...i})});We.displayName="InputField";var Ue=forwardRef(function({children:t,className:s},r){let e=Ce();return useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsx("div",{ref:r,id:e.hintId,"data-compa11y-input-hint":"",className:s,style:e.unstyled?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:t})});Ue.displayName="InputHint";var qe=forwardRef(function({children:t,className:s},r){let e=Ce();return t?jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-input-error":"",className:s,style:e.unstyled?{}:{color:"var(--compa11y-input-error-color, #ef4444)",fontSize:"var(--compa11y-input-error-size, 0.8125rem)"},children:t}):null});qe.displayName="InputError";var _e=forwardRef(function({value:t,defaultValue:s="",onValueChange:r,type:e="text",label:n,hint:i,error:d,required:o=false,disabled:a=false,readOnly:f=false,"aria-label":l,"aria-labelledby":c,placeholder:u,name:x,autoComplete:b,maxLength:T,minLength:C,pattern:L,inputMode:S,id:m,unstyled:h=false,className:H,onFocus:R,onBlur:k,children:A},N){let V=a$2("input"),$=m||V,g=`${$}-field`,K=`${$}-label`,P=`${$}-hint`,y=`${$}-error`,[O,F]=useState(s),B=t!==void 0,q=B?t:O,[w,U]=useState(false),j=useCallback(_=>{B||F(_),r?.(_);},[B,r]),{isFocusVisible:W,focusProps:z}=oe(),Z=useRef(null),ne=useCallback(_=>{Z.current=_,typeof N=="function"?N(_):N&&(N.current=_);},[N]),J=useCallback(_=>{j(_.target.value);},[j]),Q=useCallback(_=>{z.onFocus(),R?.(_);},[z,R]),re=useCallback(_=>{z.onBlur(),k?.(_);},[z,k]);useEffect(()=>{process.env.NODE_ENV!=="production"&&!(Children.count(A)>0)&&!n&&!l&&!c&&console.warn("[Compa11y Input]: Input has no accessible label. Screen readers need this to identify the input. Use label prop, aria-label, or aria-labelledby.");},[A,n,l,c]);let Y=!!d,be=Children.count(A)>0,v={fieldId:g,labelId:K,hintId:P,errorId:y,value:q,setValue:j,hasError:Y,hasHint:be?w:!!i,setHasHint:U,disabled:a,readOnly:f,required:o,isFocusVisible:W,focusProps:z,unstyled:h},I={"data-compa11y-input":"","data-error":Y?"true":"false","data-disabled":a?"true":"false","data-required":o?"true":"false","data-readonly":f?"true":"false"},E=h?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"};if(be)return jsx(fo.Provider,{value:v,children:jsx("div",{...I,className:H,style:E,children:A})});let M=[];i&&M.push(P),Y&&M.push(y);let D=M.length>0?M.join(" "):void 0;return jsxs("div",{...I,className:H,style:E,children:[n&&jsxs("label",{id:K,htmlFor:g,"data-compa11y-input-label":"",style:h?{}:{display:"block",color:a?"var(--compa11y-input-disabled-color, #999)":"var(--compa11y-input-label-color, inherit)",fontSize:"var(--compa11y-input-label-size, 0.875rem)",fontWeight:"var(--compa11y-input-label-weight, 500)"},children:[n,o&&jsx("span",{"data-compa11y-input-required":"","aria-hidden":"true",style:h?{}:{color:"var(--compa11y-input-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),jsx("input",{ref:ne,id:g,type:e,value:q,onChange:J,onFocus:Q,onBlur:re,disabled:a,readOnly:f,required:o,placeholder:u,name:x,autoComplete:b,maxLength:T,minLength:C,pattern:L,inputMode:S,"aria-label":n?void 0:l,"aria-labelledby":!n&&c?c:n?K:void 0,"aria-describedby":D,"aria-invalid":Y?"true":void 0,"aria-required":o?"true":void 0,"data-compa11y-input-field":"",style:h?{}:{width:"100%",padding:"var(--compa11y-input-padding, 0.5rem 0.75rem)",border:Y?"1px solid var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border, 1px solid #ccc)",borderRadius:"var(--compa11y-input-radius, 4px)",fontSize:"var(--compa11y-input-font-size, 0.875rem)",fontFamily:"inherit",background:a?"var(--compa11y-input-disabled-bg, #f5f5f5)":f?"var(--compa11y-input-readonly-bg, #f9f9f9)":"var(--compa11y-input-bg, white)",color:"inherit",cursor:a?"not-allowed":void 0,opacity:a?"var(--compa11y-input-disabled-opacity, 0.7)":void 0,...W&&!a?{outline:Y?"2px solid var(--compa11y-input-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:Y?"var(--compa11y-input-border-error, #ef4444)":"var(--compa11y-input-border-focus, #0066cc)"}:{}}}),i&&jsx("div",{id:P,"data-compa11y-input-hint":"",style:h?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:i}),Y&&jsx("div",{id:y,role:"alert","data-compa11y-input-error":"",style:h?{}:{color:"var(--compa11y-input-error-color, #ef4444)",fontSize:"var(--compa11y-input-error-size, 0.8125rem)"},children:d})]})});_e.displayName="Input";var mo=Object.assign(_e,{Label:je,Field:We,Hint:Ue,Error:qe});var Un={primary:{background:"var(--compa11y-button-primary-bg, #0066cc)",color:"var(--compa11y-button-primary-color, white)",border:"var(--compa11y-button-primary-border, 1px solid #0066cc)"},secondary:{background:"var(--compa11y-button-secondary-bg, white)",color:"var(--compa11y-button-secondary-color, #333)",border:"var(--compa11y-button-secondary-border, 1px solid #ccc)"},danger:{background:"var(--compa11y-button-danger-bg, #ef4444)",color:"var(--compa11y-button-danger-color, white)",border:"var(--compa11y-button-danger-border, 1px solid #ef4444)"},outline:{background:"var(--compa11y-button-outline-bg, transparent)",color:"var(--compa11y-button-outline-color, #0066cc)",border:"var(--compa11y-button-outline-border, 1px solid #0066cc)"},ghost:{background:"var(--compa11y-button-ghost-bg, transparent)",color:"var(--compa11y-button-ghost-color, #333)",border:"var(--compa11y-button-ghost-border, 1px solid transparent)"}},qn={sm:{padding:"var(--compa11y-button-padding-sm, 0.25rem 0.5rem)",fontSize:"var(--compa11y-button-font-size-sm, 0.75rem)"},md:{padding:"var(--compa11y-button-padding-md, 0.5rem 1rem)",fontSize:"var(--compa11y-button-font-size-md, 0.875rem)"},lg:{padding:"var(--compa11y-button-padding-lg, 0.75rem 1.5rem)",fontSize:"var(--compa11y-button-font-size-lg, 1rem)"}},Ct=forwardRef(function({variant:t="secondary",size:s="md",type:r="button",disabled:e=false,discoverable:n=false,loading:i=false,unstyled:d=false,"aria-label":o,className:a,style:f,onClick:l,onFocus:c,onBlur:u,children:x,...b},T){let C=a$2("button"),L=useRef(null),S=useCallback(g=>{L.current=g,typeof T=="function"?T(g):T&&(T.current=g);},[T]),{isFocusVisible:m,focusProps:h}=oe();useEffect(()=>{process.env.NODE_ENV!=="production"&&!x&&!o&&!b["aria-labelledby"]&&console.warn("[Compa11y Button]: Button has no accessible label. Screen readers need this to identify the button. Add text content, aria-label, or aria-labelledby.");},[x,o,b["aria-labelledby"]]);let H=e&&!n,R=e||i,k=useCallback(g=>{if(R){g.preventDefault();return}l?.(g);},[R,l]),A=useCallback(g=>{h.onFocus(),c?.(g);},[h,c]),N=useCallback(g=>{h.onBlur(),u?.(g);},[h,u]),V={"data-compa11y-button":"","data-variant":t,"data-size":s,"data-disabled":e?"true":"false","data-loading":i?"true":"false"},$=d?{}:{display:"inline-flex",alignItems:"center",justifyContent:"center",gap:"0.5rem",borderRadius:"var(--compa11y-button-radius, 4px)",fontFamily:"inherit",fontWeight:"var(--compa11y-button-font-weight, 500)",lineHeight:"1.5",cursor:R?"not-allowed":"pointer",opacity:e?"var(--compa11y-button-disabled-opacity, 0.5)":void 0,transition:"background-color 0.15s ease, border-color 0.15s ease",...Un[t],...qn[s],...m&&!H?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}};return jsxs("button",{ref:S,id:C,type:r,disabled:H,tabIndex:e&&!n?void 0:0,"aria-disabled":R?"true":void 0,"aria-busy":i?"true":void 0,"aria-label":o,onClick:k,onFocus:A,onBlur:N,className:a,style:{...$,...f},...V,...b,children:[i&&jsx("span",{"data-compa11y-button-spinner":"","aria-hidden":"true",style:d?{}:{display:"inline-block",width:"1em",height:"1em",border:"2px solid currentColor",borderRightColor:"transparent",borderRadius:"50%",animation:"compa11y-spin 0.6s linear infinite"}}),x]})});Ct.displayName="Button";var vo=createContext(null);function Se(){let p=useContext(vo);if(!p)throw new Error("[Compa11y Textarea]: Textarea sub-components (Textarea.Label, Textarea.Field, etc.) must be used within <Textarea>.");return p}var Xe=forwardRef(function({children:t,className:s},r){let e=Se();return jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-textarea-label":"",className:s,style:e.unstyled?{}:{display:"block",color:e.disabled?"var(--compa11y-textarea-disabled-color, #999)":"var(--compa11y-textarea-label-color, inherit)",fontSize:"var(--compa11y-textarea-label-size, 0.875rem)",fontWeight:"var(--compa11y-textarea-label-weight, 500)"},children:[t,e.required&&jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:e.unstyled?{}:{color:"var(--compa11y-textarea-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]})});Xe.displayName="TextareaLabel";var Ze=forwardRef(function({onFocus:t,onBlur:s,className:r,style:e,rows:n,...i},d){let o=Se(),a=useRef(null),f=useCallback(b=>{a.current=b,typeof d=="function"?d(b):d&&(d.current=b);},[d]),l=useCallback(b=>{o.setValue(b.target.value);},[o.setValue]),c=useCallback(b=>{o.focusProps.onFocus(),t?.(b);},[o.focusProps,t]),u=useCallback(b=>{o.focusProps.onBlur(),s?.(b);},[o.focusProps,s]),x=[];return o.hasHint&&x.push(o.hintId),o.hasError&&x.push(o.errorId),jsx("textarea",{ref:f,id:o.fieldId,rows:n??o.rows,value:o.value,onChange:l,onFocus:c,onBlur:u,disabled:o.disabled,readOnly:o.readOnly,"aria-describedby":x.join(" ")||void 0,"aria-invalid":o.hasError?"true":void 0,"aria-required":o.required?"true":void 0,"data-compa11y-textarea-field":"",className:r,style:o.unstyled?e:{width:"100%",padding:"var(--compa11y-textarea-padding, 0.5rem 0.75rem)",border:o.hasError?"1px solid var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border, 1px solid #ccc)",borderRadius:"var(--compa11y-textarea-radius, 4px)",fontSize:"var(--compa11y-textarea-font-size, 0.875rem)",fontFamily:"inherit",lineHeight:"1.5",resize:o.resize,background:o.disabled?"var(--compa11y-textarea-disabled-bg, #f5f5f5)":o.readOnly?"var(--compa11y-textarea-readonly-bg, #f9f9f9)":"var(--compa11y-textarea-bg, white)",color:"inherit",cursor:o.disabled?"not-allowed":void 0,opacity:o.disabled?"var(--compa11y-textarea-disabled-opacity, 0.7)":void 0,...o.isFocusVisible&&!o.disabled?{outline:o.hasError?"2px solid var(--compa11y-textarea-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:o.hasError?"var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border-focus, #0066cc)"}:{},...e},...i})});Ze.displayName="TextareaField";var Je=forwardRef(function({children:t,className:s},r){let e=Se();return useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsx("div",{ref:r,id:e.hintId,"data-compa11y-textarea-hint":"",className:s,style:e.unstyled?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:t})});Je.displayName="TextareaHint";var Qe=forwardRef(function({children:t,className:s},r){let e=Se();return t?jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-textarea-error":"",className:s,style:e.unstyled?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:t}):null});Qe.displayName="TextareaError";var et=forwardRef(function({value:t,defaultValue:s="",onValueChange:r,rows:e=3,resize:n="vertical",label:i,hint:d,error:o,required:a=false,disabled:f=false,readOnly:l=false,"aria-label":c,"aria-labelledby":u,placeholder:x,name:b,autoComplete:T,maxLength:C,minLength:L,id:S,unstyled:m=false,className:h,onFocus:H,onBlur:R,children:k},A){let N=a$2("textarea"),V=S||N,$=`${V}-field`,g=`${V}-label`,K=`${V}-hint`,P=`${V}-error`,[y,O]=useState(s),F=t!==void 0,B=F?t:y,q=useCallback(D=>{F||O(D),r?.(D);},[F,r]),{isFocusVisible:w,focusProps:U}=oe();useEffect(()=>{process.env.NODE_ENV!=="production"&&!(Children.count(k)>0)&&!i&&!c&&!u&&console.warn("[Compa11y Textarea]: Textarea has no accessible label. Screen readers need this to identify the textarea. Use label prop, aria-label, or aria-labelledby.");},[k,i,c,u]);let j=!!o,[W,z]=useState(false),Z=Children.count(k)>0,ne={fieldId:$,labelId:g,hintId:K,errorId:P,value:B,setValue:q,hasError:j,hasHint:Z?W:!!d,setHasHint:z,disabled:f,readOnly:l,required:a,rows:e,resize:n,isFocusVisible:w,focusProps:U,unstyled:m},J={"data-compa11y-textarea":"","data-error":j?"true":"false","data-disabled":f?"true":"false","data-required":a?"true":"false","data-readonly":l?"true":"false"},Q=m?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"},re=useRef(null),Y=useCallback(D=>{re.current=D,typeof A=="function"?A(D):A&&(A.current=D);},[A]),be=useCallback(D=>{q(D.target.value);},[q]),v=useCallback(D=>{U.onFocus(),H?.(D);},[U,H]),I=useCallback(D=>{U.onBlur(),R?.(D);},[U,R]);if(Z)return jsx(vo.Provider,{value:ne,children:jsx("div",{...J,className:h,style:Q,children:k})});let E=[];d&&E.push(K),j&&E.push(P);let M=E.length>0?E.join(" "):void 0;return jsxs("div",{...J,className:h,style:Q,children:[i&&jsxs("label",{id:g,htmlFor:$,"data-compa11y-textarea-label":"",style:m?{}:{display:"block",color:f?"var(--compa11y-textarea-disabled-color, #999)":"var(--compa11y-textarea-label-color, inherit)",fontSize:"var(--compa11y-textarea-label-size, 0.875rem)",fontWeight:"var(--compa11y-textarea-label-weight, 500)"},children:[i,a&&jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:m?{}:{color:"var(--compa11y-textarea-required-color, #ef4444)",marginLeft:"0.125rem"},children:"*"})]}),jsx("textarea",{ref:Y,id:$,rows:e,value:B,onChange:be,onFocus:v,onBlur:I,disabled:f,readOnly:l,required:a,placeholder:x,name:b,autoComplete:T,maxLength:C,minLength:L,"aria-label":i?void 0:c,"aria-labelledby":!i&&u?u:i?g:void 0,"aria-describedby":M,"aria-invalid":j?"true":void 0,"aria-required":a?"true":void 0,"data-compa11y-textarea-field":"",style:m?{}:{width:"100%",padding:"var(--compa11y-textarea-padding, 0.5rem 0.75rem)",border:j?"1px solid var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border, 1px solid #ccc)",borderRadius:"var(--compa11y-textarea-radius, 4px)",fontSize:"var(--compa11y-textarea-font-size, 0.875rem)",fontFamily:"inherit",lineHeight:"1.5",resize:n,background:f?"var(--compa11y-textarea-disabled-bg, #f5f5f5)":l?"var(--compa11y-textarea-readonly-bg, #f9f9f9)":"var(--compa11y-textarea-bg, white)",color:"inherit",cursor:f?"not-allowed":void 0,opacity:f?"var(--compa11y-textarea-disabled-opacity, 0.7)":void 0,...w&&!f?{outline:j?"2px solid var(--compa11y-textarea-border-error, #ef4444)":"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"-1px",borderColor:j?"var(--compa11y-textarea-border-error, #ef4444)":"var(--compa11y-textarea-border-focus, #0066cc)"}:{}}}),d&&jsx("div",{id:K,"data-compa11y-textarea-hint":"",style:m?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:d}),j&&jsx("div",{id:P,role:"alert","data-compa11y-textarea-error":"",style:m?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:o})]})});et.displayName="Textarea";var To=Object.assign(et,{Label:Xe,Field:Ze,Hint:Je,Error:Qe});var Qn={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},Ro=forwardRef(function({focusable:t=false,style:s,children:r,...e},n){return jsx("span",{ref:n,"data-compa11y-visually-hidden":true,"data-focusable":t||void 0,style:t?void 0:{...Qn,...s},...e,children:r})});var rr={position:"absolute",width:"1px",height:"1px",padding:0,margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",border:0},ar={position:"fixed",top:"0.5rem",left:"0.5rem",zIndex:99999,width:"auto",height:"auto",padding:"0.75rem 1.5rem",margin:0,overflow:"visible",clip:"auto",whiteSpace:"normal",background:"#0066cc",color:"white",fontSize:"1rem",fontWeight:600,borderRadius:"4px",border:"2px solid transparent",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.2)",outline:"2px solid #0066cc",outlineOffset:"2px",textDecoration:"none"},Co=forwardRef(function({target:t="#main-content",unstyled:s=false,children:r,style:e,onClick:n,...i},d){let[o,a]=tr.useState(false),f=useCallback(c=>{let u=document.querySelector(t);u&&(c.preventDefault(),!u.hasAttribute("tabindex")&&u.tabIndex<0&&u.setAttribute("tabindex","-1"),u.focus(),u.scrollIntoView({behavior:"smooth",block:"start"})),n?.(c);},[t,n]),l=s?e:o?{...ar,...e}:{...rr,...e};return jsx("a",{ref:d,href:t,"data-compa11y-skip-link":true,"data-focused":o||void 0,style:l,onFocus:()=>a(true),onBlur:()=>a(false),onClick:f,...i,children:r||"Skip to main content"})});var cr={info:"\u2139\uFE0F",success:"\u2705",warning:"\u26A0\uFE0F",error:"\u274C"},So={info:"#3b82f6",success:"#22c55e",warning:"#f59e0b",error:"#ef4444"},dr={display:"flex",alignItems:"flex-start",gap:"0.75rem",padding:"0.75rem 1rem",background:"white",border:"1px solid #e0e0e0",borderRadius:"6px"},ur={flexShrink:0,fontSize:"1.25rem",lineHeight:1,marginTop:"0.125rem"},pr={flex:1,minWidth:0},br={fontWeight:600,fontSize:"0.875rem",marginBottom:"0.125rem"},fr={color:"#555",fontSize:"0.8125rem"},mr={appearance:"none",background:"none",border:"none",padding:0,margin:0,font:"inherit",cursor:"pointer",flexShrink:0,width:"1.5rem",height:"1.5rem",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"4px",color:"#999",fontSize:"1.125rem",lineHeight:1},Eo=forwardRef(function({type:t="info",title:s,dismissible:r=false,onDismiss:e,unstyled:n=false,children:i,style:d,...o},a){let f=t==="error"||t==="warning"?"alert":"status",l=useCallback(()=>{e?.();},[e]),c=n?d:{...dr,borderLeft:`4px solid ${So[t]}`,...d};return jsxs("div",{ref:a,role:f,"aria-live":f==="alert"?"assertive":"polite","data-compa11y-alert":true,"data-type":t,"data-dismissible":r||void 0,style:c,...o,children:[!n&&jsx("span",{"data-compa11y-alert-icon":true,"aria-hidden":"true",style:{...ur,color:So[t]},children:cr[t]}),jsxs("div",{"data-compa11y-alert-content":true,style:n?void 0:pr,children:[s&&jsx("div",{"data-compa11y-alert-title":true,style:n?void 0:br,children:s}),jsx("div",{"data-compa11y-alert-description":true,style:n?void 0:fr,children:i})]}),r&&jsx("button",{type:"button",onClick:l,"aria-label":"Dismiss alert","data-compa11y-alert-close":true,style:n?void 0:mr,children:"\xD7"})]})});export{Eo as Alert,Ct as Button,Qt as Checkbox,Ae as CheckboxBase,Fe as CheckboxGroup,Oe as CheckboxIndicator,mo as Input,_e as InputBase,qe as InputError,We as InputField,Ue as InputHint,je as InputLabel,so as Listbox,Ge as ListboxBase,Ke as ListboxGroup,$e as ListboxOption,Ne as Radio,to as RadioGroup,Ve as RadioGroupBase,_t as Select,lt as SelectBase,dt as SelectListbox,we as SelectOptionItem,ct as SelectTrigger,Co as SkipLink,ht as Switch,To as Textarea,et as TextareaBase,Qe as TextareaError,Ze as TextareaField,Je as TextareaHint,Xe as TextareaLabel,Ro as VisuallyHidden,bt as useCheckboxGroupContext,Bt as useFocusControl,Dt as useFocusManager,$t as useFocusNeighbor,Kt as useFocusReturn,oe as useFocusVisible,zt as useFocusWithin,Ce as useInputContext,ze as useListboxContext,yt as useRadioGroupContext,ot as useRovingTabindex,Gt as useRovingTabindexMap,Se as useTextareaContext};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compa11y/react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"description": "Accessible React components that just work",
|
|
5
5
|
"author": "Ivan Trajkovski",
|
|
6
6
|
"license": "MIT",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"LICENSE"
|
|
94
94
|
],
|
|
95
95
|
"dependencies": {
|
|
96
|
-
"@compa11y/core": "0.1.
|
|
96
|
+
"@compa11y/core": "0.1.9"
|
|
97
97
|
},
|
|
98
98
|
"peerDependencies": {
|
|
99
99
|
"react": ">=18.0.0",
|