Files
senmesh-zc/deployment/ow/web/assets/select-C0ycPDDY.js
KodouWZF d39b3b035d feat(部署): 新增 deployment/ 内外网两套按侧部署包
按 demo/ 的写法把交付包改成「角色由目录决定」:iw/ 拷内网机、ow/ 拷外网机,
各自含镜像 tar、SQL、配置与 install.sh,install.sh 不再收 iw/ow 参数。

前端不再打进镜像,改为静态包放在 <侧>/web/ 只读挂进 nginx:1.27-alpine,
现场临时改页面直接替换文件 + restart web 即可。数据仍全部挂宿主机,
子目录命名与 deploy/offline 一致(pgdata/redis/mq/upload/logs/gate),
默认根改为包内 ./volumes,放数据盘只改 .env 的 SFILE_DATA_ROOT。

后端镜像 sfile-app:1.0.1 含传输优化那一批(实测组包 11.4×、解包 9.9×)。
出包脚本 deployment/scripts/build-package.sh 负责 jar→镜像→前端双包→sql→tar→VERSION。
2026-11-04 21:44:56 +08:00

1 line
23 KiB
JavaScript

import{r as e,t}from"./dist-CVuPtwWX.js";import{A as n,Bn as r,E as i,O as a,T as o,Vn as s,Y as c,_ as l,an as u,b as d,dn as f,en as p,f as m,fn as h,h as g,j as _,k as v,l as y,m as b,p as x,qn as S,s as C,sn as w,u as T,v as E,x as ee,zn as D}from"./index-CjPx3lfT.js";import{n as O,t as k}from"./dist-BfmPJzXI.js";var A=h(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),j=Object.defineProperty,M=(e,t)=>j(e,`name`,{value:t,configurable:!0});function N(e,[t,n]){return Math.min(n,Math.max(t,e))}M(N,`clamp`);var P=S(s(),1),F=S(r(),1),I=S(D(),1),L=Object.defineProperty,R=(e,t)=>L(e,`name`,{value:t,configurable:!0}),te={ItemAligned:`item-aligned`,Popper:`popper`},ne={LTR:`ltr`,RTL:`rtl`},z=[` `,`Enter`,`ArrowUp`,`ArrowDown`],B=[` `,`Enter`],V=`Select`,[H,U,W]=O(V),[G,K]=v(V,[W,E]),q=E(),[re,J]=G(V),[ie,ae]=G(V);function oe(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:f,disabled:p,required:m,form:h,internal_do_not_use_render:g}=e,_=q(t),[v,y]=P.useState(null),[x,S]=P.useState(null),[C,w]=P.useState(!1),E=k(l),[ee,D]=T({prop:r,defaultProp:i??!1,onChange:a,caller:V}),[O,A]=T({prop:o,defaultProp:s,onChange:c,caller:V}),j=P.useRef(null),M=P.useRef(!1),[N,F]=P.useState(null),L=R(e=>{F({value:e,hasConsumerStoppedPropagation:M.current}),A(e)},`handleUserSelect`),te=P.useRef(O);P.useEffect(()=>{let e=h?v==null?void 0:v.ownerDocument.getElementById(h):v==null?void 0:v.form;if(e instanceof HTMLFormElement){let t=R(()=>A(te.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[h,v,A]);let ne=v?!!h||!!v.closest(`form`):!0,[z,B]=P.useState(new Set),U=d(),W=Array.from(z).map(e=>e.props.value).join(`;`),G=P.useCallback(e=>{B(t=>new Set(t).add(e))},[]),K=P.useCallback(e=>{B(t=>{let n=new Set(t);return n.delete(e),n})},[]),J={required:m,trigger:v,onTriggerChange:y,valueNode:x,onValueNodeChange:S,valueNodeHasChildren:C,onValueNodeHasChildrenChange:w,contentId:U,value:O,onValueChange:A,hasConsumerStoppedPropagationRef:M,userSelection:N,onUserSelect:L,open:ee,onOpenChange:D,dir:E,triggerPointerDownPosRef:j,disabled:p,name:u,autoComplete:f,form:h,nativeOptions:z,nativeSelectKey:W,isFormControl:ne};return(0,I.jsx)(b,{..._,children:(0,I.jsx)(re,{scope:t,...J,children:(0,I.jsx)(H.Provider,{scope:t,children:(0,I.jsx)(ie,{scope:t,onNativeOptionAdd:G,onNativeOptionRemove:K,children:We(g)?g(J):n})})})})}R(oe,`SelectProvider`);var se=R(e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,I.jsx)(oe,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,I.jsxs)(I.Fragment,{children:[n,e?(0,I.jsx)(Ue,{__scopeSelect:t}):null]})})},`Select`),ce=`SelectTrigger`,le=P.forwardRef(R(function(e,t){let{__scopeSelect:r,disabled:i=!1,...a}=e,o=q(r),s=J(ce,r),l=s.disabled||i,u=w(t,s.onTriggerChange),d=U(r),f=P.useRef(`touch`),[p,m,h]=Ge(e=>{let t=d().filter(e=>!e.disabled),n=Ke(t,e,t.find(e=>e.value===s.value));n!==void 0&&s.onUserSelect(n.value)}),_=R(e=>{l||(s.onOpenChange(!0),h()),e&&(s.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})},`handleOpen`);return(0,I.jsx)(g,{asChild:!0,...o,children:(0,I.jsx)(c.button,{type:`button`,role:`combobox`,"aria-controls":s.open?s.contentId:void 0,"aria-expanded":s.open,"aria-required":s.required,"aria-autocomplete":`none`,dir:s.dir,"data-state":s.open?`open`:`closed`,disabled:l,"data-disabled":l?``:void 0,"data-placeholder":$(s.value)?``:void 0,...a,ref:u,onClick:n(a.onClick,e=>{e.currentTarget.focus(),f.current!==`mouse`&&_(e)}),onPointerDown:n(a.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(_(e),e.preventDefault())}),onKeyDown:n(a.onKeyDown,e=>{let t=p.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&(s.hasConsumerStoppedPropagationRef.current=e.isPropagationStopped(),m(e.key)),!(t&&e.key===` `)&&z.includes(e.key)&&(_(),e.preventDefault())})})})},`SelectTrigger`)),ue=`SelectValue`,de=P.forwardRef(R(function(e,t){let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,l=J(ue,n),{onValueNodeHasChildrenChange:u}=l,d=a!==void 0,f=w(t,l.onValueNodeChange);_(()=>{u(d)},[u,d]);let p=$(l.value);return(0,I.jsx)(c.span,{...s,asChild:p?!1:s.asChild,ref:f,style:{pointerEvents:`none`},children:(0,I.jsx)(P.Fragment,{children:p?o:a},p?`placeholder`:`value`)})},`SelectValue`)),fe=P.forwardRef(R(function(e,t){let{__scopeSelect:n,children:r,...i}=e;return(0,I.jsx)(c.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})},`SelectIcon`)),[pe,me]=G(`SelectPortal`,{forceMount:void 0}),he=R(e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,I.jsx)(pe,{scope:e.__scopeSelect,forceMount:n,children:(0,I.jsx)(x,{asChild:!0,...r})})},`SelectPortal`),Y=`SelectContent`,ge=P.forwardRef(R(function(e,t){let n=me(Y,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=J(Y,e.__scopeSelect),[o,s]=P.useState();return _(()=>{s(new DocumentFragment)},[]),(0,I.jsx)(m,{present:r||a.open,children:({present:e})=>e?(0,I.jsx)(be,{...i,ref:t}):(0,I.jsx)(_e,{...i,fragment:o})})},`SelectContent`)),_e=P.forwardRef(R(function(e,t){let{__scopeSelect:n,children:r,fragment:i}=e;return i?F.createPortal((0,I.jsx)(ve,{scope:n,children:(0,I.jsx)(H.Slot,{scope:n,children:(0,I.jsx)(`div`,{ref:t,children:r})})}),i):null},`SelectContentFragment`)),X=10,[ve,Z]=G(Y),ye=u(`SelectContent.RemoveScroll`),be=P.forwardRef(R(function(e,t){let{__scopeSelect:r}=e,{position:a=te.ItemAligned,onCloseAutoFocus:s,onEscapeKeyDown:c,onPointerDownOutside:l,side:u,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:b,...x}=e,S=J(Y,r),[T,E]=P.useState(null),[D,O]=P.useState(null),k=w(t,E),[A,j]=P.useState(null),[M,N]=P.useState(null),F=U(r),[L,ne]=P.useState(!1),z=P.useRef(!1),B=P.useRef(!1),V=P.useRef(!1);P.useEffect(()=>{if(T)return y(T)},[T]),o();let H=P.useCallback(e=>{let[t,...n]=F().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n==null||n.scrollIntoView({block:`nearest`}),n===t&&D&&(D.scrollTop=0),n===r&&D&&(D.scrollTop=D.scrollHeight),n==null||n.focus(),document.activeElement!==i))return},[F,D]),W=P.useCallback(()=>H([A,T]),[H,A,T]);P.useEffect(()=>{L&&W()},[L,W]);let{onOpenChange:G,triggerPointerDownPosRef:K}=S;P.useEffect(()=>{if(T){let e={x:0,y:0},t=R(t=>{var n,r;e={x:Math.abs(Math.round(t.pageX)-(((n=K.current)==null?void 0:n.x)??0)),y:Math.abs(Math.round(t.pageY)-(((r=K.current)==null?void 0:r.y)??0))}},`handlePointerMove`),n=R(n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(T)||G(!1),document.removeEventListener(`pointermove`,t),K.current=null},`handlePointerUp`);return K.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[T,G,K]),P.useEffect(()=>{let e=R(()=>G(!1),`close`);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[G]);let[q,re]=Ge(e=>{let t=F().filter(e=>!e.disabled),n=Ke(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>{var e;return(e=n.ref.current)==null?void 0:e.focus()})}),ie=P.useCallback((e,t,n)=>{let r=!B.current;r&&(B.current=!0);let i=!z.current&&!n;S.value!==void 0&&S.value===t||i?(j(e),i&&(z.current=!0)):r&&j(e)},[S.value]),ae=P.useCallback(()=>T==null?void 0:T.focus(),[T]),oe=P.useCallback((e,t,n)=>{if(!e)return;let r=!V.current;r&&(V.current=!0);let i=!z.current&&!n;(S.value!==void 0&&S.value===t||i||r)&&N(e)},[S.value]),se=a===te.Popper?Se:xe,ce=se===Se?{side:u,sideOffset:d,align:f,alignOffset:p,arrowPadding:m,collisionBoundary:h,collisionPadding:g,sticky:_,hideWhenDetached:v,avoidCollisions:b}:{};return(0,I.jsx)(ve,{scope:r,content:T,viewport:D,onViewportChange:O,itemRefCallback:ie,selectedItem:A,onItemLeave:ae,itemTextRefCallback:oe,focusSelectedItem:W,selectedItemText:M,position:a,isPositioned:L,searchRef:q,children:(0,I.jsx)(C,{as:ye,allowPinchZoom:!0,children:(0,I.jsx)(ee,{asChild:!0,trapped:S.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:n(s,e=>{var t;(t=S.trigger)==null||t.focus({preventScroll:!0}),e.preventDefault()}),children:(0,I.jsx)(i,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:c,onPointerDownOutside:l,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>S.onOpenChange(!1),children:(0,I.jsx)(se,{role:`listbox`,id:S.contentId,"data-state":S.open?`open`:`closed`,dir:S.dir,onContextMenu:e=>e.preventDefault(),...x,...ce,onPlaced:()=>ne(!0),ref:k,style:{display:`flex`,flexDirection:`column`,outline:`none`,...x.style},onKeyDown:n(x.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&re(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=F().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>H(t)),e.preventDefault()}})})})})})})},`SelectContentImpl`)),xe=P.forwardRef(R(function(e,t){let{__scopeSelect:n,onPlaced:r,...i}=e,a=J(Y,n),o=Z(Y,n),[s,l]=P.useState(null),[u,d]=P.useState(null),f=w(t,d),p=U(n),m=P.useRef(!1),h=P.useRef(!0),{viewport:g,selectedItem:v,selectedItemText:y,focusSelectedItem:b}=o,x=P.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&u&&g&&v&&y){let e=a.trigger.getBoundingClientRect(),t=u.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=y.getBoundingClientRect();if(a.dir!==ne.RTL){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-X,d=N(a,[X,Math.max(X,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-X,d=N(a,[X,Math.max(X,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=p(),c=window.innerHeight-X*2,l=g.scrollHeight,d=window.getComputedStyle(u),f=parseInt(d.borderTopWidth,10),h=parseInt(d.paddingTop,10),_=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=f+h+l+b+_,S=Math.min(v.offsetHeight*5,x),C=window.getComputedStyle(g),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-X,ee=c-E,D=v.offsetHeight/2,O=v.offsetTop+D,k=f+h+O,A=x-k;if(k<=E){let e=o.length>0&&v===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=u.clientHeight-g.offsetTop-g.offsetHeight,n=k+Math.max(ee,D+(e?T:0)+t+_);s.style.height=n+`px`}else{let e=o.length>0&&v===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,f+g.offsetTop+(e?w:0)+D)+A;s.style.height=t+`px`,g.scrollTop=k-E+g.offsetTop}s.style.margin=`${X}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r==null||r(),requestAnimationFrame(()=>m.current=!0)}},[p,a.trigger,a.valueNode,s,u,g,v,y,a.dir,r]);_(()=>x(),[x]);let[S,C]=P.useState();return _(()=>{u&&C(window.getComputedStyle(u).zIndex)},[u]),(0,I.jsx)(Ce,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:m,onScrollButtonChange:P.useCallback(e=>{e&&h.current===!0&&(x(),b==null||b(),h.current=!1)},[x,b]),children:(0,I.jsx)(`div`,{ref:l,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:S},children:(0,I.jsx)(c.div,{...i,ref:f,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})},`SelectItemAlignedPosition`)),Se=P.forwardRef(R(function(e,t){let{__scopeSelect:n,align:r=`start`,collisionPadding:i=X,...a}=e,o=q(n);return(0,I.jsx)(l,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.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)`}})},`SelectPopperPosition`)),[Ce,we]=G(Y,{}),Te=`SelectViewport`,Ee=P.forwardRef(R(function(e,t){let{__scopeSelect:r,nonce:i,...a}=e,o=Z(Te,r),s=we(Te,r),l=w(t,o.onViewportChange),u=P.useRef(0);return(0,I.jsxs)(I.Fragment,{children:[(0,I.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:i}),(0,I.jsx)(H.Slot,{scope:r,children:(0,I.jsx)(c.div,{"data-radix-select-viewport":``,role:`presentation`,...a,ref:l,style:{position:`relative`,flex:1,overflow:`hidden auto`,...a.style},onScroll:n(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=s;if(r!=null&&r.current&&n){let e=Math.abs(u.current-t.scrollTop);if(e>0){let r=window.innerHeight-X*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}u.current=t.scrollTop})})})]})},`SelectViewport`)),[De,Oe]=G(`SelectGroup`),ke=P.forwardRef(R(function(e,t){let{__scopeSelect:n,...r}=e,i=d();return(0,I.jsx)(De,{scope:n,id:i,children:(0,I.jsx)(c.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})},`SelectGroup`)),Ae=`SelectItem`,[je,Me]=G(Ae),Ne=P.forwardRef(R(function(e,t){let{__scopeSelect:r,value:i,disabled:o=!1,textValue:s,...l}=e,u=J(Ae,r),f=Z(Ae,r),p=u.value===i,[m,h]=P.useState(s??``),[g,_]=P.useState(!1),v=w(t,a(e=>{var t;return(t=f.itemRefCallback)==null?void 0:t.call(f,e,i,o)})),y=d(),b=P.useRef(`touch`);function x(e){u.hasConsumerStoppedPropagationRef.current=e.isPropagationStopped(),u.onUserSelect(i),u.onOpenChange(!1)}return R(x,`handleSelect`),(0,I.jsx)(je,{scope:r,value:i,disabled:o,textId:y,isSelected:p,onItemTextChange:P.useCallback(e=>{h(t=>t||((e==null?void 0:e.textContent)??``).trim())},[]),children:(0,I.jsx)(H.ItemSlot,{scope:r,value:i,disabled:o,textValue:m,children:(0,I.jsx)(c.div,{role:`option`,"aria-labelledby":y,"data-highlighted":g?``:void 0,"aria-selected":p&&g,"data-state":p?`checked`:`unchecked`,"aria-disabled":o||void 0,"data-disabled":o?``:void 0,tabIndex:o?void 0:-1,...l,ref:v,onFocus:n(l.onFocus,()=>_(!0)),onBlur:n(l.onBlur,()=>_(!1)),onClick:n(l.onClick,e=>{o||b.current!==`mouse`&&x(e)}),onPointerUp:n(l.onPointerUp,e=>{o||b.current===`mouse`&&x(e)}),onPointerDown:n(l.onPointerDown,e=>{b.current=e.pointerType}),onPointerMove:n(l.onPointerMove,e=>{if(b.current=e.pointerType,o){var t;(t=f.onItemLeave)==null||t.call(f)}else b.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:n(l.onPointerLeave,e=>{if(e.currentTarget===document.activeElement){var t;(t=f.onItemLeave)==null||t.call(f)}}),onKeyDown:n(l.onKeyDown,e=>{var t;o||e.target!==e.currentTarget||((t=f.searchRef)==null?void 0:t.current)!==``&&e.key===` `||(B.includes(e.key)&&x(e),e.key===` `&&e.preventDefault())})})})})},`SelectItem`)),Q=`SelectItemText`,Pe=P.forwardRef(R(function(e,t){let{__scopeSelect:n,className:r,style:i,...o}=e,s=J(Q,n),l=Z(Q,n),u=Me(Q,n),d=ae(Q,n),[f,p]=P.useState(null),m=a(e=>{var t;return(t=l.itemTextRefCallback)==null?void 0:t.call(l,e,u.value,u.disabled)}),h=w(t,p,u.onItemTextChange,m),g=f==null?void 0:f.textContent,v=P.useMemo(()=>(0,I.jsx)(`option`,{value:u.value,disabled:u.disabled,children:g},u.value),[u.disabled,u.value,g]),{onNativeOptionAdd:y,onNativeOptionRemove:b}=d;return _(()=>(y(v),()=>b(v)),[y,b,v]),(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(c.span,{id:u.textId,...o,ref:h}),u.isSelected&&s.valueNode&&!s.valueNodeHasChildren&&!$(s.value)?F.createPortal(o.children,s.valueNode):null]})},`SelectItemText`)),Fe=`SelectItemIndicator`,Ie=P.forwardRef(R(function(e,t){let{__scopeSelect:n,...r}=e;return Me(Fe,n).isSelected?(0,I.jsx)(c.span,{"aria-hidden":!0,...r,ref:t}):null},`SelectItemIndicator`)),Le=`SelectScrollUpButton`,Re=P.forwardRef(R(function(e,t){let n=Z(Le,e.__scopeSelect),r=we(Le,e.__scopeSelect),[i,a]=P.useState(!1),o=w(t,r.onScrollButtonChange);return _(()=>{if(n.viewport&&n.isPositioned){let e=function(){a(t.scrollTop>0)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,I.jsx)(Ve,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null},`SelectScrollUpButton`)),ze=`SelectScrollDownButton`,Be=P.forwardRef(R(function(e,t){let n=Z(ze,e.__scopeSelect),r=we(ze,e.__scopeSelect),[i,a]=P.useState(!1),o=w(t,r.onScrollButtonChange);return _(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;a(Math.ceil(t.scrollTop)<e)};R(e,`handleScroll`);let t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,I.jsx)(Ve,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null},`SelectScrollDownButton`)),Ve=P.forwardRef(R(function(e,t){let{__scopeSelect:r,onAutoScroll:i,...a}=e,o=Z(`SelectScrollButton`,r),s=P.useRef(null),l=U(r),u=P.useCallback(()=>{s.current!==null&&(window.clearInterval(s.current),s.current=null)},[]);return P.useEffect(()=>()=>u(),[u]),_(()=>{var e;let t=l().find(e=>e.ref.current===document.activeElement);t==null||(e=t.ref.current)==null||e.scrollIntoView({block:`nearest`})},[l]),(0,I.jsx)(c.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:n(a.onPointerDown,()=>{s.current===null&&(s.current=window.setInterval(i,50))}),onPointerMove:n(a.onPointerMove,()=>{var e;(e=o.onItemLeave)==null||e.call(o),s.current===null&&(s.current=window.setInterval(i,50))}),onPointerLeave:n(a.onPointerLeave,()=>{u()})})},`SelectScrollButtonImpl`)),He=`SelectBubbleInput`,Ue=P.forwardRef(R(function({__scopeSelect:e,...n},r){let i=J(He,e),{value:a,onValueChange:o,required:s,disabled:l,name:u,autoComplete:d,form:f,userSelection:p}=i,{nativeOptions:m,nativeSelectKey:h}=i,g=P.useRef(null),_=w(r,g),v=a??``,y=P.useRef(v),b=P.useRef(p),x=P.useRef(!1),S=Array.from(m).some(e=>(e.props.value??``)===``);return P.useEffect(()=>{let e=g.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set,r=p!==null&&p!==b.current;b.current=p;let i=y.current!==v;y.current=v;let a=r&&i;if(r&&!i&&p.value!==v&&!p.hasConsumerStoppedPropagation&&n){x.current=!0;try{n.call(e,p.value),e.dispatchEvent(new Event(`change`,{bubbles:!0}))}finally{x.current=!1,n.call(e,v)}return}let o=a&&!p.hasConsumerStoppedPropagation;if(i&&n){let t=new Event(`change`,{bubbles:o});n.call(e,v),e.dispatchEvent(t)}},[v,p]),(0,I.jsxs)(c.select,{"aria-hidden":!0,required:s,tabIndex:-1,name:u,autoComplete:d,disabled:l,form:f,onChange:e=>{x.current||o(e.target.value)},...n,style:{...t,...n.style},ref:_,defaultValue:v,children:[$(a)&&!S?(0,I.jsx)(`option`,{value:``}):null,Array.from(m)]},h)},`SelectBubbleInput`));function We(e){return typeof e==`function`}R(We,`isFunction`);function $(e){return e===``||e===void 0}R($,`shouldShowPlaceholder`);function Ge(e){let t=a(e),n=P.useRef(``),r=P.useRef(0),i=P.useCallback(e=>{let i=n.current+e;t(i);function a(e){n.current=e,window.clearTimeout(r.current),e!==``&&(r.current=window.setTimeout(()=>a(``),1e3))}R(a,`updateSearch`),a(i)},[t]),o=P.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return P.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,o]}R(Ge,`useTypeaheadSearch`);function Ke(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=qe(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}R(Ke,`findNextItem`);function qe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}R(qe,`wrapArray`);function Je({...e}){return(0,I.jsx)(se,{"data-slot":`select`,...e})}function Ye({...e}){return(0,I.jsx)(ke,{"data-slot":`select-group`,...e})}function Xe({...e}){return(0,I.jsx)(de,{"data-slot":`select-value`,...e})}function Ze({className:t,size:n=`default`,children:r,...i}){return(0,I.jsxs)(le,{"data-slot":`select-trigger`,"data-size":n,className:p(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,t),...i,children:[r,(0,I.jsx)(fe,{asChild:!0,children:(0,I.jsx)(e,{className:`size-4 opacity-50`})})]})}function Qe({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,I.jsx)(he,{children:(0,I.jsxs)(ge,{"data-slot":`select-content`,className:p(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-[var(--radix-select-content-available-height)] min-w-[8rem] origin-[var(--radix-select-content-transform-origin)] overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,n===`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`,e),position:n,align:r,...i,children:[(0,I.jsx)(et,{}),(0,I.jsx)(Ee,{className:p(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,I.jsx)(tt,{})]})})}function $e({className:e,children:t,...n}){return(0,I.jsxs)(Ne,{"data-slot":`select-item`,className:p(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_span:last-child]:flex [&_span:last-child]:items-center [&_span:last-child]:space-x-2`,e),...n,children:[(0,I.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,I.jsx)(Ie,{children:(0,I.jsx)(f,{className:`size-4`})})}),(0,I.jsx)(Pe,{children:t})]})}function et({className:e,...t}){return(0,I.jsx)(Re,{"data-slot":`select-scroll-up-button`,className:p(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,I.jsx)(A,{className:`size-4`})})}function tt({className:t,...n}){return(0,I.jsx)(Be,{"data-slot":`select-scroll-down-button`,className:p(`flex cursor-default items-center justify-center py-1`,t),...n,children:(0,I.jsx)(e,{className:`size-4`})})}export{Ze as a,$e as i,Qe as n,Xe as o,Ye as r,Je as t};