@ariakit/react 0.4.26 → 0.4.28

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 (319) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/cjs/__chunks/2HXQHKBC.cjs +59 -0
  3. package/cjs/__chunks/2MDC3Z3V.cjs +43 -0
  4. package/cjs/__chunks/334WKW6I.cjs +19 -0
  5. package/cjs/__chunks/34UJGLOZ.cjs +236 -0
  6. package/cjs/__chunks/3FIXGHZ2.cjs +59 -0
  7. package/cjs/__chunks/4RKQMGBK.cjs +1179 -0
  8. package/cjs/__chunks/5NTEPQ2U.cjs +148 -0
  9. package/cjs/__chunks/66G6K4UR.cjs +1 -0
  10. package/cjs/__chunks/6GNM57O7.cjs +1 -0
  11. package/cjs/__chunks/7M4GY5DS.cjs +255 -0
  12. package/cjs/__chunks/7MXJT4IN.cjs +17 -0
  13. package/cjs/__chunks/7POA4244.cjs +184 -0
  14. package/cjs/__chunks/ASOIXRUN.cjs +305 -0
  15. package/cjs/__chunks/C4NVIV6V.cjs +455 -0
  16. package/cjs/__chunks/CR6AS7WL.cjs +1 -0
  17. package/cjs/__chunks/D4HCGWOU.cjs +464 -0
  18. package/cjs/__chunks/DVWS2XPY.cjs +107 -0
  19. package/cjs/__chunks/DWSXHZYM.cjs +20 -0
  20. package/cjs/__chunks/E6EV2Q5P.cjs +1 -0
  21. package/cjs/__chunks/FELYQPO5.cjs +1025 -0
  22. package/cjs/__chunks/FHQ5DVYQ.cjs +34 -0
  23. package/cjs/__chunks/FIPBE5IX.cjs +23 -0
  24. package/cjs/__chunks/FVIS5BFZ.cjs +41 -0
  25. package/cjs/__chunks/GUB6WHB6.cjs +51 -0
  26. package/cjs/__chunks/GUY4MKX2.cjs +56 -0
  27. package/cjs/__chunks/IF5DZKAR.cjs +1 -0
  28. package/cjs/__chunks/IFZV5LA3.cjs +94 -0
  29. package/cjs/__chunks/IHVFJGGN.cjs +32 -0
  30. package/cjs/__chunks/L2IFVMDU.cjs +96 -0
  31. package/cjs/__chunks/LCX235VJ.cjs +53 -0
  32. package/cjs/__chunks/LMCBLO3G.cjs +42 -0
  33. package/cjs/__chunks/LS5VO6AA.cjs +44 -0
  34. package/cjs/__chunks/LVHC4DSB.cjs +117 -0
  35. package/cjs/__chunks/MN5TONXW.cjs +123 -0
  36. package/cjs/__chunks/N3DLR7OL.cjs +34 -0
  37. package/cjs/__chunks/NFZWL7LE.cjs +24 -0
  38. package/cjs/__chunks/NG34QRI6.cjs +264 -0
  39. package/cjs/__chunks/NIOJG7C4.cjs +1 -0
  40. package/cjs/__chunks/NMUCJYMR.cjs +496 -0
  41. package/cjs/__chunks/OOFUBC32.cjs +109 -0
  42. package/cjs/__chunks/OQRQJNBU.cjs +1 -0
  43. package/cjs/__chunks/PDPE2VAZ.cjs +1035 -0
  44. package/cjs/__chunks/PTE2IJM5.cjs +143 -0
  45. package/cjs/__chunks/PU63IQFD.cjs +447 -0
  46. package/cjs/__chunks/PZXRBFZF.cjs +38 -0
  47. package/cjs/__chunks/QAUJZR6Y.cjs +996 -0
  48. package/cjs/__chunks/QYDAT3QF.cjs +1 -0
  49. package/cjs/__chunks/QYLMYWKV.cjs +1 -0
  50. package/cjs/__chunks/RGH2H3WL.cjs +34 -0
  51. package/cjs/__chunks/RLKC7JVT.cjs +19 -0
  52. package/cjs/__chunks/RR46KI45.cjs +17 -0
  53. package/cjs/__chunks/RVXPEX7O.cjs +150 -0
  54. package/cjs/__chunks/RXZPZPJX.cjs +95 -0
  55. package/cjs/__chunks/SIF7IN4L.cjs +62 -0
  56. package/cjs/__chunks/SQ72MZ63.cjs +294 -0
  57. package/cjs/__chunks/SXAPGTJ4.cjs +23 -0
  58. package/cjs/__chunks/TLUFYZC7.cjs +37 -0
  59. package/cjs/__chunks/TSBEWPNT.cjs +1922 -0
  60. package/cjs/__chunks/U2UYQT45.cjs +1 -0
  61. package/cjs/__chunks/UUEFM3TG.cjs +75 -0
  62. package/cjs/__chunks/UV7CXZEM.cjs +36 -0
  63. package/cjs/__chunks/VXDLN5CP.cjs +234 -0
  64. package/cjs/__chunks/VXUZM542.cjs +789 -0
  65. package/cjs/__chunks/W27WRDUB.cjs +1 -0
  66. package/cjs/__chunks/X4U3XKYQ.cjs +7 -0
  67. package/cjs/__chunks/XH4GE3VE.cjs +29 -0
  68. package/cjs/__chunks/XPQIHUQ7.cjs +172 -0
  69. package/cjs/__chunks/YEXJT4IL.cjs +55 -0
  70. package/cjs/__chunks/Z5PDS46M.cjs +975 -0
  71. package/cjs/__chunks/ZNW2LLWJ.cjs +108 -0
  72. package/cjs/__chunks/ZYPARRXG.cjs +19 -0
  73. package/cjs/button.cjs +7 -3
  74. package/cjs/button.d.cts +2 -2
  75. package/cjs/button.d.ts +2 -2
  76. package/cjs/checkbox.cjs +11 -2
  77. package/cjs/checkbox.d.cts +9 -9
  78. package/cjs/checkbox.d.ts +9 -9
  79. package/cjs/collection.cjs +8 -2
  80. package/cjs/collection.d.cts +9 -9
  81. package/cjs/collection.d.ts +9 -9
  82. package/cjs/combobox.cjs +33 -2
  83. package/cjs/combobox.d.cts +33 -33
  84. package/cjs/combobox.d.ts +33 -33
  85. package/cjs/command.cjs +6 -3
  86. package/cjs/command.d.cts +2 -2
  87. package/cjs/command.d.ts +2 -2
  88. package/cjs/composite.cjs +24 -2
  89. package/cjs/composite.d.cts +21 -21
  90. package/cjs/composite.d.ts +21 -21
  91. package/cjs/dialog.cjs +24 -2
  92. package/cjs/dialog.d.cts +15 -15
  93. package/cjs/dialog.d.ts +15 -15
  94. package/cjs/disclosure.cjs +11 -2
  95. package/cjs/disclosure.d.cts +9 -9
  96. package/cjs/disclosure.d.ts +9 -9
  97. package/cjs/focus-trap.cjs +6 -2
  98. package/cjs/focus-trap.d.cts +4 -4
  99. package/cjs/focus-trap.d.ts +4 -4
  100. package/cjs/focusable.cjs +5 -3
  101. package/cjs/focusable.d.cts +2 -2
  102. package/cjs/focusable.d.ts +2 -2
  103. package/cjs/form.cjs +15 -2
  104. package/cjs/form.d.cts +37 -37
  105. package/cjs/form.d.ts +37 -37
  106. package/cjs/group.cjs +5 -3
  107. package/cjs/group.d.cts +4 -4
  108. package/cjs/group.d.ts +4 -4
  109. package/cjs/heading.cjs +7 -3
  110. package/cjs/heading.d.cts +4 -4
  111. package/cjs/heading.d.ts +4 -4
  112. package/cjs/hovercard.cjs +28 -2
  113. package/cjs/hovercard.d.cts +19 -19
  114. package/cjs/hovercard.d.ts +19 -19
  115. package/cjs/index.cjs +103 -28
  116. package/cjs/menu.cjs +44 -2
  117. package/cjs/menu.d.cts +41 -41
  118. package/cjs/menu.d.ts +41 -41
  119. package/cjs/menubar.cjs +10 -3
  120. package/cjs/menubar.d.cts +7 -7
  121. package/cjs/menubar.d.ts +7 -7
  122. package/cjs/popover.cjs +33 -2
  123. package/cjs/popover.d.cts +21 -21
  124. package/cjs/popover.d.ts +21 -21
  125. package/cjs/portal.cjs +7 -3
  126. package/cjs/portal.d.cts +3 -3
  127. package/cjs/portal.d.ts +3 -3
  128. package/cjs/radio.cjs +13 -2
  129. package/cjs/radio.d.cts +9 -9
  130. package/cjs/radio.d.ts +9 -9
  131. package/cjs/role.cjs +5 -3
  132. package/cjs/role.d.cts +2 -2
  133. package/cjs/role.d.ts +2 -2
  134. package/cjs/select.cjs +39 -2
  135. package/cjs/select.d.cts +33 -33
  136. package/cjs/select.d.ts +33 -33
  137. package/cjs/separator.cjs +5 -3
  138. package/cjs/separator.d.cts +2 -2
  139. package/cjs/separator.d.ts +2 -2
  140. package/cjs/store.cjs +5 -3
  141. package/cjs/store.d.cts +1 -1
  142. package/cjs/store.d.ts +1 -1
  143. package/cjs/tab.cjs +15 -2
  144. package/cjs/tab.d.cts +11 -11
  145. package/cjs/tab.d.ts +11 -11
  146. package/cjs/toolbar.cjs +13 -2
  147. package/cjs/toolbar.d.cts +15 -15
  148. package/cjs/toolbar.d.ts +15 -15
  149. package/cjs/tooltip.cjs +16 -2
  150. package/cjs/tooltip.d.cts +11 -11
  151. package/cjs/tooltip.d.ts +11 -11
  152. package/cjs/visually-hidden.cjs +5 -3
  153. package/cjs/visually-hidden.d.cts +2 -2
  154. package/cjs/visually-hidden.d.ts +2 -2
  155. package/esm/__chunks/2RKMXQTW.js +10 -0
  156. package/esm/__chunks/3Y4V2DTP.js +8 -0
  157. package/esm/__chunks/5FGJT4YF.js +10 -0
  158. package/esm/__chunks/ASWYYI35.js +26 -0
  159. package/esm/__chunks/BCX2X2B5.js +40 -0
  160. package/esm/__chunks/BLUBZ7NO.js +28 -0
  161. package/esm/__chunks/CKEWLSMJ.js +8 -0
  162. package/esm/__chunks/CSCX5ZBZ.js +40 -0
  163. package/esm/__chunks/CTJDBGJU.js +18 -0
  164. package/esm/__chunks/DAO5N24L.js +16 -0
  165. package/esm/__chunks/E3G6CWS6.js +16 -0
  166. package/esm/__chunks/IVVNCX6W.js +16 -0
  167. package/esm/__chunks/LQB76ROL.js +16 -0
  168. package/esm/__chunks/MALDUIAO.js +28 -0
  169. package/esm/__chunks/MP5ILXF3.js +14 -0
  170. package/esm/__chunks/O3FPWSHV.js +10 -0
  171. package/esm/__chunks/OKEWM6H4.js +10 -0
  172. package/esm/__chunks/QL3WKMBE.js +8 -0
  173. package/esm/__chunks/RD2DI27Y.js +44 -0
  174. package/esm/__chunks/SB7MN4B3.js +22 -0
  175. package/esm/__chunks/UA4GRLAL.js +52 -0
  176. package/esm/__chunks/UBB5N3OM.js +22 -0
  177. package/esm/__chunks/WC6KFHZH.js +8 -0
  178. package/esm/__chunks/WFREFNZD.js +8 -0
  179. package/esm/__chunks/WH35KJXV.js +8 -0
  180. package/esm/__chunks/WQKZESWL.js +18 -0
  181. package/esm/__chunks/YAS6EMRP.js +8 -0
  182. package/esm/button.d.ts +2 -2
  183. package/esm/button.js +1 -1
  184. package/esm/checkbox.d.ts +9 -9
  185. package/esm/checkbox.js +1 -1
  186. package/esm/collection.d.ts +9 -9
  187. package/esm/collection.js +1 -1
  188. package/esm/combobox.d.ts +33 -33
  189. package/esm/combobox.js +1 -1
  190. package/esm/command.d.ts +2 -2
  191. package/esm/command.js +1 -1
  192. package/esm/composite.d.ts +21 -21
  193. package/esm/composite.js +1 -1
  194. package/esm/dialog.d.ts +15 -15
  195. package/esm/dialog.js +1 -1
  196. package/esm/disclosure.d.ts +9 -9
  197. package/esm/disclosure.js +1 -1
  198. package/esm/focus-trap.d.ts +4 -4
  199. package/esm/focus-trap.js +1 -1
  200. package/esm/focusable.d.ts +2 -2
  201. package/esm/focusable.js +1 -1
  202. package/esm/form.d.ts +37 -37
  203. package/esm/form.js +1 -1
  204. package/esm/group.d.ts +4 -4
  205. package/esm/group.js +1 -1
  206. package/esm/heading.d.ts +4 -4
  207. package/esm/heading.js +1 -1
  208. package/esm/hovercard.d.ts +19 -19
  209. package/esm/hovercard.js +1 -1
  210. package/esm/index.js +27 -27
  211. package/esm/menu.d.ts +41 -41
  212. package/esm/menu.js +1 -1
  213. package/esm/menubar.d.ts +7 -7
  214. package/esm/menubar.js +1 -1
  215. package/esm/popover.d.ts +21 -21
  216. package/esm/popover.js +1 -1
  217. package/esm/portal.d.ts +3 -3
  218. package/esm/portal.js +1 -1
  219. package/esm/radio.d.ts +9 -9
  220. package/esm/radio.js +1 -1
  221. package/esm/role.d.ts +2 -2
  222. package/esm/role.js +1 -1
  223. package/esm/select.d.ts +33 -33
  224. package/esm/select.js +1 -1
  225. package/esm/separator.d.ts +2 -2
  226. package/esm/separator.js +1 -1
  227. package/esm/store.d.ts +1 -1
  228. package/esm/store.js +1 -1
  229. package/esm/tab.d.ts +11 -11
  230. package/esm/tab.js +1 -1
  231. package/esm/toolbar.d.ts +15 -15
  232. package/esm/toolbar.js +1 -1
  233. package/esm/tooltip.d.ts +11 -11
  234. package/esm/tooltip.js +1 -1
  235. package/esm/visually-hidden.d.ts +2 -2
  236. package/esm/visually-hidden.js +1 -1
  237. package/package.json +2 -2
  238. package/src/button.ts +5 -0
  239. package/src/checkbox.ts +19 -0
  240. package/src/collection.ts +19 -0
  241. package/src/combobox.ts +76 -0
  242. package/src/command.ts +5 -0
  243. package/src/composite.ts +49 -0
  244. package/src/dialog.ts +34 -0
  245. package/src/disclosure.ts +19 -0
  246. package/src/focus-trap.ts +11 -0
  247. package/src/focusable.ts +5 -0
  248. package/src/form.ts +90 -0
  249. package/src/group.ts +10 -0
  250. package/src/heading.ts +7 -0
  251. package/src/hovercard.ts +44 -0
  252. package/src/index.ts +27 -0
  253. package/src/menu.ts +100 -0
  254. package/src/menubar.ts +14 -0
  255. package/src/popover.ts +49 -0
  256. package/src/portal.ts +6 -0
  257. package/src/radio.ts +19 -0
  258. package/src/role.ts +5 -0
  259. package/src/select.ts +76 -0
  260. package/src/separator.ts +5 -0
  261. package/src/store.ts +1 -0
  262. package/src/tab.ts +21 -0
  263. package/src/toolbar.ts +34 -0
  264. package/src/tooltip.ts +24 -0
  265. package/src/visually-hidden.ts +5 -0
  266. package/cjs/__chunks/24MX6KII.cjs +0 -14
  267. package/cjs/__chunks/2IFRJ7YS.cjs +0 -6
  268. package/cjs/__chunks/32YVOHOP.cjs +0 -50
  269. package/cjs/__chunks/4BAIAF3U.cjs +0 -14
  270. package/cjs/__chunks/4J2CIZDN.cjs +0 -14
  271. package/cjs/__chunks/4TTUYQMJ.cjs +0 -20
  272. package/cjs/__chunks/6QAXTQNM.cjs +0 -16
  273. package/cjs/__chunks/6WNPYLAU.cjs +0 -6
  274. package/cjs/__chunks/A2CP2RQF.cjs +0 -24
  275. package/cjs/__chunks/AEV4Y6LH.cjs +0 -8
  276. package/cjs/__chunks/APHGV4DJ.cjs +0 -6
  277. package/cjs/__chunks/B34XK6WF.cjs +0 -8
  278. package/cjs/__chunks/BFD7ZBIV.cjs +0 -26
  279. package/cjs/__chunks/CZIDOP5N.cjs +0 -38
  280. package/cjs/__chunks/ETUDK33Z.cjs +0 -26
  281. package/cjs/__chunks/GJC4LCYO.cjs +0 -16
  282. package/cjs/__chunks/KGVA5X7R.cjs +0 -38
  283. package/cjs/__chunks/LAX4QA6C.cjs +0 -42
  284. package/cjs/__chunks/MDOKA7B5.cjs +0 -6
  285. package/cjs/__chunks/Q2GGGIV7.cjs +0 -6
  286. package/cjs/__chunks/QKCQWENM.cjs +0 -6
  287. package/cjs/__chunks/QPSUJCLN.cjs +0 -12
  288. package/cjs/__chunks/TDX6HS73.cjs +0 -8
  289. package/cjs/__chunks/UPMOBIQ3.cjs +0 -20
  290. package/cjs/__chunks/W6XMZ4GT.cjs +0 -14
  291. package/cjs/__chunks/WXEUE6MJ.cjs +0 -6
  292. package/cjs/__chunks/XTZIX6PF.cjs +0 -8
  293. package/esm/__chunks/3IMSX6M3.js +0 -8
  294. package/esm/__chunks/4H6IIOQF.js +0 -22
  295. package/esm/__chunks/5OF2JM6T.js +0 -16
  296. package/esm/__chunks/6FL2IFMJ.js +0 -16
  297. package/esm/__chunks/6N4GEF7O.js +0 -18
  298. package/esm/__chunks/6OHDLPN7.js +0 -8
  299. package/esm/__chunks/7FQAKYJR.js +0 -26
  300. package/esm/__chunks/AJMZU3YP.js +0 -28
  301. package/esm/__chunks/DZPSY7QT.js +0 -22
  302. package/esm/__chunks/H2GJECQG.js +0 -8
  303. package/esm/__chunks/JBAWBCWC.js +0 -8
  304. package/esm/__chunks/LI3X5M2M.js +0 -8
  305. package/esm/__chunks/NV5BVS3O.js +0 -8
  306. package/esm/__chunks/PGIWSRTG.js +0 -28
  307. package/esm/__chunks/PRYHFEBA.js +0 -10
  308. package/esm/__chunks/UTW5KHW6.js +0 -16
  309. package/esm/__chunks/VGHCPDMA.js +0 -8
  310. package/esm/__chunks/VHD2YK6B.js +0 -18
  311. package/esm/__chunks/WA3BE3AY.js +0 -10
  312. package/esm/__chunks/XHSNLTYJ.js +0 -10
  313. package/esm/__chunks/XIMRDTWX.js +0 -14
  314. package/esm/__chunks/YQF2RGHD.js +0 -44
  315. package/esm/__chunks/ZDPYYVJP.js +0 -40
  316. package/esm/__chunks/ZFJPKQV6.js +0 -52
  317. package/esm/__chunks/ZL4AJIDL.js +0 -10
  318. package/esm/__chunks/ZQSDMYJA.js +0 -16
  319. package/esm/__chunks/ZVIXWGHS.js +0 -40
@@ -0,0 +1,1179 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+ var _FHQ5DVYQcjs = require('./FHQ5DVYQ.cjs');
11
+
12
+
13
+ var _XH4GE3VEcjs = require('./XH4GE3VE.cjs');
14
+
15
+
16
+
17
+
18
+ var _TSBEWPNTcjs = require('./TSBEWPNT.cjs');
19
+
20
+
21
+ var _3FIXGHZ2cjs = require('./3FIXGHZ2.cjs');
22
+
23
+
24
+ var _GUY4MKX2cjs = require('./GUY4MKX2.cjs');
25
+
26
+
27
+
28
+
29
+ var _MN5TONXWcjs = require('./MN5TONXW.cjs');
30
+
31
+
32
+ var _TLUFYZC7cjs = require('./TLUFYZC7.cjs');
33
+
34
+
35
+
36
+
37
+
38
+ var _NMUCJYMRcjs = require('./NMUCJYMR.cjs');
39
+
40
+
41
+ var _SQ72MZ63cjs = require('./SQ72MZ63.cjs');
42
+
43
+
44
+
45
+ var _L2IFVMDUcjs = require('./L2IFVMDU.cjs');
46
+
47
+
48
+ var _FVIS5BFZcjs = require('./FVIS5BFZ.cjs');
49
+
50
+
51
+ var _PDPE2VAZcjs = require('./PDPE2VAZ.cjs');
52
+
53
+
54
+ var _7M4GY5DScjs = require('./7M4GY5DS.cjs');
55
+
56
+
57
+ var _LMCBLO3Gcjs = require('./LMCBLO3G.cjs');
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+ var _D4HCGWOUcjs = require('./D4HCGWOU.cjs');
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+ var _QAUJZR6Ycjs = require('./QAUJZR6Y.cjs');
109
+
110
+ // ../ariakit-react-components/dist/combobox/combobox.js
111
+ var _react = require('react');
112
+ var TagName = "input";
113
+ function isFirstItemAutoSelected(items, activeValue, autoSelect) {
114
+ var _a;
115
+ if (!autoSelect) return false;
116
+ return ((_a = items.find((item) => !item.disabled && item.value)) == null ? void 0 : _a.value) === activeValue;
117
+ }
118
+ function hasCompletionString(value, activeValue) {
119
+ if (!activeValue) return false;
120
+ if (value == null) return false;
121
+ value = _QAUJZR6Ycjs.normalizeString.call(void 0, value);
122
+ return activeValue.length > value.length && activeValue.toLowerCase().indexOf(value.toLowerCase()) === 0;
123
+ }
124
+ function isInputEvent(event) {
125
+ return event.type === "input";
126
+ }
127
+ function isAriaAutoCompleteValue(value) {
128
+ return value === "inline" || value === "list" || value === "both" || value === "none";
129
+ }
130
+ function getDefaultAutoSelectId(items) {
131
+ var _a;
132
+ return (_a = items.find((item) => {
133
+ var _a2;
134
+ if (item.disabled) return false;
135
+ return ((_a2 = item.element) == null ? void 0 : _a2.getAttribute("role")) !== "tab";
136
+ })) == null ? void 0 : _a.id;
137
+ }
138
+ var useCombobox = _QAUJZR6Ycjs.createHook.call(void 0, function useCombobox2({ store, focusable = true, autoSelect: autoSelectProp = false, getAutoSelectId, setValueOnChange, showMinLength = 0, showOnChange, showOnMouseDown, showOnClick = showOnMouseDown, showOnKeyDown, showOnKeyPress = showOnKeyDown, blurActiveItemOnClick, setValueOnClick = true, moveOnKeyPress = true, autoComplete = "list", ...props }) {
139
+ const context = _FHQ5DVYQcjs.useComboboxProviderContext.call(void 0, );
140
+ store = store || context;
141
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "Combobox must receive a `store` prop or be wrapped in a ComboboxProvider component.");
142
+ const ref = _react.useRef.call(void 0, null);
143
+ const [valueUpdated, forceValueUpdate] = _QAUJZR6Ycjs.useForceUpdate.call(void 0, );
144
+ const canAutoSelectRef = _react.useRef.call(void 0, false);
145
+ const composingRef = _react.useRef.call(void 0, false);
146
+ const autoSelect = _D4HCGWOUcjs.useStoreState.call(void 0, store, (state) => state.virtualFocus && autoSelectProp);
147
+ const inline = autoComplete === "inline" || autoComplete === "both";
148
+ const [canInline, setCanInline] = _react.useState.call(void 0, inline);
149
+ _QAUJZR6Ycjs.useUpdateLayoutEffect.call(void 0, () => {
150
+ if (!inline) return;
151
+ setCanInline(true);
152
+ }, [inline]);
153
+ const storeValue = _D4HCGWOUcjs.useStoreState.call(void 0, store, "value");
154
+ const prevSelectedValueRef = _react.useRef.call(void 0, void 0);
155
+ _react.useEffect.call(void 0, () => {
156
+ return _D4HCGWOUcjs.sync.call(void 0, store, ["selectedValue", "activeId"], (_, prev) => {
157
+ prevSelectedValueRef.current = prev.selectedValue;
158
+ });
159
+ }, [store]);
160
+ const inlineActiveValue = _D4HCGWOUcjs.useStoreState.call(void 0, store, (state) => {
161
+ var _a;
162
+ if (!inline) return;
163
+ if (!canInline) return;
164
+ if (state.activeValue && Array.isArray(state.selectedValue)) {
165
+ if (state.selectedValue.includes(state.activeValue)) return;
166
+ if ((_a = prevSelectedValueRef.current) == null ? void 0 : _a.includes(state.activeValue)) return;
167
+ }
168
+ return state.activeValue;
169
+ });
170
+ const items = _D4HCGWOUcjs.useStoreState.call(void 0, store, "renderedItems");
171
+ const open = _D4HCGWOUcjs.useStoreState.call(void 0, store, "open");
172
+ const contentElement = _D4HCGWOUcjs.useStoreState.call(void 0, store, "contentElement");
173
+ const value = _react.useMemo.call(void 0, () => {
174
+ if (!inline) return storeValue;
175
+ if (!canInline) return storeValue;
176
+ if (isFirstItemAutoSelected(items, inlineActiveValue, autoSelect)) {
177
+ if (hasCompletionString(storeValue, inlineActiveValue)) return storeValue + ((inlineActiveValue == null ? void 0 : inlineActiveValue.slice(storeValue.length)) || "");
178
+ return storeValue;
179
+ }
180
+ return inlineActiveValue || storeValue;
181
+ }, [
182
+ inline,
183
+ canInline,
184
+ items,
185
+ inlineActiveValue,
186
+ autoSelect,
187
+ storeValue
188
+ ]);
189
+ _react.useEffect.call(void 0, () => {
190
+ const element = ref.current;
191
+ if (!element) return;
192
+ const onCompositeItemMove = () => setCanInline(true);
193
+ element.addEventListener("combobox-item-move", onCompositeItemMove);
194
+ return () => {
195
+ element.removeEventListener("combobox-item-move", onCompositeItemMove);
196
+ };
197
+ }, []);
198
+ _react.useEffect.call(void 0, () => {
199
+ if (!inline) return;
200
+ if (!canInline) return;
201
+ if (!inlineActiveValue) return;
202
+ if (!isFirstItemAutoSelected(items, inlineActiveValue, autoSelect)) return;
203
+ if (!hasCompletionString(storeValue, inlineActiveValue)) return;
204
+ let cleanup = _QAUJZR6Ycjs.noop;
205
+ queueMicrotask(() => {
206
+ const element = ref.current;
207
+ if (!element) return;
208
+ const { start: prevStart, end: prevEnd } = _QAUJZR6Ycjs.getTextboxSelection.call(void 0, element);
209
+ const nextStart = storeValue.length;
210
+ const nextEnd = inlineActiveValue.length;
211
+ _QAUJZR6Ycjs.setSelectionRange.call(void 0, element, nextStart, nextEnd);
212
+ cleanup = () => {
213
+ if (!_QAUJZR6Ycjs.hasFocus.call(void 0, element)) return;
214
+ const { start, end } = _QAUJZR6Ycjs.getTextboxSelection.call(void 0, element);
215
+ if (start !== nextStart) return;
216
+ if (end !== nextEnd) return;
217
+ _QAUJZR6Ycjs.setSelectionRange.call(void 0, element, prevStart, prevEnd);
218
+ };
219
+ });
220
+ return () => cleanup();
221
+ }, [
222
+ valueUpdated,
223
+ inline,
224
+ canInline,
225
+ inlineActiveValue,
226
+ items,
227
+ autoSelect,
228
+ storeValue
229
+ ]);
230
+ const scrollingElementRef = _react.useRef.call(void 0, null);
231
+ const getAutoSelectIdProp = _QAUJZR6Ycjs.useEvent.call(void 0, getAutoSelectId);
232
+ const autoSelectIdRef = _react.useRef.call(void 0, null);
233
+ const userScrolledRef = _react.useRef.call(void 0, false);
234
+ const isAutoScrollingRef = _react.useRef.call(void 0, false);
235
+ _react.useEffect.call(void 0, () => {
236
+ if (!open) return;
237
+ if (!contentElement) return;
238
+ const scrollingElement = _QAUJZR6Ycjs.getScrollingElement.call(void 0, contentElement);
239
+ if (!scrollingElement) return;
240
+ scrollingElementRef.current = scrollingElement;
241
+ const onUserScroll = () => {
242
+ canAutoSelectRef.current = false;
243
+ userScrolledRef.current = true;
244
+ };
245
+ const onScroll = () => {
246
+ if (!isAutoScrollingRef.current) userScrolledRef.current = true;
247
+ if (!store) return;
248
+ if (!canAutoSelectRef.current) return;
249
+ const { activeId } = store.getState();
250
+ if (activeId === null) return;
251
+ if (activeId === autoSelectIdRef.current) return;
252
+ canAutoSelectRef.current = false;
253
+ };
254
+ const options = {
255
+ passive: true,
256
+ capture: true
257
+ };
258
+ scrollingElement.addEventListener("wheel", onUserScroll, options);
259
+ scrollingElement.addEventListener("touchmove", onUserScroll, options);
260
+ scrollingElement.addEventListener("scroll", onScroll, options);
261
+ return () => {
262
+ scrollingElement.removeEventListener("wheel", onUserScroll, true);
263
+ scrollingElement.removeEventListener("touchmove", onUserScroll, true);
264
+ scrollingElement.removeEventListener("scroll", onScroll, true);
265
+ };
266
+ }, [
267
+ open,
268
+ contentElement,
269
+ store
270
+ ]);
271
+ _QAUJZR6Ycjs.useSafeLayoutEffect.call(void 0, () => {
272
+ userScrolledRef.current = false;
273
+ if (!storeValue) return;
274
+ if (composingRef.current) return;
275
+ canAutoSelectRef.current = true;
276
+ }, [storeValue]);
277
+ _QAUJZR6Ycjs.useSafeLayoutEffect.call(void 0, () => {
278
+ if (autoSelect !== "always" && open) return;
279
+ canAutoSelectRef.current = open;
280
+ }, [autoSelect, open]);
281
+ const resetValueOnSelect = _D4HCGWOUcjs.useStoreState.call(void 0, store, "resetValueOnSelect");
282
+ _QAUJZR6Ycjs.useUpdateEffect.call(void 0, () => {
283
+ var _a, _b;
284
+ const canAutoSelect = canAutoSelectRef.current;
285
+ if (!store) return;
286
+ if (!open) return;
287
+ if (!canAutoSelect && (!resetValueOnSelect || userScrolledRef.current)) return;
288
+ const { baseElement, contentElement: contentElement2, activeId } = store.getState();
289
+ if (baseElement && !_QAUJZR6Ycjs.hasFocus.call(void 0, baseElement)) return;
290
+ if (contentElement2 == null ? void 0 : contentElement2.hasAttribute("data-placing")) {
291
+ const observer = new MutationObserver(forceValueUpdate);
292
+ observer.observe(contentElement2, { attributeFilter: ["data-placing"] });
293
+ return () => observer.disconnect();
294
+ }
295
+ if (autoSelect && canAutoSelect) {
296
+ const userAutoSelectId = getAutoSelectIdProp(items);
297
+ const autoSelectId = userAutoSelectId !== void 0 ? userAutoSelectId : (_a = getDefaultAutoSelectId(items)) != null ? _a : store.first();
298
+ autoSelectIdRef.current = autoSelectId;
299
+ store.move(autoSelectId != null ? autoSelectId : null);
300
+ } else {
301
+ const element = (_b = store.item(activeId || store.first())) == null ? void 0 : _b.element;
302
+ if (element && "scrollIntoView" in element) {
303
+ isAutoScrollingRef.current = true;
304
+ element.scrollIntoView({
305
+ block: "nearest",
306
+ inline: "nearest"
307
+ });
308
+ requestAnimationFrame(() => {
309
+ isAutoScrollingRef.current = false;
310
+ });
311
+ }
312
+ }
313
+ }, [
314
+ store,
315
+ open,
316
+ valueUpdated,
317
+ storeValue,
318
+ autoSelect,
319
+ resetValueOnSelect,
320
+ getAutoSelectIdProp,
321
+ items
322
+ ]);
323
+ _react.useEffect.call(void 0, () => {
324
+ if (!inline) return;
325
+ const combobox = ref.current;
326
+ if (!combobox) return;
327
+ const elements = [combobox, contentElement].filter((value2) => !!value2);
328
+ const onBlur2 = (event) => {
329
+ if (elements.every((el) => _QAUJZR6Ycjs.isFocusEventOutside.call(void 0, event, el))) store == null ? void 0 : store.setValue(value);
330
+ };
331
+ for (const element of elements) element.addEventListener("focusout", onBlur2);
332
+ return () => {
333
+ for (const element of elements) element.removeEventListener("focusout", onBlur2);
334
+ };
335
+ }, [
336
+ inline,
337
+ contentElement,
338
+ store,
339
+ value
340
+ ]);
341
+ const canShow = (event) => {
342
+ return event.currentTarget.value.length >= showMinLength;
343
+ };
344
+ const onChangeProp = props.onChange;
345
+ const showOnChangeProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, showOnChange != null ? showOnChange : canShow);
346
+ const setValueOnChangeProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, setValueOnChange != null ? setValueOnChange : !store.tag);
347
+ const onChange = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
348
+ onChangeProp == null ? void 0 : onChangeProp(event);
349
+ if (event.defaultPrevented) return;
350
+ if (!store) return;
351
+ const currentTarget = event.currentTarget;
352
+ const { value: value2, selectionStart, selectionEnd } = currentTarget;
353
+ const nativeEvent = event.nativeEvent;
354
+ canAutoSelectRef.current = true;
355
+ if (isInputEvent(nativeEvent)) {
356
+ if (nativeEvent.isComposing) {
357
+ canAutoSelectRef.current = false;
358
+ composingRef.current = true;
359
+ }
360
+ if (inline) {
361
+ const textInserted = nativeEvent.inputType === "insertText" || nativeEvent.inputType === "insertCompositionText";
362
+ const caretAtEnd = selectionStart === value2.length;
363
+ setCanInline(textInserted && caretAtEnd);
364
+ }
365
+ }
366
+ if (setValueOnChangeProp(event)) {
367
+ const isSameValue = value2 === store.getState().value;
368
+ store.setValue(value2);
369
+ queueMicrotask(() => {
370
+ _QAUJZR6Ycjs.setSelectionRange.call(void 0, currentTarget, selectionStart, selectionEnd);
371
+ });
372
+ if (inline && autoSelect && isSameValue) forceValueUpdate();
373
+ }
374
+ if (showOnChangeProp(event)) store.show();
375
+ if (!autoSelect || !canAutoSelectRef.current) store.setActiveId(null);
376
+ });
377
+ const onCompositionEndProp = props.onCompositionEnd;
378
+ const onCompositionEnd = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
379
+ canAutoSelectRef.current = true;
380
+ composingRef.current = false;
381
+ onCompositionEndProp == null ? void 0 : onCompositionEndProp(event);
382
+ if (event.defaultPrevented) return;
383
+ if (!autoSelect) return;
384
+ forceValueUpdate();
385
+ });
386
+ const onMouseDownProp = props.onMouseDown;
387
+ const blurActiveItemOnClickProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, blurActiveItemOnClick != null ? blurActiveItemOnClick : (() => store.getState().includesBaseElement));
388
+ const setValueOnClickProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, setValueOnClick);
389
+ const showOnClickProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, showOnClick != null ? showOnClick : canShow);
390
+ const onMouseDown = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
391
+ onMouseDownProp == null ? void 0 : onMouseDownProp(event);
392
+ if (event.defaultPrevented) return;
393
+ if (event.button) return;
394
+ if (event.ctrlKey) return;
395
+ if (!store) return;
396
+ if (blurActiveItemOnClickProp(event)) store.setActiveId(null);
397
+ if (setValueOnClickProp(event)) store.setValue(value);
398
+ if (showOnClickProp(event)) _QAUJZR6Ycjs.queueBeforeEvent.call(void 0, event.currentTarget, "mouseup", store.show);
399
+ });
400
+ const onKeyDownProp = props.onKeyDown;
401
+ const showOnKeyPressProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, showOnKeyPress != null ? showOnKeyPress : canShow);
402
+ const onKeyDown = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
403
+ onKeyDownProp == null ? void 0 : onKeyDownProp(event);
404
+ if (!event.repeat) canAutoSelectRef.current = false;
405
+ if (event.defaultPrevented) return;
406
+ if (!store) return;
407
+ const { open: open2 } = store.getState();
408
+ if (open2 && event.key === "Enter") {
409
+ event.preventDefault();
410
+ return;
411
+ }
412
+ if (event.ctrlKey) return;
413
+ if (event.altKey) return;
414
+ if (event.shiftKey) return;
415
+ if (event.metaKey) return;
416
+ if (open2) return;
417
+ if (event.key === "ArrowUp" || event.key === "ArrowDown") {
418
+ if (showOnKeyPressProp(event)) {
419
+ event.preventDefault();
420
+ store.show();
421
+ }
422
+ }
423
+ });
424
+ const onBlurProp = props.onBlur;
425
+ const onBlur = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
426
+ canAutoSelectRef.current = false;
427
+ onBlurProp == null ? void 0 : onBlurProp(event);
428
+ if (event.defaultPrevented) return;
429
+ });
430
+ const id = _QAUJZR6Ycjs.useId.call(void 0, props.id);
431
+ const ariaAutoComplete = isAriaAutoCompleteValue(autoComplete) ? autoComplete : void 0;
432
+ const isActiveItem = _D4HCGWOUcjs.useStoreState.call(void 0, store, (state) => state.activeId === null);
433
+ props = {
434
+ role: "combobox",
435
+ "aria-autocomplete": ariaAutoComplete,
436
+ "aria-haspopup": _QAUJZR6Ycjs.getPopupRole.call(void 0, contentElement, "listbox"),
437
+ "aria-expanded": open,
438
+ "aria-controls": contentElement == null ? void 0 : contentElement.id,
439
+ "data-active-item": isActiveItem || void 0,
440
+ value,
441
+ ...props,
442
+ id,
443
+ ref: _QAUJZR6Ycjs.useMergeRefs.call(void 0, ref, props.ref),
444
+ onChange,
445
+ onCompositionEnd,
446
+ onMouseDown,
447
+ onKeyDown,
448
+ onBlur
449
+ };
450
+ props = _NMUCJYMRcjs.useComposite.call(void 0, {
451
+ store,
452
+ focusable,
453
+ ...props,
454
+ moveOnKeyPress: (event) => {
455
+ if (_QAUJZR6Ycjs.isFalsyBooleanCallback.call(void 0, moveOnKeyPress, event)) return false;
456
+ if (inline) setCanInline(true);
457
+ return true;
458
+ }
459
+ });
460
+ props = _XH4GE3VEcjs.usePopoverAnchor.call(void 0, {
461
+ store,
462
+ ...props
463
+ });
464
+ return {
465
+ autoComplete: "off",
466
+ ...props
467
+ };
468
+ });
469
+ var Combobox = _QAUJZR6Ycjs.forwardRef.call(void 0, function Combobox2(props) {
470
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName, useCombobox(props));
471
+ });
472
+
473
+ // ../ariakit-react-components/dist/combobox/combobox-cancel.js
474
+
475
+ var _jsxruntime = require('react/jsx-runtime');
476
+ var TagName2 = "button";
477
+ var children = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "svg", {
478
+ "aria-hidden": "true",
479
+ display: "block",
480
+ viewBox: "0 0 16 16",
481
+ fill: "none",
482
+ stroke: "currentColor",
483
+ strokeLinecap: "round",
484
+ strokeLinejoin: "round",
485
+ strokeWidth: 1.5,
486
+ width: "1em",
487
+ height: "1em",
488
+ pointerEvents: "none",
489
+ children: [/* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", {
490
+ x1: "5",
491
+ y1: "5",
492
+ x2: "11",
493
+ y2: "11"
494
+ }), /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "line", {
495
+ x1: "5",
496
+ y1: "11",
497
+ x2: "11",
498
+ y2: "5"
499
+ })]
500
+ });
501
+ var useComboboxCancel = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxCancel2({ store, hideWhenEmpty, ...props }) {
502
+ const context = _FHQ5DVYQcjs.useComboboxProviderContext.call(void 0, );
503
+ store = store || context;
504
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxCancel must receive a `store` prop or be wrapped in a ComboboxProvider component.");
505
+ const onClickProp = props.onClick;
506
+ const onClick = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
507
+ onClickProp == null ? void 0 : onClickProp(event);
508
+ if (event.defaultPrevented) return;
509
+ store == null ? void 0 : store.setValue("");
510
+ store == null ? void 0 : store.move(null);
511
+ });
512
+ const comboboxId = _D4HCGWOUcjs.useStoreState.call(void 0, store, (state) => {
513
+ var _a;
514
+ return (_a = state.baseElement) == null ? void 0 : _a.id;
515
+ });
516
+ const empty = _D4HCGWOUcjs.useStoreState.call(void 0, store, (state) => state.value === "");
517
+ props = _QAUJZR6Ycjs.useWrapElement.call(void 0, props, (element) => {
518
+ if (!hideWhenEmpty) return element;
519
+ if (empty) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react.Fragment, {});
520
+ return element;
521
+ }, [hideWhenEmpty, empty]);
522
+ props = {
523
+ children,
524
+ "aria-label": "Clear input",
525
+ "aria-controls": comboboxId,
526
+ ...props,
527
+ onClick
528
+ };
529
+ props = _LMCBLO3Gcjs.useButton.call(void 0, props);
530
+ return props;
531
+ });
532
+ var ComboboxCancel = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxCancel2(props) {
533
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName2, useComboboxCancel(props));
534
+ });
535
+
536
+ // ../ariakit-react-components/dist/combobox/combobox-disclosure.js
537
+
538
+ var TagName3 = "button";
539
+ var children2 = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "svg", {
540
+ "aria-hidden": "true",
541
+ display: "block",
542
+ fill: "none",
543
+ stroke: "currentColor",
544
+ strokeLinecap: "round",
545
+ strokeLinejoin: "round",
546
+ strokeWidth: 1.5,
547
+ viewBox: "0 0 16 16",
548
+ height: "1em",
549
+ width: "1em",
550
+ pointerEvents: "none",
551
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "polyline", { points: "4,6 8,10 12,6" })
552
+ });
553
+ var useComboboxDisclosure = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxDisclosure2({ store, ...props }) {
554
+ const context = _FHQ5DVYQcjs.useComboboxProviderContext.call(void 0, );
555
+ store = store || context;
556
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxDisclosure must receive a `store` prop or be wrapped in a ComboboxProvider component.");
557
+ const onMouseDownProp = props.onMouseDown;
558
+ const onMouseDown = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
559
+ onMouseDownProp == null ? void 0 : onMouseDownProp(event);
560
+ event.preventDefault();
561
+ store == null ? void 0 : store.move(null);
562
+ });
563
+ const onClickProp = props.onClick;
564
+ const onClick = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
565
+ onClickProp == null ? void 0 : onClickProp(event);
566
+ if (event.defaultPrevented) return;
567
+ if (!store) return;
568
+ const { baseElement: baseElement2 } = store.getState();
569
+ store.setDisclosureElement(baseElement2);
570
+ });
571
+ const baseElement = _D4HCGWOUcjs.useStoreState.call(void 0, store, "baseElement");
572
+ const open = _D4HCGWOUcjs.useStoreState.call(void 0, store, "open");
573
+ _QAUJZR6Ycjs.useSafeLayoutEffect.call(void 0, () => {
574
+ if (!baseElement) return;
575
+ store.setDisclosureElement(baseElement);
576
+ }, [store, baseElement]);
577
+ props = {
578
+ children: children2,
579
+ tabIndex: -1,
580
+ "aria-label": open ? "Hide popup" : "Show popup",
581
+ "aria-expanded": open,
582
+ ...props,
583
+ onMouseDown,
584
+ onClick
585
+ };
586
+ props = _FVIS5BFZcjs.useDialogDisclosure.call(void 0, {
587
+ store,
588
+ ...props
589
+ });
590
+ return props;
591
+ });
592
+ var ComboboxDisclosure = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxDisclosure2(props) {
593
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName3, useComboboxDisclosure(props));
594
+ });
595
+
596
+ // ../ariakit-react-components/dist/combobox/combobox-group.js
597
+ var TagName4 = "div";
598
+ var useComboboxGroup = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxGroup2({ store, ...props }) {
599
+ const context = _FHQ5DVYQcjs.useComboboxScopedContext.call(void 0, );
600
+ store = store || context;
601
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxRow must be wrapped in a ComboboxList or ComboboxPopover component");
602
+ if (_QAUJZR6Ycjs.getPopupRole.call(void 0, _D4HCGWOUcjs.useStoreState.call(void 0, store, "contentElement")) === "grid") props = {
603
+ role: "rowgroup",
604
+ ...props
605
+ };
606
+ props = _MN5TONXWcjs.useCompositeGroup.call(void 0, {
607
+ store,
608
+ ...props
609
+ });
610
+ return props;
611
+ });
612
+ var ComboboxGroup = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxGroup2(props) {
613
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName4, useComboboxGroup(props));
614
+ });
615
+
616
+ // ../ariakit-react-components/dist/combobox/combobox-group-label.js
617
+ var TagName5 = "div";
618
+ var useComboboxGroupLabel = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxGroupLabel2(props) {
619
+ props = _MN5TONXWcjs.useCompositeGroupLabel.call(void 0, props);
620
+ return props;
621
+ });
622
+ var ComboboxGroupLabel = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxGroupLabel2(props) {
623
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName5, useComboboxGroupLabel(props));
624
+ });
625
+
626
+ // ../ariakit-react-components/dist/combobox/combobox-item.js
627
+
628
+
629
+ var TagName6 = "div";
630
+ function isSelected(storeValue, itemValue) {
631
+ if (itemValue == null) return;
632
+ if (storeValue == null) return false;
633
+ if (Array.isArray(storeValue)) return storeValue.includes(itemValue);
634
+ return storeValue === itemValue;
635
+ }
636
+ function getItemRole(popupRole) {
637
+ var _a;
638
+ return (_a = {
639
+ menu: "menuitem",
640
+ listbox: "option",
641
+ tree: "treeitem"
642
+ }[popupRole]) != null ? _a : "option";
643
+ }
644
+ var useComboboxItem = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxItem2({ store, value, hideOnClick, setValueOnClick, selectValueOnClick = true, resetValueOnSelect, focusOnHover = false, moveOnKeyPress = true, getItem: getItemProp, ...props }) {
645
+ var _a;
646
+ const context = _FHQ5DVYQcjs.useComboboxScopedContext.call(void 0, );
647
+ store = store || context;
648
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.");
649
+ const { resetValueOnSelectState, multiSelectable, selected } = _D4HCGWOUcjs.useStoreStateObject.call(void 0, store, {
650
+ resetValueOnSelectState: "resetValueOnSelect",
651
+ multiSelectable(state) {
652
+ return Array.isArray(state.selectedValue);
653
+ },
654
+ selected(state) {
655
+ return isSelected(state.selectedValue, value);
656
+ }
657
+ });
658
+ const getItem = _react.useCallback.call(void 0, (item) => {
659
+ const nextItem = {
660
+ ...item,
661
+ value
662
+ };
663
+ if (getItemProp) return getItemProp(nextItem);
664
+ return nextItem;
665
+ }, [value, getItemProp]);
666
+ setValueOnClick = setValueOnClick != null ? setValueOnClick : !multiSelectable;
667
+ hideOnClick = hideOnClick != null ? hideOnClick : value != null && !multiSelectable;
668
+ const onClickProp = props.onClick;
669
+ const setValueOnClickProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, setValueOnClick);
670
+ const selectValueOnClickProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, selectValueOnClick);
671
+ const resetValueOnSelectProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, (_a = resetValueOnSelect != null ? resetValueOnSelect : resetValueOnSelectState) != null ? _a : multiSelectable);
672
+ const hideOnClickProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, hideOnClick);
673
+ const onClick = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
674
+ onClickProp == null ? void 0 : onClickProp(event);
675
+ if (event.defaultPrevented) return;
676
+ if (_QAUJZR6Ycjs.isDownloading.call(void 0, event)) return;
677
+ if (_QAUJZR6Ycjs.isOpeningInNewTab.call(void 0, event)) return;
678
+ if (value != null) {
679
+ if (selectValueOnClickProp(event)) {
680
+ if (resetValueOnSelectProp(event)) store == null ? void 0 : store.resetValue();
681
+ store == null ? void 0 : store.setSelectedValue((prevValue) => {
682
+ if (!Array.isArray(prevValue)) return value;
683
+ if (prevValue.includes(value)) return prevValue.filter((v) => v !== value);
684
+ return [...prevValue, value];
685
+ });
686
+ }
687
+ if (setValueOnClickProp(event)) store == null ? void 0 : store.setValue(value);
688
+ }
689
+ if (hideOnClickProp(event)) store == null ? void 0 : store.hide();
690
+ });
691
+ const onKeyDownProp = props.onKeyDown;
692
+ const onKeyDown = _QAUJZR6Ycjs.useEvent.call(void 0, (event) => {
693
+ onKeyDownProp == null ? void 0 : onKeyDownProp(event);
694
+ if (event.defaultPrevented) return;
695
+ const baseElement = store == null ? void 0 : store.getState().baseElement;
696
+ if (!baseElement) return;
697
+ if (_QAUJZR6Ycjs.hasFocus.call(void 0, baseElement)) return;
698
+ if (event.key.length === 1 || event.key === "Backspace" || event.key === "Delete") {
699
+ queueMicrotask(() => baseElement.focus());
700
+ if (_QAUJZR6Ycjs.isTextField.call(void 0, baseElement)) store == null ? void 0 : store.setValue(baseElement.value);
701
+ }
702
+ });
703
+ if (multiSelectable && selected != null) props = {
704
+ "aria-selected": selected,
705
+ ...props
706
+ };
707
+ props = _QAUJZR6Ycjs.useWrapElement.call(void 0, props, (element) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FHQ5DVYQcjs.ComboboxItemValueContext.Provider, {
708
+ value,
709
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FHQ5DVYQcjs.ComboboxItemCheckedContext.Provider, {
710
+ value: selected != null ? selected : false,
711
+ children: element
712
+ })
713
+ }), [value, selected]);
714
+ props = {
715
+ role: getItemRole(_react.useContext.call(void 0, _FHQ5DVYQcjs.ComboboxListRoleContext)),
716
+ children: value,
717
+ ...props,
718
+ onClick,
719
+ onKeyDown
720
+ };
721
+ const moveOnKeyPressProp = _QAUJZR6Ycjs.useBooleanEvent.call(void 0, moveOnKeyPress);
722
+ props = _SQ72MZ63cjs.useCompositeItem.call(void 0, {
723
+ store,
724
+ ...props,
725
+ getItem,
726
+ moveOnKeyPress: (event) => {
727
+ var _a2;
728
+ if (!moveOnKeyPressProp(event)) return false;
729
+ const moveEvent = new Event("combobox-item-move");
730
+ (_a2 = store == null ? void 0 : store.getState().baseElement) == null ? void 0 : _a2.dispatchEvent(moveEvent);
731
+ return true;
732
+ }
733
+ });
734
+ props = _MN5TONXWcjs.useCompositeHover.call(void 0, {
735
+ store,
736
+ focusOnHover,
737
+ ...props
738
+ });
739
+ return props;
740
+ });
741
+ var ComboboxItem = _QAUJZR6Ycjs.memo.call(void 0, _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxItem2(props) {
742
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName6, useComboboxItem(props));
743
+ }));
744
+
745
+ // ../ariakit-react-components/dist/combobox/combobox-item-check.js
746
+
747
+ var TagName7 = "span";
748
+ var useComboboxItemCheck = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxItemCheck2({ store, checked, ...props }) {
749
+ const context = _react.useContext.call(void 0, _FHQ5DVYQcjs.ComboboxItemCheckedContext);
750
+ checked = checked != null ? checked : context;
751
+ props = _3FIXGHZ2cjs.useCheckboxCheck.call(void 0, {
752
+ ...props,
753
+ checked
754
+ });
755
+ return props;
756
+ });
757
+ var ComboboxItemCheck = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxItemCheck2(props) {
758
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName7, useComboboxItemCheck(props));
759
+ });
760
+
761
+ // ../ariakit-react-components/dist/combobox/combobox-item-value.js
762
+
763
+
764
+ var TagName8 = "span";
765
+ function normalizeValue(value) {
766
+ return _QAUJZR6Ycjs.normalizeString.call(void 0, value).toLowerCase();
767
+ }
768
+ function getOffsets(string, values) {
769
+ const offsets = [];
770
+ for (const value of values) {
771
+ let pos = 0;
772
+ const length = value.length;
773
+ while (string.indexOf(value, pos) !== -1) {
774
+ const index = string.indexOf(value, pos);
775
+ if (index !== -1) offsets.push([index, length]);
776
+ pos = index + 1;
777
+ }
778
+ }
779
+ return offsets;
780
+ }
781
+ function filterOverlappingOffsets(offsets) {
782
+ return offsets.filter(([offset, length], i, arr) => {
783
+ return !arr.some(([o, l], j) => j !== i && o <= offset && o + l >= offset + length);
784
+ });
785
+ }
786
+ function sortOffsets(offsets) {
787
+ return offsets.sort(([a], [b]) => a - b);
788
+ }
789
+ function splitValue(itemValue, userValue) {
790
+ if (!itemValue) return itemValue;
791
+ if (!userValue) return itemValue;
792
+ const userValues = _QAUJZR6Ycjs.toArray.call(void 0, userValue).filter(Boolean).map(normalizeValue);
793
+ const parts = [];
794
+ const span = (value, autocomplete = false) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", {
795
+ "data-autocomplete-value": autocomplete ? "" : void 0,
796
+ "data-user-value": autocomplete ? void 0 : "",
797
+ children: value
798
+ }, parts.length);
799
+ const offsets = sortOffsets(filterOverlappingOffsets(getOffsets(normalizeValue(itemValue), new Set(userValues))));
800
+ const firstEntry = offsets[0];
801
+ if (!firstEntry) {
802
+ parts.push(span(itemValue, true));
803
+ return parts;
804
+ }
805
+ const [firstOffset] = firstEntry;
806
+ [itemValue.slice(0, firstOffset), ...offsets.flatMap(([offset, length], i) => {
807
+ var _a;
808
+ const value = itemValue.slice(offset, offset + length);
809
+ const nextOffset = (_a = offsets[i + 1]) == null ? void 0 : _a[0];
810
+ return [value, itemValue.slice(offset + length, nextOffset)];
811
+ })].forEach((value, i) => {
812
+ if (!value) return;
813
+ parts.push(span(value, i % 2 === 0));
814
+ });
815
+ return parts;
816
+ }
817
+ var useComboboxItemValue = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxItemValue2({ store, value, userValue, ...props }) {
818
+ const context = _FHQ5DVYQcjs.useComboboxScopedContext.call(void 0, );
819
+ store = store || context;
820
+ const itemContext = _react.useContext.call(void 0, _FHQ5DVYQcjs.ComboboxItemValueContext);
821
+ const itemValue = value != null ? value : itemContext;
822
+ const inputValue = _D4HCGWOUcjs.useStoreState.call(void 0, store, (state) => userValue != null ? userValue : state == null ? void 0 : state.value);
823
+ props = {
824
+ children: _react.useMemo.call(void 0, () => {
825
+ if (!itemValue) return;
826
+ if (!inputValue) return itemValue;
827
+ return splitValue(itemValue, inputValue);
828
+ }, [itemValue, inputValue]),
829
+ ...props
830
+ };
831
+ return _QAUJZR6Ycjs.removeUndefinedValues.call(void 0, props);
832
+ });
833
+ var ComboboxItemValue = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxItemValue2(props) {
834
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName8, useComboboxItemValue(props));
835
+ });
836
+
837
+ // ../ariakit-react-components/dist/combobox/combobox-label.js
838
+ var TagName9 = "label";
839
+ var useComboboxLabel = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxLabel2({ store, ...props }) {
840
+ const context = _FHQ5DVYQcjs.useComboboxProviderContext.call(void 0, );
841
+ store = store || context;
842
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.");
843
+ props = {
844
+ htmlFor: _D4HCGWOUcjs.useStoreState.call(void 0, store, (state) => {
845
+ var _a;
846
+ return (_a = state.baseElement) == null ? void 0 : _a.id;
847
+ }),
848
+ ...props
849
+ };
850
+ return _QAUJZR6Ycjs.removeUndefinedValues.call(void 0, props);
851
+ });
852
+ var ComboboxLabel = _QAUJZR6Ycjs.memo.call(void 0, _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxLabel2(props) {
853
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName9, useComboboxLabel(props));
854
+ }));
855
+
856
+ // ../ariakit-react-components/dist/combobox/combobox-list.js
857
+
858
+
859
+ var TagName10 = "div";
860
+ var useComboboxList = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxList2({ store, alwaysVisible, ...props }) {
861
+ const scopedContext = _FHQ5DVYQcjs.useComboboxScopedContext.call(void 0, true);
862
+ const context = _FHQ5DVYQcjs.useComboboxContext.call(void 0, );
863
+ store = store || context;
864
+ const scopedContextSameStore = !!store && store === scopedContext;
865
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.");
866
+ const ref = _react.useRef.call(void 0, null);
867
+ const id = _QAUJZR6Ycjs.useId.call(void 0, props.id);
868
+ const mounted = _D4HCGWOUcjs.useStoreState.call(void 0, store, "mounted");
869
+ const hidden = _7M4GY5DScjs.isHidden.call(void 0, mounted, props.hidden, alwaysVisible);
870
+ const style = hidden ? {
871
+ ...props.style,
872
+ display: "none"
873
+ } : props.style;
874
+ const multiSelectable = _D4HCGWOUcjs.useStoreState.call(void 0, store, (state) => Array.isArray(state.selectedValue));
875
+ const role = _QAUJZR6Ycjs.useAttribute.call(void 0, ref, "role", props.role);
876
+ const ariaMultiSelectable = role === "listbox" || role === "tree" || role === "grid" ? multiSelectable || void 0 : void 0;
877
+ const [hasListboxInside, setHasListboxInside] = _react.useState.call(void 0, false);
878
+ const contentElement = _D4HCGWOUcjs.useStoreState.call(void 0, store, "contentElement");
879
+ _QAUJZR6Ycjs.useSafeLayoutEffect.call(void 0, () => {
880
+ if (!mounted) return;
881
+ const element = ref.current;
882
+ if (!element) return;
883
+ if (contentElement !== element) return;
884
+ const callback = () => {
885
+ setHasListboxInside(!!element.querySelector("[role='listbox']"));
886
+ };
887
+ const observer = new MutationObserver(callback);
888
+ observer.observe(element, {
889
+ subtree: true,
890
+ childList: true,
891
+ attributeFilter: ["role"]
892
+ });
893
+ callback();
894
+ return () => observer.disconnect();
895
+ }, [mounted, contentElement]);
896
+ if (!hasListboxInside) props = {
897
+ role: "listbox",
898
+ "aria-multiselectable": ariaMultiSelectable,
899
+ ...props
900
+ };
901
+ props = _QAUJZR6Ycjs.useWrapElement.call(void 0, props, (element) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FHQ5DVYQcjs.ComboboxScopedContextProvider, {
902
+ value: store,
903
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FHQ5DVYQcjs.ComboboxListRoleContext.Provider, {
904
+ value: role,
905
+ children: element
906
+ })
907
+ }), [store, role]);
908
+ const setContentElement = id && (!scopedContext || !scopedContextSameStore) ? store.setContentElement : null;
909
+ props = {
910
+ hidden,
911
+ ...props,
912
+ id,
913
+ ref: _QAUJZR6Ycjs.useMergeRefs.call(void 0, setContentElement, ref, props.ref),
914
+ style
915
+ };
916
+ return _QAUJZR6Ycjs.removeUndefinedValues.call(void 0, props);
917
+ });
918
+ var ComboboxList = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxList2(props) {
919
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName10, useComboboxList(props));
920
+ });
921
+
922
+ // ../ariakit-react-components/dist/combobox/combobox-popover.js
923
+
924
+ var TagName11 = "div";
925
+ function isController(target, ...ids) {
926
+ if (!target) return false;
927
+ if ("id" in target) {
928
+ const selector = ids.filter(Boolean).map((id) => `[aria-controls~="${id}"]`).join(", ");
929
+ if (!selector) return false;
930
+ return target.matches(selector);
931
+ }
932
+ return false;
933
+ }
934
+ var useComboboxPopover = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxPopover2({ store, modal, tabIndex, alwaysVisible, autoFocusOnHide = true, hideOnInteractOutside = true, ...props }) {
935
+ const context = _FHQ5DVYQcjs.useComboboxProviderContext.call(void 0, );
936
+ store = store || context;
937
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxPopover must receive a `store` prop or be wrapped in a ComboboxProvider component.");
938
+ const baseElement = _D4HCGWOUcjs.useStoreState.call(void 0, store, "baseElement");
939
+ const hiddenByClickOutsideRef = _react.useRef.call(void 0, false);
940
+ const treeSnapshotKey = _D4HCGWOUcjs.useStoreState.call(void 0, store.tag, (state) => state == null ? void 0 : state.renderedItems.length);
941
+ props = useComboboxList({
942
+ store,
943
+ alwaysVisible,
944
+ ...props
945
+ });
946
+ props = _TSBEWPNTcjs.usePopover.call(void 0, {
947
+ store,
948
+ modal,
949
+ alwaysVisible,
950
+ backdrop: false,
951
+ autoFocusOnShow: false,
952
+ finalFocus: baseElement,
953
+ preserveTabOrderAnchor: null,
954
+ unstable_treeSnapshotKey: treeSnapshotKey,
955
+ ...props,
956
+ getPersistentElements() {
957
+ var _a;
958
+ const elements = ((_a = props.getPersistentElements) == null ? void 0 : _a.call(props)) || [];
959
+ if (!modal) return elements;
960
+ if (!store) return elements;
961
+ const { contentElement, baseElement: baseElement2 } = store.getState();
962
+ if (!baseElement2) return elements;
963
+ const doc = _QAUJZR6Ycjs.getDocument.call(void 0, baseElement2);
964
+ const selectors = [];
965
+ if (contentElement == null ? void 0 : contentElement.id) selectors.push(`[aria-controls~="${contentElement.id}"]`);
966
+ if (baseElement2 == null ? void 0 : baseElement2.id) selectors.push(`[aria-controls~="${baseElement2.id}"]`);
967
+ if (!selectors.length) return [...elements, baseElement2];
968
+ const selector = selectors.join(",");
969
+ const controlElements = doc.querySelectorAll(selector);
970
+ return [...elements, ...controlElements];
971
+ },
972
+ autoFocusOnHide(element) {
973
+ if (_QAUJZR6Ycjs.isFalsyBooleanCallback.call(void 0, autoFocusOnHide, element)) return false;
974
+ if (hiddenByClickOutsideRef.current) {
975
+ hiddenByClickOutsideRef.current = false;
976
+ return false;
977
+ }
978
+ return true;
979
+ },
980
+ hideOnInteractOutside(event) {
981
+ var _a, _b;
982
+ const state = store == null ? void 0 : store.getState();
983
+ const contentId = (_a = state == null ? void 0 : state.contentElement) == null ? void 0 : _a.id;
984
+ const baseId = (_b = state == null ? void 0 : state.baseElement) == null ? void 0 : _b.id;
985
+ if (isController(event.target, contentId, baseId)) return false;
986
+ const result = typeof hideOnInteractOutside === "function" ? hideOnInteractOutside(event) : hideOnInteractOutside;
987
+ if (result) hiddenByClickOutsideRef.current = event.type === "click";
988
+ return result;
989
+ }
990
+ });
991
+ return props;
992
+ });
993
+ var ComboboxPopover = _PDPE2VAZcjs.createDialogComponent.call(void 0, _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxPopover2(props) {
994
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName11, useComboboxPopover(props));
995
+ }), _FHQ5DVYQcjs.useComboboxProviderContext);
996
+
997
+ // ../ariakit-react-components/dist/tag/tag-context.js
998
+
999
+ var TagValueContext = _react.createContext.call(void 0, null);
1000
+ var TagRemoveIdContext = _react.createContext.call(void 0, null);
1001
+ var ctx = _QAUJZR6Ycjs.createStoreContext.call(void 0, [_L2IFVMDUcjs.CompositeContextProvider], [_L2IFVMDUcjs.CompositeScopedContextProvider]);
1002
+ var useTagContext = ctx.useContext;
1003
+ var useTagScopedContext = ctx.useScopedContext;
1004
+ var useTagProviderContext = ctx.useProviderContext;
1005
+ var TagContextProvider = ctx.ContextProvider;
1006
+ var TagScopedContextProvider = ctx.ScopedContextProvider;
1007
+
1008
+ // ../ariakit-components/dist/combobox/combobox-store.js
1009
+ var isTouchSafari = _QAUJZR6Ycjs.isSafari.call(void 0, ) && _QAUJZR6Ycjs.isTouchDevice.call(void 0, );
1010
+ function createComboboxStore({ tag, ...props } = {}) {
1011
+ const store = _D4HCGWOUcjs.mergeStore.call(void 0, props.store, _D4HCGWOUcjs.pick.call(void 0, tag, ["value", "rtl"]));
1012
+ _D4HCGWOUcjs.throwOnConflictingProps.call(void 0, props, store);
1013
+ const tagState = tag == null ? void 0 : tag.getState();
1014
+ const syncState = store == null ? void 0 : store.getState();
1015
+ const activeId = _QAUJZR6Ycjs.defaultValue.call(void 0, props.activeId, syncState == null ? void 0 : syncState.activeId, props.defaultActiveId, null);
1016
+ const composite = _NMUCJYMRcjs.createCompositeStore.call(void 0, {
1017
+ ...props,
1018
+ activeId,
1019
+ includesBaseElement: _QAUJZR6Ycjs.defaultValue.call(void 0, props.includesBaseElement, syncState == null ? void 0 : syncState.includesBaseElement, true),
1020
+ orientation: _QAUJZR6Ycjs.defaultValue.call(void 0, props.orientation, syncState == null ? void 0 : syncState.orientation, "vertical"),
1021
+ focusLoop: _QAUJZR6Ycjs.defaultValue.call(void 0, props.focusLoop, syncState == null ? void 0 : syncState.focusLoop, true),
1022
+ focusWrap: _QAUJZR6Ycjs.defaultValue.call(void 0, props.focusWrap, syncState == null ? void 0 : syncState.focusWrap, true),
1023
+ virtualFocus: _QAUJZR6Ycjs.defaultValue.call(void 0, props.virtualFocus, syncState == null ? void 0 : syncState.virtualFocus, true)
1024
+ });
1025
+ const popover = _TSBEWPNTcjs.createPopoverStore.call(void 0, {
1026
+ ...props,
1027
+ placement: _QAUJZR6Ycjs.defaultValue.call(void 0, props.placement, syncState == null ? void 0 : syncState.placement, "bottom-start")
1028
+ });
1029
+ const value = _QAUJZR6Ycjs.defaultValue.call(void 0, props.value, syncState == null ? void 0 : syncState.value, props.defaultValue, "");
1030
+ const selectedValue = _QAUJZR6Ycjs.defaultValue.call(void 0, props.selectedValue, syncState == null ? void 0 : syncState.selectedValue, tagState == null ? void 0 : tagState.values, props.defaultSelectedValue, "");
1031
+ const multiSelectable = Array.isArray(selectedValue);
1032
+ const initialState = {
1033
+ ...composite.getState(),
1034
+ ...popover.getState(),
1035
+ value,
1036
+ selectedValue,
1037
+ resetValueOnSelect: _QAUJZR6Ycjs.defaultValue.call(void 0, props.resetValueOnSelect, syncState == null ? void 0 : syncState.resetValueOnSelect, multiSelectable),
1038
+ resetValueOnHide: _QAUJZR6Ycjs.defaultValue.call(void 0, props.resetValueOnHide, syncState == null ? void 0 : syncState.resetValueOnHide, multiSelectable && !tag),
1039
+ activeValue: syncState == null ? void 0 : syncState.activeValue
1040
+ };
1041
+ const combobox = _D4HCGWOUcjs.createStore.call(void 0, initialState, composite, popover, store);
1042
+ if (isTouchSafari) _D4HCGWOUcjs.setup.call(void 0, combobox, () => _D4HCGWOUcjs.sync.call(void 0, combobox, ["virtualFocus"], () => {
1043
+ combobox.setState("virtualFocus", false);
1044
+ }));
1045
+ _D4HCGWOUcjs.setup.call(void 0, combobox, () => {
1046
+ if (!tag) return;
1047
+ return _QAUJZR6Ycjs.chain.call(void 0, _D4HCGWOUcjs.sync.call(void 0, combobox, ["selectedValue"], (state) => {
1048
+ if (!Array.isArray(state.selectedValue)) return;
1049
+ tag.setValues(state.selectedValue);
1050
+ }), _D4HCGWOUcjs.sync.call(void 0, tag, ["values"], (state) => {
1051
+ combobox.setState("selectedValue", state.values);
1052
+ }));
1053
+ });
1054
+ _D4HCGWOUcjs.setup.call(void 0, combobox, () => _D4HCGWOUcjs.sync.call(void 0, combobox, ["resetValueOnHide", "mounted"], (state) => {
1055
+ if (!state.resetValueOnHide) return;
1056
+ if (state.mounted) return;
1057
+ combobox.setState("value", value);
1058
+ }));
1059
+ _D4HCGWOUcjs.setup.call(void 0, combobox, () => _D4HCGWOUcjs.sync.call(void 0, combobox, ["open"], (state) => {
1060
+ if (state.open) return;
1061
+ combobox.setState("activeId", activeId);
1062
+ combobox.setState("moves", 0);
1063
+ }));
1064
+ _D4HCGWOUcjs.setup.call(void 0, combobox, () => _D4HCGWOUcjs.sync.call(void 0, combobox, ["moves", "activeId"], (state, prevState) => {
1065
+ if (state.moves === prevState.moves) combobox.setState("activeValue", void 0);
1066
+ }));
1067
+ _D4HCGWOUcjs.setup.call(void 0, combobox, () => _D4HCGWOUcjs.batch.call(void 0, combobox, ["moves", "renderedItems"], (state, prev) => {
1068
+ if (state.moves === prev.moves) return;
1069
+ const { activeId: activeId2 } = combobox.getState();
1070
+ const activeItem = composite.item(activeId2);
1071
+ combobox.setState("activeValue", activeItem == null ? void 0 : activeItem.value);
1072
+ }));
1073
+ return {
1074
+ ...popover,
1075
+ ...composite,
1076
+ ...combobox,
1077
+ tag,
1078
+ setValue: (value2) => combobox.setState("value", value2),
1079
+ resetValue: () => combobox.setState("value", initialState.value),
1080
+ setSelectedValue: (selectedValue2) => combobox.setState("selectedValue", selectedValue2)
1081
+ };
1082
+ }
1083
+
1084
+ // ../ariakit-react-components/dist/combobox/combobox-store.js
1085
+ function useComboboxStoreOptions(props) {
1086
+ const tag = useTagContext();
1087
+ props = {
1088
+ ...props,
1089
+ tag: props.tag !== void 0 ? props.tag : tag
1090
+ };
1091
+ return _NMUCJYMRcjs.useCompositeStoreOptions.call(void 0, props);
1092
+ }
1093
+ function useComboboxStoreProps(store, update, props) {
1094
+ _QAUJZR6Ycjs.useUpdateEffect.call(void 0, update, [props.tag]);
1095
+ _D4HCGWOUcjs.useStoreProps.call(void 0, store, props, "value", "setValue");
1096
+ _D4HCGWOUcjs.useStoreProps.call(void 0, store, props, "selectedValue", "setSelectedValue");
1097
+ _D4HCGWOUcjs.useStoreProps.call(void 0, store, props, "resetValueOnHide");
1098
+ _D4HCGWOUcjs.useStoreProps.call(void 0, store, props, "resetValueOnSelect");
1099
+ return Object.assign(_NMUCJYMRcjs.useCompositeStoreProps.call(void 0, _TSBEWPNTcjs.usePopoverStoreProps.call(void 0, store, update, props), update, props), { tag: props.tag });
1100
+ }
1101
+ function useComboboxStore(props = {}) {
1102
+ props = useComboboxStoreOptions(props);
1103
+ const [store, update] = _D4HCGWOUcjs.useStore.call(void 0, createComboboxStore, props);
1104
+ return useComboboxStoreProps(store, update, props);
1105
+ }
1106
+
1107
+ // ../ariakit-react-components/dist/combobox/combobox-provider.js
1108
+
1109
+ function ComboboxProvider(props = {}) {
1110
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _FHQ5DVYQcjs.ComboboxContextProvider, {
1111
+ value: useComboboxStore(props),
1112
+ children: props.children
1113
+ });
1114
+ }
1115
+
1116
+ // ../ariakit-react-components/dist/combobox/combobox-row.js
1117
+ var TagName12 = "div";
1118
+ var useComboboxRow = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxRow2({ store, ...props }) {
1119
+ const context = _FHQ5DVYQcjs.useComboboxScopedContext.call(void 0, );
1120
+ store = store || context;
1121
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxRow must be wrapped in a ComboboxList or ComboboxPopover component");
1122
+ props = {
1123
+ role: _QAUJZR6Ycjs.getPopupRole.call(void 0, _D4HCGWOUcjs.useStoreState.call(void 0, store, "contentElement")) === "grid" ? "row" : "presentation",
1124
+ ...props
1125
+ };
1126
+ props = _GUY4MKX2cjs.useCompositeRow.call(void 0, {
1127
+ store,
1128
+ ...props
1129
+ });
1130
+ return props;
1131
+ });
1132
+ var ComboboxRow = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxRow2(props) {
1133
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName12, useComboboxRow(props));
1134
+ });
1135
+
1136
+ // ../ariakit-react-components/dist/combobox/combobox-separator.js
1137
+ var TagName13 = "hr";
1138
+ var useComboboxSeparator = _QAUJZR6Ycjs.createHook.call(void 0, function useComboboxSeparator2({ store, ...props }) {
1139
+ const context = _FHQ5DVYQcjs.useComboboxScopedContext.call(void 0, );
1140
+ store = store || context;
1141
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxSeparator must be wrapped in a ComboboxList or ComboboxPopover component.");
1142
+ props = _TLUFYZC7cjs.useCompositeSeparator.call(void 0, {
1143
+ store,
1144
+ ...props
1145
+ });
1146
+ return props;
1147
+ });
1148
+ var ComboboxSeparator = _QAUJZR6Ycjs.forwardRef.call(void 0, function ComboboxSeparator2(props) {
1149
+ return _QAUJZR6Ycjs.createElement.call(void 0, TagName13, useComboboxSeparator(props));
1150
+ });
1151
+
1152
+ // ../ariakit-react-components/dist/combobox/combobox-value.js
1153
+ function ComboboxValue({ store, children: children3 } = {}) {
1154
+ const context = _FHQ5DVYQcjs.useComboboxContext.call(void 0, );
1155
+ store = store || context;
1156
+ _QAUJZR6Ycjs.invariant.call(void 0, store, "ComboboxValue must receive a `store` prop or be wrapped in a ComboboxProvider component.");
1157
+ const value = _D4HCGWOUcjs.useStoreState.call(void 0, store, "value");
1158
+ if (children3) return children3(value);
1159
+ return value;
1160
+ }
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+
1179
+ exports.Combobox = Combobox; exports.ComboboxCancel = ComboboxCancel; exports.ComboboxDisclosure = ComboboxDisclosure; exports.ComboboxGroup = ComboboxGroup; exports.ComboboxGroupLabel = ComboboxGroupLabel; exports.ComboboxItem = ComboboxItem; exports.ComboboxItemCheck = ComboboxItemCheck; exports.ComboboxItemValue = ComboboxItemValue; exports.ComboboxLabel = ComboboxLabel; exports.ComboboxList = ComboboxList; exports.ComboboxPopover = ComboboxPopover; exports.useComboboxStore = useComboboxStore; exports.ComboboxProvider = ComboboxProvider; exports.ComboboxRow = ComboboxRow; exports.ComboboxSeparator = ComboboxSeparator; exports.ComboboxValue = ComboboxValue;