@bazza-ui/react 0.1.0-canary.17 → 0.1.0-canary.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/combobox/index.cjs +1 -1
- package/dist/combobox/index.d.ts +3 -3
- package/dist/combobox/index.js +1 -1
- package/dist/command-menu/index.cjs +1 -1
- package/dist/command-menu/index.d.ts +3 -3
- package/dist/command-menu/index.js +1 -1
- package/dist/context-menu/index.cjs +1 -1
- package/dist/context-menu/index.d.ts +3 -3
- package/dist/context-menu/index.js +1 -1
- package/dist/dropdown-menu/index.cjs +1 -1
- package/dist/dropdown-menu/index.d.ts +3 -3
- package/dist/dropdown-menu/index.js +1 -1
- package/dist/{events-DDOsDu4X.d.ts → events-B-l6YIGj.d.ts} +21 -8
- package/dist/{index-Cabqj7qI.d.ts → index-4GT9ubGP.d.ts} +5 -3
- package/dist/{index-D8OrKThQ.d.ts → index-CSt0sBX7.d.ts} +2 -2
- package/dist/internal/listbox/index.d.ts +1 -1
- package/dist/internal/popup-menu/index.cjs +1 -1
- package/dist/internal/popup-menu/index.d.ts +3 -3
- package/dist/internal/popup-menu/index.js +1 -1
- package/dist/loaders/index.d.ts +1 -1
- package/dist/popup-menu-CJs_qom4.js +2 -0
- package/dist/popup-menu-CJs_qom4.js.map +1 -0
- package/dist/popup-menu-MbWB6z4-.cjs +2 -0
- package/dist/popup-menu-MbWB6z4-.cjs.map +1 -0
- package/dist/select/index.cjs +1 -1
- package/dist/select/index.d.ts +3 -3
- package/dist/select/index.js +1 -1
- package/dist/suggestion-menu/index.cjs +1 -1
- package/dist/suggestion-menu/index.d.ts +3 -3
- package/dist/suggestion-menu/index.js +1 -1
- package/package.json +2 -2
- package/dist/popup-menu-BBAzAXIe.cjs +0 -2
- package/dist/popup-menu-BBAzAXIe.cjs.map +0 -1
- package/dist/popup-menu-HmBMJEZc.js +0 -2
- package/dist/popup-menu-HmBMJEZc.js.map +0 -1
package/dist/select/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../rolldown-runtime-5lHFv1cW.cjs"),t=require("../popup-menu-BBAzAXIe.cjs"),n=require("../listbox-DYvJTiF6.cjs"),r=require("../resolve-state-props-C-zbhdXd.cjs"),i=require("../merge-element-props-0mpNO7ZH.cjs"),a=require("../items-DYDljwnt.cjs");let o=require("react");o=e.n(o,1);let s=require("@base-ui/react/popover"),c=require("react/jsx-runtime"),l=require("@base-ui/react/use-render"),u=require("@base-ui/react/internals/direction-context");const d=o.createContext(null);function f(){let e=o.useContext(d);if(!e)throw Error(`Select components must be used within a Select.Root`);return e}function p(){return o.useContext(d)}const m={slot:`bazzaui-select-item`,highlighted:`data-highlighted`,disabled:`data-disabled`,selected:`data-selected`,first:`data-first`,last:`data-last`,firstInGroup:`data-first-in-group`,lastInGroup:`data-last-in-group`},h=o.createContext(null);function g(){let e=o.useContext(h);if(!e)throw Error(`Select.Item child components must be used within a Select.Item`);return e}function _(){return o.useContext(h)}const v={highlighted:e=>e?{[m.highlighted]:``}:null,disabled:e=>e?{[m.disabled]:``}:null,selected:e=>e?{[m.selected]:``}:null,first:e=>e?{[m.first]:``}:null,last:e=>e?{[m.last]:``}:null,firstInGroup:e=>e?{[m.firstInGroup]:``}:null,lastInGroup:e=>e?{[m.lastInGroup]:``}:null};function y(e,n){let{value:i,textValue:s,keywords:u,disabled:d=!1,onSelect:p,forceMount:g=!1,render:_,className:y,style:b,onClick:x,onPointerDown:S,onPointerMove:C,children:w,...T}=e,E=f(),D=o.useMemo(()=>t.q(i,E.itemToStringValue),[i,E.itemToStringValue]),O=o.useId(),k=i===null?`select-clear-${O}`:void 0,A=o.useMemo(()=>a.n(E.items,D),[E.items,D]),j=A?.label,M=o.useMemo(()=>t.K(i,E.itemToStringLabel),[i,E.itemToStringLabel]),N=o.useMemo(()=>{if(s!==void 0)return s;if(typeof j==`string`)return j;if(M&&M!==D)return M},[s,j,M,D]),P=o.useMemo(()=>a.t(u,[typeof j==`string`?j:M&&M!==D?M:void 0,...A?.keywords??[]]),[u,j,M,D,A]),F=o.useRef(N),I=E.multiple?a.o(E.values,i,E.isItemEqualToValue):E.value!==``&&a.i(E.value,i,E.isItemEqualToValue),L=!E.multiple,R=t.J({id:k,value:D,keywords:P,disabled:d,forceMount:g,closeOnClick:L,children:w});o.useEffect(()=>R.registerSelect(()=>{if(!d){if(E.multiple){if(i==null)E.onValuesChange([]);else{let e=I?a.s(E.values,i,E.isItemEqualToValue):[...E.values,i];E.onValuesChange(e)}}else E.onValueChange(i);p?.()}}),[d,E,i,I,p,R]),o.useEffect(()=>{let e=F.current;if(e)return E.registerItemText(D,e)},[D,E]),o.useEffect(()=>{!N&&typeof w==`string`&&(F.current=w,E.registerItemText(D,w))},[w,N,D,E]);let z=o.useMemo(()=>({highlighted:R.isHighlighted,disabled:d,selected:I,first:R.positional.first,last:R.positional.last,firstInGroup:R.positional.firstInGroup,lastInGroup:R.positional.lastInGroup}),[R.isHighlighted,d,I,R.positional]),ee=o.useMemo(()=>({id:R.id,value:i,textValue:N,highlighted:R.isHighlighted,disabled:d,selected:I}),[R.id,i,N,R.isHighlighted,d,I]),B=o.useCallback(e=>{x?.(e),e.defaultPrevented||R.handlers.onClick(e)},[x,R.handlers]),te=o.useCallback(e=>{R.handlers.onPointerDown(e),S?.(e)},[R.handlers,S]),V=o.useCallback(e=>{C?.(e),e.defaultPrevented||R.handlers.onPointerMove(e)},[C,R.handlers]),H=(0,l.useRender)({render:_,ref:[R.ref,R.rowRef,n],state:z,stateAttributesMapping:v,props:{...T,[m.slot]:``,id:R.id,role:`option`,tabIndex:-1,"aria-selected":I,"aria-disabled":d||void 0,className:r.n(y,z),style:r.r(b,z),onClick:B,onPointerMove:V,onPointerDown:te,children:w},enabled:R.isVisible,defaultTagName:`div`});return R.isVisible?/* @__PURE__ */ (0,c.jsx)(h.Provider,{value:ee,children:H}):null}const b=o.forwardRef(y),x={slot:`bazzaui-select-item-indicator`,selected:`data-selected`,highlighted:`data-highlighted`},S={selected:e=>e?{[x.selected]:``}:null,highlighted:e=>e?{[x.highlighted]:``}:null},C=o.forwardRef(function(e,t){let{render:n,className:i,style:a,forceMount:s=!1,keepMounted:c=!1,children:u,...d}=e,f=g(),p=f.selected,m=f.highlighted,h=o.useMemo(()=>({selected:p,highlighted:m}),[p,m]),_=s||c||p,v=typeof u==`function`?u(h):c&&!p?null:u,y=(0,l.useRender)({render:n,ref:t,state:h,stateAttributesMapping:S,props:{...d,[x.slot]:``,"aria-hidden":!0,className:r.n(i,h),style:r.r(a,h),children:v},defaultTagName:`span`});return _?y:null}),w={slot:`bazzaui-select-item-label`},T=o.forwardRef(function(e,n){let{render:i,className:s,style:c,children:u,...d}=e,p=f(),m=g(),h=o.useRef(null),_=t.q(m.value,p.itemToStringValue),v=o.useMemo(()=>{if(u!==void 0)return u;let e=a.r(p.items,_);return e===void 0?m.textValue===void 0?_:m.textValue:e},[u,p.items,_,m.textValue]),y=o.useMemo(()=>({value:_,selected:m.selected,highlighted:m.highlighted,disabled:m.disabled}),[_,m.selected,m.highlighted,m.disabled]);o.useEffect(()=>{if(typeof v==`string`)return p.registerItemText(_,v)},[v,p,_]);let b=o.useCallback(e=>{h.current=e,m.selected&&e&&(p.selectedItemTextRef.current=e),e&&!m.disabled&&(p.firstItemTextRef.current||(p.firstItemTextRef.current=e))},[m.selected,m.disabled,p]);return(0,l.useRender)({render:i,ref:n,state:y,props:{...d,[w.slot]:``,ref:b,className:r.n(s,y),style:r.r(c,y),children:v},defaultTagName:`span`})}),E=o.createContext(null);function D(){return o.useContext(E)}const O=o.forwardRef(function(e,n){let{className:r,render:i,...a}=e,s=D(),l=s?.alignItemWithTriggerActive??!1,u=s?.align,d=o.useCallback(e=>({...e,side:l?`none`:e.side,alignItemWithTriggerActive:l}),[l]),f=o.useMemo(()=>typeof r==`function`?e=>r(d(e)):r,[r,d]),p=o.useMemo(()=>typeof i==`function`?(e,t)=>i(e,d(t)):i,[i,d]);return/* @__PURE__ */ (0,c.jsx)(t.tt,{ref:n,className:f,render:p,"data-align-item-with-trigger":l?``:void 0,...l?{"data-side":`none`,"data-align":u}:{},...a})});function k(e,t,n){return e<t?t:e>n?n:e}function A(e){let t=e.getBoundingClientRect(),{offsetWidth:n,offsetHeight:r}=e,i=n>0?Math.round(t.width)/n:1,a=r>0?Math.round(t.height)/r:1;return(!Number.isFinite(i)||i===0)&&(i=1),(!Number.isFinite(a)||a===0)&&(a=1),{x:i,y:a}}function j(e,t,n){return e/n[t]}function M(e,t){let n=e.x/t.x,r=e.y/t.y,i=e.width/t.x,a=e.height/t.y;return{x:n,y:r,width:i,height:a,top:r,left:n,right:n+i,bottom:r+a}}function N(e,t){return Math.max(0,e-t)}function P(e){let{triggerRect:t,positionerRect:n,valueRect:r,textRect:i,scrollHeight:a,documentClientHeight:o,documentClientWidth:s,marginTop:c,marginBottom:l,minHeight:u,maxPopupHeight:d,borderBottom:f,direction:p}=e,m=()=>({fallback:!0,left:0,isTopPositioned:!1,top:0,height:0,scrollTop:0,marginTop:c,marginBottom:l,reachedMaxHeight:!1,transformOrigin:null}),h=o-c-l,g=s,_=t.height,v=h-t.bottom+_,y=p===`rtl`?t.right-n.width:t.left,b=0,x=null;if(i&&r){y=n.left+(p===`rtl`?r.right-i.right:r.left-i.left);let e=r.top-t.top+r.height/2;b=i.top-n.top+i.height/2-e,x=i.top+i.height/2}let S=v+b+l+f,C=Math.min(h,S),w=h-c-l,T=S-C,E=g-5,D=k(y,5,E-n.width),O=N(a,C),A=T>=O-1;if(A&&(C=Math.min(h,n.height)-(T-O)),t.top<20||t.bottom>h-20||Math.ceil(C)+1<Math.min(a,u))return m();let j=Math.max(u,C),M=l+f-c,P=0,F=T;if(A){let e=Math.max(0,h-S);P=n.height>=w?0:Math.max(0,e+M),F=O}else F=Math.max(0,T-M);let I=null;if(x!=null){let e=n.top,t=n.height;I=`50% ${k(t>0?(x-e)/t*100:50,0,100)}%`}return{fallback:!1,left:D,isTopPositioned:A,top:P,height:C,scrollTop:F,marginTop:c,marginBottom:l,reachedMaxHeight:j===h||C>=d,transformOrigin:I}}function F(e){let{isTopPositioned:t,currentHeight:n,scrollTop:r,maxScrollTop:i,maxAvailableHeight:a}=e,o=t?i-r:r;if(o<=1){let e=k(o,0,a-n),r=n+e;return{height:e>0?r:null,scroll:{kind:`set`,value:t?i:0},reachedMaxHeight:a-r<=1}}let s=Math.min(n+o,a),c={kind:`none`},l=!1;a-s>1?c=t?{kind:`max`}:{kind:`clamp`,value:0}:(l=!0,!t&&r<i&&(c={kind:`clamp`,value:r-(o-(n+o-a))}));let u=Math.ceil(s);return{height:u,scroll:c,reachedMaxHeight:l||u>=a-1}}const I={slot:`bazzaui-select-positioner`},L=o.forwardRef(function(e,i){let{alignItemWithTrigger:a=!0,side:l=`bottom`,align:d=`start`,sideOffset:p=0,className:m,style:h,children:g,..._}=e,v=t.It(),y=f(),b=(0,u.useDirection)()===`rtl`?`rtl`:`ltr`,x=v.store,S=x.useState(`open`),C=x.useState(`openMethod`),w=x.useState(`hasInput`),[T,D]=o.useState(a),O=T&&C!==`touch`&&!w,[L,B]=o.useState(!1),[V,H]=o.useState(null),U=o.useRef(null),W=o.useRef(null),ne=o.useRef(null),G=o.useRef(!1),K=o.useRef(!1),q=o.useCallback(()=>{let e=U.current,t=x.context.refs.popupRef.current;e&&(e.style.height=``),t&&(t.style.height=``,t.style.removeProperty(`--transform-origin`)),G.current=!1,K.current=!1},[x]),J=o.useCallback(()=>{q(),D(a),B(!1),H(null)},[a,q]);o.useEffect(()=>y.registerResetPositioningCallback(J),[y,J]);let Y=o.useCallback(()=>{if(x.state.hasInput)return;let e=U.current,t=y.triggerRef.current,n=x.context.refs.popupRef.current,r=x.context.refs.listRef.current;if(!e||!t||!n||!r)return;let i=y.selectedItemTextRef.current;if(!i?.isConnected){let e=y.firstItemTextRef.current;i=e?.isConnected?e:null}let a=y.valueRef.current,o=te(n),s;try{let o=R(e),c=e.ownerDocument,l=A(t),u=o.getComputedStyle(e),d=o.getComputedStyle(n);s=P({triggerRect:M(t.getBoundingClientRect(),l),positionerRect:M(e.getBoundingClientRect(),l),valueRect:a?M(a.getBoundingClientRect(),l):null,textRect:i?M(i.getBoundingClientRect(),l):null,scrollHeight:r.scrollHeight,documentClientHeight:c.documentElement.clientHeight,documentClientWidth:c.documentElement.clientWidth,marginTop:Number.parseFloat(u.marginTop)||10,marginBottom:Number.parseFloat(u.marginBottom)||10,minHeight:Number.parseFloat(u.minHeight)||100,maxPopupHeight:z(d),borderBottom:Number.parseFloat(d.borderBottomWidth)||0,direction:b});let f=(o.visualViewport?.scale??1)!==1&&ee(o);if(s.fallback||f){D(!1),B(!0);return}e.style.height=`${s.height}px`,n.style.height=`100%`,s.transformOrigin&&n.style.setProperty(`--transform-origin`,s.transformOrigin),r.scrollTop=s.scrollTop,G.current=s.reachedMaxHeight,K.current=!0}finally{o()}H({left:s.left,top:s.isTopPositioned?s.top:null,bottom:s.isTopPositioned?null:0,marginTop:s.marginTop,marginBottom:s.marginBottom}),B(!0)},[x,y,b]);o.useEffect(()=>{S&&O&&!L&&Y()},[S,O,L,Y]),o.useEffect(()=>{S&&!O&&q()},[S,O,q]),o.useEffect(()=>{if(!S||!O)return;let e=U.current,t=e?R(e):window,r=e=>{x.setOpen(!1,n.j,e)};return t.addEventListener(`resize`,r),()=>{t.removeEventListener(`resize`,r)}},[S,O,x]);let X=o.useCallback(e=>{let t=U.current,n=x.context.refs.popupRef.current;if(!t||!n||!K.current||G.current||!O)return;let r=t.style.top===`0px`,i=t.style.bottom===`0px`;if(!r&&!i)return;let a=R(t),o=t.ownerDocument,s=A(t),c=j(t.getBoundingClientRect().height,`y`,s),l=a.getComputedStyle(t),u=Number.parseFloat(l.marginTop)||0,d=Number.parseFloat(l.marginBottom)||0,f=z(a.getComputedStyle(n)),p=Math.min(o.documentElement.clientHeight-u-d,f),m=F({isTopPositioned:r,currentHeight:c,scrollTop:e.scrollTop,maxScrollTop:N(e.scrollHeight,e.clientHeight),maxAvailableHeight:p});switch(m.height!=null&&(t.style.height=`${m.height}px`),m.scroll.kind){case`set`:e.scrollTop=m.scroll.value;break;case`max`:{let t=N(e.scrollHeight,e.clientHeight);Math.abs(e.scrollTop-t)>1&&(e.scrollTop=t);break}case`clamp`:{let t=N(e.scrollHeight,e.clientHeight),n=k(m.scroll.value,0,t);Math.abs(e.scrollTop-n)>1&&(e.scrollTop=n);break}}m.reachedMaxHeight&&(G.current=!0)},[x,O]);o.useEffect(()=>{if(!S||!O||!L)return;let e=x.context.refs.listRef.current;if(!e)return;let t=()=>X(e);return e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[S,O,L,X,x]);let Z=O?`none`:l,re=o.useMemo(()=>({alignItemWithTriggerActive:O,side:Z,align:d,scrollUpArrowRef:W,scrollDownArrowRef:ne,setAlignItemWithTriggerActive:D,resetPositioningState:J}),[O,Z,d,J]),ie=o.useCallback(e=>{U.current=e,typeof i==`function`?i(e):i&&(i.current=e)},[i]),ae=S&&O&&!L,oe=O&&V?{position:`fixed`,transform:`none`,left:V.left,top:V.top??`auto`,bottom:V.bottom??`auto`,marginTop:V.marginTop,marginBottom:V.marginBottom,maxHeight:`none`}:{};return/* @__PURE__ */ (0,c.jsx)(E.Provider,{value:re,children:/* @__PURE__ */ (0,c.jsx)(s.Popover.Positioner,{ref:ie,side:O?void 0:l,align:O?void 0:d,sideOffset:O?0:p,disableAnchorTracking:O||void 0,className:m,style:r.t(h,e=>({...e,...oe,...ae?{visibility:`hidden`}:{}})),...O?{"data-side":`none`,"data-align":d}:{},[I.slot]:``,..._,children:g})})});function R(e){return e.ownerDocument?.defaultView??window}function z(e){let t=e.maxHeight||``;return t.endsWith(`px`)&&Number.parseFloat(t)||1/0}function ee(e){let t=e.navigator;return t?/AppleWebKit/.test(t.userAgent)&&!/Chrome|Chromium|Edg|OPR/.test(t.userAgent):!1}const B=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function te(e){let{style:t}=e,n={};for(let[e,r]of B)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of B){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}function V(e){let{open:n,onOpenChange:r,onOpenChangeComplete:i,actionsRef:l,defaultOpen:u=!1,value:f,defaultValue:p,onValueChange:m,multiple:h=!1,values:g,defaultValues:_,onValuesChange:v,isItemEqualToValue:y=a.a,itemToStringLabel:b,itemToStringValue:x,name:S,form:C,required:w,disabled:T=!1,placeholder:E=`Select...`,items:D,modal:O=!0,closeOnOutsidePress:k=`pointerdown`,virtualized:A=!1,virtualItems:j,onHighlightChange:M,debug:N,children:P,...F}=e,I=o.useCallback((e,t,n,r)=>M?.(e,n,r),[M]),L=o.useId(),R=o.useRef(null),z=o.useRef(null),ee=o.useRef(null),B=o.useRef(null),te=o.useCallback(e=>{R.current=e},[]),V=o.useCallback(e=>{z.current=e},[]),H=o.useRef(null),U=o.useCallback(e=>(H.current=e,()=>{H.current=null}),[]),{store:W,focusOwnerStore:ne,openChainStore:G,registerSurface:K,closeAll:q,virtualization:J,handleOpenChange:Y,disabled:X,setDisabled:Z,menuTreeResolver:re}=t.St({onOpenChange:r,defaultOpen:u,virtualized:A,items:j,onHighlightChange:I,closeOnOutsidePress:k,disabled:T}),ie=o.useRef(null);o.useImperativeHandle(l,()=>({close:()=>{ie.current?.close()},unmount:()=>{ie.current?.unmount()},setDisabled:Z}),[Z]),W.useControlledProp(`openProp`,n);let ae=W.useState(`open`),[oe,se]=o.useState(p===void 0?null:p),Q=f===void 0?oe:f,ce=o.useCallback(e=>{f===void 0&&se(e),m?.(e)},[f,m]),[le,ue]=o.useState(_??[]),$=g===void 0?le:g,de=o.useCallback(e=>{g===void 0&&ue(e),v?.(e)},[g,v]),fe=o.useRef(/* @__PURE__ */ new Map),pe=o.useCallback((e,t)=>(fe.current.set(e,t),()=>{}),[]),me=o.useMemo(()=>({multiple:h,value:Q,values:$,onValueChange:ce,onValuesChange:de,isItemEqualToValue:y,itemToStringLabel:b,itemToStringValue:x,name:S,form:C,required:w,disabled:X,placeholder:E,items:D,itemTextRegistry:fe.current,registerItemText:pe,listId:L,triggerRef:R,valueRef:z,selectedItemTextRef:ee,firstItemTextRef:B,setTriggerElement:te,setValueElement:V,registerResetPositioningCallback:U}),[h,Q,$,ce,de,y,b,x,S,C,w,X,E,D,pe,L,te,V,U]),he=o.useMemo(()=>S?h?$.length>0?$.map((e,n)=>{let r=t.q(e,x);return/* @__PURE__ */ (0,c.jsx)(`input`,{type:`hidden`,name:S,value:r,form:C,required:w&&n===0},r)}):/* @__PURE__ */ (0,c.jsx)(`input`,{type:`hidden`,name:S,value:``,form:C,required:w}):/* @__PURE__ */ (0,c.jsx)(`input`,{type:`hidden`,name:S,value:Q==null?``:t.q(Q,x),form:C,required:w}):null,[S,C,w,h,Q,$,x]),ge=o.useCallback((e,t)=>{Y(e,t.reason,t.event)},[Y]),_e=o.useCallback(e=>{!e&&W.context.clearSearchOnClose===`after-exit`&&(W.clearSearch(),W.setInputActive(!1)),e||(W.clearHighlight(),H.current?.(),B.current=null),i?.(e)},[W,i]);return/* @__PURE__ */ (0,c.jsx)(d.Provider,{value:me,children:/* @__PURE__ */ (0,c.jsxs)(t.Z,{menuTreeResolver:re,store:W,focusOwnerStore:ne,openChainStore:G,disabled:X,depth:0,closeAll:q,registerSurface:K,virtualization:J,menuType:`dropdown`,closeOnOutsidePress:k,componentName:`select`,debug:N,children:[he,/* @__PURE__ */ (0,c.jsx)(s.Popover.Root,{...F,open:ae,onOpenChange:ge,onOpenChangeComplete:_e,modal:O,actionsRef:l?ie:void 0,children:P})]})})}const H={slot:`bazzaui-select-surface`},U=o.forwardRef(function(e,n){let{autoHighlightFirst:r,...i}=e,a=f(),s=D(),l=o.useMemo(()=>{let e=e=>t.G(e)?!0:t.q(e,a.itemToStringValue);return r===`selected`?e(a.multiple?a.values[0]:a.value):r===void 0?!s?.alignItemWithTriggerActive||e(a.multiple?a.values[0]:a.value):r},[r,s?.alignItemWithTriggerActive,a.multiple,a.value,a.values,a.itemToStringValue]);return/* @__PURE__ */ (0,c.jsx)(t.D,{ref:n,autoHighlightFirst:l,[H.slot]:``,...i})}),W={slot:`bazzaui-select-trigger`,open:`data-open`,closed:`data-closed`,disabled:`data-disabled`,placeholder:`data-placeholder`},ne={open:e=>e?{[W.open]:``}:null,disabled:e=>e?{[W.disabled]:``}:null,placeholder:e=>e?{[W.placeholder]:``}:null},G=o.forwardRef(function(e,n){let{render:a,children:s,disabled:c,className:u,style:d,triggerProps:p,triggerState:m,...h}=e,g=f(),_=c??g.disabled,v=g.multiple?g.values.length>0:!t.G(g.value),y=o.useMemo(()=>({open:m.open,disabled:_,placeholder:!v}),[m.open,_,v]),b=o.useCallback(e=>{g.setTriggerElement(e)},[g]);return(0,l.useRender)({render:a,ref:n,state:y,stateAttributesMapping:ne,props:{...i.t(p,{...h,className:r.n(u,y),style:r.r(d,y),children:s}),[W.slot]:``,ref:b,role:`combobox`,"aria-haspopup":`listbox`,"aria-controls":g.listId},defaultTagName:`button`})}),K=o.forwardRef(function(e,r){let{disabled:i,openOnHover:a,delay:l=100,closeDelay:u,...d}=e,p=f(),m=t.It(),{store:h,closeAll:g,closeOnOutsidePress:_}=m,v=(i??p.disabled)||m.disabled,y=h.useState(`open`),b=o.useRef(null),x=o.useCallback(e=>{b.current=e,typeof r==`function`?r(e):r&&(r.current=e)},[r]);return o.useEffect(()=>{let e=b.current;if(!e||_!==`pointerdown`)return;let t=t=>{y&&(g(n.F,t),e.addEventListener(`click`,e=>{e.stopPropagation(),e.preventDefault()},{once:!0,capture:!0}))};return e.addEventListener(`pointerdown`,t,!0),()=>{e.removeEventListener(`pointerdown`,t,!0)}},[y,g,_]),/* @__PURE__ */ (0,c.jsx)(s.Popover.Trigger,{ref:x,disabled:v,openOnHover:a,delay:l,closeDelay:u,render:(e,t)=>/* @__PURE__ */ (0,c.jsx)(G,{...d,disabled:v,triggerProps:e,triggerState:t,ref:e.ref})})}),q={slot:`bazzaui-select-value`,placeholder:`data-placeholder`,multiple:`data-multiple`},J={hasValue:e=>e?null:{[q.placeholder]:``},multiple:e=>e?{[q.multiple]:``}:null,getValueText:()=>null};function Y(e,n){let{render:i,className:s,style:c,placeholder:u,children:d,...p}=e,m=f(),h=u??m.placeholder,g=o.useMemo(()=>a.r(m.items,``),[m.items]),_=u??g??h,v=m.multiple?m.values.length>0:!t.G(m.value),y=o.useCallback(e=>{let n=t.q(e,m.itemToStringValue),r=m.itemTextRegistry.get(n);if(r!==void 0)return r;let i=a.r(m.items,n);if(i!==void 0)return i;let o=t.K(e,m.itemToStringLabel);if(o&&o!==n)return o},[m.itemTextRegistry,m.items,m.itemToStringLabel,m.itemToStringValue]),b=o.useMemo(()=>({value:m.value,values:m.values,multiple:m.multiple,hasValue:v,placeholder:h,getValueText:y}),[m.value,m.values,m.multiple,v,h,y]),x;if(typeof d==`function`)x=d(b);else if(d!==void 0)x=d;else if(!v)x=_;else if(m.multiple){let e=m.values.map(e=>{let n=y(e);return n===void 0?t.K(e,m.itemToStringLabel)||t.q(e,m.itemToStringValue):n}).filter(Boolean);x=e.length>2?`${e.length} selected`:e.join(`, `)}else{let e=m.value;if(e!=null){let n=y(e);x=n===void 0?t.K(e,m.itemToStringLabel)||t.q(e,m.itemToStringValue):n}}let S=o.useCallback(e=>{m.setValueElement(e)},[m]);return(0,l.useRender)({render:i,ref:n,state:b,stateAttributesMapping:J,props:{...p,[q.slot]:``,ref:S,className:r.n(s,b),style:r.r(c,b),children:x},defaultTagName:`span`})}const X=o.forwardRef(Y);var Z=/* @__PURE__ */ e.t({Arrow:()=>t.bt,Backdrop:()=>t.yt,Empty:()=>t.U,Group:()=>t.h,GroupLabel:()=>t.V,Icon:()=>t.W,Input:()=>t.H,Item:()=>b,ItemIndicator:()=>C,ItemLabel:()=>T,List:()=>t.M,Popup:()=>O,Portal:()=>t.et,Positioner:()=>L,Root:()=>V,ScrollDownArrow:()=>t.k,ScrollUpArrow:()=>t.A,Separator:()=>t.f,Surface:()=>U,Trigger:()=>K,Value:()=>X});let re=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-arrow`,e.open=`data-open`,e.closed=`data-closed`,e.side=`data-side`,e.align=`data-align`,e.uncentered=`data-uncentered`,e}({}),ie=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-backdrop`,e.open=`data-open`,e.closed=`data-closed`,e.startingStyle=`data-starting-style`,e.endingStyle=`data-ending-style`,e}({}),ae=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-empty`,e}({}),oe=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-group`,e}({}),se=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-group-label`,e}({});const Q={slot:`bazzaui-select-icon`,open:`data-popup-open`};let ce=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-input`,e.open=`data-open`,e.closed=`data-closed`,e}({}),le=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-list`,e.list=`data-popup-menu-list`,e}({}),ue=/* @__PURE__ */ function(e){return e.alignItemWithTrigger=`data-align-item-with-trigger`,e}({});const $={slotUp:`bazzaui-select-scroll-up-arrow`,slotDown:`bazzaui-select-scroll-down-arrow`,direction:`data-direction`,side:`data-side`};let de=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-separator`,e}({});Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return Z}}),exports.SelectArrowDataAttributes=re,exports.SelectBackdropDataAttributes=ie,exports.SelectEmptyDataAttributes=ae,exports.SelectGroupDataAttributes=oe,exports.SelectGroupLabelDataAttributes=se,exports.SelectIconDataAttributes=Q,exports.SelectInputDataAttributes=ce,exports.SelectItem=b,exports.SelectItemDataAttributes=m,exports.SelectItemIndicator=C,exports.SelectItemIndicatorDataAttributes=x,exports.SelectItemLabel=T,exports.SelectListCssVars=t.N,exports.SelectListDataAttributes=le,exports.SelectPopup=O,exports.SelectPopupDataAttributes=ue,exports.SelectPositioner=L,exports.SelectPositionerCssVars=t.$,exports.SelectPositionerDataAttributes=I,exports.SelectRoot=V,exports.SelectScrollArrowDataAttributes=$,exports.SelectSeparatorDataAttributes=de,exports.SelectStore=n.t,exports.SelectSurface=U,exports.SelectTrigger=K,exports.SelectTriggerDataAttributes=W,exports.SelectValue=X,exports.commandScore=n.n,exports.defaultFilter=n.r,exports.useMaybeSelectContext=p,exports.useMaybeSelectItemContext=_,exports.useMaybeSurfaceContext=n.u,exports.useSelectContext=f,exports.useSelectItemContext=g,exports.useSelectPositionerContext=D,exports.useSurfaceContext=n.d;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../rolldown-runtime-5lHFv1cW.cjs"),t=require("../popup-menu-MbWB6z4-.cjs"),n=require("../listbox-DYvJTiF6.cjs"),r=require("../resolve-state-props-C-zbhdXd.cjs"),i=require("../merge-element-props-0mpNO7ZH.cjs"),a=require("../items-DYDljwnt.cjs");let o=require("react");o=e.n(o,1);let s=require("@base-ui/react/popover"),c=require("react/jsx-runtime"),l=require("@base-ui/react/use-render"),u=require("@base-ui/react/internals/direction-context");const d=o.createContext(null);function f(){let e=o.useContext(d);if(!e)throw Error(`Select components must be used within a Select.Root`);return e}function p(){return o.useContext(d)}const m={slot:`bazzaui-select-item`,highlighted:`data-highlighted`,disabled:`data-disabled`,selected:`data-selected`,first:`data-first`,last:`data-last`,firstInGroup:`data-first-in-group`,lastInGroup:`data-last-in-group`},h=o.createContext(null);function g(){let e=o.useContext(h);if(!e)throw Error(`Select.Item child components must be used within a Select.Item`);return e}function _(){return o.useContext(h)}const v={highlighted:e=>e?{[m.highlighted]:``}:null,disabled:e=>e?{[m.disabled]:``}:null,selected:e=>e?{[m.selected]:``}:null,first:e=>e?{[m.first]:``}:null,last:e=>e?{[m.last]:``}:null,firstInGroup:e=>e?{[m.firstInGroup]:``}:null,lastInGroup:e=>e?{[m.lastInGroup]:``}:null};function y(e,n){let{value:i,textValue:s,keywords:u,disabled:d=!1,onSelect:p,forceMount:g=!1,render:_,className:y,style:b,onClick:x,onPointerDown:S,onPointerMove:C,children:w,...T}=e,E=f(),D=o.useMemo(()=>t.q(i,E.itemToStringValue),[i,E.itemToStringValue]),O=o.useId(),k=i===null?`select-clear-${O}`:void 0,A=o.useMemo(()=>a.n(E.items,D),[E.items,D]),j=A?.label,M=o.useMemo(()=>t.K(i,E.itemToStringLabel),[i,E.itemToStringLabel]),N=o.useMemo(()=>{if(s!==void 0)return s;if(typeof j==`string`)return j;if(M&&M!==D)return M},[s,j,M,D]),P=o.useMemo(()=>a.t(u,[typeof j==`string`?j:M&&M!==D?M:void 0,...A?.keywords??[]]),[u,j,M,D,A]),F=o.useRef(N),I=E.multiple?a.o(E.values,i,E.isItemEqualToValue):E.value!==``&&a.i(E.value,i,E.isItemEqualToValue),L=!E.multiple,R=t.J({id:k,value:D,keywords:P,disabled:d,forceMount:g,closeOnClick:L,children:w});o.useEffect(()=>R.registerSelect(()=>{if(!d){if(E.multiple){if(i==null)E.onValuesChange([]);else{let e=I?a.s(E.values,i,E.isItemEqualToValue):[...E.values,i];E.onValuesChange(e)}}else E.onValueChange(i);p?.()}}),[d,E,i,I,p,R]),o.useEffect(()=>{let e=F.current;if(e)return E.registerItemText(D,e)},[D,E]),o.useEffect(()=>{!N&&typeof w==`string`&&(F.current=w,E.registerItemText(D,w))},[w,N,D,E]);let z=o.useMemo(()=>({highlighted:R.isHighlighted,disabled:d,selected:I,first:R.positional.first,last:R.positional.last,firstInGroup:R.positional.firstInGroup,lastInGroup:R.positional.lastInGroup}),[R.isHighlighted,d,I,R.positional]),ee=o.useMemo(()=>({id:R.id,value:i,textValue:N,highlighted:R.isHighlighted,disabled:d,selected:I}),[R.id,i,N,R.isHighlighted,d,I]),B=o.useCallback(e=>{x?.(e),e.defaultPrevented||R.handlers.onClick(e)},[x,R.handlers]),te=o.useCallback(e=>{R.handlers.onPointerDown(e),S?.(e)},[R.handlers,S]),V=o.useCallback(e=>{C?.(e),e.defaultPrevented||R.handlers.onPointerMove(e)},[C,R.handlers]),H=(0,l.useRender)({render:_,ref:[R.ref,R.rowRef,n],state:z,stateAttributesMapping:v,props:{...T,[m.slot]:``,id:R.id,role:`option`,tabIndex:-1,"aria-selected":I,"aria-disabled":d||void 0,className:r.n(y,z),style:r.r(b,z),onClick:B,onPointerMove:V,onPointerDown:te,children:w},enabled:R.isVisible,defaultTagName:`div`});return R.isVisible?/* @__PURE__ */ (0,c.jsx)(h.Provider,{value:ee,children:H}):null}const b=o.forwardRef(y),x={slot:`bazzaui-select-item-indicator`,selected:`data-selected`,highlighted:`data-highlighted`},S={selected:e=>e?{[x.selected]:``}:null,highlighted:e=>e?{[x.highlighted]:``}:null},C=o.forwardRef(function(e,t){let{render:n,className:i,style:a,forceMount:s=!1,keepMounted:c=!1,children:u,...d}=e,f=g(),p=f.selected,m=f.highlighted,h=o.useMemo(()=>({selected:p,highlighted:m}),[p,m]),_=s||c||p,v=typeof u==`function`?u(h):c&&!p?null:u,y=(0,l.useRender)({render:n,ref:t,state:h,stateAttributesMapping:S,props:{...d,[x.slot]:``,"aria-hidden":!0,className:r.n(i,h),style:r.r(a,h),children:v},defaultTagName:`span`});return _?y:null}),w={slot:`bazzaui-select-item-label`},T=o.forwardRef(function(e,n){let{render:i,className:s,style:c,children:u,...d}=e,p=f(),m=g(),h=o.useRef(null),_=t.q(m.value,p.itemToStringValue),v=o.useMemo(()=>{if(u!==void 0)return u;let e=a.r(p.items,_);return e===void 0?m.textValue===void 0?_:m.textValue:e},[u,p.items,_,m.textValue]),y=o.useMemo(()=>({value:_,selected:m.selected,highlighted:m.highlighted,disabled:m.disabled}),[_,m.selected,m.highlighted,m.disabled]);o.useEffect(()=>{if(typeof v==`string`)return p.registerItemText(_,v)},[v,p,_]);let b=o.useCallback(e=>{h.current=e,m.selected&&e&&(p.selectedItemTextRef.current=e),e&&!m.disabled&&(p.firstItemTextRef.current||(p.firstItemTextRef.current=e))},[m.selected,m.disabled,p]);return(0,l.useRender)({render:i,ref:n,state:y,props:{...d,[w.slot]:``,ref:b,className:r.n(s,y),style:r.r(c,y),children:v},defaultTagName:`span`})}),E=o.createContext(null);function D(){return o.useContext(E)}const O=o.forwardRef(function(e,n){let{className:r,render:i,...a}=e,s=D(),l=s?.alignItemWithTriggerActive??!1,u=s?.align,d=o.useCallback(e=>({...e,side:l?`none`:e.side,alignItemWithTriggerActive:l}),[l]),f=o.useMemo(()=>typeof r==`function`?e=>r(d(e)):r,[r,d]),p=o.useMemo(()=>typeof i==`function`?(e,t)=>i(e,d(t)):i,[i,d]);return/* @__PURE__ */ (0,c.jsx)(t.tt,{ref:n,className:f,render:p,"data-align-item-with-trigger":l?``:void 0,...l?{"data-side":`none`,"data-align":u}:{},...a})});function k(e,t,n){return e<t?t:e>n?n:e}function A(e){let t=e.getBoundingClientRect(),{offsetWidth:n,offsetHeight:r}=e,i=n>0?Math.round(t.width)/n:1,a=r>0?Math.round(t.height)/r:1;return(!Number.isFinite(i)||i===0)&&(i=1),(!Number.isFinite(a)||a===0)&&(a=1),{x:i,y:a}}function j(e,t,n){return e/n[t]}function M(e,t){let n=e.x/t.x,r=e.y/t.y,i=e.width/t.x,a=e.height/t.y;return{x:n,y:r,width:i,height:a,top:r,left:n,right:n+i,bottom:r+a}}function N(e,t){return Math.max(0,e-t)}function P(e){let{triggerRect:t,positionerRect:n,valueRect:r,textRect:i,scrollHeight:a,documentClientHeight:o,documentClientWidth:s,marginTop:c,marginBottom:l,minHeight:u,maxPopupHeight:d,borderBottom:f,direction:p}=e,m=()=>({fallback:!0,left:0,isTopPositioned:!1,top:0,height:0,scrollTop:0,marginTop:c,marginBottom:l,reachedMaxHeight:!1,transformOrigin:null}),h=o-c-l,g=s,_=t.height,v=h-t.bottom+_,y=p===`rtl`?t.right-n.width:t.left,b=0,x=null;if(i&&r){y=n.left+(p===`rtl`?r.right-i.right:r.left-i.left);let e=r.top-t.top+r.height/2;b=i.top-n.top+i.height/2-e,x=i.top+i.height/2}let S=v+b+l+f,C=Math.min(h,S),w=h-c-l,T=S-C,E=g-5,D=k(y,5,E-n.width),O=N(a,C),A=T>=O-1;if(A&&(C=Math.min(h,n.height)-(T-O)),t.top<20||t.bottom>h-20||Math.ceil(C)+1<Math.min(a,u))return m();let j=Math.max(u,C),M=l+f-c,P=0,F=T;if(A){let e=Math.max(0,h-S);P=n.height>=w?0:Math.max(0,e+M),F=O}else F=Math.max(0,T-M);let I=null;if(x!=null){let e=n.top,t=n.height;I=`50% ${k(t>0?(x-e)/t*100:50,0,100)}%`}return{fallback:!1,left:D,isTopPositioned:A,top:P,height:C,scrollTop:F,marginTop:c,marginBottom:l,reachedMaxHeight:j===h||C>=d,transformOrigin:I}}function F(e){let{isTopPositioned:t,currentHeight:n,scrollTop:r,maxScrollTop:i,maxAvailableHeight:a}=e,o=t?i-r:r;if(o<=1){let e=k(o,0,a-n),r=n+e;return{height:e>0?r:null,scroll:{kind:`set`,value:t?i:0},reachedMaxHeight:a-r<=1}}let s=Math.min(n+o,a),c={kind:`none`},l=!1;a-s>1?c=t?{kind:`max`}:{kind:`clamp`,value:0}:(l=!0,!t&&r<i&&(c={kind:`clamp`,value:r-(o-(n+o-a))}));let u=Math.ceil(s);return{height:u,scroll:c,reachedMaxHeight:l||u>=a-1}}const I={slot:`bazzaui-select-positioner`},L=o.forwardRef(function(e,i){let{alignItemWithTrigger:a=!0,side:l=`bottom`,align:d=`start`,sideOffset:p=0,className:m,style:h,children:g,..._}=e,v=t.It(),y=f(),b=(0,u.useDirection)()===`rtl`?`rtl`:`ltr`,x=v.store,S=x.useState(`open`),C=x.useState(`openMethod`),w=x.useState(`hasInput`),[T,D]=o.useState(a),O=T&&C!==`touch`&&!w,[L,B]=o.useState(!1),[V,H]=o.useState(null),U=o.useRef(null),W=o.useRef(null),ne=o.useRef(null),G=o.useRef(!1),K=o.useRef(!1),q=o.useCallback(()=>{let e=U.current,t=x.context.refs.popupRef.current;e&&(e.style.height=``),t&&(t.style.height=``,t.style.removeProperty(`--transform-origin`)),G.current=!1,K.current=!1},[x]),J=o.useCallback(()=>{q(),D(a),B(!1),H(null)},[a,q]);o.useEffect(()=>y.registerResetPositioningCallback(J),[y,J]);let Y=o.useCallback(()=>{if(x.state.hasInput)return;let e=U.current,t=y.triggerRef.current,n=x.context.refs.popupRef.current,r=x.context.refs.listRef.current;if(!e||!t||!n||!r)return;let i=y.selectedItemTextRef.current;if(!i?.isConnected){let e=y.firstItemTextRef.current;i=e?.isConnected?e:null}let a=y.valueRef.current,o=te(n),s;try{let o=R(e),c=e.ownerDocument,l=A(t),u=o.getComputedStyle(e),d=o.getComputedStyle(n);s=P({triggerRect:M(t.getBoundingClientRect(),l),positionerRect:M(e.getBoundingClientRect(),l),valueRect:a?M(a.getBoundingClientRect(),l):null,textRect:i?M(i.getBoundingClientRect(),l):null,scrollHeight:r.scrollHeight,documentClientHeight:c.documentElement.clientHeight,documentClientWidth:c.documentElement.clientWidth,marginTop:Number.parseFloat(u.marginTop)||10,marginBottom:Number.parseFloat(u.marginBottom)||10,minHeight:Number.parseFloat(u.minHeight)||100,maxPopupHeight:z(d),borderBottom:Number.parseFloat(d.borderBottomWidth)||0,direction:b});let f=(o.visualViewport?.scale??1)!==1&&ee(o);if(s.fallback||f){D(!1),B(!0);return}e.style.height=`${s.height}px`,n.style.height=`100%`,s.transformOrigin&&n.style.setProperty(`--transform-origin`,s.transformOrigin),r.scrollTop=s.scrollTop,G.current=s.reachedMaxHeight,K.current=!0}finally{o()}H({left:s.left,top:s.isTopPositioned?s.top:null,bottom:s.isTopPositioned?null:0,marginTop:s.marginTop,marginBottom:s.marginBottom}),B(!0)},[x,y,b]);o.useEffect(()=>{S&&O&&!L&&Y()},[S,O,L,Y]),o.useEffect(()=>{S&&!O&&q()},[S,O,q]),o.useEffect(()=>{if(!S||!O)return;let e=U.current,t=e?R(e):window,r=e=>{x.setOpen(!1,n.j,e)};return t.addEventListener(`resize`,r),()=>{t.removeEventListener(`resize`,r)}},[S,O,x]);let X=o.useCallback(e=>{let t=U.current,n=x.context.refs.popupRef.current;if(!t||!n||!K.current||G.current||!O)return;let r=t.style.top===`0px`,i=t.style.bottom===`0px`;if(!r&&!i)return;let a=R(t),o=t.ownerDocument,s=A(t),c=j(t.getBoundingClientRect().height,`y`,s),l=a.getComputedStyle(t),u=Number.parseFloat(l.marginTop)||0,d=Number.parseFloat(l.marginBottom)||0,f=z(a.getComputedStyle(n)),p=Math.min(o.documentElement.clientHeight-u-d,f),m=F({isTopPositioned:r,currentHeight:c,scrollTop:e.scrollTop,maxScrollTop:N(e.scrollHeight,e.clientHeight),maxAvailableHeight:p});switch(m.height!=null&&(t.style.height=`${m.height}px`),m.scroll.kind){case`set`:e.scrollTop=m.scroll.value;break;case`max`:{let t=N(e.scrollHeight,e.clientHeight);Math.abs(e.scrollTop-t)>1&&(e.scrollTop=t);break}case`clamp`:{let t=N(e.scrollHeight,e.clientHeight),n=k(m.scroll.value,0,t);Math.abs(e.scrollTop-n)>1&&(e.scrollTop=n);break}}m.reachedMaxHeight&&(G.current=!0)},[x,O]);o.useEffect(()=>{if(!S||!O||!L)return;let e=x.context.refs.listRef.current;if(!e)return;let t=()=>X(e);return e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[S,O,L,X,x]);let Z=O?`none`:l,re=o.useMemo(()=>({alignItemWithTriggerActive:O,side:Z,align:d,scrollUpArrowRef:W,scrollDownArrowRef:ne,setAlignItemWithTriggerActive:D,resetPositioningState:J}),[O,Z,d,J]),ie=o.useCallback(e=>{U.current=e,typeof i==`function`?i(e):i&&(i.current=e)},[i]),ae=S&&O&&!L,oe=O&&V?{position:`fixed`,transform:`none`,left:V.left,top:V.top??`auto`,bottom:V.bottom??`auto`,marginTop:V.marginTop,marginBottom:V.marginBottom,maxHeight:`none`}:{};return/* @__PURE__ */ (0,c.jsx)(E.Provider,{value:re,children:/* @__PURE__ */ (0,c.jsx)(s.Popover.Positioner,{ref:ie,side:O?void 0:l,align:O?void 0:d,sideOffset:O?0:p,disableAnchorTracking:O||void 0,className:m,style:r.t(h,e=>({...e,...oe,...ae?{visibility:`hidden`}:{}})),...O?{"data-side":`none`,"data-align":d}:{},[I.slot]:``,..._,children:g})})});function R(e){return e.ownerDocument?.defaultView??window}function z(e){let t=e.maxHeight||``;return t.endsWith(`px`)&&Number.parseFloat(t)||1/0}function ee(e){let t=e.navigator;return t?/AppleWebKit/.test(t.userAgent)&&!/Chrome|Chromium|Edg|OPR/.test(t.userAgent):!1}const B=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function te(e){let{style:t}=e,n={};for(let[e,r]of B)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of B){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}function V(e){let{open:n,onOpenChange:r,onOpenChangeComplete:i,actionsRef:l,defaultOpen:u=!1,value:f,defaultValue:p,onValueChange:m,multiple:h=!1,values:g,defaultValues:_,onValuesChange:v,isItemEqualToValue:y=a.a,itemToStringLabel:b,itemToStringValue:x,name:S,form:C,required:w,disabled:T=!1,placeholder:E=`Select...`,items:D,modal:O=!0,closeOnOutsidePress:k=`pointerdown`,virtualized:A=!1,virtualItems:j,onHighlightChange:M,debug:N,children:P,...F}=e,I=o.useCallback((e,t,n,r)=>M?.(e,n,r),[M]),L=o.useId(),R=o.useRef(null),z=o.useRef(null),ee=o.useRef(null),B=o.useRef(null),te=o.useCallback(e=>{R.current=e},[]),V=o.useCallback(e=>{z.current=e},[]),H=o.useRef(null),U=o.useCallback(e=>(H.current=e,()=>{H.current=null}),[]),{store:W,focusOwnerStore:ne,openChainStore:G,registerSurface:K,closeAll:q,virtualization:J,handleOpenChange:Y,disabled:X,setDisabled:Z,menuTreeResolver:re}=t.St({onOpenChange:r,defaultOpen:u,virtualized:A,items:j,onHighlightChange:I,closeOnOutsidePress:k,disabled:T}),ie=o.useRef(null);o.useImperativeHandle(l,()=>({close:()=>{ie.current?.close()},unmount:()=>{ie.current?.unmount()},setDisabled:Z}),[Z]),W.useControlledProp(`openProp`,n);let ae=W.useState(`open`),[oe,se]=o.useState(p===void 0?null:p),Q=f===void 0?oe:f,ce=o.useCallback(e=>{f===void 0&&se(e),m?.(e)},[f,m]),[le,ue]=o.useState(_??[]),$=g===void 0?le:g,de=o.useCallback(e=>{g===void 0&&ue(e),v?.(e)},[g,v]),fe=o.useRef(/* @__PURE__ */ new Map),pe=o.useCallback((e,t)=>(fe.current.set(e,t),()=>{}),[]),me=o.useMemo(()=>({multiple:h,value:Q,values:$,onValueChange:ce,onValuesChange:de,isItemEqualToValue:y,itemToStringLabel:b,itemToStringValue:x,name:S,form:C,required:w,disabled:X,placeholder:E,items:D,itemTextRegistry:fe.current,registerItemText:pe,listId:L,triggerRef:R,valueRef:z,selectedItemTextRef:ee,firstItemTextRef:B,setTriggerElement:te,setValueElement:V,registerResetPositioningCallback:U}),[h,Q,$,ce,de,y,b,x,S,C,w,X,E,D,pe,L,te,V,U]),he=o.useMemo(()=>S?h?$.length>0?$.map((e,n)=>{let r=t.q(e,x);return/* @__PURE__ */ (0,c.jsx)(`input`,{type:`hidden`,name:S,value:r,form:C,required:w&&n===0},r)}):/* @__PURE__ */ (0,c.jsx)(`input`,{type:`hidden`,name:S,value:``,form:C,required:w}):/* @__PURE__ */ (0,c.jsx)(`input`,{type:`hidden`,name:S,value:Q==null?``:t.q(Q,x),form:C,required:w}):null,[S,C,w,h,Q,$,x]),ge=o.useCallback((e,t)=>{Y(e,t.reason,t.event)},[Y]),_e=o.useCallback(e=>{!e&&W.context.clearSearchOnClose===`after-exit`&&(W.clearSearch(),W.setInputActive(!1)),e||(W.clearHighlight(),H.current?.(),B.current=null),i?.(e)},[W,i]);return/* @__PURE__ */ (0,c.jsx)(d.Provider,{value:me,children:/* @__PURE__ */ (0,c.jsxs)(t.Z,{menuTreeResolver:re,store:W,focusOwnerStore:ne,openChainStore:G,disabled:X,depth:0,closeAll:q,registerSurface:K,virtualization:J,menuType:`dropdown`,closeOnOutsidePress:k,componentName:`select`,debug:N,children:[he,/* @__PURE__ */ (0,c.jsx)(s.Popover.Root,{...F,open:ae,onOpenChange:ge,onOpenChangeComplete:_e,modal:O,actionsRef:l?ie:void 0,children:P})]})})}const H={slot:`bazzaui-select-surface`},U=o.forwardRef(function(e,n){let{autoHighlightFirst:r,...i}=e,a=f(),s=D(),l=o.useMemo(()=>{let e=e=>t.G(e)?!0:t.q(e,a.itemToStringValue);return r===`selected`?e(a.multiple?a.values[0]:a.value):r===void 0?!s?.alignItemWithTriggerActive||e(a.multiple?a.values[0]:a.value):r},[r,s?.alignItemWithTriggerActive,a.multiple,a.value,a.values,a.itemToStringValue]);return/* @__PURE__ */ (0,c.jsx)(t.D,{ref:n,autoHighlightFirst:l,[H.slot]:``,...i})}),W={slot:`bazzaui-select-trigger`,open:`data-open`,closed:`data-closed`,disabled:`data-disabled`,placeholder:`data-placeholder`},ne={open:e=>e?{[W.open]:``}:null,disabled:e=>e?{[W.disabled]:``}:null,placeholder:e=>e?{[W.placeholder]:``}:null},G=o.forwardRef(function(e,n){let{render:a,children:s,disabled:c,className:u,style:d,triggerProps:p,triggerState:m,...h}=e,g=f(),_=c??g.disabled,v=g.multiple?g.values.length>0:!t.G(g.value),y=o.useMemo(()=>({open:m.open,disabled:_,placeholder:!v}),[m.open,_,v]),b=o.useCallback(e=>{g.setTriggerElement(e)},[g]);return(0,l.useRender)({render:a,ref:n,state:y,stateAttributesMapping:ne,props:{...i.t(p,{...h,className:r.n(u,y),style:r.r(d,y),children:s}),[W.slot]:``,ref:b,role:`combobox`,"aria-haspopup":`listbox`,"aria-controls":g.listId},defaultTagName:`button`})}),K=o.forwardRef(function(e,r){let{disabled:i,openOnHover:a,delay:l=100,closeDelay:u,...d}=e,p=f(),m=t.It(),{store:h,closeAll:g,closeOnOutsidePress:_}=m,v=(i??p.disabled)||m.disabled,y=h.useState(`open`),b=o.useRef(null),x=o.useCallback(e=>{b.current=e,typeof r==`function`?r(e):r&&(r.current=e)},[r]);return o.useEffect(()=>{let e=b.current;if(!e||_!==`pointerdown`)return;let t=t=>{y&&(g(n.F,t),e.addEventListener(`click`,e=>{e.stopPropagation(),e.preventDefault()},{once:!0,capture:!0}))};return e.addEventListener(`pointerdown`,t,!0),()=>{e.removeEventListener(`pointerdown`,t,!0)}},[y,g,_]),/* @__PURE__ */ (0,c.jsx)(s.Popover.Trigger,{ref:x,disabled:v,openOnHover:a,delay:l,closeDelay:u,render:(e,t)=>/* @__PURE__ */ (0,c.jsx)(G,{...d,disabled:v,triggerProps:e,triggerState:t,ref:e.ref})})}),q={slot:`bazzaui-select-value`,placeholder:`data-placeholder`,multiple:`data-multiple`},J={hasValue:e=>e?null:{[q.placeholder]:``},multiple:e=>e?{[q.multiple]:``}:null,getValueText:()=>null};function Y(e,n){let{render:i,className:s,style:c,placeholder:u,children:d,...p}=e,m=f(),h=u??m.placeholder,g=o.useMemo(()=>a.r(m.items,``),[m.items]),_=u??g??h,v=m.multiple?m.values.length>0:!t.G(m.value),y=o.useCallback(e=>{let n=t.q(e,m.itemToStringValue),r=m.itemTextRegistry.get(n);if(r!==void 0)return r;let i=a.r(m.items,n);if(i!==void 0)return i;let o=t.K(e,m.itemToStringLabel);if(o&&o!==n)return o},[m.itemTextRegistry,m.items,m.itemToStringLabel,m.itemToStringValue]),b=o.useMemo(()=>({value:m.value,values:m.values,multiple:m.multiple,hasValue:v,placeholder:h,getValueText:y}),[m.value,m.values,m.multiple,v,h,y]),x;if(typeof d==`function`)x=d(b);else if(d!==void 0)x=d;else if(!v)x=_;else if(m.multiple){let e=m.values.map(e=>{let n=y(e);return n===void 0?t.K(e,m.itemToStringLabel)||t.q(e,m.itemToStringValue):n}).filter(Boolean);x=e.length>2?`${e.length} selected`:e.join(`, `)}else{let e=m.value;if(e!=null){let n=y(e);x=n===void 0?t.K(e,m.itemToStringLabel)||t.q(e,m.itemToStringValue):n}}let S=o.useCallback(e=>{m.setValueElement(e)},[m]);return(0,l.useRender)({render:i,ref:n,state:b,stateAttributesMapping:J,props:{...p,[q.slot]:``,ref:S,className:r.n(s,b),style:r.r(c,b),children:x},defaultTagName:`span`})}const X=o.forwardRef(Y);var Z=/* @__PURE__ */ e.t({Arrow:()=>t.bt,Backdrop:()=>t.yt,Empty:()=>t.U,Group:()=>t.h,GroupLabel:()=>t.V,Icon:()=>t.W,Input:()=>t.H,Item:()=>b,ItemIndicator:()=>C,ItemLabel:()=>T,List:()=>t.M,Popup:()=>O,Portal:()=>t.et,Positioner:()=>L,Root:()=>V,ScrollDownArrow:()=>t.k,ScrollUpArrow:()=>t.A,Separator:()=>t.f,Surface:()=>U,Trigger:()=>K,Value:()=>X});let re=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-arrow`,e.open=`data-open`,e.closed=`data-closed`,e.side=`data-side`,e.align=`data-align`,e.uncentered=`data-uncentered`,e}({}),ie=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-backdrop`,e.open=`data-open`,e.closed=`data-closed`,e.startingStyle=`data-starting-style`,e.endingStyle=`data-ending-style`,e}({}),ae=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-empty`,e}({}),oe=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-group`,e}({}),se=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-group-label`,e}({});const Q={slot:`bazzaui-select-icon`,open:`data-popup-open`};let ce=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-input`,e.open=`data-open`,e.closed=`data-closed`,e}({}),le=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-list`,e.list=`data-popup-menu-list`,e}({}),ue=/* @__PURE__ */ function(e){return e.alignItemWithTrigger=`data-align-item-with-trigger`,e}({});const $={slotUp:`bazzaui-select-scroll-up-arrow`,slotDown:`bazzaui-select-scroll-down-arrow`,direction:`data-direction`,side:`data-side`};let de=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-separator`,e}({});Object.defineProperty(exports,"Select",{enumerable:!0,get:function(){return Z}}),exports.SelectArrowDataAttributes=re,exports.SelectBackdropDataAttributes=ie,exports.SelectEmptyDataAttributes=ae,exports.SelectGroupDataAttributes=oe,exports.SelectGroupLabelDataAttributes=se,exports.SelectIconDataAttributes=Q,exports.SelectInputDataAttributes=ce,exports.SelectItem=b,exports.SelectItemDataAttributes=m,exports.SelectItemIndicator=C,exports.SelectItemIndicatorDataAttributes=x,exports.SelectItemLabel=T,exports.SelectListCssVars=t.N,exports.SelectListDataAttributes=le,exports.SelectPopup=O,exports.SelectPopupDataAttributes=ue,exports.SelectPositioner=L,exports.SelectPositionerCssVars=t.$,exports.SelectPositionerDataAttributes=I,exports.SelectRoot=V,exports.SelectScrollArrowDataAttributes=$,exports.SelectSeparatorDataAttributes=de,exports.SelectStore=n.t,exports.SelectSurface=U,exports.SelectTrigger=K,exports.SelectTriggerDataAttributes=W,exports.SelectValue=X,exports.commandScore=n.n,exports.defaultFilter=n.r,exports.useMaybeSelectContext=p,exports.useMaybeSelectItemContext=_,exports.useMaybeSurfaceContext=n.u,exports.useSelectContext=f,exports.useSelectItemContext=g,exports.useSelectPositionerContext=D,exports.useSurfaceContext=n.d;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/select/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { B as VirtualItem, F as ListboxContext, I as ListboxState, L as ListboxStore, M as FilterFn, P as ItemRegistration, b as useMaybeSurfaceContext, i as defaultFilter, r as commandScore, x as useSurfaceContext, y as SurfaceContextValue } from "../index-
|
|
2
|
-
import { Dn as triggerPress, En as triggerHover, bn as pointer, dn as imperativeAction, gn as listNavigation, hn as keyboard, ln as escapeKey, mn as itemPress, on as ChangeEventDetails, sn as GenericEventDetails, un as focusOut, vn as none, xn as reason_parts_d_exports, yn as outsidePress } from "../events-
|
|
1
|
+
import { B as VirtualItem, F as ListboxContext, I as ListboxState, L as ListboxStore, M as FilterFn, P as ItemRegistration, b as useMaybeSurfaceContext, i as defaultFilter, r as commandScore, x as useSurfaceContext, y as SurfaceContextValue } from "../index-CSt0sBX7.js";
|
|
2
|
+
import { Dn as triggerPress, En as triggerHover, bn as pointer, dn as imperativeAction, gn as listNavigation, hn as keyboard, ln as escapeKey, mn as itemPress, on as ChangeEventDetails, sn as GenericEventDetails, un as focusOut, vn as none, xn as reason_parts_d_exports, yn as outsidePress } from "../events-B-l6YIGj.js";
|
|
3
3
|
import { n as ComponentRenderFn, t as ComponentProps } from "../types-BbN28E3_.js";
|
|
4
|
-
import { At as PopupMenuInputState, Ct as PopupMenuList, Dt as PopupMenuListCssVars, Et as PopupMenuListState, Ft as PopupMenuIconProps, H as PopupMenuGroupLabel, I as PopupMenuSeparator, It as PopupMenuIconState, J as PopupMenuGroupState, K as PopupMenuGroup, L as PopupMenuSeparatorProps, Mt as PopupMenuEmptyProps, Nt as PopupMenuEmptyState, Ot as PopupMenuInput, Pt as PopupMenuIcon, Qt as PopupMenuPopup, R as PopupMenuSeparatorState, Sn as PopupMenuDebugOptions, Tt as PopupMenuListProps, U as PopupMenuGroupLabelProps, W as PopupMenuGroupLabelState, Xt as PopupMenuPortal, Yt as PopupMenuPositionerCssVars, Zt as PopupMenuPortalProps, _t as PopupMenuScrollDownArrowProps, an as PopupMenuArrowProps, dt as PopupMenuSurface, en as PopupMenuPopupState, ft as PopupMenuSurfaceProps, gt as PopupMenuScrollDownArrow, ht as PopupMenuScrollArrowState, in as PopupMenuArrow, jt as PopupMenuEmpty, kt as PopupMenuInputProps, mt as PopupMenuScrollArrowProps, nn as PopupMenuBackdrop, pt as PopupMenuSurfaceState, q as PopupMenuGroupProps, rn as PopupMenuBackdropProps, sn as PopupMenuRootActions, vt as PopupMenuScrollUpArrow, wt as PopupMenuListChildrenState, yt as PopupMenuScrollUpArrowProps } from "../index-
|
|
4
|
+
import { At as PopupMenuInputState, Ct as PopupMenuList, Dt as PopupMenuListCssVars, Et as PopupMenuListState, Ft as PopupMenuIconProps, H as PopupMenuGroupLabel, I as PopupMenuSeparator, It as PopupMenuIconState, J as PopupMenuGroupState, K as PopupMenuGroup, L as PopupMenuSeparatorProps, Mt as PopupMenuEmptyProps, Nt as PopupMenuEmptyState, Ot as PopupMenuInput, Pt as PopupMenuIcon, Qt as PopupMenuPopup, R as PopupMenuSeparatorState, Sn as PopupMenuDebugOptions, Tt as PopupMenuListProps, U as PopupMenuGroupLabelProps, W as PopupMenuGroupLabelState, Xt as PopupMenuPortal, Yt as PopupMenuPositionerCssVars, Zt as PopupMenuPortalProps, _t as PopupMenuScrollDownArrowProps, an as PopupMenuArrowProps, dt as PopupMenuSurface, en as PopupMenuPopupState, ft as PopupMenuSurfaceProps, gt as PopupMenuScrollDownArrow, ht as PopupMenuScrollArrowState, in as PopupMenuArrow, jt as PopupMenuEmpty, kt as PopupMenuInputProps, mt as PopupMenuScrollArrowProps, nn as PopupMenuBackdrop, pt as PopupMenuSurfaceState, q as PopupMenuGroupProps, rn as PopupMenuBackdropProps, sn as PopupMenuRootActions, vt as PopupMenuScrollUpArrow, wt as PopupMenuListChildrenState, yt as PopupMenuScrollUpArrowProps } from "../index-4GT9ubGP.js";
|
|
5
5
|
import { n as ItemEqualityComparer, t as Items } from "../items-ceX--VIv.js";
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
import { Popover, PopoverPositionerProps, PopoverRootProps } from "@base-ui/react/popover";
|
package/dist/select/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{t as e}from"../rolldown-runtime-DK3Fl9T5.js";import{$ as t,A as n,D as r,G as i,H as a,It as o,J as s,K as c,M as l,N as u,St as d,U as f,V as p,W as m,Z as h,bt as g,et as _,f as v,h as y,k as b,q as x,tt as S,yt as C}from"../popup-menu-HmBMJEZc.js";import{F as w,d as T,j as E,n as D,r as O,t as k,u as A}from"../listbox-CnwUlLZA.js";import{n as j,r as M,t as N}from"../resolve-state-props-D31kizRZ.js";import{t as P}from"../merge-element-props-PxUvRHax.js";import{a as ee,i as F,n as I,o as te,r as L,s as R,t as ne}from"../items-CD2hw6-3.js";import*as z from"react";import{Popover as B}from"@base-ui/react/popover";import{jsx as V,jsxs as re}from"react/jsx-runtime";import{useRender as H}from"@base-ui/react/use-render";import{useDirection as U}from"@base-ui/react/internals/direction-context";const ie=z.createContext(null);function W(){let e=z.useContext(ie);if(!e)throw Error(`Select components must be used within a Select.Root`);return e}function ae(){return z.useContext(ie)}const G={slot:`bazzaui-select-item`,highlighted:`data-highlighted`,disabled:`data-disabled`,selected:`data-selected`,first:`data-first`,last:`data-last`,firstInGroup:`data-first-in-group`,lastInGroup:`data-last-in-group`},oe=z.createContext(null);function se(){let e=z.useContext(oe);if(!e)throw Error(`Select.Item child components must be used within a Select.Item`);return e}function ce(){return z.useContext(oe)}const le={highlighted:e=>e?{[G.highlighted]:``}:null,disabled:e=>e?{[G.disabled]:``}:null,selected:e=>e?{[G.selected]:``}:null,first:e=>e?{[G.first]:``}:null,last:e=>e?{[G.last]:``}:null,firstInGroup:e=>e?{[G.firstInGroup]:``}:null,lastInGroup:e=>e?{[G.lastInGroup]:``}:null};function ue(e,t){let{value:n,textValue:r,keywords:i,disabled:a=!1,onSelect:o,forceMount:l=!1,render:u,className:d,style:f,onClick:p,onPointerDown:m,onPointerMove:h,children:g,..._}=e,v=W(),y=z.useMemo(()=>x(n,v.itemToStringValue),[n,v.itemToStringValue]),b=z.useId(),S=n===null?`select-clear-${b}`:void 0,C=z.useMemo(()=>I(v.items,y),[v.items,y]),w=C?.label,T=z.useMemo(()=>c(n,v.itemToStringLabel),[n,v.itemToStringLabel]),E=z.useMemo(()=>{if(r!==void 0)return r;if(typeof w==`string`)return w;if(T&&T!==y)return T},[r,w,T,y]),D=z.useMemo(()=>ne(i,[typeof w==`string`?w:T&&T!==y?T:void 0,...C?.keywords??[]]),[i,w,T,y,C]),O=z.useRef(E),k=v.multiple?te(v.values,n,v.isItemEqualToValue):v.value!==``&&F(v.value,n,v.isItemEqualToValue),A=!v.multiple,N=s({id:S,value:y,keywords:D,disabled:a,forceMount:l,closeOnClick:A,children:g});z.useEffect(()=>N.registerSelect(()=>{if(!a){if(v.multiple){if(n==null)v.onValuesChange([]);else{let e=k?R(v.values,n,v.isItemEqualToValue):[...v.values,n];v.onValuesChange(e)}}else v.onValueChange(n);o?.()}}),[a,v,n,k,o,N]),z.useEffect(()=>{let e=O.current;if(e)return v.registerItemText(y,e)},[y,v]),z.useEffect(()=>{!E&&typeof g==`string`&&(O.current=g,v.registerItemText(y,g))},[g,E,y,v]);let P=z.useMemo(()=>({highlighted:N.isHighlighted,disabled:a,selected:k,first:N.positional.first,last:N.positional.last,firstInGroup:N.positional.firstInGroup,lastInGroup:N.positional.lastInGroup}),[N.isHighlighted,a,k,N.positional]),ee=z.useMemo(()=>({id:N.id,value:n,textValue:E,highlighted:N.isHighlighted,disabled:a,selected:k}),[N.id,n,E,N.isHighlighted,a,k]),L=z.useCallback(e=>{p?.(e),e.defaultPrevented||N.handlers.onClick(e)},[p,N.handlers]),B=z.useCallback(e=>{N.handlers.onPointerDown(e),m?.(e)},[N.handlers,m]),re=z.useCallback(e=>{h?.(e),e.defaultPrevented||N.handlers.onPointerMove(e)},[h,N.handlers]),U=H({render:u,ref:[N.ref,N.rowRef,t],state:P,stateAttributesMapping:le,props:{..._,[G.slot]:``,id:N.id,role:`option`,tabIndex:-1,"aria-selected":k,"aria-disabled":a||void 0,className:j(d,P),style:M(f,P),onClick:L,onPointerMove:re,onPointerDown:B,children:g},enabled:N.isVisible,defaultTagName:`div`});return N.isVisible?/* @__PURE__ */ V(oe.Provider,{value:ee,children:U}):null}const de=z.forwardRef(ue),K={slot:`bazzaui-select-item-indicator`,selected:`data-selected`,highlighted:`data-highlighted`},fe={selected:e=>e?{[K.selected]:``}:null,highlighted:e=>e?{[K.highlighted]:``}:null},pe=z.forwardRef(function(e,t){let{render:n,className:r,style:i,forceMount:a=!1,keepMounted:o=!1,children:s,...c}=e,l=se(),u=l.selected,d=l.highlighted,f=z.useMemo(()=>({selected:u,highlighted:d}),[u,d]),p=a||o||u,m=typeof s==`function`?s(f):o&&!u?null:s,h=H({render:n,ref:t,state:f,stateAttributesMapping:fe,props:{...c,[K.slot]:``,"aria-hidden":!0,className:j(r,f),style:M(i,f),children:m},defaultTagName:`span`});return p?h:null}),me={slot:`bazzaui-select-item-label`},he=z.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,...o}=e,s=W(),c=se(),l=z.useRef(null),u=x(c.value,s.itemToStringValue),d=z.useMemo(()=>{if(a!==void 0)return a;let e=L(s.items,u);return e===void 0?c.textValue===void 0?u:c.textValue:e},[a,s.items,u,c.textValue]),f=z.useMemo(()=>({value:u,selected:c.selected,highlighted:c.highlighted,disabled:c.disabled}),[u,c.selected,c.highlighted,c.disabled]);z.useEffect(()=>{if(typeof d==`string`)return s.registerItemText(u,d)},[d,s,u]);let p=z.useCallback(e=>{l.current=e,c.selected&&e&&(s.selectedItemTextRef.current=e),e&&!c.disabled&&(s.firstItemTextRef.current||(s.firstItemTextRef.current=e))},[c.selected,c.disabled,s]);return H({render:n,ref:t,state:f,props:{...o,[me.slot]:``,ref:p,className:j(r,f),style:M(i,f),children:d},defaultTagName:`span`})}),q=z.createContext(null);function J(){return z.useContext(q)}const ge=z.forwardRef(function(e,t){let{className:n,render:r,...i}=e,a=J(),o=a?.alignItemWithTriggerActive??!1,s=a?.align,c=z.useCallback(e=>({...e,side:o?`none`:e.side,alignItemWithTriggerActive:o}),[o]),l=z.useMemo(()=>typeof n==`function`?e=>n(c(e)):n,[n,c]),u=z.useMemo(()=>typeof r==`function`?(e,t)=>r(e,c(t)):r,[r,c]);return/* @__PURE__ */ V(S,{ref:t,className:l,render:u,"data-align-item-with-trigger":o?``:void 0,...o?{"data-side":`none`,"data-align":s}:{},...i})});function Y(e,t,n){return e<t?t:e>n?n:e}function X(e){let t=e.getBoundingClientRect(),{offsetWidth:n,offsetHeight:r}=e,i=n>0?Math.round(t.width)/n:1,a=r>0?Math.round(t.height)/r:1;return(!Number.isFinite(i)||i===0)&&(i=1),(!Number.isFinite(a)||a===0)&&(a=1),{x:i,y:a}}function _e(e,t,n){return e/n[t]}function Z(e,t){let n=e.x/t.x,r=e.y/t.y,i=e.width/t.x,a=e.height/t.y;return{x:n,y:r,width:i,height:a,top:r,left:n,right:n+i,bottom:r+a}}function Q(e,t){return Math.max(0,e-t)}function ve(e){let{triggerRect:t,positionerRect:n,valueRect:r,textRect:i,scrollHeight:a,documentClientHeight:o,documentClientWidth:s,marginTop:c,marginBottom:l,minHeight:u,maxPopupHeight:d,borderBottom:f,direction:p}=e,m=()=>({fallback:!0,left:0,isTopPositioned:!1,top:0,height:0,scrollTop:0,marginTop:c,marginBottom:l,reachedMaxHeight:!1,transformOrigin:null}),h=o-c-l,g=s,_=t.height,v=h-t.bottom+_,y=p===`rtl`?t.right-n.width:t.left,b=0,x=null;if(i&&r){y=n.left+(p===`rtl`?r.right-i.right:r.left-i.left);let e=r.top-t.top+r.height/2;b=i.top-n.top+i.height/2-e,x=i.top+i.height/2}let S=v+b+l+f,C=Math.min(h,S),w=h-c-l,T=S-C,E=g-5,D=Y(y,5,E-n.width),O=Q(a,C),k=T>=O-1;if(k&&(C=Math.min(h,n.height)-(T-O)),t.top<20||t.bottom>h-20||Math.ceil(C)+1<Math.min(a,u))return m();let A=Math.max(u,C),j=l+f-c,M=0,N=T;if(k){let e=Math.max(0,h-S);M=n.height>=w?0:Math.max(0,e+j),N=O}else N=Math.max(0,T-j);let P=null;if(x!=null){let e=n.top,t=n.height;P=`50% ${Y(t>0?(x-e)/t*100:50,0,100)}%`}return{fallback:!1,left:D,isTopPositioned:k,top:M,height:C,scrollTop:N,marginTop:c,marginBottom:l,reachedMaxHeight:A===h||C>=d,transformOrigin:P}}function ye(e){let{isTopPositioned:t,currentHeight:n,scrollTop:r,maxScrollTop:i,maxAvailableHeight:a}=e,o=t?i-r:r;if(o<=1){let e=Y(o,0,a-n),r=n+e;return{height:e>0?r:null,scroll:{kind:`set`,value:t?i:0},reachedMaxHeight:a-r<=1}}let s=Math.min(n+o,a),c={kind:`none`},l=!1;a-s>1?c=t?{kind:`max`}:{kind:`clamp`,value:0}:(l=!0,!t&&r<i&&(c={kind:`clamp`,value:r-(o-(n+o-a))}));let u=Math.ceil(s);return{height:u,scroll:c,reachedMaxHeight:l||u>=a-1}}const be={slot:`bazzaui-select-positioner`},xe=z.forwardRef(function(e,t){let{alignItemWithTrigger:n=!0,side:r=`bottom`,align:i=`start`,sideOffset:a=0,className:s,style:c,children:l,...u}=e,d=o(),f=W(),p=U()===`rtl`?`rtl`:`ltr`,m=d.store,h=m.useState(`open`),g=m.useState(`openMethod`),_=m.useState(`hasInput`),[v,y]=z.useState(n),b=v&&g!==`touch`&&!_,[x,S]=z.useState(!1),[C,w]=z.useState(null),T=z.useRef(null),D=z.useRef(null),O=z.useRef(null),k=z.useRef(!1),A=z.useRef(!1),j=z.useCallback(()=>{let e=T.current,t=m.context.refs.popupRef.current;e&&(e.style.height=``),t&&(t.style.height=``,t.style.removeProperty(`--transform-origin`)),k.current=!1,A.current=!1},[m]),M=z.useCallback(()=>{j(),y(n),S(!1),w(null)},[n,j]);z.useEffect(()=>f.registerResetPositioningCallback(M),[f,M]);let P=z.useCallback(()=>{if(m.state.hasInput)return;let e=T.current,t=f.triggerRef.current,n=m.context.refs.popupRef.current,r=m.context.refs.listRef.current;if(!e||!t||!n||!r)return;let i=f.selectedItemTextRef.current;if(!i?.isConnected){let e=f.firstItemTextRef.current;i=e?.isConnected?e:null}let a=f.valueRef.current,o=Ee(n),s;try{let o=Se(e),c=e.ownerDocument,l=X(t),u=o.getComputedStyle(e),d=o.getComputedStyle(n);s=ve({triggerRect:Z(t.getBoundingClientRect(),l),positionerRect:Z(e.getBoundingClientRect(),l),valueRect:a?Z(a.getBoundingClientRect(),l):null,textRect:i?Z(i.getBoundingClientRect(),l):null,scrollHeight:r.scrollHeight,documentClientHeight:c.documentElement.clientHeight,documentClientWidth:c.documentElement.clientWidth,marginTop:Number.parseFloat(u.marginTop)||10,marginBottom:Number.parseFloat(u.marginBottom)||10,minHeight:Number.parseFloat(u.minHeight)||100,maxPopupHeight:Ce(d),borderBottom:Number.parseFloat(d.borderBottomWidth)||0,direction:p});let f=(o.visualViewport?.scale??1)!==1&&we(o);if(s.fallback||f){y(!1),S(!0);return}e.style.height=`${s.height}px`,n.style.height=`100%`,s.transformOrigin&&n.style.setProperty(`--transform-origin`,s.transformOrigin),r.scrollTop=s.scrollTop,k.current=s.reachedMaxHeight,A.current=!0}finally{o()}w({left:s.left,top:s.isTopPositioned?s.top:null,bottom:s.isTopPositioned?null:0,marginTop:s.marginTop,marginBottom:s.marginBottom}),S(!0)},[m,f,p]);z.useEffect(()=>{h&&b&&!x&&P()},[h,b,x,P]),z.useEffect(()=>{h&&!b&&j()},[h,b,j]),z.useEffect(()=>{if(!h||!b)return;let e=T.current,t=e?Se(e):window,n=e=>{m.setOpen(!1,E,e)};return t.addEventListener(`resize`,n),()=>{t.removeEventListener(`resize`,n)}},[h,b,m]);let ee=z.useCallback(e=>{let t=T.current,n=m.context.refs.popupRef.current;if(!t||!n||!A.current||k.current||!b)return;let r=t.style.top===`0px`,i=t.style.bottom===`0px`;if(!r&&!i)return;let a=Se(t),o=t.ownerDocument,s=X(t),c=_e(t.getBoundingClientRect().height,`y`,s),l=a.getComputedStyle(t),u=Number.parseFloat(l.marginTop)||0,d=Number.parseFloat(l.marginBottom)||0,f=Ce(a.getComputedStyle(n)),p=Math.min(o.documentElement.clientHeight-u-d,f),h=ye({isTopPositioned:r,currentHeight:c,scrollTop:e.scrollTop,maxScrollTop:Q(e.scrollHeight,e.clientHeight),maxAvailableHeight:p});switch(h.height!=null&&(t.style.height=`${h.height}px`),h.scroll.kind){case`set`:e.scrollTop=h.scroll.value;break;case`max`:{let t=Q(e.scrollHeight,e.clientHeight);Math.abs(e.scrollTop-t)>1&&(e.scrollTop=t);break}case`clamp`:{let t=Q(e.scrollHeight,e.clientHeight),n=Y(h.scroll.value,0,t);Math.abs(e.scrollTop-n)>1&&(e.scrollTop=n);break}}h.reachedMaxHeight&&(k.current=!0)},[m,b]);z.useEffect(()=>{if(!h||!b||!x)return;let e=m.context.refs.listRef.current;if(!e)return;let t=()=>ee(e);return e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[h,b,x,ee,m]);let F=b?`none`:r,I=z.useMemo(()=>({alignItemWithTriggerActive:b,side:F,align:i,scrollUpArrowRef:D,scrollDownArrowRef:O,setAlignItemWithTriggerActive:y,resetPositioningState:M}),[b,F,i,M]),te=z.useCallback(e=>{T.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),L=h&&b&&!x,R=b&&C?{position:`fixed`,transform:`none`,left:C.left,top:C.top??`auto`,bottom:C.bottom??`auto`,marginTop:C.marginTop,marginBottom:C.marginBottom,maxHeight:`none`}:{};return/* @__PURE__ */ V(q.Provider,{value:I,children:/* @__PURE__ */ V(B.Positioner,{ref:te,side:b?void 0:r,align:b?void 0:i,sideOffset:b?0:a,disableAnchorTracking:b||void 0,className:s,style:N(c,e=>({...e,...R,...L?{visibility:`hidden`}:{}})),...b?{"data-side":`none`,"data-align":i}:{},[be.slot]:``,...u,children:l})})});function Se(e){return e.ownerDocument?.defaultView??window}function Ce(e){let t=e.maxHeight||``;return t.endsWith(`px`)&&Number.parseFloat(t)||1/0}function we(e){let t=e.navigator;return t?/AppleWebKit/.test(t.userAgent)&&!/Chrome|Chromium|Edg|OPR/.test(t.userAgent):!1}const Te=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function Ee(e){let{style:t}=e,n={};for(let[e,r]of Te)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of Te){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}function De(e){let{open:t,onOpenChange:n,onOpenChangeComplete:r,actionsRef:i,defaultOpen:a=!1,value:o,defaultValue:s,onValueChange:c,multiple:l=!1,values:u,defaultValues:f,onValuesChange:p,isItemEqualToValue:m=ee,itemToStringLabel:g,itemToStringValue:_,name:v,form:y,required:b,disabled:S=!1,placeholder:C=`Select...`,items:w,modal:T=!0,closeOnOutsidePress:E=`pointerdown`,virtualized:D=!1,virtualItems:O,onHighlightChange:k,debug:A,children:j,...M}=e,N=z.useCallback((e,t,n,r)=>k?.(e,n,r),[k]),P=z.useId(),F=z.useRef(null),I=z.useRef(null),te=z.useRef(null),L=z.useRef(null),R=z.useCallback(e=>{F.current=e},[]),ne=z.useCallback(e=>{I.current=e},[]),H=z.useRef(null),U=z.useCallback(e=>(H.current=e,()=>{H.current=null}),[]),{store:W,focusOwnerStore:ae,openChainStore:G,registerSurface:oe,closeAll:se,virtualization:ce,handleOpenChange:le,disabled:ue,setDisabled:de,menuTreeResolver:K}=d({onOpenChange:n,defaultOpen:a,virtualized:D,items:O,onHighlightChange:N,closeOnOutsidePress:E,disabled:S}),fe=z.useRef(null);z.useImperativeHandle(i,()=>({close:()=>{fe.current?.close()},unmount:()=>{fe.current?.unmount()},setDisabled:de}),[de]),W.useControlledProp(`openProp`,t);let pe=W.useState(`open`),[me,he]=z.useState(s===void 0?null:s),q=o===void 0?me:o,J=z.useCallback(e=>{o===void 0&&he(e),c?.(e)},[o,c]),[ge,Y]=z.useState(f??[]),X=u===void 0?ge:u,_e=z.useCallback(e=>{u===void 0&&Y(e),p?.(e)},[u,p]),Z=z.useRef(/* @__PURE__ */ new Map),Q=z.useCallback((e,t)=>(Z.current.set(e,t),()=>{}),[]),ve=z.useMemo(()=>({multiple:l,value:q,values:X,onValueChange:J,onValuesChange:_e,isItemEqualToValue:m,itemToStringLabel:g,itemToStringValue:_,name:v,form:y,required:b,disabled:ue,placeholder:C,items:w,itemTextRegistry:Z.current,registerItemText:Q,listId:P,triggerRef:F,valueRef:I,selectedItemTextRef:te,firstItemTextRef:L,setTriggerElement:R,setValueElement:ne,registerResetPositioningCallback:U}),[l,q,X,J,_e,m,g,_,v,y,b,ue,C,w,Q,P,R,ne,U]),ye=z.useMemo(()=>v?l?X.length>0?X.map((e,t)=>{let n=x(e,_);return/* @__PURE__ */ V(`input`,{type:`hidden`,name:v,value:n,form:y,required:b&&t===0},n)}):/* @__PURE__ */ V(`input`,{type:`hidden`,name:v,value:``,form:y,required:b}):/* @__PURE__ */ V(`input`,{type:`hidden`,name:v,value:q==null?``:x(q,_),form:y,required:b}):null,[v,y,b,l,q,X,_]),be=z.useCallback((e,t)=>{le(e,t.reason,t.event)},[le]),xe=z.useCallback(e=>{!e&&W.context.clearSearchOnClose===`after-exit`&&(W.clearSearch(),W.setInputActive(!1)),e||(W.clearHighlight(),H.current?.(),L.current=null),r?.(e)},[W,r]);return/* @__PURE__ */ V(ie.Provider,{value:ve,children:/* @__PURE__ */ re(h,{menuTreeResolver:K,store:W,focusOwnerStore:ae,openChainStore:G,disabled:ue,depth:0,closeAll:se,registerSurface:oe,virtualization:ce,menuType:`dropdown`,closeOnOutsidePress:E,componentName:`select`,debug:A,children:[ye,/* @__PURE__ */ V(B.Root,{...M,open:pe,onOpenChange:be,onOpenChangeComplete:xe,modal:T,actionsRef:i?fe:void 0,children:j})]})})}const Oe={slot:`bazzaui-select-surface`},ke=z.forwardRef(function(e,t){let{autoHighlightFirst:n,...a}=e,o=W(),s=J(),c=z.useMemo(()=>{let e=e=>i(e)?!0:x(e,o.itemToStringValue);return n===`selected`?e(o.multiple?o.values[0]:o.value):n===void 0?!s?.alignItemWithTriggerActive||e(o.multiple?o.values[0]:o.value):n},[n,s?.alignItemWithTriggerActive,o.multiple,o.value,o.values,o.itemToStringValue]);return/* @__PURE__ */ V(r,{ref:t,autoHighlightFirst:c,[Oe.slot]:``,...a})}),$={slot:`bazzaui-select-trigger`,open:`data-open`,closed:`data-closed`,disabled:`data-disabled`,placeholder:`data-placeholder`},Ae={open:e=>e?{[$.open]:``}:null,disabled:e=>e?{[$.disabled]:``}:null,placeholder:e=>e?{[$.placeholder]:``}:null},je=z.forwardRef(function(e,t){let{render:n,children:r,disabled:a,className:o,style:s,triggerProps:c,triggerState:l,...u}=e,d=W(),f=a??d.disabled,p=d.multiple?d.values.length>0:!i(d.value),m=z.useMemo(()=>({open:l.open,disabled:f,placeholder:!p}),[l.open,f,p]),h=z.useCallback(e=>{d.setTriggerElement(e)},[d]);return H({render:n,ref:t,state:m,stateAttributesMapping:Ae,props:{...P(c,{...u,className:j(o,m),style:M(s,m),children:r}),[$.slot]:``,ref:h,role:`combobox`,"aria-haspopup":`listbox`,"aria-controls":d.listId},defaultTagName:`button`})}),Me=z.forwardRef(function(e,t){let{disabled:n,openOnHover:r,delay:i=100,closeDelay:a,...s}=e,c=W(),l=o(),{store:u,closeAll:d,closeOnOutsidePress:f}=l,p=(n??c.disabled)||l.disabled,m=u.useState(`open`),h=z.useRef(null),g=z.useCallback(e=>{h.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]);return z.useEffect(()=>{let e=h.current;if(!e||f!==`pointerdown`)return;let t=t=>{m&&(d(w,t),e.addEventListener(`click`,e=>{e.stopPropagation(),e.preventDefault()},{once:!0,capture:!0}))};return e.addEventListener(`pointerdown`,t,!0),()=>{e.removeEventListener(`pointerdown`,t,!0)}},[m,d,f]),/* @__PURE__ */ V(B.Trigger,{ref:g,disabled:p,openOnHover:r,delay:i,closeDelay:a,render:(e,t)=>/* @__PURE__ */ V(je,{...s,disabled:p,triggerProps:e,triggerState:t,ref:e.ref})})}),Ne={slot:`bazzaui-select-value`,placeholder:`data-placeholder`,multiple:`data-multiple`},Pe={hasValue:e=>e?null:{[Ne.placeholder]:``},multiple:e=>e?{[Ne.multiple]:``}:null,getValueText:()=>null};function Fe(e,t){let{render:n,className:r,style:a,placeholder:o,children:s,...l}=e,u=W(),d=o??u.placeholder,f=z.useMemo(()=>L(u.items,``),[u.items]),p=o??f??d,m=u.multiple?u.values.length>0:!i(u.value),h=z.useCallback(e=>{let t=x(e,u.itemToStringValue),n=u.itemTextRegistry.get(t);if(n!==void 0)return n;let r=L(u.items,t);if(r!==void 0)return r;let i=c(e,u.itemToStringLabel);if(i&&i!==t)return i},[u.itemTextRegistry,u.items,u.itemToStringLabel,u.itemToStringValue]),g=z.useMemo(()=>({value:u.value,values:u.values,multiple:u.multiple,hasValue:m,placeholder:d,getValueText:h}),[u.value,u.values,u.multiple,m,d,h]),_;if(typeof s==`function`)_=s(g);else if(s!==void 0)_=s;else if(!m)_=p;else if(u.multiple){let e=u.values.map(e=>{let t=h(e);return t===void 0?c(e,u.itemToStringLabel)||x(e,u.itemToStringValue):t}).filter(Boolean);_=e.length>2?`${e.length} selected`:e.join(`, `)}else{let e=u.value;if(e!=null){let t=h(e);_=t===void 0?c(e,u.itemToStringLabel)||x(e,u.itemToStringValue):t}}let v=z.useCallback(e=>{u.setValueElement(e)},[u]);return H({render:n,ref:t,state:g,stateAttributesMapping:Pe,props:{...l,[Ne.slot]:``,ref:v,className:j(r,g),style:M(a,g),children:_},defaultTagName:`span`})}const Ie=z.forwardRef(Fe);var Le=/* @__PURE__ */ e({Arrow:()=>g,Backdrop:()=>C,Empty:()=>f,Group:()=>y,GroupLabel:()=>p,Icon:()=>m,Input:()=>a,Item:()=>de,ItemIndicator:()=>pe,ItemLabel:()=>he,List:()=>l,Popup:()=>ge,Portal:()=>_,Positioner:()=>xe,Root:()=>De,ScrollDownArrow:()=>b,ScrollUpArrow:()=>n,Separator:()=>v,Surface:()=>ke,Trigger:()=>Me,Value:()=>Ie});let Re=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-arrow`,e.open=`data-open`,e.closed=`data-closed`,e.side=`data-side`,e.align=`data-align`,e.uncentered=`data-uncentered`,e}({}),ze=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-backdrop`,e.open=`data-open`,e.closed=`data-closed`,e.startingStyle=`data-starting-style`,e.endingStyle=`data-ending-style`,e}({}),Be=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-empty`,e}({}),Ve=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-group`,e}({}),He=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-group-label`,e}({});const Ue={slot:`bazzaui-select-icon`,open:`data-popup-open`};let We=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-input`,e.open=`data-open`,e.closed=`data-closed`,e}({}),Ge=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-list`,e.list=`data-popup-menu-list`,e}({}),Ke=/* @__PURE__ */ function(e){return e.alignItemWithTrigger=`data-align-item-with-trigger`,e}({});const qe={slotUp:`bazzaui-select-scroll-up-arrow`,slotDown:`bazzaui-select-scroll-down-arrow`,direction:`data-direction`,side:`data-side`};let Je=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-separator`,e}({});export{Le as Select,Re as SelectArrowDataAttributes,ze as SelectBackdropDataAttributes,Be as SelectEmptyDataAttributes,Ve as SelectGroupDataAttributes,He as SelectGroupLabelDataAttributes,Ue as SelectIconDataAttributes,We as SelectInputDataAttributes,de as SelectItem,G as SelectItemDataAttributes,pe as SelectItemIndicator,K as SelectItemIndicatorDataAttributes,he as SelectItemLabel,u as SelectListCssVars,Ge as SelectListDataAttributes,ge as SelectPopup,Ke as SelectPopupDataAttributes,xe as SelectPositioner,t as SelectPositionerCssVars,be as SelectPositionerDataAttributes,De as SelectRoot,qe as SelectScrollArrowDataAttributes,Je as SelectSeparatorDataAttributes,k as SelectStore,ke as SelectSurface,Me as SelectTrigger,$ as SelectTriggerDataAttributes,Ie as SelectValue,D as commandScore,O as defaultFilter,ae as useMaybeSelectContext,ce as useMaybeSelectItemContext,A as useMaybeSurfaceContext,W as useSelectContext,se as useSelectItemContext,J as useSelectPositionerContext,T as useSurfaceContext};
|
|
1
|
+
import{t as e}from"../rolldown-runtime-DK3Fl9T5.js";import{$ as t,A as n,D as r,G as i,H as a,It as o,J as s,K as c,M as l,N as u,St as d,U as f,V as p,W as m,Z as h,bt as g,et as _,f as v,h as y,k as b,q as x,tt as S,yt as C}from"../popup-menu-CJs_qom4.js";import{F as w,d as T,j as E,n as D,r as O,t as k,u as A}from"../listbox-CnwUlLZA.js";import{n as j,r as M,t as N}from"../resolve-state-props-D31kizRZ.js";import{t as P}from"../merge-element-props-PxUvRHax.js";import{a as ee,i as F,n as I,o as te,r as L,s as R,t as ne}from"../items-CD2hw6-3.js";import*as z from"react";import{Popover as B}from"@base-ui/react/popover";import{jsx as V,jsxs as re}from"react/jsx-runtime";import{useRender as H}from"@base-ui/react/use-render";import{useDirection as U}from"@base-ui/react/internals/direction-context";const ie=z.createContext(null);function W(){let e=z.useContext(ie);if(!e)throw Error(`Select components must be used within a Select.Root`);return e}function ae(){return z.useContext(ie)}const G={slot:`bazzaui-select-item`,highlighted:`data-highlighted`,disabled:`data-disabled`,selected:`data-selected`,first:`data-first`,last:`data-last`,firstInGroup:`data-first-in-group`,lastInGroup:`data-last-in-group`},oe=z.createContext(null);function se(){let e=z.useContext(oe);if(!e)throw Error(`Select.Item child components must be used within a Select.Item`);return e}function ce(){return z.useContext(oe)}const le={highlighted:e=>e?{[G.highlighted]:``}:null,disabled:e=>e?{[G.disabled]:``}:null,selected:e=>e?{[G.selected]:``}:null,first:e=>e?{[G.first]:``}:null,last:e=>e?{[G.last]:``}:null,firstInGroup:e=>e?{[G.firstInGroup]:``}:null,lastInGroup:e=>e?{[G.lastInGroup]:``}:null};function ue(e,t){let{value:n,textValue:r,keywords:i,disabled:a=!1,onSelect:o,forceMount:l=!1,render:u,className:d,style:f,onClick:p,onPointerDown:m,onPointerMove:h,children:g,..._}=e,v=W(),y=z.useMemo(()=>x(n,v.itemToStringValue),[n,v.itemToStringValue]),b=z.useId(),S=n===null?`select-clear-${b}`:void 0,C=z.useMemo(()=>I(v.items,y),[v.items,y]),w=C?.label,T=z.useMemo(()=>c(n,v.itemToStringLabel),[n,v.itemToStringLabel]),E=z.useMemo(()=>{if(r!==void 0)return r;if(typeof w==`string`)return w;if(T&&T!==y)return T},[r,w,T,y]),D=z.useMemo(()=>ne(i,[typeof w==`string`?w:T&&T!==y?T:void 0,...C?.keywords??[]]),[i,w,T,y,C]),O=z.useRef(E),k=v.multiple?te(v.values,n,v.isItemEqualToValue):v.value!==``&&F(v.value,n,v.isItemEqualToValue),A=!v.multiple,N=s({id:S,value:y,keywords:D,disabled:a,forceMount:l,closeOnClick:A,children:g});z.useEffect(()=>N.registerSelect(()=>{if(!a){if(v.multiple){if(n==null)v.onValuesChange([]);else{let e=k?R(v.values,n,v.isItemEqualToValue):[...v.values,n];v.onValuesChange(e)}}else v.onValueChange(n);o?.()}}),[a,v,n,k,o,N]),z.useEffect(()=>{let e=O.current;if(e)return v.registerItemText(y,e)},[y,v]),z.useEffect(()=>{!E&&typeof g==`string`&&(O.current=g,v.registerItemText(y,g))},[g,E,y,v]);let P=z.useMemo(()=>({highlighted:N.isHighlighted,disabled:a,selected:k,first:N.positional.first,last:N.positional.last,firstInGroup:N.positional.firstInGroup,lastInGroup:N.positional.lastInGroup}),[N.isHighlighted,a,k,N.positional]),ee=z.useMemo(()=>({id:N.id,value:n,textValue:E,highlighted:N.isHighlighted,disabled:a,selected:k}),[N.id,n,E,N.isHighlighted,a,k]),L=z.useCallback(e=>{p?.(e),e.defaultPrevented||N.handlers.onClick(e)},[p,N.handlers]),B=z.useCallback(e=>{N.handlers.onPointerDown(e),m?.(e)},[N.handlers,m]),re=z.useCallback(e=>{h?.(e),e.defaultPrevented||N.handlers.onPointerMove(e)},[h,N.handlers]),U=H({render:u,ref:[N.ref,N.rowRef,t],state:P,stateAttributesMapping:le,props:{..._,[G.slot]:``,id:N.id,role:`option`,tabIndex:-1,"aria-selected":k,"aria-disabled":a||void 0,className:j(d,P),style:M(f,P),onClick:L,onPointerMove:re,onPointerDown:B,children:g},enabled:N.isVisible,defaultTagName:`div`});return N.isVisible?/* @__PURE__ */ V(oe.Provider,{value:ee,children:U}):null}const de=z.forwardRef(ue),K={slot:`bazzaui-select-item-indicator`,selected:`data-selected`,highlighted:`data-highlighted`},fe={selected:e=>e?{[K.selected]:``}:null,highlighted:e=>e?{[K.highlighted]:``}:null},pe=z.forwardRef(function(e,t){let{render:n,className:r,style:i,forceMount:a=!1,keepMounted:o=!1,children:s,...c}=e,l=se(),u=l.selected,d=l.highlighted,f=z.useMemo(()=>({selected:u,highlighted:d}),[u,d]),p=a||o||u,m=typeof s==`function`?s(f):o&&!u?null:s,h=H({render:n,ref:t,state:f,stateAttributesMapping:fe,props:{...c,[K.slot]:``,"aria-hidden":!0,className:j(r,f),style:M(i,f),children:m},defaultTagName:`span`});return p?h:null}),me={slot:`bazzaui-select-item-label`},he=z.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,...o}=e,s=W(),c=se(),l=z.useRef(null),u=x(c.value,s.itemToStringValue),d=z.useMemo(()=>{if(a!==void 0)return a;let e=L(s.items,u);return e===void 0?c.textValue===void 0?u:c.textValue:e},[a,s.items,u,c.textValue]),f=z.useMemo(()=>({value:u,selected:c.selected,highlighted:c.highlighted,disabled:c.disabled}),[u,c.selected,c.highlighted,c.disabled]);z.useEffect(()=>{if(typeof d==`string`)return s.registerItemText(u,d)},[d,s,u]);let p=z.useCallback(e=>{l.current=e,c.selected&&e&&(s.selectedItemTextRef.current=e),e&&!c.disabled&&(s.firstItemTextRef.current||(s.firstItemTextRef.current=e))},[c.selected,c.disabled,s]);return H({render:n,ref:t,state:f,props:{...o,[me.slot]:``,ref:p,className:j(r,f),style:M(i,f),children:d},defaultTagName:`span`})}),q=z.createContext(null);function J(){return z.useContext(q)}const ge=z.forwardRef(function(e,t){let{className:n,render:r,...i}=e,a=J(),o=a?.alignItemWithTriggerActive??!1,s=a?.align,c=z.useCallback(e=>({...e,side:o?`none`:e.side,alignItemWithTriggerActive:o}),[o]),l=z.useMemo(()=>typeof n==`function`?e=>n(c(e)):n,[n,c]),u=z.useMemo(()=>typeof r==`function`?(e,t)=>r(e,c(t)):r,[r,c]);return/* @__PURE__ */ V(S,{ref:t,className:l,render:u,"data-align-item-with-trigger":o?``:void 0,...o?{"data-side":`none`,"data-align":s}:{},...i})});function Y(e,t,n){return e<t?t:e>n?n:e}function X(e){let t=e.getBoundingClientRect(),{offsetWidth:n,offsetHeight:r}=e,i=n>0?Math.round(t.width)/n:1,a=r>0?Math.round(t.height)/r:1;return(!Number.isFinite(i)||i===0)&&(i=1),(!Number.isFinite(a)||a===0)&&(a=1),{x:i,y:a}}function _e(e,t,n){return e/n[t]}function Z(e,t){let n=e.x/t.x,r=e.y/t.y,i=e.width/t.x,a=e.height/t.y;return{x:n,y:r,width:i,height:a,top:r,left:n,right:n+i,bottom:r+a}}function Q(e,t){return Math.max(0,e-t)}function ve(e){let{triggerRect:t,positionerRect:n,valueRect:r,textRect:i,scrollHeight:a,documentClientHeight:o,documentClientWidth:s,marginTop:c,marginBottom:l,minHeight:u,maxPopupHeight:d,borderBottom:f,direction:p}=e,m=()=>({fallback:!0,left:0,isTopPositioned:!1,top:0,height:0,scrollTop:0,marginTop:c,marginBottom:l,reachedMaxHeight:!1,transformOrigin:null}),h=o-c-l,g=s,_=t.height,v=h-t.bottom+_,y=p===`rtl`?t.right-n.width:t.left,b=0,x=null;if(i&&r){y=n.left+(p===`rtl`?r.right-i.right:r.left-i.left);let e=r.top-t.top+r.height/2;b=i.top-n.top+i.height/2-e,x=i.top+i.height/2}let S=v+b+l+f,C=Math.min(h,S),w=h-c-l,T=S-C,E=g-5,D=Y(y,5,E-n.width),O=Q(a,C),k=T>=O-1;if(k&&(C=Math.min(h,n.height)-(T-O)),t.top<20||t.bottom>h-20||Math.ceil(C)+1<Math.min(a,u))return m();let A=Math.max(u,C),j=l+f-c,M=0,N=T;if(k){let e=Math.max(0,h-S);M=n.height>=w?0:Math.max(0,e+j),N=O}else N=Math.max(0,T-j);let P=null;if(x!=null){let e=n.top,t=n.height;P=`50% ${Y(t>0?(x-e)/t*100:50,0,100)}%`}return{fallback:!1,left:D,isTopPositioned:k,top:M,height:C,scrollTop:N,marginTop:c,marginBottom:l,reachedMaxHeight:A===h||C>=d,transformOrigin:P}}function ye(e){let{isTopPositioned:t,currentHeight:n,scrollTop:r,maxScrollTop:i,maxAvailableHeight:a}=e,o=t?i-r:r;if(o<=1){let e=Y(o,0,a-n),r=n+e;return{height:e>0?r:null,scroll:{kind:`set`,value:t?i:0},reachedMaxHeight:a-r<=1}}let s=Math.min(n+o,a),c={kind:`none`},l=!1;a-s>1?c=t?{kind:`max`}:{kind:`clamp`,value:0}:(l=!0,!t&&r<i&&(c={kind:`clamp`,value:r-(o-(n+o-a))}));let u=Math.ceil(s);return{height:u,scroll:c,reachedMaxHeight:l||u>=a-1}}const be={slot:`bazzaui-select-positioner`},xe=z.forwardRef(function(e,t){let{alignItemWithTrigger:n=!0,side:r=`bottom`,align:i=`start`,sideOffset:a=0,className:s,style:c,children:l,...u}=e,d=o(),f=W(),p=U()===`rtl`?`rtl`:`ltr`,m=d.store,h=m.useState(`open`),g=m.useState(`openMethod`),_=m.useState(`hasInput`),[v,y]=z.useState(n),b=v&&g!==`touch`&&!_,[x,S]=z.useState(!1),[C,w]=z.useState(null),T=z.useRef(null),D=z.useRef(null),O=z.useRef(null),k=z.useRef(!1),A=z.useRef(!1),j=z.useCallback(()=>{let e=T.current,t=m.context.refs.popupRef.current;e&&(e.style.height=``),t&&(t.style.height=``,t.style.removeProperty(`--transform-origin`)),k.current=!1,A.current=!1},[m]),M=z.useCallback(()=>{j(),y(n),S(!1),w(null)},[n,j]);z.useEffect(()=>f.registerResetPositioningCallback(M),[f,M]);let P=z.useCallback(()=>{if(m.state.hasInput)return;let e=T.current,t=f.triggerRef.current,n=m.context.refs.popupRef.current,r=m.context.refs.listRef.current;if(!e||!t||!n||!r)return;let i=f.selectedItemTextRef.current;if(!i?.isConnected){let e=f.firstItemTextRef.current;i=e?.isConnected?e:null}let a=f.valueRef.current,o=Ee(n),s;try{let o=Se(e),c=e.ownerDocument,l=X(t),u=o.getComputedStyle(e),d=o.getComputedStyle(n);s=ve({triggerRect:Z(t.getBoundingClientRect(),l),positionerRect:Z(e.getBoundingClientRect(),l),valueRect:a?Z(a.getBoundingClientRect(),l):null,textRect:i?Z(i.getBoundingClientRect(),l):null,scrollHeight:r.scrollHeight,documentClientHeight:c.documentElement.clientHeight,documentClientWidth:c.documentElement.clientWidth,marginTop:Number.parseFloat(u.marginTop)||10,marginBottom:Number.parseFloat(u.marginBottom)||10,minHeight:Number.parseFloat(u.minHeight)||100,maxPopupHeight:Ce(d),borderBottom:Number.parseFloat(d.borderBottomWidth)||0,direction:p});let f=(o.visualViewport?.scale??1)!==1&&we(o);if(s.fallback||f){y(!1),S(!0);return}e.style.height=`${s.height}px`,n.style.height=`100%`,s.transformOrigin&&n.style.setProperty(`--transform-origin`,s.transformOrigin),r.scrollTop=s.scrollTop,k.current=s.reachedMaxHeight,A.current=!0}finally{o()}w({left:s.left,top:s.isTopPositioned?s.top:null,bottom:s.isTopPositioned?null:0,marginTop:s.marginTop,marginBottom:s.marginBottom}),S(!0)},[m,f,p]);z.useEffect(()=>{h&&b&&!x&&P()},[h,b,x,P]),z.useEffect(()=>{h&&!b&&j()},[h,b,j]),z.useEffect(()=>{if(!h||!b)return;let e=T.current,t=e?Se(e):window,n=e=>{m.setOpen(!1,E,e)};return t.addEventListener(`resize`,n),()=>{t.removeEventListener(`resize`,n)}},[h,b,m]);let ee=z.useCallback(e=>{let t=T.current,n=m.context.refs.popupRef.current;if(!t||!n||!A.current||k.current||!b)return;let r=t.style.top===`0px`,i=t.style.bottom===`0px`;if(!r&&!i)return;let a=Se(t),o=t.ownerDocument,s=X(t),c=_e(t.getBoundingClientRect().height,`y`,s),l=a.getComputedStyle(t),u=Number.parseFloat(l.marginTop)||0,d=Number.parseFloat(l.marginBottom)||0,f=Ce(a.getComputedStyle(n)),p=Math.min(o.documentElement.clientHeight-u-d,f),h=ye({isTopPositioned:r,currentHeight:c,scrollTop:e.scrollTop,maxScrollTop:Q(e.scrollHeight,e.clientHeight),maxAvailableHeight:p});switch(h.height!=null&&(t.style.height=`${h.height}px`),h.scroll.kind){case`set`:e.scrollTop=h.scroll.value;break;case`max`:{let t=Q(e.scrollHeight,e.clientHeight);Math.abs(e.scrollTop-t)>1&&(e.scrollTop=t);break}case`clamp`:{let t=Q(e.scrollHeight,e.clientHeight),n=Y(h.scroll.value,0,t);Math.abs(e.scrollTop-n)>1&&(e.scrollTop=n);break}}h.reachedMaxHeight&&(k.current=!0)},[m,b]);z.useEffect(()=>{if(!h||!b||!x)return;let e=m.context.refs.listRef.current;if(!e)return;let t=()=>ee(e);return e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[h,b,x,ee,m]);let F=b?`none`:r,I=z.useMemo(()=>({alignItemWithTriggerActive:b,side:F,align:i,scrollUpArrowRef:D,scrollDownArrowRef:O,setAlignItemWithTriggerActive:y,resetPositioningState:M}),[b,F,i,M]),te=z.useCallback(e=>{T.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),L=h&&b&&!x,R=b&&C?{position:`fixed`,transform:`none`,left:C.left,top:C.top??`auto`,bottom:C.bottom??`auto`,marginTop:C.marginTop,marginBottom:C.marginBottom,maxHeight:`none`}:{};return/* @__PURE__ */ V(q.Provider,{value:I,children:/* @__PURE__ */ V(B.Positioner,{ref:te,side:b?void 0:r,align:b?void 0:i,sideOffset:b?0:a,disableAnchorTracking:b||void 0,className:s,style:N(c,e=>({...e,...R,...L?{visibility:`hidden`}:{}})),...b?{"data-side":`none`,"data-align":i}:{},[be.slot]:``,...u,children:l})})});function Se(e){return e.ownerDocument?.defaultView??window}function Ce(e){let t=e.maxHeight||``;return t.endsWith(`px`)&&Number.parseFloat(t)||1/0}function we(e){let t=e.navigator;return t?/AppleWebKit/.test(t.userAgent)&&!/Chrome|Chromium|Edg|OPR/.test(t.userAgent):!1}const Te=[[`transform`,`none`],[`scale`,`1`],[`translate`,`0 0`]];function Ee(e){let{style:t}=e,n={};for(let[e,r]of Te)n[e]=t.getPropertyValue(e),t.setProperty(e,r,`important`);return()=>{for(let[e]of Te){let r=n[e];r?t.setProperty(e,r):t.removeProperty(e)}}}function De(e){let{open:t,onOpenChange:n,onOpenChangeComplete:r,actionsRef:i,defaultOpen:a=!1,value:o,defaultValue:s,onValueChange:c,multiple:l=!1,values:u,defaultValues:f,onValuesChange:p,isItemEqualToValue:m=ee,itemToStringLabel:g,itemToStringValue:_,name:v,form:y,required:b,disabled:S=!1,placeholder:C=`Select...`,items:w,modal:T=!0,closeOnOutsidePress:E=`pointerdown`,virtualized:D=!1,virtualItems:O,onHighlightChange:k,debug:A,children:j,...M}=e,N=z.useCallback((e,t,n,r)=>k?.(e,n,r),[k]),P=z.useId(),F=z.useRef(null),I=z.useRef(null),te=z.useRef(null),L=z.useRef(null),R=z.useCallback(e=>{F.current=e},[]),ne=z.useCallback(e=>{I.current=e},[]),H=z.useRef(null),U=z.useCallback(e=>(H.current=e,()=>{H.current=null}),[]),{store:W,focusOwnerStore:ae,openChainStore:G,registerSurface:oe,closeAll:se,virtualization:ce,handleOpenChange:le,disabled:ue,setDisabled:de,menuTreeResolver:K}=d({onOpenChange:n,defaultOpen:a,virtualized:D,items:O,onHighlightChange:N,closeOnOutsidePress:E,disabled:S}),fe=z.useRef(null);z.useImperativeHandle(i,()=>({close:()=>{fe.current?.close()},unmount:()=>{fe.current?.unmount()},setDisabled:de}),[de]),W.useControlledProp(`openProp`,t);let pe=W.useState(`open`),[me,he]=z.useState(s===void 0?null:s),q=o===void 0?me:o,J=z.useCallback(e=>{o===void 0&&he(e),c?.(e)},[o,c]),[ge,Y]=z.useState(f??[]),X=u===void 0?ge:u,_e=z.useCallback(e=>{u===void 0&&Y(e),p?.(e)},[u,p]),Z=z.useRef(/* @__PURE__ */ new Map),Q=z.useCallback((e,t)=>(Z.current.set(e,t),()=>{}),[]),ve=z.useMemo(()=>({multiple:l,value:q,values:X,onValueChange:J,onValuesChange:_e,isItemEqualToValue:m,itemToStringLabel:g,itemToStringValue:_,name:v,form:y,required:b,disabled:ue,placeholder:C,items:w,itemTextRegistry:Z.current,registerItemText:Q,listId:P,triggerRef:F,valueRef:I,selectedItemTextRef:te,firstItemTextRef:L,setTriggerElement:R,setValueElement:ne,registerResetPositioningCallback:U}),[l,q,X,J,_e,m,g,_,v,y,b,ue,C,w,Q,P,R,ne,U]),ye=z.useMemo(()=>v?l?X.length>0?X.map((e,t)=>{let n=x(e,_);return/* @__PURE__ */ V(`input`,{type:`hidden`,name:v,value:n,form:y,required:b&&t===0},n)}):/* @__PURE__ */ V(`input`,{type:`hidden`,name:v,value:``,form:y,required:b}):/* @__PURE__ */ V(`input`,{type:`hidden`,name:v,value:q==null?``:x(q,_),form:y,required:b}):null,[v,y,b,l,q,X,_]),be=z.useCallback((e,t)=>{le(e,t.reason,t.event)},[le]),xe=z.useCallback(e=>{!e&&W.context.clearSearchOnClose===`after-exit`&&(W.clearSearch(),W.setInputActive(!1)),e||(W.clearHighlight(),H.current?.(),L.current=null),r?.(e)},[W,r]);return/* @__PURE__ */ V(ie.Provider,{value:ve,children:/* @__PURE__ */ re(h,{menuTreeResolver:K,store:W,focusOwnerStore:ae,openChainStore:G,disabled:ue,depth:0,closeAll:se,registerSurface:oe,virtualization:ce,menuType:`dropdown`,closeOnOutsidePress:E,componentName:`select`,debug:A,children:[ye,/* @__PURE__ */ V(B.Root,{...M,open:pe,onOpenChange:be,onOpenChangeComplete:xe,modal:T,actionsRef:i?fe:void 0,children:j})]})})}const Oe={slot:`bazzaui-select-surface`},ke=z.forwardRef(function(e,t){let{autoHighlightFirst:n,...a}=e,o=W(),s=J(),c=z.useMemo(()=>{let e=e=>i(e)?!0:x(e,o.itemToStringValue);return n===`selected`?e(o.multiple?o.values[0]:o.value):n===void 0?!s?.alignItemWithTriggerActive||e(o.multiple?o.values[0]:o.value):n},[n,s?.alignItemWithTriggerActive,o.multiple,o.value,o.values,o.itemToStringValue]);return/* @__PURE__ */ V(r,{ref:t,autoHighlightFirst:c,[Oe.slot]:``,...a})}),$={slot:`bazzaui-select-trigger`,open:`data-open`,closed:`data-closed`,disabled:`data-disabled`,placeholder:`data-placeholder`},Ae={open:e=>e?{[$.open]:``}:null,disabled:e=>e?{[$.disabled]:``}:null,placeholder:e=>e?{[$.placeholder]:``}:null},je=z.forwardRef(function(e,t){let{render:n,children:r,disabled:a,className:o,style:s,triggerProps:c,triggerState:l,...u}=e,d=W(),f=a??d.disabled,p=d.multiple?d.values.length>0:!i(d.value),m=z.useMemo(()=>({open:l.open,disabled:f,placeholder:!p}),[l.open,f,p]),h=z.useCallback(e=>{d.setTriggerElement(e)},[d]);return H({render:n,ref:t,state:m,stateAttributesMapping:Ae,props:{...P(c,{...u,className:j(o,m),style:M(s,m),children:r}),[$.slot]:``,ref:h,role:`combobox`,"aria-haspopup":`listbox`,"aria-controls":d.listId},defaultTagName:`button`})}),Me=z.forwardRef(function(e,t){let{disabled:n,openOnHover:r,delay:i=100,closeDelay:a,...s}=e,c=W(),l=o(),{store:u,closeAll:d,closeOnOutsidePress:f}=l,p=(n??c.disabled)||l.disabled,m=u.useState(`open`),h=z.useRef(null),g=z.useCallback(e=>{h.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]);return z.useEffect(()=>{let e=h.current;if(!e||f!==`pointerdown`)return;let t=t=>{m&&(d(w,t),e.addEventListener(`click`,e=>{e.stopPropagation(),e.preventDefault()},{once:!0,capture:!0}))};return e.addEventListener(`pointerdown`,t,!0),()=>{e.removeEventListener(`pointerdown`,t,!0)}},[m,d,f]),/* @__PURE__ */ V(B.Trigger,{ref:g,disabled:p,openOnHover:r,delay:i,closeDelay:a,render:(e,t)=>/* @__PURE__ */ V(je,{...s,disabled:p,triggerProps:e,triggerState:t,ref:e.ref})})}),Ne={slot:`bazzaui-select-value`,placeholder:`data-placeholder`,multiple:`data-multiple`},Pe={hasValue:e=>e?null:{[Ne.placeholder]:``},multiple:e=>e?{[Ne.multiple]:``}:null,getValueText:()=>null};function Fe(e,t){let{render:n,className:r,style:a,placeholder:o,children:s,...l}=e,u=W(),d=o??u.placeholder,f=z.useMemo(()=>L(u.items,``),[u.items]),p=o??f??d,m=u.multiple?u.values.length>0:!i(u.value),h=z.useCallback(e=>{let t=x(e,u.itemToStringValue),n=u.itemTextRegistry.get(t);if(n!==void 0)return n;let r=L(u.items,t);if(r!==void 0)return r;let i=c(e,u.itemToStringLabel);if(i&&i!==t)return i},[u.itemTextRegistry,u.items,u.itemToStringLabel,u.itemToStringValue]),g=z.useMemo(()=>({value:u.value,values:u.values,multiple:u.multiple,hasValue:m,placeholder:d,getValueText:h}),[u.value,u.values,u.multiple,m,d,h]),_;if(typeof s==`function`)_=s(g);else if(s!==void 0)_=s;else if(!m)_=p;else if(u.multiple){let e=u.values.map(e=>{let t=h(e);return t===void 0?c(e,u.itemToStringLabel)||x(e,u.itemToStringValue):t}).filter(Boolean);_=e.length>2?`${e.length} selected`:e.join(`, `)}else{let e=u.value;if(e!=null){let t=h(e);_=t===void 0?c(e,u.itemToStringLabel)||x(e,u.itemToStringValue):t}}let v=z.useCallback(e=>{u.setValueElement(e)},[u]);return H({render:n,ref:t,state:g,stateAttributesMapping:Pe,props:{...l,[Ne.slot]:``,ref:v,className:j(r,g),style:M(a,g),children:_},defaultTagName:`span`})}const Ie=z.forwardRef(Fe);var Le=/* @__PURE__ */ e({Arrow:()=>g,Backdrop:()=>C,Empty:()=>f,Group:()=>y,GroupLabel:()=>p,Icon:()=>m,Input:()=>a,Item:()=>de,ItemIndicator:()=>pe,ItemLabel:()=>he,List:()=>l,Popup:()=>ge,Portal:()=>_,Positioner:()=>xe,Root:()=>De,ScrollDownArrow:()=>b,ScrollUpArrow:()=>n,Separator:()=>v,Surface:()=>ke,Trigger:()=>Me,Value:()=>Ie});let Re=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-arrow`,e.open=`data-open`,e.closed=`data-closed`,e.side=`data-side`,e.align=`data-align`,e.uncentered=`data-uncentered`,e}({}),ze=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-backdrop`,e.open=`data-open`,e.closed=`data-closed`,e.startingStyle=`data-starting-style`,e.endingStyle=`data-ending-style`,e}({}),Be=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-empty`,e}({}),Ve=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-group`,e}({}),He=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-group-label`,e}({});const Ue={slot:`bazzaui-select-icon`,open:`data-popup-open`};let We=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-input`,e.open=`data-open`,e.closed=`data-closed`,e}({}),Ge=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-list`,e.list=`data-popup-menu-list`,e}({}),Ke=/* @__PURE__ */ function(e){return e.alignItemWithTrigger=`data-align-item-with-trigger`,e}({});const qe={slotUp:`bazzaui-select-scroll-up-arrow`,slotDown:`bazzaui-select-scroll-down-arrow`,direction:`data-direction`,side:`data-side`};let Je=/* @__PURE__ */ function(e){return e.slot=`bazzaui-select-separator`,e}({});export{Le as Select,Re as SelectArrowDataAttributes,ze as SelectBackdropDataAttributes,Be as SelectEmptyDataAttributes,Ve as SelectGroupDataAttributes,He as SelectGroupLabelDataAttributes,Ue as SelectIconDataAttributes,We as SelectInputDataAttributes,de as SelectItem,G as SelectItemDataAttributes,pe as SelectItemIndicator,K as SelectItemIndicatorDataAttributes,he as SelectItemLabel,u as SelectListCssVars,Ge as SelectListDataAttributes,ge as SelectPopup,Ke as SelectPopupDataAttributes,xe as SelectPositioner,t as SelectPositionerCssVars,be as SelectPositionerDataAttributes,De as SelectRoot,qe as SelectScrollArrowDataAttributes,Je as SelectSeparatorDataAttributes,k as SelectStore,ke as SelectSurface,Me as SelectTrigger,$ as SelectTriggerDataAttributes,Ie as SelectValue,D as commandScore,O as defaultFilter,ae as useMaybeSelectContext,ce as useMaybeSelectItemContext,A as useMaybeSurfaceContext,W as useSelectContext,se as useSelectItemContext,J as useSelectPositionerContext,T as useSurfaceContext};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../rolldown-runtime-5lHFv1cW.cjs"),t=require("../popup-menu-BBAzAXIe.cjs"),n=require("../listbox-DYvJTiF6.cjs");let r=require("react");r=e.n(r,1);let i=require("@base-ui/react/popover"),a=require("react/jsx-runtime");var o=class{#e={query:``,anchor:null,payload:void 0,host:null,updated:{query:!1,anchor:!1}};#t=/* @__PURE__ */ new Set;#n=/* @__PURE__ */ new Set;#r=null;#i=null;get host(){return this.#e.host}get query(){return this.#e.query}get payload(){return this.#e.payload}get isOpen(){return this.#r?.isOpen()??!1}subscribe=e=>(this.#t.add(e),()=>{this.#t.delete(e)});getState=()=>this.#e;#a(e){this.#e={...this.#e,...e};for(let e of this.#t)e()}#o(e){this.#r?this.#r.requestOpenChange(e,n.O):this.#i=e}attach(e){let t=this.#e.host;return t!==e&&(t&&this.isOpen&&this.#o(!1),this.#a({host:e}),this.#r?.attachHost(e,t)),()=>{this.#e.host===e&&(this.isOpen&&this.#o(!1),this.#a({host:null}),this.#r?.attachHost(null,e))}}update(e){let t={updated:{query:this.#e.updated.query||e.query!==void 0,anchor:this.#e.updated.anchor||e.anchor!==void 0}};e.query!==void 0&&(t.query=e.query),e.anchor!==void 0&&(t.anchor=e.anchor),`payload`in e&&(t.payload=e.payload),this.#a(t),this.isOpen||this.#o(!0)}close(){this.#o(!1)}handleKeyDown(e){return this.#r?.handleKeyDown(e)??!1}subscribeOpenChange=e=>(this.#n.add(e),()=>{this.#n.delete(e)});notifyOpenChange(e,t){for(let n of this.#n)n(e,t)}connect(e){let t=this.#r;if(t&&t!==e&&(process.env.NODE_ENV!==`production`&&console.warn(`[SuggestionMenu] A handle serves one Root at a time; the Root mounted last takes it over.`),t.attachHost(null,this.#e.host)),this.#r=e,e.attachHost(this.#e.host,null),this.#i!==null){let t=this.#i;this.#i=null,e.requestOpenChange(t,n.O)}return()=>{this.#r===e&&(e.attachHost(null,this.#e.host),this.#r=null)}}};function s(){return new o}const c=r.createContext(null);function l(){let e=r.useContext(c);if(!e)throw Error(`SuggestionMenu parts must be used within a SuggestionMenu.Root.`);return e}const u=r.forwardRef(function(e,n){let{label:i=`Suggestions`,...o}=e,{syncHostAria:s}=l(),c=r.useRef(null),u=r.useCallback(e=>{if(c.current?.disconnect(),c.current=null,e){e.id&&s(e.id);let t=new MutationObserver(()=>{e.id&&s(e.id)});t.observe(e,{attributeFilter:[`id`]}),c.current=t}typeof n==`function`?n(e):n&&(n.current=e)},[n,s]);return/* @__PURE__ */ (0,a.jsx)(t.M,{ref:u,label:i,...o})}),d=r.forwardRef(function(e,n){return/* @__PURE__ */ (0,a.jsx)(t.tt,{ref:n,role:`presentation`,...e})}),f=r.forwardRef(function(e,n){let{side:i=`bottom`,align:o=`start`,collisionAvoidance:s,...c}=e,{store:u}=t.It(),{query:d,anchorReady:f}=l(),p=u.useState(`open`),m=r.useRef(null),[h,g]=r.useState(null),_=r.useCallback(()=>{let e=m.current?.getAttribute(`data-side`);g(t=>t??(e||i))},[i]);r.useLayoutEffect(()=>{if(!p){g(null);return}if(!f)return;let e=requestAnimationFrame(_);return()=>cancelAnimationFrame(e)},[p,f,_]);let v=r.useRef(null);r.useLayoutEffect(()=>{if(!p||!f){v.current=null;return}if(v.current===null){v.current=d;return}d!==v.current&&_()},[p,d,f,_]);let y=s??{side:`flip`,align:`shift`,fallbackAxisSide:`none`},b=h===null?y:{...typeof y==`object`?y:{},side:`none`},x=r.useCallback(e=>{m.current=e,typeof n==`function`?n(e):n&&(n.current=e)},[n]);return/* @__PURE__ */ (0,a.jsx)(t.Q,{ref:x,...c,side:h??i,align:o,collisionAvoidance:b})}),p=[`aria-controls`,`aria-activedescendant`,`aria-autocomplete`,`aria-haspopup`],m=[`role`,`aria-expanded`];function h(e){return e instanceof HTMLInputElement?[...m,...p]:p}function g(e,t,n){let r={"aria-controls":t,"aria-activedescendant":n,"aria-autocomplete":`list`,"aria-haspopup":`listbox`};return e instanceof HTMLInputElement?{role:`combobox`,"aria-expanded":`true`,...r}:r}function _(e){let{store:t,host:n,open:i,activeDescendant:a}=e,o=r.useRef(null),s=r.useRef(!1);r.useLayoutEffect(()=>{if(!n||!i)return;let e=h(n).map(e=>[e,n.getAttribute(e)]);return s.current=!0,()=>{s.current=!1;for(let[t,r]of e)r===null?n.removeAttribute(t):n.setAttribute(t,r)}},[n,i]);let c=r.useRef({store:t,host:n,open:i,activeDescendant:a});c.current={store:t,host:n,open:i,activeDescendant:a};let l=r.useCallback(e=>{e&&(o.current=e);let t=c.current;if(!t.host||!t.open||!s.current)return;let n=t.store.context.refs.listRef.current?.id||o.current||t.store.context.listId||null,r=g(t.host,n,t.activeDescendant);for(let e of h(t.host)){let n=r[e]??null;n===null?t.host.hasAttribute(e)&&t.host.removeAttribute(e):t.host.getAttribute(e)!==n&&t.host.setAttribute(e,n)}},[]);return r.useLayoutEffect(l),l}function v(e,t){if(!t)return!1;let n=e.composedPath()[0]??e.target;return n instanceof Node&&t.contains(n)}function y(e,t){let n=e.ownerDocument,r,i=null,a=i=>{if(!t.isOpen())return;let a=i.relatedTarget,o=t.getPopup();a instanceof Node&&o?.contains(a)||(clearTimeout(r),r=setTimeout(()=>{t.isOpen()&&n.hasFocus()&&e.getRootNode().activeElement!==e&&t.onFocusOut(i)}))},o=e=>{if(!t.isOpen()||!v(e,t.getPopup()))return;let n=e.composedPath()[0];n instanceof Element&&n.closest(`input, textarea, select, [contenteditable]`)||e.preventDefault()},s=e=>{if(!t.isOpen()||!v(e,t.getPopup())||i)return;t.onSelectionStart();let r=n.defaultView,a=t=>{t===e&&o()},o=()=>{i===o&&(i=null,r?.removeEventListener(`click`,a),clearTimeout(s),t.onSelectionEnd())};i=o,r?.addEventListener(`click`,a);let s=setTimeout(o)};return e.addEventListener(`focusout`,a),n.addEventListener(`mousedown`,o,!0),n.addEventListener(`click`,s,!0),()=>{i?.(),clearTimeout(r),e.removeEventListener(`focusout`,a),n.removeEventListener(`mousedown`,o,!0),n.removeEventListener(`click`,s,!0)}}const b=/* @__PURE__ */ new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`,`Enter`]);function x(e,t){if((`nativeEvent`in e?e.nativeEvent:e).isComposing||e.keyCode===229||e.defaultPrevented||!t.isOpen())return!1;let{key:n,ctrlKey:r,metaKey:i,altKey:a,shiftKey:o}=e;return i||a||o?!1:r?n!==`n`&&n!==`p`?!1:t.forward(e):n===`Escape`?(e.preventDefault(),e.stopPropagation(),t.dismiss(e),!0):b.has(n)?t.forward(e):!1}const S=(e,t)=>{if(e===0)return`No results`;let n=`${e} ${e===1?`result`:`results`}`;return t?`${n}, first: ${t}`:n};function C(e){return/* @__PURE__ */ (0,a.jsx)(t.O,{announcement:e.announcement,element:`span`})}function w(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ee(e,t,n){let i=r.useRef(e);i.current=e;let a=r.useRef(null),o=r.useRef(!1);e||(o.current=!1);let s=r.useRef(null),c=s.current;if(c&&c.anchor===e&&c.host===t&&c.measureKey===n)return{virtualAnchor:c.value,ready:o.current};let l=c?.value,u=e?.()??null;u&&(o.current=!0);let d=l!==void 0&&l.contextElement!==(t??void 0);return u&&(!a.current||!w(u,a.current))&&(a.current=u,l=void 0),e&&(l===void 0||d)&&a.current&&(l={getBoundingClientRect:()=>{let e=i.current?.()??null;return e&&(a.current=e),a.current??new DOMRect},contextElement:t??void 0}),s.current={anchor:e,host:t,measureKey:n,value:l},{virtualAnchor:l,ready:o.current}}function te(e){let{store:n,closeAll:r}=t.It(),i=t.Rt(),a=n.useState(`open`),o=t.Y({store:n,surfaceId:`suggestion-menu-host`,focusOwnerStore:i,depth:0,submenuContext:null,subpageContext:null,enabled:a,closeAll:r});return e.forwardKeyDownRef.current=o,null}const T=/* @__PURE__ */ new Set;function ne(e,t){process.env.NODE_ENV===`production`||T.has(e)||(T.add(e),console.warn(t))}function E(e){let{handle:o,open:s,defaultOpen:l=!1,onOpenChange:u,query:d,anchor:f,virtualized:p=!1,items:m,onHighlightChange:h,onOpenChangeComplete:g,getResolvedId:v,idScope:b=`surface`,getAriaResultsText:w=S,noResults:T=`empty`,children:E,...D}=e,O=r.useSyncExternalStore(o.subscribe,o.getState,o.getState),k=r.useRef(null),A=r.useRef(null),j=r.useRef(null),{store:M,focusOwnerStore:N,openChainStore:P,registerSurface:F,closeAll:I,virtualization:L,handleOpenChange:R,disabled:re,menuTreeResolver:ie}=t.St({onOpenChange:((e,t)=>{let n=j.current;if(k.current?.select(`open`)!==e&&(!n||n.open!==e||!n.thisTask)){let n={open:e,reason:t.reason,thisTask:!0};j.current=n,queueMicrotask(()=>{n.thisTask=!1})}if((A.current??k.current?.select(`open`))===e)return;let r=A.current;A.current=e,queueMicrotask(()=>{A.current=null}),u?.(e,t),t.isCanceled&&(A.current=r,j.current=null)}),defaultOpen:l,virtualized:p,items:m,onHighlightChange:h,closeOnOutsidePress:`pointerdown`,getDismissExemptElements:()=>[o.host],getResolvedId:v,idScope:b});k.current=M,M.useControlledProp(`openProp`,s);let z=M.useState(`open`),B=r.useRef(z);r.useLayoutEffect(()=>{if(B.current===z)return;B.current=z;let e=j.current;j.current=null,o.notifyOpenChange(z,e?.open===z?e.reason:n.j)},[z,o]);let V=r.useRef(R);V.current=R;let H=r.useRef(null),U=r.useRef(null),W=r.useRef(null),G=r.useRef(T);G.current=T;let K=r.useRef(d);K.current=d;let q=r.useRef(!1),[ae,J]=r.useState(null),Y=r.useRef(``);r.useLayoutEffect(()=>{let e=()=>M.select(`open`),t=(e,t,n)=>{if(t===`imperative-action`){let t=W.current;if(e&&t!==null){let e=K.current;if(e===t){q.current=!0;return}if(e===void 0&&o.getState().query===t)return}W.current=null,q.current=!1}V.current(e,t,n)},r=0,i=null,a=()=>{r+=1},s=()=>{if(--r,r>0||!i)return;let{event:e}=i;i=null,t(!1,n.O,e)},c=(e,n,a)=>{if(!e&&n===`imperative-action`&&r>0){i={event:a};return}t(e,n,a)};return o.connect({isOpen:e,requestOpenChange:c,handleKeyDown:t=>((t.key===`ArrowLeft`||t.key===`ArrowRight`)&&J(null),x(t,{isOpen:e,forward:e=>{let t=e.key===`Enter`;t&&a();try{let n=H.current?.(e)??!1;return n&&!t&&J(Y.current),n}finally{t&&s()}},dismiss:e=>c(!1,n.E,`nativeEvent`in e?e.nativeEvent:e)})),attachHost:t=>{W.current=null,q.current=!1,U.current?.(),U.current=t?y(t,{isOpen:e,getPopup:()=>M.context.refs.popupRef.current,onFocusOut:e=>c(!1,n.D,e),onSelectionStart:a,onSelectionEnd:s}):null}})},[o,M]),d!==void 0&&O.updated.query&&ne(`query`,"[SuggestionMenu] Both the `query` prop and `handle.update({ query })` set the query; the prop wins."),f!==void 0&&O.updated.anchor&&ne(`anchor`,"[SuggestionMenu] Both the `anchor` prop and `handle.update({ anchor })` set the anchor; the prop wins.");let X=d??O.query;r.useLayoutEffect(()=>{q.current&&X!==W.current&&(q.current=!1,W.current=null,V.current(!0,n.O))},[X]);let oe=f??O.anchor,Z=O.payload,se=O.host;Y.current=X;let ce=M.useState(`highlightedId`),Q=M.useState(`highlightSource`),le=z&&Q===`keyboard`&&ae===X?ce:null;r.useEffect(()=>{Q!==`keyboard`&&J(null)},[Q]),r.useLayoutEffect(()=>{J(null)},[X]);let ue=_({store:M,host:se,open:z,activeDescendant:le}),[de,fe]=r.useState(null),pe=r.useRef(w);pe.current=w;let $=r.useCallback((e,t)=>{if(e===0&&G.current===`close`){W.current=Y.current,V.current(!1,n.A);return}let r=pe.current(e,t);fe(e=>({text:r,key:(e?.key??0)+1}))},[]);r.useEffect(()=>{z||(J(null),fe(null))},[z]);let me=r.useMemo(()=>({}),[O,X,z]),{virtualAnchor:he,ready:ge}=ee(z?oe:void 0,se,me),_e=r.useCallback(e=>{e||(M.clearHighlight(),M.context.onCloseComplete?.(),M.context.onPopupCloseComplete?.()),g?.(e)},[M,g]),ve=r.useCallback((e,t)=>{R(e,t.reason,t.event)},[R]),ye=r.useMemo(()=>({handle:o,query:X,payload:Z,reportResults:$,syncHostAria:ue,anchorReady:ge}),[o,X,Z,$,ue,ge]);return/* @__PURE__ */ (0,a.jsxs)(t.Z,{store:M,menuTreeResolver:ie,focusOwnerStore:N,openChainStore:P,disabled:re,depth:0,closeAll:I,registerSurface:F,virtualization:L,virtualAnchor:he,menuType:`context`,externalFocus:!0,closeOnOutsidePress:`pointerdown`,componentName:`suggestion-menu`,children:[/* @__PURE__ */ (0,a.jsx)(te,{forwardKeyDownRef:H}),/* @__PURE__ */ (0,a.jsx)(C,{announcement:de}),/* @__PURE__ */ (0,a.jsx)(c.Provider,{value:ye,children:/* @__PURE__ */ (0,a.jsx)(i.Popover.Root,{...D,open:z,onOpenChange:ve,onOpenChangeComplete:_e,modal:!1,children:typeof E==`function`?E({payload:Z,query:X}):E})})]})}function D(e){let{virtualized:t,virtualItemsCount:n,filteredCount:r}=e.state;return t?n:r}function O(e,t){let n=e.context.refs.listRef.current,r=e.context.refs.itemRefs.get(t)?.current??[...n?.querySelectorAll(`[id]`)??[]].find(e=>e.id===t);return(r?.getAttribute(`aria-label`)??r?.textContent?.trim())||e.context.items.get(t)?.value||null}function k(){let{store:e}=n.g(),i=t.ot(),{query:a,reportResults:o}=l(),s=e.useState(`open`),c=e.useState(`highlightedId`),u=e.useState(`highlightSource`),d=i?.rootReveal.settled??!0,f=r.useRef(null);u!==`keyboard`&&u!==`pointer`&&(f.current=c);let p=f.current;return r.useLayoutEffect(()=>{if(!s||!d)return;let t=!1;return queueMicrotask(()=>{if(t)return;let n=e.getVisibleItemIds(),r=e.state.highlightedId,i=r!==null&&n.includes(r)?r:null;o(D(e),i?O(e,i):null)}),()=>{t=!0}},[s,d,a,p,e,o]),null}const A=/* @__PURE__ */ new Set([`submenu`,`subpage`]);let j=!1;function M(){process.env.NODE_ENV===`production`||j||(j=!0,console.warn(`[SuggestionMenu] Submenu and subpage definitions are not supported and were skipped.`))}function N(e){let n=!1,r=e=>e.flatMap(e=>{let i=t.wt(e)?e.def:e;if(A.has(i.kind))return n=!0,[];if(t.wt(e))return[e];let a=`nodes`in i?i.nodes:void 0;if(Array.isArray(a)){let t=r(a);return t.length!==a.length||t.some((e,t)=>e!==a[t])?[{...i,nodes:t}]:[e]}return[e]}),i=r(e);return n&&M(),n?i:e}const P=r.forwardRef(function(e,i){let{content:o,asyncContentMode:s=`append`,children:c,...u}=e,{query:d}=l(),{store:f}=n.g();r.useLayoutEffect(()=>(f.setHasInput(!0),()=>f.setHasInput(!1)),[f]);let p=r.useMemo(()=>o&&N(o),[o]);return/* @__PURE__ */ (0,a.jsxs)(t.D,{ref:i,...u,content:p,asyncContentMode:s,search:d,skipAutoFocus:!0,children:[c,/* @__PURE__ */ (0,a.jsx)(k,{})]})}),F=/* @__PURE__ */ `borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.fontSizeAdjust.lineHeight.fontFamily.fontFeatureSettings.fontKerning.textAlign.textTransform.textIndent.textDecoration.letterSpacing.wordSpacing.tabSize.direction.whiteSpace.wordBreak.overflowWrap.hyphens.fontVariationSettings`.split(`.`);function I(e,t){let n=e.ownerDocument,r=n.defaultView;if(!r||!e.isConnected)return null;let i=r.getComputedStyle(e),a=n.createElement(`div`),o=a.style;for(let e of F)o[e]=i[e];let s=e instanceof HTMLInputElement;o.position=`absolute`,o.visibility=`hidden`,o.top=`0`,o.left=`-9999px`,o.overflow=`hidden`;let c=Number.parseFloat(i.borderLeftWidth)+Number.parseFloat(i.borderRightWidth),l=e=>Number.parseFloat(e)||0,u=i.boxSizing===`border-box`?l(i.width):l(i.width)+l(i.paddingLeft)+l(i.paddingRight)+c,d=e.offsetWidth-e.clientWidth-c;o.boxSizing=`border-box`,o.width=`${u-d}px`,s&&(o.whiteSpace=`pre`,o.lineHeight=`${e.clientHeight-Number.parseFloat(i.paddingTop)-Number.parseFloat(i.paddingBottom)}px`);let f=e.value;a.textContent=f.slice(0,t);let p=n.createElement(`span`);p.textContent=f.slice(t,t+1)||``,a.append(p),a.append(f.slice(t+1)),n.body.append(a);try{let t=e.getBoundingClientRect(),n=a.getBoundingClientRect(),r=p.getBoundingClientRect();return new DOMRect(t.left+(r.left-n.left)-e.scrollLeft,t.top+(r.top-n.top)-e.scrollTop,r.width,r.height)}finally{a.remove()}}function L(e,t,n){let r=e.slice(0,t),i=null;for(let e of n){if(!e.char)continue;let n=r.lastIndexOf(e.char);if(n<0||i&&n<=i.from)continue;let a=r.slice(n+e.char.length);if(a.includes(`
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../rolldown-runtime-5lHFv1cW.cjs"),t=require("../popup-menu-MbWB6z4-.cjs"),n=require("../listbox-DYvJTiF6.cjs");let r=require("react");r=e.n(r,1);let i=require("@base-ui/react/popover"),a=require("react/jsx-runtime");var o=class{#e={query:``,anchor:null,payload:void 0,host:null,updated:{query:!1,anchor:!1}};#t=/* @__PURE__ */ new Set;#n=/* @__PURE__ */ new Set;#r=null;#i=null;get host(){return this.#e.host}get query(){return this.#e.query}get payload(){return this.#e.payload}get isOpen(){return this.#r?.isOpen()??!1}subscribe=e=>(this.#t.add(e),()=>{this.#t.delete(e)});getState=()=>this.#e;#a(e){this.#e={...this.#e,...e};for(let e of this.#t)e()}#o(e){this.#r?this.#r.requestOpenChange(e,n.O):this.#i=e}attach(e){let t=this.#e.host;return t!==e&&(t&&this.isOpen&&this.#o(!1),this.#a({host:e}),this.#r?.attachHost(e,t)),()=>{this.#e.host===e&&(this.isOpen&&this.#o(!1),this.#a({host:null}),this.#r?.attachHost(null,e))}}update(e){let t={updated:{query:this.#e.updated.query||e.query!==void 0,anchor:this.#e.updated.anchor||e.anchor!==void 0}};e.query!==void 0&&(t.query=e.query),e.anchor!==void 0&&(t.anchor=e.anchor),`payload`in e&&(t.payload=e.payload),this.#a(t),this.isOpen||this.#o(!0)}close(){this.#o(!1)}handleKeyDown(e){return this.#r?.handleKeyDown(e)??!1}subscribeOpenChange=e=>(this.#n.add(e),()=>{this.#n.delete(e)});notifyOpenChange(e,t){for(let n of this.#n)n(e,t)}connect(e){let t=this.#r;if(t&&t!==e&&(process.env.NODE_ENV!==`production`&&console.warn(`[SuggestionMenu] A handle serves one Root at a time; the Root mounted last takes it over.`),t.attachHost(null,this.#e.host)),this.#r=e,e.attachHost(this.#e.host,null),this.#i!==null){let t=this.#i;this.#i=null,e.requestOpenChange(t,n.O)}return()=>{this.#r===e&&(e.attachHost(null,this.#e.host),this.#r=null)}}};function s(){return new o}const c=r.createContext(null);function l(){let e=r.useContext(c);if(!e)throw Error(`SuggestionMenu parts must be used within a SuggestionMenu.Root.`);return e}const u=r.forwardRef(function(e,n){let{label:i=`Suggestions`,...o}=e,{syncHostAria:s}=l(),c=r.useRef(null),u=r.useCallback(e=>{if(c.current?.disconnect(),c.current=null,e){e.id&&s(e.id);let t=new MutationObserver(()=>{e.id&&s(e.id)});t.observe(e,{attributeFilter:[`id`]}),c.current=t}typeof n==`function`?n(e):n&&(n.current=e)},[n,s]);return/* @__PURE__ */ (0,a.jsx)(t.M,{ref:u,label:i,...o})}),d=r.forwardRef(function(e,n){return/* @__PURE__ */ (0,a.jsx)(t.tt,{ref:n,role:`presentation`,...e})}),f=r.forwardRef(function(e,n){let{side:i=`bottom`,align:o=`start`,collisionAvoidance:s,...c}=e,{store:u}=t.It(),{query:d,anchorReady:f}=l(),p=u.useState(`open`),m=r.useRef(null),[h,g]=r.useState(null),_=r.useCallback(()=>{let e=m.current?.getAttribute(`data-side`);g(t=>t??(e||i))},[i]);r.useLayoutEffect(()=>{if(!p){g(null);return}if(!f)return;let e=requestAnimationFrame(_);return()=>cancelAnimationFrame(e)},[p,f,_]);let v=r.useRef(null);r.useLayoutEffect(()=>{if(!p||!f){v.current=null;return}if(v.current===null){v.current=d;return}d!==v.current&&_()},[p,d,f,_]);let y=s??{side:`flip`,align:`shift`,fallbackAxisSide:`none`},b=h===null?y:{...typeof y==`object`?y:{},side:`none`},x=r.useCallback(e=>{m.current=e,typeof n==`function`?n(e):n&&(n.current=e)},[n]);return/* @__PURE__ */ (0,a.jsx)(t.Q,{ref:x,...c,side:h??i,align:o,collisionAvoidance:b})}),p=[`aria-controls`,`aria-activedescendant`,`aria-autocomplete`,`aria-haspopup`],m=[`role`,`aria-expanded`];function h(e){return e instanceof HTMLInputElement?[...m,...p]:p}function g(e,t,n){let r={"aria-controls":t,"aria-activedescendant":n,"aria-autocomplete":`list`,"aria-haspopup":`listbox`};return e instanceof HTMLInputElement?{role:`combobox`,"aria-expanded":`true`,...r}:r}function _(e){let{store:t,host:n,open:i,activeDescendant:a}=e,o=r.useRef(null),s=r.useRef(!1);r.useLayoutEffect(()=>{if(!n||!i)return;let e=h(n).map(e=>[e,n.getAttribute(e)]);return s.current=!0,()=>{s.current=!1;for(let[t,r]of e)r===null?n.removeAttribute(t):n.setAttribute(t,r)}},[n,i]);let c=r.useRef({store:t,host:n,open:i,activeDescendant:a});c.current={store:t,host:n,open:i,activeDescendant:a};let l=r.useCallback(e=>{e&&(o.current=e);let t=c.current;if(!t.host||!t.open||!s.current)return;let n=t.store.context.refs.listRef.current?.id||o.current||t.store.context.listId||null,r=g(t.host,n,t.activeDescendant);for(let e of h(t.host)){let n=r[e]??null;n===null?t.host.hasAttribute(e)&&t.host.removeAttribute(e):t.host.getAttribute(e)!==n&&t.host.setAttribute(e,n)}},[]);return r.useLayoutEffect(l),l}function v(e,t){if(!t)return!1;let n=e.composedPath()[0]??e.target;return n instanceof Node&&t.contains(n)}function y(e,t){let n=e.ownerDocument,r,i=null,a=i=>{if(!t.isOpen())return;let a=i.relatedTarget,o=t.getPopup();a instanceof Node&&o?.contains(a)||(clearTimeout(r),r=setTimeout(()=>{t.isOpen()&&n.hasFocus()&&e.getRootNode().activeElement!==e&&t.onFocusOut(i)}))},o=e=>{if(!t.isOpen()||!v(e,t.getPopup()))return;let n=e.composedPath()[0];n instanceof Element&&n.closest(`input, textarea, select, [contenteditable]`)||e.preventDefault()},s=e=>{if(!t.isOpen()||!v(e,t.getPopup())||i)return;t.onSelectionStart();let r=n.defaultView,a=t=>{t===e&&o()},o=()=>{i===o&&(i=null,r?.removeEventListener(`click`,a),clearTimeout(s),t.onSelectionEnd())};i=o,r?.addEventListener(`click`,a);let s=setTimeout(o)};return e.addEventListener(`focusout`,a),n.addEventListener(`mousedown`,o,!0),n.addEventListener(`click`,s,!0),()=>{i?.(),clearTimeout(r),e.removeEventListener(`focusout`,a),n.removeEventListener(`mousedown`,o,!0),n.removeEventListener(`click`,s,!0)}}const b=/* @__PURE__ */ new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`,`Enter`]);function x(e,t){if((`nativeEvent`in e?e.nativeEvent:e).isComposing||e.keyCode===229||e.defaultPrevented||!t.isOpen())return!1;let{key:n,ctrlKey:r,metaKey:i,altKey:a,shiftKey:o}=e;return i||a||o?!1:r?n!==`n`&&n!==`p`?!1:t.forward(e):n===`Escape`?(e.preventDefault(),e.stopPropagation(),t.dismiss(e),!0):b.has(n)?t.forward(e):!1}const S=(e,t)=>{if(e===0)return`No results`;let n=`${e} ${e===1?`result`:`results`}`;return t?`${n}, first: ${t}`:n};function C(e){return/* @__PURE__ */ (0,a.jsx)(t.O,{announcement:e.announcement,element:`span`})}function w(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ee(e,t,n){let i=r.useRef(e);i.current=e;let a=r.useRef(null),o=r.useRef(!1);e||(o.current=!1);let s=r.useRef(null),c=s.current;if(c&&c.anchor===e&&c.host===t&&c.measureKey===n)return{virtualAnchor:c.value,ready:o.current};let l=c?.value,u=e?.()??null;u&&(o.current=!0);let d=l!==void 0&&l.contextElement!==(t??void 0);return u&&(!a.current||!w(u,a.current))&&(a.current=u,l=void 0),e&&(l===void 0||d)&&a.current&&(l={getBoundingClientRect:()=>{let e=i.current?.()??null;return e&&(a.current=e),a.current??new DOMRect},contextElement:t??void 0}),s.current={anchor:e,host:t,measureKey:n,value:l},{virtualAnchor:l,ready:o.current}}function te(e){let{store:n,closeAll:r}=t.It(),i=t.Rt(),a=n.useState(`open`),o=t.Y({store:n,surfaceId:`suggestion-menu-host`,focusOwnerStore:i,depth:0,submenuContext:null,subpageContext:null,enabled:a,closeAll:r});return e.forwardKeyDownRef.current=o,null}const T=/* @__PURE__ */ new Set;function ne(e,t){process.env.NODE_ENV===`production`||T.has(e)||(T.add(e),console.warn(t))}function E(e){let{handle:o,open:s,defaultOpen:l=!1,onOpenChange:u,query:d,anchor:f,virtualized:p=!1,items:m,onHighlightChange:h,onOpenChangeComplete:g,getResolvedId:v,idScope:b=`surface`,getAriaResultsText:w=S,noResults:T=`empty`,children:E,...D}=e,O=r.useSyncExternalStore(o.subscribe,o.getState,o.getState),k=r.useRef(null),A=r.useRef(null),j=r.useRef(null),{store:M,focusOwnerStore:N,openChainStore:P,registerSurface:F,closeAll:I,virtualization:L,handleOpenChange:R,disabled:re,menuTreeResolver:ie}=t.St({onOpenChange:((e,t)=>{let n=j.current;if(k.current?.select(`open`)!==e&&(!n||n.open!==e||!n.thisTask)){let n={open:e,reason:t.reason,thisTask:!0};j.current=n,queueMicrotask(()=>{n.thisTask=!1})}if((A.current??k.current?.select(`open`))===e)return;let r=A.current;A.current=e,queueMicrotask(()=>{A.current=null}),u?.(e,t),t.isCanceled&&(A.current=r,j.current=null)}),defaultOpen:l,virtualized:p,items:m,onHighlightChange:h,closeOnOutsidePress:`pointerdown`,getDismissExemptElements:()=>[o.host],getResolvedId:v,idScope:b});k.current=M,M.useControlledProp(`openProp`,s);let z=M.useState(`open`),B=r.useRef(z);r.useLayoutEffect(()=>{if(B.current===z)return;B.current=z;let e=j.current;j.current=null,o.notifyOpenChange(z,e?.open===z?e.reason:n.j)},[z,o]);let V=r.useRef(R);V.current=R;let H=r.useRef(null),U=r.useRef(null),W=r.useRef(null),G=r.useRef(T);G.current=T;let K=r.useRef(d);K.current=d;let q=r.useRef(!1),[ae,J]=r.useState(null),Y=r.useRef(``);r.useLayoutEffect(()=>{let e=()=>M.select(`open`),t=(e,t,n)=>{if(t===`imperative-action`){let t=W.current;if(e&&t!==null){let e=K.current;if(e===t){q.current=!0;return}if(e===void 0&&o.getState().query===t)return}W.current=null,q.current=!1}V.current(e,t,n)},r=0,i=null,a=()=>{r+=1},s=()=>{if(--r,r>0||!i)return;let{event:e}=i;i=null,t(!1,n.O,e)},c=(e,n,a)=>{if(!e&&n===`imperative-action`&&r>0){i={event:a};return}t(e,n,a)};return o.connect({isOpen:e,requestOpenChange:c,handleKeyDown:t=>((t.key===`ArrowLeft`||t.key===`ArrowRight`)&&J(null),x(t,{isOpen:e,forward:e=>{let t=e.key===`Enter`;t&&a();try{let n=H.current?.(e)??!1;return n&&!t&&J(Y.current),n}finally{t&&s()}},dismiss:e=>c(!1,n.E,`nativeEvent`in e?e.nativeEvent:e)})),attachHost:t=>{W.current=null,q.current=!1,U.current?.(),U.current=t?y(t,{isOpen:e,getPopup:()=>M.context.refs.popupRef.current,onFocusOut:e=>c(!1,n.D,e),onSelectionStart:a,onSelectionEnd:s}):null}})},[o,M]),d!==void 0&&O.updated.query&&ne(`query`,"[SuggestionMenu] Both the `query` prop and `handle.update({ query })` set the query; the prop wins."),f!==void 0&&O.updated.anchor&&ne(`anchor`,"[SuggestionMenu] Both the `anchor` prop and `handle.update({ anchor })` set the anchor; the prop wins.");let X=d??O.query;r.useLayoutEffect(()=>{q.current&&X!==W.current&&(q.current=!1,W.current=null,V.current(!0,n.O))},[X]);let oe=f??O.anchor,Z=O.payload,se=O.host;Y.current=X;let ce=M.useState(`highlightedId`),Q=M.useState(`highlightSource`),le=z&&Q===`keyboard`&&ae===X?ce:null;r.useEffect(()=>{Q!==`keyboard`&&J(null)},[Q]),r.useLayoutEffect(()=>{J(null)},[X]);let ue=_({store:M,host:se,open:z,activeDescendant:le}),[de,fe]=r.useState(null),pe=r.useRef(w);pe.current=w;let $=r.useCallback((e,t)=>{if(e===0&&G.current===`close`){W.current=Y.current,V.current(!1,n.A);return}let r=pe.current(e,t);fe(e=>({text:r,key:(e?.key??0)+1}))},[]);r.useEffect(()=>{z||(J(null),fe(null))},[z]);let me=r.useMemo(()=>({}),[O,X,z]),{virtualAnchor:he,ready:ge}=ee(z?oe:void 0,se,me),_e=r.useCallback(e=>{e||(M.clearHighlight(),M.context.onCloseComplete?.(),M.context.onPopupCloseComplete?.()),g?.(e)},[M,g]),ve=r.useCallback((e,t)=>{R(e,t.reason,t.event)},[R]),ye=r.useMemo(()=>({handle:o,query:X,payload:Z,reportResults:$,syncHostAria:ue,anchorReady:ge}),[o,X,Z,$,ue,ge]);return/* @__PURE__ */ (0,a.jsxs)(t.Z,{store:M,menuTreeResolver:ie,focusOwnerStore:N,openChainStore:P,disabled:re,depth:0,closeAll:I,registerSurface:F,virtualization:L,virtualAnchor:he,menuType:`context`,externalFocus:!0,closeOnOutsidePress:`pointerdown`,componentName:`suggestion-menu`,children:[/* @__PURE__ */ (0,a.jsx)(te,{forwardKeyDownRef:H}),/* @__PURE__ */ (0,a.jsx)(C,{announcement:de}),/* @__PURE__ */ (0,a.jsx)(c.Provider,{value:ye,children:/* @__PURE__ */ (0,a.jsx)(i.Popover.Root,{...D,open:z,onOpenChange:ve,onOpenChangeComplete:_e,modal:!1,children:typeof E==`function`?E({payload:Z,query:X}):E})})]})}function D(e){let{virtualized:t,virtualItemsCount:n,filteredCount:r}=e.state;return t?n:r}function O(e,t){let n=e.context.refs.listRef.current,r=e.context.refs.itemRefs.get(t)?.current??[...n?.querySelectorAll(`[id]`)??[]].find(e=>e.id===t);return(r?.getAttribute(`aria-label`)??r?.textContent?.trim())||e.context.items.get(t)?.value||null}function k(){let{store:e}=n.g(),i=t.ot(),{query:a,reportResults:o}=l(),s=e.useState(`open`),c=e.useState(`highlightedId`),u=e.useState(`highlightSource`),d=i?.rootReveal.settled??!0,f=r.useRef(null);u!==`keyboard`&&u!==`pointer`&&(f.current=c);let p=f.current;return r.useLayoutEffect(()=>{if(!s||!d)return;let t=!1;return queueMicrotask(()=>{if(t)return;let n=e.getVisibleItemIds(),r=e.state.highlightedId,i=r!==null&&n.includes(r)?r:null;o(D(e),i?O(e,i):null)}),()=>{t=!0}},[s,d,a,p,e,o]),null}const A=/* @__PURE__ */ new Set([`submenu`,`subpage`]);let j=!1;function M(){process.env.NODE_ENV===`production`||j||(j=!0,console.warn(`[SuggestionMenu] Submenu and subpage definitions are not supported and were skipped.`))}function N(e){let n=!1,r=e=>e.flatMap(e=>{let i=t.wt(e)?e.def:e;if(A.has(i.kind))return n=!0,[];if(t.wt(e))return[e];let a=`nodes`in i?i.nodes:void 0;if(Array.isArray(a)){let t=r(a);return t.length!==a.length||t.some((e,t)=>e!==a[t])?[{...i,nodes:t}]:[e]}return[e]}),i=r(e);return n&&M(),n?i:e}const P=r.forwardRef(function(e,i){let{content:o,asyncContentMode:s=`append`,children:c,...u}=e,{query:d}=l(),{store:f}=n.g();r.useLayoutEffect(()=>(f.setHasInput(!0),()=>f.setHasInput(!1)),[f]);let p=r.useMemo(()=>o&&N(o),[o]);return/* @__PURE__ */ (0,a.jsxs)(t.D,{ref:i,...u,content:p,asyncContentMode:s,search:d,skipAutoFocus:!0,children:[c,/* @__PURE__ */ (0,a.jsx)(k,{})]})}),F=/* @__PURE__ */ `borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.fontSizeAdjust.lineHeight.fontFamily.fontFeatureSettings.fontKerning.textAlign.textTransform.textIndent.textDecoration.letterSpacing.wordSpacing.tabSize.direction.whiteSpace.wordBreak.overflowWrap.hyphens.fontVariationSettings`.split(`.`);function I(e,t){let n=e.ownerDocument,r=n.defaultView;if(!r||!e.isConnected)return null;let i=r.getComputedStyle(e),a=n.createElement(`div`),o=a.style;for(let e of F)o[e]=i[e];let s=e instanceof HTMLInputElement;o.position=`absolute`,o.visibility=`hidden`,o.top=`0`,o.left=`-9999px`,o.overflow=`hidden`;let c=Number.parseFloat(i.borderLeftWidth)+Number.parseFloat(i.borderRightWidth),l=e=>Number.parseFloat(e)||0,u=i.boxSizing===`border-box`?l(i.width):l(i.width)+l(i.paddingLeft)+l(i.paddingRight)+c,d=e.offsetWidth-e.clientWidth-c;o.boxSizing=`border-box`,o.width=`${u-d}px`,s&&(o.whiteSpace=`pre`,o.lineHeight=`${e.clientHeight-Number.parseFloat(i.paddingTop)-Number.parseFloat(i.paddingBottom)}px`);let f=e.value;a.textContent=f.slice(0,t);let p=n.createElement(`span`);p.textContent=f.slice(t,t+1)||``,a.append(p),a.append(f.slice(t+1)),n.body.append(a);try{let t=e.getBoundingClientRect(),n=a.getBoundingClientRect(),r=p.getBoundingClientRect();return new DOMRect(t.left+(r.left-n.left)-e.scrollLeft,t.top+(r.top-n.top)-e.scrollTop,r.width,r.height)}finally{a.remove()}}function L(e,t,n){let r=e.slice(0,t),i=null;for(let e of n){if(!e.char)continue;let n=r.lastIndexOf(e.char);if(n<0||i&&n<=i.from)continue;let a=r.slice(n+e.char.length);if(a.includes(`
|
|
2
2
|
`)||!e.allowSpaces&&/\s/.test(a)||a.length<(e.minLength??0))continue;let o=n===0?``:r.charAt(n-1),s=n===0||o===`
|
|
3
3
|
`;(e.startOfLine?!s:!(s||/\s/.test(o)))||(i={trigger:e,query:a,from:n,to:t})}return i}const R=/* @__PURE__ */ new Set([`insertText`,`insertFromPaste`,`insertLineBreak`,`insertParagraph`]),re=/* @__PURE__ */ new Set([`escape-key`,`item-press`]);function ie(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;let i=0;for(;i<n-r&&e[e.length-1-i]===t[t.length-1-i];)i++;return{start:r,end:e.length-i}}function z(e,t,n){return n<e.start?n:n>=e.end?n+t:null}function B(e,t,n){let r=t.ownerDocument,i=()=>t.getRootNode(),a=()=>i().activeElement===t,o=null,s=()=>{e.host!==t&&(o=e.attach(t))};(e.host===null||a())&&s();let c=t.value,l=null,u=null,d=null,f=[],p=()=>{let n=t.value,r=l;if(l=null,n===c)return;let i=c;c=n;let a=r&&i.slice(0,r.start)===n.slice(0,r.start)&&n.endsWith(i.slice(r.end))?r:ie(i,n),o=n.length-i.length,s=e=>z(a,o,e);if(f=f.flatMap(e=>{let t=s(e.from);return t===null?[]:[{...e,from:t}]}),u){let t=s(u.from);t===null?(u=null,e.close()):u={...u,from:t,end:s(u.end)??t}}if(d){let e=s(d.from);d=e===null?null:{...d,from:e}}},m=()=>{u&&(d={char:u.char,from:u.from},u=null,e.close())},h=()=>{if(e.host!==t)return;p();let r=t.selectionStart,i=r!==null&&r===t.selectionEnd?L(t.value,r,n.triggers):null,a=i!==null&&f.some(e=>e.from===i.from&&e.char===i.trigger.char);if(!i||a)return m();let o=u?.char===i.trigger.char&&u.from===i.from&&u?u.end:i.to;u={char:i.trigger.char,from:i.from,end:o},d=null;let s=i.from;e.update({query:i.query,payload:{...i,to:o},anchor:()=>I(t,s)})},g=e.subscribeOpenChange((n,r)=>{if(n||e.host!==t)return;p();let i=u??d;d=null,i&&re.has(r)&&f.push({char:i.char,from:i.from})}),_=()=>{s(),h()},v=e=>{let{inputType:n}=e,r=t.selectionStart,i=t.selectionEnd;r!==null&&i!==null&&(R.has(n)||r!==i&&n.startsWith(`delete`))&&(p(),l={start:r,end:i})},y=()=>{a()&&s(),h()},b=n=>{e.host===t&&e.handleKeyDown(n)&&n.stopPropagation()},x=()=>{a()&&h()},S=()=>{u&&h()},C=t;return C.addEventListener(`beforeinput`,v),C.addEventListener(`input`,y),C.addEventListener(`focus`,_),C.addEventListener(`keydown`,b),C.addEventListener(`scroll`,S),r.addEventListener(`selectionchange`,x),()=>{g(),C.removeEventListener(`beforeinput`,v),C.removeEventListener(`input`,y),C.removeEventListener(`focus`,_),C.removeEventListener(`keydown`,b),C.removeEventListener(`scroll`,S),r.removeEventListener(`selectionchange`,x),e.host===t&&m(),o?.()}}function V(e,t){let n=r.useRef(t);n.current=t;let i=r.useRef(null);return r.useCallback(t=>{i.current?.(),i.current=t?B(e,t,{get triggers(){return n.current.triggers}}):null},[e])}var H=/* @__PURE__ */ e.t({Arrow:()=>t.bt,Empty:()=>t.U,Footer:()=>t.g,Group:()=>t.h,GroupLabel:()=>t.V,GroupValue:()=>t.m,Handle:()=>o,Header:()=>t.p,Icon:()=>t.W,Item:()=>t.C,LinkItem:()=>t.S,List:()=>u,Loading:()=>t.j,Popup:()=>d,Portal:()=>t.et,Positioner:()=>f,Root:()=>E,ScrollDownArrow:()=>t.k,ScrollUpArrow:()=>t.A,Separator:()=>t.f,Surface:()=>P,Tree:()=>t.u,TreeConnector:()=>t.l,TreeItem:()=>t.c,attachTextTrigger:()=>B,createHandle:()=>s,useAsyncMenuCoordinator:()=>t.at,useDataList:()=>t.dt,useTextTrigger:()=>V});Object.defineProperty(exports,"SuggestionMenu",{enumerable:!0,get:function(){return H}}),exports.SuggestionMenuHandle=o,exports.createSuggestionMenuHandle=s,exports.useAsyncMenuCoordinator=t.at,exports.useDataList=t.dt;
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { B as VirtualItem } from "../index-
|
|
2
|
-
import { $t as PopupMenuItemState, Et as TreeItemDef, Jt as PopupMenuLinkItem, Q as LinkItemDef, Qt as PopupMenuItemProps, U as GroupDef, Y as ItemDef, Yt as PopupMenuLinkItemProps, Zt as PopupMenuItem, _n as noResults, b as AsyncResultBehavior, bn as pointer, c as PopupMenuIdScope, d as AsyncContentMode, dn as imperativeAction, f as AsyncLoaderConfig, h as AsyncLoaderResult, hn as keyboard, ht as SeparatorDef, it as QueryLoaderConfig, l as PopupMenuNode, ln as escapeKey, mn as itemPress, nt as NodeDef, on as ChangeEventDetails, r as PopupMenuHighlightChangeHandler, s as GetResolvedIdFn, sn as GenericEventDetails, tt as LoaderComponentProps, un as focusOut, vn as none, vt as StaticLoaderConfig, xn as reason_parts_d_exports, yn as outsidePress } from "../events-
|
|
3
|
-
import { A as PopupMenuTreeItem, B as PopupMenuHeaderProps, Ct as PopupMenuList, Ft as PopupMenuIconProps, G as PopupMenuGroupValue, H as PopupMenuGroupLabel, I as PopupMenuSeparator, K as PopupMenuGroup, Kt as PopupMenuPositioner, L as PopupMenuSeparatorProps, M as PopupMenuTree, Mt as PopupMenuEmptyProps, Nt as PopupMenuEmptyState, Pt as PopupMenuIcon, Qt as PopupMenuPopup, U as PopupMenuGroupLabelProps, X as PopupMenuFooterProps, Xt as PopupMenuPortal, Y as PopupMenuFooter, Zt as PopupMenuPortalProps, an as PopupMenuArrowProps, bt as PopupMenuLoading, ft as PopupMenuSurfaceProps, gt as PopupMenuScrollDownArrow, h as useAsyncMenuCoordinator, in as PopupMenuArrow, j as PopupMenuTreeConnector, jt as PopupMenuEmpty, m as AsyncMenuCoordinatorValue, q as PopupMenuGroupProps, u as useDataList, vt as PopupMenuScrollUpArrow, xt as PopupMenuLoadingProps, z as PopupMenuHeader } from "../index-
|
|
1
|
+
import { B as VirtualItem } from "../index-CSt0sBX7.js";
|
|
2
|
+
import { $t as PopupMenuItemState, Et as TreeItemDef, Jt as PopupMenuLinkItem, Q as LinkItemDef, Qt as PopupMenuItemProps, U as GroupDef, Y as ItemDef, Yt as PopupMenuLinkItemProps, Zt as PopupMenuItem, _n as noResults, b as AsyncResultBehavior, bn as pointer, c as PopupMenuIdScope, d as AsyncContentMode, dn as imperativeAction, f as AsyncLoaderConfig, h as AsyncLoaderResult, hn as keyboard, ht as SeparatorDef, it as QueryLoaderConfig, l as PopupMenuNode, ln as escapeKey, mn as itemPress, nt as NodeDef, on as ChangeEventDetails, r as PopupMenuHighlightChangeHandler, s as GetResolvedIdFn, sn as GenericEventDetails, tt as LoaderComponentProps, un as focusOut, vn as none, vt as StaticLoaderConfig, xn as reason_parts_d_exports, yn as outsidePress } from "../events-B-l6YIGj.js";
|
|
3
|
+
import { A as PopupMenuTreeItem, B as PopupMenuHeaderProps, Ct as PopupMenuList, Ft as PopupMenuIconProps, G as PopupMenuGroupValue, H as PopupMenuGroupLabel, I as PopupMenuSeparator, K as PopupMenuGroup, Kt as PopupMenuPositioner, L as PopupMenuSeparatorProps, M as PopupMenuTree, Mt as PopupMenuEmptyProps, Nt as PopupMenuEmptyState, Pt as PopupMenuIcon, Qt as PopupMenuPopup, U as PopupMenuGroupLabelProps, X as PopupMenuFooterProps, Xt as PopupMenuPortal, Y as PopupMenuFooter, Zt as PopupMenuPortalProps, an as PopupMenuArrowProps, bt as PopupMenuLoading, ft as PopupMenuSurfaceProps, gt as PopupMenuScrollDownArrow, h as useAsyncMenuCoordinator, in as PopupMenuArrow, j as PopupMenuTreeConnector, jt as PopupMenuEmpty, m as AsyncMenuCoordinatorValue, q as PopupMenuGroupProps, u as useDataList, vt as PopupMenuScrollUpArrow, xt as PopupMenuLoadingProps, z as PopupMenuHeader } from "../index-4GT9ubGP.js";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import { PopoverRootProps } from "@base-ui/react/popover";
|
|
6
6
|
//#region src/suggestion-menu/events.d.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{t as e}from"../rolldown-runtime-DK3Fl9T5.js";import{A as t,C as n,D as r,It as i,M as a,O as o,Q as s,Rt as c,S as l,St as u,U as d,V as f,W as p,Y as m,Z as h,at as g,bt as _,c as v,dt as y,et as b,f as x,g as S,h as C,j as ee,k as w,l as T,m as te,ot as ne,p as E,tt as D,u as O,wt as k}from"../popup-menu-HmBMJEZc.js";import{A as re,D as ie,E as ae,O as A,g as j,j as oe}from"../listbox-CnwUlLZA.js";import*as M from"react";import{Popover as se}from"@base-ui/react/popover";import{jsx as N,jsxs as ce}from"react/jsx-runtime";var P=class{#e={query:``,anchor:null,payload:void 0,host:null,updated:{query:!1,anchor:!1}};#t=/* @__PURE__ */ new Set;#n=/* @__PURE__ */ new Set;#r=null;#i=null;get host(){return this.#e.host}get query(){return this.#e.query}get payload(){return this.#e.payload}get isOpen(){return this.#r?.isOpen()??!1}subscribe=e=>(this.#t.add(e),()=>{this.#t.delete(e)});getState=()=>this.#e;#a(e){this.#e={...this.#e,...e};for(let e of this.#t)e()}#o(e){this.#r?this.#r.requestOpenChange(e,A):this.#i=e}attach(e){let t=this.#e.host;return t!==e&&(t&&this.isOpen&&this.#o(!1),this.#a({host:e}),this.#r?.attachHost(e,t)),()=>{this.#e.host===e&&(this.isOpen&&this.#o(!1),this.#a({host:null}),this.#r?.attachHost(null,e))}}update(e){let t={updated:{query:this.#e.updated.query||e.query!==void 0,anchor:this.#e.updated.anchor||e.anchor!==void 0}};e.query!==void 0&&(t.query=e.query),e.anchor!==void 0&&(t.anchor=e.anchor),`payload`in e&&(t.payload=e.payload),this.#a(t),this.isOpen||this.#o(!0)}close(){this.#o(!1)}handleKeyDown(e){return this.#r?.handleKeyDown(e)??!1}subscribeOpenChange=e=>(this.#n.add(e),()=>{this.#n.delete(e)});notifyOpenChange(e,t){for(let n of this.#n)n(e,t)}connect(e){let t=this.#r;if(t&&t!==e&&(process.env.NODE_ENV!==`production`&&console.warn(`[SuggestionMenu] A handle serves one Root at a time; the Root mounted last takes it over.`),t.attachHost(null,this.#e.host)),this.#r=e,e.attachHost(this.#e.host,null),this.#i!==null){let t=this.#i;this.#i=null,e.requestOpenChange(t,A)}return()=>{this.#r===e&&(e.attachHost(null,this.#e.host),this.#r=null)}}};function F(){return new P}const I=M.createContext(null);function L(){let e=M.useContext(I);if(!e)throw Error(`SuggestionMenu parts must be used within a SuggestionMenu.Root.`);return e}const R=M.forwardRef(function(e,t){let{label:n=`Suggestions`,...r}=e,{syncHostAria:i}=L(),o=M.useRef(null),s=M.useCallback(e=>{if(o.current?.disconnect(),o.current=null,e){e.id&&i(e.id);let t=new MutationObserver(()=>{e.id&&i(e.id)});t.observe(e,{attributeFilter:[`id`]}),o.current=t}typeof t==`function`?t(e):t&&(t.current=e)},[t,i]);return/* @__PURE__ */ N(a,{ref:s,label:n,...r})}),z=M.forwardRef(function(e,t){return/* @__PURE__ */ N(D,{ref:t,role:`presentation`,...e})}),B=M.forwardRef(function(e,t){let{side:n=`bottom`,align:r=`start`,collisionAvoidance:a,...o}=e,{store:c}=i(),{query:l,anchorReady:u}=L(),d=c.useState(`open`),f=M.useRef(null),[p,m]=M.useState(null),h=M.useCallback(()=>{let e=f.current?.getAttribute(`data-side`);m(t=>t??(e||n))},[n]);M.useLayoutEffect(()=>{if(!d){m(null);return}if(!u)return;let e=requestAnimationFrame(h);return()=>cancelAnimationFrame(e)},[d,u,h]);let g=M.useRef(null);M.useLayoutEffect(()=>{if(!d||!u){g.current=null;return}if(g.current===null){g.current=l;return}l!==g.current&&h()},[d,l,u,h]);let _=a??{side:`flip`,align:`shift`,fallbackAxisSide:`none`},v=p===null?_:{...typeof _==`object`?_:{},side:`none`},y=M.useCallback(e=>{f.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]);return/* @__PURE__ */ N(s,{ref:y,...o,side:p??n,align:r,collisionAvoidance:v})}),V=[`aria-controls`,`aria-activedescendant`,`aria-autocomplete`,`aria-haspopup`],H=[`role`,`aria-expanded`];function U(e){return e instanceof HTMLInputElement?[...H,...V]:V}function W(e,t,n){let r={"aria-controls":t,"aria-activedescendant":n,"aria-autocomplete":`list`,"aria-haspopup":`listbox`};return e instanceof HTMLInputElement?{role:`combobox`,"aria-expanded":`true`,...r}:r}function le(e){let{store:t,host:n,open:r,activeDescendant:i}=e,a=M.useRef(null),o=M.useRef(!1);M.useLayoutEffect(()=>{if(!n||!r)return;let e=U(n).map(e=>[e,n.getAttribute(e)]);return o.current=!0,()=>{o.current=!1;for(let[t,r]of e)r===null?n.removeAttribute(t):n.setAttribute(t,r)}},[n,r]);let s=M.useRef({store:t,host:n,open:r,activeDescendant:i});s.current={store:t,host:n,open:r,activeDescendant:i};let c=M.useCallback(e=>{e&&(a.current=e);let t=s.current;if(!t.host||!t.open||!o.current)return;let n=t.store.context.refs.listRef.current?.id||a.current||t.store.context.listId||null,r=W(t.host,n,t.activeDescendant);for(let e of U(t.host)){let n=r[e]??null;n===null?t.host.hasAttribute(e)&&t.host.removeAttribute(e):t.host.getAttribute(e)!==n&&t.host.setAttribute(e,n)}},[]);return M.useLayoutEffect(c),c}function G(e,t){if(!t)return!1;let n=e.composedPath()[0]??e.target;return n instanceof Node&&t.contains(n)}function ue(e,t){let n=e.ownerDocument,r,i=null,a=i=>{if(!t.isOpen())return;let a=i.relatedTarget,o=t.getPopup();a instanceof Node&&o?.contains(a)||(clearTimeout(r),r=setTimeout(()=>{t.isOpen()&&n.hasFocus()&&e.getRootNode().activeElement!==e&&t.onFocusOut(i)}))},o=e=>{if(!t.isOpen()||!G(e,t.getPopup()))return;let n=e.composedPath()[0];n instanceof Element&&n.closest(`input, textarea, select, [contenteditable]`)||e.preventDefault()},s=e=>{if(!t.isOpen()||!G(e,t.getPopup())||i)return;t.onSelectionStart();let r=n.defaultView,a=t=>{t===e&&o()},o=()=>{i===o&&(i=null,r?.removeEventListener(`click`,a),clearTimeout(s),t.onSelectionEnd())};i=o,r?.addEventListener(`click`,a);let s=setTimeout(o)};return e.addEventListener(`focusout`,a),n.addEventListener(`mousedown`,o,!0),n.addEventListener(`click`,s,!0),()=>{i?.(),clearTimeout(r),e.removeEventListener(`focusout`,a),n.removeEventListener(`mousedown`,o,!0),n.removeEventListener(`click`,s,!0)}}const de=/* @__PURE__ */ new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`,`Enter`]);function fe(e,t){if((`nativeEvent`in e?e.nativeEvent:e).isComposing||e.keyCode===229||e.defaultPrevented||!t.isOpen())return!1;let{key:n,ctrlKey:r,metaKey:i,altKey:a,shiftKey:o}=e;return i||a||o?!1:r?n!==`n`&&n!==`p`?!1:t.forward(e):n===`Escape`?(e.preventDefault(),e.stopPropagation(),t.dismiss(e),!0):de.has(n)?t.forward(e):!1}const pe=(e,t)=>{if(e===0)return`No results`;let n=`${e} ${e===1?`result`:`results`}`;return t?`${n}, first: ${t}`:n};function me(e){return/* @__PURE__ */ N(o,{announcement:e.announcement,element:`span`})}function K(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function he(e,t,n){let r=M.useRef(e);r.current=e;let i=M.useRef(null),a=M.useRef(!1);e||(a.current=!1);let o=M.useRef(null),s=o.current;if(s&&s.anchor===e&&s.host===t&&s.measureKey===n)return{virtualAnchor:s.value,ready:a.current};let c=s?.value,l=e?.()??null;l&&(a.current=!0);let u=c!==void 0&&c.contextElement!==(t??void 0);return l&&(!i.current||!K(l,i.current))&&(i.current=l,c=void 0),e&&(c===void 0||u)&&i.current&&(c={getBoundingClientRect:()=>{let e=r.current?.()??null;return e&&(i.current=e),i.current??new DOMRect},contextElement:t??void 0}),o.current={anchor:e,host:t,measureKey:n,value:c},{virtualAnchor:c,ready:a.current}}function ge(e){let{store:t,closeAll:n}=i(),r=c(),a=t.useState(`open`),o=m({store:t,surfaceId:`suggestion-menu-host`,focusOwnerStore:r,depth:0,submenuContext:null,subpageContext:null,enabled:a,closeAll:n});return e.forwardKeyDownRef.current=o,null}const q=/* @__PURE__ */ new Set;function _e(e,t){process.env.NODE_ENV===`production`||q.has(e)||(q.add(e),console.warn(t))}function ve(e){let{handle:t,open:n,defaultOpen:r=!1,onOpenChange:i,query:a,anchor:o,virtualized:s=!1,items:c,onHighlightChange:l,onOpenChangeComplete:d,getResolvedId:f,idScope:p=`surface`,getAriaResultsText:m=pe,noResults:g=`empty`,children:_,...v}=e,y=M.useSyncExternalStore(t.subscribe,t.getState,t.getState),b=M.useRef(null),x=M.useRef(null),S=M.useRef(null),{store:C,focusOwnerStore:ee,openChainStore:w,registerSurface:T,closeAll:te,virtualization:ne,handleOpenChange:E,disabled:D,menuTreeResolver:O}=u({onOpenChange:((e,t)=>{let n=S.current;if(b.current?.select(`open`)!==e&&(!n||n.open!==e||!n.thisTask)){let n={open:e,reason:t.reason,thisTask:!0};S.current=n,queueMicrotask(()=>{n.thisTask=!1})}if((x.current??b.current?.select(`open`))===e)return;let r=x.current;x.current=e,queueMicrotask(()=>{x.current=null}),i?.(e,t),t.isCanceled&&(x.current=r,S.current=null)}),defaultOpen:r,virtualized:s,items:c,onHighlightChange:l,closeOnOutsidePress:`pointerdown`,getDismissExemptElements:()=>[t.host],getResolvedId:f,idScope:p});b.current=C,C.useControlledProp(`openProp`,n);let k=C.useState(`open`),j=M.useRef(k);M.useLayoutEffect(()=>{if(j.current===k)return;j.current=k;let e=S.current;S.current=null,t.notifyOpenChange(k,e?.open===k?e.reason:oe)},[k,t]);let P=M.useRef(E);P.current=E;let F=M.useRef(null),L=M.useRef(null),R=M.useRef(null),z=M.useRef(g);z.current=g;let B=M.useRef(a);B.current=a;let V=M.useRef(!1),[H,U]=M.useState(null),W=M.useRef(``);M.useLayoutEffect(()=>{let e=()=>C.select(`open`),n=(e,n,r)=>{if(n===`imperative-action`){let n=R.current;if(e&&n!==null){let e=B.current;if(e===n){V.current=!0;return}if(e===void 0&&t.getState().query===n)return}R.current=null,V.current=!1}P.current(e,n,r)},r=0,i=null,a=()=>{r+=1},o=()=>{if(--r,r>0||!i)return;let{event:e}=i;i=null,n(!1,A,e)},s=(e,t,a)=>{if(!e&&t===`imperative-action`&&r>0){i={event:a};return}n(e,t,a)};return t.connect({isOpen:e,requestOpenChange:s,handleKeyDown:t=>((t.key===`ArrowLeft`||t.key===`ArrowRight`)&&U(null),fe(t,{isOpen:e,forward:e=>{let t=e.key===`Enter`;t&&a();try{let n=F.current?.(e)??!1;return n&&!t&&U(W.current),n}finally{t&&o()}},dismiss:e=>s(!1,ae,`nativeEvent`in e?e.nativeEvent:e)})),attachHost:t=>{R.current=null,V.current=!1,L.current?.(),L.current=t?ue(t,{isOpen:e,getPopup:()=>C.context.refs.popupRef.current,onFocusOut:e=>s(!1,ie,e),onSelectionStart:a,onSelectionEnd:o}):null}})},[t,C]),a!==void 0&&y.updated.query&&_e(`query`,"[SuggestionMenu] Both the `query` prop and `handle.update({ query })` set the query; the prop wins."),o!==void 0&&y.updated.anchor&&_e(`anchor`,"[SuggestionMenu] Both the `anchor` prop and `handle.update({ anchor })` set the anchor; the prop wins.");let G=a??y.query;M.useLayoutEffect(()=>{V.current&&G!==R.current&&(V.current=!1,R.current=null,P.current(!0,A))},[G]);let de=o??y.anchor,K=y.payload,q=y.host;W.current=G;let ve=C.useState(`highlightedId`),J=C.useState(`highlightSource`),ye=k&&J===`keyboard`&&H===G?ve:null;M.useEffect(()=>{J!==`keyboard`&&U(null)},[J]),M.useLayoutEffect(()=>{U(null)},[G]);let Y=le({store:C,host:q,open:k,activeDescendant:ye}),[be,X]=M.useState(null),Z=M.useRef(m);Z.current=m;let Q=M.useCallback((e,t)=>{if(e===0&&z.current===`close`){R.current=W.current,P.current(!1,re);return}let n=Z.current(e,t);X(e=>({text:n,key:(e?.key??0)+1}))},[]);M.useEffect(()=>{k||(U(null),X(null))},[k]);let xe=M.useMemo(()=>({}),[y,G,k]),{virtualAnchor:Se,ready:$}=he(k?de:void 0,q,xe),Ce=M.useCallback(e=>{e||(C.clearHighlight(),C.context.onCloseComplete?.(),C.context.onPopupCloseComplete?.()),d?.(e)},[C,d]),we=M.useCallback((e,t)=>{E(e,t.reason,t.event)},[E]),Te=M.useMemo(()=>({handle:t,query:G,payload:K,reportResults:Q,syncHostAria:Y,anchorReady:$}),[t,G,K,Q,Y,$]);return/* @__PURE__ */ ce(h,{store:C,menuTreeResolver:O,focusOwnerStore:ee,openChainStore:w,disabled:D,depth:0,closeAll:te,registerSurface:T,virtualization:ne,virtualAnchor:Se,menuType:`context`,externalFocus:!0,closeOnOutsidePress:`pointerdown`,componentName:`suggestion-menu`,children:[/* @__PURE__ */ N(ge,{forwardKeyDownRef:F}),/* @__PURE__ */ N(me,{announcement:be}),/* @__PURE__ */ N(I.Provider,{value:Te,children:/* @__PURE__ */ N(se.Root,{...v,open:k,onOpenChange:we,onOpenChangeComplete:Ce,modal:!1,children:typeof _==`function`?_({payload:K,query:G}):_})})]})}function J(e){let{virtualized:t,virtualItemsCount:n,filteredCount:r}=e.state;return t?n:r}function ye(e,t){let n=e.context.refs.listRef.current,r=e.context.refs.itemRefs.get(t)?.current??[...n?.querySelectorAll(`[id]`)??[]].find(e=>e.id===t);return(r?.getAttribute(`aria-label`)??r?.textContent?.trim())||e.context.items.get(t)?.value||null}function Y(){let{store:e}=j(),t=ne(),{query:n,reportResults:r}=L(),i=e.useState(`open`),a=e.useState(`highlightedId`),o=e.useState(`highlightSource`),s=t?.rootReveal.settled??!0,c=M.useRef(null);o!==`keyboard`&&o!==`pointer`&&(c.current=a);let l=c.current;return M.useLayoutEffect(()=>{if(!i||!s)return;let t=!1;return queueMicrotask(()=>{if(t)return;let n=e.getVisibleItemIds(),i=e.state.highlightedId,a=i!==null&&n.includes(i)?i:null;r(J(e),a?ye(e,a):null)}),()=>{t=!0}},[i,s,n,l,e,r]),null}const be=/* @__PURE__ */ new Set([`submenu`,`subpage`]);let X=!1;function Z(){process.env.NODE_ENV===`production`||X||(X=!0,console.warn(`[SuggestionMenu] Submenu and subpage definitions are not supported and were skipped.`))}function Q(e){let t=!1,n=e=>e.flatMap(e=>{let r=k(e)?e.def:e;if(be.has(r.kind))return t=!0,[];if(k(e))return[e];let i=`nodes`in r?r.nodes:void 0;if(Array.isArray(i)){let t=n(i);return t.length!==i.length||t.some((e,t)=>e!==i[t])?[{...r,nodes:t}]:[e]}return[e]}),r=n(e);return t&&Z(),t?r:e}const xe=M.forwardRef(function(e,t){let{content:n,asyncContentMode:i=`append`,children:a,...o}=e,{query:s}=L(),{store:c}=j();M.useLayoutEffect(()=>(c.setHasInput(!0),()=>c.setHasInput(!1)),[c]);let l=M.useMemo(()=>n&&Q(n),[n]);return/* @__PURE__ */ ce(r,{ref:t,...o,content:l,asyncContentMode:i,search:s,skipAutoFocus:!0,children:[a,/* @__PURE__ */ N(Y,{})]})}),Se=/* @__PURE__ */ `borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.fontSizeAdjust.lineHeight.fontFamily.fontFeatureSettings.fontKerning.textAlign.textTransform.textIndent.textDecoration.letterSpacing.wordSpacing.tabSize.direction.whiteSpace.wordBreak.overflowWrap.hyphens.fontVariationSettings`.split(`.`);function $(e,t){let n=e.ownerDocument,r=n.defaultView;if(!r||!e.isConnected)return null;let i=r.getComputedStyle(e),a=n.createElement(`div`),o=a.style;for(let e of Se)o[e]=i[e];let s=e instanceof HTMLInputElement;o.position=`absolute`,o.visibility=`hidden`,o.top=`0`,o.left=`-9999px`,o.overflow=`hidden`;let c=Number.parseFloat(i.borderLeftWidth)+Number.parseFloat(i.borderRightWidth),l=e=>Number.parseFloat(e)||0,u=i.boxSizing===`border-box`?l(i.width):l(i.width)+l(i.paddingLeft)+l(i.paddingRight)+c,d=e.offsetWidth-e.clientWidth-c;o.boxSizing=`border-box`,o.width=`${u-d}px`,s&&(o.whiteSpace=`pre`,o.lineHeight=`${e.clientHeight-Number.parseFloat(i.paddingTop)-Number.parseFloat(i.paddingBottom)}px`);let f=e.value;a.textContent=f.slice(0,t);let p=n.createElement(`span`);p.textContent=f.slice(t,t+1)||``,a.append(p),a.append(f.slice(t+1)),n.body.append(a);try{let t=e.getBoundingClientRect(),n=a.getBoundingClientRect(),r=p.getBoundingClientRect();return new DOMRect(t.left+(r.left-n.left)-e.scrollLeft,t.top+(r.top-n.top)-e.scrollTop,r.width,r.height)}finally{a.remove()}}function Ce(e,t,n){let r=e.slice(0,t),i=null;for(let e of n){if(!e.char)continue;let n=r.lastIndexOf(e.char);if(n<0||i&&n<=i.from)continue;let a=r.slice(n+e.char.length);if(a.includes(`
|
|
1
|
+
import{t as e}from"../rolldown-runtime-DK3Fl9T5.js";import{A as t,C as n,D as r,It as i,M as a,O as o,Q as s,Rt as c,S as l,St as u,U as d,V as f,W as p,Y as m,Z as h,at as g,bt as _,c as v,dt as y,et as b,f as x,g as S,h as C,j as ee,k as w,l as T,m as te,ot as ne,p as E,tt as D,u as O,wt as k}from"../popup-menu-CJs_qom4.js";import{A as re,D as ie,E as ae,O as A,g as j,j as oe}from"../listbox-CnwUlLZA.js";import*as M from"react";import{Popover as se}from"@base-ui/react/popover";import{jsx as N,jsxs as ce}from"react/jsx-runtime";var P=class{#e={query:``,anchor:null,payload:void 0,host:null,updated:{query:!1,anchor:!1}};#t=/* @__PURE__ */ new Set;#n=/* @__PURE__ */ new Set;#r=null;#i=null;get host(){return this.#e.host}get query(){return this.#e.query}get payload(){return this.#e.payload}get isOpen(){return this.#r?.isOpen()??!1}subscribe=e=>(this.#t.add(e),()=>{this.#t.delete(e)});getState=()=>this.#e;#a(e){this.#e={...this.#e,...e};for(let e of this.#t)e()}#o(e){this.#r?this.#r.requestOpenChange(e,A):this.#i=e}attach(e){let t=this.#e.host;return t!==e&&(t&&this.isOpen&&this.#o(!1),this.#a({host:e}),this.#r?.attachHost(e,t)),()=>{this.#e.host===e&&(this.isOpen&&this.#o(!1),this.#a({host:null}),this.#r?.attachHost(null,e))}}update(e){let t={updated:{query:this.#e.updated.query||e.query!==void 0,anchor:this.#e.updated.anchor||e.anchor!==void 0}};e.query!==void 0&&(t.query=e.query),e.anchor!==void 0&&(t.anchor=e.anchor),`payload`in e&&(t.payload=e.payload),this.#a(t),this.isOpen||this.#o(!0)}close(){this.#o(!1)}handleKeyDown(e){return this.#r?.handleKeyDown(e)??!1}subscribeOpenChange=e=>(this.#n.add(e),()=>{this.#n.delete(e)});notifyOpenChange(e,t){for(let n of this.#n)n(e,t)}connect(e){let t=this.#r;if(t&&t!==e&&(process.env.NODE_ENV!==`production`&&console.warn(`[SuggestionMenu] A handle serves one Root at a time; the Root mounted last takes it over.`),t.attachHost(null,this.#e.host)),this.#r=e,e.attachHost(this.#e.host,null),this.#i!==null){let t=this.#i;this.#i=null,e.requestOpenChange(t,A)}return()=>{this.#r===e&&(e.attachHost(null,this.#e.host),this.#r=null)}}};function F(){return new P}const I=M.createContext(null);function L(){let e=M.useContext(I);if(!e)throw Error(`SuggestionMenu parts must be used within a SuggestionMenu.Root.`);return e}const R=M.forwardRef(function(e,t){let{label:n=`Suggestions`,...r}=e,{syncHostAria:i}=L(),o=M.useRef(null),s=M.useCallback(e=>{if(o.current?.disconnect(),o.current=null,e){e.id&&i(e.id);let t=new MutationObserver(()=>{e.id&&i(e.id)});t.observe(e,{attributeFilter:[`id`]}),o.current=t}typeof t==`function`?t(e):t&&(t.current=e)},[t,i]);return/* @__PURE__ */ N(a,{ref:s,label:n,...r})}),z=M.forwardRef(function(e,t){return/* @__PURE__ */ N(D,{ref:t,role:`presentation`,...e})}),B=M.forwardRef(function(e,t){let{side:n=`bottom`,align:r=`start`,collisionAvoidance:a,...o}=e,{store:c}=i(),{query:l,anchorReady:u}=L(),d=c.useState(`open`),f=M.useRef(null),[p,m]=M.useState(null),h=M.useCallback(()=>{let e=f.current?.getAttribute(`data-side`);m(t=>t??(e||n))},[n]);M.useLayoutEffect(()=>{if(!d){m(null);return}if(!u)return;let e=requestAnimationFrame(h);return()=>cancelAnimationFrame(e)},[d,u,h]);let g=M.useRef(null);M.useLayoutEffect(()=>{if(!d||!u){g.current=null;return}if(g.current===null){g.current=l;return}l!==g.current&&h()},[d,l,u,h]);let _=a??{side:`flip`,align:`shift`,fallbackAxisSide:`none`},v=p===null?_:{...typeof _==`object`?_:{},side:`none`},y=M.useCallback(e=>{f.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]);return/* @__PURE__ */ N(s,{ref:y,...o,side:p??n,align:r,collisionAvoidance:v})}),V=[`aria-controls`,`aria-activedescendant`,`aria-autocomplete`,`aria-haspopup`],H=[`role`,`aria-expanded`];function U(e){return e instanceof HTMLInputElement?[...H,...V]:V}function W(e,t,n){let r={"aria-controls":t,"aria-activedescendant":n,"aria-autocomplete":`list`,"aria-haspopup":`listbox`};return e instanceof HTMLInputElement?{role:`combobox`,"aria-expanded":`true`,...r}:r}function le(e){let{store:t,host:n,open:r,activeDescendant:i}=e,a=M.useRef(null),o=M.useRef(!1);M.useLayoutEffect(()=>{if(!n||!r)return;let e=U(n).map(e=>[e,n.getAttribute(e)]);return o.current=!0,()=>{o.current=!1;for(let[t,r]of e)r===null?n.removeAttribute(t):n.setAttribute(t,r)}},[n,r]);let s=M.useRef({store:t,host:n,open:r,activeDescendant:i});s.current={store:t,host:n,open:r,activeDescendant:i};let c=M.useCallback(e=>{e&&(a.current=e);let t=s.current;if(!t.host||!t.open||!o.current)return;let n=t.store.context.refs.listRef.current?.id||a.current||t.store.context.listId||null,r=W(t.host,n,t.activeDescendant);for(let e of U(t.host)){let n=r[e]??null;n===null?t.host.hasAttribute(e)&&t.host.removeAttribute(e):t.host.getAttribute(e)!==n&&t.host.setAttribute(e,n)}},[]);return M.useLayoutEffect(c),c}function G(e,t){if(!t)return!1;let n=e.composedPath()[0]??e.target;return n instanceof Node&&t.contains(n)}function ue(e,t){let n=e.ownerDocument,r,i=null,a=i=>{if(!t.isOpen())return;let a=i.relatedTarget,o=t.getPopup();a instanceof Node&&o?.contains(a)||(clearTimeout(r),r=setTimeout(()=>{t.isOpen()&&n.hasFocus()&&e.getRootNode().activeElement!==e&&t.onFocusOut(i)}))},o=e=>{if(!t.isOpen()||!G(e,t.getPopup()))return;let n=e.composedPath()[0];n instanceof Element&&n.closest(`input, textarea, select, [contenteditable]`)||e.preventDefault()},s=e=>{if(!t.isOpen()||!G(e,t.getPopup())||i)return;t.onSelectionStart();let r=n.defaultView,a=t=>{t===e&&o()},o=()=>{i===o&&(i=null,r?.removeEventListener(`click`,a),clearTimeout(s),t.onSelectionEnd())};i=o,r?.addEventListener(`click`,a);let s=setTimeout(o)};return e.addEventListener(`focusout`,a),n.addEventListener(`mousedown`,o,!0),n.addEventListener(`click`,s,!0),()=>{i?.(),clearTimeout(r),e.removeEventListener(`focusout`,a),n.removeEventListener(`mousedown`,o,!0),n.removeEventListener(`click`,s,!0)}}const de=/* @__PURE__ */ new Set([`ArrowDown`,`ArrowUp`,`Home`,`End`,`Enter`]);function fe(e,t){if((`nativeEvent`in e?e.nativeEvent:e).isComposing||e.keyCode===229||e.defaultPrevented||!t.isOpen())return!1;let{key:n,ctrlKey:r,metaKey:i,altKey:a,shiftKey:o}=e;return i||a||o?!1:r?n!==`n`&&n!==`p`?!1:t.forward(e):n===`Escape`?(e.preventDefault(),e.stopPropagation(),t.dismiss(e),!0):de.has(n)?t.forward(e):!1}const pe=(e,t)=>{if(e===0)return`No results`;let n=`${e} ${e===1?`result`:`results`}`;return t?`${n}, first: ${t}`:n};function me(e){return/* @__PURE__ */ N(o,{announcement:e.announcement,element:`span`})}function K(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function he(e,t,n){let r=M.useRef(e);r.current=e;let i=M.useRef(null),a=M.useRef(!1);e||(a.current=!1);let o=M.useRef(null),s=o.current;if(s&&s.anchor===e&&s.host===t&&s.measureKey===n)return{virtualAnchor:s.value,ready:a.current};let c=s?.value,l=e?.()??null;l&&(a.current=!0);let u=c!==void 0&&c.contextElement!==(t??void 0);return l&&(!i.current||!K(l,i.current))&&(i.current=l,c=void 0),e&&(c===void 0||u)&&i.current&&(c={getBoundingClientRect:()=>{let e=r.current?.()??null;return e&&(i.current=e),i.current??new DOMRect},contextElement:t??void 0}),o.current={anchor:e,host:t,measureKey:n,value:c},{virtualAnchor:c,ready:a.current}}function ge(e){let{store:t,closeAll:n}=i(),r=c(),a=t.useState(`open`),o=m({store:t,surfaceId:`suggestion-menu-host`,focusOwnerStore:r,depth:0,submenuContext:null,subpageContext:null,enabled:a,closeAll:n});return e.forwardKeyDownRef.current=o,null}const q=/* @__PURE__ */ new Set;function _e(e,t){process.env.NODE_ENV===`production`||q.has(e)||(q.add(e),console.warn(t))}function ve(e){let{handle:t,open:n,defaultOpen:r=!1,onOpenChange:i,query:a,anchor:o,virtualized:s=!1,items:c,onHighlightChange:l,onOpenChangeComplete:d,getResolvedId:f,idScope:p=`surface`,getAriaResultsText:m=pe,noResults:g=`empty`,children:_,...v}=e,y=M.useSyncExternalStore(t.subscribe,t.getState,t.getState),b=M.useRef(null),x=M.useRef(null),S=M.useRef(null),{store:C,focusOwnerStore:ee,openChainStore:w,registerSurface:T,closeAll:te,virtualization:ne,handleOpenChange:E,disabled:D,menuTreeResolver:O}=u({onOpenChange:((e,t)=>{let n=S.current;if(b.current?.select(`open`)!==e&&(!n||n.open!==e||!n.thisTask)){let n={open:e,reason:t.reason,thisTask:!0};S.current=n,queueMicrotask(()=>{n.thisTask=!1})}if((x.current??b.current?.select(`open`))===e)return;let r=x.current;x.current=e,queueMicrotask(()=>{x.current=null}),i?.(e,t),t.isCanceled&&(x.current=r,S.current=null)}),defaultOpen:r,virtualized:s,items:c,onHighlightChange:l,closeOnOutsidePress:`pointerdown`,getDismissExemptElements:()=>[t.host],getResolvedId:f,idScope:p});b.current=C,C.useControlledProp(`openProp`,n);let k=C.useState(`open`),j=M.useRef(k);M.useLayoutEffect(()=>{if(j.current===k)return;j.current=k;let e=S.current;S.current=null,t.notifyOpenChange(k,e?.open===k?e.reason:oe)},[k,t]);let P=M.useRef(E);P.current=E;let F=M.useRef(null),L=M.useRef(null),R=M.useRef(null),z=M.useRef(g);z.current=g;let B=M.useRef(a);B.current=a;let V=M.useRef(!1),[H,U]=M.useState(null),W=M.useRef(``);M.useLayoutEffect(()=>{let e=()=>C.select(`open`),n=(e,n,r)=>{if(n===`imperative-action`){let n=R.current;if(e&&n!==null){let e=B.current;if(e===n){V.current=!0;return}if(e===void 0&&t.getState().query===n)return}R.current=null,V.current=!1}P.current(e,n,r)},r=0,i=null,a=()=>{r+=1},o=()=>{if(--r,r>0||!i)return;let{event:e}=i;i=null,n(!1,A,e)},s=(e,t,a)=>{if(!e&&t===`imperative-action`&&r>0){i={event:a};return}n(e,t,a)};return t.connect({isOpen:e,requestOpenChange:s,handleKeyDown:t=>((t.key===`ArrowLeft`||t.key===`ArrowRight`)&&U(null),fe(t,{isOpen:e,forward:e=>{let t=e.key===`Enter`;t&&a();try{let n=F.current?.(e)??!1;return n&&!t&&U(W.current),n}finally{t&&o()}},dismiss:e=>s(!1,ae,`nativeEvent`in e?e.nativeEvent:e)})),attachHost:t=>{R.current=null,V.current=!1,L.current?.(),L.current=t?ue(t,{isOpen:e,getPopup:()=>C.context.refs.popupRef.current,onFocusOut:e=>s(!1,ie,e),onSelectionStart:a,onSelectionEnd:o}):null}})},[t,C]),a!==void 0&&y.updated.query&&_e(`query`,"[SuggestionMenu] Both the `query` prop and `handle.update({ query })` set the query; the prop wins."),o!==void 0&&y.updated.anchor&&_e(`anchor`,"[SuggestionMenu] Both the `anchor` prop and `handle.update({ anchor })` set the anchor; the prop wins.");let G=a??y.query;M.useLayoutEffect(()=>{V.current&&G!==R.current&&(V.current=!1,R.current=null,P.current(!0,A))},[G]);let de=o??y.anchor,K=y.payload,q=y.host;W.current=G;let ve=C.useState(`highlightedId`),J=C.useState(`highlightSource`),ye=k&&J===`keyboard`&&H===G?ve:null;M.useEffect(()=>{J!==`keyboard`&&U(null)},[J]),M.useLayoutEffect(()=>{U(null)},[G]);let Y=le({store:C,host:q,open:k,activeDescendant:ye}),[be,X]=M.useState(null),Z=M.useRef(m);Z.current=m;let Q=M.useCallback((e,t)=>{if(e===0&&z.current===`close`){R.current=W.current,P.current(!1,re);return}let n=Z.current(e,t);X(e=>({text:n,key:(e?.key??0)+1}))},[]);M.useEffect(()=>{k||(U(null),X(null))},[k]);let xe=M.useMemo(()=>({}),[y,G,k]),{virtualAnchor:Se,ready:$}=he(k?de:void 0,q,xe),Ce=M.useCallback(e=>{e||(C.clearHighlight(),C.context.onCloseComplete?.(),C.context.onPopupCloseComplete?.()),d?.(e)},[C,d]),we=M.useCallback((e,t)=>{E(e,t.reason,t.event)},[E]),Te=M.useMemo(()=>({handle:t,query:G,payload:K,reportResults:Q,syncHostAria:Y,anchorReady:$}),[t,G,K,Q,Y,$]);return/* @__PURE__ */ ce(h,{store:C,menuTreeResolver:O,focusOwnerStore:ee,openChainStore:w,disabled:D,depth:0,closeAll:te,registerSurface:T,virtualization:ne,virtualAnchor:Se,menuType:`context`,externalFocus:!0,closeOnOutsidePress:`pointerdown`,componentName:`suggestion-menu`,children:[/* @__PURE__ */ N(ge,{forwardKeyDownRef:F}),/* @__PURE__ */ N(me,{announcement:be}),/* @__PURE__ */ N(I.Provider,{value:Te,children:/* @__PURE__ */ N(se.Root,{...v,open:k,onOpenChange:we,onOpenChangeComplete:Ce,modal:!1,children:typeof _==`function`?_({payload:K,query:G}):_})})]})}function J(e){let{virtualized:t,virtualItemsCount:n,filteredCount:r}=e.state;return t?n:r}function ye(e,t){let n=e.context.refs.listRef.current,r=e.context.refs.itemRefs.get(t)?.current??[...n?.querySelectorAll(`[id]`)??[]].find(e=>e.id===t);return(r?.getAttribute(`aria-label`)??r?.textContent?.trim())||e.context.items.get(t)?.value||null}function Y(){let{store:e}=j(),t=ne(),{query:n,reportResults:r}=L(),i=e.useState(`open`),a=e.useState(`highlightedId`),o=e.useState(`highlightSource`),s=t?.rootReveal.settled??!0,c=M.useRef(null);o!==`keyboard`&&o!==`pointer`&&(c.current=a);let l=c.current;return M.useLayoutEffect(()=>{if(!i||!s)return;let t=!1;return queueMicrotask(()=>{if(t)return;let n=e.getVisibleItemIds(),i=e.state.highlightedId,a=i!==null&&n.includes(i)?i:null;r(J(e),a?ye(e,a):null)}),()=>{t=!0}},[i,s,n,l,e,r]),null}const be=/* @__PURE__ */ new Set([`submenu`,`subpage`]);let X=!1;function Z(){process.env.NODE_ENV===`production`||X||(X=!0,console.warn(`[SuggestionMenu] Submenu and subpage definitions are not supported and were skipped.`))}function Q(e){let t=!1,n=e=>e.flatMap(e=>{let r=k(e)?e.def:e;if(be.has(r.kind))return t=!0,[];if(k(e))return[e];let i=`nodes`in r?r.nodes:void 0;if(Array.isArray(i)){let t=n(i);return t.length!==i.length||t.some((e,t)=>e!==i[t])?[{...r,nodes:t}]:[e]}return[e]}),r=n(e);return t&&Z(),t?r:e}const xe=M.forwardRef(function(e,t){let{content:n,asyncContentMode:i=`append`,children:a,...o}=e,{query:s}=L(),{store:c}=j();M.useLayoutEffect(()=>(c.setHasInput(!0),()=>c.setHasInput(!1)),[c]);let l=M.useMemo(()=>n&&Q(n),[n]);return/* @__PURE__ */ ce(r,{ref:t,...o,content:l,asyncContentMode:i,search:s,skipAutoFocus:!0,children:[a,/* @__PURE__ */ N(Y,{})]})}),Se=/* @__PURE__ */ `borderTopWidth.borderRightWidth.borderBottomWidth.borderLeftWidth.borderStyle.paddingTop.paddingRight.paddingBottom.paddingLeft.fontStyle.fontVariant.fontWeight.fontStretch.fontSize.fontSizeAdjust.lineHeight.fontFamily.fontFeatureSettings.fontKerning.textAlign.textTransform.textIndent.textDecoration.letterSpacing.wordSpacing.tabSize.direction.whiteSpace.wordBreak.overflowWrap.hyphens.fontVariationSettings`.split(`.`);function $(e,t){let n=e.ownerDocument,r=n.defaultView;if(!r||!e.isConnected)return null;let i=r.getComputedStyle(e),a=n.createElement(`div`),o=a.style;for(let e of Se)o[e]=i[e];let s=e instanceof HTMLInputElement;o.position=`absolute`,o.visibility=`hidden`,o.top=`0`,o.left=`-9999px`,o.overflow=`hidden`;let c=Number.parseFloat(i.borderLeftWidth)+Number.parseFloat(i.borderRightWidth),l=e=>Number.parseFloat(e)||0,u=i.boxSizing===`border-box`?l(i.width):l(i.width)+l(i.paddingLeft)+l(i.paddingRight)+c,d=e.offsetWidth-e.clientWidth-c;o.boxSizing=`border-box`,o.width=`${u-d}px`,s&&(o.whiteSpace=`pre`,o.lineHeight=`${e.clientHeight-Number.parseFloat(i.paddingTop)-Number.parseFloat(i.paddingBottom)}px`);let f=e.value;a.textContent=f.slice(0,t);let p=n.createElement(`span`);p.textContent=f.slice(t,t+1)||``,a.append(p),a.append(f.slice(t+1)),n.body.append(a);try{let t=e.getBoundingClientRect(),n=a.getBoundingClientRect(),r=p.getBoundingClientRect();return new DOMRect(t.left+(r.left-n.left)-e.scrollLeft,t.top+(r.top-n.top)-e.scrollTop,r.width,r.height)}finally{a.remove()}}function Ce(e,t,n){let r=e.slice(0,t),i=null;for(let e of n){if(!e.char)continue;let n=r.lastIndexOf(e.char);if(n<0||i&&n<=i.from)continue;let a=r.slice(n+e.char.length);if(a.includes(`
|
|
2
2
|
`)||!e.allowSpaces&&/\s/.test(a)||a.length<(e.minLength??0))continue;let o=n===0?``:r.charAt(n-1),s=n===0||o===`
|
|
3
3
|
`;(e.startOfLine?!s:!(s||/\s/.test(o)))||(i={trigger:e,query:a,from:n,to:t})}return i}const we=/* @__PURE__ */ new Set([`insertText`,`insertFromPaste`,`insertLineBreak`,`insertParagraph`]),Te=/* @__PURE__ */ new Set([`escape-key`,`item-press`]);function Ee(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;let i=0;for(;i<n-r&&e[e.length-1-i]===t[t.length-1-i];)i++;return{start:r,end:e.length-i}}function De(e,t,n){return n<e.start?n:n>=e.end?n+t:null}function Oe(e,t,n){let r=t.ownerDocument,i=()=>t.getRootNode(),a=()=>i().activeElement===t,o=null,s=()=>{e.host!==t&&(o=e.attach(t))};(e.host===null||a())&&s();let c=t.value,l=null,u=null,d=null,f=[],p=()=>{let n=t.value,r=l;if(l=null,n===c)return;let i=c;c=n;let a=r&&i.slice(0,r.start)===n.slice(0,r.start)&&n.endsWith(i.slice(r.end))?r:Ee(i,n),o=n.length-i.length,s=e=>De(a,o,e);if(f=f.flatMap(e=>{let t=s(e.from);return t===null?[]:[{...e,from:t}]}),u){let t=s(u.from);t===null?(u=null,e.close()):u={...u,from:t,end:s(u.end)??t}}if(d){let e=s(d.from);d=e===null?null:{...d,from:e}}},m=()=>{u&&(d={char:u.char,from:u.from},u=null,e.close())},h=()=>{if(e.host!==t)return;p();let r=t.selectionStart,i=r!==null&&r===t.selectionEnd?Ce(t.value,r,n.triggers):null,a=i!==null&&f.some(e=>e.from===i.from&&e.char===i.trigger.char);if(!i||a)return m();let o=u?.char===i.trigger.char&&u.from===i.from&&u?u.end:i.to;u={char:i.trigger.char,from:i.from,end:o},d=null;let s=i.from;e.update({query:i.query,payload:{...i,to:o},anchor:()=>$(t,s)})},g=e.subscribeOpenChange((n,r)=>{if(n||e.host!==t)return;p();let i=u??d;d=null,i&&Te.has(r)&&f.push({char:i.char,from:i.from})}),_=()=>{s(),h()},v=e=>{let{inputType:n}=e,r=t.selectionStart,i=t.selectionEnd;r!==null&&i!==null&&(we.has(n)||r!==i&&n.startsWith(`delete`))&&(p(),l={start:r,end:i})},y=()=>{a()&&s(),h()},b=n=>{e.host===t&&e.handleKeyDown(n)&&n.stopPropagation()},x=()=>{a()&&h()},S=()=>{u&&h()},C=t;return C.addEventListener(`beforeinput`,v),C.addEventListener(`input`,y),C.addEventListener(`focus`,_),C.addEventListener(`keydown`,b),C.addEventListener(`scroll`,S),r.addEventListener(`selectionchange`,x),()=>{g(),C.removeEventListener(`beforeinput`,v),C.removeEventListener(`input`,y),C.removeEventListener(`focus`,_),C.removeEventListener(`keydown`,b),C.removeEventListener(`scroll`,S),r.removeEventListener(`selectionchange`,x),e.host===t&&m(),o?.()}}function ke(e,t){let n=M.useRef(t);n.current=t;let r=M.useRef(null);return M.useCallback(t=>{r.current?.(),r.current=t?Oe(e,t,{get triggers(){return n.current.triggers}}):null},[e])}var Ae=/* @__PURE__ */ e({Arrow:()=>_,Empty:()=>d,Footer:()=>S,Group:()=>C,GroupLabel:()=>f,GroupValue:()=>te,Handle:()=>P,Header:()=>E,Icon:()=>p,Item:()=>n,LinkItem:()=>l,List:()=>R,Loading:()=>ee,Popup:()=>z,Portal:()=>b,Positioner:()=>B,Root:()=>ve,ScrollDownArrow:()=>w,ScrollUpArrow:()=>t,Separator:()=>x,Surface:()=>xe,Tree:()=>O,TreeConnector:()=>T,TreeItem:()=>v,attachTextTrigger:()=>Oe,createHandle:()=>F,useAsyncMenuCoordinator:()=>g,useDataList:()=>y,useTextTrigger:()=>ke});export{Ae as SuggestionMenu,P as SuggestionMenuHandle,F as createSuggestionMenuHandle,g as useAsyncMenuCoordinator,y as useDataList};
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bazza-ui/react",
|
|
3
|
-
"version": "0.1.0-canary.
|
|
3
|
+
"version": "0.1.0-canary.18",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
],
|
|
69
69
|
"scripts": {
|
|
70
70
|
"dev": "tsdown --watch",
|
|
71
|
-
"type-check": "
|
|
71
|
+
"type-check": "bun check",
|
|
72
72
|
"build": "tsdown",
|
|
73
73
|
"test": "vitest run",
|
|
74
74
|
"test:jsdom": "vitest run --project jsdom",
|