UNPKG

@stanfordspezi/spezi-web-design-system

Version:

Stanford Biodesign Digital Health Spezi Web Design System

12 lines (11 loc) 22.8 kB
"use strict";const n=require("react/jsx-runtime"),K=require("./index-DwV9MiDB.js"),Re=require("./createLucideIcon-DpotSgUx.js"),dt=require("./check-BfggTswS.js"),ut=require("react"),pt=require("react-dom"),S=require("./index-CLdeiAAB.js"),Ne=require("./index-BM0VQ-wq.js"),D=require("./index-UhBwhhTY.js"),ft=require("./index-vkqCyWtx.js"),re=require("./index-oKsk7EpR.js"),Te=require("./index-Bqh8zfKH.js"),ee=require("./index-Cz0nKoO6.js"),j=require("./index-14SsMENa.js"),mt=require("./index-DYxWvftI.js"),ht=require("./index-CdWW7AxQ.js");function _e(t){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const e in t)if(e!=="default"){const c=Object.getOwnPropertyDescriptor(t,e);Object.defineProperty(o,e,c.get?c:{enumerable:!0,get:()=>t[e]})}}return o.default=t,Object.freeze(o)}const r=_e(ut),je=_e(pt);function be(t,[o,e]){return Math.min(e,Math.max(o,t))}var vt=[" ","Enter","ArrowUp","ArrowDown"],gt=[" ","Enter"],ce="Select",[de,ue,St]=Ne.createCollection(ce),[te,co]=S.createContextScope(ce,[St,ee.createPopperScope]),pe=ee.createPopperScope(),[xt,z]=te(ce),[wt,yt]=te(ce),Me=t=>{const{__scopeSelect:o,children:e,open:c,defaultOpen:a,onOpenChange:p,value:l,defaultValue:i,onValueChange:s,dir:f,name:g,autoComplete:y,disabled:b,required:E,form:P}=t,d=pe(o),[v,C]=r.useState(null),[u,h]=r.useState(null),[M,O]=r.useState(!1),oe=Ne.useDirection(f),[R=!1,L]=S.useControllableState({prop:c,defaultProp:a,onChange:p}),[W,Y]=S.useControllableState({prop:l,defaultProp:i,onChange:s}),k=r.useRef(null),B=v?P||!!v.closest("form"):!0,[q,V]=r.useState(new Set),F=Array.from(q).map(N=>N.props.value).join(";");return n.jsx(ee.Root2,{...d,children:n.jsxs(xt,{required:E,scope:o,trigger:v,onTriggerChange:C,valueNode:u,onValueNodeChange:h,valueNodeHasChildren:M,onValueNodeHasChildrenChange:O,contentId:Te.useId(),value:W,onValueChange:Y,open:R,onOpenChange:L,dir:oe,triggerPointerDownPosRef:k,disabled:b,children:[n.jsx(de.Provider,{scope:o,children:n.jsx(wt,{scope:t.__scopeSelect,onNativeOptionAdd:r.useCallback(N=>{V(H=>new Set(H).add(N))},[]),onNativeOptionRemove:r.useCallback(N=>{V(H=>{const U=new Set(H);return U.delete(N),U})},[]),children:e})}),B?n.jsxs(rt,{"aria-hidden":!0,required:E,tabIndex:-1,name:g,autoComplete:y,value:W,onChange:N=>Y(N.target.value),disabled:b,form:P,children:[W===void 0?n.jsx("option",{value:""}):null,Array.from(q)]},F):null]})})};Me.displayName=ce;var Oe="SelectTrigger",Ae=r.forwardRef((t,o)=>{const{__scopeSelect:e,disabled:c=!1,...a}=t,p=pe(e),l=z(Oe,e),i=l.disabled||c,s=D.useComposedRefs(o,l.onTriggerChange),f=ue(e),g=r.useRef("touch"),[y,b,E]=st(d=>{const v=f().filter(h=>!h.disabled),C=v.find(h=>h.value===l.value),u=ct(v,d,C);u!==void 0&&l.onValueChange(u.value)}),P=d=>{i||(l.onOpenChange(!0),E()),d&&(l.triggerPointerDownPosRef.current={x:Math.round(d.pageX),y:Math.round(d.pageY)})};return n.jsx(ee.Anchor,{asChild:!0,...p,children:n.jsx(j.Primitive.button,{type:"button",role:"combobox","aria-controls":l.contentId,"aria-expanded":l.open,"aria-required":l.required,"aria-autocomplete":"none",dir:l.dir,"data-state":l.open?"open":"closed",disabled:i,"data-disabled":i?"":void 0,"data-placeholder":nt(l.value)?"":void 0,...a,ref:s,onClick:S.composeEventHandlers(a.onClick,d=>{d.currentTarget.focus(),g.current!=="mouse"&&P(d)}),onPointerDown:S.composeEventHandlers(a.onPointerDown,d=>{g.current=d.pointerType;const v=d.target;v.hasPointerCapture(d.pointerId)&&v.releasePointerCapture(d.pointerId),d.button===0&&d.ctrlKey===!1&&d.pointerType==="mouse"&&(P(d),d.preventDefault())}),onKeyDown:S.composeEventHandlers(a.onKeyDown,d=>{const v=y.current!=="";!(d.ctrlKey||d.altKey||d.metaKey)&&d.key.length===1&&b(d.key),!(v&&d.key===" ")&&vt.includes(d.key)&&(P(),d.preventDefault())})})})});Ae.displayName=Oe;var De="SelectValue",Le=r.forwardRef((t,o)=>{const{__scopeSelect:e,className:c,style:a,children:p,placeholder:l="",...i}=t,s=z(De,e),{onValueNodeHasChildrenChange:f}=s,g=p!==void 0,y=D.useComposedRefs(o,s.onValueNodeChange);return S.useLayoutEffect2(()=>{f(g)},[f,g]),n.jsx(j.Primitive.span,{...i,ref:y,style:{pointerEvents:"none"},children:nt(s.value)?n.jsx(n.Fragment,{children:l}):p})});Le.displayName=De;var Ct="SelectIcon",He=r.forwardRef((t,o)=>{const{__scopeSelect:e,children:c,...a}=t;return n.jsx(j.Primitive.span,{"aria-hidden":!0,...a,ref:o,children:c||"▼"})});He.displayName=Ct;var It="SelectPortal",ke=t=>n.jsx(re.Portal,{asChild:!0,...t});ke.displayName=It;var J="SelectContent",Be=r.forwardRef((t,o)=>{const e=z(J,t.__scopeSelect),[c,a]=r.useState();if(S.useLayoutEffect2(()=>{a(new DocumentFragment)},[]),!e.open){const p=c;return p?je.createPortal(n.jsx(Ve,{scope:t.__scopeSelect,children:n.jsx(de.Slot,{scope:t.__scopeSelect,children:n.jsx("div",{children:t.children})})}),p):null}return n.jsx(Fe,{...t,ref:o})});Be.displayName=J;var A=10,[Ve,G]=te(J),Tt="SelectContentImpl",Pt=D.createSlot("SelectContent.RemoveScroll"),Fe=r.forwardRef((t,o)=>{const{__scopeSelect:e,position:c="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:p,onPointerDownOutside:l,side:i,sideOffset:s,align:f,alignOffset:g,arrowPadding:y,collisionBoundary:b,collisionPadding:E,sticky:P,hideWhenDetached:d,avoidCollisions:v,...C}=t,u=z(J,e),[h,M]=r.useState(null),[O,oe]=r.useState(null),R=D.useComposedRefs(o,m=>M(m)),[L,W]=r.useState(null),[Y,k]=r.useState(null),B=ue(e),[q,V]=r.useState(!1),F=r.useRef(!1);r.useEffect(()=>{if(h)return re.hideOthers(h)},[h]),re.useFocusGuards();const N=r.useCallback(m=>{const[T,..._]=B().map(w=>w.ref.current),[I]=_.slice(-1),x=document.activeElement;for(const w of m)if(w===x||(w==null||w.scrollIntoView({block:"nearest"}),w===T&&O&&(O.scrollTop=0),w===I&&O&&(O.scrollTop=O.scrollHeight),w==null||w.focus(),document.activeElement!==x))return},[B,O]),H=r.useCallback(()=>N([L,h]),[N,L,h]);r.useEffect(()=>{q&&H()},[q,H]);const{onOpenChange:U,triggerPointerDownPosRef:$}=u;r.useEffect(()=>{if(h){let m={x:0,y:0};const T=I=>{var x,w;m={x:Math.abs(Math.round(I.pageX)-(((x=$.current)==null?void 0:x.x)??0)),y:Math.abs(Math.round(I.pageY)-(((w=$.current)==null?void 0:w.y)??0))}},_=I=>{m.x<=10&&m.y<=10?I.preventDefault():h.contains(I.target)||U(!1),document.removeEventListener("pointermove",T),$.current=null};return $.current!==null&&(document.addEventListener("pointermove",T),document.addEventListener("pointerup",_,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",T),document.removeEventListener("pointerup",_,{capture:!0})}}},[h,U,$]),r.useEffect(()=>{const m=()=>U(!1);return window.addEventListener("blur",m),window.addEventListener("resize",m),()=>{window.removeEventListener("blur",m),window.removeEventListener("resize",m)}},[U]);const[fe,le]=st(m=>{const T=B().filter(x=>!x.disabled),_=T.find(x=>x.ref.current===document.activeElement),I=ct(T,m,_);I&&setTimeout(()=>I.ref.current.focus())}),me=r.useCallback((m,T,_)=>{const I=!F.current&&!_;(u.value!==void 0&&u.value===T||I)&&(W(m),I&&(F.current=!0))},[u.value]),he=r.useCallback(()=>h==null?void 0:h.focus(),[h]),Q=r.useCallback((m,T,_)=>{const I=!F.current&&!_;(u.value!==void 0&&u.value===T||I)&&k(m)},[u.value]),ie=c==="popper"?xe:Ue,ne=ie===xe?{side:i,sideOffset:s,align:f,alignOffset:g,arrowPadding:y,collisionBoundary:b,collisionPadding:E,sticky:P,hideWhenDetached:d,avoidCollisions:v}:{};return n.jsx(Ve,{scope:e,content:h,viewport:O,onViewportChange:oe,itemRefCallback:me,selectedItem:L,onItemLeave:he,itemTextRefCallback:Q,focusSelectedItem:H,selectedItemText:Y,position:c,isPositioned:q,searchRef:fe,children:n.jsx(re.ReactRemoveScroll,{as:Pt,allowPinchZoom:!0,children:n.jsx(re.FocusScope,{asChild:!0,trapped:u.open,onMountAutoFocus:m=>{m.preventDefault()},onUnmountAutoFocus:S.composeEventHandlers(a,m=>{var T;(T=u.trigger)==null||T.focus({preventScroll:!0}),m.preventDefault()}),children:n.jsx(ft.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:p,onPointerDownOutside:l,onFocusOutside:m=>m.preventDefault(),onDismiss:()=>u.onOpenChange(!1),children:n.jsx(ie,{role:"listbox",id:u.contentId,"data-state":u.open?"open":"closed",dir:u.dir,onContextMenu:m=>m.preventDefault(),...C,...ne,onPlaced:()=>V(!0),ref:R,style:{display:"flex",flexDirection:"column",outline:"none",...C.style},onKeyDown:S.composeEventHandlers(C.onKeyDown,m=>{const T=m.ctrlKey||m.altKey||m.metaKey;if(m.key==="Tab"&&m.preventDefault(),!T&&m.key.length===1&&le(m.key),["ArrowUp","ArrowDown","Home","End"].includes(m.key)){let I=B().filter(x=>!x.disabled).map(x=>x.ref.current);if(["ArrowUp","End"].includes(m.key)&&(I=I.slice().reverse()),["ArrowUp","ArrowDown"].includes(m.key)){const x=m.target,w=I.indexOf(x);I=I.slice(w+1)}setTimeout(()=>N(I)),m.preventDefault()}})})})})})})});Fe.displayName=Tt;var bt="SelectItemAlignedPosition",Ue=r.forwardRef((t,o)=>{const{__scopeSelect:e,onPlaced:c,...a}=t,p=z(J,e),l=G(J,e),[i,s]=r.useState(null),[f,g]=r.useState(null),y=D.useComposedRefs(o,R=>g(R)),b=ue(e),E=r.useRef(!1),P=r.useRef(!0),{viewport:d,selectedItem:v,selectedItemText:C,focusSelectedItem:u}=l,h=r.useCallback(()=>{if(p.trigger&&p.valueNode&&i&&f&&d&&v&&C){const R=p.trigger.getBoundingClientRect(),L=f.getBoundingClientRect(),W=p.valueNode.getBoundingClientRect(),Y=C.getBoundingClientRect();if(p.dir!=="rtl"){const x=Y.left-L.left,w=W.left-x,X=R.left-w,Z=R.width+X,ve=Math.max(Z,L.width),ge=window.innerWidth-A,Se=be(w,[A,Math.max(A,ge-ve)]);i.style.minWidth=Z+"px",i.style.left=Se+"px"}else{const x=L.right-Y.right,w=window.innerWidth-W.right-x,X=window.innerWidth-R.right-w,Z=R.width+X,ve=Math.max(Z,L.width),ge=window.innerWidth-A,Se=be(w,[A,Math.max(A,ge-ve)]);i.style.minWidth=Z+"px",i.style.right=Se+"px"}const k=b(),B=window.innerHeight-A*2,q=d.scrollHeight,V=window.getComputedStyle(f),F=parseInt(V.borderTopWidth,10),N=parseInt(V.paddingTop,10),H=parseInt(V.borderBottomWidth,10),U=parseInt(V.paddingBottom,10),$=F+N+q+U+H,fe=Math.min(v.offsetHeight*5,$),le=window.getComputedStyle(d),me=parseInt(le.paddingTop,10),he=parseInt(le.paddingBottom,10),Q=R.top+R.height/2-A,ie=B-Q,ne=v.offsetHeight/2,m=v.offsetTop+ne,T=F+N+m,_=$-T;if(T<=Q){const x=k.length>0&&v===k[k.length-1].ref.current;i.style.bottom="0px";const w=f.clientHeight-d.offsetTop-d.offsetHeight,X=Math.max(ie,ne+(x?he:0)+w+H),Z=T+X;i.style.height=Z+"px"}else{const x=k.length>0&&v===k[0].ref.current;i.style.top="0px";const X=Math.max(Q,F+d.offsetTop+(x?me:0)+ne)+_;i.style.height=X+"px",d.scrollTop=T-Q+d.offsetTop}i.style.margin=`${A}px 0`,i.style.minHeight=fe+"px",i.style.maxHeight=B+"px",c==null||c(),requestAnimationFrame(()=>E.current=!0)}},[b,p.trigger,p.valueNode,i,f,d,v,C,p.dir,c]);S.useLayoutEffect2(()=>h(),[h]);const[M,O]=r.useState();S.useLayoutEffect2(()=>{f&&O(window.getComputedStyle(f).zIndex)},[f]);const oe=r.useCallback(R=>{R&&P.current===!0&&(h(),u==null||u(),P.current=!1)},[h,u]);return n.jsx(Rt,{scope:e,contentWrapper:i,shouldExpandOnScrollRef:E,onScrollButtonChange:oe,children:n.jsx("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:M},children:n.jsx(j.Primitive.div,{...a,ref:y,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});Ue.displayName=bt;var Et="SelectPopperPosition",xe=r.forwardRef((t,o)=>{const{__scopeSelect:e,align:c="start",collisionPadding:a=A,...p}=t,l=pe(e);return n.jsx(ee.Content,{...l,...p,ref:o,align:c,collisionPadding:a,style:{boxSizing:"border-box",...p.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)"}})});xe.displayName=Et;var[Rt,Pe]=te(J,{}),we="SelectViewport",We=r.forwardRef((t,o)=>{const{__scopeSelect:e,nonce:c,...a}=t,p=G(we,e),l=Pe(we,e),i=D.useComposedRefs(o,p.onViewportChange),s=r.useRef(0);return n.jsxs(n.Fragment,{children:[n.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}"},nonce:c}),n.jsx(de.Slot,{scope:e,children:n.jsx(j.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:i,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:S.composeEventHandlers(a.onScroll,f=>{const g=f.currentTarget,{contentWrapper:y,shouldExpandOnScrollRef:b}=l;if(b!=null&&b.current&&y){const E=Math.abs(s.current-g.scrollTop);if(E>0){const P=window.innerHeight-A*2,d=parseFloat(y.style.minHeight),v=parseFloat(y.style.height),C=Math.max(d,v);if(C<P){const u=C+E,h=Math.min(P,u),M=u-h;y.style.height=h+"px",y.style.bottom==="0px"&&(g.scrollTop=M>0?M:0,y.style.justifyContent="flex-end")}}}s.current=g.scrollTop})})})]})});We.displayName=we;var qe="SelectGroup",[Nt,_t]=te(qe),$e=r.forwardRef((t,o)=>{const{__scopeSelect:e,...c}=t,a=Te.useId();return n.jsx(Nt,{scope:e,id:a,children:n.jsx(j.Primitive.div,{role:"group","aria-labelledby":a,...c,ref:o})})});$e.displayName=qe;var Ke="SelectLabel",ze=r.forwardRef((t,o)=>{const{__scopeSelect:e,...c}=t,a=_t(Ke,e);return n.jsx(j.Primitive.div,{id:a.id,...c,ref:o})});ze.displayName=Ke;var ae="SelectItem",[jt,Ge]=te(ae),Ye=r.forwardRef((t,o)=>{const{__scopeSelect:e,value:c,disabled:a=!1,textValue:p,...l}=t,i=z(ae,e),s=G(ae,e),f=i.value===c,[g,y]=r.useState(p??""),[b,E]=r.useState(!1),P=D.useComposedRefs(o,u=>{var h;return(h=s.itemRefCallback)==null?void 0:h.call(s,u,c,a)}),d=Te.useId(),v=r.useRef("touch"),C=()=>{a||(i.onValueChange(c),i.onOpenChange(!1))};if(c==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return n.jsx(jt,{scope:e,value:c,disabled:a,textId:d,isSelected:f,onItemTextChange:r.useCallback(u=>{y(h=>h||((u==null?void 0:u.textContent)??"").trim())},[]),children:n.jsx(de.ItemSlot,{scope:e,value:c,disabled:a,textValue:g,children:n.jsx(j.Primitive.div,{role:"option","aria-labelledby":d,"data-highlighted":b?"":void 0,"aria-selected":f&&b,"data-state":f?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...l,ref:P,onFocus:S.composeEventHandlers(l.onFocus,()=>E(!0)),onBlur:S.composeEventHandlers(l.onBlur,()=>E(!1)),onClick:S.composeEventHandlers(l.onClick,()=>{v.current!=="mouse"&&C()}),onPointerUp:S.composeEventHandlers(l.onPointerUp,()=>{v.current==="mouse"&&C()}),onPointerDown:S.composeEventHandlers(l.onPointerDown,u=>{v.current=u.pointerType}),onPointerMove:S.composeEventHandlers(l.onPointerMove,u=>{var h;v.current=u.pointerType,a?(h=s.onItemLeave)==null||h.call(s):v.current==="mouse"&&u.currentTarget.focus({preventScroll:!0})}),onPointerLeave:S.composeEventHandlers(l.onPointerLeave,u=>{var h;u.currentTarget===document.activeElement&&((h=s.onItemLeave)==null||h.call(s))}),onKeyDown:S.composeEventHandlers(l.onKeyDown,u=>{var M;((M=s.searchRef)==null?void 0:M.current)!==""&&u.key===" "||(gt.includes(u.key)&&C(),u.key===" "&&u.preventDefault())})})})})});Ye.displayName=ae;var se="SelectItemText",Xe=r.forwardRef((t,o)=>{const{__scopeSelect:e,className:c,style:a,...p}=t,l=z(se,e),i=G(se,e),s=Ge(se,e),f=yt(se,e),[g,y]=r.useState(null),b=D.useComposedRefs(o,C=>y(C),s.onItemTextChange,C=>{var u;return(u=i.itemTextRefCallback)==null?void 0:u.call(i,C,s.value,s.disabled)}),E=g==null?void 0:g.textContent,P=r.useMemo(()=>n.jsx("option",{value:s.value,disabled:s.disabled,children:E},s.value),[s.disabled,s.value,E]),{onNativeOptionAdd:d,onNativeOptionRemove:v}=f;return S.useLayoutEffect2(()=>(d(P),()=>v(P)),[d,v,P]),n.jsxs(n.Fragment,{children:[n.jsx(j.Primitive.span,{id:s.textId,...p,ref:b}),s.isSelected&&l.valueNode&&!l.valueNodeHasChildren?je.createPortal(p.children,l.valueNode):null]})});Xe.displayName=se;var Ze="SelectItemIndicator",Je=r.forwardRef((t,o)=>{const{__scopeSelect:e,...c}=t;return Ge(Ze,e).isSelected?n.jsx(j.Primitive.span,{"aria-hidden":!0,...c,ref:o}):null});Je.displayName=Ze;var ye="SelectScrollUpButton",Qe=r.forwardRef((t,o)=>{const e=G(ye,t.__scopeSelect),c=Pe(ye,t.__scopeSelect),[a,p]=r.useState(!1),l=D.useComposedRefs(o,c.onScrollButtonChange);return S.useLayoutEffect2(()=>{if(e.viewport&&e.isPositioned){let i=function(){const f=s.scrollTop>0;p(f)};const s=e.viewport;return i(),s.addEventListener("scroll",i),()=>s.removeEventListener("scroll",i)}},[e.viewport,e.isPositioned]),a?n.jsx(tt,{...t,ref:l,onAutoScroll:()=>{const{viewport:i,selectedItem:s}=e;i&&s&&(i.scrollTop=i.scrollTop-s.offsetHeight)}}):null});Qe.displayName=ye;var Ce="SelectScrollDownButton",et=r.forwardRef((t,o)=>{const e=G(Ce,t.__scopeSelect),c=Pe(Ce,t.__scopeSelect),[a,p]=r.useState(!1),l=D.useComposedRefs(o,c.onScrollButtonChange);return S.useLayoutEffect2(()=>{if(e.viewport&&e.isPositioned){let i=function(){const f=s.scrollHeight-s.clientHeight,g=Math.ceil(s.scrollTop)<f;p(g)};const s=e.viewport;return i(),s.addEventListener("scroll",i),()=>s.removeEventListener("scroll",i)}},[e.viewport,e.isPositioned]),a?n.jsx(tt,{...t,ref:l,onAutoScroll:()=>{const{viewport:i,selectedItem:s}=e;i&&s&&(i.scrollTop=i.scrollTop+s.offsetHeight)}}):null});et.displayName=Ce;var tt=r.forwardRef((t,o)=>{const{__scopeSelect:e,onAutoScroll:c,...a}=t,p=G("SelectScrollButton",e),l=r.useRef(null),i=ue(e),s=r.useCallback(()=>{l.current!==null&&(window.clearInterval(l.current),l.current=null)},[]);return r.useEffect(()=>()=>s(),[s]),S.useLayoutEffect2(()=>{var g;const f=i().find(y=>y.ref.current===document.activeElement);(g=f==null?void 0:f.ref.current)==null||g.scrollIntoView({block:"nearest"})},[i]),n.jsx(j.Primitive.div,{"aria-hidden":!0,...a,ref:o,style:{flexShrink:0,...a.style},onPointerDown:S.composeEventHandlers(a.onPointerDown,()=>{l.current===null&&(l.current=window.setInterval(c,50))}),onPointerMove:S.composeEventHandlers(a.onPointerMove,()=>{var f;(f=p.onItemLeave)==null||f.call(p),l.current===null&&(l.current=window.setInterval(c,50))}),onPointerLeave:S.composeEventHandlers(a.onPointerLeave,()=>{s()})})}),Mt="SelectSeparator",ot=r.forwardRef((t,o)=>{const{__scopeSelect:e,...c}=t;return n.jsx(j.Primitive.div,{"aria-hidden":!0,...c,ref:o})});ot.displayName=Mt;var Ie="SelectArrow",Ot=r.forwardRef((t,o)=>{const{__scopeSelect:e,...c}=t,a=pe(e),p=z(Ie,e),l=G(Ie,e);return p.open&&l.position==="popper"?n.jsx(ee.Arrow,{...a,...c,ref:o}):null});Ot.displayName=Ie;function nt(t){return t===""||t===void 0}var rt=r.forwardRef((t,o)=>{const{value:e,...c}=t,a=r.useRef(null),p=D.useComposedRefs(o,a),l=mt.usePrevious(e);return r.useEffect(()=>{const i=a.current,s=window.HTMLSelectElement.prototype,g=Object.getOwnPropertyDescriptor(s,"value").set;if(l!==e&&g){const y=new Event("change",{bubbles:!0});g.call(i,e),i.dispatchEvent(y)}},[l,e]),n.jsx(ht.VisuallyHidden,{asChild:!0,children:n.jsx("select",{...c,ref:p,defaultValue:e})})});rt.displayName="BubbleSelect";function st(t){const o=S.useCallbackRef(t),e=r.useRef(""),c=r.useRef(0),a=r.useCallback(l=>{const i=e.current+l;o(i),function s(f){e.current=f,window.clearTimeout(c.current),f!==""&&(c.current=window.setTimeout(()=>s(""),1e3))}(i)},[o]),p=r.useCallback(()=>{e.current="",window.clearTimeout(c.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(c.current),[]),[e,a,p]}function ct(t,o,e){const a=o.length>1&&Array.from(o).every(f=>f===o[0])?o[0]:o,p=e?t.indexOf(e):-1;let l=At(t,Math.max(p,0));a.length===1&&(l=l.filter(f=>f!==e));const s=l.find(f=>f.textValue.toLowerCase().startsWith(a.toLowerCase()));return s!==e?s:void 0}function At(t,o){return t.map((e,c)=>t[(o+c)%t.length])}var Dt=Me,Lt=Ae,Ht=Le,kt=He,Bt=ke,Vt=Be,Ft=We,Ut=$e,Wt=ze,qt=Ye,Ee=Xe,$t=Je,Kt=Qe,zt=et,Gt=ot;/** * @license lucide-react v0.488.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Yt=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],lt=Re.createLucideIcon("chevron-down",Yt);/** * @license lucide-react v0.488.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */const Xt=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],Zt=Re.createLucideIcon("chevron-up",Xt),Jt=Dt,Qt=Ut,eo=Ht,to=({className:t,children:o,...e})=>n.jsxs(Lt,{className:K.cn("border-input bg-surface-primary ring-offset-surface placeholder:text-muted-foreground focus:ring-ring flex h-10 w-full items-center justify-between rounded-md border px-3 py-2 text-sm focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1 [&>span]:text-left",t),...e,children:[o,n.jsx(kt,{asChild:!0,children:n.jsx(lt,{className:"size-4 opacity-50"})})]}),it=({className:t,...o})=>n.jsx(Kt,{className:K.cn("flex cursor-default items-center justify-center py-1",t),...o,children:n.jsx(Zt,{className:"size-4"})}),at=({className:t,...o})=>n.jsx(zt,{className:K.cn("flex cursor-default items-center justify-center py-1",t),...o,children:n.jsx(lt,{className:"size-4"})}),oo=({className:t,children:o,position:e="popper",...c})=>n.jsx(Bt,{children:n.jsxs(Vt,{className:K.cn("animate-entrance-fade-slide bg-popover text-popover-foreground relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border shadow-md",e==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:e,...c,children:[n.jsx(it,{}),n.jsx(Ft,{className:K.cn("p-1",e==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:o}),n.jsx(at,{})]})}),no=({className:t,...o})=>n.jsx(Wt,{className:K.cn("py-1.5 pr-2 pl-8 text-sm font-semibold",t),...o}),ro=({className:t,children:o,itemText:e,...c})=>n.jsxs(qt,{className:K.cn("focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50",t),...c,children:[n.jsx("span",{className:"absolute top-0 left-2 flex h-full w-3.5 items-center justify-center",children:n.jsx($t,{children:n.jsx(dt.Check,{className:"size-4"})})}),e?n.jsxs(n.Fragment,{children:[o,n.jsx("div",{className:"hidden",children:n.jsx(Ee,{className:"hidden",children:e})})]}):n.jsx(Ee,{children:o})]}),so=({className:t,...o})=>n.jsx(Gt,{className:K.cn("bg-muted -mx-1 my-1 h-px",t),...o});exports.Select=Jt;exports.SelectContent=oo;exports.SelectGroup=Qt;exports.SelectItem=ro;exports.SelectLabel=no;exports.SelectScrollDownButton=at;exports.SelectScrollUpButton=it;exports.SelectSeparator=so;exports.SelectTrigger=to;exports.SelectValue=eo;