@strapi/ui-primitives 1.7.6 → 1.7.7

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.
@@ -0,0 +1 @@
1
+ export { composeEventHandlers } from '@radix-ui/primitive';
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),Rt=require("react"),T=require("@radix-ui/primitive"),A=require("@radix-ui/react-compose-refs"),ge=require("@radix-ui/react-context"),et=require("@radix-ui/react-dismissable-layer"),tt=require("@radix-ui/react-focus-guards"),ot=require("@radix-ui/react-focus-scope"),oe=require("@radix-ui/react-id"),Ne=require("@radix-ui/react-popper"),nt=require("@radix-ui/react-portal"),_=require("@radix-ui/react-primitive"),ie=require("@radix-ui/react-use-controllable-state"),k=require("@radix-ui/react-use-layout-effect"),rt=require("aria-hidden"),Vt=require("react-dom"),st=require("react-remove-scroll"),Te=require("@radix-ui/react-slot"),Je=require("@radix-ui/number"),_t=require("@radix-ui/react-collection"),Nt=require("@radix-ui/react-direction"),lt=require("@radix-ui/react-use-callback-ref"),At=require("@radix-ui/react-use-previous"),Ot=require("@radix-ui/react-visually-hidden");function Ae(n){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(l,e,t.get?t:{enumerable:!0,get:()=>n[e]})}}return l.default=n,Object.freeze(l)}const s=Ae(Rt),re=Ae(Ne),Oe=Ae(Vt);let Ie=new Map;function Mt(n,l){let e=n+(l?Object.entries(l).sort((o,r)=>o[0]<r[0]?-1:1).join():"");if(Ie.has(e))return Ie.get(e);let t=new Intl.Collator(n,l);return Ie.set(e,t),t}function Me(n,l){let e=Mt(n,{usage:"search",...l});return{startsWith(t,o){return o.length===0?!0:(t=t.normalize("NFC"),o=o.normalize("NFC"),e.compare(t.slice(0,o.length),o)===0)},endsWith(t,o){return o.length===0?!0:(t=t.normalize("NFC"),o=o.normalize("NFC"),e.compare(t.slice(-o.length),o)===0)},contains(t,o){if(o.length===0)return!0;t=t.normalize("NFC"),o=o.normalize("NFC");let r=0,i=o.length;for(;r+i<=t.length;r++){let c=t.slice(r,r+i);if(e.compare(o,c)===0)return!0}return!1}}}const jt=n=>{const l=s.useRef();return s.useEffect(()=>{l.current=n}),l.current};function Dt(n){const l=`${n}CollectionProvider`,[e,t]=ge.createContextScope(l),[o,r]=e(l,{collectionRef:{current:null},itemMap:new Map,listeners:new Set}),i=d=>{const{scope:m,children:b}=d,g=s.useRef(null),v=s.useRef(new Map).current,h=s.useRef(new Set).current;return u.jsx(o,{scope:m,itemMap:v,collectionRef:g,listeners:h,children:b})};i.displayName=l;const c=`${n}CollectionSlot`,a=s.forwardRef((d,m)=>{const{scope:b,children:g}=d,v=r(c,b),h=A.useComposedRefs(m,v.collectionRef);return u.jsx(Te.Slot,{ref:h,children:g})});a.displayName=c;const x=`${n}CollectionItemSlot`,p="data-radix-collection-item",C=s.forwardRef((d,m)=>{const{scope:b,children:g,...v}=d,h=s.useRef(null),y=A.useComposedRefs(m,h),N=r(x,b);return s.useEffect(()=>{const E=Array.from(N.itemMap.values());return N.itemMap.set(h,{ref:h,...v}),N.listeners.forEach(O=>O(Array.from(N.itemMap.values()),E)),()=>{const O=Array.from(N.itemMap.values());N.itemMap.delete(h),N.listeners.forEach(P=>P(Array.from(N.itemMap.values()),O))}}),u.jsx(Te.Slot,{[p]:"",ref:y,children:g})});C.displayName=x;function f(d){const m=r(`${n}CollectionConsumer`,d),b=s.useCallback(()=>{const v=m.collectionRef.current;if(!v)return[];const h=Array.from(v.querySelectorAll(`[${p}]`));return Array.from(m.itemMap.values()).sort((E,O)=>h.indexOf(E.ref.current)-h.indexOf(O.ref.current))},[m.collectionRef,m.itemMap]),g=s.useCallback(v=>(m.listeners.add(v),()=>m.listeners.delete(v)),[m.listeners]);return{getItems:b,subscribe:g}}return[{Provider:i,Slot:a,ItemSlot:C},f,t]}const Lt=[" ","Enter","ArrowUp","ArrowDown"],Ft=["Enter"],Qe=n=>!!(n.length===1&&n.match(/\S| /)),ct="Combobox",[fe,ve]=Dt(ct),[kt,z]=ge.createContext(ct),Ht=({children:n})=>u.jsx(re.Root,{children:u.jsx(fe.Provider,{scope:void 0,children:n})}),Bt=n=>{const{allowCustomValue:l=!1,autocomplete:e="none",children:t,open:o,defaultOpen:r,onOpenChange:i,value:c,defaultValue:a,onValueChange:x,disabled:p,required:C=!1,locale:f="en-EN",onTextValueChange:d,textValue:m,defaultTextValue:b,filterValue:g,defaultFilterValue:v,onFilterValueChange:h}=n,[y,N]=s.useState(null),[E,O]=s.useState(null),[P,D]=s.useState(null),[H,K]=s.useState(null),[B=!1,M]=ie.useControllableState({prop:o,defaultProp:r,onChange:i}),[L,F]=ie.useControllableState({prop:c,defaultProp:a,onChange:x}),[U,$]=ie.useControllableState({prop:m,defaultProp:b,onChange:d}),[Y,X]=ie.useControllableState({prop:g,defaultProp:v,onChange:h}),q=oe.useId(),ue=s.useCallback((se,le)=>{const de=le.map(w=>w.ref.current),[Z,...ce]=de,[Q]=ce.slice(-1),S=H;for(const w of se){if(w===S)return;if(w?.scrollIntoView({block:"nearest"}),w===Z&&E&&(E.scrollTop=0),w===Q&&E&&(E.scrollTop=E.scrollHeight),K(w),e==="both"){const j=le.find(I=>I.ref.current===w);j&&$(j.textValue)}if(w!==S)return}},[e,$,E,H]);return s.useEffect(()=>{e!=="both"&&K(null)},[U,e]),s.useEffect(()=>{if(P&&y)return rt.hideOthers([P,y])},[P,y]),u.jsx(Ht,{children:u.jsx(kt,{allowCustomValue:l,autocomplete:e,required:C,trigger:y,onTriggerChange:N,contentId:q,value:L,onValueChange:F,open:B,onOpenChange:M,disabled:p,locale:f,focusFirst:ue,textValue:U,onTextValueChange:$,onViewportChange:O,onContentChange:D,visuallyFocussedItem:H,filterValue:Y,onFilterValueChange:X,onVisuallyFocussedItemChange:K,children:t})})},Ut="ComboboxTrigger",$t=s.forwardRef((n,l)=>{const{...e}=n,t=z(Ut),o=()=>{t.disabled||t.onOpenChange(!0)};return u.jsx(re.Anchor,{asChild:!0,children:u.jsx(ot.FocusScope,{asChild:!0,trapped:t.open,onMountAutoFocus:r=>{r.preventDefault()},onUnmountAutoFocus:r=>{t.trigger?.focus({preventScroll:!0}),document.getSelection()?.empty(),r.preventDefault()},children:u.jsx("div",{ref:l,"data-disabled":t.disabled?"":void 0,...e,onClick:T.composeEventHandlers(e.onClick,()=>{t.trigger?.focus()}),onPointerDown:T.composeEventHandlers(e.onPointerDown,r=>{const i=r.target;i.hasPointerCapture(r.pointerId)&&i.releasePointerCapture(r.pointerId),(i.closest("button")??i.closest("div"))===r.currentTarget&&r.button===0&&r.ctrlKey===!1&&(o(),t.trigger?.focus())})})})})}),it="ComboboxInput",qt=s.forwardRef((n,l)=>{const e=z(it),t=s.useRef(null),{getItems:o}=ve(void 0),{startsWith:r}=Me(e.locale,{sensitivity:"base"}),i=e.disabled,c=A.useComposedRefs(t,l,e.onTriggerChange),a=()=>{i||e.onOpenChange(!0)},x=jt(e.filterValue);return k.useLayoutEffect(()=>{const p=setTimeout(()=>{if(e.textValue===""||e.textValue===void 0||e.filterValue===""||e.filterValue===void 0)return;const C=o().find(d=>d.type==="option"&&r(d.textValue,e.textValue)),f=Co(x??"",e.filterValue);C&&!e.visuallyFocussedItem&&f===e.filterValue.length&&t.current?.setSelectionRange(e.filterValue.length,e.textValue.length)});return()=>clearTimeout(p)},[e.textValue,e.filterValue,r,e.visuallyFocussedItem,o,x]),u.jsx("input",{type:"text",role:"combobox","aria-controls":e.contentId,"aria-expanded":e.open,"aria-required":e.required,"aria-autocomplete":e.autocomplete,"data-state":e.open?"open":"closed","aria-disabled":i,"aria-activedescendant":e.visuallyFocussedItem?.id,disabled:i,"data-disabled":i?"":void 0,"data-placeholder":e.textValue===void 0?"":void 0,value:e.textValue??"",...n,ref:c,onKeyDown:T.composeEventHandlers(n.onKeyDown,p=>{if(["ArrowUp","ArrowDown","Home","End"].includes(p.key))setTimeout(()=>{let f=o().filter(d=>!d.disabled).map(d=>d.ref.current);if(["ArrowUp","End"].includes(p.key)&&(f=f.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const d=e.visuallyFocussedItem??p.target;let m=f.indexOf(d);m===f.length-1&&(m=-1),f=f.slice(m+1)}if(["ArrowDown"].includes(p.key)&&e.autocomplete==="both"&&f.length>1){const[d,...m]=f,b=o().find(g=>g.ref.current===d).textValue;e.textValue===b&&(f=m)}e.focusFirst(f,o())}),p.preventDefault();else if(["Tab"].includes(p.key)&&e.open)p.preventDefault();else if(["Escape"].includes(p.key))e.open?e.onOpenChange(!1):(e.onValueChange(void 0),e.onTextValueChange("")),p.preventDefault();else if(Ft.includes(p.key)){if(e.visuallyFocussedItem){const C=o().find(f=>f.ref.current===e.visuallyFocussedItem);C&&(e.onValueChange(C.value),e.onTextValueChange(C.textValue),e.autocomplete==="both"&&e.onFilterValueChange(C.textValue),C.ref.current?.click())}else{const C=o().find(f=>f.type==="option"&&!f.disabled&&f.textValue===e.textValue);C&&(e.onValueChange(C.value),e.onTextValueChange(C.textValue),e.autocomplete==="both"&&e.onFilterValueChange(C.textValue),C.ref.current?.click())}e.onOpenChange(!1),p.preventDefault()}else e.onVisuallyFocussedItemChange(null)}),onChange:T.composeEventHandlers(n.onChange,p=>{e.onTextValueChange(p.currentTarget.value),e.autocomplete==="both"&&e.onFilterValueChange(p.currentTarget.value)}),onKeyUp:T.composeEventHandlers(n.onKeyUp,p=>{!e.open&&(Qe(p.key)||["ArrowUp","ArrowDown","Home","End","Backspace"].includes(p.key))&&a(),setTimeout(()=>{if(e.autocomplete==="both"&&Qe(p.key)&&e.filterValue!==void 0){const C=e.filterValue,f=o().find(d=>r(d.textValue,C));f&&e.onTextValueChange(f.textValue)}})}),onBlur:T.composeEventHandlers(n.onBlur,()=>{e.onVisuallyFocussedItemChange(null);const[p]=o().filter(f=>f.textValue===e.textValue&&f.type==="option");if(e.allowCustomValue){p&&(e.onValueChange(p.value),e.autocomplete==="both"&&e.onFilterValueChange(p.textValue));return}const[C]=o().filter(f=>f.value===e.value&&f.type==="option");p?e.onValueChange(p.value):C&&e.textValue!==""?(e.onTextValueChange(C.textValue),e.autocomplete==="both"&&e.onFilterValueChange(C.textValue)):(e.onValueChange(void 0),e.onTextValueChange(""))})})}),Kt=s.forwardRef((n,l)=>{const{children:e,...t}=n,o=z(it),r=o.disabled,i=()=>{r||(o.onOpenChange(!0),o.trigger?.focus())};return u.jsx(_.Primitive.button,{"aria-hidden":!0,type:"button","aria-disabled":r,"aria-controls":o.contentId,"aria-expanded":o.open,disabled:r,"data-disabled":r?"":void 0,...t,tabIndex:-1,ref:l,onClick:T.composeEventHandlers(t.onClick,()=>{o.trigger?.focus()}),onPointerDown:T.composeEventHandlers(t.onPointerDown,c=>{c.button===0&&c.ctrlKey===!1&&(i(),c.preventDefault())}),onKeyDown:T.composeEventHandlers(t.onKeyDown,c=>{Lt.includes(c.key)&&(i(),c.preventDefault())}),children:e||"▼"})}),Wt="ComboboxPortal",at=n=>u.jsx(nt.Portal,{asChild:!0,...n});at.displayName=Wt;const ut="ComboboxContent",zt=s.forwardRef((n,l)=>{const e=z(ut),[t,o]=s.useState();if(k.useLayoutEffect(()=>{o(new DocumentFragment)},[]),!e.open){const r=t;return r?Oe.createPortal(u.jsx(fe.Slot,{scope:void 0,children:u.jsx("div",{children:n.children})}),r):null}return u.jsx(Yt,{...n,ref:l})}),Gt=10,Yt=s.forwardRef((n,l)=>{const{onEscapeKeyDown:e,onPointerDownOutside:t,...o}=n,r=z(ut),i=A.useComposedRefs(l,a=>r.onContentChange(a)),{onOpenChange:c}=r;return tt.useFocusGuards(),s.useEffect(()=>{const a=()=>{c(!1)};return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[c]),u.jsx(st.RemoveScroll,{allowPinchZoom:!0,children:u.jsx(et.DismissableLayer,{asChild:!0,onEscapeKeyDown:e,onPointerDownOutside:t,onFocusOutside:a=>{a.preventDefault()},onDismiss:()=>{r.onOpenChange(!1),r.trigger?.focus({preventScroll:!0})},children:u.jsx(Xt,{role:"listbox",id:r.contentId,"data-state":r.open?"open":"closed",onContextMenu:a=>a.preventDefault(),...o,ref:i,style:{display:"flex",flexDirection:"column",outline:"none",...o.style}})})})}),Xt=s.forwardRef((n,l)=>{const{align:e="start",collisionPadding:t=Gt,...o}=n;return u.jsx(re.Content,{...o,ref:l,align:e,collisionPadding:t,style:{boxSizing:"border-box",...o.style,"--radix-combobox-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-combobox-content-available-width":"var(--radix-popper-available-width)","--radix-combobox-content-available-height":"var(--radix-popper-available-height)","--radix-combobox-trigger-width":"var(--radix-popper-anchor-width)","--radix-combobox-trigger-height":"var(--radix-popper-anchor-height)"}})}),Zt="ComboboxViewport",Jt=s.forwardRef((n,l)=>{const e=z(Zt),t=A.useComposedRefs(l,e.onViewportChange);return u.jsxs(u.Fragment,{children:[u.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-combobox-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-combobox-viewport]::-webkit-scrollbar{display:none}"}}),u.jsx(fe.Slot,{scope:void 0,children:u.jsx(_.Primitive.div,{"data-radix-combobox-viewport":"",role:"presentation",...n,ref:t,style:{position:"relative",flex:1,overflow:"auto",...n.style}})})]})}),dt="ComboboxItem",[Qt,pt]=ge.createContext(dt),ft=s.forwardRef((n,l)=>{const{value:e,disabled:t=!1,textValue:o,...r}=n,i=s.useRef(null),c=A.useComposedRefs(l,i),{getItems:a}=ve(void 0),{onTextValueChange:x,textValue:p,visuallyFocussedItem:C,...f}=z(dt),d=oe.useId(),[m,b]=s.useState(o??""),g=s.useMemo(()=>C===a().find(O=>O.ref.current===i.current)?.ref.current,[a,C]),v=f.value===e,h=()=>{t||(f.onValueChange(e),x(m),f.onOpenChange(!1),f.autocomplete==="both"&&f.onFilterValueChange(m),f.trigger?.focus({preventScroll:!0}))},{startsWith:y}=Me(f.locale,{sensitivity:"base"}),N=s.useCallback(O=>{b(P=>P||(O?.textContent??"").trim())},[]);s.useEffect(()=>{v&&p===void 0&&m!==""&&x(m)},[m,v,p,x]);const E=oe.useId();return f.autocomplete==="list"&&m&&p&&!y(m,p)||f.autocomplete==="both"&&m&&f.filterValue&&!y(m,f.filterValue)?null:u.jsx(Qt,{textId:d,onTextValueChange:N,isSelected:v,children:u.jsx(fe.ItemSlot,{scope:void 0,value:e,textValue:m,disabled:t,type:"option",children:u.jsx(_.Primitive.div,{role:"option","aria-labelledby":d,"data-highlighted":g?"":void 0,"aria-selected":v&&g,"data-state":v?"checked":"unchecked","aria-disabled":t||void 0,"data-disabled":t?"":void 0,tabIndex:t?void 0:-1,...r,id:E,ref:c,onPointerUp:T.composeEventHandlers(r.onPointerUp,h)})})})}),eo="ComboboxItemText",to=s.forwardRef((n,l)=>{const{className:e,style:t,...o}=n,r=pt(eo),i=A.useComposedRefs(l,r.onTextValueChange);return u.jsx(_.Primitive.span,{id:r.textId,...o,ref:i})}),oo="ComboboxItemIndicator",no=s.forwardRef((n,l)=>{const{isSelected:e}=pt(oo);return e?u.jsx(_.Primitive.span,{"aria-hidden":!0,...n,ref:l}):null}),mt="ComboboxNoValueFound",ro=s.forwardRef((n,l)=>{const{textValue:e="",locale:t}=z(mt),[o,r]=s.useState([]),{subscribe:i}=ve(void 0),{startsWith:c}=Me(t,{sensitivity:"base"});return s.useEffect(()=>{const a=i(x=>{r(x)});return()=>{a()}},[i]),o.some(a=>c(a.textValue,e))?null:u.jsx(_.Primitive.div,{...n,ref:l})}),so=s.forwardRef((n,l)=>{const{disabled:e=!1,...t}=n,o=z(mt),{textValue:r,visuallyFocussedItem:i}=o,{getItems:c,subscribe:a}=ve(void 0),x=s.useRef(null),[p,C]=s.useState(!1),f=A.useComposedRefs(l,x),d=s.useMemo(()=>i===c().find(g=>g.ref.current===x.current)?.ref.current,[c,i]),m=oe.useId(),b=()=>{!e&&r&&(o.onValueChange(r),o.onTextValueChange(r),o.onOpenChange(!1),o.autocomplete==="both"&&o.onFilterValueChange(r),o.trigger?.focus({preventScroll:!0}))};return k.useLayoutEffect(()=>{const g=a(v=>{C(!v.some(h=>h.textValue===r&&h.type!=="create"))});return c().length===0&&C(!0),()=>{g()}},[r,a,c]),!r||!p?null:u.jsx(fe.ItemSlot,{scope:void 0,value:r??"",textValue:r??"",disabled:e,type:"create",children:u.jsx(_.Primitive.div,{role:"option",tabIndex:e?void 0:-1,"aria-disabled":e||void 0,"data-disabled":e?"":void 0,"data-highlighted":d?"":void 0,...t,id:m,ref:f,onPointerUp:T.composeEventHandlers(t.onPointerUp,b)})})}),lo=Bt,co=$t,io=qt,ao=Kt,uo=at,po=zt,fo=Jt,mo=ft,ho=to,xo=no,go=ro,vo=so;function Co(n,l){const e=Math.min(n.length,l.length);for(let t=0;t<e;t++)if(n[t]!==l[t])return t;return e}const bo=Object.freeze(Object.defineProperty({__proto__:null,ComboboxItem:ft,Content:po,CreateItem:vo,Icon:ao,Item:mo,ItemIndicator:xo,ItemText:ho,NoValueFound:go,Portal:uo,Root:lo,TextInput:io,Trigger:co,Viewport:fo},Symbol.toStringTag,{value:"Module"})),So=[" ","Enter","ArrowUp","ArrowDown"],yo=[" ","Enter"],me="Select",[Ce,he,wo]=_t.createCollection(me),[ae,Io]=ge.createContextScope(me,[wo,Ne.createPopperScope]),be=Ne.createPopperScope(),[To,G]=ae(me),[Eo,Po]=ae(me),je=n=>{const{__scopeSelect:l,children:e,open:t,defaultOpen:o,onOpenChange:r,value:i,defaultValue:c,onValueChange:a,dir:x,disabled:p,required:C,multi:f=!1}=n,d=be(l),[m,b]=s.useState(null),[g,v]=s.useState(null),[h,y]=s.useState(!1),N=Nt.useDirection(x),[E=!1,O]=ie.useControllableState({prop:t,defaultProp:o,onChange:r}),[P,D]=ie.useControllableState({prop:i,defaultProp:c,onChange(M){a&&(Array.isArray(M),a(M))}}),H=s.useRef(null),[K,B]=s.useState(new Set);return u.jsx(re.Root,{...d,children:u.jsx(To,{required:C,scope:l,trigger:m,onTriggerChange:b,valueNode:g,onValueNodeChange:v,valueNodeHasChildren:h,onValueNodeHasChildrenChange:y,contentId:oe.useId(),value:P,onValueChange:D,open:E,onOpenChange:O,dir:N,triggerPointerDownPosRef:H,disabled:p,multi:f,children:u.jsx(Ce.Provider,{scope:l,children:u.jsx(Eo,{scope:n.__scopeSelect,onNativeOptionAdd:s.useCallback(M=>{B(L=>new Set(L).add(M))},[]),onNativeOptionRemove:s.useCallback(M=>{B(L=>{const F=new Set(L);return F.delete(M),F})},[]),children:e})})})})};je.displayName=me;const ht="SelectTrigger",De=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=be(e),r=G(ht,e),i=r.disabled,c=A.useComposedRefs(l,r.onTriggerChange),a=he(e),[x,p,C]=Tt(d=>{const m=a().filter(v=>!v.disabled),b=m.find(v=>v.value===r.value),g=Et(m,d,b);if(g!==void 0&&!Array.isArray(g.value)){const v=r.multi?[g.value]:g.value;r.onValueChange(v)}}),f=()=>{i||(r.onOpenChange(!0),C())};return u.jsx(re.Anchor,{asChild:!0,...o,children:u.jsx(_.Primitive.div,{role:"combobox","aria-controls":r.contentId,"aria-expanded":r.open,"aria-required":r.required,"aria-autocomplete":"none",dir:r.dir,"data-state":r.open?"open":"closed","data-disabled":i?"":void 0,"data-placeholder":r.value===void 0?"":void 0,tabIndex:i?void 0:0,...t,ref:c,onClick:T.composeEventHandlers(t.onClick,d=>{d.currentTarget.focus()}),onPointerDown:T.composeEventHandlers(t.onPointerDown,d=>{const m=d.target;m.hasPointerCapture(d.pointerId)&&m.releasePointerCapture(d.pointerId),(m.closest("button")??m.closest("div"))===d.currentTarget&&d.button===0&&d.ctrlKey===!1&&(f(),r.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)},d.preventDefault())}),onKeyDown:T.composeEventHandlers(t.onKeyDown,d=>{const m=x.current!=="",b=d.ctrlKey||d.altKey||d.metaKey,g=d.target;(g.closest("button")??g.closest("div"))===d.currentTarget&&(!b&&d.key.length===1&&p(d.key),!(m&&d.key===" ")&&So.includes(d.key)&&(f(),d.preventDefault()))})})})});De.displayName=ht;const xt="SelectValue",Le=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,placeholder:o,...r}=n,i=G(xt,e),{onValueNodeHasChildrenChange:c}=i,a=t!==void 0,x=A.useComposedRefs(l,i.onValueNodeChange),[p,C]=s.useState([]),f=he(e);k.useLayoutEffect(()=>{c(a)},[c,a]),s.useLayoutEffect(()=>{if(Array.isArray(i.value)&&p.length!==i.value.length){const m=setTimeout(()=>{const b=f().filter(g=>Array.isArray(g.value)?!1:i.value?.includes(g.value));C(b)});return()=>{clearTimeout(m)}}},[i.value,f,p]);let d;if((i.value===void 0||i.value.length===0)&&o!==void 0)d=u.jsx("span",{children:o});else if(typeof t=="function")if(Array.isArray(i.value)){const m=i.value.map(b=>{const g=p.find(v=>v.value===b);return g?t({value:b,textValue:g?.textValue}):null});d=m.every(b=>b===null)?o:m}else d=t(i.value);else d=t;return u.jsx(_.Primitive.span,{...r,ref:x,children:d||null})});Le.displayName=xt;const Ro="SelectIcon",Fe=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,...o}=n;return u.jsx(_.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t||"▼"})});Fe.displayName=Ro;const Vo="SelectPortal",ke=n=>u.jsx(nt.Portal,{asChild:!0,...n});ke.displayName=Vo;const ne="SelectContent",He=s.forwardRef((n,l)=>{const e=G(ne,n.__scopeSelect),[t,o]=s.useState();if(k.useLayoutEffect(()=>{o(new DocumentFragment)},[]),!e.open){const r=t;return r?Oe.createPortal(u.jsx(gt,{scope:n.__scopeSelect,children:u.jsx(Ce.Slot,{scope:n.__scopeSelect,children:u.jsx("div",{children:n.children})})}),r):null}return u.jsx(vt,{...n,ref:l})});He.displayName=ne;const W=10,[gt,J]=ae(ne),_o="SelectContentImpl",vt=s.forwardRef((n,l)=>{const{__scopeSelect:e,position:t="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:r,onPointerDownOutside:i,side:c,sideOffset:a,align:x,alignOffset:p,arrowPadding:C,collisionBoundary:f,collisionPadding:d,sticky:m,hideWhenDetached:b,avoidCollisions:g,...v}=n,h=G(ne,e),[y,N]=s.useState(null),[E,O]=s.useState(null),P=A.useComposedRefs(l,S=>N(S)),[D,H]=s.useState(null),[K,B]=s.useState(null),M=he(e),[L,F]=s.useState(!1),U=s.useRef(!1);s.useEffect(()=>{if(y)return rt.hideOthers(y)},[y]),tt.useFocusGuards();const $=s.useCallback(S=>{const[w,...j]=M().map(V=>V.ref.current),[I]=j.slice(-1),R=document.activeElement;for(const V of S)if(V===R||(V?.scrollIntoView({block:"nearest"}),V===w&&E&&(E.scrollTop=0),V===I&&E&&(E.scrollTop=E.scrollHeight),V?.focus(),document.activeElement!==R))return},[M,E]),Y=s.useCallback(()=>$([D,y]),[$,D,y]);s.useEffect(()=>{L&&Y()},[L,Y]);const{onOpenChange:X,triggerPointerDownPosRef:q}=h;s.useEffect(()=>{if(y){let S={x:0,y:0};const w=I=>{S={x:Math.abs(Math.round(I.pageX)-(q.current?.x??0)),y:Math.abs(Math.round(I.pageY)-(q.current?.y??0))}},j=I=>{S.x<=10&&S.y<=10?I.preventDefault():y.contains(I.target)||X(!1),document.removeEventListener("pointermove",w),q.current=null};return q.current!==null&&(document.addEventListener("pointermove",w),document.addEventListener("pointerup",j,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",w),document.removeEventListener("pointerup",j,{capture:!0})}}},[y,X,q]),s.useEffect(()=>{const S=()=>X(!1);return window.addEventListener("blur",S),window.addEventListener("resize",S),()=>{window.removeEventListener("blur",S),window.removeEventListener("resize",S)}},[X]);const[ue,se]=Tt(S=>{const w=M().filter(R=>!R.disabled),j=w.find(R=>R.ref.current===document.activeElement),I=Et(w,S,j);I&&setTimeout(()=>I.ref.current.focus())}),le=s.useCallback((S,w,j)=>{const I=!U.current&&!j;(h.value!==void 0&&h.value===w||I)&&(H(S),I&&(U.current=!0))},[h.value]),de=s.useCallback(()=>y?.focus(),[y]),Z=s.useCallback((S,w,j)=>{const I=!U.current&&!j;(h.value!==void 0&&(Array.isArray(w)?w.every(V=>h.value?.includes(V)):h.value===w)||I)&&B(S)},[h.value]),ce=t==="popper"?Ee:Ct,Q=ce===Ee?{side:c,sideOffset:a,align:x,alignOffset:p,arrowPadding:C,collisionBoundary:f,collisionPadding:d,sticky:m,hideWhenDetached:b,avoidCollisions:g}:{};return u.jsx(gt,{scope:e,content:y,viewport:E,onViewportChange:O,itemRefCallback:le,selectedItem:D,onItemLeave:de,itemTextRefCallback:Z,focusSelectedItem:Y,selectedItemText:K,position:t,isPositioned:L,searchRef:ue,children:u.jsx(st.RemoveScroll,{as:Te.Slot,allowPinchZoom:!0,children:u.jsx(ot.FocusScope,{asChild:!0,trapped:h.open,onMountAutoFocus:S=>{S.preventDefault()},onUnmountAutoFocus:T.composeEventHandlers(o,S=>{h.trigger?.focus({preventScroll:!0}),document.getSelection()?.empty(),S.preventDefault()}),children:u.jsx(et.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:S=>S.preventDefault(),onDismiss:()=>h.onOpenChange(!1),children:u.jsx(ce,{role:"listbox",id:h.contentId,"data-state":h.open?"open":"closed","aria-multiselectable":h.multi?"true":void 0,dir:h.dir,onContextMenu:S=>S.preventDefault(),...v,...Q,onPlaced:()=>F(!0),ref:P,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:T.composeEventHandlers(v.onKeyDown,S=>{const w=S.ctrlKey||S.altKey||S.metaKey;if(S.key==="Tab"&&S.preventDefault(),!w&&S.key.length===1&&se(S.key),["ArrowUp","ArrowDown","Home","End"].includes(S.key)){let I=M().filter(R=>!R.disabled).map(R=>R.ref.current);if(["ArrowUp","End"].includes(S.key)&&(I=I.slice().reverse()),["ArrowUp","ArrowDown"].includes(S.key)){const R=S.target,V=I.indexOf(R);I=I.slice(V+1)}setTimeout(()=>$(I)),S.preventDefault()}})})})})})})});vt.displayName=_o;const No="SelectItemAlignedPosition",Ct=s.forwardRef((n,l)=>{const{__scopeSelect:e,onPlaced:t,...o}=n,r=G(ne,e),i=J(ne,e),[c,a]=s.useState(null),[x,p]=s.useState(null),C=A.useComposedRefs(l,P=>p(P)),f=he(e),d=s.useRef(!1),m=s.useRef(!0),{viewport:b,selectedItem:g,selectedItemText:v,focusSelectedItem:h}=i,y=s.useCallback(()=>{if(r.trigger&&r.valueNode&&c&&x&&b&&g&&v){const P=r.trigger.getBoundingClientRect(),D=x.getBoundingClientRect(),H=r.valueNode.getBoundingClientRect(),K=v.getBoundingClientRect();if(r.dir!=="rtl"){const R=K.left-D.left,V=H.left-R,ee=P.left-V,te=P.width+ee,Se=Math.max(te,D.width),ye=window.innerWidth-W,we=Je.clamp(V,[W,ye-Se]);c.style.minWidth=`${te}px`,c.style.left=`${we}px`}else{const R=D.right-K.right,V=window.innerWidth-H.right-R,ee=window.innerWidth-P.right-V,te=P.width+ee,Se=Math.max(te,D.width),ye=window.innerWidth-W,we=Je.clamp(V,[W,ye-Se]);c.style.minWidth=`${te}px`,c.style.right=`${we}px`}const B=f(),M=window.innerHeight-W*2,L=b.scrollHeight,F=window.getComputedStyle(x),U=parseInt(F.borderTopWidth,10),$=parseInt(F.paddingTop,10),Y=parseInt(F.borderBottomWidth,10),X=parseInt(F.paddingBottom,10),q=U+$+L+X+Y,ue=Math.min(g.offsetHeight*5,q),se=window.getComputedStyle(b),le=parseInt(se.paddingTop,10),de=parseInt(se.paddingBottom,10),Z=P.top+P.height/2-W,ce=M-Z,Q=g.offsetHeight/2,S=g.offsetTop+Q,w=U+$+S,j=q-w;if(w<=Z){const R=g===B[B.length-1].ref.current;c.style.bottom="0px";const V=x.clientHeight-b.offsetTop-b.offsetHeight,ee=Math.max(ce,Q+(R?de:0)+V+Y),te=w+ee;c.style.height=`${te}px`}else{const R=g===B[0].ref.current;c.style.top="0px";const ee=Math.max(Z,U+b.offsetTop+(R?le:0)+Q)+j;c.style.height=`${ee}px`,b.scrollTop=w-Z+b.offsetTop}c.style.margin=`${W}px 0`,c.style.minHeight=`${ue}px`,c.style.maxHeight=`${M}px`,t?.(),requestAnimationFrame(()=>d.current=!0)}},[f,r.trigger,r.valueNode,c,x,b,g,v,r.dir,t]);k.useLayoutEffect(()=>y(),[y]);const[N,E]=s.useState();k.useLayoutEffect(()=>{x&&E(window.getComputedStyle(x).zIndex)},[x]);const O=s.useCallback(P=>{P&&m.current===!0&&(y(),h?.(),m.current=!1)},[y,h]);return u.jsx(Oo,{scope:e,contentWrapper:c,shouldExpandOnScrollRef:d,onScrollButtonChange:O,children:u.jsx("div",{ref:a,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:u.jsx(_.Primitive.div,{...o,ref:C,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});Ct.displayName=No;const Ao="SelectPopperPosition",Ee=s.forwardRef((n,l)=>{const{__scopeSelect:e,align:t="start",collisionPadding:o=W,...r}=n,i=be(e);return u.jsx(re.Content,{...i,...r,ref:l,align:t,collisionPadding:o,style:{boxSizing:"border-box",...r.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Ee.displayName=Ao;const[Oo,Be]=ae(ne,{}),Pe="SelectViewport",Ue=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=J(Pe,e),r=Be(Pe,e),i=A.useComposedRefs(l,o.onViewportChange),c=s.useRef(0);return u.jsxs(u.Fragment,{children:[u.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"}}),u.jsx(Ce.Slot,{scope:e,children:u.jsx(_.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...t,ref:i,style:{position:"relative",flex:1,overflow:"auto",...t.style},onScroll:T.composeEventHandlers(t.onScroll,a=>{const x=a.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:C}=r;if(C?.current&&p){const f=Math.abs(c.current-x.scrollTop);if(f>0){const d=window.innerHeight-W*2,m=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),g=Math.max(m,b);if(g<d){const v=g+f,h=Math.min(d,v),y=v-h;p.style.height=`${h}px`,p.style.bottom==="0px"&&(x.scrollTop=y>0?y:0,p.style.justifyContent="flex-end")}}}c.current=x.scrollTop})})})]})});Ue.displayName=Pe;const bt="SelectGroup",[Mo,jo]=ae(bt),$e=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=oe.useId();return u.jsx(Mo,{scope:e,id:o,children:u.jsx(_.Primitive.div,{role:"group","aria-labelledby":o,...t,ref:l})})});$e.displayName=bt;const St="SelectLabel",qe=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=jo(St,e);return u.jsx(_.Primitive.div,{id:o.id,...t,ref:l})});qe.displayName=St;const xe="SelectItem",[Do,yt]=ae(xe),Ke=s.forwardRef((n,l)=>{const{__scopeSelect:e,value:t,disabled:o=!1,textValue:r,...i}=n,c=G(xe,e),a=J(xe,e),x=typeof t=="string"?Array.isArray(c.value)?c.value.includes(t):c.value===t:t.every(h=>c.value?.includes(h)),p=Array.isArray(c.value)&&Array.isArray(t)&&t.some(h=>c.value?.includes(h)),[C,f]=s.useState(r??""),[d,m]=s.useState(!1),b=A.useComposedRefs(l,h=>a.itemRefCallback?.(h,t,o)),g=oe.useId(),v=()=>{if(!o){let h=c.multi&&typeof t=="string"?[t]:t;p&&!x?c.onValueChange(h):Array.isArray(c.value)&&(h=Pt(t,c.value)),c.onValueChange(h),c.multi||c.onOpenChange(!1)}};if(!c.multi&&Array.isArray(t))throw new Error("You can only pass an array of values in multi selects");return u.jsx(Do,{scope:e,value:t,disabled:o,textId:g,isSelected:x,isIntermediate:p,onItemTextChange:s.useCallback(h=>{f(y=>y||(h?.textContent??"").trim())},[]),children:u.jsx(Ce.ItemSlot,{scope:e,value:t,disabled:o,textValue:C,children:u.jsx(_.Primitive.div,{role:"option","aria-labelledby":g,"data-highlighted":d?"":void 0,"aria-selected":c.multi?void 0:x&&d,"aria-checked":c.multi?x:void 0,"data-state":x?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:b,onFocus:T.composeEventHandlers(i.onFocus,()=>m(!0)),onBlur:T.composeEventHandlers(i.onBlur,()=>m(!1)),onPointerUp:T.composeEventHandlers(i.onPointerUp,v),onPointerMove:T.composeEventHandlers(i.onPointerMove,h=>{o?a.onItemLeave?.():h.currentTarget.focus({preventScroll:!0})}),onPointerLeave:T.composeEventHandlers(i.onPointerLeave,h=>{h.currentTarget===document.activeElement&&a.onItemLeave?.()}),onKeyDown:T.composeEventHandlers(i.onKeyDown,h=>{a.searchRef?.current!==""&&h.key===" "||(yo.includes(h.key)&&v(),h.key===" "&&h.preventDefault())})})})})});Ke.displayName=xe;const pe="SelectItemText",We=s.forwardRef((n,l)=>{const{__scopeSelect:e,className:t,style:o,...r}=n,i=G(pe,e),c=J(pe,e),a=yt(pe,e),x=Po(pe,e),[p,C]=s.useState(null),f=A.useComposedRefs(l,v=>C(v),a.onItemTextChange,v=>c.itemTextRefCallback?.(v,a.value,a.disabled)),d=p?.textContent,m=s.useMemo(()=>u.jsx("option",{value:a.value,disabled:a.disabled,children:d},Array.isArray(a.value)?a.value.join(";"):a.value),[a.disabled,a.value,d]),{onNativeOptionAdd:b,onNativeOptionRemove:g}=x;return k.useLayoutEffect(()=>(b(m),()=>g(m)),[b,g,m]),u.jsxs(u.Fragment,{children:[u.jsx(_.Primitive.span,{id:a.textId,...r,ref:f}),a.isSelected&&i.valueNode&&!i.valueNodeHasChildren?Oe.createPortal(r.children,i.valueNode):null]})});We.displayName=pe;const wt="SelectItemIndicator",ze=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,...o}=n,r=yt(wt,e);return typeof t=="function"?u.jsx(_.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t({isSelected:r.isSelected,isIntermediate:r.isIntermediate})}):r.isSelected?u.jsx(_.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t}):null});ze.displayName=wt;const Re="SelectScrollUpButton",Ge=s.forwardRef((n,l)=>{const e=J(Re,n.__scopeSelect),t=Be(Re,n.__scopeSelect),[o,r]=s.useState(!1),i=A.useComposedRefs(l,t.onScrollButtonChange);return k.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const c=e.viewport,a=()=>{const x=c.scrollTop>0;r(x)};return a(),c.addEventListener("scroll",a),()=>c.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),o?u.jsx(It,{...n,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:a}=e;c&&a&&(c.scrollTop-=a.offsetHeight)}}):null});Ge.displayName=Re;const Ve="SelectScrollDownButton",Ye=s.forwardRef((n,l)=>{const e=J(Ve,n.__scopeSelect),t=Be(Ve,n.__scopeSelect),[o,r]=s.useState(!1),i=A.useComposedRefs(l,t.onScrollButtonChange);return k.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const c=e.viewport,a=()=>{const x=c.scrollHeight-c.clientHeight,p=Math.ceil(c.scrollTop)<x;r(p)};return a(),c.addEventListener("scroll",a),()=>c.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),o?u.jsx(It,{...n,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:a}=e;c&&a&&(c.scrollTop+=a.offsetHeight)}}):null});Ye.displayName=Ve;const It=s.forwardRef((n,l)=>{const{__scopeSelect:e,onAutoScroll:t,...o}=n,r=J("SelectScrollButton",e),i=s.useRef(null),c=he(e),a=s.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return s.useEffect(()=>()=>a(),[a]),k.useLayoutEffect(()=>{c().find(p=>p.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),u.jsx(_.Primitive.div,{"aria-hidden":!0,...o,ref:l,style:{flexShrink:0,...o.style},onPointerMove:T.composeEventHandlers(o.onPointerMove,()=>{r.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(t,50))}),onPointerLeave:T.composeEventHandlers(o.onPointerLeave,()=>{a()})})}),Lo="SelectSeparator",Xe=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n;return u.jsx(_.Primitive.div,{"aria-hidden":!0,...t,ref:l})});Xe.displayName=Lo;const _e="SelectArrow",Ze=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=be(e),r=G(_e,e),i=J(_e,e);return r.open&&i.position==="popper"?u.jsx(re.Arrow,{...o,...t,ref:l}):null});Ze.displayName=_e;const Fo="BubbleSelect",ko=s.forwardRef((n,l)=>{const{value:e,...t}=n,o=s.useRef(null),r=A.useComposedRefs(l,o),i=At.usePrevious(e),c=G(Fo,void 0);s.useEffect(()=>{const x=o.current,p=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(p,"value").set;if(i!==e&&f){const d=new Event("change",{bubbles:!0});f.call(x,e),x.dispatchEvent(d)}},[i,e]);let a=e;return c.multi&&!Array.isArray(e)&&(a=[]),u.jsx(Ot.VisuallyHidden,{asChild:!0,children:u.jsx("select",{...t,multiple:c.multi?!0:void 0,ref:r,defaultValue:a})})});ko.displayName="BubbleSelect";function Tt(n){const l=lt.useCallbackRef(n),e=s.useRef(""),t=s.useRef(0),o=s.useCallback(i=>{const c=e.current+i;l(c),function a(x){e.current=x,window.clearTimeout(t.current),x!==""&&(t.current=window.setTimeout(()=>a(""),1e3))}(c)},[l]),r=s.useCallback(()=>{e.current="",window.clearTimeout(t.current)},[]);return s.useEffect(()=>()=>window.clearTimeout(t.current),[]),[e,o,r]}function Et(n,l,e){const o=l.length>1&&Array.from(l).every(x=>x===l[0])?l[0]:l,r=e?n.indexOf(e):-1;let i=Ho(n,Math.max(r,0));o.length===1&&(i=i.filter(x=>x!==e));const a=i.find(x=>x.textValue.toLowerCase().startsWith(o.toLowerCase()));return a!==e?a:void 0}function Ho(n,l){return n.map((e,t)=>n[(l+t)%n.length])}const Pt=(n,l=[])=>{if(Array.isArray(n))return n.reduce((t,o)=>Pt(o,t),l);const e=l.indexOf(n);return e===-1?[...l,n]:[...l.slice(0,e),...l.slice(e+1)]},Bo=je,Uo=De,$o=Le,qo=Fe,Ko=ke,Wo=He,zo=Ue,Go=$e,Yo=qe,Xo=Ke,Zo=We,Jo=ze,Qo=Ge,en=Ye,tn=Xe,on=Ze,nn=Object.freeze(Object.defineProperty({__proto__:null,Arrow:on,Content:Wo,Group:Go,Icon:qo,Item:Xo,ItemIndicator:Jo,ItemText:Zo,Label:Yo,Portal:Ko,Root:Bo,ScrollDownButton:en,ScrollUpButton:Qo,Select:je,SelectArrow:Ze,SelectContent:He,SelectGroup:$e,SelectIcon:Fe,SelectItem:Ke,SelectItemIndicator:ze,SelectItemText:We,SelectLabel:qe,SelectPortal:ke,SelectScrollDownButton:Ye,SelectScrollUpButton:Ge,SelectSeparator:Xe,SelectTrigger:De,SelectValue:Le,SelectViewport:Ue,Separator:tn,Trigger:Uo,Value:$o,Viewport:zo,createSelectScope:Io},Symbol.toStringTag,{value:"Module"}));Object.defineProperty(exports,"useCallbackRef",{enumerable:!0,get:()=>lt.useCallbackRef});exports.Combobox=bo;exports.Select=nn;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),Rt=require("react"),I=require("@radix-ui/primitive"),A=require("@radix-ui/react-compose-refs"),ge=require("@radix-ui/react-context"),et=require("@radix-ui/react-dismissable-layer"),tt=require("@radix-ui/react-focus-guards"),ot=require("@radix-ui/react-focus-scope"),oe=require("@radix-ui/react-id"),Ne=require("@radix-ui/react-popper"),nt=require("@radix-ui/react-portal"),_=require("@radix-ui/react-primitive"),ie=require("@radix-ui/react-use-controllable-state"),k=require("@radix-ui/react-use-layout-effect"),rt=require("aria-hidden"),Vt=require("react-dom"),st=require("react-remove-scroll"),Ee=require("@radix-ui/react-slot"),Je=require("@radix-ui/number"),_t=require("@radix-ui/react-collection"),Nt=require("@radix-ui/react-direction"),lt=require("@radix-ui/react-use-callback-ref"),At=require("@radix-ui/react-use-previous"),Ot=require("@radix-ui/react-visually-hidden");function Ae(n){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const t=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(l,e,t.get?t:{enumerable:!0,get:()=>n[e]})}}return l.default=n,Object.freeze(l)}const s=Ae(Rt),re=Ae(Ne),Oe=Ae(Vt);let Ie=new Map;function Mt(n,l){let e=n+(l?Object.entries(l).sort((o,r)=>o[0]<r[0]?-1:1).join():"");if(Ie.has(e))return Ie.get(e);let t=new Intl.Collator(n,l);return Ie.set(e,t),t}function Me(n,l){let e=Mt(n,{usage:"search",...l});return{startsWith(t,o){return o.length===0?!0:(t=t.normalize("NFC"),o=o.normalize("NFC"),e.compare(t.slice(0,o.length),o)===0)},endsWith(t,o){return o.length===0?!0:(t=t.normalize("NFC"),o=o.normalize("NFC"),e.compare(t.slice(-o.length),o)===0)},contains(t,o){if(o.length===0)return!0;t=t.normalize("NFC"),o=o.normalize("NFC");let r=0,i=o.length;for(;r+i<=t.length;r++){let c=t.slice(r,r+i);if(e.compare(o,c)===0)return!0}return!1}}}const jt=n=>{const l=s.useRef();return s.useEffect(()=>{l.current=n}),l.current};function Dt(n){const l=`${n}CollectionProvider`,[e,t]=ge.createContextScope(l),[o,r]=e(l,{collectionRef:{current:null},itemMap:new Map,listeners:new Set}),i=d=>{const{scope:m,children:b}=d,g=s.useRef(null),v=s.useRef(new Map).current,h=s.useRef(new Set).current;return u.jsx(o,{scope:m,itemMap:v,collectionRef:g,listeners:h,children:b})};i.displayName=l;const c=`${n}CollectionSlot`,a=s.forwardRef((d,m)=>{const{scope:b,children:g}=d,v=r(c,b),h=A.useComposedRefs(m,v.collectionRef);return u.jsx(Ee.Slot,{ref:h,children:g})});a.displayName=c;const x=`${n}CollectionItemSlot`,p="data-radix-collection-item",C=s.forwardRef((d,m)=>{const{scope:b,children:g,...v}=d,h=s.useRef(null),y=A.useComposedRefs(m,h),N=r(x,b);return s.useEffect(()=>{const T=Array.from(N.itemMap.values());return N.itemMap.set(h,{ref:h,...v}),N.listeners.forEach(O=>O(Array.from(N.itemMap.values()),T)),()=>{const O=Array.from(N.itemMap.values());N.itemMap.delete(h),N.listeners.forEach(P=>P(Array.from(N.itemMap.values()),O))}}),u.jsx(Ee.Slot,{[p]:"",ref:y,children:g})});C.displayName=x;function f(d){const m=r(`${n}CollectionConsumer`,d),b=s.useCallback(()=>{const v=m.collectionRef.current;if(!v)return[];const h=Array.from(v.querySelectorAll(`[${p}]`));return Array.from(m.itemMap.values()).sort((T,O)=>h.indexOf(T.ref.current)-h.indexOf(O.ref.current))},[m.collectionRef,m.itemMap]),g=s.useCallback(v=>(m.listeners.add(v),()=>m.listeners.delete(v)),[m.listeners]);return{getItems:b,subscribe:g}}return[{Provider:i,Slot:a,ItemSlot:C},f,t]}const Lt=[" ","Enter","ArrowUp","ArrowDown"],Ft=["Enter"],Qe=n=>!!(n.length===1&&n.match(/\S| /)),ct="Combobox",[fe,ve]=Dt(ct),[kt,z]=ge.createContext(ct),Ht=({children:n})=>u.jsx(re.Root,{children:u.jsx(fe.Provider,{scope:void 0,children:n})}),Bt=n=>{const{allowCustomValue:l=!1,autocomplete:e="none",children:t,open:o,defaultOpen:r,onOpenChange:i,value:c,defaultValue:a,onValueChange:x,disabled:p,required:C=!1,locale:f="en-EN",onTextValueChange:d,textValue:m,defaultTextValue:b,filterValue:g,defaultFilterValue:v,onFilterValueChange:h}=n,[y,N]=s.useState(null),[T,O]=s.useState(null),[P,D]=s.useState(null),[H,K]=s.useState(null),[B=!1,M]=ie.useControllableState({prop:o,defaultProp:r,onChange:i}),[L,F]=ie.useControllableState({prop:c,defaultProp:a,onChange:x}),[U,$]=ie.useControllableState({prop:m,defaultProp:b,onChange:d}),[Y,X]=ie.useControllableState({prop:g,defaultProp:v,onChange:h}),q=oe.useId(),ue=s.useCallback((se,le)=>{const de=le.map(w=>w.ref.current),[Z,...ce]=de,[Q]=ce.slice(-1),S=H;for(const w of se){if(w===S)return;if(w?.scrollIntoView({block:"nearest"}),w===Z&&T&&(T.scrollTop=0),w===Q&&T&&(T.scrollTop=T.scrollHeight),K(w),e==="both"){const j=le.find(E=>E.ref.current===w);j&&$(j.textValue)}if(w!==S)return}},[e,$,T,H]);return s.useEffect(()=>{e!=="both"&&K(null)},[U,e]),s.useEffect(()=>{if(P&&y)return rt.hideOthers([P,y])},[P,y]),u.jsx(Ht,{children:u.jsx(kt,{allowCustomValue:l,autocomplete:e,required:C,trigger:y,onTriggerChange:N,contentId:q,value:L,onValueChange:F,open:B,onOpenChange:M,disabled:p,locale:f,focusFirst:ue,textValue:U,onTextValueChange:$,onViewportChange:O,onContentChange:D,visuallyFocussedItem:H,filterValue:Y,onFilterValueChange:X,onVisuallyFocussedItemChange:K,children:t})})},Ut="ComboboxTrigger",$t=s.forwardRef((n,l)=>{const{...e}=n,t=z(Ut),o=()=>{t.disabled||t.onOpenChange(!0)};return u.jsx(re.Anchor,{asChild:!0,children:u.jsx(ot.FocusScope,{asChild:!0,trapped:t.open,onMountAutoFocus:r=>{r.preventDefault()},onUnmountAutoFocus:r=>{t.trigger?.focus({preventScroll:!0}),document.getSelection()?.empty(),r.preventDefault()},children:u.jsx("div",{ref:l,"data-disabled":t.disabled?"":void 0,...e,onClick:I.composeEventHandlers(e.onClick,()=>{t.trigger?.focus()}),onPointerDown:I.composeEventHandlers(e.onPointerDown,r=>{const i=r.target;i.hasPointerCapture(r.pointerId)&&i.releasePointerCapture(r.pointerId),(i.closest("button")??i.closest("div"))===r.currentTarget&&r.button===0&&r.ctrlKey===!1&&(o(),t.trigger?.focus())})})})})}),it="ComboboxInput",qt=s.forwardRef((n,l)=>{const e=z(it),t=s.useRef(null),{getItems:o}=ve(void 0),{startsWith:r}=Me(e.locale,{sensitivity:"base"}),i=e.disabled,c=A.useComposedRefs(t,l,e.onTriggerChange),a=()=>{i||e.onOpenChange(!0)},x=jt(e.filterValue);return k.useLayoutEffect(()=>{const p=setTimeout(()=>{if(e.textValue===""||e.textValue===void 0||e.filterValue===""||e.filterValue===void 0)return;const C=o().find(d=>d.type==="option"&&r(d.textValue,e.textValue)),f=Co(x??"",e.filterValue);C&&!e.visuallyFocussedItem&&f===e.filterValue.length&&t.current?.setSelectionRange(e.filterValue.length,e.textValue.length)});return()=>clearTimeout(p)},[e.textValue,e.filterValue,r,e.visuallyFocussedItem,o,x]),u.jsx("input",{type:"text",role:"combobox","aria-controls":e.contentId,"aria-expanded":e.open,"aria-required":e.required,"aria-autocomplete":e.autocomplete,"data-state":e.open?"open":"closed","aria-disabled":i,"aria-activedescendant":e.visuallyFocussedItem?.id,disabled:i,"data-disabled":i?"":void 0,"data-placeholder":e.textValue===void 0?"":void 0,value:e.textValue??"",...n,ref:c,onKeyDown:I.composeEventHandlers(n.onKeyDown,p=>{if(["ArrowUp","ArrowDown","Home","End"].includes(p.key))setTimeout(()=>{let f=o().filter(d=>!d.disabled).map(d=>d.ref.current);if(["ArrowUp","End"].includes(p.key)&&(f=f.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const d=e.visuallyFocussedItem??p.target;let m=f.indexOf(d);m===f.length-1&&(m=-1),f=f.slice(m+1)}if(["ArrowDown"].includes(p.key)&&e.autocomplete==="both"&&f.length>1){const[d,...m]=f,b=o().find(g=>g.ref.current===d).textValue;e.textValue===b&&(f=m)}e.focusFirst(f,o())}),p.preventDefault();else if(["Tab"].includes(p.key)&&e.open)p.preventDefault();else if(["Escape"].includes(p.key))e.open?e.onOpenChange(!1):(e.onValueChange(void 0),e.onTextValueChange("")),p.preventDefault();else if(Ft.includes(p.key)){if(e.visuallyFocussedItem){const C=o().find(f=>f.ref.current===e.visuallyFocussedItem);C&&(e.onValueChange(C.value),e.onTextValueChange(C.textValue),e.autocomplete==="both"&&e.onFilterValueChange(C.textValue),C.ref.current?.click())}else{const C=o().find(f=>f.type==="option"&&!f.disabled&&f.textValue===e.textValue);C&&(e.onValueChange(C.value),e.onTextValueChange(C.textValue),e.autocomplete==="both"&&e.onFilterValueChange(C.textValue),C.ref.current?.click())}e.onOpenChange(!1),p.preventDefault()}else e.onVisuallyFocussedItemChange(null)}),onChange:I.composeEventHandlers(n.onChange,p=>{e.onTextValueChange(p.currentTarget.value),e.autocomplete==="both"&&e.onFilterValueChange(p.currentTarget.value)}),onKeyUp:I.composeEventHandlers(n.onKeyUp,p=>{!e.open&&(Qe(p.key)||["ArrowUp","ArrowDown","Home","End","Backspace"].includes(p.key))&&a(),setTimeout(()=>{if(e.autocomplete==="both"&&Qe(p.key)&&e.filterValue!==void 0){const C=e.filterValue,f=o().find(d=>r(d.textValue,C));f&&e.onTextValueChange(f.textValue)}})}),onBlur:I.composeEventHandlers(n.onBlur,()=>{e.onVisuallyFocussedItemChange(null);const[p]=o().filter(f=>f.textValue===e.textValue&&f.type==="option");if(e.allowCustomValue){p&&(e.onValueChange(p.value),e.autocomplete==="both"&&e.onFilterValueChange(p.textValue));return}const[C]=o().filter(f=>f.value===e.value&&f.type==="option");p?e.onValueChange(p.value):C&&e.textValue!==""?(e.onTextValueChange(C.textValue),e.autocomplete==="both"&&e.onFilterValueChange(C.textValue)):(e.onValueChange(void 0),e.onTextValueChange(""))})})}),Kt=s.forwardRef((n,l)=>{const{children:e,...t}=n,o=z(it),r=o.disabled,i=()=>{r||(o.onOpenChange(!0),o.trigger?.focus())};return u.jsx(_.Primitive.button,{"aria-hidden":!0,type:"button","aria-disabled":r,"aria-controls":o.contentId,"aria-expanded":o.open,disabled:r,"data-disabled":r?"":void 0,...t,tabIndex:-1,ref:l,onClick:I.composeEventHandlers(t.onClick,()=>{o.trigger?.focus()}),onPointerDown:I.composeEventHandlers(t.onPointerDown,c=>{c.button===0&&c.ctrlKey===!1&&(i(),c.preventDefault())}),onKeyDown:I.composeEventHandlers(t.onKeyDown,c=>{Lt.includes(c.key)&&(i(),c.preventDefault())}),children:e||"▼"})}),Wt="ComboboxPortal",at=n=>u.jsx(nt.Portal,{asChild:!0,...n});at.displayName=Wt;const ut="ComboboxContent",zt=s.forwardRef((n,l)=>{const e=z(ut),[t,o]=s.useState();if(k.useLayoutEffect(()=>{o(new DocumentFragment)},[]),!e.open){const r=t;return r?Oe.createPortal(u.jsx(fe.Slot,{scope:void 0,children:u.jsx("div",{children:n.children})}),r):null}return u.jsx(Yt,{...n,ref:l})}),Gt=10,Yt=s.forwardRef((n,l)=>{const{onEscapeKeyDown:e,onPointerDownOutside:t,...o}=n,r=z(ut),i=A.useComposedRefs(l,a=>r.onContentChange(a)),{onOpenChange:c}=r;return tt.useFocusGuards(),s.useEffect(()=>{const a=()=>{c(!1)};return window.addEventListener("blur",a),window.addEventListener("resize",a),()=>{window.removeEventListener("blur",a),window.removeEventListener("resize",a)}},[c]),u.jsx(st.RemoveScroll,{allowPinchZoom:!0,children:u.jsx(et.DismissableLayer,{asChild:!0,onEscapeKeyDown:e,onPointerDownOutside:t,onFocusOutside:a=>{a.preventDefault()},onDismiss:()=>{r.onOpenChange(!1),r.trigger?.focus({preventScroll:!0})},children:u.jsx(Xt,{role:"listbox",id:r.contentId,"data-state":r.open?"open":"closed",onContextMenu:a=>a.preventDefault(),...o,ref:i,style:{display:"flex",flexDirection:"column",outline:"none",...o.style}})})})}),Xt=s.forwardRef((n,l)=>{const{align:e="start",collisionPadding:t=Gt,...o}=n;return u.jsx(re.Content,{...o,ref:l,align:e,collisionPadding:t,style:{boxSizing:"border-box",...o.style,"--radix-combobox-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-combobox-content-available-width":"var(--radix-popper-available-width)","--radix-combobox-content-available-height":"var(--radix-popper-available-height)","--radix-combobox-trigger-width":"var(--radix-popper-anchor-width)","--radix-combobox-trigger-height":"var(--radix-popper-anchor-height)"}})}),Zt="ComboboxViewport",Jt=s.forwardRef((n,l)=>{const e=z(Zt),t=A.useComposedRefs(l,e.onViewportChange);return u.jsxs(u.Fragment,{children:[u.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-combobox-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-combobox-viewport]::-webkit-scrollbar{display:none}"}}),u.jsx(fe.Slot,{scope:void 0,children:u.jsx(_.Primitive.div,{"data-radix-combobox-viewport":"",role:"presentation",...n,ref:t,style:{position:"relative",flex:1,overflow:"auto",...n.style}})})]})}),dt="ComboboxItem",[Qt,pt]=ge.createContext(dt),ft=s.forwardRef((n,l)=>{const{value:e,disabled:t=!1,textValue:o,...r}=n,i=s.useRef(null),c=A.useComposedRefs(l,i),{getItems:a}=ve(void 0),{onTextValueChange:x,textValue:p,visuallyFocussedItem:C,...f}=z(dt),d=oe.useId(),[m,b]=s.useState(o??""),g=s.useMemo(()=>C===a().find(O=>O.ref.current===i.current)?.ref.current,[a,C]),v=f.value===e,h=()=>{t||(f.onValueChange(e),x(m),f.onOpenChange(!1),f.autocomplete==="both"&&f.onFilterValueChange(m),f.trigger?.focus({preventScroll:!0}))},{startsWith:y}=Me(f.locale,{sensitivity:"base"}),N=s.useCallback(O=>{b(P=>P||(O?.textContent??"").trim())},[]);s.useEffect(()=>{v&&p===void 0&&m!==""&&x(m)},[m,v,p,x]);const T=oe.useId();return f.autocomplete==="list"&&m&&p&&!y(m,p)||f.autocomplete==="both"&&m&&f.filterValue&&!y(m,f.filterValue)?null:u.jsx(Qt,{textId:d,onTextValueChange:N,isSelected:v,children:u.jsx(fe.ItemSlot,{scope:void 0,value:e,textValue:m,disabled:t,type:"option",children:u.jsx(_.Primitive.div,{role:"option","aria-labelledby":d,"data-highlighted":g?"":void 0,"aria-selected":v&&g,"data-state":v?"checked":"unchecked","aria-disabled":t||void 0,"data-disabled":t?"":void 0,tabIndex:t?void 0:-1,...r,id:T,ref:c,onPointerUp:I.composeEventHandlers(r.onPointerUp,h)})})})}),eo="ComboboxItemText",to=s.forwardRef((n,l)=>{const{className:e,style:t,...o}=n,r=pt(eo),i=A.useComposedRefs(l,r.onTextValueChange);return u.jsx(_.Primitive.span,{id:r.textId,...o,ref:i})}),oo="ComboboxItemIndicator",no=s.forwardRef((n,l)=>{const{isSelected:e}=pt(oo);return e?u.jsx(_.Primitive.span,{"aria-hidden":!0,...n,ref:l}):null}),mt="ComboboxNoValueFound",ro=s.forwardRef((n,l)=>{const{textValue:e="",locale:t}=z(mt),[o,r]=s.useState([]),{subscribe:i}=ve(void 0),{startsWith:c}=Me(t,{sensitivity:"base"});return s.useEffect(()=>{const a=i(x=>{r(x)});return()=>{a()}},[i]),o.some(a=>c(a.textValue,e))?null:u.jsx(_.Primitive.div,{...n,ref:l})}),so=s.forwardRef((n,l)=>{const{disabled:e=!1,...t}=n,o=z(mt),{textValue:r,visuallyFocussedItem:i}=o,{getItems:c,subscribe:a}=ve(void 0),x=s.useRef(null),[p,C]=s.useState(!1),f=A.useComposedRefs(l,x),d=s.useMemo(()=>i===c().find(g=>g.ref.current===x.current)?.ref.current,[c,i]),m=oe.useId(),b=()=>{!e&&r&&(o.onValueChange(r),o.onTextValueChange(r),o.onOpenChange(!1),o.autocomplete==="both"&&o.onFilterValueChange(r),o.trigger?.focus({preventScroll:!0}))};return k.useLayoutEffect(()=>{const g=a(v=>{C(!v.some(h=>h.textValue===r&&h.type!=="create"))});return c().length===0&&C(!0),()=>{g()}},[r,a,c]),!r||!p?null:u.jsx(fe.ItemSlot,{scope:void 0,value:r??"",textValue:r??"",disabled:e,type:"create",children:u.jsx(_.Primitive.div,{role:"option",tabIndex:e?void 0:-1,"aria-disabled":e||void 0,"data-disabled":e?"":void 0,"data-highlighted":d?"":void 0,...t,id:m,ref:f,onPointerUp:I.composeEventHandlers(t.onPointerUp,b)})})}),lo=Bt,co=$t,io=qt,ao=Kt,uo=at,po=zt,fo=Jt,mo=ft,ho=to,xo=no,go=ro,vo=so;function Co(n,l){const e=Math.min(n.length,l.length);for(let t=0;t<e;t++)if(n[t]!==l[t])return t;return e}const bo=Object.freeze(Object.defineProperty({__proto__:null,ComboboxItem:ft,Content:po,CreateItem:vo,Icon:ao,Item:mo,ItemIndicator:xo,ItemText:ho,NoValueFound:go,Portal:uo,Root:lo,TextInput:io,Trigger:co,Viewport:fo},Symbol.toStringTag,{value:"Module"})),So=[" ","Enter","ArrowUp","ArrowDown"],yo=[" ","Enter"],me="Select",[Ce,he,wo]=_t.createCollection(me),[ae,Io]=ge.createContextScope(me,[wo,Ne.createPopperScope]),be=Ne.createPopperScope(),[Eo,G]=ae(me),[To,Po]=ae(me),je=n=>{const{__scopeSelect:l,children:e,open:t,defaultOpen:o,onOpenChange:r,value:i,defaultValue:c,onValueChange:a,dir:x,disabled:p,required:C,multi:f=!1}=n,d=be(l),[m,b]=s.useState(null),[g,v]=s.useState(null),[h,y]=s.useState(!1),N=Nt.useDirection(x),[T=!1,O]=ie.useControllableState({prop:t,defaultProp:o,onChange:r}),[P,D]=ie.useControllableState({prop:i,defaultProp:c,onChange(M){a&&(Array.isArray(M),a(M))}}),H=s.useRef(null),[K,B]=s.useState(new Set);return u.jsx(re.Root,{...d,children:u.jsx(Eo,{required:C,scope:l,trigger:m,onTriggerChange:b,valueNode:g,onValueNodeChange:v,valueNodeHasChildren:h,onValueNodeHasChildrenChange:y,contentId:oe.useId(),value:P,onValueChange:D,open:T,onOpenChange:O,dir:N,triggerPointerDownPosRef:H,disabled:p,multi:f,children:u.jsx(Ce.Provider,{scope:l,children:u.jsx(To,{scope:n.__scopeSelect,onNativeOptionAdd:s.useCallback(M=>{B(L=>new Set(L).add(M))},[]),onNativeOptionRemove:s.useCallback(M=>{B(L=>{const F=new Set(L);return F.delete(M),F})},[]),children:e})})})})};je.displayName=me;const ht="SelectTrigger",De=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=be(e),r=G(ht,e),i=r.disabled,c=A.useComposedRefs(l,r.onTriggerChange),a=he(e),[x,p,C]=Et(d=>{const m=a().filter(v=>!v.disabled),b=m.find(v=>v.value===r.value),g=Tt(m,d,b);if(g!==void 0&&!Array.isArray(g.value)){const v=r.multi?[g.value]:g.value;r.onValueChange(v)}}),f=()=>{i||(r.onOpenChange(!0),C())};return u.jsx(re.Anchor,{asChild:!0,...o,children:u.jsx(_.Primitive.div,{role:"combobox","aria-controls":r.contentId,"aria-expanded":r.open,"aria-required":r.required,"aria-autocomplete":"none",dir:r.dir,"data-state":r.open?"open":"closed","data-disabled":i?"":void 0,"data-placeholder":r.value===void 0?"":void 0,tabIndex:i?void 0:0,...t,ref:c,onClick:I.composeEventHandlers(t.onClick,d=>{d.currentTarget.focus()}),onPointerDown:I.composeEventHandlers(t.onPointerDown,d=>{const m=d.target;m.hasPointerCapture(d.pointerId)&&m.releasePointerCapture(d.pointerId),(m.closest("button")??m.closest("div"))===d.currentTarget&&d.button===0&&d.ctrlKey===!1&&(f(),r.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)},d.preventDefault())}),onKeyDown:I.composeEventHandlers(t.onKeyDown,d=>{const m=x.current!=="",b=d.ctrlKey||d.altKey||d.metaKey,g=d.target;(g.closest("button")??g.closest("div"))===d.currentTarget&&(!b&&d.key.length===1&&p(d.key),!(m&&d.key===" ")&&So.includes(d.key)&&(f(),d.preventDefault()))})})})});De.displayName=ht;const xt="SelectValue",Le=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,placeholder:o,...r}=n,i=G(xt,e),{onValueNodeHasChildrenChange:c}=i,a=t!==void 0,x=A.useComposedRefs(l,i.onValueNodeChange),[p,C]=s.useState([]),f=he(e);k.useLayoutEffect(()=>{c(a)},[c,a]),s.useLayoutEffect(()=>{if(Array.isArray(i.value)&&p.length!==i.value.length){const m=setTimeout(()=>{const b=f().filter(g=>Array.isArray(g.value)?!1:i.value?.includes(g.value));C(b)});return()=>{clearTimeout(m)}}},[i.value,f,p]);let d;if((i.value===void 0||i.value.length===0)&&o!==void 0)d=u.jsx("span",{children:o});else if(typeof t=="function")if(Array.isArray(i.value)){const m=i.value.map(b=>{const g=p.find(v=>v.value===b);return g?t({value:b,textValue:g?.textValue}):null});d=m.every(b=>b===null)?o:m}else d=t(i.value);else d=t;return u.jsx(_.Primitive.span,{...r,ref:x,children:d||null})});Le.displayName=xt;const Ro="SelectIcon",Fe=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,...o}=n;return u.jsx(_.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t||"▼"})});Fe.displayName=Ro;const Vo="SelectPortal",ke=n=>u.jsx(nt.Portal,{asChild:!0,...n});ke.displayName=Vo;const ne="SelectContent",He=s.forwardRef((n,l)=>{const e=G(ne,n.__scopeSelect),[t,o]=s.useState();if(k.useLayoutEffect(()=>{o(new DocumentFragment)},[]),!e.open){const r=t;return r?Oe.createPortal(u.jsx(gt,{scope:n.__scopeSelect,children:u.jsx(Ce.Slot,{scope:n.__scopeSelect,children:u.jsx("div",{children:n.children})})}),r):null}return u.jsx(vt,{...n,ref:l})});He.displayName=ne;const W=10,[gt,J]=ae(ne),_o="SelectContentImpl",vt=s.forwardRef((n,l)=>{const{__scopeSelect:e,position:t="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:r,onPointerDownOutside:i,side:c,sideOffset:a,align:x,alignOffset:p,arrowPadding:C,collisionBoundary:f,collisionPadding:d,sticky:m,hideWhenDetached:b,avoidCollisions:g,...v}=n,h=G(ne,e),[y,N]=s.useState(null),[T,O]=s.useState(null),P=A.useComposedRefs(l,S=>N(S)),[D,H]=s.useState(null),[K,B]=s.useState(null),M=he(e),[L,F]=s.useState(!1),U=s.useRef(!1);s.useEffect(()=>{if(y)return rt.hideOthers(y)},[y]),tt.useFocusGuards();const $=s.useCallback(S=>{const[w,...j]=M().map(V=>V.ref.current),[E]=j.slice(-1),R=document.activeElement;for(const V of S)if(V===R||(V?.scrollIntoView({block:"nearest"}),V===w&&T&&(T.scrollTop=0),V===E&&T&&(T.scrollTop=T.scrollHeight),V?.focus(),document.activeElement!==R))return},[M,T]),Y=s.useCallback(()=>$([D,y]),[$,D,y]);s.useEffect(()=>{L&&Y()},[L,Y]);const{onOpenChange:X,triggerPointerDownPosRef:q}=h;s.useEffect(()=>{if(y){let S={x:0,y:0};const w=E=>{S={x:Math.abs(Math.round(E.pageX)-(q.current?.x??0)),y:Math.abs(Math.round(E.pageY)-(q.current?.y??0))}},j=E=>{S.x<=10&&S.y<=10?E.preventDefault():y.contains(E.target)||X(!1),document.removeEventListener("pointermove",w),q.current=null};return q.current!==null&&(document.addEventListener("pointermove",w),document.addEventListener("pointerup",j,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",w),document.removeEventListener("pointerup",j,{capture:!0})}}},[y,X,q]),s.useEffect(()=>{const S=()=>X(!1);return window.addEventListener("blur",S),window.addEventListener("resize",S),()=>{window.removeEventListener("blur",S),window.removeEventListener("resize",S)}},[X]);const[ue,se]=Et(S=>{const w=M().filter(R=>!R.disabled),j=w.find(R=>R.ref.current===document.activeElement),E=Tt(w,S,j);E&&setTimeout(()=>E.ref.current.focus())}),le=s.useCallback((S,w,j)=>{const E=!U.current&&!j;(h.value!==void 0&&h.value===w||E)&&(H(S),E&&(U.current=!0))},[h.value]),de=s.useCallback(()=>y?.focus(),[y]),Z=s.useCallback((S,w,j)=>{const E=!U.current&&!j;(h.value!==void 0&&(Array.isArray(w)?w.every(V=>h.value?.includes(V)):h.value===w)||E)&&B(S)},[h.value]),ce=t==="popper"?Te:Ct,Q=ce===Te?{side:c,sideOffset:a,align:x,alignOffset:p,arrowPadding:C,collisionBoundary:f,collisionPadding:d,sticky:m,hideWhenDetached:b,avoidCollisions:g}:{};return u.jsx(gt,{scope:e,content:y,viewport:T,onViewportChange:O,itemRefCallback:le,selectedItem:D,onItemLeave:de,itemTextRefCallback:Z,focusSelectedItem:Y,selectedItemText:K,position:t,isPositioned:L,searchRef:ue,children:u.jsx(st.RemoveScroll,{as:Ee.Slot,allowPinchZoom:!0,children:u.jsx(ot.FocusScope,{asChild:!0,trapped:h.open,onMountAutoFocus:S=>{S.preventDefault()},onUnmountAutoFocus:I.composeEventHandlers(o,S=>{h.trigger?.focus({preventScroll:!0}),document.getSelection()?.empty(),S.preventDefault()}),children:u.jsx(et.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:S=>S.preventDefault(),onDismiss:()=>h.onOpenChange(!1),children:u.jsx(ce,{role:"listbox",id:h.contentId,"data-state":h.open?"open":"closed","aria-multiselectable":h.multi?"true":void 0,dir:h.dir,onContextMenu:S=>S.preventDefault(),...v,...Q,onPlaced:()=>F(!0),ref:P,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:I.composeEventHandlers(v.onKeyDown,S=>{const w=S.ctrlKey||S.altKey||S.metaKey;if(S.key==="Tab"&&S.preventDefault(),!w&&S.key.length===1&&se(S.key),["ArrowUp","ArrowDown","Home","End"].includes(S.key)){let E=M().filter(R=>!R.disabled).map(R=>R.ref.current);if(["ArrowUp","End"].includes(S.key)&&(E=E.slice().reverse()),["ArrowUp","ArrowDown"].includes(S.key)){const R=S.target,V=E.indexOf(R);E=E.slice(V+1)}setTimeout(()=>$(E)),S.preventDefault()}})})})})})})});vt.displayName=_o;const No="SelectItemAlignedPosition",Ct=s.forwardRef((n,l)=>{const{__scopeSelect:e,onPlaced:t,...o}=n,r=G(ne,e),i=J(ne,e),[c,a]=s.useState(null),[x,p]=s.useState(null),C=A.useComposedRefs(l,P=>p(P)),f=he(e),d=s.useRef(!1),m=s.useRef(!0),{viewport:b,selectedItem:g,selectedItemText:v,focusSelectedItem:h}=i,y=s.useCallback(()=>{if(r.trigger&&r.valueNode&&c&&x&&b&&g&&v){const P=r.trigger.getBoundingClientRect(),D=x.getBoundingClientRect(),H=r.valueNode.getBoundingClientRect(),K=v.getBoundingClientRect();if(r.dir!=="rtl"){const R=K.left-D.left,V=H.left-R,ee=P.left-V,te=P.width+ee,Se=Math.max(te,D.width),ye=window.innerWidth-W,we=Je.clamp(V,[W,ye-Se]);c.style.minWidth=`${te}px`,c.style.left=`${we}px`}else{const R=D.right-K.right,V=window.innerWidth-H.right-R,ee=window.innerWidth-P.right-V,te=P.width+ee,Se=Math.max(te,D.width),ye=window.innerWidth-W,we=Je.clamp(V,[W,ye-Se]);c.style.minWidth=`${te}px`,c.style.right=`${we}px`}const B=f(),M=window.innerHeight-W*2,L=b.scrollHeight,F=window.getComputedStyle(x),U=parseInt(F.borderTopWidth,10),$=parseInt(F.paddingTop,10),Y=parseInt(F.borderBottomWidth,10),X=parseInt(F.paddingBottom,10),q=U+$+L+X+Y,ue=Math.min(g.offsetHeight*5,q),se=window.getComputedStyle(b),le=parseInt(se.paddingTop,10),de=parseInt(se.paddingBottom,10),Z=P.top+P.height/2-W,ce=M-Z,Q=g.offsetHeight/2,S=g.offsetTop+Q,w=U+$+S,j=q-w;if(w<=Z){const R=g===B[B.length-1].ref.current;c.style.bottom="0px";const V=x.clientHeight-b.offsetTop-b.offsetHeight,ee=Math.max(ce,Q+(R?de:0)+V+Y),te=w+ee;c.style.height=`${te}px`}else{const R=g===B[0].ref.current;c.style.top="0px";const ee=Math.max(Z,U+b.offsetTop+(R?le:0)+Q)+j;c.style.height=`${ee}px`,b.scrollTop=w-Z+b.offsetTop}c.style.margin=`${W}px 0`,c.style.minHeight=`${ue}px`,c.style.maxHeight=`${M}px`,t?.(),requestAnimationFrame(()=>d.current=!0)}},[f,r.trigger,r.valueNode,c,x,b,g,v,r.dir,t]);k.useLayoutEffect(()=>y(),[y]);const[N,T]=s.useState();k.useLayoutEffect(()=>{x&&T(window.getComputedStyle(x).zIndex)},[x]);const O=s.useCallback(P=>{P&&m.current===!0&&(y(),h?.(),m.current=!1)},[y,h]);return u.jsx(Oo,{scope:e,contentWrapper:c,shouldExpandOnScrollRef:d,onScrollButtonChange:O,children:u.jsx("div",{ref:a,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:N},children:u.jsx(_.Primitive.div,{...o,ref:C,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});Ct.displayName=No;const Ao="SelectPopperPosition",Te=s.forwardRef((n,l)=>{const{__scopeSelect:e,align:t="start",collisionPadding:o=W,...r}=n,i=be(e);return u.jsx(re.Content,{...i,...r,ref:l,align:t,collisionPadding:o,style:{boxSizing:"border-box",...r.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Te.displayName=Ao;const[Oo,Be]=ae(ne,{}),Pe="SelectViewport",Ue=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=J(Pe,e),r=Be(Pe,e),i=A.useComposedRefs(l,o.onViewportChange),c=s.useRef(0);return u.jsxs(u.Fragment,{children:[u.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"}}),u.jsx(Ce.Slot,{scope:e,children:u.jsx(_.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...t,ref:i,style:{position:"relative",flex:1,overflow:"auto",...t.style},onScroll:I.composeEventHandlers(t.onScroll,a=>{const x=a.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:C}=r;if(C?.current&&p){const f=Math.abs(c.current-x.scrollTop);if(f>0){const d=window.innerHeight-W*2,m=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),g=Math.max(m,b);if(g<d){const v=g+f,h=Math.min(d,v),y=v-h;p.style.height=`${h}px`,p.style.bottom==="0px"&&(x.scrollTop=y>0?y:0,p.style.justifyContent="flex-end")}}}c.current=x.scrollTop})})})]})});Ue.displayName=Pe;const bt="SelectGroup",[Mo,jo]=ae(bt),$e=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=oe.useId();return u.jsx(Mo,{scope:e,id:o,children:u.jsx(_.Primitive.div,{role:"group","aria-labelledby":o,...t,ref:l})})});$e.displayName=bt;const St="SelectLabel",qe=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=jo(St,e);return u.jsx(_.Primitive.div,{id:o.id,...t,ref:l})});qe.displayName=St;const xe="SelectItem",[Do,yt]=ae(xe),Ke=s.forwardRef((n,l)=>{const{__scopeSelect:e,value:t,disabled:o=!1,textValue:r,...i}=n,c=G(xe,e),a=J(xe,e),x=typeof t=="string"?Array.isArray(c.value)?c.value.includes(t):c.value===t:t.every(h=>c.value?.includes(h)),p=Array.isArray(c.value)&&Array.isArray(t)&&t.some(h=>c.value?.includes(h)),[C,f]=s.useState(r??""),[d,m]=s.useState(!1),b=A.useComposedRefs(l,h=>a.itemRefCallback?.(h,t,o)),g=oe.useId(),v=()=>{if(!o){let h=c.multi&&typeof t=="string"?[t]:t;p&&!x?c.onValueChange(h):Array.isArray(c.value)&&(h=Pt(t,c.value)),c.onValueChange(h),c.multi||c.onOpenChange(!1)}};if(!c.multi&&Array.isArray(t))throw new Error("You can only pass an array of values in multi selects");return u.jsx(Do,{scope:e,value:t,disabled:o,textId:g,isSelected:x,isIntermediate:p,onItemTextChange:s.useCallback(h=>{f(y=>y||(h?.textContent??"").trim())},[]),children:u.jsx(Ce.ItemSlot,{scope:e,value:t,disabled:o,textValue:C,children:u.jsx(_.Primitive.div,{role:"option","aria-labelledby":g,"data-highlighted":d?"":void 0,"aria-selected":c.multi?void 0:x&&d,"aria-checked":c.multi?x:void 0,"data-state":x?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:b,onFocus:I.composeEventHandlers(i.onFocus,()=>m(!0)),onBlur:I.composeEventHandlers(i.onBlur,()=>m(!1)),onPointerUp:I.composeEventHandlers(i.onPointerUp,v),onPointerMove:I.composeEventHandlers(i.onPointerMove,h=>{o?a.onItemLeave?.():h.currentTarget.focus({preventScroll:!0})}),onPointerLeave:I.composeEventHandlers(i.onPointerLeave,h=>{h.currentTarget===document.activeElement&&a.onItemLeave?.()}),onKeyDown:I.composeEventHandlers(i.onKeyDown,h=>{a.searchRef?.current!==""&&h.key===" "||(yo.includes(h.key)&&v(),h.key===" "&&h.preventDefault())})})})})});Ke.displayName=xe;const pe="SelectItemText",We=s.forwardRef((n,l)=>{const{__scopeSelect:e,className:t,style:o,...r}=n,i=G(pe,e),c=J(pe,e),a=yt(pe,e),x=Po(pe,e),[p,C]=s.useState(null),f=A.useComposedRefs(l,v=>C(v),a.onItemTextChange,v=>c.itemTextRefCallback?.(v,a.value,a.disabled)),d=p?.textContent,m=s.useMemo(()=>u.jsx("option",{value:a.value,disabled:a.disabled,children:d},Array.isArray(a.value)?a.value.join(";"):a.value),[a.disabled,a.value,d]),{onNativeOptionAdd:b,onNativeOptionRemove:g}=x;return k.useLayoutEffect(()=>(b(m),()=>g(m)),[b,g,m]),u.jsxs(u.Fragment,{children:[u.jsx(_.Primitive.span,{id:a.textId,...r,ref:f}),a.isSelected&&i.valueNode&&!i.valueNodeHasChildren?Oe.createPortal(r.children,i.valueNode):null]})});We.displayName=pe;const wt="SelectItemIndicator",ze=s.forwardRef((n,l)=>{const{__scopeSelect:e,children:t,...o}=n,r=yt(wt,e);return typeof t=="function"?u.jsx(_.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t({isSelected:r.isSelected,isIntermediate:r.isIntermediate})}):r.isSelected?u.jsx(_.Primitive.span,{"aria-hidden":!0,...o,ref:l,children:t}):null});ze.displayName=wt;const Re="SelectScrollUpButton",Ge=s.forwardRef((n,l)=>{const e=J(Re,n.__scopeSelect),t=Be(Re,n.__scopeSelect),[o,r]=s.useState(!1),i=A.useComposedRefs(l,t.onScrollButtonChange);return k.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const c=e.viewport,a=()=>{const x=c.scrollTop>0;r(x)};return a(),c.addEventListener("scroll",a),()=>c.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),o?u.jsx(It,{...n,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:a}=e;c&&a&&(c.scrollTop-=a.offsetHeight)}}):null});Ge.displayName=Re;const Ve="SelectScrollDownButton",Ye=s.forwardRef((n,l)=>{const e=J(Ve,n.__scopeSelect),t=Be(Ve,n.__scopeSelect),[o,r]=s.useState(!1),i=A.useComposedRefs(l,t.onScrollButtonChange);return k.useLayoutEffect(()=>{if(e.viewport&&e.isPositioned){const c=e.viewport,a=()=>{const x=c.scrollHeight-c.clientHeight,p=Math.ceil(c.scrollTop)<x;r(p)};return a(),c.addEventListener("scroll",a),()=>c.removeEventListener("scroll",a)}},[e.viewport,e.isPositioned]),o?u.jsx(It,{...n,ref:i,onAutoScroll:()=>{const{viewport:c,selectedItem:a}=e;c&&a&&(c.scrollTop+=a.offsetHeight)}}):null});Ye.displayName=Ve;const It=s.forwardRef((n,l)=>{const{__scopeSelect:e,onAutoScroll:t,...o}=n,r=J("SelectScrollButton",e),i=s.useRef(null),c=he(e),a=s.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return s.useEffect(()=>()=>a(),[a]),k.useLayoutEffect(()=>{c().find(p=>p.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),u.jsx(_.Primitive.div,{"aria-hidden":!0,...o,ref:l,style:{flexShrink:0,...o.style},onPointerMove:I.composeEventHandlers(o.onPointerMove,()=>{r.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(t,50))}),onPointerLeave:I.composeEventHandlers(o.onPointerLeave,()=>{a()})})}),Lo="SelectSeparator",Xe=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n;return u.jsx(_.Primitive.div,{"aria-hidden":!0,...t,ref:l})});Xe.displayName=Lo;const _e="SelectArrow",Ze=s.forwardRef((n,l)=>{const{__scopeSelect:e,...t}=n,o=be(e),r=G(_e,e),i=J(_e,e);return r.open&&i.position==="popper"?u.jsx(re.Arrow,{...o,...t,ref:l}):null});Ze.displayName=_e;const Fo="BubbleSelect",ko=s.forwardRef((n,l)=>{const{value:e,...t}=n,o=s.useRef(null),r=A.useComposedRefs(l,o),i=At.usePrevious(e),c=G(Fo,void 0);s.useEffect(()=>{const x=o.current,p=window.HTMLSelectElement.prototype,f=Object.getOwnPropertyDescriptor(p,"value").set;if(i!==e&&f){const d=new Event("change",{bubbles:!0});f.call(x,e),x.dispatchEvent(d)}},[i,e]);let a=e;return c.multi&&!Array.isArray(e)&&(a=[]),u.jsx(Ot.VisuallyHidden,{asChild:!0,children:u.jsx("select",{...t,multiple:c.multi?!0:void 0,ref:r,defaultValue:a})})});ko.displayName="BubbleSelect";function Et(n){const l=lt.useCallbackRef(n),e=s.useRef(""),t=s.useRef(0),o=s.useCallback(i=>{const c=e.current+i;l(c),function a(x){e.current=x,window.clearTimeout(t.current),x!==""&&(t.current=window.setTimeout(()=>a(""),1e3))}(c)},[l]),r=s.useCallback(()=>{e.current="",window.clearTimeout(t.current)},[]);return s.useEffect(()=>()=>window.clearTimeout(t.current),[]),[e,o,r]}function Tt(n,l,e){const o=l.length>1&&Array.from(l).every(x=>x===l[0])?l[0]:l,r=e?n.indexOf(e):-1;let i=Ho(n,Math.max(r,0));o.length===1&&(i=i.filter(x=>x!==e));const a=i.find(x=>x.textValue.toLowerCase().startsWith(o.toLowerCase()));return a!==e?a:void 0}function Ho(n,l){return n.map((e,t)=>n[(l+t)%n.length])}const Pt=(n,l=[])=>{if(Array.isArray(n))return n.reduce((t,o)=>Pt(o,t),l);const e=l.indexOf(n);return e===-1?[...l,n]:[...l.slice(0,e),...l.slice(e+1)]},Bo=je,Uo=De,$o=Le,qo=Fe,Ko=ke,Wo=He,zo=Ue,Go=$e,Yo=qe,Xo=Ke,Zo=We,Jo=ze,Qo=Ge,en=Ye,tn=Xe,on=Ze,nn=Object.freeze(Object.defineProperty({__proto__:null,Arrow:on,Content:Wo,Group:Go,Icon:qo,Item:Xo,ItemIndicator:Jo,ItemText:Zo,Label:Yo,Portal:Ko,Root:Bo,ScrollDownButton:en,ScrollUpButton:Qo,Select:je,SelectArrow:Ze,SelectContent:He,SelectGroup:$e,SelectIcon:Fe,SelectItem:Ke,SelectItemIndicator:ze,SelectItemText:We,SelectLabel:qe,SelectPortal:ke,SelectScrollDownButton:Ye,SelectScrollUpButton:Ge,SelectSeparator:Xe,SelectTrigger:De,SelectValue:Le,SelectViewport:Ue,Separator:tn,Trigger:Uo,Value:$o,Viewport:zo,createSelectScope:Io},Symbol.toStringTag,{value:"Module"}));Object.defineProperty(exports,"composeEventHandlers",{enumerable:!0,get:()=>I.composeEventHandlers});Object.defineProperty(exports,"useCallbackRef",{enumerable:!0,get:()=>lt.useCallbackRef});exports.Combobox=bo;exports.Select=nn;
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './components/Combobox';
2
2
  export * from './components/Select';
3
+ export * from './helpers/events';
3
4
  export * from './hooks/useCallbackRef';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { jsx as d, jsxs as Ne, Fragment as Ae } from "react/jsx-runtime";
2
2
  import * as l from "react";
3
3
  import { composeEventHandlers as T } from "@radix-ui/primitive";
4
+ import { composeEventHandlers as Rn } from "@radix-ui/primitive";
4
5
  import { useComposedRefs as _ } from "@radix-ui/react-compose-refs";
5
6
  import { createContextScope as Qe, createContext as et } from "@radix-ui/react-context";
6
7
  import { DismissableLayer as tt } from "@radix-ui/react-dismissable-layer";
@@ -21,7 +22,7 @@ import { clamp as Ze } from "@radix-ui/number";
21
22
  import { createCollection as Rt } from "@radix-ui/react-collection";
22
23
  import { useDirection as Nt } from "@radix-ui/react-direction";
23
24
  import { useCallbackRef as At } from "@radix-ui/react-use-callback-ref";
24
- import { useCallbackRef as Rn } from "@radix-ui/react-use-callback-ref";
25
+ import { useCallbackRef as An } from "@radix-ui/react-use-callback-ref";
25
26
  import { usePrevious as _t } from "@radix-ui/react-use-previous";
26
27
  import { VisuallyHidden as Mt } from "@radix-ui/react-visually-hidden";
27
28
  let ye = /* @__PURE__ */ new Map();
@@ -1368,5 +1369,6 @@ const Et = (r, s = []) => {
1368
1369
  export {
1369
1370
  Tn as Combobox,
1370
1371
  Vn as Select,
1371
- Rn as useCallbackRef
1372
+ Rn as composeEventHandlers,
1373
+ An as useCallbackRef
1372
1374
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@strapi/ui-primitives",
3
- "version": "1.7.6",
3
+ "version": "1.7.7",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -52,5 +52,5 @@
52
52
  "devDependencies": {
53
53
  "vite-plugin-dts": "^2.3.0"
54
54
  },
55
- "gitHead": "953be7427371cdb5d7063803078fa7939ce1ecf1"
55
+ "gitHead": "95a02179f945511d2c5fb50efb880ed13f3169c9"
56
56
  }