@bazza-ui/react 0.1.0-canary.16 → 0.1.0-canary.17

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.
Files changed (150) hide show
  1. package/dist/combobox/index.cjs +1 -1
  2. package/dist/combobox/index.cjs.map +1 -1
  3. package/dist/combobox/index.d.ts +842 -834
  4. package/dist/combobox/index.js +1 -1
  5. package/dist/combobox/index.js.map +1 -1
  6. package/dist/command-menu/index.cjs +1 -1
  7. package/dist/command-menu/index.cjs.map +1 -1
  8. package/dist/command-menu/index.d.ts +123 -96
  9. package/dist/command-menu/index.js +1 -1
  10. package/dist/command-menu/index.js.map +1 -1
  11. package/dist/context-menu/index.cjs +1 -1
  12. package/dist/context-menu/index.cjs.map +1 -1
  13. package/dist/context-menu/index.d.ts +701 -658
  14. package/dist/context-menu/index.js +1 -1
  15. package/dist/context-menu/index.js.map +1 -1
  16. package/dist/dropdown-menu/index.cjs +1 -1
  17. package/dist/dropdown-menu/index.cjs.map +1 -1
  18. package/dist/dropdown-menu/index.d.ts +723 -680
  19. package/dist/dropdown-menu/index.js +1 -1
  20. package/dist/dropdown-menu/index.js.map +1 -1
  21. package/dist/events-DDOsDu4X.d.ts +2091 -0
  22. package/dist/index-Cabqj7qI.d.ts +2003 -0
  23. package/dist/index-D8OrKThQ.d.ts +977 -0
  24. package/dist/internal/listbox/index.cjs +1 -2
  25. package/dist/internal/listbox/index.d.ts +2 -272
  26. package/dist/internal/listbox/index.js +1 -2
  27. package/dist/internal/popup-menu/index.cjs +1 -2
  28. package/dist/internal/popup-menu/index.d.ts +4 -238
  29. package/dist/internal/popup-menu/index.js +1 -2
  30. package/dist/items-CD2hw6-3.js +2 -0
  31. package/dist/items-CD2hw6-3.js.map +1 -0
  32. package/dist/items-DYDljwnt.cjs +2 -0
  33. package/dist/items-DYDljwnt.cjs.map +1 -0
  34. package/dist/{items-B6HeFO_8.d.cts → items-ceX--VIv.d.ts} +21 -19
  35. package/dist/kbd/index.cjs +1 -1
  36. package/dist/kbd/index.cjs.map +1 -1
  37. package/dist/kbd/index.d.ts +35 -35
  38. package/dist/kbd/index.js +1 -1
  39. package/dist/kbd/index.js.map +1 -1
  40. package/dist/listbox-CnwUlLZA.js +2 -0
  41. package/dist/listbox-CnwUlLZA.js.map +1 -0
  42. package/dist/listbox-DYvJTiF6.cjs +2 -0
  43. package/dist/listbox-DYvJTiF6.cjs.map +1 -0
  44. package/dist/loaders/index.cjs +1 -1
  45. package/dist/loaders/index.cjs.map +1 -1
  46. package/dist/loaders/index.d.ts +218 -188
  47. package/dist/loaders/index.js +1 -1
  48. package/dist/loaders/index.js.map +1 -1
  49. package/dist/merge-element-props-0mpNO7ZH.cjs +2 -0
  50. package/dist/merge-element-props-0mpNO7ZH.cjs.map +1 -0
  51. package/dist/merge-element-props-PxUvRHax.js +2 -0
  52. package/dist/merge-element-props-PxUvRHax.js.map +1 -0
  53. package/dist/platform-C-sxBTRa.cjs +2 -0
  54. package/dist/platform-C-sxBTRa.cjs.map +1 -0
  55. package/dist/platform-C4_cGUkS.js +2 -0
  56. package/dist/platform-C4_cGUkS.js.map +1 -0
  57. package/dist/popup-menu-BBAzAXIe.cjs +2 -0
  58. package/dist/popup-menu-BBAzAXIe.cjs.map +1 -0
  59. package/dist/popup-menu-HmBMJEZc.js +2 -0
  60. package/dist/popup-menu-HmBMJEZc.js.map +1 -0
  61. package/dist/resolve-state-props-C-zbhdXd.cjs +2 -0
  62. package/dist/resolve-state-props-C-zbhdXd.cjs.map +1 -0
  63. package/dist/resolve-state-props-D31kizRZ.js +2 -0
  64. package/dist/resolve-state-props-D31kizRZ.js.map +1 -0
  65. package/dist/rolldown-runtime-5lHFv1cW.cjs +1 -0
  66. package/dist/rolldown-runtime-DK3Fl9T5.js +1 -0
  67. package/dist/select/index.cjs +1 -1
  68. package/dist/select/index.cjs.map +1 -1
  69. package/dist/select/index.d.ts +835 -828
  70. package/dist/select/index.js +1 -1
  71. package/dist/select/index.js.map +1 -1
  72. package/dist/suggestion-menu/index.cjs +4 -0
  73. package/dist/suggestion-menu/index.cjs.map +1 -0
  74. package/dist/suggestion-menu/index.d.ts +359 -0
  75. package/dist/suggestion-menu/index.js +4 -0
  76. package/dist/suggestion-menu/index.js.map +1 -0
  77. package/dist/types-BbN28E3_.d.ts +50 -0
  78. package/dist/video-player/index.cjs +2 -2
  79. package/dist/video-player/index.cjs.map +1 -1
  80. package/dist/video-player/index.d.ts +964 -1000
  81. package/dist/video-player/index.js +2 -2
  82. package/dist/video-player/index.js.map +1 -1
  83. package/package.json +14 -5
  84. package/dist/ListboxStore-B8oTpM57.d.cts +0 -453
  85. package/dist/ListboxStore-CV5vPUUc.d.ts +0 -453
  86. package/dist/chunk-3HMQLMSF.js +0 -2
  87. package/dist/chunk-3HMQLMSF.js.map +0 -1
  88. package/dist/chunk-4C666HHU.js +0 -2
  89. package/dist/chunk-4C666HHU.js.map +0 -1
  90. package/dist/chunk-5T5B5SPR.cjs +0 -2
  91. package/dist/chunk-5T5B5SPR.cjs.map +0 -1
  92. package/dist/chunk-A4Z5BY7H.js +0 -2
  93. package/dist/chunk-A4Z5BY7H.js.map +0 -1
  94. package/dist/chunk-IT372NHF.js +0 -2
  95. package/dist/chunk-IT372NHF.js.map +0 -1
  96. package/dist/chunk-JFEVUUPC.cjs +0 -2
  97. package/dist/chunk-JFEVUUPC.cjs.map +0 -1
  98. package/dist/chunk-KO3DXT3Y.js +0 -2
  99. package/dist/chunk-KO3DXT3Y.js.map +0 -1
  100. package/dist/chunk-LXXK4S4Q.js +0 -2
  101. package/dist/chunk-LXXK4S4Q.js.map +0 -1
  102. package/dist/chunk-M4G6J7DP.cjs +0 -2
  103. package/dist/chunk-M4G6J7DP.cjs.map +0 -1
  104. package/dist/chunk-MPPIEWSL.js +0 -2
  105. package/dist/chunk-MPPIEWSL.js.map +0 -1
  106. package/dist/chunk-PCNHYMD6.cjs +0 -2
  107. package/dist/chunk-PCNHYMD6.cjs.map +0 -1
  108. package/dist/chunk-RTG6U56O.cjs +0 -2
  109. package/dist/chunk-RTG6U56O.cjs.map +0 -1
  110. package/dist/chunk-SCDHQZFI.cjs +0 -2
  111. package/dist/chunk-SCDHQZFI.cjs.map +0 -1
  112. package/dist/chunk-XMZZ62VJ.cjs +0 -2
  113. package/dist/chunk-XMZZ62VJ.cjs.map +0 -1
  114. package/dist/combobox/index.d.cts +0 -1066
  115. package/dist/command-menu/index.d.cts +0 -154
  116. package/dist/command-score-CTJ9NV6n.d.cts +0 -23
  117. package/dist/command-score-CTJ9NV6n.d.ts +0 -23
  118. package/dist/context-menu/index.d.cts +0 -696
  119. package/dist/dropdown-menu/index.d.cts +0 -723
  120. package/dist/events-BTHQ2OoH.d.ts +0 -1860
  121. package/dist/events-DVcrtGe3.d.cts +0 -1860
  122. package/dist/input-C95v6jB0.d.cts +0 -46
  123. package/dist/input-CYweYB_i.d.ts +0 -46
  124. package/dist/internal/listbox/index.cjs.map +0 -1
  125. package/dist/internal/listbox/index.d.cts +0 -272
  126. package/dist/internal/listbox/index.js.map +0 -1
  127. package/dist/internal/popup-menu/index.cjs.map +0 -1
  128. package/dist/internal/popup-menu/index.d.cts +0 -238
  129. package/dist/internal/popup-menu/index.js.map +0 -1
  130. package/dist/items-B6HeFO_8.d.ts +0 -37
  131. package/dist/kbd/index.d.cts +0 -61
  132. package/dist/loaders/index.d.cts +0 -363
  133. package/dist/loading-C6WZGUc3.d.cts +0 -29
  134. package/dist/loading-CC4n55sR.d.ts +0 -29
  135. package/dist/resolve-B-j0eW24.d.cts +0 -406
  136. package/dist/resolve-B1F-a3P1.d.ts +0 -406
  137. package/dist/scroll-arrow-BBoKckL_.d.cts +0 -544
  138. package/dist/scroll-arrow-fl3B5sVO.d.ts +0 -544
  139. package/dist/select/index.d.cts +0 -1005
  140. package/dist/separator-Dn15rte3.d.ts +0 -275
  141. package/dist/separator-NjsBVzek.d.cts +0 -275
  142. package/dist/surface-context-CGLDpMej.d.ts +0 -14
  143. package/dist/surface-context-CN4Lb_6F.d.cts +0 -14
  144. package/dist/type-guards-BHHzjRvZ.d.cts +0 -351
  145. package/dist/type-guards-C0e_GpeY.d.ts +0 -351
  146. package/dist/types-DT4FOOa2.d.cts +0 -51
  147. package/dist/types-DT4FOOa2.d.ts +0 -51
  148. package/dist/use-listbox-item-NzZuY34-.d.cts +0 -212
  149. package/dist/use-listbox-item-NzZuY34-.d.ts +0 -212
  150. package/dist/video-player/index.d.cts +0 -1391
@@ -1,2 +1,2 @@
1
- import{a as Eo,b as Lo,c as wo,d as ko,e as To,f as re,g as Ho}from"../chunk-KO3DXT3Y.js";import{K as co,L as bo,M as It,O as xo,P as fo,Q as Co,R as go,S as K,T as z,U as ho,V as Io,X as Po,a as lo,ba as Pt,ca as Ro,d as fe,ea as yo,fa as So,ga as vo,q as uo,ra as Vo,s as io,t as po,ua as Mo,v as mo,w as D,x as ht}from"../chunk-3HMQLMSF.js";import{a as ne,p as dt,q as xt,w as ft,x as Ct,y as gt}from"../chunk-A4Z5BY7H.js";import{a as N,b as j,c as Le}from"../chunk-MPPIEWSL.js";import{a as bt}from"../chunk-4C666HHU.js";var No={};bt(No,{Arrow:()=>io,Backdrop:()=>po,Clear:()=>we,Empty:()=>Io,Group:()=>Vo,GroupLabel:()=>Po,Icon:()=>ho,Input:()=>He,InputWrapper:()=>Oe,Item:()=>De,ItemIndicator:()=>Ae,ItemLabel:()=>Fe,List:()=>Ro,Popup:()=>co,Portal:()=>bo,Positioner:()=>ze,Root:()=>Be,ScrollDownArrow:()=>So,ScrollUpArrow:()=>yo,Separator:()=>Mo,Surface:()=>We,useComboboxPositionerContext:()=>ke});import{useRender as Rt}from"@base-ui/react/use-render";import*as Y from"react";var Oo={slot:"bazzaui-combobox-clear"};var we=Y.forwardRef(function(e,t){let{keepMounted:i=!1,disabled:u,render:l,className:m,style:b,onClick:s,onPointerDown:o,...g}=e,p=D(),c=u??p.disabled,P=p.multiple?p.values.length>0:p.value!=="",d=Y.useCallback(R=>{s?.(R),!R.defaultPrevented&&(p.multiple?p.onValuesChange([]):p.onValueChange(""),p.onInputValueChange(""))},[s,p]),h=Y.useCallback(R=>{R.preventDefault(),o?.(R)},[o]),r=Y.useMemo(()=>({hasValue:P,disabled:c}),[P,c]),y=Rt({render:l,ref:t,state:r,props:{...g,[Oo.slot]:"",type:"button",tabIndex:-1,"aria-label":"Clear selection",disabled:c||!P,className:N(m,r),style:j(b,r),onClick:d,onPointerDown:h},enabled:i||P,defaultTagName:"button"});return!i&&!P?null:y});import*as Ce from"react";var ge=Ce.createContext(null);function ke(){return Ce.useContext(ge)}import{useRender as yt}from"@base-ui/react/use-render";import*as ae from"react";import*as he from"react";var Te=he.createContext(!1);function Do(){return he.useContext(Te)}var Z={slot:"bazzaui-combobox-input",open:"data-open",closed:"data-closed",disabled:"data-disabled",placeholder:"data-placeholder"};import*as ue from"react";function Ao(x){let{comboboxContext:e,open:t}=x,i=e.multiple?e.values.length>0:!go(e.value),u=ue.useCallback(b=>{let s=z(b,e.itemToStringValue),o=e.itemTextRegistry.get(s);if(o!==void 0)return o;let g=re(e.items,s);if(typeof g=="string")return g;let p=K(b,e.itemToStringLabel);if(p&&p!==s)return p},[e.itemTextRegistry,e.items,e.itemToStringLabel,e.itemToStringValue]),l=ue.useMemo(()=>{if(!i)return"";if(e.multiple){let o=e.values.map(g=>{let p=u(g);return p!==void 0?p:K(g,e.itemToStringLabel)||z(g,e.itemToStringValue)}).filter(Boolean);return o.length<=2?o.join(", "):`${o.length} selected`}let b=e.value;if(b==null)return"";let s=u(b);return s!==void 0?s:K(b,e.itemToStringLabel)||z(b,e.itemToStringValue)},[i,e.multiple,e.value,e.values,e.itemToStringLabel,e.itemToStringValue,u]),m=ue.useMemo(()=>t?e.inputValue:l,[t,l,e.inputValue]);return{hasValue:i,displayValue:m,selectedLabel:l,getValueText:u}}import*as T from"react";function Fo(x){let{comboboxContext:e,store:t,focusOwnerStore:i,open:u,disabled:l,cursorBehavior:m,hasValue:b,getValueText:s,onFocus:o,onBlur:g,onClick:p,onKeyDown:c}=x,P=T.useRef(!1),d=T.useRef(!1),h=T.useRef(!1),r=T.useRef(null),y=T.useRef(null),R=T.useRef(null);T.useEffect(()=>{if(!u)return;let n=f=>{let a=e.inputRef.current,v=e.inputWrapperRef.current,S=document.getElementById(e.listId),O=f.target,F=a?.contains(O),B=v?.contains(O),te=S?.contains(O);!F&&!B&&!te&&(R.current=f)};return document.addEventListener("pointerdown",n,!0),()=>{document.removeEventListener("pointerdown",n,!0),R.current=null}},[u,e.inputRef,e.inputWrapperRef,e.listId]),T.useLayoutEffect(()=>{let n=e.inputRef.current;if(n&&u&&y.current){let{start:f,end:a}=y.current,v=n.selectionStart,S=n.value.length;v===S&&f!==S&&n.setSelectionRange(f,a),y.current=null}});let E=T.useRef(u);T.useLayoutEffect(()=>{if(u&&!E.current){if(P.current){P.current=!1,E.current=u;return}if(h.current){h.current=!1,d.current=!1,r.current=null,E.current=u;return}if(d.current&&m==="none"){let f=e.inputRef.current,a=r.current;f&&a!==null&&requestAnimationFrame(()=>{let v=f.value.length,S=Math.min(a,v);f.setSelectionRange(S,S)}),d.current=!1,r.current=null,E.current=u;return}b&&e.multiple&&e.onInputValueChange("");let n=e.inputRef.current;if(n){let f=n.value.length;m==="select-all"&&f>0?requestAnimationFrame(()=>{n.setSelectionRange(0,n.value.length)}):m==="end"&&f>0&&requestAnimationFrame(()=>{n.setSelectionRange(n.value.length,n.value.length)})}}E.current=u},[u,e,b,m]);let w=T.useCallback(n=>{let f=n.target,a=f.value,v=f.selectionStart,S=f.selectionEnd;v!==null&&S!==null&&(y.current={start:v,end:S}),e.onInputValueChange(a),e.setFilterActive(),t.setSearch(a),t.state.open||(P.current=!0,e.openCombobox())},[e,t]),k=T.useCallback(n=>{if(o?.(n),n.defaultPrevented)return;let f=t.state.open;if(f&&(h.current=!0),e.openOnFocus&&!l&&!f){if(b&&!e.multiple){let a=s(e.value)??K(e.value,e.itemToStringLabel);e.onInputValueChange(a)}e.openCombobox()}},[o,e,l,t,b,s]),L=T.useCallback(n=>{g?.(n),!n.defaultPrevented&&requestAnimationFrame(()=>{let f=document.activeElement,v=document.getElementById(e.listId)?.contains(f),S=f===e.inputRef.current;if(!v&&!S){h.current=!1;let O=R.current,F=O?ne.outsidePress:ne.focusOut;R.current=null,e.closeCombobox(F,O??void 0)}})},[g,e]),A=T.useCallback(n=>{if(p?.(n),n.defaultPrevented)return;let f=t.state.open;if(!l&&!f){let a=n.target;if(m==="none"){let v=a.selectionStart;r.current=v,d.current=!0}if(b&&!e.multiple){let v=s(e.value)??K(e.value,e.itemToStringLabel);e.onInputValueChange(v)}e.openCombobox()}else f&&(h.current=!0)},[p,e,l,t,m,b,s]),$=T.useCallback(n=>{if(c?.(n),!n.defaultPrevented){if(u&&n.key==="Escape"){n.preventDefault(),e.closeCombobox(ne.escapeKey);return}if(!u&&(n.key==="ArrowDown"||n.key==="ArrowUp"||n.key==="Enter")){if(n.preventDefault(),b&&!e.multiple){let f=s(e.value)??K(e.value,e.itemToStringLabel);e.onInputValueChange(f)}e.openCombobox();return}}},[u,e,c,b,s]),{handleKeyDown:G}=Co({store:t,surfaceId:"combobox-input",focusOwnerStore:i,depth:0,submenuContext:null,subpageContext:null,enabled:u,enableTypeToSearch:!1,onKeyDown:$,closeAll:e.closeCombobox,skipFocusOwnerCheck:!0});return{handleChange:w,handleFocus:k,handleBlur:L,handleClick:A,handleKeyDown:G,selectionRef:y}}var He=ae.forwardRef(function(e,t){let{placeholder:i,disabled:u,cursorBehavior:l="none",render:m,className:b,style:s,onFocus:o,onBlur:g,onClick:p,onKeyDown:c,...P}=e,d=D(),h=fe(),r=lo(),y=Do(),R=(u??d.disabled)||h.disabled,E=re(d.items,""),w=i??(typeof E=="string"?E:void 0)??d.placeholder,k=h.store.useState("open"),{hasValue:L,displayValue:A,getValueText:$}=Ao({comboboxContext:d,open:k}),{handleChange:G,handleFocus:n,handleBlur:f,handleClick:a,handleKeyDown:v}=Fo({comboboxContext:d,store:h.store,focusOwnerStore:r,open:k,disabled:R,cursorBehavior:l,hasValue:L,getValueText:$,onFocus:o,onBlur:g,onClick:p,onKeyDown:c}),S={[Z.slot]:""};k?S[Z.open]="":S[Z.closed]="",R&&(S[Z.disabled]=""),L||(S[Z.placeholder]=""),d.layout==="input-embedded"&&(S["data-input-embedded"]="");let O=ae.useCallback(V=>{d.setInputElement(V),typeof t=="function"?t(V):t&&(t.current=V)},[t,d]),F=ae.useMemo(()=>({open:k,disabled:R,placeholder:!L}),[k,R,L]),B=d.layout==="input-embedded"&&!y?{position:"relative",zIndex:1}:void 0;return yt({render:m,ref:O,state:F,props:{...P,...S,type:"text",role:"combobox","aria-autocomplete":"list","aria-expanded":k,"aria-controls":d.listId,"aria-haspopup":"listbox",autoComplete:"off",autoCorrect:"off",spellCheck:!1,disabled:R,placeholder:L?void 0:w,className:N(b,F),style:{...B,...j(s,F)},value:A,onChange:G,onFocus:n,onBlur:f,onClick:a,onKeyDown:v},defaultTagName:"input"})});import{useRender as St}from"@base-ui/react/use-render";import*as se from"react";var Ie={slot:"bazzaui-combobox-input-wrapper",open:"data-open"};import{jsx as Vt}from"react/jsx-runtime";var vt={open:x=>x?{[Ie.open]:""}:null},Oe=se.forwardRef(function(e,t){let{render:i,className:u,style:l,children:m,...b}=e,{store:s}=fe(),o=D(),g=s.useState("open"),p=se.useMemo(()=>({open:g}),[g]),c=o.layout==="input-embedded"?{position:"relative",zIndex:1}:{position:"relative"},P=se.useCallback(h=>{o.setInputWrapperElement(h),typeof t=="function"?t(h):t&&(t.current=h)},[t,o]),d=St({render:i,ref:P,state:p,stateAttributesMapping:vt,props:{...b,[Ie.slot]:"",className:N(u,p),style:{...c,...j(l,p)},children:m},defaultTagName:"div"});return Vt(Te.Provider,{value:!0,children:d})});import{useRender as Et}from"@base-ui/react/use-render";import*as M from"react";var U={slot:"bazzaui-combobox-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"};import*as ie from"react";var Pe=ie.createContext(null);function pe(){let x=ie.useContext(Pe);if(!x)throw new Error("ComboboxItem child components must be used within a Combobox.Item");return x}function Mt(){return ie.useContext(Pe)}import{jsx as kt}from"react/jsx-runtime";var Lt={highlighted:x=>x?{[U.highlighted]:""}:null,disabled:x=>x?{[U.disabled]:""}:null,selected:x=>x?{[U.selected]:""}:null,first:x=>x?{[U.first]:""}:null,last:x=>x?{[U.last]:""}:null,firstInGroup:x=>x?{[U.firstInGroup]:""}:null,lastInGroup:x=>x?{[U.lastInGroup]:""}:null};function wt(x,e){let{value:t,textValue:i,keywords:u,disabled:l=!1,onSelect:m,forceMount:b=!1,render:s,className:o,style:g,onClick:p,onPointerDown:c,onPointerMove:P,children:d,...h}=x,r=D(),y=M.useMemo(()=>z(t,r.itemToStringValue),[t,r.itemToStringValue]),R=M.useId(),E=t===null?`combobox-clear-${R}`:void 0,w=M.useMemo(()=>To(r.items,y),[r.items,y]),k=w?.label,L=M.useMemo(()=>K(t,r.itemToStringLabel),[t,r.itemToStringLabel]),A=M.useMemo(()=>{if(i!==void 0)return i;if(typeof k=="string")return k;if(L&&L!==y)return L},[i,k,L,y]),$=M.useMemo(()=>Ho(u,[typeof k=="string"?k:L&&L!==y?L:void 0,...w?.keywords??[]]),[u,k,L,y,w]),G=M.useRef(A),n=r.multiple?wo(r.values,t,r.isItemEqualToValue):r.value!==""&&Lo(r.value,t,r.isItemEqualToValue),f=r.closeOnSelect,a=fo({id:E,value:y,keywords:$,disabled:l,forceMount:b,closeOnClick:f,children:d});M.useEffect(()=>{let V=()=>{if(!l){if(r.multiple)if(t==null)r.onValuesChange([]);else{let be=n?ko(r.values,t,r.isItemEqualToValue):[...r.values,t];r.onValuesChange(be)}else r.onValueChange(t);m?.()}};return a.registerSelect(V)},[l,r,t,n,m,a]),M.useEffect(()=>{let V=G.current;if(V)return r.registerItemText(y,V)},[y,r]),M.useEffect(()=>{!A&&typeof d=="string"&&(G.current=d,r.registerItemText(y,d))},[d,A,y,r]);let v=M.useMemo(()=>({highlighted:a.isHighlighted,disabled:l,selected:n,first:a.positional.first,last:a.positional.last,firstInGroup:a.positional.firstInGroup,lastInGroup:a.positional.lastInGroup}),[a.isHighlighted,l,n,a.positional]),S=M.useMemo(()=>({id:a.id,value:t,textValue:A,highlighted:a.isHighlighted,disabled:l,selected:n}),[a.id,t,A,a.isHighlighted,l,n]),O=M.useCallback(V=>{p?.(V),V.defaultPrevented||a.handlers.onClick(V)},[p,a.handlers]),F=M.useCallback(V=>{a.handlers.onPointerDown(V),c?.(V)},[a.handlers,c]),B=M.useCallback(V=>{P?.(V),V.defaultPrevented||a.handlers.onPointerMove(V)},[P,a.handlers]),te=Et({render:s,ref:[a.ref,a.rowRef,e],state:v,stateAttributesMapping:Lt,props:{...h,[U.slot]:"",id:a.id,role:"option",tabIndex:-1,"aria-selected":n,"aria-disabled":l||void 0,className:N(o,v),style:j(g,v),onClick:O,onPointerMove:B,onPointerDown:F,children:d},enabled:a.isVisible,defaultTagName:"div"});return a.isVisible?kt(Pe.Provider,{value:S,children:te}):null}var De=M.forwardRef(wt);import{useRender as Tt}from"@base-ui/react/use-render";import*as ye from"react";var Re={slot:"bazzaui-combobox-item-indicator",selected:"data-selected"};var Ht={selected:x=>x?{[Re.selected]:""}:null},Ae=ye.forwardRef(function(e,t){let{keepMounted:i=!1,render:u,className:l,style:m,...b}=e,s=pe(),o=ye.useMemo(()=>({selected:s.selected}),[s.selected]),g=Tt({render:u,ref:t,state:o,stateAttributesMapping:Ht,props:{...b,[Re.slot]:"","aria-hidden":!0,className:N(l,o),style:j(m,o)},enabled:i||s.selected,defaultTagName:"span"});return!i&&!s.selected?null:g});import{useRender as Ot}from"@base-ui/react/use-render";import*as ee from"react";var zo={slot:"bazzaui-combobox-item-label"};var Fe=ee.forwardRef(function(e,t){let{render:i,className:u,style:l,children:m,...b}=e,s=D(),o=pe(),g=z(o.value,s.itemToStringValue),p=ee.useMemo(()=>{if(m!==void 0)return m;let P=re(s.items,g);return P!==void 0?P:o.textValue!==void 0?o.textValue:g},[m,s.items,g,o.textValue]),c=ee.useMemo(()=>({value:g,selected:o.selected,highlighted:o.highlighted,disabled:o.disabled}),[g,o.selected,o.highlighted,o.disabled]);return ee.useEffect(()=>{if(typeof p=="string")return s.registerItemText(g,p)},[p,s,g]),Ot({render:i,ref:t,state:c,props:{...b,[zo.slot]:"",className:N(u,c),style:j(l,c),children:p},defaultTagName:"span"})});import{Popover as Bo}from"@base-ui/react/popover";import*as J from"react";var Se={slot:"bazzaui-combobox-positioner"};import{jsx as me}from"react/jsx-runtime";function Dt(x,e,t,i){let u=t+i*2;if(x==="top"){let b=-(e+i),s=e+i;return{width:u,marginBottom:b,paddingTop:i,paddingLeft:i,paddingRight:i,paddingBottom:s}}let l=-(e+i),m=e+i;return{width:u,marginTop:l,paddingTop:m,paddingLeft:i,paddingRight:i,paddingBottom:i}}var ze=J.forwardRef(function(e,t){let{layout:i,popupPadding:u=8,side:l="bottom",align:m,sideOffset:b=4,anchor:s,className:o,style:g,children:p,...c}=e,P=D(),d=i??P.layout,h=d==="input-embedded",r=s??P.inputWrapperRef.current?P.inputWrapperRef:P.inputRef,y=h?0:b,R=h?"center":m??"start",{inputHeight:E,inputWidth:w}=P,k=w+u*2,L=Le(g,n=>({...n,...h?{zIndex:0}:{}}));if(h)return me(Bo.Positioner,{ref:t,side:l,align:R,sideOffset:y,anchor:r,className:o,style:L,"data-input-embedded":"",[Se.slot]:"",...c,render:(n,f)=>{let a=f.side,v={layout:d,side:a,align:f.align,inputHeight:P.inputHeight},S={"--combobox-input-height":`${E}px`,"--combobox-input-width":`${w}px`,"--combobox-popup-padding":`${u}px`,"--combobox-popup-width":`${k}px`},O=Dt(a,E,w,u),F=J.Children.map(p,B=>J.isValidElement(B)?J.cloneElement(B,{style:{...O,...B.props.style},"data-side":a}):B);return me(ge.Provider,{value:v,children:me("div",{...n,style:{...n.style,...S},"data-side":a,children:F})})}});let A={layout:d,side:l,align:R,inputHeight:P.inputHeight},$={"--combobox-input-height":`${E}px`,"--combobox-input-width":`${w}px`},G=Le(g,n=>({...n,...$}));return me(ge.Provider,{value:A,children:me(Bo.Positioner,{ref:t,side:l,align:R,sideOffset:y,anchor:r,className:o,style:G,[Se.slot]:"",...c,children:p})})});import{Popover as At}from"@base-ui/react/popover";import*as I from"react";import{jsx as ce,jsxs as Ft}from"react/jsx-runtime";function Be(x){let{open:e,onOpenChange:t,actionsRef:i,defaultOpen:u=!1,value:l,defaultValue:m,onValueChange:b,multiple:s=!1,values:o,defaultValues:g,onValuesChange:p,isItemEqualToValue:c=Eo,itemToStringLabel:P,itemToStringValue:d,inputValue:h,defaultInputValue:r="",onInputValueChange:y,name:R,form:E,required:w,disabled:k=!1,placeholder:L="Search...",items:A,modal:$=!1,closeOnSelect:G,openOnFocus:n=!0,virtualized:f=!1,virtualItems:a,onHighlightChange:v,layout:S="floating",onOpenChangeComplete:O,debug:F,children:B,...te}=x,V=I.useCallback((C,H,q,xe)=>v?.(C,q,xe),[v]),be=I.useId(),de=I.useRef(null),ve=I.useRef(null),[Ne,je]=I.useState(0),[Ge,qe]=I.useState(0),Ke=I.useCallback(C=>{if(de.current=C,C&&!ve.current){let H=C.getBoundingClientRect();je(H.height),qe(H.width)}},[]),Ue=I.useCallback(C=>{if(ve.current=C,C){let H=C.getBoundingClientRect();je(H.height),qe(H.width)}},[]),{store:W,focusOwnerStore:_o,openChainStore:Qo,registerSurface:Yo,closeAll:Zo,virtualization:et,handleOpenChange:$e,disabled:X,setDisabled:Je,menuTreeResolver:ot}=uo({onOpenChange:t,defaultOpen:u,virtualized:f,items:a,onHighlightChange:V,disabled:k}),Ve=I.useRef(null);I.useImperativeHandle(i,()=>({close:()=>{Ve.current?.close()},unmount:()=>{Ve.current?.unmount()},setDisabled:Je}),[Je]),W.useControlledProp("openProp",e);let tt=W.useState("open"),Xe=I.useCallback((C,H,q)=>{X&&H!==ne.imperativeAction||!C&&de.current&&document.activeElement===de.current||$e(C,H,q)},[$e,X]),nt=I.useCallback(C=>{!C&&W.context.clearSearchOnClose==="after-exit"&&(W.clearSearch(),W.setInputActive(!1)),C||W.clearHighlight(),O?.(C)},[W,O]),rt=I.useCallback((C,H)=>{Xe(C,H.reason,H.event)},[Xe]),[at,st]=I.useState(m!==void 0?m:null),_=l!==void 0?l:at,_e=I.useCallback(C=>{l===void 0&&st(C),b?.(C)},[l,b]),[lt,ut]=I.useState(g??[]),le=o!==void 0?o:lt,Qe=I.useCallback(C=>{o===void 0&&ut(C),p?.(C)},[o,p]),[Me,it]=I.useState(r),Ye=h!==void 0?h:Me,Ze=I.useCallback(C=>{h===void 0&&it(C),y?.(C)},[h,y]),eo=I.useRef(new Map),oo=I.useCallback((C,H)=>(eo.current.set(C,H),()=>{}),[]),to=G??!s,Ee=I.useRef({type:"active"}),[,pt]=I.useState({type:"active"}),Q=I.useCallback(C=>{Ee.current=C,pt(C)},[]),no=Ee.current,ro=I.useCallback(()=>{Q({type:"active"})},[Q]),ao=I.useCallback(()=>{X||(!s&&_!=null?Q({type:"showAll"}):Q({type:"active"}),W.setOpen(!0))},[X,W,s,_,Q]),so=I.useCallback((C,H)=>{let q=Ee.current,xe=q.type==="active"?Me:q.type==="showAll"?"":q.search;Q({type:"frozen",search:xe}),W.setOpen(!1,C,H)},[W,Q,Me]),mt=I.useMemo(()=>({multiple:s,value:_,values:le,onValueChange:_e,onValuesChange:Qe,isItemEqualToValue:c,itemToStringLabel:P,itemToStringValue:d,inputValue:Ye,onInputValueChange:Ze,name:R,form:E,required:w,disabled:X,placeholder:L,items:A,itemTextRegistry:eo.current,registerItemText:oo,listId:be,inputRef:de,setInputElement:Ke,inputWrapperRef:ve,setInputWrapperElement:Ue,closeOnSelect:to,openOnFocus:n,openCombobox:ao,closeCombobox:so,filterMode:no,setFilterActive:ro,inputHeight:Ne,inputWidth:Ge,layout:S}),[s,_,le,_e,Qe,c,P,d,Ye,Ze,R,E,w,X,L,A,oo,be,Ke,Ue,to,n,ao,so,no,ro,Ne,Ge,S]),ct=I.useMemo(()=>R?s?le.length>0?le.map((C,H)=>{let q=z(C,d);return ce("input",{type:"hidden",name:R,value:q,form:E,required:w&&H===0},q)}):ce("input",{type:"hidden",name:R,value:"",form:E,required:w}):ce("input",{type:"hidden",name:R,value:_!=null?z(_,d):"",form:E,required:w}):null,[R,E,w,s,_,le,d]);return ce(mo.Provider,{value:mt,children:Ft(xo,{menuTreeResolver:ot,store:W,focusOwnerStore:_o,openChainStore:Qo,disabled:X,depth:0,closeAll:Zo,registerSurface:Yo,virtualization:et,menuType:"dropdown",componentName:"combobox",debug:F,children:[ct,ce(At.Root,{...te,open:tt,onOpenChange:rt,onOpenChangeComplete:nt,modal:$,actionsRef:i?Ve:void 0,children:B})]})})}import*as oe from"react";var Wo={slot:"bazzaui-combobox-surface"};import{jsx as zt}from"react/jsx-runtime";var We=oe.forwardRef(function(e,t){let{autoHighlightFirst:i,clearSearchOnClose:u=!0,search:l,onSearchChange:m,onPointerMove:b,...s}=e,o=D(),g=oe.useCallback(h=>{b?.(h);let r=o.inputRef.current;r&&document.activeElement!==r&&r.focus()},[b,o.inputRef]),p=oe.useMemo(()=>{let h=i??!0;if(h==="selected"){let r=o.multiple?o.values[0]:o.value;return r!=null?z(r,o.itemToStringValue):!0}return h},[i,o.multiple,o.value,o.values,o.itemToStringValue]),{filterMode:c}=o,P=l??(c.type==="active"?o.inputValue:c.type==="showAll"?"":c.search),d=oe.useCallback(h=>{o.onInputValueChange(h),m?.(h)},[o,m]);return zt(vo,{ref:t,autoHighlightFirst:p,clearSearchOnClose:u,search:P,onSearchChange:d,onPointerMove:g,skipAutoFocus:!0,[Wo.slot]:"",...s})});var jo=(m=>(m.slot="bazzaui-combobox-arrow",m.open="data-open",m.closed="data-closed",m.side="data-side",m.align="data-align",m.uncentered="data-uncentered",m))(jo||{});var Go=(l=>(l.slot="bazzaui-combobox-backdrop",l.open="data-open",l.closed="data-closed",l.startingStyle="data-starting-style",l.endingStyle="data-ending-style",l))(Go||{});var qo=(e=>(e.slot="bazzaui-combobox-empty",e))(qo||{});var Ko=(e=>(e.slot="bazzaui-combobox-group",e))(Ko||{});var Uo=(e=>(e.slot="bazzaui-combobox-group-label",e))(Uo||{});var Bt={slot:"bazzaui-combobox-icon",open:"data-popup-open"};var $o=(t=>(t.slot="bazzaui-combobox-list",t.list="data-popup-menu-list",t))($o||{});var Jo=(c=>(c.slot="bazzaui-combobox-popup",c.open="data-open",c.closed="data-closed",c.side="data-side",c.align="data-align",c.startingStyle="data-starting-style",c.endingStyle="data-ending-style",c.instant="data-instant",c.focused="data-focused",c.hasOpenSubmenu="data-has-open-submenu",c.submenu="data-submenu",c.navigating="data-navigating",c))(Jo||{});var Wt={slotUp:"bazzaui-combobox-scroll-up-arrow",slotDown:"bazzaui-combobox-scroll-down-arrow",direction:"data-direction",side:"data-side"};var Xo=(e=>(e.slot="bazzaui-combobox-separator",e))(Xo||{});export{No as Combobox,jo as ComboboxArrowDataAttributes,Go as ComboboxBackdropDataAttributes,we as ComboboxClear,qo as ComboboxEmptyDataAttributes,Ko as ComboboxGroupDataAttributes,Uo as ComboboxGroupLabelDataAttributes,Bt as ComboboxIconDataAttributes,He as ComboboxInput,Z as ComboboxInputDataAttributes,Oe as ComboboxInputWrapper,Ie as ComboboxInputWrapperDataAttributes,De as ComboboxItem,U as ComboboxItemDataAttributes,Ae as ComboboxItemIndicator,Re as ComboboxItemIndicatorDataAttributes,Fe as ComboboxItemLabel,Pt as ComboboxListCssVars,$o as ComboboxListDataAttributes,Jo as ComboboxPopupDataAttributes,ze as ComboboxPositioner,It as ComboboxPositionerCssVars,Se as ComboboxPositionerDataAttributes,Be as ComboboxRoot,Wt as ComboboxScrollArrowDataAttributes,Xo as ComboboxSeparatorDataAttributes,gt as ComboboxStore,We as ComboboxSurface,ft as commandScore,Ct as defaultFilter,D as useComboboxContext,pe as useComboboxItemContext,ke as useComboboxPositionerContext,ht as useMaybeComboboxContext,Mt as useMaybeComboboxItemContext,xt as useMaybeSurfaceContext,dt as useSurfaceContext};
1
+ import{t as e}from"../rolldown-runtime-DK3Fl9T5.js";import{$ as t,A as n,D as r,G as i,It as a,J as o,K as s,M as c,N as l,Rt as u,St as d,U as f,V as p,W as m,X as h,Z as g,_t as _,bt as v,et as y,f as b,gt as x,h as S,ht as C,k as w,q as T,tt as E,yt as D}from"../popup-menu-HmBMJEZc.js";import{D as O,E as k,M as A,d as ee,n as j,r as M,t as N,u as P}from"../listbox-CnwUlLZA.js";import{n as F,r as I,t as te}from"../resolve-state-props-D31kizRZ.js";import{a as ne,i as re,n as ie,o as L,r as R,s as ae,t as oe}from"../items-CD2hw6-3.js";import*as z from"react";import{Popover as se}from"@base-ui/react/popover";import{jsx as B,jsxs as ce}from"react/jsx-runtime";import{useRender as V}from"@base-ui/react/use-render";const le={slot:`bazzaui-combobox-clear`},H=z.forwardRef(function(e,t){let{keepMounted:n=!1,disabled:r,render:a,className:o,style:s,onClick:c,onPointerDown:l,...u}=e,d=x(),f=r??d.disabled,p=d.multiple?d.values.length>0:!i(d.value),m=z.useCallback(e=>{c?.(e),!e.defaultPrevented&&(d.multiple?d.onValuesChange([]):d.onValueChange(``),d.onInputValueChange(``))},[c,d]),h=z.useCallback(e=>{e.preventDefault(),l?.(e)},[l]),g=z.useMemo(()=>({hasValue:p,disabled:f}),[p,f]),_=V({render:a,ref:t,state:g,props:{...u,[le.slot]:``,type:`button`,tabIndex:-1,"aria-label":`Clear selection`,disabled:f||!p,className:F(o,g),style:I(s,g),onClick:m,onPointerDown:h},enabled:n||p,defaultTagName:`button`});return!n&&!p?null:_}),U=z.createContext(null);function W(){return z.useContext(U)}const ue=z.createContext(!1);function de(){return z.useContext(ue)}const G={slot:`bazzaui-combobox-input`,open:`data-open`,closed:`data-closed`,disabled:`data-disabled`,placeholder:`data-placeholder`};function fe(e){let{comboboxContext:t,open:n}=e,r=t.multiple?t.values.length>0:!i(t.value),a=z.useCallback(e=>{let n=T(e,t.itemToStringValue),r=t.itemTextRegistry.get(n);if(r!==void 0)return r;let i=R(t.items,n);if(typeof i==`string`)return i;let a=s(e,t.itemToStringLabel);if(a&&a!==n)return a},[t.itemTextRegistry,t.items,t.itemToStringLabel,t.itemToStringValue]),o=z.useMemo(()=>{if(!r)return``;if(t.multiple){let e=t.values.map(e=>{let n=a(e);return n===void 0?s(e,t.itemToStringLabel)||T(e,t.itemToStringValue):n}).filter(Boolean);return e.length<=2?e.join(`, `):`${e.length} selected`}let e=t.value;if(e==null)return``;let n=a(e);return n===void 0?s(e,t.itemToStringLabel)||T(e,t.itemToStringValue):n},[r,t.multiple,t.value,t.values,t.itemToStringLabel,t.itemToStringValue,a]);return{hasValue:r,displayValue:z.useMemo(()=>n?t.inputValue:o,[n,o,t.inputValue]),selectedLabel:o,getValueText:a}}function pe(e){let{comboboxContext:t,store:n,focusOwnerStore:r,open:i,disabled:a,cursorBehavior:o,hasValue:c,getValueText:l,onFocus:u,onBlur:d,onClick:f,onKeyDown:p}=e,m=z.useRef(!1),g=z.useRef(!1),_=z.useRef(!1),v=z.useRef(null),y=z.useRef(null),b=z.useRef(null);z.useEffect(()=>{if(!i)return;let e=e=>{let n=t.inputRef.current,r=t.inputWrapperRef.current,i=document.getElementById(t.listId),a=e.target,o=n?.contains(a),s=r?.contains(a),c=i?.contains(a);!o&&!s&&!c&&(b.current=e)};return document.addEventListener(`pointerdown`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0),b.current=null}},[i,t.inputRef,t.inputWrapperRef,t.listId]),z.useLayoutEffect(()=>{let e=t.inputRef.current;if(e&&i&&y.current){let{start:t,end:n}=y.current,r=e.selectionStart,i=e.value.length;r===i&&t!==i&&e.setSelectionRange(t,n),y.current=null}});let x=z.useRef(i);z.useLayoutEffect(()=>{if(i&&!x.current){if(m.current){m.current=!1,x.current=i;return}if(_.current){_.current=!1,g.current=!1,v.current=null,x.current=i;return}if(g.current&&o===`none`){let e=t.inputRef.current,n=v.current;e&&n!==null&&requestAnimationFrame(()=>{let t=e.value.length,r=Math.min(n,t);e.setSelectionRange(r,r)}),g.current=!1,v.current=null,x.current=i;return}c&&t.multiple&&t.onInputValueChange(``);let e=t.inputRef.current;if(e){let t=e.value.length;o===`select-all`&&t>0?requestAnimationFrame(()=>{e.setSelectionRange(0,e.value.length)}):o===`end`&&t>0&&requestAnimationFrame(()=>{e.setSelectionRange(e.value.length,e.value.length)})}}x.current=i},[i,t,c,o]);let S=z.useCallback(e=>{let r=e.target,i=r.value,a=r.selectionStart,o=r.selectionEnd;a!==null&&o!==null&&(y.current={start:a,end:o}),t.onInputValueChange(i),t.setFilterActive(),n.setSearch(i),n.select(`open`)||(m.current=!0,t.openCombobox())},[t,n]),C=z.useCallback(e=>{if(u?.(e),e.defaultPrevented)return;let r=n.select(`open`);if(r&&(_.current=!0),t.openOnFocus&&!a&&!r){if(c&&!t.multiple){let e=l(t.value)??s(t.value,t.itemToStringLabel);t.onInputValueChange(e)}t.openCombobox()}},[u,t,a,n,c,l]),w=z.useCallback(e=>{d?.(e),!e.defaultPrevented&&requestAnimationFrame(()=>{let e=document.activeElement,n=document.getElementById(t.listId)?.contains(e),r=e===t.inputRef.current;if(!n&&!r){_.current=!1;let e=b.current,n=e?A:O;b.current=null,t.closeCombobox(n,e??void 0)}})},[d,t]),T=z.useCallback(e=>{if(f?.(e),e.defaultPrevented)return;let r=n.select(`open`);if(!a&&!r){let n=e.target;if(o===`none`){let e=n.selectionStart;v.current=e,g.current=!0}if(c&&!t.multiple){let e=l(t.value)??s(t.value,t.itemToStringLabel);t.onInputValueChange(e)}t.openCombobox()}else r&&(_.current=!0)},[f,t,a,n,o,c,l]),E=z.useCallback(e=>{if(p?.(e),!e.defaultPrevented){if(i&&e.key===`Escape`){e.preventDefault(),t.closeCombobox(k);return}if(!i&&(e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Enter`)){if(e.preventDefault(),c&&!t.multiple){let e=l(t.value)??s(t.value,t.itemToStringLabel);t.onInputValueChange(e)}t.openCombobox();return}}},[i,t,p,c,l]),{handleKeyDown:D}=h({store:n,surfaceId:`combobox-input`,focusOwnerStore:r,depth:0,submenuContext:null,subpageContext:null,enabled:i,enableTypeToSearch:!1,onKeyDown:E,closeAll:t.closeCombobox,skipFocusOwnerCheck:!0});return{handleChange:S,handleFocus:C,handleBlur:w,handleClick:T,handleKeyDown:D,selectionRef:y}}const me=z.forwardRef(function(e,t){let{placeholder:n,disabled:r,cursorBehavior:i=`none`,render:o,className:s,style:c,onFocus:l,onBlur:d,onClick:f,onKeyDown:p,...m}=e,h=x(),g=a(),_=u(),v=de(),y=(r??h.disabled)||g.disabled,b=R(h.items,``),S=n??(typeof b==`string`?b:void 0)??h.placeholder,C=g.store.useState(`open`),{hasValue:w,displayValue:T,getValueText:E}=fe({comboboxContext:h,open:C}),{handleChange:D,handleFocus:O,handleBlur:k,handleClick:A,handleKeyDown:ee}=pe({comboboxContext:h,store:g.store,focusOwnerStore:_,open:C,disabled:y,cursorBehavior:i,hasValue:w,getValueText:E,onFocus:l,onBlur:d,onClick:f,onKeyDown:p}),j={[G.slot]:``};C?j[G.open]=``:j[G.closed]=``,y&&(j[G.disabled]=``),w||(j[G.placeholder]=``),h.layout===`input-embedded`&&(j[`data-input-embedded`]=``);let M=z.useCallback(e=>{h.setInputElement(e),typeof t==`function`?t(e):t&&(t.current=e)},[t,h]),N=z.useMemo(()=>({open:C,disabled:y,placeholder:!w}),[C,y,w]),P=h.layout===`input-embedded`&&!v?{position:`relative`,zIndex:1}:void 0;return V({render:o,ref:M,state:N,props:{...m,...j,type:`text`,role:`combobox`,"aria-autocomplete":`list`,"aria-expanded":C,"aria-controls":h.listId,"aria-haspopup":`listbox`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,disabled:y,placeholder:w?void 0:S,className:F(s,N),style:{...P,...I(c,N)},value:T,onChange:D,onFocus:O,onBlur:k,onClick:A,onKeyDown:ee},defaultTagName:`input`})}),K={slot:`bazzaui-combobox-input-wrapper`,open:`data-open`},he={open:e=>e?{[K.open]:``}:null},ge=z.forwardRef(function(e,t){let{render:n,className:r,style:i,children:o,...s}=e,{store:c}=a(),l=x(),u=c.useState(`open`),d=z.useMemo(()=>({open:u}),[u]),f=l.layout===`input-embedded`?{position:`relative`,zIndex:1}:{position:`relative`},p=z.useCallback(e=>{l.setInputWrapperElement(e),typeof t==`function`?t(e):t&&(t.current=e)},[t,l]),m=V({render:n,ref:p,state:d,stateAttributesMapping:he,props:{...s,[K.slot]:``,className:F(r,d),style:{...f,...I(i,d)},children:o},defaultTagName:`div`});return/* @__PURE__ */ B(ue.Provider,{value:!0,children:m})}),q={slot:`bazzaui-combobox-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`},_e=z.createContext(null);function J(){let e=z.useContext(_e);if(!e)throw Error(`ComboboxItem child components must be used within a Combobox.Item`);return e}function ve(){return z.useContext(_e)}const ye={highlighted:e=>e?{[q.highlighted]:``}:null,disabled:e=>e?{[q.disabled]:``}:null,selected:e=>e?{[q.selected]:``}:null,first:e=>e?{[q.first]:``}:null,last:e=>e?{[q.last]:``}:null,firstInGroup:e=>e?{[q.firstInGroup]:``}:null,lastInGroup:e=>e?{[q.lastInGroup]:``}:null};function be(e,t){let{value:n,textValue:r,keywords:i,disabled:a=!1,onSelect:c,forceMount:l=!1,render:u,className:d,style:f,onClick:p,onPointerDown:m,onPointerMove:h,children:g,..._}=e,v=x(),y=z.useMemo(()=>T(n,v.itemToStringValue),[n,v.itemToStringValue]),b=z.useId(),S=n===null?`combobox-clear-${b}`:void 0,C=z.useMemo(()=>ie(v.items,y),[v.items,y]),w=C?.label,E=z.useMemo(()=>s(n,v.itemToStringLabel),[n,v.itemToStringLabel]),D=z.useMemo(()=>{if(r!==void 0)return r;if(typeof w==`string`)return w;if(E&&E!==y)return E},[r,w,E,y]),O=z.useMemo(()=>oe(i,[typeof w==`string`?w:E&&E!==y?E:void 0,...C?.keywords??[]]),[i,w,E,y,C]),k=z.useRef(D),A=v.multiple?L(v.values,n,v.isItemEqualToValue):v.value!==``&&re(v.value,n,v.isItemEqualToValue),ee=v.closeOnSelect,j=o({id:S,value:y,keywords:O,disabled:a,forceMount:l,closeOnClick:ee,children:g});z.useEffect(()=>j.registerSelect(()=>{if(!a){if(v.multiple){if(n==null)v.onValuesChange([]);else{let e=A?ae(v.values,n,v.isItemEqualToValue):[...v.values,n];v.onValuesChange(e)}}else v.onValueChange(n);c?.()}}),[a,v,n,A,c,j]),z.useEffect(()=>{let e=k.current;if(e)return v.registerItemText(y,e)},[y,v]),z.useEffect(()=>{!D&&typeof g==`string`&&(k.current=g,v.registerItemText(y,g))},[g,D,y,v]);let M=z.useMemo(()=>({highlighted:j.isHighlighted,disabled:a,selected:A,first:j.positional.first,last:j.positional.last,firstInGroup:j.positional.firstInGroup,lastInGroup:j.positional.lastInGroup}),[j.isHighlighted,a,A,j.positional]),N=z.useMemo(()=>({id:j.id,value:n,textValue:D,highlighted:j.isHighlighted,disabled:a,selected:A}),[j.id,n,D,j.isHighlighted,a,A]),P=z.useCallback(e=>{p?.(e),e.defaultPrevented||j.handlers.onClick(e)},[p,j.handlers]),te=z.useCallback(e=>{j.handlers.onPointerDown(e),m?.(e)},[j.handlers,m]),ne=z.useCallback(e=>{h?.(e),e.defaultPrevented||j.handlers.onPointerMove(e)},[h,j.handlers]),R=V({render:u,ref:[j.ref,j.rowRef,t],state:M,stateAttributesMapping:ye,props:{..._,[q.slot]:``,id:j.id,role:`option`,tabIndex:-1,"aria-selected":A,"aria-disabled":a||void 0,className:F(d,M),style:I(f,M),onClick:P,onPointerMove:ne,onPointerDown:te,children:g},enabled:j.isVisible,defaultTagName:`div`});return j.isVisible?/* @__PURE__ */ B(_e.Provider,{value:N,children:R}):null}const xe=z.forwardRef(be),Y={slot:`bazzaui-combobox-item-indicator`,selected:`data-selected`},Se={selected:e=>e?{[Y.selected]:``}:null},Ce=z.forwardRef(function(e,t){let{keepMounted:n=!1,render:r,className:i,style:a,...o}=e,s=J(),c=z.useMemo(()=>({selected:s.selected}),[s.selected]),l=V({render:r,ref:t,state:c,stateAttributesMapping:Se,props:{...o,[Y.slot]:``,"aria-hidden":!0,className:F(i,c),style:I(a,c)},enabled:n||s.selected,defaultTagName:`span`});return!n&&!s.selected?null:l}),we={slot:`bazzaui-combobox-item-label`},X=z.forwardRef(function(e,t){let{render:n,className:r,style:i,children:a,...o}=e,s=x(),c=J(),l=T(c.value,s.itemToStringValue),u=z.useMemo(()=>{if(a!==void 0)return a;let e=R(s.items,l);return e===void 0?c.textValue===void 0?l:c.textValue:e},[a,s.items,l,c.textValue]),d=z.useMemo(()=>({value:l,selected:c.selected,highlighted:c.highlighted,disabled:c.disabled}),[l,c.selected,c.highlighted,c.disabled]);return z.useEffect(()=>{if(typeof u==`string`)return s.registerItemText(l,u)},[u,s,l]),V({render:n,ref:t,state:d,props:{...o,[we.slot]:``,className:F(r,d),style:I(i,d),children:u},defaultTagName:`span`})}),Z={slot:`bazzaui-combobox-positioner`};function Q(e,t,n,r){let i=n+r*2;return e===`top`?{width:i,marginBottom:-(t+r),paddingTop:r,paddingLeft:r,paddingRight:r,paddingBottom:t+r}:{width:i,marginTop:-(t+r),paddingTop:t+r,paddingLeft:r,paddingRight:r,paddingBottom:r}}function Te({render:e,state:t,props:n}){return V({render:typeof e==`function`?n=>e(n,t):e,props:n,defaultTagName:`div`})}const Ee=z.forwardRef(function(e,t){let{layout:n,popupPadding:r=8,side:i=`bottom`,align:a,sideOffset:o=4,anchor:s,className:c,style:l,children:u,render:d,...f}=e,p=x(),m=n??p.layout,h=m===`input-embedded`,g=s??p.inputWrapperRef.current?p.inputWrapperRef:p.inputRef,_=h?0:o,v=h?`center`:a??`start`,{inputHeight:y,inputWidth:b}=p,S=b+r*2,C=te(l,e=>({...e,...h?{zIndex:0}:{}}));if(h)return/* @__PURE__ */ B(se.Positioner,{ref:t,side:i,align:v,sideOffset:_,anchor:g,className:c,style:C,"data-input-embedded":``,[Z.slot]:``,...f,render:(e,t)=>{let n=t.side,i={layout:m,side:n,align:t.align,inputHeight:p.inputHeight},a={"--combobox-input-height":`${y}px`,"--combobox-input-width":`${b}px`,"--combobox-popup-padding":`${r}px`,"--combobox-popup-width":`${S}px`},o=Q(n,y,b,r),s=z.Children.map(u,e=>z.isValidElement(e)?z.cloneElement(e,{style:{...o,...e.props.style},"data-side":n}):e);return/* @__PURE__ */ B(U.Provider,{value:i,children:/* @__PURE__ */ B(Te,{render:d,state:t,props:{...e,style:{...e.style,...a},"data-side":n,children:s}})})}});let w={layout:m,side:i,align:v,inputHeight:p.inputHeight},T={"--combobox-input-height":`${y}px`,"--combobox-input-width":`${b}px`},E=te(l,e=>({...e,...T}));return/* @__PURE__ */ B(U.Provider,{value:w,children:/* @__PURE__ */ B(se.Positioner,{ref:t,side:i,align:v,sideOffset:_,anchor:g,className:c,style:E,[Z.slot]:``,...f,render:d,children:u})})});function De(e){let{open:t,onOpenChange:n,actionsRef:r,defaultOpen:i=!1,value:a,defaultValue:o,onValueChange:s,multiple:c=!1,values:l,defaultValues:u,onValuesChange:f,isItemEqualToValue:p=ne,itemToStringLabel:m,itemToStringValue:h,inputValue:_,defaultInputValue:v=``,onInputValueChange:y,name:b,form:x,required:S,disabled:w=!1,placeholder:E=`Search...`,items:D,modal:O=!1,closeOnSelect:k,openOnFocus:A=!0,virtualized:ee=!1,virtualItems:j,onHighlightChange:M,layout:N=`floating`,onOpenChangeComplete:P,debug:F,children:I,...te}=e,re=z.useCallback((e,t,n,r)=>M?.(e,n,r),[M]),ie=z.useId(),L=z.useRef(null),R=z.useRef(null),[ae,oe]=z.useState(0),[V,le]=z.useState(0),H=z.useCallback(e=>{if(L.current=e,e&&!R.current){let t=e.getBoundingClientRect();oe(t.height),le(t.width)}},[]),U=z.useCallback(e=>{if(R.current=e,e){let t=e.getBoundingClientRect();oe(t.height),le(t.width)}},[]),{store:W,focusOwnerStore:ue,openChainStore:de,registerSurface:G,closeAll:fe,virtualization:pe,handleOpenChange:me,disabled:K,setDisabled:he,menuTreeResolver:ge}=d({onOpenChange:n,defaultOpen:i,virtualized:ee,items:j,onHighlightChange:re,disabled:w}),q=z.useRef(null);z.useImperativeHandle(r,()=>({close:()=>{q.current?.close()},unmount:()=>{q.current?.unmount()},setDisabled:he}),[he]),W.useControlledProp(`openProp`,t);let _e=W.useState(`open`),J=z.useCallback((e,t,n)=>{K&&t!==`imperative-action`||(e||!L.current||document.activeElement!==L.current)&&me(e,t,n)},[me,K]),ve=z.useCallback(e=>{!e&&W.context.clearSearchOnClose===`after-exit`&&(W.clearSearch(),W.setInputActive(!1)),e||W.clearHighlight(),P?.(e)},[W,P]),ye=z.useCallback((e,t)=>{J(e,t.reason,t.event)},[J]),[be,xe]=z.useState(o===void 0?null:o),Y=a===void 0?be:a,Se=z.useCallback(e=>{a===void 0&&xe(e),s?.(e)},[a,s]),[Ce,we]=z.useState(u??[]),X=l===void 0?Ce:l,Z=z.useCallback(e=>{l===void 0&&we(e),f?.(e)},[l,f]),[Q,Te]=z.useState(v),Ee=_===void 0?Q:_,De=z.useCallback(e=>{_===void 0&&Te(e),y?.(e)},[_,y]),Oe=z.useRef(/* @__PURE__ */ new Map),ke=z.useCallback((e,t)=>(Oe.current.set(e,t),()=>{}),[]),Ae=k??!c,je=z.useRef({type:`active`}),[,Me]=z.useState({type:`active`}),$=z.useCallback(e=>{je.current=e,Me(e)},[]),Ne=je.current,Pe=z.useCallback(()=>{$({type:`active`})},[$]),Fe=z.useCallback(()=>{K||($(!c&&Y!=null?{type:`showAll`}:{type:`active`}),W.setOpen(!0))},[K,W,c,Y,$]),Ie=z.useCallback((e,t)=>{let n=je.current,r=n.type===`active`?Q:n.type===`showAll`?``:n.search;$({type:`frozen`,search:r}),W.setOpen(!1,e,t)},[W,$,Q]),Le=z.useMemo(()=>({multiple:c,value:Y,values:X,onValueChange:Se,onValuesChange:Z,isItemEqualToValue:p,itemToStringLabel:m,itemToStringValue:h,inputValue:Ee,onInputValueChange:De,name:b,form:x,required:S,disabled:K,placeholder:E,items:D,itemTextRegistry:Oe.current,registerItemText:ke,listId:ie,inputRef:L,setInputElement:H,inputWrapperRef:R,setInputWrapperElement:U,closeOnSelect:Ae,openOnFocus:A,openCombobox:Fe,closeCombobox:Ie,filterMode:Ne,setFilterActive:Pe,inputHeight:ae,inputWidth:V,layout:N}),[c,Y,X,Se,Z,p,m,h,Ee,De,b,x,S,K,E,D,ke,ie,H,U,Ae,A,Fe,Ie,Ne,Pe,ae,V,N]),Re=z.useMemo(()=>b?c?X.length>0?X.map((e,t)=>{let n=T(e,h);return/* @__PURE__ */ B(`input`,{type:`hidden`,name:b,value:n,form:x,required:S&&t===0},n)}):/* @__PURE__ */ B(`input`,{type:`hidden`,name:b,value:``,form:x,required:S}):/* @__PURE__ */ B(`input`,{type:`hidden`,name:b,value:Y==null?``:T(Y,h),form:x,required:S}):null,[b,x,S,c,Y,X,h]);return/* @__PURE__ */ B(C.Provider,{value:Le,children:/* @__PURE__ */ ce(g,{menuTreeResolver:ge,store:W,focusOwnerStore:ue,openChainStore:de,disabled:K,depth:0,closeAll:fe,registerSurface:G,virtualization:pe,menuType:`dropdown`,externalFocus:!0,componentName:`combobox`,debug:F,children:[Re,/* @__PURE__ */ B(se.Root,{...te,open:_e,onOpenChange:ye,onOpenChangeComplete:ve,modal:O,actionsRef:r?q:void 0,children:I})]})})}const Oe={slot:`bazzaui-combobox-surface`},ke=z.forwardRef(function(e,t){let{autoHighlightFirst:n,clearSearchOnClose:i=!0,search:a,onSearchChange:o,onPointerMove:s,...c}=e,l=x(),u=z.useCallback(e=>{s?.(e);let t=l.inputRef.current;t&&document.activeElement!==t&&t.focus()},[s,l.inputRef]),d=z.useMemo(()=>{let e=n??!0;if(e===`selected`){let e=l.multiple?l.values[0]:l.value;return e==null||T(e,l.itemToStringValue)}return e},[n,l.multiple,l.value,l.values,l.itemToStringValue]),{filterMode:f}=l,p=a??(f.type===`active`?l.inputValue:f.type===`showAll`?``:f.search),m=z.useCallback(e=>{l.onInputValueChange(e),o?.(e)},[l,o]);return/* @__PURE__ */ B(r,{ref:t,autoHighlightFirst:d,clearSearchOnClose:i,search:p,onSearchChange:m,onPointerMove:u,skipAutoFocus:!0,[Oe.slot]:``,...c})});var Ae=/* @__PURE__ */ e({Arrow:()=>v,Backdrop:()=>D,Clear:()=>H,Empty:()=>f,Group:()=>S,GroupLabel:()=>p,Icon:()=>m,Input:()=>me,InputWrapper:()=>ge,Item:()=>xe,ItemIndicator:()=>Ce,ItemLabel:()=>X,List:()=>c,Popup:()=>E,Portal:()=>y,Positioner:()=>Ee,Root:()=>De,ScrollDownArrow:()=>w,ScrollUpArrow:()=>n,Separator:()=>b,Surface:()=>ke,useComboboxPositionerContext:()=>W});let je=/* @__PURE__ */ function(e){return e.slot=`bazzaui-combobox-arrow`,e.open=`data-open`,e.closed=`data-closed`,e.side=`data-side`,e.align=`data-align`,e.uncentered=`data-uncentered`,e}({}),Me=/* @__PURE__ */ function(e){return e.slot=`bazzaui-combobox-backdrop`,e.open=`data-open`,e.closed=`data-closed`,e.startingStyle=`data-starting-style`,e.endingStyle=`data-ending-style`,e}({}),$=/* @__PURE__ */ function(e){return e.slot=`bazzaui-combobox-empty`,e}({}),Ne=/* @__PURE__ */ function(e){return e.slot=`bazzaui-combobox-group`,e}({}),Pe=/* @__PURE__ */ function(e){return e.slot=`bazzaui-combobox-group-label`,e}({});const Fe={slot:`bazzaui-combobox-icon`,open:`data-popup-open`};let Ie=/* @__PURE__ */ function(e){return e.slot=`bazzaui-combobox-list`,e.list=`data-popup-menu-list`,e}({}),Le=/* @__PURE__ */ function(e){return e.slot=`bazzaui-combobox-popup`,e.open=`data-open`,e.closed=`data-closed`,e.side=`data-side`,e.align=`data-align`,e.startingStyle=`data-starting-style`,e.endingStyle=`data-ending-style`,e.instant=`data-instant`,e.focused=`data-focused`,e.hasOpenSubmenu=`data-has-open-submenu`,e.submenu=`data-submenu`,e.navigating=`data-navigating`,e}({});const Re={slotUp:`bazzaui-combobox-scroll-up-arrow`,slotDown:`bazzaui-combobox-scroll-down-arrow`,direction:`data-direction`,side:`data-side`};let ze=/* @__PURE__ */ function(e){return e.slot=`bazzaui-combobox-separator`,e}({});export{Ae as Combobox,je as ComboboxArrowDataAttributes,Me as ComboboxBackdropDataAttributes,H as ComboboxClear,$ as ComboboxEmptyDataAttributes,Ne as ComboboxGroupDataAttributes,Pe as ComboboxGroupLabelDataAttributes,Fe as ComboboxIconDataAttributes,me as ComboboxInput,G as ComboboxInputDataAttributes,ge as ComboboxInputWrapper,K as ComboboxInputWrapperDataAttributes,xe as ComboboxItem,q as ComboboxItemDataAttributes,Ce as ComboboxItemIndicator,Y as ComboboxItemIndicatorDataAttributes,X as ComboboxItemLabel,l as ComboboxListCssVars,Ie as ComboboxListDataAttributes,Le as ComboboxPopupDataAttributes,Ee as ComboboxPositioner,t as ComboboxPositionerCssVars,Z as ComboboxPositionerDataAttributes,De as ComboboxRoot,Re as ComboboxScrollArrowDataAttributes,ze as ComboboxSeparatorDataAttributes,N as ComboboxStore,ke as ComboboxSurface,j as commandScore,M as defaultFilter,x as useComboboxContext,J as useComboboxItemContext,W as useComboboxPositionerContext,_ as useMaybeComboboxContext,ve as useMaybeComboboxItemContext,P as useMaybeSurfaceContext,ee as useSurfaceContext};
2
2
  //# sourceMappingURL=index.js.map