@compa11y/react 0.1.5 → 0.1.8
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/README.md +17 -709
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +100 -1
- package/dist/index.d.ts +100 -1
- package/dist/index.js +1 -1
- package/package.json +3 -3
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'),react=require('react'),core=require('@compa11y/core'),jsxRuntime=require('react/jsx-runtime');function oe(){let[d,t]=react.useState(false);react.useEffect(()=>core.initFocusVisible(),[]);let l=react.useCallback(()=>{t(core.isFocusVisible());},[]),r=react.useCallback(()=>{t(false);},[]);return {isFocusVisible:d,focusProps:{onFocus:l,onBlur:r}}}function Vt(d={}){let{autoFocus:t=false,restoreFocus:l=false,focusVisible:r=true}=d,e=react.useCallback(n=>{n&&t&&requestAnimationFrame(()=>{r?core.focusWithVisibleRing(n):n.focus();});},[t,r]);return react.useEffect(()=>{if(!l)return;let n=document.activeElement;return ()=>{n&&n.focus&&n.focus();}},[l]),e}function Dt(){let d=react.useCallback(l=>{},[]),t=react.useCallback(l=>{let r=d;r.current&&(l?.visible?core.focusWithVisibleRing(r.current):r.current.focus());},[]);return {ref:d,focus:t}}function Bt(){let[d,t]=react.useState(false),l=react.useCallback(n=>{},[]),r=react.useCallback(()=>{t(true);},[]),e=react.useCallback(n=>{let i=n.currentTarget,c=n.relatedTarget;(!c||!i.contains(c))&&t(false);},[]);return {ref:l,hasFocus:d,focusWithinProps:{onFocus:r,onBlur:e}}}function tt(d){let{itemCount:t,initialIndex:l=0,wrap:r=true,orientation:e="both",onChange:n}=d,[i,c]=react.useState(l),o=react.useRef([]);react.useEffect(()=>{i>=t&&c(Math.max(0,t-1));},[t,i]);let a=react.useCallback(f=>{let m=f;m<0?m=r?t-1:0:m>=t&&(m=r?0:t-1),c(m),n?.(m),o.current[m]?.focus();},[t,r,n]),b=react.useCallback((f,m)=>{let x=false;switch(f.key){case "ArrowRight":(e==="horizontal"||e==="both")&&(a(m+1),x=true);break;case "ArrowLeft":(e==="horizontal"||e==="both")&&(a(m-1),x=true);break;case "ArrowDown":(e==="vertical"||e==="both")&&(a(m+1),x=true);break;case "ArrowUp":(e==="vertical"||e==="both")&&(a(m-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]),s=react.useCallback(f=>({ref:m=>{o.current[f]=m;},tabIndex:f===i?0:-1,onKeyDown:m=>b(m,f),onFocus:()=>{f!==i&&(c(f),n?.(f));}}),[i,b,n]);return {activeIndex:i,setActiveIndex:a,getItemProps:s,first:()=>a(0),last:()=>a(t-1),next:()=>a(i+1),previous:()=>a(i-1)}}function zt(d,t={}){let l=tt({...t,itemCount:d.length}),r=react.useCallback(n=>{let i=d.indexOf(n);if(i===-1)throw new Error(`Unknown item ID: ${n}`);return l.getItemProps(i)},[d,l]),e=d[l.activeIndex];return {...l,activeId:e,getItemProps:r,setActiveId:n=>{let i=d.indexOf(n);i!==-1&&l.setActiveIndex(i);}}}function Gt(d){let t=react.useRef(null),l=react.useRef(d);l.current=d;let r=react.useCallback(()=>t.current?core.findFocusNeighbor(t.current,l.current):null,[]),e=react.useCallback(()=>{r()?.focus();},[r]);return {ref:t,getNeighbor:r,focusNeighbor:e}}function $t(){let d=react.useRef(core.createFocusReturn()),t=react.useCallback(e=>{d.current.save(e);},[]),l=react.useCallback(e=>{d.current.return(e);},[]),r=react.useCallback(()=>{d.current.clear();},[]);return {save:t,returnFocus:l,clear:r}}var fn=core.createComponentWarnings("Select"),Ut=react.createContext(null);function it(){let d=react.useContext(Ut);if(!d)throw new Error("Select compound components must be used within a Select component");return d}function Kt(d,t,l){let r=d.length,e=t+l;e<0&&(e=r-1),e>=r&&(e=0);let n=e;for(;d[e]?.disabled;)if(e+=l,e<0&&(e=r-1),e>=r&&(e=0),e===n)return -1;return e}function jt(d){return d.findIndex(t=>!t.disabled)}function Wt(d){for(let t=d.length-1;t>=0;t--)if(!d[t]?.disabled)return t;return -1}function st({options:d,value:t,defaultValue:l,onValueChange:r,disabled:e=false,placeholder:n="Select an option...","aria-label":i,"aria-labelledby":c,children:o}){let[a,b]=react.useState(l??null),[s,f]=react.useState(false),[m,x]=react.useState(-1),u=react.useRef(null),T=t!==void 0?t:a,C=chunkMAR6RBHF_cjs.a("select-trigger"),I=chunkMAR6RBHF_cjs.a("select-listbox"),E=chunkMAR6RBHF_cjs.a("select-option"),p=react.useCallback(P=>{t===void 0&&b(P),r?.(P);},[t,r]),y=react.useCallback(P=>`${E}-${P}`,[E]),H=react.useCallback(P=>{p(P.value),f(false),x(-1),u.current?.focus();},[p]);react.useEffect(()=>{!i&&!c&&fn.warning("Select has no accessible label.","Add aria-label or aria-labelledby prop.");},[i,c]);let R={selectedValue:T,setSelectedValue:p,isOpen:s,setIsOpen:f,highlightedIndex:m,setHighlightedIndex:x,options:d,triggerId:C,listboxId:I,getOptionId:y,onSelect:H,triggerRef:u,placeholder:n,disabled:e};return jsxRuntime.jsx(Ut.Provider,{value:R,children:jsxRuntime.jsx("div",{"data-compa11y-select":true,"data-disabled":e||void 0,children:o})})}var lt=react.forwardRef(function({onKeyDown:t,onClick:l,onBlur:r,...e},n){let{selectedValue:i,isOpen:c,setIsOpen:o,highlightedIndex:a,setHighlightedIndex:b,options:s,triggerId:f,listboxId:m,getOptionId:x,onSelect:u,triggerRef:T,placeholder:C,disabled:I}=it(),{announce:E}=chunkJS3UD7KS_cjs.a(),p=chunkAJ7JSWUT_cjs.e(s.map(h=>h.label),h=>{let M=s.findIndex(F=>F.label===h&&!F.disabled);M>=0&&(c||o(true),b(M));},{disabled:I}),y=react.useCallback((h=false)=>{o(true);let M=s.findIndex(F=>F.value===i);M>=0?b(M):b(h?Wt(s):jt(s));},[s,i,o,b]),H=chunkAJ7JSWUT_cjs.a({ArrowDown:()=>{if(!c)y();else {let h=Kt(s,a,1);h>=0&&b(h);}},ArrowUp:()=>{if(!c)y(true);else {let h=Kt(s,a,-1);h>=0&&b(h);}},Enter:()=>{if(c&&a>=0){let h=s[a];h&&!h.disabled&&(u(h),E(`${h.label} selected`));}else c||y();},Space:()=>{if(c&&a>=0){let h=s[a];h&&!h.disabled&&(u(h),E(`${h.label} selected`));}else c||y();},Escape:()=>{c&&(o(false),b(-1));},Home:()=>{c&&b(jt(s));},End:()=>{c&&b(Wt(s));},Tab:()=>(c&&(o(false),b(-1)),false)},{preventDefault:true,stopPropagation:false}),R=h=>{t?.(h),h.defaultPrevented||H.onKeyDown(h),h.defaultPrevented||p.onKeyDown(h);},P=h=>{l?.(h),!h.defaultPrevented&&!I&&(c?(o(false),b(-1)):y());},O=h=>{r?.(h),setTimeout(()=>{o(false),b(-1);},150);},N=c&&a>=0?x(a):void 0,A=s.find(h=>h.value===i),$=A?.label??C,g=react.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":m,"aria-haspopup":"listbox","aria-activedescendant":N,disabled:I,onKeyDown:R,onClick:P,onBlur:O,"data-compa11y-select-trigger":true,"data-placeholder":!A||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"})]})}),ct=react.forwardRef(function({children:t,style:l,...r},e){let{isOpen:n,options:i,listboxId:c,triggerId:o}=it(),{announce:a}=chunkJS3UD7KS_cjs.a(),b=react.useRef(null),[s,f]=react.useState("bottom");react.useEffect(()=>{n&&a(`${i.length} option${i.length===1?"":"s"} available`);},[n,i.length,a]),react.useLayoutEffect(()=>{if(n&&b.current){let C=b.current.getBoundingClientRect(),E=window.innerHeight-C.top,p=C.top,y=Math.min(C.height,200);E<y+50&&p>E?f("top"):f("bottom");}},[n]);let m=T=>{T.preventDefault();},x=react.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:{...l,...s==="top"?{bottom:"100%",top:"auto",marginBottom:"4px",marginTop:0}:{}},onMouseDown:m,"data-compa11y-select-listbox":true,"data-position":s,...r,children:t??i.map((T,C)=>jsxRuntime.jsx(we,{option:T,index:C},T.value))}):null}),we=react.forwardRef(function({option:t,index:l,onClick:r,onMouseEnter:e,...n},i){let{selectedValue:c,highlightedIndex:o,setHighlightedIndex:a,getOptionId:b,onSelect:s}=it(),{announce:f}=chunkJS3UD7KS_cjs.a(),m=react.useRef(null),x=c===t.value,u=o===l,T=b(l);react.useEffect(()=>{u&&m.current&&m.current.scrollIntoView({block:"nearest",behavior:"smooth"});},[u]);let C=p=>{r?.(p),!p.defaultPrevented&&!t.disabled&&(s(t),f(`${t.label} selected`));},I=p=>{e?.(p),t.disabled||a(l);},E=react.useCallback(p=>{m.current=p,typeof i=="function"?i(p):i&&(i.current=p);},[i]);return jsxRuntime.jsxs("li",{ref:E,id:T,role:"option","aria-selected":x,"aria-disabled":t.disabled,"data-highlighted":u,"data-selected":x,"data-disabled":t.disabled,onClick:C,onMouseEnter:I,"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"})]})}),qt=Object.assign(st,{Trigger:lt,Listbox:ct,Option:we});var Xt=core.createComponentWarnings("Checkbox"),hn=()=>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"})}),vn=()=>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"})}),Zt=react.createContext(null);function pt(){return react.useContext(Zt)}var Fe=react.forwardRef(function({value:t,defaultValue:l=[],onValueChange:r,disabled:e=false,legend:n,error:i,orientation:c="vertical",name:o,unstyled:a=false,className:b="",children:s,"aria-label":f,"aria-labelledby":m},x){let u=chunkMAR6RBHF_cjs.a("checkbox-group"),T=o||u,C=chunkMAR6RBHF_cjs.a("checkbox-group-error"),[I,E]=react.useState(l),p=t!==void 0,y=p?t:I;react.useEffect(()=>{!n&&!f&&!m&&Xt.warning("CheckboxGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[n,f,m]);let H=react.useCallback((g,h)=>{let M=p?t:I,F=h?[...M,g]:M.filter(K=>K!==g);p||E(F),r?.(F);},[p,t,I,r]),R={name:T,value:y,disabled:e,unstyled:a,onCheckboxChange:H},P=!!i,O={border:"none",margin:0,padding:0,minWidth:0},N=a?{padding:0,marginBottom:"0.5rem"}:{padding:0,marginBottom:"0.5rem",fontWeight:600},A={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(Zt.Provider,{value:R,children:jsxRuntime.jsxs("fieldset",{ref:x,className:b,"aria-label":f,"aria-labelledby":m,"aria-describedby":P?C:void 0,disabled:e,"data-compa11y-checkbox-group":"","data-orientation":c,"data-disabled":e?"true":void 0,style:O,children:[n&&jsxRuntime.jsx("legend",{"data-compa11y-checkbox-group-legend":"",style:N,children:n}),jsxRuntime.jsx("div",{style:A,children:s}),P&&jsxRuntime.jsx("div",{id:C,role:"alert","data-compa11y-checkbox-group-error":"",style:$,children:i})]})})});Fe.displayName="CheckboxGroup";var Oe=react.forwardRef(function({checked:t,defaultChecked:l=false,onCheckedChange:r,indeterminate:e=false,label:n,hint:i,error:c,disabled:o=false,value:a,required:b=false,unstyled:s,className:f="",size:m="md",name:x,"aria-label":u,"aria-labelledby":T,"aria-describedby":C,onClick:I,onFocus:E,onBlur:p,...y},H){let R=pt(),P=chunkMAR6RBHF_cjs.a("checkbox"),O=`${P}-input`,N=`${P}-label`,A=`${P}-hint`,$=`${P}-error`,{announce:g}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:h,focusProps:M}=oe(),F=R!==null,K=F&&R.disabled||o,D=s??(F?R.unstyled:false),B=F?R.name:x,[q,w]=react.useState(l),U=F?R.value.includes(a||""):t!==void 0?t:q,j=react.useRef(null),W=react.useCallback(ue=>{j.current=ue,typeof H=="function"?H(ue):H&&(H.current=ue);},[H]);react.useEffect(()=>{j.current&&(j.current.indeterminate=e);},[e]),react.useEffect(()=>{!n&&!u&&!T&&Xt.warning("Checkbox has no accessible label. Screen readers need this to identify the checkbox.",'Add label="...", aria-label="...", or aria-labelledby="..."');},[n,u,T]);let z=react.useCallback(ue=>{let Me=ue.target.checked;F?R.onCheckboxChange(a||"",Me):(t===void 0&&w(Me),r?.(Me)),g(`${typeof n=="string"?n:u||"Checkbox"} ${Me?"checked":"unchecked"}`);},[F,R,a,t,r,n,u,g]),Z=react.useCallback(ue=>{M.onFocus(),E?.(ue);},[M,E]),ne=react.useCallback(ue=>{M.onBlur(),p?.(ue);},[M,p]),J=!!n,Q=!!i,re=!!c,Y=[];C&&Y.push(C),Q&&Y.push(A),re&&Y.push($);let be=Y.length?Y.join(" "):void 0,S={sm:{box:16},md:{box:20},lg:{box:24}}[m],L={display:"inline-flex",alignItems:"flex-start",gap:"0.5rem",cursor:K?"not-allowed":"pointer",userSelect:"none",...K&&!D?{opacity:.5}:{}},k={position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0},V={position:"absolute",opacity:0,width:"100%",height:"100%",margin:0,cursor:"inherit",zIndex:1},_=D?{}:{width:S.box,height:S.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"},To=D?{cursor:"inherit"}:{cursor:"inherit",color:"var(--compa11y-checkbox-label-color, inherit)"},Co=D?{}:{color:"var(--compa11y-checkbox-hint-color, #666)",fontSize:"0.8125rem"},Ro=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":m,style:L,children:[jsxRuntime.jsxs("div",{style:k,children:[jsxRuntime.jsx("input",{ref:W,type:"checkbox",id:O,name:B,value:a,checked:U,onChange:z,onClick:I,onFocus:Z,onBlur:ne,disabled:K,required:b,"aria-required":b||void 0,"aria-invalid":re||void 0,"aria-label":!J&&!T?u:void 0,"aria-labelledby":T||(J?N:void 0),"aria-describedby":be,"aria-checked":e?"mixed":U,tabIndex:K?-1:0,style:V,...y}),!D&&jsxRuntime.jsxs("div",{"data-compa11y-checkbox-indicator":"","aria-hidden":"true",style:_,children:[U&&!e&&jsxRuntime.jsx(hn,{}),e&&jsxRuntime.jsx(vn,{})]})]}),(J||Q||re)&&jsxRuntime.jsxs("div",{style:ge,children:[J&&jsxRuntime.jsxs("label",{htmlFor:O,id:N,"data-compa11y-checkbox-label":"",style:To,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:A,"data-compa11y-checkbox-hint":"",style:Co,children:i}),re&&jsxRuntime.jsx("div",{id:$,role:"alert","data-compa11y-checkbox-error":"",style:Ro,children:c})]})]})});Oe.displayName="Checkbox";var Ae=react.forwardRef(function({children:t,className:l},r){return jsxRuntime.jsx("div",{ref:r,className:l,"data-compa11y-checkbox-indicator":"","aria-hidden":"true",children:t})});Ae.displayName="CheckboxIndicator";var Jt=Object.assign(Oe,{Group:Fe,Indicator:Ae});var En=core.createComponentWarnings("RadioGroup"),mt=react.createContext(null);function xt(){let d=react.useContext(mt);if(!d)throw new Error("[Compa11y RadioGroup]: Radio must be used within a RadioGroup.");return d}var Ne=react.forwardRef(function({value:t,defaultValue:l,onValueChange:r,disabled:e=false,discoverable:n=true,required:i=false,orientation:c="vertical",name:o,legend:a,hint:b,error:s,unstyled:f=false,className:m="",children:x,"aria-label":u,"aria-labelledby":T},C){let I=chunkMAR6RBHF_cjs.a("radiogroup"),E=o||I,p=chunkMAR6RBHF_cjs.a("radiogroup-hint"),y=chunkMAR6RBHF_cjs.a("radiogroup-error"),[H,R]=react.useState(l??null),P=t!==void 0,O=P?t:H,N=react.useRef(new Map);react.useEffect(()=>{!a&&!u&&!T&&En.warning("RadioGroup has no accessible label. Screen readers need this to identify the group.",'Add legend="...", aria-label="...", or aria-labelledby="..."');},[a,u,T]);let A=react.useCallback(W=>{e||(P||R(W),r?.(W));},[e,P,r]),$=react.useCallback((W,z)=>{N.current.set(W,z);},[]),g=react.useCallback(W=>{N.current.delete(W);},[]),h=react.useCallback((W,z)=>{N.current.set(W,z);},[]),M=react.useCallback(()=>{let W=[];return N.current.forEach((z,Z)=>{!z&&!e&&W.push(Z);}),W},[e]),F=react.useRef(null),K=C||F,D=react.useCallback(W=>{let z=M();if(z.length===0)return;let Z=O?z.indexOf(O):-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){A(J);let Q=typeof K=="object"&&K?K.current:null;Q&&Q.querySelector(`input[type="radio"][value="${CSS.escape(J)}"]`)?.focus();}},[M,O,A,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:E,value:O??null,disabled:e,discoverable:n,required:i,unstyled:f,orientation:c,onValueChange:A,registerRadio:$,unregisterRadio:g,updateRadioDisabled:h},w=[];b&&w.push(p),s&&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:p,style:f?{}:{color:"var(--compa11y-radio-group-hint-color, #666)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:b}),s&&jsxRuntime.jsx("div",{id:y,role:"alert",style:f?{}:{color:"var(--compa11y-radio-group-error-color, #ef4444)",fontSize:"0.8125rem",marginTop:"0.25rem"},children:s})]});return a?jsxRuntime.jsx(mt.Provider,{value:q,children:jsxRuntime.jsxs("fieldset",{ref:K,role:"radiogroup","aria-label":u,"aria-labelledby":T,"aria-orientation":c,"aria-required":i||void 0,"aria-disabled":e||void 0,"aria-invalid":s?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${m}`.trim(),"data-compa11y-radiogroup":"","data-orientation":c,"data-disabled":e?"true":void 0,"data-error":s?"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,i&&!f&&jsxRuntime.jsxs("span",{"aria-hidden":"true",style:{color:"var(--compa11y-radio-group-required-color, #ef4444)",marginLeft:"0.125rem"},children:[" ","*"]})]}),j]})}):jsxRuntime.jsx(mt.Provider,{value:q,children:jsxRuntime.jsx("div",{ref:K,role:"radiogroup","aria-label":u,"aria-labelledby":T,"aria-orientation":c,"aria-required":i||void 0,"aria-disabled":e||void 0,"aria-invalid":s?true:void 0,"aria-describedby":U,className:`compa11y-radiogroup ${m}`.trim(),"data-compa11y-radiogroup":"","data-orientation":c,"data-disabled":e?"true":void 0,"data-error":s?"true":void 0,onKeyDown:B.onKeyDown,children:j})})});Ne.displayName="RadioGroup";var Ve=react.forwardRef(function({value:t,disabled:l=false,discoverable:r,label:e,hint:n,unstyled:i,className:c="",children:o,"aria-label":a},b){let s=xt(),f=chunkMAR6RBHF_cjs.a("radio"),m=chunkMAR6RBHF_cjs.a("radio-hint"),x=s.disabled||l,u=r??s.discoverable,T=i??s.unstyled,C=s.value===t,{announce:I}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:E,focusProps:p}=oe(),y=react.useRef(null),H=react.useCallback(B=>{y.current=B,typeof b=="function"?b(B):b&&(b.current=B);},[b]);react.useEffect(()=>(s.registerRadio(t,x),()=>s.unregisterRadio(t)),[t]),react.useEffect(()=>{s.updateRadioDisabled(t,x);},[x,t]);let R=react.useCallback(B=>{if(x){B.preventDefault();return}s.onValueChange(t),I(`${e||(typeof o=="string"?o:null)||t} selected`,{politeness:"polite"});},[x,s,t,e,o,I]),P=react.useCallback(B=>{x&&B.preventDefault();},[x]),O=react.useCallback(B=>{p.onFocus(),!C&&!x&&s.onValueChange(t);},[p,C,x,s,t]),N=react.useCallback(()=>{p.onBlur();},[p]),A=!!(o||e),$=o||e,g=`${f}-label`,h=!!n,M=(()=>{if(s.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&&!u?-1:C||s.value===null&&M?0:-1,K=x&&!u,D=h?m:void 0;return jsxRuntime.jsxs("label",{htmlFor:f,className:`compa11y-radio-wrapper ${c}`.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:f,name:s.name,value:t,checked:C,onChange:R,onClick:P,onFocus:O,onBlur:N,disabled:K,tabIndex:F,"aria-disabled":x?"true":void 0,"aria-label":A?void 0:a,"aria-labelledby":A?g:void 0,"aria-describedby":D,required:s.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",...E?{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"}})})]}),(A||h)&&jsxRuntime.jsxs("div",{style:T?{}:{display:"flex",flexDirection:"column",gap:"0.125rem",paddingTop:"0.125rem"},children:[A&&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:m,className:"compa11y-radio-hint",style:T?{}:{color:"var(--compa11y-radio-hint-color, #666)",fontSize:"var(--compa11y-radio-hint-size, 0.8125rem)"},children:n})]})]})});Ve.displayName="Radio";var eo=Object.assign(Ne,{Radio:Ve});var kn=core.createComponentWarnings("Switch"),gt=react.forwardRef(function({checked:t,defaultChecked:l=false,onCheckedChange:r,label:e,disabled:n=false,unstyled:i=false,className:c,size:o="md","aria-label":a,"aria-labelledby":b,onClick:s,...f},m){let u=`${chunkMAR6RBHF_cjs.a("switch")}-label`,{announce:T}=chunkJS3UD7KS_cjs.a(),{isFocusVisible:C,focusProps:I}=oe(),[E,p]=react.useState(l),y=t!==void 0,H=y?t:E;react.useEffect(()=>{!e&&!a&&!b&&kn.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 R=react.useCallback(()=>{if(n)return;let w=!H;y||p(w),r?.(w),T(`${e||a||"Switch"} ${w?"on":"off"}`);},[H,n,y,r,e,a,T]),P=react.useCallback(w=>{s?.(w),w.defaultPrevented||R();},[s,R]),O=chunkAJ7JSWUT_cjs.a({Space:()=>{R();},Enter:()=>{R();}},{preventDefault:true}),N=w=>{f.onKeyDown?.(w),w.defaultPrevented||O.onKeyDown(w);},A=a,$=b||(e?u:void 0),g={display:"inline-flex",alignItems:"center"},M={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:M.width,height:M.height,border:"none",padding:2,cursor:n?"not-allowed":"pointer"},K=i?{}:{backgroundColor:H?"#0066cc":"#d1d5db",borderRadius:M.height/2,transition:"background-color 0.2s ease",opacity:n?.5:1},D={position:"absolute",left:2,width:M.thumb,height:M.thumb,pointerEvents:"none",transform:H?`translateX(${M.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:m,type:"button",role:"switch","aria-checked":H,"aria-label":A,"aria-labelledby":$,disabled:n,onClick:P,onKeyDown:N,className:c,style:{...F,...K,...!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,...f,onFocus:w=>{I.onFocus(),f.onFocus?.(w);},onBlur:w=>{I.onBlur(),f.onBlur?.(w);},children:jsxRuntime.jsx("span",{style:{...D,...B},"data-compa11y-switch-thumb":true,"aria-hidden":"true"})}),e&&jsxRuntime.jsx("label",{id:u,onClick:n?void 0:()=>R(),style:q,"data-compa11y-switch-label":true,children:e})]})});gt.displayName="Switch";var On=core.createComponentWarnings("Listbox"),ro=react.createContext(null);function ze(){let d=react.useContext(ro);if(!d)throw new Error("[Compa11y Listbox]: Option/Group must be used within a Listbox.");return d}var ao=react.createContext({groupDisabled:false}),Ge=react.forwardRef(function({value:t,defaultValue:l,onValueChange:r,multiple:e=false,disabled:n=false,discoverable:i=true,orientation:c="vertical",unstyled:o=false,className:a="",children:b,"aria-label":s,"aria-labelledby":f},m){let x=chunkMAR6RBHF_cjs.a("listbox"),{announce:u}=chunkJS3UD7KS_cjs.a(),[T,C]=react.useState(()=>l??(e?[]:"")),I=t!==void 0,E=I?t:T,p=react.useMemo(()=>e?new Set(Array.isArray(E)?E:[]):new Set(E?[String(E)]:[]),[E,e]),[y,H]=react.useState(null),R=react.useRef(new Map),[P,O]=react.useState(0),N=react.useCallback((v,S,L)=>{R.current.set(v,{disabled:S,label:L}),O(k=>k+1);},[]),A=react.useCallback(v=>{R.current.delete(v),O(S=>S+1);},[]),$=react.useCallback((v,S)=>{let L=R.current.get(v);L&&R.current.set(v,{...L,disabled:S});},[]),g=react.useMemo(()=>{let v=[];return R.current.forEach((S,L)=>{!S.disabled&&!n&&v.push(L);}),v},[P,n]);react.useEffect(()=>{!s&&!f&&On.warning("Listbox has no accessible label. Screen readers need this.",'Add aria-label="..." or aria-labelledby="..."');},[s,f]);let h=react.useCallback(v=>p.has(v),[p]),M=react.useCallback(v=>{if(n)return;let S=R.current.get(v);if(S?.disabled)return;let L,k=S?.label||v;if(e){let V=new Set(p);V.has(v)?(V.delete(v),u(`${k} deselected`,{politeness:"polite"})):(V.add(v),u(`${k} selected`,{politeness:"polite"})),L=Array.from(V);}else L=v,u(`${k} selected`,{politeness:"polite"});I||C(L),r?.(L);},[n,e,p,I,r,u]),F=react.useCallback(v=>{if(g.length===0)return;let S=y?g.indexOf(y):-1,L;switch(v){case "next":L=S<0?0:Math.min(S+1,g.length-1);break;case "prev":L=S<0?g.length-1:Math.max(S-1,0);break;case "first":L=0;break;case "last":L=g.length-1;break}let k=g[L];if(k!==void 0)if(H(k),e){let _=R.current.get(k)?.label||k,ge=p.has(k);u(`${_}${ge?", selected":""}`,{politeness:"polite"});}else {let _=R.current.get(k)?.label||k,ge=k;I||C(ge),r?.(ge),u(`${_} selected`,{politeness:"polite"});}},[g,y,e,I,r,u,p]),K=react.useCallback(()=>{y&&e&&M(y);},[y,e,M]),D=react.useCallback(v=>{if(g.length===0)return;let S=y?g.indexOf(y):-1,L;v==="next"?L=S<0?0:Math.min(S+1,g.length-1):L=S<0?g.length-1:Math.max(S-1,0);let k=g[L];k!==void 0&&(H(k),M(k));},[g,y,M]),B=react.useCallback(()=>{if(!e||!y)return;let v=g.indexOf(y);if(v<0)return;let S=g.slice(0,v+1),L=new Set(p);S.forEach(V=>L.add(V));let k=Array.from(L);I||C(k),r?.(k),H(g[0]??null),u(`${S.length} items selected`,{politeness:"polite"});},[e,y,g,p,I,r,u]),q=react.useCallback(()=>{if(!e||!y)return;let v=g.indexOf(y);if(v<0)return;let S=g.slice(v),L=new Set(p);S.forEach(V=>L.add(V));let k=Array.from(L);I||C(k),r?.(k),H(g[g.length-1]??null),u(`${S.length} items selected`,{politeness:"polite"});},[e,y,g,p,I,r,u]),w=react.useCallback(()=>{if(!e)return;let v=g.every(L=>p.has(L)),S;v?(S=[],u("All deselected",{politeness:"polite"})):(S=[...g],u("All selected",{politeness:"polite"})),I||C(S),r?.(S);},[e,g,p,I,r,u]),U=react.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=react.useMemo(()=>Array.from(R.current.values()).map(v=>v.label),[P]),z=chunkAJ7JSWUT_cjs.e(W,v=>{for(let[S,L]of R.current.entries())if(L.label===v&&!L.disabled){if(H(S),!e){let k=S;I||C(k),r?.(k),u(`${v} selected`,{politeness:"polite"});}break}},{disabled:n}),Z=react.useCallback(v=>{j.onKeyDown(v),v.defaultPrevented||z.onKeyDown(v);},[j,z]),ne=react.useCallback(()=>{if(!y){if(!e&&E&&typeof E=="string"){H(E);return}if(e&&Array.isArray(E)&&E.length>0){H(E[0]??null);return}g.length>0&&H(g[0]??null);}},[y,e,E,g]),J=react.useCallback(()=>{},[]),Q=react.useRef(null);react.useEffect(()=>{y&&Q.current&&Q.current.querySelector(`[data-value="${CSS.escape(y)}"]`)?.scrollIntoView({block:"nearest"});},[y]);let re=react.useMemo(()=>({multiple:e,disabled:n,discoverable:i,unstyled:o,orientation:c,selectedValues:p,focusedValue:y,onSelect:M,onFocusOption:H,registerOption:N,unregisterOption:A,updateOptionDisabled:$,isSelected:h,listboxId:x}),[e,n,i,o,c,p,y,M,N,A,$,h,x]),Y=react.useCallback(v=>{Q.current=v,typeof m=="function"?m(v):m&&(m.current=v);},[m]),be=y?`${x}-option-${y}`:void 0;return jsxRuntime.jsx(ro.Provider,{value:re,children:jsxRuntime.jsx("div",{ref:Y,role:"listbox","aria-label":s,"aria-labelledby":f,"aria-orientation":c,"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":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=react.forwardRef(function({value:t,disabled:l=false,discoverable:r,unstyled:e,className:n="",children:i,"aria-label":c},o){let a=ze(),{groupDisabled:b}=react.useContext(ao),s=a.disabled||b||l,f=e??a.unstyled,m=a.isSelected(t),x=a.focusedValue===t,u=`${a.listboxId}-option-${t}`,T=react.useRef(""),C=react.useRef(null),I=react.useCallback(p=>{C.current=p,typeof o=="function"?o(p):o&&(o.current=p);},[o]);react.useEffect(()=>{let p=typeof i=="string"?i:C.current?.textContent?.trim()||t;return T.current=p,a.registerOption(t,s,p),()=>a.unregisterOption(t)},[t]),react.useEffect(()=>{a.updateOptionDisabled(t,s);},[s,t]);let E=react.useCallback(p=>{if(s){p.preventDefault();return}a.onFocusOption(t),a.onSelect(t);},[s,a,t]);return jsxRuntime.jsxs("div",{ref:I,id:u,role:"option","aria-selected":m,"aria-disabled":s||void 0,"aria-label":c,className:`compa11y-listbox-option ${n}`.trim(),"data-compa11y-listbox-option":"","data-value":t,"data-selected":m?"true":"false","data-focused":x?"true":"false","data-disabled":s?"true":void 0,onClick:E,style:f?{cursor:s?"not-allowed":"pointer"}:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"var(--compa11y-listbox-option-padding, 0.5rem 0.75rem)",cursor:s?"not-allowed":"pointer",userSelect:"none",transition:"background 0.1s ease",background:x?m?"var(--compa11y-listbox-option-selected-hover-bg, #cce0ff)":"var(--compa11y-listbox-option-hover-bg, #f5f5f5)":m?"var(--compa11y-listbox-option-selected-bg, #e6f0ff)":"transparent",fontWeight:m?500:"normal",opacity:s?.5:1},children:[jsxRuntime.jsx("span",{style:{flex:1},children:i}),m&&!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=react.forwardRef(function({label:t,disabled:l=false,unstyled:r,className:e="",children:n},i){let c=ze(),o=r??c.unstyled,a=chunkMAR6RBHF_cjs.a("listbox-group"),b=react.useMemo(()=>({groupDisabled:c.disabled||l}),[c.disabled,l]);return jsxRuntime.jsx(ao.Provider,{value:b,children:jsxRuntime.jsxs("div",{ref:i,role:"group","aria-labelledby":a,"aria-disabled":l||void 0,className:`compa11y-listbox-group ${e}`.trim(),"data-compa11y-listbox-group":"","data-disabled":l?"true":void 0,style:o?{}:{opacity:l?.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 io=Object.assign(Ge,{Option:$e,Group:Ke});var bo=react.createContext(null);function Re(){let d=react.useContext(bo);if(!d)throw new Error("[Compa11y Input]: Input sub-components (Input.Label, Input.Field, etc.) must be used within <Input>.");return d}var je=react.forwardRef(function({children:t,className:l},r){let e=Re();return jsxRuntime.jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-input-label":"",className:l,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=react.forwardRef(function({type:t="text",onFocus:l,onBlur:r,className:e,style:n,...i},c){let o=Re(),a=react.useRef(null),b=react.useCallback(u=>{a.current=u,typeof c=="function"?c(u):c&&(c.current=u);},[c]),s=react.useCallback(u=>{o.setValue(u.target.value);},[o.setValue]),f=react.useCallback(u=>{o.focusProps.onFocus(),l?.(u);},[o.focusProps,l]),m=react.useCallback(u=>{o.focusProps.onBlur(),r?.(u);},[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:s,onFocus:f,onBlur:m,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=react.forwardRef(function({children:t,className:l},r){let e=Re();return react.useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsxRuntime.jsx("div",{ref:r,id:e.hintId,"data-compa11y-input-hint":"",className:l,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=react.forwardRef(function({children:t,className:l},r){let e=Re();return t?jsxRuntime.jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-input-error":"",className:l,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=react.forwardRef(function({value:t,defaultValue:l="",onValueChange:r,type:e="text",label:n,hint:i,error:c,required:o=false,disabled:a=false,readOnly:b=false,"aria-label":s,"aria-labelledby":f,placeholder:m,name:x,autoComplete:u,maxLength:T,minLength:C,pattern:I,inputMode:E,id:p,unstyled:y=false,className:H,onFocus:R,onBlur:P,children:O},N){let A=chunkMAR6RBHF_cjs.a("input"),$=p||A,g=`${$}-field`,h=`${$}-label`,M=`${$}-hint`,F=`${$}-error`,[K,D]=react.useState(l),B=t!==void 0,q=B?t:K,[w,U]=react.useState(false),j=react.useCallback(_=>{B||D(_),r?.(_);},[B,r]),{isFocusVisible:W,focusProps:z}=oe(),Z=react.useRef(null),ne=react.useCallback(_=>{Z.current=_,typeof N=="function"?N(_):N&&(N.current=_);},[N]),J=react.useCallback(_=>{j(_.target.value);},[j]),Q=react.useCallback(_=>{z.onFocus(),R?.(_);},[z,R]),re=react.useCallback(_=>{z.onBlur(),P?.(_);},[z,P]);react.useEffect(()=>{process.env.NODE_ENV!=="production"&&!(react.Children.count(O)>0)&&!n&&!s&&!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.");},[O,n,s,f]);let Y=!!c,be=react.Children.count(O)>0,v={fieldId:g,labelId:h,hintId:M,errorId:F,value:q,setValue:j,hasError:Y,hasHint:be?w:!!i,setHasHint:U,disabled:a,readOnly:b,required:o,isFocusVisible:W,focusProps:z,unstyled:y},S={"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(bo.Provider,{value:v,children:jsxRuntime.jsx("div",{...S,className:H,style:L,children:O})});let k=[];i&&k.push(M),Y&&k.push(F);let V=k.length>0?k.join(" "):void 0;return jsxRuntime.jsxs("div",{...S,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:m,name:x,autoComplete:u,maxLength:T,minLength:C,pattern:I,inputMode:E,"aria-label":n?void 0:s,"aria-labelledby":!n&&f?f:n?h:void 0,"aria-describedby":V,"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)"}:{}}}),i&&jsxRuntime.jsx("div",{id:M,"data-compa11y-input-hint":"",style:y?{}:{color:"var(--compa11y-input-hint-color, #666)",fontSize:"var(--compa11y-input-hint-size, 0.8125rem)"},children:i}),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 fo=Object.assign(_e,{Label:je,Field:We,Hint:Ue,Error:qe});var zn={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)"}},Gn={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=react.forwardRef(function({variant:t="secondary",size:l="md",type:r="button",disabled:e=false,discoverable:n=false,loading:i=false,unstyled:c=false,"aria-label":o,className:a,style:b,onClick:s,onFocus:f,onBlur:m,children:x,...u},T){let C=chunkMAR6RBHF_cjs.a("button"),I=react.useRef(null),E=react.useCallback(g=>{I.current=g,typeof T=="function"?T(g):T&&(T.current=g);},[T]),{isFocusVisible:p,focusProps:y}=oe();react.useEffect(()=>{process.env.NODE_ENV!=="production"&&!x&&!o&&!u["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,u["aria-labelledby"]]);let H=e&&!n,R=e||i,P=react.useCallback(g=>{if(R){g.preventDefault();return}s?.(g);},[R,s]),O=react.useCallback(g=>{y.onFocus(),f?.(g);},[y,f]),N=react.useCallback(g=>{y.onBlur(),m?.(g);},[y,m]),A={"data-compa11y-button":"","data-variant":t,"data-size":l,"data-disabled":e?"true":"false","data-loading":i?"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: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",...zn[t],...Gn[l],...p&&!H?{outline:"2px solid var(--compa11y-focus-color, #0066cc)",outlineOffset:"2px"}:{}};return jsxRuntime.jsxs("button",{ref:E,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:P,onFocus:O,onBlur:N,className:a,style:{...$,...b},...A,...u,children:[i&&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 ho=react.createContext(null);function Ie(){let d=react.useContext(ho);if(!d)throw new Error("[Compa11y Textarea]: Textarea sub-components (Textarea.Label, Textarea.Field, etc.) must be used within <Textarea>.");return d}var Xe=react.forwardRef(function({children:t,className:l},r){let e=Ie();return jsxRuntime.jsxs("label",{ref:r,id:e.labelId,htmlFor:e.fieldId,"data-compa11y-textarea-label":"",className:l,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=react.forwardRef(function({onFocus:t,onBlur:l,className:r,style:e,rows:n,...i},c){let o=Ie(),a=react.useRef(null),b=react.useCallback(u=>{a.current=u,typeof c=="function"?c(u):c&&(c.current=u);},[c]),s=react.useCallback(u=>{o.setValue(u.target.value);},[o.setValue]),f=react.useCallback(u=>{o.focusProps.onFocus(),t?.(u);},[o.focusProps,t]),m=react.useCallback(u=>{o.focusProps.onBlur(),l?.(u);},[o.focusProps,l]),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:s,onFocus:f,onBlur:m,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=react.forwardRef(function({children:t,className:l},r){let e=Ie();return react.useEffect(()=>(e.setHasHint(true),()=>e.setHasHint(false)),[]),jsxRuntime.jsx("div",{ref:r,id:e.hintId,"data-compa11y-textarea-hint":"",className:l,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=react.forwardRef(function({children:t,className:l},r){let e=Ie();return t?jsxRuntime.jsx("div",{ref:r,id:e.errorId,role:"alert","data-compa11y-textarea-error":"",className:l,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=react.forwardRef(function({value:t,defaultValue:l="",onValueChange:r,rows:e=3,resize:n="vertical",label:i,hint:c,error:o,required:a=false,disabled:b=false,readOnly:s=false,"aria-label":f,"aria-labelledby":m,placeholder:x,name:u,autoComplete:T,maxLength:C,minLength:I,id:E,unstyled:p=false,className:y,onFocus:H,onBlur:R,children:P},O){let N=chunkMAR6RBHF_cjs.a("textarea"),A=E||N,$=`${A}-field`,g=`${A}-label`,h=`${A}-hint`,M=`${A}-error`,[F,K]=react.useState(l),D=t!==void 0,B=D?t:F,q=react.useCallback(V=>{D||K(V),r?.(V);},[D,r]),{isFocusVisible:w,focusProps:U}=oe();react.useEffect(()=>{process.env.NODE_ENV!=="production"&&!(react.Children.count(P)>0)&&!i&&!f&&!m&&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,i,f,m]);let j=!!o,[W,z]=react.useState(false),Z=react.Children.count(P)>0,ne={fieldId:$,labelId:g,hintId:h,errorId:M,value:B,setValue:q,hasError:j,hasHint:Z?W:!!c,setHasHint:z,disabled:b,readOnly:s,required:a,rows:e,resize:n,isFocusVisible:w,focusProps:U,unstyled:p},J={"data-compa11y-textarea":"","data-error":j?"true":"false","data-disabled":b?"true":"false","data-required":a?"true":"false","data-readonly":s?"true":"false"},Q=p?{}:{display:"flex",flexDirection:"column",gap:"0.25rem"},re=react.useRef(null),Y=react.useCallback(V=>{re.current=V,typeof O=="function"?O(V):O&&(O.current=V);},[O]),be=react.useCallback(V=>{q(V.target.value);},[q]),v=react.useCallback(V=>{U.onFocus(),H?.(V);},[U,H]),S=react.useCallback(V=>{U.onBlur(),R?.(V);},[U,R]);if(Z)return jsxRuntime.jsx(ho.Provider,{value:ne,children:jsxRuntime.jsx("div",{...J,className:y,style:Q,children:P})});let L=[];c&&L.push(h),j&&L.push(M);let k=L.length>0?L.join(" "):void 0;return jsxRuntime.jsxs("div",{...J,className:y,style:Q,children:[i&&jsxRuntime.jsxs("label",{id:g,htmlFor:$,"data-compa11y-textarea-label":"",style:p?{}:{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:[i,a&&jsxRuntime.jsx("span",{"data-compa11y-textarea-required":"","aria-hidden":"true",style:p?{}:{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:S,disabled:b,readOnly:s,required:a,placeholder:x,name:u,autoComplete:T,maxLength:C,minLength:I,"aria-label":i?void 0:f,"aria-labelledby":!i&&m?m:i?g:void 0,"aria-describedby":k,"aria-invalid":j?"true":void 0,"aria-required":a?"true":void 0,"data-compa11y-textarea-field":"",style:p?{}:{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)":s?"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:p?{}:{color:"var(--compa11y-textarea-hint-color, #666)",fontSize:"var(--compa11y-textarea-hint-size, 0.8125rem)"},children:c}),j&&jsxRuntime.jsx("div",{id:M,role:"alert","data-compa11y-textarea-error":"",style:p?{}:{color:"var(--compa11y-textarea-error-color, #ef4444)",fontSize:"var(--compa11y-textarea-error-size, 0.8125rem)"},children:o})]})});et.displayName="Textarea";var vo=Object.assign(et,{Label:Xe,Field:Ze,Hint:Je,Error:Qe});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.Button=Ct;exports.Checkbox=Jt;exports.CheckboxBase=Oe;exports.CheckboxGroup=Fe;exports.CheckboxIndicator=Ae;exports.Input=fo;exports.InputBase=_e;exports.InputError=qe;exports.InputField=We;exports.InputHint=Ue;exports.InputLabel=je;exports.Listbox=io;exports.ListboxBase=Ge;exports.ListboxGroup=Ke;exports.ListboxOption=$e;exports.Radio=Ve;exports.RadioGroup=eo;exports.RadioGroupBase=Ne;exports.Select=qt;exports.SelectBase=st;exports.SelectListbox=ct;exports.SelectOptionItem=we;exports.SelectTrigger=lt;exports.Switch=gt;exports.Textarea=vo;exports.TextareaBase=et;exports.TextareaError=Qe;exports.TextareaField=Ze;exports.TextareaHint=Je;exports.TextareaLabel=Xe;exports.useCheckboxGroupContext=pt;exports.useFocusControl=Dt;exports.useFocusManager=Vt;exports.useFocusNeighbor=Gt;exports.useFocusReturn=$t;exports.useFocusVisible=oe;exports.useFocusWithin=Bt;exports.useInputContext=Re;exports.useListboxContext=ze;exports.useRadioGroupContext=xt;exports.useRovingTabindex=tt;exports.useRovingTabindexMap=zt;exports.useTextareaContext=Ie;
|
|
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;
|
package/dist/index.d.cts
CHANGED
|
@@ -1182,4 +1182,103 @@ declare const TextareaCompound: React$1.ForwardRefExoticComponent<TextareaProps
|
|
|
1182
1182
|
Error: React$1.ForwardRefExoticComponent<TextareaErrorProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1183
1183
|
};
|
|
1184
1184
|
|
|
1185
|
-
|
|
1185
|
+
/**
|
|
1186
|
+
* Accessible VisuallyHidden component.
|
|
1187
|
+
*
|
|
1188
|
+
* Hides content visually while keeping it accessible to screen readers.
|
|
1189
|
+
*
|
|
1190
|
+
* @example
|
|
1191
|
+
* ```tsx
|
|
1192
|
+
* // Screen-reader-only text
|
|
1193
|
+
* <VisuallyHidden>Loading, please wait</VisuallyHidden>
|
|
1194
|
+
*
|
|
1195
|
+
* // Focusable (becomes visible on focus, e.g. skip links)
|
|
1196
|
+
* <VisuallyHidden focusable>
|
|
1197
|
+
* <a href="#main-content">Skip to main content</a>
|
|
1198
|
+
* </VisuallyHidden>
|
|
1199
|
+
* ```
|
|
1200
|
+
*/
|
|
1201
|
+
|
|
1202
|
+
interface VisuallyHiddenProps extends React__default.HTMLAttributes<HTMLSpanElement> {
|
|
1203
|
+
/** When true, content becomes visible when a child receives focus (useful for skip links) */
|
|
1204
|
+
focusable?: boolean;
|
|
1205
|
+
}
|
|
1206
|
+
declare const VisuallyHidden: React__default.ForwardRefExoticComponent<VisuallyHiddenProps & React__default.RefAttributes<HTMLSpanElement>>;
|
|
1207
|
+
|
|
1208
|
+
/**
|
|
1209
|
+
* Accessible SkipLink component.
|
|
1210
|
+
*
|
|
1211
|
+
* A navigation aid that allows keyboard users to skip repetitive content
|
|
1212
|
+
* (like navigation menus) and jump directly to the main content area.
|
|
1213
|
+
*
|
|
1214
|
+
* Must be rendered as the FIRST focusable element on the page.
|
|
1215
|
+
* Visually hidden until focused, then appears prominently.
|
|
1216
|
+
*
|
|
1217
|
+
* @example
|
|
1218
|
+
* ```tsx
|
|
1219
|
+
* // Place at the very top of your layout
|
|
1220
|
+
* <SkipLink target="#main-content" />
|
|
1221
|
+
*
|
|
1222
|
+
* // Custom label
|
|
1223
|
+
* <SkipLink target="#main-content">Skip navigation</SkipLink>
|
|
1224
|
+
*
|
|
1225
|
+
* // Multiple skip links
|
|
1226
|
+
* <SkipLink target="#main-content">Skip to content</SkipLink>
|
|
1227
|
+
* <SkipLink target="#search">Skip to search</SkipLink>
|
|
1228
|
+
* ```
|
|
1229
|
+
*
|
|
1230
|
+
* Keyboard: Tab to reveal, Enter to activate.
|
|
1231
|
+
*/
|
|
1232
|
+
|
|
1233
|
+
interface SkipLinkProps extends Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
1234
|
+
/** CSS selector of the target element to skip to (e.g. "#main-content") */
|
|
1235
|
+
target?: string;
|
|
1236
|
+
/** Remove default styles */
|
|
1237
|
+
unstyled?: boolean;
|
|
1238
|
+
}
|
|
1239
|
+
declare const SkipLink: React__default.ForwardRefExoticComponent<SkipLinkProps & React__default.RefAttributes<HTMLAnchorElement>>;
|
|
1240
|
+
|
|
1241
|
+
/**
|
|
1242
|
+
* Accessible Alert component.
|
|
1243
|
+
*
|
|
1244
|
+
* A static feedback element for communicating important messages.
|
|
1245
|
+
* Uses `role="alert"` for urgent messages (error/warning) and
|
|
1246
|
+
* `role="status"` for informational messages (info/success).
|
|
1247
|
+
*
|
|
1248
|
+
* @example
|
|
1249
|
+
* ```tsx
|
|
1250
|
+
* // Error alert (assertive)
|
|
1251
|
+
* <Alert type="error" title="Payment failed">
|
|
1252
|
+
* Your card was declined. Please try a different payment method.
|
|
1253
|
+
* </Alert>
|
|
1254
|
+
*
|
|
1255
|
+
* // Success alert
|
|
1256
|
+
* <Alert type="success" title="Saved!">
|
|
1257
|
+
* Your changes have been saved successfully.
|
|
1258
|
+
* </Alert>
|
|
1259
|
+
*
|
|
1260
|
+
* // Dismissible alert
|
|
1261
|
+
* <Alert type="info" dismissible onDismiss={() => setVisible(false)}>
|
|
1262
|
+
* This alert can be closed by the user.
|
|
1263
|
+
* </Alert>
|
|
1264
|
+
* ```
|
|
1265
|
+
*
|
|
1266
|
+
* Keyboard: Tab to dismiss button, Enter/Space to dismiss.
|
|
1267
|
+
*/
|
|
1268
|
+
|
|
1269
|
+
type AlertType = 'info' | 'success' | 'warning' | 'error';
|
|
1270
|
+
interface AlertProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1271
|
+
/** Alert variant */
|
|
1272
|
+
type?: AlertType;
|
|
1273
|
+
/** Optional title displayed prominently */
|
|
1274
|
+
title?: string;
|
|
1275
|
+
/** Whether the alert can be dismissed */
|
|
1276
|
+
dismissible?: boolean;
|
|
1277
|
+
/** Called when the alert is dismissed */
|
|
1278
|
+
onDismiss?: () => void;
|
|
1279
|
+
/** Remove default styles */
|
|
1280
|
+
unstyled?: boolean;
|
|
1281
|
+
}
|
|
1282
|
+
declare const Alert: React__default.ForwardRefExoticComponent<AlertProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1283
|
+
|
|
1284
|
+
export { Alert, type AlertProps, type AlertType, Button, type ButtonProps, CheckboxCompound as Checkbox, Checkbox as CheckboxBase, CheckboxGroup, type CheckboxGroupContextValue, type CheckboxGroupProps, CheckboxIndicator, type CheckboxIndicatorProps, type CheckboxProps, InputCompound as Input, Input as InputBase, type InputContextValue, InputError, type InputErrorProps, InputField, type InputFieldProps, InputHint, type InputHintProps, InputLabel, type InputLabelProps, type InputProps, ListboxCompound as Listbox, Listbox as ListboxBase, type ListboxContextValue, ListboxGroup, type ListboxGroupProps, ListboxOption, type ListboxOptionProps, type ListboxProps, Radio, RadioGroupCompound as RadioGroup, RadioGroup as RadioGroupBase, type RadioGroupContextValue, type RadioGroupProps, type RadioProps, type RovingTabindexItem, SelectCompound as Select, Select as SelectBase, SelectListbox, type SelectListboxProps, SelectOptionItem, type SelectOptionProps, type SelectOption as SelectOptionType, type SelectProps, SelectTrigger, type SelectTriggerProps, SkipLink, type SkipLinkProps, Switch, type SwitchProps, TextareaCompound as Textarea, Textarea as TextareaBase, type TextareaContextValue, TextareaError, type TextareaErrorProps, TextareaField, type TextareaFieldProps, TextareaHint, type TextareaHintProps, TextareaLabel, type TextareaLabelProps, type TextareaProps, type UseFocusTrapOptions, type UseRovingTabindexOptions, VisuallyHidden, type VisuallyHiddenProps, useAnnounceLoading, useAnnounceOnChange, useAnnouncer, useCheckboxGroupContext, useFocusControl, useFocusManager, useFocusNeighbor, useFocusReturn, useFocusTrap, useFocusTrapControls, useFocusVisible, useFocusWithin, useGridKeyboard, useId, useIdScope, useIds, useInputContext, useKeyPressed, useKeyboard, useListboxContext, useMenuKeyboard, useRadioGroupContext, useRovingTabindex, useRovingTabindexMap, useTabsKeyboard, useTextareaContext, useTypeAhead };
|
package/dist/index.d.ts
CHANGED
|
@@ -1182,4 +1182,103 @@ declare const TextareaCompound: React$1.ForwardRefExoticComponent<TextareaProps
|
|
|
1182
1182
|
Error: React$1.ForwardRefExoticComponent<TextareaErrorProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1183
1183
|
};
|
|
1184
1184
|
|
|
1185
|
-
|
|
1185
|
+
/**
|
|
1186
|
+
* Accessible VisuallyHidden component.
|
|
1187
|
+
*
|
|
1188
|
+
* Hides content visually while keeping it accessible to screen readers.
|
|
1189
|
+
*
|
|
1190
|
+
* @example
|
|
1191
|
+
* ```tsx
|
|
1192
|
+
* // Screen-reader-only text
|
|
1193
|
+
* <VisuallyHidden>Loading, please wait</VisuallyHidden>
|
|
1194
|
+
*
|
|
1195
|
+
* // Focusable (becomes visible on focus, e.g. skip links)
|
|
1196
|
+
* <VisuallyHidden focusable>
|
|
1197
|
+
* <a href="#main-content">Skip to main content</a>
|
|
1198
|
+
* </VisuallyHidden>
|
|
1199
|
+
* ```
|
|
1200
|
+
*/
|
|
1201
|
+
|
|
1202
|
+
interface VisuallyHiddenProps extends React__default.HTMLAttributes<HTMLSpanElement> {
|
|
1203
|
+
/** When true, content becomes visible when a child receives focus (useful for skip links) */
|
|
1204
|
+
focusable?: boolean;
|
|
1205
|
+
}
|
|
1206
|
+
declare const VisuallyHidden: React__default.ForwardRefExoticComponent<VisuallyHiddenProps & React__default.RefAttributes<HTMLSpanElement>>;
|
|
1207
|
+
|
|
1208
|
+
/**
|
|
1209
|
+
* Accessible SkipLink component.
|
|
1210
|
+
*
|
|
1211
|
+
* A navigation aid that allows keyboard users to skip repetitive content
|
|
1212
|
+
* (like navigation menus) and jump directly to the main content area.
|
|
1213
|
+
*
|
|
1214
|
+
* Must be rendered as the FIRST focusable element on the page.
|
|
1215
|
+
* Visually hidden until focused, then appears prominently.
|
|
1216
|
+
*
|
|
1217
|
+
* @example
|
|
1218
|
+
* ```tsx
|
|
1219
|
+
* // Place at the very top of your layout
|
|
1220
|
+
* <SkipLink target="#main-content" />
|
|
1221
|
+
*
|
|
1222
|
+
* // Custom label
|
|
1223
|
+
* <SkipLink target="#main-content">Skip navigation</SkipLink>
|
|
1224
|
+
*
|
|
1225
|
+
* // Multiple skip links
|
|
1226
|
+
* <SkipLink target="#main-content">Skip to content</SkipLink>
|
|
1227
|
+
* <SkipLink target="#search">Skip to search</SkipLink>
|
|
1228
|
+
* ```
|
|
1229
|
+
*
|
|
1230
|
+
* Keyboard: Tab to reveal, Enter to activate.
|
|
1231
|
+
*/
|
|
1232
|
+
|
|
1233
|
+
interface SkipLinkProps extends Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
1234
|
+
/** CSS selector of the target element to skip to (e.g. "#main-content") */
|
|
1235
|
+
target?: string;
|
|
1236
|
+
/** Remove default styles */
|
|
1237
|
+
unstyled?: boolean;
|
|
1238
|
+
}
|
|
1239
|
+
declare const SkipLink: React__default.ForwardRefExoticComponent<SkipLinkProps & React__default.RefAttributes<HTMLAnchorElement>>;
|
|
1240
|
+
|
|
1241
|
+
/**
|
|
1242
|
+
* Accessible Alert component.
|
|
1243
|
+
*
|
|
1244
|
+
* A static feedback element for communicating important messages.
|
|
1245
|
+
* Uses `role="alert"` for urgent messages (error/warning) and
|
|
1246
|
+
* `role="status"` for informational messages (info/success).
|
|
1247
|
+
*
|
|
1248
|
+
* @example
|
|
1249
|
+
* ```tsx
|
|
1250
|
+
* // Error alert (assertive)
|
|
1251
|
+
* <Alert type="error" title="Payment failed">
|
|
1252
|
+
* Your card was declined. Please try a different payment method.
|
|
1253
|
+
* </Alert>
|
|
1254
|
+
*
|
|
1255
|
+
* // Success alert
|
|
1256
|
+
* <Alert type="success" title="Saved!">
|
|
1257
|
+
* Your changes have been saved successfully.
|
|
1258
|
+
* </Alert>
|
|
1259
|
+
*
|
|
1260
|
+
* // Dismissible alert
|
|
1261
|
+
* <Alert type="info" dismissible onDismiss={() => setVisible(false)}>
|
|
1262
|
+
* This alert can be closed by the user.
|
|
1263
|
+
* </Alert>
|
|
1264
|
+
* ```
|
|
1265
|
+
*
|
|
1266
|
+
* Keyboard: Tab to dismiss button, Enter/Space to dismiss.
|
|
1267
|
+
*/
|
|
1268
|
+
|
|
1269
|
+
type AlertType = 'info' | 'success' | 'warning' | 'error';
|
|
1270
|
+
interface AlertProps extends React__default.HTMLAttributes<HTMLDivElement> {
|
|
1271
|
+
/** Alert variant */
|
|
1272
|
+
type?: AlertType;
|
|
1273
|
+
/** Optional title displayed prominently */
|
|
1274
|
+
title?: string;
|
|
1275
|
+
/** Whether the alert can be dismissed */
|
|
1276
|
+
dismissible?: boolean;
|
|
1277
|
+
/** Called when the alert is dismissed */
|
|
1278
|
+
onDismiss?: () => void;
|
|
1279
|
+
/** Remove default styles */
|
|
1280
|
+
unstyled?: boolean;
|
|
1281
|
+
}
|
|
1282
|
+
declare const Alert: React__default.ForwardRefExoticComponent<AlertProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
1283
|
+
|
|
1284
|
+
export { Alert, type AlertProps, type AlertType, Button, type ButtonProps, CheckboxCompound as Checkbox, Checkbox as CheckboxBase, CheckboxGroup, type CheckboxGroupContextValue, type CheckboxGroupProps, CheckboxIndicator, type CheckboxIndicatorProps, type CheckboxProps, InputCompound as Input, Input as InputBase, type InputContextValue, InputError, type InputErrorProps, InputField, type InputFieldProps, InputHint, type InputHintProps, InputLabel, type InputLabelProps, type InputProps, ListboxCompound as Listbox, Listbox as ListboxBase, type ListboxContextValue, ListboxGroup, type ListboxGroupProps, ListboxOption, type ListboxOptionProps, type ListboxProps, Radio, RadioGroupCompound as RadioGroup, RadioGroup as RadioGroupBase, type RadioGroupContextValue, type RadioGroupProps, type RadioProps, type RovingTabindexItem, SelectCompound as Select, Select as SelectBase, SelectListbox, type SelectListboxProps, SelectOptionItem, type SelectOptionProps, type SelectOption as SelectOptionType, type SelectProps, SelectTrigger, type SelectTriggerProps, SkipLink, type SkipLinkProps, Switch, type SwitchProps, TextareaCompound as Textarea, Textarea as TextareaBase, type TextareaContextValue, TextareaError, type TextareaErrorProps, TextareaField, type TextareaFieldProps, TextareaHint, type TextareaHintProps, TextareaLabel, type TextareaLabelProps, type TextareaProps, type UseFocusTrapOptions, type UseRovingTabindexOptions, VisuallyHidden, type VisuallyHiddenProps, useAnnounceLoading, useAnnounceOnChange, useAnnouncer, useCheckboxGroupContext, useFocusControl, useFocusManager, useFocusNeighbor, useFocusReturn, useFocusTrap, useFocusTrapControls, useFocusVisible, useFocusWithin, useGridKeyboard, useId, useIdScope, useIds, useInputContext, useKeyPressed, useKeyboard, useListboxContext, useMenuKeyboard, useRadioGroupContext, useRovingTabindex, useRovingTabindexMap, useTabsKeyboard, useTextareaContext, useTypeAhead };
|