@ariakit/react-components 0.1.0 → 0.1.2

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 (500) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/button/button.d.ts +1 -1
  3. package/dist/{button-Cp853csH.d.ts → button-CVWcOgxs.d.ts} +3 -3
  4. package/dist/{button-Cp853csH.d.ts.map → button-CVWcOgxs.d.ts.map} +1 -1
  5. package/dist/checkbox/checkbox-check.d.ts +1 -1
  6. package/dist/checkbox/checkbox-check.d.ts.map +1 -1
  7. package/dist/checkbox/checkbox.d.ts +2 -2
  8. package/dist/checkbox/checkbox.d.ts.map +1 -1
  9. package/dist/collection/collection-item-offscreen.d.ts +1 -1
  10. package/dist/collection/collection-item-offscreen.js +1 -1
  11. package/dist/collection/collection-item-offscreen.js.map +1 -1
  12. package/dist/collection/collection-item.d.ts +1 -1
  13. package/dist/collection/collection-renderer.d.ts +1 -1
  14. package/dist/collection/collection-renderer.js +1 -1
  15. package/dist/collection/collection-renderer.js.map +1 -1
  16. package/dist/collection/collection.d.ts +1 -1
  17. package/dist/collection/collection.d.ts.map +1 -1
  18. package/dist/{collection-item-offscreen-DyXa-sqj.d.ts → collection-item-offscreen-B5E5vNFi.d.ts} +2 -2
  19. package/dist/{collection-item-offscreen-DyXa-sqj.d.ts.map → collection-item-offscreen-B5E5vNFi.d.ts.map} +1 -1
  20. package/dist/{collection-item-C-g2BwVF.d.ts → collection-item-pvEWNoNs.d.ts} +2 -2
  21. package/dist/{collection-item-C-g2BwVF.d.ts.map → collection-item-pvEWNoNs.d.ts.map} +1 -1
  22. package/dist/{collection-renderer-DsPD9ksD.d.ts → collection-renderer-BhzF21Du.d.ts} +29 -15
  23. package/dist/collection-renderer-BhzF21Du.d.ts.map +1 -0
  24. package/dist/combobox/combobox-cancel.d.ts +2 -2
  25. package/dist/combobox/combobox-cancel.d.ts.map +1 -1
  26. package/dist/combobox/combobox-cancel.js +1 -1
  27. package/dist/combobox/combobox-cancel.js.map +1 -1
  28. package/dist/combobox/combobox-disclosure.d.ts +2 -2
  29. package/dist/combobox/combobox-disclosure.d.ts.map +1 -1
  30. package/dist/combobox/combobox-disclosure.js +1 -1
  31. package/dist/combobox/combobox-disclosure.js.map +1 -1
  32. package/dist/combobox/combobox-group-label.d.ts +1 -1
  33. package/dist/combobox/combobox-group-label.d.ts.map +1 -1
  34. package/dist/combobox/combobox-group.d.ts +1 -1
  35. package/dist/combobox/combobox-group.d.ts.map +1 -1
  36. package/dist/combobox/combobox-group.js +1 -1
  37. package/dist/combobox/combobox-group.js.map +1 -1
  38. package/dist/combobox/combobox-item-check.d.ts +1 -1
  39. package/dist/combobox/combobox-item-check.d.ts.map +1 -1
  40. package/dist/combobox/combobox-item-value.d.ts +1 -1
  41. package/dist/combobox/combobox-item-value.d.ts.map +1 -1
  42. package/dist/combobox/combobox-item.d.ts +3 -3
  43. package/dist/combobox/combobox-item.d.ts.map +1 -1
  44. package/dist/combobox/combobox-item.js +1 -1
  45. package/dist/combobox/combobox-item.js.map +1 -1
  46. package/dist/combobox/combobox-label.d.ts +1 -1
  47. package/dist/combobox/combobox-label.d.ts.map +1 -1
  48. package/dist/combobox/combobox-label.js +1 -1
  49. package/dist/combobox/combobox-label.js.map +1 -1
  50. package/dist/combobox/combobox-list.d.ts +1 -1
  51. package/dist/combobox/combobox-list.d.ts.map +1 -1
  52. package/dist/combobox/combobox-list.js +1 -1
  53. package/dist/combobox/combobox-list.js.map +1 -1
  54. package/dist/combobox/combobox-popover.d.ts +1 -1
  55. package/dist/combobox/combobox-popover.js +1 -1
  56. package/dist/combobox/combobox-popover.js.map +1 -1
  57. package/dist/combobox/combobox-row.d.ts +1 -1
  58. package/dist/combobox/combobox-row.d.ts.map +1 -1
  59. package/dist/combobox/combobox-row.js +1 -1
  60. package/dist/combobox/combobox-row.js.map +1 -1
  61. package/dist/combobox/combobox-separator.d.ts +1 -1
  62. package/dist/combobox/combobox-separator.d.ts.map +1 -1
  63. package/dist/combobox/combobox-separator.js +1 -1
  64. package/dist/combobox/combobox-separator.js.map +1 -1
  65. package/dist/combobox/combobox-value.js +1 -1
  66. package/dist/combobox/combobox-value.js.map +1 -1
  67. package/dist/combobox/combobox.d.ts +3 -3
  68. package/dist/combobox/combobox.d.ts.map +1 -1
  69. package/dist/combobox/combobox.js +16 -2
  70. package/dist/combobox/combobox.js.map +1 -1
  71. package/dist/command/command.d.ts +1 -1
  72. package/dist/{command-DckndCUK.d.ts → command-B9C8p3_S.d.ts} +3 -3
  73. package/dist/{command-DckndCUK.d.ts.map → command-B9C8p3_S.d.ts.map} +1 -1
  74. package/dist/composite/composite-container.d.ts +1 -1
  75. package/dist/composite/composite-container.d.ts.map +1 -1
  76. package/dist/composite/composite-container.js +2 -2
  77. package/dist/composite/composite-container.js.map +1 -1
  78. package/dist/composite/composite-group-label.d.ts +2 -2
  79. package/dist/composite/composite-group-label.d.ts.map +1 -1
  80. package/dist/composite/composite-group.d.ts +2 -2
  81. package/dist/composite/composite-group.d.ts.map +1 -1
  82. package/dist/composite/composite-hover.d.ts +1 -1
  83. package/dist/composite/composite-hover.js +9 -13
  84. package/dist/composite/composite-hover.js.map +1 -1
  85. package/dist/composite/composite-input.d.ts +1 -1
  86. package/dist/composite/composite-input.d.ts.map +1 -1
  87. package/dist/composite/composite-input.js +1 -1
  88. package/dist/composite/composite-input.js.map +1 -1
  89. package/dist/composite/composite-item-offscreen.d.ts +2 -2
  90. package/dist/composite/composite-item-offscreen.js +2 -2
  91. package/dist/composite/composite-item-offscreen.js.map +1 -1
  92. package/dist/composite/composite-item.d.ts +1 -1
  93. package/dist/composite/composite-item.js +2 -2
  94. package/dist/composite/composite-item.js.map +1 -1
  95. package/dist/composite/composite-overflow-disclosure.d.ts +2 -2
  96. package/dist/composite/composite-overflow-disclosure.d.ts.map +1 -1
  97. package/dist/composite/composite-overflow.d.ts +2 -2
  98. package/dist/composite/composite-overflow.d.ts.map +1 -1
  99. package/dist/composite/composite-renderer.d.ts +28 -14
  100. package/dist/composite/composite-renderer.d.ts.map +1 -1
  101. package/dist/composite/composite-renderer.js +2 -2
  102. package/dist/composite/composite-renderer.js.map +1 -1
  103. package/dist/composite/composite-row.d.ts +1 -1
  104. package/dist/composite/composite-row.d.ts.map +1 -1
  105. package/dist/composite/composite-row.js +3 -3
  106. package/dist/composite/composite-row.js.map +1 -1
  107. package/dist/composite/composite-separator.d.ts +2 -2
  108. package/dist/composite/composite-separator.d.ts.map +1 -1
  109. package/dist/composite/composite-separator.js +3 -3
  110. package/dist/composite/composite-separator.js.map +1 -1
  111. package/dist/composite/composite-typeahead.d.ts +1 -1
  112. package/dist/composite/composite-typeahead.js +3 -3
  113. package/dist/composite/composite-typeahead.js.map +1 -1
  114. package/dist/composite/composite.d.ts +1 -1
  115. package/dist/composite/composite.js +3 -3
  116. package/dist/composite/composite.js.map +1 -1
  117. package/dist/{composite-DLvyFHMq.d.ts → composite-KBhCGLEy.d.ts} +3 -3
  118. package/dist/{composite-DLvyFHMq.d.ts.map → composite-KBhCGLEy.d.ts.map} +1 -1
  119. package/dist/{composite-hover-C7ul163w.d.ts → composite-hover-BpXq3T8J.d.ts} +2 -2
  120. package/dist/{composite-hover-C7ul163w.d.ts.map → composite-hover-BpXq3T8J.d.ts.map} +1 -1
  121. package/dist/{composite-item-B4WTelVz.d.ts → composite-item-d4UXaZ84.d.ts} +4 -4
  122. package/dist/{composite-item-B4WTelVz.d.ts.map → composite-item-d4UXaZ84.d.ts.map} +1 -1
  123. package/dist/{composite-typeahead-DDhpyKqm.d.ts → composite-typeahead-0euW43GU.d.ts} +2 -2
  124. package/dist/{composite-typeahead-DDhpyKqm.d.ts.map → composite-typeahead-0euW43GU.d.ts.map} +1 -1
  125. package/dist/dialog/dialog-backdrop.d.ts +1 -1
  126. package/dist/dialog/dialog-description.d.ts +1 -1
  127. package/dist/dialog/dialog-disclosure.d.ts +1 -1
  128. package/dist/dialog/dialog-disclosure.js +1 -1
  129. package/dist/dialog/dialog-disclosure.js.map +1 -1
  130. package/dist/dialog/dialog-dismiss.d.ts +1 -1
  131. package/dist/dialog/dialog-heading.d.ts +1 -1
  132. package/dist/dialog/dialog.d.ts +1 -1
  133. package/dist/dialog/dialog.js +18 -6
  134. package/dist/dialog/dialog.js.map +1 -1
  135. package/dist/dialog/utils/disable-accessibility-tree-outside.d.ts +1 -3
  136. package/dist/dialog/utils/disable-accessibility-tree-outside.d.ts.map +1 -1
  137. package/dist/dialog/utils/disable-accessibility-tree-outside.js +1 -15
  138. package/dist/dialog/utils/disable-accessibility-tree-outside.js.map +1 -1
  139. package/dist/dialog/utils/use-hide-on-interact-outside.d.ts +1 -1
  140. package/dist/dialog/utils/use-hide-on-interact-outside.js +2 -2
  141. package/dist/dialog/utils/use-hide-on-interact-outside.js.map +1 -1
  142. package/dist/dialog/utils/use-prevent-body-scroll.js +2 -1
  143. package/dist/dialog/utils/use-prevent-body-scroll.js.map +1 -1
  144. package/dist/dialog/utils/use-previous-mouse-down-ref.d.ts +1 -1
  145. package/dist/dialog/utils/use-previous-mouse-down-ref.d.ts.map +1 -1
  146. package/dist/{dialog-C__C-zX2.d.ts → dialog-D23r2ZWj.d.ts} +4 -4
  147. package/dist/{dialog-C__C-zX2.d.ts.map → dialog-D23r2ZWj.d.ts.map} +1 -1
  148. package/dist/{dialog-description-BCZJ1Kyd.d.ts → dialog-description-CJGxnEvk.d.ts} +2 -2
  149. package/dist/{dialog-description-BCZJ1Kyd.d.ts.map → dialog-description-CJGxnEvk.d.ts.map} +1 -1
  150. package/dist/{dialog-disclosure-DLD10zlb.d.ts → dialog-disclosure-DSESk5pv.d.ts} +3 -3
  151. package/dist/{dialog-disclosure-DLD10zlb.d.ts.map → dialog-disclosure-DSESk5pv.d.ts.map} +1 -1
  152. package/dist/{dialog-dismiss-CnwEbzc6.d.ts → dialog-dismiss-DW3XQYvp.d.ts} +3 -3
  153. package/dist/{dialog-dismiss-CnwEbzc6.d.ts.map → dialog-dismiss-DW3XQYvp.d.ts.map} +1 -1
  154. package/dist/{dialog-heading-DQvnOfZH.d.ts → dialog-heading-DGA5d8VH.d.ts} +3 -3
  155. package/dist/{dialog-heading-DQvnOfZH.d.ts.map → dialog-heading-DGA5d8VH.d.ts.map} +1 -1
  156. package/dist/disclosure/disclosure-content.js +1 -1
  157. package/dist/disclosure/disclosure-content.js.map +1 -1
  158. package/dist/disclosure/disclosure.d.ts +1 -1
  159. package/dist/disclosure/disclosure.js +1 -1
  160. package/dist/disclosure/disclosure.js.map +1 -1
  161. package/dist/{disclosure-CQ37hPVP.d.ts → disclosure-C4F4sCVZ.d.ts} +3 -3
  162. package/dist/{disclosure-CQ37hPVP.d.ts.map → disclosure-C4F4sCVZ.d.ts.map} +1 -1
  163. package/dist/focus-trap/focus-trap-region.d.ts +1 -1
  164. package/dist/focus-trap/focus-trap-region.d.ts.map +1 -1
  165. package/dist/focus-trap/focus-trap.d.ts +1 -1
  166. package/dist/focus-trap/focus-trap.d.ts.map +1 -1
  167. package/dist/focusable/focusable-container.d.ts +1 -1
  168. package/dist/focusable/focusable-container.d.ts.map +1 -1
  169. package/dist/focusable/focusable.d.ts +1 -1
  170. package/dist/focusable/focusable.js +49 -8
  171. package/dist/focusable/focusable.js.map +1 -1
  172. package/dist/{focusable-B00tOxtB.d.ts → focusable-dBZH13-T.d.ts} +2 -2
  173. package/dist/{focusable-B00tOxtB.d.ts.map → focusable-dBZH13-T.d.ts.map} +1 -1
  174. package/dist/form/form-checkbox.d.ts +1 -1
  175. package/dist/form/form-checkbox.d.ts.map +1 -1
  176. package/dist/form/form-checkbox.js +1 -1
  177. package/dist/form/form-checkbox.js.map +1 -1
  178. package/dist/form/form-control.d.ts +2 -2
  179. package/dist/form/form-control.d.ts.map +1 -1
  180. package/dist/form/form-control.js +1 -1
  181. package/dist/form/form-control.js.map +1 -1
  182. package/dist/form/form-description.d.ts +2 -2
  183. package/dist/form/form-description.d.ts.map +1 -1
  184. package/dist/form/form-description.js +1 -1
  185. package/dist/form/form-description.js.map +1 -1
  186. package/dist/form/form-error.d.ts +2 -2
  187. package/dist/form/form-error.d.ts.map +1 -1
  188. package/dist/form/form-error.js +1 -1
  189. package/dist/form/form-error.js.map +1 -1
  190. package/dist/form/form-field.d.ts +1 -1
  191. package/dist/form/form-field.d.ts.map +1 -1
  192. package/dist/form/form-group-label.d.ts +2 -2
  193. package/dist/form/form-group-label.d.ts.map +1 -1
  194. package/dist/form/form-group.d.ts +2 -2
  195. package/dist/form/form-group.d.ts.map +1 -1
  196. package/dist/form/form-input.d.ts +2 -2
  197. package/dist/form/form-input.d.ts.map +1 -1
  198. package/dist/form/form-input.js +1 -1
  199. package/dist/form/form-input.js.map +1 -1
  200. package/dist/form/form-label.d.ts +2 -2
  201. package/dist/form/form-label.d.ts.map +1 -1
  202. package/dist/form/form-label.js +1 -1
  203. package/dist/form/form-label.js.map +1 -1
  204. package/dist/form/form-push.d.ts +3 -3
  205. package/dist/form/form-push.d.ts.map +1 -1
  206. package/dist/form/form-push.js +1 -1
  207. package/dist/form/form-push.js.map +1 -1
  208. package/dist/form/form-radio-group.d.ts +1 -1
  209. package/dist/form/form-radio-group.d.ts.map +1 -1
  210. package/dist/form/form-radio.d.ts +1 -1
  211. package/dist/form/form-radio.d.ts.map +1 -1
  212. package/dist/form/form-radio.js +1 -1
  213. package/dist/form/form-radio.js.map +1 -1
  214. package/dist/form/form-remove.d.ts +16 -12
  215. package/dist/form/form-remove.d.ts.map +1 -1
  216. package/dist/form/form-remove.js +15 -11
  217. package/dist/form/form-remove.js.map +1 -1
  218. package/dist/form/form-reset.d.ts +2 -2
  219. package/dist/form/form-reset.d.ts.map +1 -1
  220. package/dist/form/form-reset.js +1 -1
  221. package/dist/form/form-reset.js.map +1 -1
  222. package/dist/form/form-submit.d.ts +2 -2
  223. package/dist/form/form-submit.d.ts.map +1 -1
  224. package/dist/form/form-submit.js +1 -1
  225. package/dist/form/form-submit.js.map +1 -1
  226. package/dist/form/form.d.ts +1 -1
  227. package/dist/form/form.d.ts.map +1 -1
  228. package/dist/form/form.js +1 -1
  229. package/dist/form/form.js.map +1 -1
  230. package/dist/group/group-label.d.ts +1 -1
  231. package/dist/group/group.d.ts +1 -1
  232. package/dist/{group-label-C16IDs1b.d.ts → group-label-BKYqD4Sj.d.ts} +2 -2
  233. package/dist/{group-label-C16IDs1b.d.ts.map → group-label-BKYqD4Sj.d.ts.map} +1 -1
  234. package/dist/{group-CamegDJA.d.ts → group-nGD9e6Dj.d.ts} +2 -2
  235. package/dist/{group-CamegDJA.d.ts.map → group-nGD9e6Dj.d.ts.map} +1 -1
  236. package/dist/heading/heading.d.ts +1 -1
  237. package/dist/heading/heading.js +2 -2
  238. package/dist/heading/heading.js.map +1 -1
  239. package/dist/{heading-zY9g_9K-.d.ts → heading-D_AmeqL5.d.ts} +2 -2
  240. package/dist/{heading-zY9g_9K-.d.ts.map → heading-D_AmeqL5.d.ts.map} +1 -1
  241. package/dist/hovercard/hovercard-anchor.d.ts +2 -2
  242. package/dist/hovercard/hovercard-anchor.d.ts.map +1 -1
  243. package/dist/hovercard/hovercard-anchor.js +1 -1
  244. package/dist/hovercard/hovercard-anchor.js.map +1 -1
  245. package/dist/hovercard/hovercard-arrow.d.ts +1 -1
  246. package/dist/hovercard/hovercard-arrow.d.ts.map +1 -1
  247. package/dist/hovercard/hovercard-description.d.ts +2 -2
  248. package/dist/hovercard/hovercard-description.d.ts.map +1 -1
  249. package/dist/hovercard/hovercard-disclosure.d.ts +2 -2
  250. package/dist/hovercard/hovercard-disclosure.d.ts.map +1 -1
  251. package/dist/hovercard/hovercard-disclosure.js +4 -4
  252. package/dist/hovercard/hovercard-disclosure.js.map +1 -1
  253. package/dist/hovercard/hovercard-dismiss.d.ts +2 -2
  254. package/dist/hovercard/hovercard-dismiss.d.ts.map +1 -1
  255. package/dist/hovercard/hovercard-heading.d.ts +2 -2
  256. package/dist/hovercard/hovercard-heading.d.ts.map +1 -1
  257. package/dist/hovercard/hovercard.d.ts +1 -1
  258. package/dist/hovercard/hovercard.js +2 -2
  259. package/dist/hovercard/hovercard.js.map +1 -1
  260. package/dist/menu/menu-arrow.d.ts +2 -2
  261. package/dist/menu/menu-arrow.d.ts.map +1 -1
  262. package/dist/menu/menu-bar-provider.js +1 -1
  263. package/dist/menu/menu-bar-provider.js.map +1 -1
  264. package/dist/menu/menu-bar-store.d.ts +3 -3
  265. package/dist/menu/menu-bar-store.js +3 -3
  266. package/dist/menu/menu-bar-store.js.map +1 -1
  267. package/dist/menu/menu-bar.d.ts +1 -1
  268. package/dist/menu/menu-bar.d.ts.map +1 -1
  269. package/dist/menu/menu-bar.js +1 -1
  270. package/dist/menu/menu-bar.js.map +1 -1
  271. package/dist/menu/menu-button-arrow.d.ts +2 -2
  272. package/dist/menu/menu-button-arrow.d.ts.map +1 -1
  273. package/dist/menu/menu-button.d.ts +3 -3
  274. package/dist/menu/menu-button.d.ts.map +1 -1
  275. package/dist/menu/menu-button.js +1 -1
  276. package/dist/menu/menu-button.js.map +1 -1
  277. package/dist/menu/menu-context.d.ts +10 -3
  278. package/dist/menu/menu-context.d.ts.map +1 -1
  279. package/dist/menu/menu-context.js +8 -1
  280. package/dist/menu/menu-context.js.map +1 -1
  281. package/dist/menu/menu-description.d.ts +2 -2
  282. package/dist/menu/menu-description.d.ts.map +1 -1
  283. package/dist/menu/menu-dismiss.d.ts +2 -2
  284. package/dist/menu/menu-dismiss.d.ts.map +1 -1
  285. package/dist/menu/menu-group-label.d.ts +2 -2
  286. package/dist/menu/menu-group-label.d.ts.map +1 -1
  287. package/dist/menu/menu-group.d.ts +2 -2
  288. package/dist/menu/menu-group.d.ts.map +1 -1
  289. package/dist/menu/menu-heading.d.ts +2 -2
  290. package/dist/menu/menu-heading.d.ts.map +1 -1
  291. package/dist/menu/menu-item-check.d.ts +2 -2
  292. package/dist/menu/menu-item-check.d.ts.map +1 -1
  293. package/dist/menu/menu-item-checkbox.d.ts +2 -2
  294. package/dist/menu/menu-item-checkbox.d.ts.map +1 -1
  295. package/dist/menu/menu-item-checkbox.js +1 -1
  296. package/dist/menu/menu-item-checkbox.js.map +1 -1
  297. package/dist/menu/menu-item-radio.d.ts +2 -2
  298. package/dist/menu/menu-item-radio.d.ts.map +1 -1
  299. package/dist/menu/menu-item-radio.js +1 -1
  300. package/dist/menu/menu-item-radio.js.map +1 -1
  301. package/dist/menu/menu-item.d.ts +5 -5
  302. package/dist/menu/menu-item.d.ts.map +1 -1
  303. package/dist/menu/menu-item.js +8 -4
  304. package/dist/menu/menu-item.js.map +1 -1
  305. package/dist/menu/menu-list.d.ts +4 -4
  306. package/dist/menu/menu-list.d.ts.map +1 -1
  307. package/dist/menu/menu-list.js +6 -2
  308. package/dist/menu/menu-list.js.map +1 -1
  309. package/dist/menu/menu-provider.d.ts +1 -1
  310. package/dist/menu/menu-separator.d.ts +2 -2
  311. package/dist/menu/menu-separator.d.ts.map +1 -1
  312. package/dist/menu/menu-store.d.ts +1 -1
  313. package/dist/menu/menu.js +1 -1
  314. package/dist/menu/menu.js.map +1 -1
  315. package/dist/{menu-store-0CKKmNek.d.ts → menu-store-BpTJdcL8.d.ts} +2 -2
  316. package/dist/{menu-store-0CKKmNek.d.ts.map → menu-store-BpTJdcL8.d.ts.map} +1 -1
  317. package/dist/menubar/menubar-context.d.ts +2 -3
  318. package/dist/menubar/menubar-context.d.ts.map +1 -1
  319. package/dist/menubar/menubar-context.js +1 -3
  320. package/dist/menubar/menubar-context.js.map +1 -1
  321. package/dist/menubar/menubar-provider.d.ts +1 -1
  322. package/dist/menubar/menubar-store.d.ts +1 -1
  323. package/dist/menubar/menubar-store.js +2 -2
  324. package/dist/menubar/menubar-store.js.map +1 -1
  325. package/dist/menubar/menubar.d.ts +3 -3
  326. package/dist/menubar/menubar.d.ts.map +1 -1
  327. package/dist/{menubar-store-3h0eNIbS.d.ts → menubar-store-C553OKBw.d.ts} +3 -3
  328. package/dist/{menubar-store-3h0eNIbS.d.ts.map → menubar-store-C553OKBw.d.ts.map} +1 -1
  329. package/dist/popover/popover-anchor.d.ts +1 -1
  330. package/dist/popover/popover-arrow.d.ts +1 -1
  331. package/dist/popover/popover-arrow.d.ts.map +1 -1
  332. package/dist/popover/popover-arrow.js +4 -4
  333. package/dist/popover/popover-arrow.js.map +1 -1
  334. package/dist/popover/popover-description.d.ts +1 -1
  335. package/dist/popover/popover-disclosure-arrow.d.ts +1 -1
  336. package/dist/popover/popover-disclosure-arrow.d.ts.map +1 -1
  337. package/dist/popover/popover-disclosure-arrow.js +1 -1
  338. package/dist/popover/popover-disclosure-arrow.js.map +1 -1
  339. package/dist/popover/popover-disclosure.d.ts +3 -3
  340. package/dist/popover/popover-disclosure.d.ts.map +1 -1
  341. package/dist/popover/popover-disclosure.js +1 -1
  342. package/dist/popover/popover-disclosure.js.map +1 -1
  343. package/dist/popover/popover-dismiss.d.ts +1 -1
  344. package/dist/popover/popover-heading.d.ts +1 -1
  345. package/dist/popover/popover.d.ts +1 -1
  346. package/dist/popover/popover.js +2 -2
  347. package/dist/popover/popover.js.map +1 -1
  348. package/dist/{popover-CCqiRKqg.d.ts → popover-B9PxE5iP.d.ts} +10 -2
  349. package/dist/popover-B9PxE5iP.d.ts.map +1 -0
  350. package/dist/{popover-anchor-PgfeXyzs.d.ts → popover-anchor-W18KUmuM.d.ts} +2 -2
  351. package/dist/{popover-anchor-PgfeXyzs.d.ts.map → popover-anchor-W18KUmuM.d.ts.map} +1 -1
  352. package/dist/{popover-description-DU753dah.d.ts → popover-description-DbW4mVBb.d.ts} +3 -3
  353. package/dist/{popover-description-DU753dah.d.ts.map → popover-description-DbW4mVBb.d.ts.map} +1 -1
  354. package/dist/{popover-dismiss-DPeI6Zse.d.ts → popover-dismiss-CQFvuLzJ.d.ts} +3 -3
  355. package/dist/{popover-dismiss-DPeI6Zse.d.ts.map → popover-dismiss-CQFvuLzJ.d.ts.map} +1 -1
  356. package/dist/{popover-heading-DGsr6D5W.d.ts → popover-heading-DC8rYnwo.d.ts} +3 -3
  357. package/dist/{popover-heading-DGsr6D5W.d.ts.map → popover-heading-DC8rYnwo.d.ts.map} +1 -1
  358. package/dist/portal/portal.d.ts +1 -1
  359. package/dist/{portal-CMBWiayp.d.ts → portal-CKFTfCWH.d.ts} +2 -2
  360. package/dist/{portal-CMBWiayp.d.ts.map → portal-CKFTfCWH.d.ts.map} +1 -1
  361. package/dist/radio/radio-group.d.ts +2 -2
  362. package/dist/radio/radio-group.d.ts.map +1 -1
  363. package/dist/radio/radio-group.js +1 -1
  364. package/dist/radio/radio-group.js.map +1 -1
  365. package/dist/radio/radio.d.ts +2 -2
  366. package/dist/radio/radio.d.ts.map +1 -1
  367. package/dist/select/select-arrow.d.ts +1 -1
  368. package/dist/select/select-arrow.d.ts.map +1 -1
  369. package/dist/select/select-dismiss.d.ts +2 -2
  370. package/dist/select/select-dismiss.d.ts.map +1 -1
  371. package/dist/select/select-group-label.d.ts +1 -1
  372. package/dist/select/select-group-label.d.ts.map +1 -1
  373. package/dist/select/select-group.d.ts +1 -1
  374. package/dist/select/select-group.d.ts.map +1 -1
  375. package/dist/select/select-heading.d.ts +2 -2
  376. package/dist/select/select-heading.d.ts.map +1 -1
  377. package/dist/select/select-item-check.d.ts +1 -1
  378. package/dist/select/select-item-check.d.ts.map +1 -1
  379. package/dist/select/select-item.d.ts +3 -3
  380. package/dist/select/select-item.d.ts.map +1 -1
  381. package/dist/select/select-item.js +1 -1
  382. package/dist/select/select-item.js.map +1 -1
  383. package/dist/select/select-label.d.ts +1 -1
  384. package/dist/select/select-label.d.ts.map +1 -1
  385. package/dist/select/select-label.js +1 -1
  386. package/dist/select/select-label.js.map +1 -1
  387. package/dist/select/select-list.d.ts +3 -3
  388. package/dist/select/select-list.d.ts.map +1 -1
  389. package/dist/select/select-list.js +1 -1
  390. package/dist/select/select-list.js.map +1 -1
  391. package/dist/select/select-popover.d.ts +1 -1
  392. package/dist/select/select-renderer.d.ts +2 -2
  393. package/dist/select/select-renderer.d.ts.map +1 -1
  394. package/dist/select/select-row.d.ts +1 -1
  395. package/dist/select/select-row.d.ts.map +1 -1
  396. package/dist/select/select-row.js +1 -1
  397. package/dist/select/select-row.js.map +1 -1
  398. package/dist/select/select-separator.d.ts +1 -1
  399. package/dist/select/select-separator.d.ts.map +1 -1
  400. package/dist/select/select.d.ts +2 -2
  401. package/dist/select/select.d.ts.map +1 -1
  402. package/dist/select/select.js +1 -1
  403. package/dist/select/select.js.map +1 -1
  404. package/dist/separator/separator.d.ts +1 -1
  405. package/dist/{separator--ozQfMcK.d.ts → separator-BnvSVwBa.d.ts} +2 -2
  406. package/dist/{separator--ozQfMcK.d.ts.map → separator-BnvSVwBa.d.ts.map} +1 -1
  407. package/dist/tab/tab-list.d.ts +2 -2
  408. package/dist/tab/tab-list.d.ts.map +1 -1
  409. package/dist/tab/tab-list.js +1 -1
  410. package/dist/tab/tab-list.js.map +1 -1
  411. package/dist/tab/tab-panel.d.ts +3 -3
  412. package/dist/tab/tab-panel.d.ts.map +1 -1
  413. package/dist/tab/tab-panel.js +2 -3
  414. package/dist/tab/tab-panel.js.map +1 -1
  415. package/dist/tab/tab.d.ts +2 -2
  416. package/dist/tab/tab.d.ts.map +1 -1
  417. package/dist/tab/tab.js +1 -1
  418. package/dist/tab/tab.js.map +1 -1
  419. package/dist/tag/tag-input.d.ts +2 -2
  420. package/dist/tag/tag-input.d.ts.map +1 -1
  421. package/dist/tag/tag-input.js +1 -2
  422. package/dist/tag/tag-input.js.map +1 -1
  423. package/dist/tag/tag-list-label.d.ts +2 -2
  424. package/dist/tag/tag-list-label.d.ts.map +1 -1
  425. package/dist/tag/tag-list-label.js +1 -1
  426. package/dist/tag/tag-list-label.js.map +1 -1
  427. package/dist/tag/tag-list.d.ts +2 -2
  428. package/dist/tag/tag-list.d.ts.map +1 -1
  429. package/dist/tag/tag-list.js +1 -1
  430. package/dist/tag/tag-list.js.map +1 -1
  431. package/dist/tag/tag-remove.d.ts +1 -1
  432. package/dist/tag/tag-remove.d.ts.map +1 -1
  433. package/dist/tag/tag-remove.js +1 -2
  434. package/dist/tag/tag-remove.js.map +1 -1
  435. package/dist/tag/tag-value.js +1 -1
  436. package/dist/tag/tag-value.js.map +1 -1
  437. package/dist/tag/tag-values.js +1 -1
  438. package/dist/tag/tag-values.js.map +1 -1
  439. package/dist/tag/tag.d.ts +2 -2
  440. package/dist/tag/tag.d.ts.map +1 -1
  441. package/dist/tag/tag.js +1 -1
  442. package/dist/tag/tag.js.map +1 -1
  443. package/dist/toolbar/toolbar-container.d.ts +1 -1
  444. package/dist/toolbar/toolbar-container.d.ts.map +1 -1
  445. package/dist/toolbar/toolbar-input.d.ts +1 -1
  446. package/dist/toolbar/toolbar-input.d.ts.map +1 -1
  447. package/dist/toolbar/toolbar-item.d.ts +2 -2
  448. package/dist/toolbar/toolbar-item.d.ts.map +1 -1
  449. package/dist/toolbar/toolbar-separator.d.ts +1 -1
  450. package/dist/toolbar/toolbar-separator.d.ts.map +1 -1
  451. package/dist/toolbar/toolbar.d.ts +2 -2
  452. package/dist/toolbar/toolbar.d.ts.map +1 -1
  453. package/dist/tooltip/tooltip-anchor.d.ts +1 -1
  454. package/dist/tooltip/tooltip-anchor.d.ts.map +1 -1
  455. package/dist/tooltip/tooltip-anchor.js +15 -4
  456. package/dist/tooltip/tooltip-anchor.js.map +1 -1
  457. package/dist/tooltip/tooltip-arrow.d.ts +1 -1
  458. package/dist/tooltip/tooltip-arrow.d.ts.map +1 -1
  459. package/dist/tooltip/tooltip-arrow.js +1 -1
  460. package/dist/tooltip/tooltip-arrow.js.map +1 -1
  461. package/dist/tooltip/tooltip.js +1 -1
  462. package/dist/tooltip/tooltip.js.map +1 -1
  463. package/dist/visually-hidden/visually-hidden.d.ts +1 -1
  464. package/dist/visually-hidden/visually-hidden.d.ts.map +1 -1
  465. package/package.json +8 -8
  466. package/src/collection/collection-item-offscreen.tsx +1 -1
  467. package/src/combobox/combobox.tsx +47 -1
  468. package/src/composite/composite-container.tsx +2 -2
  469. package/src/composite/composite-hover.tsx +8 -14
  470. package/src/composite/composite-item-offscreen.tsx +2 -2
  471. package/src/composite/composite-item.tsx +2 -2
  472. package/src/composite/composite-renderer.tsx +2 -2
  473. package/src/composite/composite-row.tsx +2 -2
  474. package/src/composite/composite-separator.tsx +2 -2
  475. package/src/composite/composite-typeahead.tsx +2 -2
  476. package/src/composite/composite.tsx +3 -3
  477. package/src/dialog/dialog.tsx +33 -10
  478. package/src/dialog/utils/disable-accessibility-tree-outside.ts +0 -25
  479. package/src/dialog/utils/use-hide-on-interact-outside.ts +3 -2
  480. package/src/focusable/focusable.tsx +53 -10
  481. package/src/form/form-remove.tsx +14 -10
  482. package/src/form/form.tsx +3 -1
  483. package/src/heading/heading.tsx +2 -5
  484. package/src/hovercard/hovercard-disclosure.tsx +18 -4
  485. package/src/hovercard/hovercard.tsx +1 -1
  486. package/src/menu/menu-bar-store.ts +2 -2
  487. package/src/menu/menu-context.tsx +8 -0
  488. package/src/menu/menu-item.tsx +18 -1
  489. package/src/menu/menu-list.tsx +15 -0
  490. package/src/menubar/menubar-context.tsx +0 -5
  491. package/src/menubar/menubar-store.ts +2 -2
  492. package/src/popover/popover-arrow.tsx +3 -3
  493. package/src/popover/popover.tsx +8 -0
  494. package/src/tab/tab-panel.tsx +1 -1
  495. package/src/tag/tag-input.tsx +0 -1
  496. package/src/tag/tag-remove.tsx +0 -1
  497. package/src/tooltip/tooltip-anchor.tsx +23 -8
  498. package/dist/collection-renderer-DsPD9ksD.d.ts.map +0 -1
  499. package/dist/popover-CCqiRKqg.d.ts.map +0 -1
  500. package/src/hovercard/utils/__tests__/polygon-test.ts +0 -66
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-renderer-BhzF21Du.d.ts","names":["Options","Props","AnyObject","BooleanOrCallback","EmptyObject","CSSProperties","ReactNode","RefCallback","CollectionStore","CollectionStoreItem","TagName","NestedRendererItemProps","CollectionRendererOptions","Pick","ItemObject","Item","HTMLElement","id","style","items","element","Omit","Items","T","BaseItemProps","ref","index","ItemProps","P","value","RawItemProps","getItemId","item","baseId","getItem","useCollectionRenderer","store","itemsProp","initialItems","gap","itemSize","estimatedItemSize","overscanProp","orientationProp","padding","paddingStart","paddingEnd","persistentIndices","renderOnScroll","renderOnResize","renderItem","CollectionRendererProps","HTMLDivElement","TrustedHTML","Element","overscan","orientation","children","props","wrapElement","WrapElement","render","RenderProp","ReactElement","slot","title","role","AriaRole","color","Ref","key","Key","defaultChecked","defaultValue","suppressContentEditableWarning","suppressHydrationWarning","accessKey","autoCapitalize","autoFocus","className","contentEditable","contextMenu","dir","draggable","enterKeyHint","hidden","lang","nonce","spellCheck","tabIndex","translate","radioGroup","about","content","datatype","inlist","prefix","property","rel","resource","rev","typeof","vocab","autoCorrect","autoSave","itemProp","itemScope","itemType","itemID","itemRef","results","security","unselectable","popover","popoverTargetAction","popoverTarget","inert","inputMode","is","exportparts","part","dangerouslySetInnerHTML","__html","onCopy","ClipboardEventHandler","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","CompositionEventHandler","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","FocusEventHandler","onFocusCapture","onBlur","onBlurCapture","onChange","ChangeEventHandler","onChangeCapture","onBeforeInput","InputEventHandler","onBeforeInputCapture","onInput","onInputCapture","onReset","ReactEventHandler","onResetCapture","onSubmit","SubmitEventHandler","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","KeyboardEventHandler","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","MouseEventHandler","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","DragEventHandler","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","TouchEventHandler","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","PointerEventHandler","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerLeave","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","UIEventHandler","onScrollCapture","onScrollEnd","onScrollEndCapture","onWheel","WheelEventHandler","onWheelCapture","onAnimationStart","AnimationEventHandler","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onToggle","ToggleEventHandler","onBeforeToggle","onTransitionCancel","TransitionEventHandler","onTransitionCancelCapture","onTransitionEnd","onTransitionEndCapture","onTransitionRun","onTransitionRunCapture","onTransitionStart","onTransitionStartCapture","CollectionRenderer","JSXElementConstructor","getCollectionRendererItem","getCollectionRendererItemId","CollectionRendererItemObject","CollectionRendererItem","CollectionRendererBaseItemProps","CollectionRendererItemProps","Event"],"sources":["../src/collection/collection-renderer.d.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { n as ButtonOptions } from "../button-Cp853csH.js";
1
+ import { n as ButtonOptions } from "../button-CVWcOgxs.js";
2
2
  import { t as ComboboxStore } from "../combobox-store-DEVQ45mZ.js";
3
3
  import { Props } from "@ariakit/react-utils";
4
4
  import { ElementType } from "react";
@@ -36,7 +36,7 @@ declare const useComboboxCancel: import("@ariakit/react-utils").Hook<"button", C
36
36
  * </ComboboxProvider>
37
37
  * ```
38
38
  */
39
- declare const ComboboxCancel: (props: ComboboxCancelProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
39
+ declare const ComboboxCancel: (props: ComboboxCancelProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
40
40
  interface ComboboxCancelOptions<T extends ElementType = TagName> extends ButtonOptions<T> {
41
41
  /**
42
42
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-cancel.d.ts","names":["Props","ElementType","ButtonOptions","ComboboxStore","TagName","useComboboxCancel","ComboboxCancelOptions","Hook","ComboboxCancel","ComboboxCancelProps","props","ReactElement","JSXElementConstructor","T","store","hideWhenEmpty"],"sources":["../../src/combobox/combobox-cancel.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAa7B;;AAfyD,cAepCC,iBAAAA,iCAAkDE,IAAAA,WAAeD,qBAAqB;;AAAA;AAkB3G;;;;;;;;;AAAqJ;AACrJ;;;;;cADqBE,cAAAA,GAAiBE,KAAAA,EAAOD,mBAAmB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UAC/GN,qBAAAA,WAAgCL,WAAAA,GAAcG,OAAAA,UAAiBF,aAAAA,CAAcW,CAAAA;EAAdX;;;;;;;EAQ5EY,KAAAA,GAAQX,aAAAA;EAARW;;;;AASa;AAEjB;;;EAFIC,aAAAA;AAAAA;AAAAA,KAEQN,mBAAAA,WAA8BR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,qBAAAA,CAAsBO,CAAAA"}
1
+ {"version":3,"file":"combobox-cancel.d.ts","names":["Props","ElementType","ButtonOptions","ComboboxStore","TagName","useComboboxCancel","ComboboxCancelOptions","Hook","ComboboxCancel","ComboboxCancelProps","props","ReactElement","JSXElementConstructor","T","store","hideWhenEmpty"],"sources":["../../src/combobox/combobox-cancel.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAa7B;;AAfyD,cAepCC,iBAAAA,iCAAkDE,IAAAA,WAAeD,qBAAqB;;AAAA;AAkB3G;;;;;;;;;AAAyJ;AACzJ;;;;;cADqBE,cAAAA,GAAiBE,KAAAA,EAAOD,mBAAmB,qBAAqBE,YAAAA,mCAA+CC,qBAAAA;AAAAA,UACnHN,qBAAAA,WAAgCL,WAAAA,GAAcG,OAAAA,UAAiBF,aAAAA,CAAcW,CAAAA;EAAdX;;;;;;;EAQ5EY,KAAAA,GAAQX,aAAAA;EAARW;;;;AASa;AAEjB;;;EAFIC,aAAAA;AAAAA;AAAAA,KAEQN,mBAAAA,WAA8BR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,qBAAAA,CAAsBO,CAAAA"}
@@ -47,7 +47,7 @@ const children = /* @__PURE__ */ jsxs("svg", {
47
47
  const useComboboxCancel = createHook(function useComboboxCancel({ store, hideWhenEmpty, ...props }) {
48
48
  const context = useComboboxProviderContext();
49
49
  store = store || context;
50
- invariant(store, "ComboboxCancel must receive a `store` prop or be wrapped in a ComboboxProvider component.");
50
+ invariant(store, process.env.NODE_ENV !== "production" && "ComboboxCancel must receive a `store` prop or be wrapped in a ComboboxProvider component.");
51
51
  const onClickProp = props.onClick;
52
52
  const onClick = useEvent((event) => {
53
53
  onClickProp?.(event);
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-cancel.js","names":[],"sources":["../../src/combobox/combobox-cancel.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useEvent,\n useWrapElement,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport { invariant } from \"@ariakit/utils\";\nimport type { ElementType, MouseEvent } from \"react\";\nimport { Fragment } from \"react\";\nimport type { ButtonOptions } from \"../button/button.tsx\";\nimport { useButton } from \"../button/button.tsx\";\nimport { useComboboxProviderContext } from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"button\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\nconst children = (\n <svg\n aria-hidden=\"true\"\n display=\"block\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n width=\"1em\"\n height=\"1em\"\n pointerEvents=\"none\"\n >\n <line x1=\"5\" y1=\"5\" x2=\"11\" y2=\"11\" />\n <line x1=\"5\" y1=\"11\" x2=\"11\" y2=\"5\" />\n </svg>\n);\n\n/**\n * Returns props to create a `ComboboxCancel` component that clears the combobox\n * input when clicked.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxCancel({ store });\n * <Combobox store={store} />\n * <Role {...props} />\n * ```\n */\nexport const useComboboxCancel = createHook<TagName, ComboboxCancelOptions>(\n function useComboboxCancel({ store, hideWhenEmpty, ...props }) {\n const context = useComboboxProviderContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxCancel must receive a `store` prop or be wrapped in a ComboboxProvider component.\",\n );\n\n const onClickProp = props.onClick;\n\n const onClick = useEvent((event: MouseEvent<HTMLType>) => {\n onClickProp?.(event);\n if (event.defaultPrevented) return;\n store?.setValue(\"\");\n // Move focus to the combobox input.\n store?.move(null);\n });\n\n const comboboxId = useStoreState(store, (state) => state.baseElement?.id);\n const empty = useStoreState(store, (state) => state.value === \"\");\n\n props = useWrapElement(\n props,\n (element) => {\n if (!hideWhenEmpty) return element;\n if (empty) return <Fragment />;\n return element;\n },\n [hideWhenEmpty, empty],\n );\n\n props = {\n children,\n \"aria-label\": \"Clear input\",\n // This aria-controls will ensure the combobox popup remains visible when\n // this element gets focused. This logic is done in the ComboboxPopover\n // component.\n \"aria-controls\": comboboxId,\n ...props,\n onClick,\n };\n\n props = useButton(props);\n\n return props;\n },\n);\n\n/**\n * Renders a combobox cancel button that clears the combobox input value when\n * clicked.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {3}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxCancel />\n * <ComboboxPopover>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxCancel = forwardRef(function ComboboxCancel(\n props: ComboboxCancelProps,\n) {\n const htmlProps = useComboboxCancel(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface ComboboxCancelOptions<\n T extends ElementType = TagName,\n> extends ButtonOptions<T> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxProvider`](https://ariakit.com/reference/combobox-provider)\n * component's context will be used.\n */\n store?: ComboboxStore;\n /**\n * When enabled, the button won't be rendered when the combobox input value is\n * empty.\n *\n * Live examples:\n * - [Combobox with Tabs](https://ariakit.com/examples/combobox-tabs)\n * @default false\n */\n hideWhenEmpty?: boolean;\n}\n\nexport type ComboboxCancelProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxCancelOptions<T>\n>;\n"],"mappings":";;;;;;;;;AAqBA,MAAM,UAAA;MAEF,WAAY,qBAAA,OAAA;CACZ,eAAQ;CACR,SAAQ;CACR,SAAK;CACL,MAAA;CACA,QAAA;CACA,eAAA;CACA,gBAAa;CACb,aAAM;CACN,OAAA;CACA,QAAA;gBAEA;WAAS,CAAA,oBAAA,QAAA;EAAI,IAAG;EAAI,IAAG;EAAK,IAAG;EAAM,IACrC;EAAM,GAAG,oBAAA,QAAA;EAAI,IAAG;EAAK,IAAG;EAAK,IAAG;EAAK,IAClC;;;;;;;;;;;;;;;MAiBH,oBAAgB,WAAA,SAA2B,kBAAA,EAAA,OAAA,eAAA,GAAA,SAAA;CAC3C,MAAA,UAAQ,2BAAS;CAEjB,QAAA,SAGI;CAGJ,UAAM,OAAA,2FAAoB;CAE1B,MAAM,cAAU,MAAU;OACxB,UAAc,UAAK,UAAA;EACnB,cAAU,KAAA;EACV,IAAA,MAAO,kBAAW;EAElB,OAAO,SAAS,EAAA;EACjB,OAAA,KAAA,IAAA;CAED,CAAA;CACA,MAAM,aAAQ,cAAc,QAAQ,UAAU,MAAM,aAAY,EAAA;CAEhE,MAAA,QAAQ,cACN,QACC,UAAY,MAAA,UAAA,EAAA;SACN,eAAe,QAAO,YAAA;EAC3B,IAAI,CAAA,eAAc,OAAA;EAClB,IAAA,OAAO,OAAA,oBAAA,UAAA,CAAA,CAAA;EACT,OACC;CAGH,GAAA,CAAA,eAAQ,KAAA,CAAA;SACN;EACA;EAIA,cAAA;EACA,iBAAG;EACH,GAAA;EACF;CAEA;CAEA,QAAO,UAAA,KAAA;CAEX,OAAA;;;;;;;;;;;;;;;;;;;MAuBE,iBAAqB,WADH,SAAA,eACqB,OAAA;CACxC,OAAA,cAAA,SAAA,kBAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"combobox-cancel.js","names":[],"sources":["../../src/combobox/combobox-cancel.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useEvent,\n useWrapElement,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport { invariant } from \"@ariakit/utils\";\nimport type { ElementType, MouseEvent } from \"react\";\nimport { Fragment } from \"react\";\nimport type { ButtonOptions } from \"../button/button.tsx\";\nimport { useButton } from \"../button/button.tsx\";\nimport { useComboboxProviderContext } from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"button\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\nconst children = (\n <svg\n aria-hidden=\"true\"\n display=\"block\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n width=\"1em\"\n height=\"1em\"\n pointerEvents=\"none\"\n >\n <line x1=\"5\" y1=\"5\" x2=\"11\" y2=\"11\" />\n <line x1=\"5\" y1=\"11\" x2=\"11\" y2=\"5\" />\n </svg>\n);\n\n/**\n * Returns props to create a `ComboboxCancel` component that clears the combobox\n * input when clicked.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxCancel({ store });\n * <Combobox store={store} />\n * <Role {...props} />\n * ```\n */\nexport const useComboboxCancel = createHook<TagName, ComboboxCancelOptions>(\n function useComboboxCancel({ store, hideWhenEmpty, ...props }) {\n const context = useComboboxProviderContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxCancel must receive a `store` prop or be wrapped in a ComboboxProvider component.\",\n );\n\n const onClickProp = props.onClick;\n\n const onClick = useEvent((event: MouseEvent<HTMLType>) => {\n onClickProp?.(event);\n if (event.defaultPrevented) return;\n store?.setValue(\"\");\n // Move focus to the combobox input.\n store?.move(null);\n });\n\n const comboboxId = useStoreState(store, (state) => state.baseElement?.id);\n const empty = useStoreState(store, (state) => state.value === \"\");\n\n props = useWrapElement(\n props,\n (element) => {\n if (!hideWhenEmpty) return element;\n if (empty) return <Fragment />;\n return element;\n },\n [hideWhenEmpty, empty],\n );\n\n props = {\n children,\n \"aria-label\": \"Clear input\",\n // This aria-controls will ensure the combobox popup remains visible when\n // this element gets focused. This logic is done in the ComboboxPopover\n // component.\n \"aria-controls\": comboboxId,\n ...props,\n onClick,\n };\n\n props = useButton(props);\n\n return props;\n },\n);\n\n/**\n * Renders a combobox cancel button that clears the combobox input value when\n * clicked.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {3}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxCancel />\n * <ComboboxPopover>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxCancel = forwardRef(function ComboboxCancel(\n props: ComboboxCancelProps,\n) {\n const htmlProps = useComboboxCancel(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface ComboboxCancelOptions<\n T extends ElementType = TagName,\n> extends ButtonOptions<T> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxProvider`](https://ariakit.com/reference/combobox-provider)\n * component's context will be used.\n */\n store?: ComboboxStore;\n /**\n * When enabled, the button won't be rendered when the combobox input value is\n * empty.\n *\n * Live examples:\n * - [Combobox with Tabs](https://ariakit.com/examples/combobox-tabs)\n * @default false\n */\n hideWhenEmpty?: boolean;\n}\n\nexport type ComboboxCancelProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxCancelOptions<T>\n>;\n"],"mappings":";;;;;;;;;AAqBA,MAAM,UAAA;MAEF,WAAY,qBAAA,OAAA;CACZ,eAAQ;CACR,SAAQ;CACR,SAAK;CACL,MAAA;CACA,QAAA;CACA,eAAA;CACA,gBAAa;CACb,aAAM;CACN,OAAA;CACA,QAAA;gBAEA;WAAS,CAAA,oBAAA,QAAA;EAAI,IAAG;EAAI,IAAG;EAAK,IAAG;EAAM,IACrC;EAAM,GAAG,oBAAA,QAAA;EAAI,IAAG;EAAK,IAAG;EAAK,IAAG;EAAK,IAClC;;;;;;;;;;;;;;;MAiBH,oBAAgB,WAAA,SAA2B,kBAAA,EAAA,OAAA,eAAA,GAAA,SAAA;CAC3C,MAAA,UAAQ,2BAAS;CAEjB,QAAA,SAEE;CAIF,UAAM,OAAA,QAAc,IAAM,aAAA,gBAAA,2FAAA;CAE1B,MAAM,cAAU,MAAU;OACxB,UAAc,UAAK,UAAA;EACnB,cAAU,KAAA;EACV,IAAA,MAAO,kBAAW;EAElB,OAAO,SAAS,EAAA;EACjB,OAAA,KAAA,IAAA;CAED,CAAA;CACA,MAAM,aAAQ,cAAc,QAAQ,UAAU,MAAM,aAAY,EAAA;CAEhE,MAAA,QAAQ,cACN,QACC,UAAY,MAAA,UAAA,EAAA;SACN,eAAe,QAAO,YAAA;EAC3B,IAAI,CAAA,eAAc,OAAA;EAClB,IAAA,OAAO,OAAA,oBAAA,UAAA,CAAA,CAAA;EACT,OACC;CAGH,GAAA,CAAA,eAAQ,KAAA,CAAA;SACN;EACA;EAIA,cAAA;EACA,iBAAG;EACH,GAAA;EACF;CAEA;CAEA,QAAO,UAAA,KAAA;CAEX,OAAA;;;;;;;;;;;;;;;;;;;MAuBE,iBAAqB,WADH,SAAA,eACqB,OAAA;CACxC,OAAA,cAAA,SAAA,kBAAA,KAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { t as ComboboxStore } from "../combobox-store-DEVQ45mZ.js";
2
- import { n as DialogDisclosureOptions } from "../dialog-disclosure-DLD10zlb.js";
2
+ import { n as DialogDisclosureOptions } from "../dialog-disclosure-DSESk5pv.js";
3
3
  import { Props } from "@ariakit/react-utils";
4
4
  import { ElementType } from "react";
5
5
 
@@ -46,7 +46,7 @@ declare const useComboboxDisclosure: import("@ariakit/react-utils").Hook<"button
46
46
  * </ComboboxProvider>
47
47
  * ```
48
48
  */
49
- declare const ComboboxDisclosure: (props: ComboboxDisclosureProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
49
+ declare const ComboboxDisclosure: (props: ComboboxDisclosureProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
50
50
  interface ComboboxDisclosureOptions<T extends ElementType = TagName> extends DialogDisclosureOptions<T> {
51
51
  /**
52
52
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-disclosure.d.ts","names":["Props","ElementType","DialogDisclosureOptions","ComboboxStore","TagName","useComboboxDisclosure","ComboboxDisclosureOptions","Hook","ComboboxDisclosure","ComboboxDisclosureProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/combobox/combobox-disclosure.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAkB7B;;;;AAAmH;AAuBnH;;AA3CyD,cAoBpCC,qBAAAA,iCAAsDE,IAAAA,WAAeD,yBAAyB;;;;;;;AAuB0C;AAC7J;;;;;;;;;;;;;;;cADqBE,kBAAAA,GAAqBE,KAAAA,EAAOD,uBAAuB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UACvHN,yBAAAA,WAAoCL,WAAAA,GAAcG,OAAAA,UAAiBF,uBAAAA,CAAwBW,CAAAA;EAQnF;AAAA;AAEzB;;;;;EAFIC,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,uBAAAA,WAAkCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,yBAAAA,CAA0BO,CAAAA"}
1
+ {"version":3,"file":"combobox-disclosure.d.ts","names":["Props","ElementType","DialogDisclosureOptions","ComboboxStore","TagName","useComboboxDisclosure","ComboboxDisclosureOptions","Hook","ComboboxDisclosure","ComboboxDisclosureProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/combobox/combobox-disclosure.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAkB7B;;;;AAAmH;AAuBnH;;AA3CyD,cAoBpCC,qBAAAA,iCAAsDE,IAAAA,WAAeD,yBAAyB;;;;;;;AAuB8C;AACjK;;;;;;;;;;;;;;;cADqBE,kBAAAA,GAAqBE,KAAAA,EAAOD,uBAAuB,qBAAqBE,YAAAA,mCAA+CC,qBAAAA;AAAAA,UAC3HN,yBAAAA,WAAoCL,WAAAA,GAAcG,OAAAA,UAAiBF,uBAAAA,CAAwBW,CAAAA;EAQnF;AAAA;AAEzB;;;;;EAFIC,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,uBAAAA,WAAkCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,yBAAAA,CAA0BO,CAAAA"}
@@ -41,7 +41,7 @@ const children = /* @__PURE__ */ jsx("svg", {
41
41
  const useComboboxDisclosure = createHook(function useComboboxDisclosure({ store, ...props }) {
42
42
  const context = useComboboxProviderContext();
43
43
  store = store || context;
44
- invariant(store, "ComboboxDisclosure must receive a `store` prop or be wrapped in a ComboboxProvider component.");
44
+ invariant(store, process.env.NODE_ENV !== "production" && "ComboboxDisclosure must receive a `store` prop or be wrapped in a ComboboxProvider component.");
45
45
  const onMouseDownProp = props.onMouseDown;
46
46
  const onMouseDown = useEvent((event) => {
47
47
  onMouseDownProp?.(event);
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-disclosure.js","names":[],"sources":["../../src/combobox/combobox-disclosure.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useEvent,\n useSafeLayoutEffect,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport { invariant } from \"@ariakit/utils\";\nimport type { ElementType, MouseEvent } from \"react\";\nimport type { DialogDisclosureOptions } from \"../dialog/dialog-disclosure.tsx\";\nimport { useDialogDisclosure } from \"../dialog/dialog-disclosure.tsx\";\nimport { useComboboxProviderContext } from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"button\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\nconst children = (\n <svg\n aria-hidden=\"true\"\n display=\"block\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n viewBox=\"0 0 16 16\"\n height=\"1em\"\n width=\"1em\"\n pointerEvents=\"none\"\n >\n <polyline points=\"4,6 8,10 12,6\" />\n </svg>\n);\n\n/**\n * Returns props to create a `ComboboxDisclosure` component that toggles the\n * combobox popover visibility when clicked.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxDisclosure({ store });\n * <Combobox store={store} />\n * <Role {...props} />\n * <ComboboxPopover store={store}>\n * <ComboboxItem value=\"Item 1\" />\n * <ComboboxItem value=\"Item 2\" />\n * <ComboboxItem value=\"Item 3\" />\n * </ComboboxPopover>\n * ```\n */\nexport const useComboboxDisclosure = createHook<\n TagName,\n ComboboxDisclosureOptions\n>(function useComboboxDisclosure({ store, ...props }) {\n const context = useComboboxProviderContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxDisclosure must receive a `store` prop or be wrapped in a ComboboxProvider component.\",\n );\n\n const onMouseDownProp = props.onMouseDown;\n\n const onMouseDown = useEvent((event: MouseEvent<HTMLType>) => {\n onMouseDownProp?.(event);\n // We have to prevent the element from getting focused on mousedown.\n event.preventDefault();\n // This will immediately move focus to the combobox input.\n store?.move(null);\n });\n\n const onClickProp = props.onClick;\n\n const onClick = useEvent((event: MouseEvent<HTMLType>) => {\n onClickProp?.(event);\n if (event.defaultPrevented) return;\n if (!store) return;\n const { baseElement } = store.getState();\n store.setDisclosureElement(baseElement);\n });\n\n const baseElement = useStoreState(store, \"baseElement\");\n const open = useStoreState(store, \"open\");\n\n // The combobox input should remain the disclosure element so focus and Escape\n // handling keep working when the popover is already open on mount.\n useSafeLayoutEffect(() => {\n if (!baseElement) return;\n store.setDisclosureElement(baseElement);\n }, [store, baseElement]);\n\n props = {\n children,\n tabIndex: -1,\n \"aria-label\": open ? \"Hide popup\" : \"Show popup\",\n \"aria-expanded\": open,\n ...props,\n onMouseDown,\n onClick,\n };\n\n // We're using DialogDisclosure, and not PopoverDisclosure, because\n // PopoverDisclosure will also update the `store.anchorRef` with the\n // disclosure element. We need to keep the combobox input as the anchorRef.\n props = useDialogDisclosure({ store, ...props });\n\n return props;\n});\n\n/**\n * Renders a combobox disclosure button that toggles the\n * [`ComboboxPopover`](https://ariakit.com/reference/combobox-popover) element's\n * visibility when clicked.\n *\n * Although this button is not tabbable, it remains accessible to screen reader\n * users. On clicking, it automatically shifts focus to the\n * [`Combobox`](https://ariakit.com/reference/combobox) element.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {3}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxDisclosure />\n * <ComboboxPopover>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxDisclosure = forwardRef(function ComboboxDisclosure(\n props: ComboboxDisclosureProps,\n) {\n const htmlProps = useComboboxDisclosure(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface ComboboxDisclosureOptions<\n T extends ElementType = TagName,\n> extends DialogDisclosureOptions<T> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxProvider`](https://ariakit.com/reference/combobox-provider)\n * component's context will be used.\n */\n store?: ComboboxStore;\n}\n\nexport type ComboboxDisclosureProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxDisclosureOptions<T>\n>;\n"],"mappings":";;;;;;;;AAoBA,MAAM,UAAA;MAEF,WAAY,oBAAA,OAAA;CACZ,eAAQ;CACR,SAAK;CACL,MAAA;CACA,QAAA;CACA,eAAA;CACA,gBAAa;CACb,aAAQ;CACR,SAAO;CACP,QAAM;CACN,OAAA;gBAEA;CACG,UAAA,oBAAA,YAAA,EAAA,QAAA,gBAAA,CAAA;;;;;;;;;;;;;;;;;;;MAwBL,wBAAgB,WAAA,SAA2B,sBAAA,EAAA,OAAA,GAAA,SAAA;CAC3C,MAAA,UAAQ,2BAAS;CAEjB,QAAA,SAGI;CAGJ,UAAM,OAAA,+FAAwB;CAE9B,MAAM,kBAAc,MAAU;OAC5B,cAAkB,UAAK,UAAA;EAEvB,kBAAM,KAAe;EAErB,MAAA,eAAgB;EACjB,OAAA,KAAA,IAAA;CAED,CAAA;CAEA,MAAM,cAAU,MAAU;OACxB,UAAc,UAAK,UAAA;EACnB,cAAU,KAAA;EACV,IAAI,MAAC,kBAAO;EACZ,IAAA,CAAA,OAAQ;EACR,MAAM,EAAA,gBAAA,MAAqB,SAAW;EACvC,MAAA,qBAAA,WAAA;CAED,CAAA;CACA,MAAM,cAAO,cAAqB,OAAM,aAAA;CAIxC,MAAA,OAAA,cAA0B,OAAA,MAAA;2BACN;EAClB,IAAA,CAAA,aAAM;EACR,MAAI,qBAAmB,WAAA;CAEvB,GAAA,CAAA,OAAQ,WAAA,CAAA;SACN;EACA;EACA,UAAA;EACA,cAAA,OAAiB,eAAA;EACjB,iBAAG;EACH,GAAA;EACA;EACF;CAKA;SAA8B,oBAAA;EAAO;EAAU,GAAA;CAE/C,CAAA;CACD,OAAA;;;;;;;;;;;;;;;;;;;;;;;;MA4BC,qBAAqB,WADH,SAAA,mBACqB,OAAA;CACxC,OAAA,cAAA,SAAA,sBAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"combobox-disclosure.js","names":[],"sources":["../../src/combobox/combobox-disclosure.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useEvent,\n useSafeLayoutEffect,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport { invariant } from \"@ariakit/utils\";\nimport type { ElementType, MouseEvent } from \"react\";\nimport type { DialogDisclosureOptions } from \"../dialog/dialog-disclosure.tsx\";\nimport { useDialogDisclosure } from \"../dialog/dialog-disclosure.tsx\";\nimport { useComboboxProviderContext } from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"button\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\nconst children = (\n <svg\n aria-hidden=\"true\"\n display=\"block\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n viewBox=\"0 0 16 16\"\n height=\"1em\"\n width=\"1em\"\n pointerEvents=\"none\"\n >\n <polyline points=\"4,6 8,10 12,6\" />\n </svg>\n);\n\n/**\n * Returns props to create a `ComboboxDisclosure` component that toggles the\n * combobox popover visibility when clicked.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxDisclosure({ store });\n * <Combobox store={store} />\n * <Role {...props} />\n * <ComboboxPopover store={store}>\n * <ComboboxItem value=\"Item 1\" />\n * <ComboboxItem value=\"Item 2\" />\n * <ComboboxItem value=\"Item 3\" />\n * </ComboboxPopover>\n * ```\n */\nexport const useComboboxDisclosure = createHook<\n TagName,\n ComboboxDisclosureOptions\n>(function useComboboxDisclosure({ store, ...props }) {\n const context = useComboboxProviderContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxDisclosure must receive a `store` prop or be wrapped in a ComboboxProvider component.\",\n );\n\n const onMouseDownProp = props.onMouseDown;\n\n const onMouseDown = useEvent((event: MouseEvent<HTMLType>) => {\n onMouseDownProp?.(event);\n // We have to prevent the element from getting focused on mousedown.\n event.preventDefault();\n // This will immediately move focus to the combobox input.\n store?.move(null);\n });\n\n const onClickProp = props.onClick;\n\n const onClick = useEvent((event: MouseEvent<HTMLType>) => {\n onClickProp?.(event);\n if (event.defaultPrevented) return;\n if (!store) return;\n const { baseElement } = store.getState();\n store.setDisclosureElement(baseElement);\n });\n\n const baseElement = useStoreState(store, \"baseElement\");\n const open = useStoreState(store, \"open\");\n\n // The combobox input should remain the disclosure element so focus and Escape\n // handling keep working when the popover is already open on mount.\n useSafeLayoutEffect(() => {\n if (!baseElement) return;\n store.setDisclosureElement(baseElement);\n }, [store, baseElement]);\n\n props = {\n children,\n tabIndex: -1,\n \"aria-label\": open ? \"Hide popup\" : \"Show popup\",\n \"aria-expanded\": open,\n ...props,\n onMouseDown,\n onClick,\n };\n\n // We're using DialogDisclosure, and not PopoverDisclosure, because\n // PopoverDisclosure will also update the `store.anchorRef` with the\n // disclosure element. We need to keep the combobox input as the anchorRef.\n props = useDialogDisclosure({ store, ...props });\n\n return props;\n});\n\n/**\n * Renders a combobox disclosure button that toggles the\n * [`ComboboxPopover`](https://ariakit.com/reference/combobox-popover) element's\n * visibility when clicked.\n *\n * Although this button is not tabbable, it remains accessible to screen reader\n * users. On clicking, it automatically shifts focus to the\n * [`Combobox`](https://ariakit.com/reference/combobox) element.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {3}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxDisclosure />\n * <ComboboxPopover>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxDisclosure = forwardRef(function ComboboxDisclosure(\n props: ComboboxDisclosureProps,\n) {\n const htmlProps = useComboboxDisclosure(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface ComboboxDisclosureOptions<\n T extends ElementType = TagName,\n> extends DialogDisclosureOptions<T> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxProvider`](https://ariakit.com/reference/combobox-provider)\n * component's context will be used.\n */\n store?: ComboboxStore;\n}\n\nexport type ComboboxDisclosureProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxDisclosureOptions<T>\n>;\n"],"mappings":";;;;;;;;AAoBA,MAAM,UAAA;MAEF,WAAY,oBAAA,OAAA;CACZ,eAAQ;CACR,SAAK;CACL,MAAA;CACA,QAAA;CACA,eAAA;CACA,gBAAa;CACb,aAAQ;CACR,SAAO;CACP,QAAM;CACN,OAAA;gBAEA;CACG,UAAA,oBAAA,YAAA,EAAA,QAAA,gBAAA,CAAA;;;;;;;;;;;;;;;;;;;MAwBL,wBAAgB,WAAA,SAA2B,sBAAA,EAAA,OAAA,GAAA,SAAA;CAC3C,MAAA,UAAQ,2BAAS;CAEjB,QAAA,SAEE;CAIF,UAAM,OAAA,QAAkB,IAAA,aAAM,gBAAA,+FAAA;CAE9B,MAAM,kBAAc,MAAU;OAC5B,cAAkB,UAAK,UAAA;EAEvB,kBAAM,KAAe;EAErB,MAAA,eAAgB;EACjB,OAAA,KAAA,IAAA;CAED,CAAA;CAEA,MAAM,cAAU,MAAU;OACxB,UAAc,UAAK,UAAA;EACnB,cAAU,KAAA;EACV,IAAI,MAAC,kBAAO;EACZ,IAAA,CAAA,OAAQ;EACR,MAAM,EAAA,gBAAA,MAAqB,SAAW;EACvC,MAAA,qBAAA,WAAA;CAED,CAAA;CACA,MAAM,cAAO,cAAqB,OAAM,aAAA;CAIxC,MAAA,OAAA,cAA0B,OAAA,MAAA;2BACN;EAClB,IAAA,CAAA,aAAM;EACR,MAAI,qBAAmB,WAAA;CAEvB,GAAA,CAAA,OAAQ,WAAA,CAAA;SACN;EACA;EACA,UAAA;EACA,cAAA,OAAiB,eAAA;EACjB,iBAAG;EACH,GAAA;EACA;EACF;CAKA;SAA8B,oBAAA;EAAO;EAAU,GAAA;CAE/C,CAAA;CACD,OAAA;;;;;;;;;;;;;;;;;;;;;;;;MA4BC,qBAAqB,WADH,SAAA,mBACqB,OAAA;CACxC,OAAA,cAAA,SAAA,sBAAA,KAAA,CAAA"}
@@ -38,7 +38,7 @@ declare const useComboboxGroupLabel: import("@ariakit/react-utils").Hook<"div",
38
38
  * </ComboboxProvider>
39
39
  * ```
40
40
  */
41
- declare const ComboboxGroupLabel: (props: ComboboxGroupLabelProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
41
+ declare const ComboboxGroupLabel: (props: ComboboxGroupLabelProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
42
42
  interface ComboboxGroupLabelOptions<T extends ElementType = TagName> extends CompositeGroupLabelOptions<T> {
43
43
  /**
44
44
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-group-label.d.ts","names":["Props","ElementType","CompositeGroupLabelOptions","ComboboxStore","TagName","useComboboxGroupLabel","ComboboxGroupLabelOptions","Hook","ComboboxGroupLabel","ComboboxGroupLabelProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/combobox/combobox-group-label.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAa7B;;AAfyD,cAepCC,qBAAAA,iCAAsDE,IAAAA,QAAYD,yBAAyB;;AAAA;AAoBhH;;;;;;;;;AAA6J;AAC7J;;;;;;;cADqBE,kBAAAA,GAAqBE,KAAAA,EAAOD,uBAAuB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UACvHN,yBAAAA,WAAoCL,WAAAA,GAAcG,OAAAA,UAAiBF,0BAAAA,CAA2BW,CAAAA;EAAD;;;;;;;;EAS1GC,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,uBAAAA,WAAkCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,yBAAAA,CAA0BO,CAAAA"}
1
+ {"version":3,"file":"combobox-group-label.d.ts","names":["Props","ElementType","CompositeGroupLabelOptions","ComboboxStore","TagName","useComboboxGroupLabel","ComboboxGroupLabelOptions","Hook","ComboboxGroupLabel","ComboboxGroupLabelProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/combobox/combobox-group-label.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAa7B;;AAfyD,cAepCC,qBAAAA,iCAAsDE,IAAAA,QAAYD,yBAAyB;;AAAA;AAoBhH;;;;;;;;;AAAiK;AACjK;;;;;;;cADqBE,kBAAAA,GAAqBE,KAAAA,EAAOD,uBAAuB,qBAAqBE,YAAAA,mCAA+CC,qBAAAA;AAAAA,UAC3HN,yBAAAA,WAAoCL,WAAAA,GAAcG,OAAAA,UAAiBF,0BAAAA,CAA2BW,CAAAA;EAAD;;;;;;;;EAS1GC,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,uBAAAA,WAAkCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,yBAAAA,CAA0BO,CAAAA"}
@@ -45,7 +45,7 @@ declare const useComboboxGroup: import("@ariakit/react-utils").Hook<"div", Combo
45
45
  * </ComboboxProvider>
46
46
  * ```
47
47
  */
48
- declare const ComboboxGroup: (props: ComboboxGroupProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
48
+ declare const ComboboxGroup: (props: ComboboxGroupProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
49
49
  interface ComboboxGroupOptions<T extends ElementType = TagName> extends CompositeGroupOptions<T> {
50
50
  /**
51
51
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-group.d.ts","names":["Props","ElementType","CompositeGroupOptions","ComboboxStore","TagName","useComboboxGroup","ComboboxGroupOptions","Hook","ComboboxGroup","ComboboxGroupProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/combobox/combobox-group.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAkB7B;;;;AAAsG;AAsBtG;;AA1CyD,cAoBpCC,gBAAAA,iCAAiDE,IAAAA,QAAYD,oBAAoB;;;;;;;AAsB6C;AACnJ;;;;;;;;;;;;;;cADqBE,aAAAA,GAAgBE,KAAAA,EAAOD,kBAAkB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UAC7GN,oBAAAA,WAA+BL,WAAAA,GAAcG,OAAAA,UAAiBF,qBAAAA,CAAsBW,CAAAA;EASzFV;;AAAa;AAEzB;;;;;EAFIW,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,kBAAAA,WAA6BR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,oBAAAA,CAAqBO,CAAAA"}
1
+ {"version":3,"file":"combobox-group.d.ts","names":["Props","ElementType","CompositeGroupOptions","ComboboxStore","TagName","useComboboxGroup","ComboboxGroupOptions","Hook","ComboboxGroup","ComboboxGroupProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/combobox/combobox-group.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAkB7B;;;;AAAsG;AAsBtG;;AA1CyD,cAoBpCC,gBAAAA,iCAAiDE,IAAAA,QAAYD,oBAAoB;;;;;;;AAsBiD;AACvJ;;;;;;;;;;;;;;cADqBE,aAAAA,GAAgBE,KAAAA,EAAOD,kBAAkB,qBAAqBE,YAAAA,mCAA+CC,qBAAAA;AAAAA,UACjHN,oBAAAA,WAA+BL,WAAAA,GAAcG,OAAAA,UAAiBF,qBAAAA,CAAsBW,CAAAA;EASzFV;;AAAa;AAEzB;;;;;EAFIW,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,kBAAAA,WAA6BR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,oBAAAA,CAAqBO,CAAAA"}
@@ -26,7 +26,7 @@ const TagName = "div";
26
26
  const useComboboxGroup = createHook(function useComboboxGroup({ store, ...props }) {
27
27
  const context = useComboboxScopedContext();
28
28
  store = store || context;
29
- invariant(store, "ComboboxRow must be wrapped in a ComboboxList or ComboboxPopover component");
29
+ invariant(store, process.env.NODE_ENV !== "production" && "ComboboxRow must be wrapped in a ComboboxList or ComboboxPopover component");
30
30
  if (getPopupRole(useStoreState(store, "contentElement")) === "grid") props = {
31
31
  role: "rowgroup",
32
32
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-group.js","names":[],"sources":["../../src/combobox/combobox-group.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport { createElement, createHook, forwardRef } from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport { getPopupRole, invariant } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport type { CompositeGroupOptions } from \"../composite/composite-group.tsx\";\nimport { useCompositeGroup } from \"../composite/composite-group.tsx\";\nimport { useComboboxScopedContext } from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\n\n/**\n * Returns props to create a `ComboboxGroup` component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxGroup({ store });\n * <Combobox store={store} />\n * <ComboboxPopover store={store}>\n * <Role {...props}>\n * <ComboboxGroupLabel>Label</ComboboxGroupLabel>\n * <ComboboxItem value=\"Item 1\" />\n * <ComboboxItem value=\"Item 2\" />\n * </Role>\n * </ComboboxPopover>\n * ```\n */\nexport const useComboboxGroup = createHook<TagName, ComboboxGroupOptions>(\n function useComboboxGroup({ store, ...props }) {\n const context = useComboboxScopedContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxRow must be wrapped in a ComboboxList or ComboboxPopover component\",\n );\n\n const contentElement = useStoreState(store, \"contentElement\");\n const popupRole = getPopupRole(contentElement);\n\n if (popupRole === \"grid\") {\n props = { role: \"rowgroup\", ...props };\n }\n\n props = useCompositeGroup({ store, ...props });\n\n return props;\n },\n);\n\n/**\n * Renders a group for\n * [`ComboboxItem`](https://ariakit.com/reference/combobox-item) elements.\n * Optionally, a\n * [`ComboboxGroupLabel`](https://ariakit.com/reference/combobox-group-label)\n * can be rendered as a child to provide a label for the group.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {4-8}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxPopover>\n * <ComboboxGroup>\n * <ComboboxGroupLabel>Fruits</ComboboxGroupLabel>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * </ComboboxGroup>\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxGroup = forwardRef(function ComboboxGroup(\n props: ComboboxGroupProps,\n) {\n const htmlProps = useComboboxGroup(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface ComboboxGroupOptions<\n T extends ElementType = TagName,\n> extends CompositeGroupOptions<T> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxList`](https://ariakit.com/reference/combobox-list) or\n * [`ComboboxPopover`](https://ariakit.com/reference/combobox-popover)\n * components' context will be used.\n */\n store?: ComboboxStore;\n}\n\nexport type ComboboxGroupProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxGroupOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAgCI,mBAAgB,WAAA,SAAyB,iBAAA,EAAA,OAAA,GAAA,SAAA;CACzC,MAAA,UAAQ,yBAAS;CAEjB,QAAA,SAGI;CAMJ,UAFkB,OADK,4EAIb;KAAE,aAAM,cAAA,OAAA,gBAAA,CAAA,MAAA,QAAA,QAAA;EAAY,MAAG;EAAM,GAAA;CAGvC;SAA4B,kBAAA;EAAO;EAAU,GAAA;CAE7C,CAAA;CAEJ,OAAA;;;;;;;;;;;;;;;;;;;;;;;MA2BE,gBAAqB,WADH,SAAA,cACqB,OAAA;CACxC,OAAA,cAAA,SAAA,iBAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"combobox-group.js","names":[],"sources":["../../src/combobox/combobox-group.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport { createElement, createHook, forwardRef } from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport { getPopupRole, invariant } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport type { CompositeGroupOptions } from \"../composite/composite-group.tsx\";\nimport { useCompositeGroup } from \"../composite/composite-group.tsx\";\nimport { useComboboxScopedContext } from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\n\n/**\n * Returns props to create a `ComboboxGroup` component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxGroup({ store });\n * <Combobox store={store} />\n * <ComboboxPopover store={store}>\n * <Role {...props}>\n * <ComboboxGroupLabel>Label</ComboboxGroupLabel>\n * <ComboboxItem value=\"Item 1\" />\n * <ComboboxItem value=\"Item 2\" />\n * </Role>\n * </ComboboxPopover>\n * ```\n */\nexport const useComboboxGroup = createHook<TagName, ComboboxGroupOptions>(\n function useComboboxGroup({ store, ...props }) {\n const context = useComboboxScopedContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxRow must be wrapped in a ComboboxList or ComboboxPopover component\",\n );\n\n const contentElement = useStoreState(store, \"contentElement\");\n const popupRole = getPopupRole(contentElement);\n\n if (popupRole === \"grid\") {\n props = { role: \"rowgroup\", ...props };\n }\n\n props = useCompositeGroup({ store, ...props });\n\n return props;\n },\n);\n\n/**\n * Renders a group for\n * [`ComboboxItem`](https://ariakit.com/reference/combobox-item) elements.\n * Optionally, a\n * [`ComboboxGroupLabel`](https://ariakit.com/reference/combobox-group-label)\n * can be rendered as a child to provide a label for the group.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {4-8}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxPopover>\n * <ComboboxGroup>\n * <ComboboxGroupLabel>Fruits</ComboboxGroupLabel>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * </ComboboxGroup>\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxGroup = forwardRef(function ComboboxGroup(\n props: ComboboxGroupProps,\n) {\n const htmlProps = useComboboxGroup(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface ComboboxGroupOptions<\n T extends ElementType = TagName,\n> extends CompositeGroupOptions<T> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxList`](https://ariakit.com/reference/combobox-list) or\n * [`ComboboxPopover`](https://ariakit.com/reference/combobox-popover)\n * components' context will be used.\n */\n store?: ComboboxStore;\n}\n\nexport type ComboboxGroupProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxGroupOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAgCI,mBAAgB,WAAA,SAAyB,iBAAA,EAAA,OAAA,GAAA,SAAA;CACzC,MAAA,UAAQ,yBAAS;CAEjB,QAAA,SAEE;CAOF,UAFkB,OADK,QAAA,IAAA,aAAqB,gBAGhC,4EACF;KAAE,aAAM,cAAA,OAAA,gBAAA,CAAA,MAAA,QAAA,QAAA;EAAY,MAAG;EAAM,GAAA;CAGvC;SAA4B,kBAAA;EAAO;EAAU,GAAA;CAE7C,CAAA;CAEJ,OAAA;;;;;;;;;;;;;;;;;;;;;;;MA2BE,gBAAqB,WADH,SAAA,cACqB,OAAA;CACxC,OAAA,cAAA,SAAA,iBAAA,KAAA,CAAA"}
@@ -46,7 +46,7 @@ declare const useComboboxItemCheck: import("@ariakit/react-utils").Hook<"span",
46
46
  * </ComboboxProvider>
47
47
  * ```
48
48
  */
49
- declare const ComboboxItemCheck: (props: ComboboxItemCheckProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
49
+ declare const ComboboxItemCheck: (props: ComboboxItemCheckProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
50
50
  interface ComboboxItemCheckOptions<T extends ElementType = TagName> extends CheckboxCheckOptions<T> {
51
51
  /**
52
52
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-item-check.d.ts","names":["Props","ElementType","CheckboxCheckOptions","ComboboxStore","TagName","useComboboxItemCheck","ComboboxItemCheckOptions","Hook","ComboboxItemCheck","ComboboxItemCheckProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/combobox/combobox-item-check.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAY7B;AAdyD,cAcpCC,oBAAAA,iCAAqDE,IAAAA,SAAaD,wBAAwB;;;AAAA;AA6B/G;;;;;;;;;AAA2J;AAC3J;;;;;;;;;;;;;;;cADqBE,iBAAAA,GAAoBE,KAAAA,EAAOD,sBAAsB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UACrHN,wBAAAA,WAAmCL,WAAAA,GAAcG,OAAAA,UAAiBF,oBAAAA,CAAqBW,CAAAA;EAM/E;AAAA;AAEzB;;;EAFIC,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,sBAAAA,WAAiCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,wBAAAA,CAAyBO,CAAAA"}
1
+ {"version":3,"file":"combobox-item-check.d.ts","names":["Props","ElementType","CheckboxCheckOptions","ComboboxStore","TagName","useComboboxItemCheck","ComboboxItemCheckOptions","Hook","ComboboxItemCheck","ComboboxItemCheckProps","props","ReactElement","JSXElementConstructor","T","store"],"sources":["../../src/combobox/combobox-item-check.d.ts"],"mappings":";;;;;;cAIcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAY7B;AAdyD,cAcpCC,oBAAAA,iCAAqDE,IAAAA,SAAaD,wBAAwB;;;AAAA;AA6B/G;;;;;;;;;AAA+J;AAC/J;;;;;;;;;;;;;;;cADqBE,iBAAAA,GAAoBE,KAAAA,EAAOD,sBAAsB,qBAAqBE,YAAAA,mCAA+CC,qBAAAA;AAAAA,UACzHN,wBAAAA,WAAmCL,WAAAA,GAAcG,OAAAA,UAAiBF,oBAAAA,CAAqBW,CAAAA;EAM/E;AAAA;AAEzB;;;EAFIC,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,sBAAAA,WAAiCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,wBAAAA,CAAyBO,CAAAA"}
@@ -66,7 +66,7 @@ declare const useComboboxItemValue: import("@ariakit/react-utils").Hook<"span",
66
66
  * </span>
67
67
  * ```
68
68
  */
69
- declare const ComboboxItemValue: (props: ComboboxItemValueProps) => ReactElement<any, string | import("react").JSXElementConstructor<any>>;
69
+ declare const ComboboxItemValue: (props: ComboboxItemValueProps) => ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
70
70
  interface ComboboxItemValueOptions<_T extends ElementType = TagName> extends Options {
71
71
  /**
72
72
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-item-value.d.ts","names":["Options","Props","ElementType","ReactElement","ComboboxStore","TagName","useComboboxItemValue","ComboboxItemValueOptions","Hook","ComboboxItemValue","ComboboxItemValueProps","props","JSXElementConstructor","_T","store","value","userValue","T"],"sources":["../../src/combobox/combobox-item-value.d.ts"],"mappings":";;;;;cAGcK,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAsB7B;;;;AAA+G;AAwC/G;;;;;;AAhEyD,cAwBpCC,oBAAAA,iCAAqDE,IAAAA,SAAaD,wBAAwB;;;AAwC4B;AAC3I;;;;;;;;;;;;;;;;;;AA4Ba;AAEb;;;;;;;;;;;;;;;;;cA/BqBE,iBAAAA,GAAoBE,KAAAA,EAAOD,sBAAAA,KAA2BP,YAAY,+BAA+BS,qBAAAA;AAAAA,UACrGL,wBAAAA,YAAoCL,WAAAA,GAAcG,OAAAA,UAAiBL,OAAAA;EA8BqB;;;;;;;;EArBrGc,KAAAA,GAAQV,aAAAA;;;;;;;;;;EAURW,KAAAA;;;;;;;;;EASAC,SAAAA;AAAAA;AAAAA,KAEQN,sBAAAA,WAAiCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMgB,CAAAA,EAAGV,wBAAAA,CAAyBU,CAAAA"}
1
+ {"version":3,"file":"combobox-item-value.d.ts","names":["Options","Props","ElementType","ReactElement","ComboboxStore","TagName","useComboboxItemValue","ComboboxItemValueOptions","Hook","ComboboxItemValue","ComboboxItemValueProps","props","JSXElementConstructor","_T","store","value","userValue","T"],"sources":["../../src/combobox/combobox-item-value.d.ts"],"mappings":";;;;;cAGcK,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAsB7B;;;;AAA+G;AAwC/G;;;;;;AAhEyD,cAwBpCC,oBAAAA,iCAAqDE,IAAAA,SAAaD,wBAAwB;;;AAwCgC;AAC/I;;;;;;;;;;;;;;;;;;AA4Ba;AAEb;;;;;;;;;;;;;;;;;cA/BqBE,iBAAAA,GAAoBE,KAAAA,EAAOD,sBAAAA,KAA2BP,YAAY,mCAAmCS,qBAAAA;AAAAA,UACzGL,wBAAAA,YAAoCL,WAAAA,GAAcG,OAAAA,UAAiBL,OAAAA;EA8BqB;;;;;;;;EArBrGc,KAAAA,GAAQV,aAAAA;;;;;;;;;;EAURW,KAAAA;;;;;;;;;EASAC,SAAAA;AAAAA;AAAAA,KAEQN,sBAAAA,WAAiCR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMgB,CAAAA,EAAGV,wBAAAA,CAAyBU,CAAAA"}
@@ -1,6 +1,6 @@
1
1
  import { t as ComboboxStore } from "../combobox-store-DEVQ45mZ.js";
2
- import { n as CompositeItemOptions } from "../composite-item-B4WTelVz.js";
3
- import { n as CompositeHoverOptions } from "../composite-hover-C7ul163w.js";
2
+ import { n as CompositeItemOptions } from "../composite-item-d4UXaZ84.js";
3
+ import { n as CompositeHoverOptions } from "../composite-hover-BpXq3T8J.js";
4
4
  import { Props } from "@ariakit/react-utils";
5
5
  import { ElementType, MouseEvent } from "react";
6
6
  import { BooleanOrCallback } from "@ariakit/utils";
@@ -40,7 +40,7 @@ declare const useComboboxItem: import("@ariakit/react-utils").Hook<"div", Combob
40
40
  * </ComboboxProvider>
41
41
  * ```
42
42
  */
43
- declare const ComboboxItem: (props: ComboboxItemProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
43
+ declare const ComboboxItem: (props: ComboboxItemProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
44
44
  interface ComboboxItemOptions<T extends ElementType = TagName> extends CompositeItemOptions<T>, CompositeHoverOptions<T> {
45
45
  /**
46
46
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-item.d.ts","names":["Props","BooleanOrCallback","ElementType","MouseEvent","CompositeHoverOptions","CompositeItemOptions","ComboboxStore","TagName","useComboboxItem","ComboboxItemOptions","Hook","ComboboxItem","ComboboxItemProps","props","ReactElement","JSXElementConstructor","T","HTMLElement","store","value","hideOnClick","setValueOnClick","selectValueOnClick","resetValueOnSelect","focusOnHover"],"sources":["../../src/combobox/combobox-item.d.ts"],"mappings":";;;;;;;;cAMcO,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAF4B,cAapCC,eAAAA,iCAAgDE,IAAAA,QAAYD,mBAAmB;;;;AAAA;AAsBpG;;;;;;;;;AAAiJ;AACjJ;;;;;;;cADqBE,YAAAA,GAAeE,KAAAA,EAAOD,iBAAiB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UAC3GN,mBAAAA,WAA8BP,WAAAA,GAAcK,OAAAA,UAAiBF,oBAAAA,CAAqBW,CAAAA,GAAIZ,qBAAAA,CAAsBY,CAAAA;EAuDzFb;;;;;;;;;;;EA3ChCe,KAAAA,GAAQZ,aAAAA;EAZkED;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC1Ec,KAAAA;EAsDqBlB;;;;;;AAIe;AAExC;;;;;;;;EA5CImB,WAAAA,GAAcnB,iBAAAA,CAAkBE,UAAAA,CAAWc,WAAAA;EA4CuB;;;;;;;;;;AAAyB;;;EA9B3FI,eAAAA,GAAkBpB,iBAAAA,CAAkBE,UAAAA,CAAWc,WAAAA;;;;;;;;;;;;;;EAc/CK,kBAAAA,GAAqBrB,iBAAAA,CAAkBE,UAAAA,CAAWc,WAAAA;;;;;;;;;;EAUlDM,kBAAAA,GAAqBtB,iBAAAA,CAAkBE,UAAAA,CAAWc,WAAAA;;;;EAIlDO,YAAAA,GAAepB,qBAAAA;AAAAA;AAAAA,KAEPQ,iBAAAA,WAA4BV,WAAAA,GAAcK,OAAAA,IAAWP,KAAAA,CAAMgB,CAAAA,EAAGP,mBAAAA,CAAoBO,CAAAA"}
1
+ {"version":3,"file":"combobox-item.d.ts","names":["Props","BooleanOrCallback","ElementType","MouseEvent","CompositeHoverOptions","CompositeItemOptions","ComboboxStore","TagName","useComboboxItem","ComboboxItemOptions","Hook","ComboboxItem","ComboboxItemProps","props","ReactElement","JSXElementConstructor","T","HTMLElement","store","value","hideOnClick","setValueOnClick","selectValueOnClick","resetValueOnSelect","focusOnHover"],"sources":["../../src/combobox/combobox-item.d.ts"],"mappings":";;;;;;;;cAMcO,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAF4B,cAapCC,eAAAA,iCAAgDE,IAAAA,QAAYD,mBAAmB;;;;AAAA;AAsBpG;;;;;;;;;AAAqJ;AACrJ;;;;;;;cADqBE,YAAAA,GAAeE,KAAAA,EAAOD,iBAAiB,qBAAqBE,YAAAA,mCAA+CC,qBAAAA;AAAAA,UAC/GN,mBAAAA,WAA8BP,WAAAA,GAAcK,OAAAA,UAAiBF,oBAAAA,CAAqBW,CAAAA,GAAIZ,qBAAAA,CAAsBY,CAAAA;EAuDzFb;;;;;;;;;;;EA3ChCe,KAAAA,GAAQZ,aAAAA;EAZkED;;;;;;;;;;;;;;;;;;;;;;;;;;EAuC1Ec,KAAAA;EAsDqBlB;;;;;;AAIe;AAExC;;;;;;;;EA5CImB,WAAAA,GAAcnB,iBAAAA,CAAkBE,UAAAA,CAAWc,WAAAA;EA4CuB;;;;;;;;;;AAAyB;;;EA9B3FI,eAAAA,GAAkBpB,iBAAAA,CAAkBE,UAAAA,CAAWc,WAAAA;;;;;;;;;;;;;;EAc/CK,kBAAAA,GAAqBrB,iBAAAA,CAAkBE,UAAAA,CAAWc,WAAAA;;;;;;;;;;EAUlDM,kBAAAA,GAAqBtB,iBAAAA,CAAkBE,UAAAA,CAAWc,WAAAA;;;;EAIlDO,YAAAA,GAAepB,qBAAAA;AAAAA;AAAAA,KAEPQ,iBAAAA,WAA4BV,WAAAA,GAAcK,OAAAA,IAAWP,KAAAA,CAAMgB,CAAAA,EAAGP,mBAAAA,CAAoBO,CAAAA"}
@@ -35,7 +35,7 @@ function getItemRole(popupRole) {
35
35
  const useComboboxItem = createHook(function useComboboxItem({ store, value, hideOnClick, setValueOnClick, selectValueOnClick = true, resetValueOnSelect, focusOnHover = false, moveOnKeyPress = true, getItem: getItemProp, ...props }) {
36
36
  const context = useComboboxScopedContext();
37
37
  store = store || context;
38
- invariant(store, "ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.");
38
+ invariant(store, process.env.NODE_ENV !== "production" && "ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.");
39
39
  const { resetValueOnSelectState, multiSelectable, selected } = useStoreStateObject(store, {
40
40
  resetValueOnSelectState: "resetValueOnSelect",
41
41
  multiSelectable(state) {
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-item.js","names":["key"],"sources":["../../src/combobox/combobox-item.tsx"],"sourcesContent":["import { useStoreStateObject } from \"@ariakit/react-store\";\nimport {\n useBooleanEvent,\n useEvent,\n useWrapElement,\n createElement,\n createHook,\n forwardRef,\n memo,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport {\n isTextField,\n isDownloading,\n isOpeningInNewTab,\n hasFocus,\n invariant,\n} from \"@ariakit/utils\";\nimport type { BooleanOrCallback } from \"@ariakit/utils\";\nimport type { ElementType, KeyboardEvent, MouseEvent } from \"react\";\nimport { useCallback, useContext } from \"react\";\nimport type { CompositeHoverOptions } from \"../composite/composite-hover.tsx\";\nimport { useCompositeHover } from \"../composite/composite-hover.tsx\";\nimport type { CompositeItemOptions } from \"../composite/composite-item.tsx\";\nimport { useCompositeItem } from \"../composite/composite-item.tsx\";\nimport {\n ComboboxItemCheckedContext,\n ComboboxItemValueContext,\n ComboboxListRoleContext,\n useComboboxScopedContext,\n} from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\nfunction isSelected(\n storeValue?: string | readonly string[],\n itemValue?: string,\n) {\n if (itemValue == null) return;\n if (storeValue == null) return false;\n if (Array.isArray(storeValue)) {\n return storeValue.includes(itemValue);\n }\n return storeValue === itemValue;\n}\n\nfunction getItemRole(popupRole?: string) {\n const itemRoleByPopupRole = {\n menu: \"menuitem\",\n listbox: \"option\",\n tree: \"treeitem\",\n };\n const key = popupRole as keyof typeof itemRoleByPopupRole;\n return itemRoleByPopupRole[key] ?? \"option\";\n}\n\n/**\n * Returns props to create a `ComboboxItem` component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxItem({ store, value: \"value\" });\n * <Role {...props} />\n * ```\n */\nexport const useComboboxItem = createHook<TagName, ComboboxItemOptions>(\n function useComboboxItem({\n store,\n value,\n hideOnClick,\n setValueOnClick,\n selectValueOnClick = true,\n resetValueOnSelect,\n focusOnHover = false,\n moveOnKeyPress = true,\n getItem: getItemProp,\n ...props\n }) {\n const context = useComboboxScopedContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.\",\n );\n\n const { resetValueOnSelectState, multiSelectable, selected } =\n useStoreStateObject(store, {\n resetValueOnSelectState: \"resetValueOnSelect\",\n multiSelectable(state) {\n return Array.isArray(state.selectedValue);\n },\n selected(state) {\n return isSelected(state.selectedValue, value);\n },\n });\n\n const getItem = useCallback<NonNullable<CompositeItemOptions[\"getItem\"]>>(\n (item) => {\n const nextItem = { ...item, value };\n if (getItemProp) {\n return getItemProp(nextItem);\n }\n return nextItem;\n },\n [value, getItemProp],\n );\n\n setValueOnClick = setValueOnClick ?? !multiSelectable;\n hideOnClick = hideOnClick ?? (value != null && !multiSelectable);\n\n const onClickProp = props.onClick;\n const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n const selectValueOnClickProp = useBooleanEvent(selectValueOnClick);\n const resetValueOnSelectProp = useBooleanEvent(\n resetValueOnSelect ?? resetValueOnSelectState ?? multiSelectable,\n );\n const hideOnClickProp = useBooleanEvent(hideOnClick);\n\n const onClick = useEvent((event: MouseEvent<HTMLType>) => {\n onClickProp?.(event);\n if (event.defaultPrevented) return;\n if (isDownloading(event)) return;\n if (isOpeningInNewTab(event)) return;\n if (value != null) {\n if (selectValueOnClickProp(event)) {\n if (resetValueOnSelectProp(event)) {\n store?.resetValue();\n }\n store?.setSelectedValue((prevValue) => {\n if (!Array.isArray(prevValue)) return value;\n if (prevValue.includes(value)) {\n return prevValue.filter((v) => v !== value);\n }\n return [...prevValue, value];\n });\n }\n if (setValueOnClickProp(event)) {\n store?.setValue(value);\n }\n }\n if (hideOnClickProp(event)) {\n store?.hide();\n }\n });\n\n const onKeyDownProp = props.onKeyDown;\n\n const onKeyDown = useEvent((event: KeyboardEvent<HTMLType>) => {\n onKeyDownProp?.(event);\n if (event.defaultPrevented) return;\n const baseElement = store?.getState().baseElement;\n if (!baseElement) return;\n if (hasFocus(baseElement)) return;\n // When the combobox is not working with virtual focus, the items will\n // receive DOM focus. Therefore, pressing printable keys will not fill\n // the text field. So we need to programmatically focus on the text\n // field when the user presses printable keys.\n const printable = event.key.length === 1;\n if (printable || event.key === \"Backspace\" || event.key === \"Delete\") {\n queueMicrotask(() => baseElement.focus());\n if (isTextField(baseElement)) {\n // If the combobox element is a text field, we should update the\n // store value with the current's element value. This is necessary\n // because the value may temporarily change based on the currently\n // selected item, but it'll be reset to the original value when the\n // combobox input is focused.\n store?.setValue(baseElement.value);\n }\n }\n });\n\n if (multiSelectable && selected != null) {\n props = {\n \"aria-selected\": selected,\n ...props,\n };\n }\n\n props = useWrapElement(\n props,\n (element) => (\n <ComboboxItemValueContext.Provider value={value}>\n <ComboboxItemCheckedContext.Provider value={selected ?? false}>\n {element}\n </ComboboxItemCheckedContext.Provider>\n </ComboboxItemValueContext.Provider>\n ),\n [value, selected],\n );\n\n const popupRole = useContext(ComboboxListRoleContext);\n\n props = {\n role: getItemRole(popupRole),\n children: value,\n ...props,\n onClick,\n onKeyDown,\n };\n\n const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n\n props = useCompositeItem<TagName>({\n store,\n ...props,\n getItem,\n // Dispatch a custom event on the combobox input when moving to an item\n // with the keyboard so the Combobox component can enable inline\n // autocompletion.\n moveOnKeyPress: (event) => {\n if (!moveOnKeyPressProp(event)) return false;\n const moveEvent = new Event(\"combobox-item-move\");\n const baseElement = store?.getState().baseElement;\n baseElement?.dispatchEvent(moveEvent);\n return true;\n },\n });\n\n props = useCompositeHover({ store, focusOnHover, ...props });\n\n return props;\n },\n);\n\n/**\n * Renders a combobox item inside\n * [`ComboboxList`](https://ariakit.com/reference/combobox-list) or\n * [`ComboboxPopover`](https://ariakit.com/reference/combobox-popover)\n * components.\n *\n * By default, the [`value`](https://ariakit.com/reference/combobox-item#value)\n * prop will be rendered as the children, but this can be overriden.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {4-6}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxPopover>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxItem = memo(\n forwardRef(function ComboboxItem(props: ComboboxItemProps) {\n const htmlProps = useComboboxItem(props);\n return createElement(TagName, htmlProps);\n }),\n);\n\nexport interface ComboboxItemOptions<T extends ElementType = TagName>\n extends CompositeItemOptions<T>, CompositeHoverOptions<T> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxList`](https://ariakit.com/reference/combobox-list) or\n * [`ComboboxPopover`](https://ariakit.com/reference/combobox-popover)\n * components' context will be used.\n *\n * Live examples:\n * - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)\n */\n store?: ComboboxStore;\n /**\n * The value of the item. This will be rendered as the children by default.\n * - If\n * [`setValueOnClick`](https://ariakit.com/reference/combobox-item#setvalueonclick)\n * is set to `true`, this will be the value of the combobox input when the\n * user clicks on this item.\n * - If\n * [`selectValueOnClick`](https://ariakit.com/reference/combobox-item#selectvalueonclick)\n * is set to `true`, this will be the value of the\n * [`selectedValue`](https://ariakit.com/reference/combobox-provider#selectedvalue)\n * state.\n * - If the\n * [`autoComplete`](https://ariakit.com/reference/combobox#autocomplete)\n * prop on the [`Combobox`](https://ariakit.com/reference/combobox)\n * component is set to `both` or `inline`, this will be the value of the\n * combobox input when the combobox loses focus.\n *\n * Live examples:\n * - [Animated Combobox](https://ariakit.com/examples/combobox-animated)\n * - [ComboboxCancel](https://ariakit.com/examples/combobox-cancel)\n * - [ComboboxDisclosure](https://ariakit.com/examples/combobox-disclosure)\n * - [Combobox filtering](https://ariakit.com/examples/combobox-filtering)\n * - [ComboboxGroup](https://ariakit.com/examples/combobox-group)\n * - [Textarea with inline\n * Combobox](https://ariakit.com/examples/combobox-textarea)\n */\n value?: string;\n /**\n * Whether to hide the combobox when this item is clicked. By default, the\n * combobox will be hidden when the user clicks on an item with a\n * [`value`](https://ariakit.com/reference/combobox-item#value) prop, unless\n * the combobox is\n * [multi-selectable](https://ariakit.com/examples/combobox-multiple).\n *\n * Live examples:\n * - [Combobox with links](https://ariakit.com/examples/combobox-links)\n * - [Submenu with\n * Combobox](https://ariakit.com/examples/menu-nested-combobox)\n * - [Command Menu](https://ariakit.com/examples/dialog-combobox-command-menu)\n * - [Command Menu with\n * Tabs](https://ariakit.com/examples/dialog-combobox-tab-command-menu)\n */\n hideOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;\n /**\n * Whether to set the combobox\n * [`value`](https://ariakit.com/reference/combobox-provider#value) state\n * using this item's\n * [`value`](https://ariakit.com/reference/combobox-item#value) when the item\n * is clicked. The default is `true`, unless the combobox is\n * [multi-selectable](https://ariakit.com/examples/combobox-multiple).\n *\n * Live examples:\n * - [Menu with Combobox](https://ariakit.com/examples/menu-combobox)\n * - [Submenu with\n * Combobox](https://ariakit.com/examples/menu-nested-combobox)\n */\n setValueOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;\n /**\n * Whether to set the\n * [`selectedValue`](https://ariakit.com/reference/combobox-provider#selectedvalue)\n * state using this item's\n * [`value`](https://ariakit.com/reference/combobox-item#value) when the item\n * is clicked. If a callback is provided, it will only be invoked if the item\n * has a value.\n *\n * Live examples:\n * - [Submenu with\n * Combobox](https://ariakit.com/examples/menu-nested-combobox)\n * @default true\n */\n selectValueOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;\n /**\n * Whether to reset the the combobox input value when this item is selected or\n * unselected by click. This prop is set to `true` by default if\n * the combobox supports multiple selections. In other words, if the\n * [`selectedValue`](https://ariakit.com/reference/combobox-provider#selectedvalue)\n * or\n * [`defaultSelectedValue`](https://ariakit.com/reference/combobox-provider#defaultselectedvalue)\n * props are arrays.\n */\n resetValueOnSelect?: BooleanOrCallback<MouseEvent<HTMLElement>>;\n /**\n * @default false\n */\n focusOnHover?: CompositeHoverOptions[\"focusOnHover\"];\n}\n\nexport type ComboboxItemProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxItemOptions<T>\n>;\n"],"mappings":";;;;;;;;;;AAqCA,MAAA,UAAS;SAIH,WAAa,YAAM,WAAA;CACvB,IAAI,aAAA,MAAc;CAClB,IAAI,cAAc,MAAA,OAChB;CAEF,IAAA,MAAO,QAAA,UAAe,GAAA,OAAA,WAAA,SAAA,SAAA;CACxB,OAAA,eAAA;AAEA;SAOS,YAAA,WAAA;QALC;EACN,MAAA;EACA,SAAM;EAGiB,MAAEA;CAC7B,EAAA,cAAA;;;;;;;;;;;;MAyBI,kBAAgB,WAAA,SAAyB,gBAAA,EAAA,OAAA,OAAA,aAAA,iBAAA,qBAAA,MAAA,oBAAA,eAAA,OAAA,iBAAA,MAAA,SAAA,aAAA,GAAA,SAAA;CACzC,MAAA,UAAQ,yBAAS;CAEjB,QAAA,SAGI;CAGJ,UAAQ,OAAA,8EACqB;OACzB,EAAA,yBAAyB,iBAAA,aAAA,oBAAA,OAAA;EACzB,yBAAuB;kBACR,OAAQ;GACvB,OAAA,MAAA,QAAA,MAAA,aAAA;EACA;WACS,OAAA;GACT,OAAA,WAAA,MAAA,eAAA,KAAA;EACD;CAEH,CAAA;OAEI,UAAM,aAAW,SAAA;QAAK,WAAA;GAAM,GAAA;GAAM;EAClC;EAGA,IAAA,aAAO,OAAA,YAAA,QAAA;EACT,OACC;CAGH,GAAA,CAAA,OAAA,WAAkB,CAAA;CAClB,kBAAc,mBAAgB,CAAA;CAE9B,cAAM,gBAAoB,SAAA,QAAA,CAAA;CAC1B,MAAM,cAAA,MAAA;CACN,MAAM,sBAAA,gBAAyB,eAAgB;CAC/C,MAAM,yBAAyB,gBAC7B,kBAAA;CAEF,MAAM,yBAAkB,gBAAgB,sBAAW,2BAAA,eAAA;CAEnD,MAAM,kBAAU,gBAA0C,WAAA;OACxD,UAAc,UAAK,UAAA;EACnB,cAAU,KAAA;EACV,IAAI,MAAA,kBAAsB;EAC1B,IAAI,cAAA,KAAkB,GAAA;EACtB,IAAI,kBAAe,KAAA,GAAA;MACjB,SAAI,MAAA;OACF,uBAAI,KAAuB,GAAK;IAGhC,IAAA,uBAAyB,KAAA,GAAA,OAAc,WAAA;WAChC,kBAAc,cAAmB;KACtC,IAAI,CAAA,MAAA,QAAU,SAAc,GAC1B,OAAO;KAET,IAAA,UAAW,SAAW,KAAK,GAAA,OAAA,UAAA,QAAA,MAAA,MAAA,KAAA;KAC5B,OAAA,CAAA,GAAA,WAAA,KAAA;IACH,CAAA;GACA;GAGF,IAAA,oBAAA,KAAA,GAAA,OAAA,SAAA,KAAA;EACA;EAGD,IAAA,gBAAA,KAAA,GAAA,OAAA,KAAA;CAED,CAAA;CAEA,MAAM,gBAAY,MAAU;OAC1B,YAAgB,UAAK,UAAA;EACrB,gBAAU,KAAA;EACV,IAAA,MAAM,kBAAqB;EAC3B,MAAK,cAAa,OAAA,SAAA,EAAA;EAClB,IAAI,CAAA,aAAS;EAMb,IADkB,SAAM,WAAI,GAAW;MAErC,MAAA,IAAA,WAAqB,KAAA,MAAY,QAAO,eAAA,MAAA,QAAA,UAAA;GACxC,qBAAgB,YAMd,MAAO,CAAA;GAEX,IAAA,YAAA,WAAA,GAAA,OAAA,SAAA,YAAA,KAAA;EACD;CAED,CAAA;KAEI,mBAAiB,YAAA,MAAA,QAAA;EACjB,iBAAG;EACL,GAAA;CAGF;SAG8C,eAAA,QAAA,YAAA,oBAAA,yBAAA,UAAA;;YACgB,oBAAA,2BAAA,UAAA;sBACrD;GACkC,UAAA;EACJ,CAAA;CAOvC,CAAA,GAAA,CAAA,OAAQ,QAAA,CAAA;SACA;EACN,MAAA,YAAU,WAAA,uBAAA,CAAA;EACV,UAAG;EACH,GAAA;EACA;EACF;CAEA;CAEA,MAAA,qBAAkC,gBAAA,cAAA;SAChC,iBAAA;EACA;EACA,GAAA;EAIA;mBACO,UAAmB;GACxB,IAAA,CAAA,mBAAsB,KAAM,GAAA,OAAA;GAE5B,MADoB,YAAgB,IAAE,MAAA,oBACX;GAC3B,CAAA,OAAO,SAAA,EAAA,cAAA,cAAA,SAAA;GACT,OAAA;EACD;CAED,CAAA;SAA4B,kBAAA;EAAO;EAAc;EAAU,GAAA;CAE3D,CAAA;CAEJ,OAAA;;;;;;;;;;;;;;;;;;;;;;;MA0BI,eAAO,KAAc,WADH,SAAA,aACqB,OAAA;CACxC,OACH,cAAA,SAAA,gBAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"combobox-item.js","names":["key"],"sources":["../../src/combobox/combobox-item.tsx"],"sourcesContent":["import { useStoreStateObject } from \"@ariakit/react-store\";\nimport {\n useBooleanEvent,\n useEvent,\n useWrapElement,\n createElement,\n createHook,\n forwardRef,\n memo,\n} from \"@ariakit/react-utils\";\nimport type { Props } from \"@ariakit/react-utils\";\nimport {\n isTextField,\n isDownloading,\n isOpeningInNewTab,\n hasFocus,\n invariant,\n} from \"@ariakit/utils\";\nimport type { BooleanOrCallback } from \"@ariakit/utils\";\nimport type { ElementType, KeyboardEvent, MouseEvent } from \"react\";\nimport { useCallback, useContext } from \"react\";\nimport type { CompositeHoverOptions } from \"../composite/composite-hover.tsx\";\nimport { useCompositeHover } from \"../composite/composite-hover.tsx\";\nimport type { CompositeItemOptions } from \"../composite/composite-item.tsx\";\nimport { useCompositeItem } from \"../composite/composite-item.tsx\";\nimport {\n ComboboxItemCheckedContext,\n ComboboxItemValueContext,\n ComboboxListRoleContext,\n useComboboxScopedContext,\n} from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\nfunction isSelected(\n storeValue?: string | readonly string[],\n itemValue?: string,\n) {\n if (itemValue == null) return;\n if (storeValue == null) return false;\n if (Array.isArray(storeValue)) {\n return storeValue.includes(itemValue);\n }\n return storeValue === itemValue;\n}\n\nfunction getItemRole(popupRole?: string) {\n const itemRoleByPopupRole = {\n menu: \"menuitem\",\n listbox: \"option\",\n tree: \"treeitem\",\n };\n const key = popupRole as keyof typeof itemRoleByPopupRole;\n return itemRoleByPopupRole[key] ?? \"option\";\n}\n\n/**\n * Returns props to create a `ComboboxItem` component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxItem({ store, value: \"value\" });\n * <Role {...props} />\n * ```\n */\nexport const useComboboxItem = createHook<TagName, ComboboxItemOptions>(\n function useComboboxItem({\n store,\n value,\n hideOnClick,\n setValueOnClick,\n selectValueOnClick = true,\n resetValueOnSelect,\n focusOnHover = false,\n moveOnKeyPress = true,\n getItem: getItemProp,\n ...props\n }) {\n const context = useComboboxScopedContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxItem must be wrapped in a ComboboxList or ComboboxPopover component.\",\n );\n\n const { resetValueOnSelectState, multiSelectable, selected } =\n useStoreStateObject(store, {\n resetValueOnSelectState: \"resetValueOnSelect\",\n multiSelectable(state) {\n return Array.isArray(state.selectedValue);\n },\n selected(state) {\n return isSelected(state.selectedValue, value);\n },\n });\n\n const getItem = useCallback<NonNullable<CompositeItemOptions[\"getItem\"]>>(\n (item) => {\n const nextItem = { ...item, value };\n if (getItemProp) {\n return getItemProp(nextItem);\n }\n return nextItem;\n },\n [value, getItemProp],\n );\n\n setValueOnClick = setValueOnClick ?? !multiSelectable;\n hideOnClick = hideOnClick ?? (value != null && !multiSelectable);\n\n const onClickProp = props.onClick;\n const setValueOnClickProp = useBooleanEvent(setValueOnClick);\n const selectValueOnClickProp = useBooleanEvent(selectValueOnClick);\n const resetValueOnSelectProp = useBooleanEvent(\n resetValueOnSelect ?? resetValueOnSelectState ?? multiSelectable,\n );\n const hideOnClickProp = useBooleanEvent(hideOnClick);\n\n const onClick = useEvent((event: MouseEvent<HTMLType>) => {\n onClickProp?.(event);\n if (event.defaultPrevented) return;\n if (isDownloading(event)) return;\n if (isOpeningInNewTab(event)) return;\n if (value != null) {\n if (selectValueOnClickProp(event)) {\n if (resetValueOnSelectProp(event)) {\n store?.resetValue();\n }\n store?.setSelectedValue((prevValue) => {\n if (!Array.isArray(prevValue)) return value;\n if (prevValue.includes(value)) {\n return prevValue.filter((v) => v !== value);\n }\n return [...prevValue, value];\n });\n }\n if (setValueOnClickProp(event)) {\n store?.setValue(value);\n }\n }\n if (hideOnClickProp(event)) {\n store?.hide();\n }\n });\n\n const onKeyDownProp = props.onKeyDown;\n\n const onKeyDown = useEvent((event: KeyboardEvent<HTMLType>) => {\n onKeyDownProp?.(event);\n if (event.defaultPrevented) return;\n const baseElement = store?.getState().baseElement;\n if (!baseElement) return;\n if (hasFocus(baseElement)) return;\n // When the combobox is not working with virtual focus, the items will\n // receive DOM focus. Therefore, pressing printable keys will not fill\n // the text field. So we need to programmatically focus on the text\n // field when the user presses printable keys.\n const printable = event.key.length === 1;\n if (printable || event.key === \"Backspace\" || event.key === \"Delete\") {\n queueMicrotask(() => baseElement.focus());\n if (isTextField(baseElement)) {\n // If the combobox element is a text field, we should update the\n // store value with the current's element value. This is necessary\n // because the value may temporarily change based on the currently\n // selected item, but it'll be reset to the original value when the\n // combobox input is focused.\n store?.setValue(baseElement.value);\n }\n }\n });\n\n if (multiSelectable && selected != null) {\n props = {\n \"aria-selected\": selected,\n ...props,\n };\n }\n\n props = useWrapElement(\n props,\n (element) => (\n <ComboboxItemValueContext.Provider value={value}>\n <ComboboxItemCheckedContext.Provider value={selected ?? false}>\n {element}\n </ComboboxItemCheckedContext.Provider>\n </ComboboxItemValueContext.Provider>\n ),\n [value, selected],\n );\n\n const popupRole = useContext(ComboboxListRoleContext);\n\n props = {\n role: getItemRole(popupRole),\n children: value,\n ...props,\n onClick,\n onKeyDown,\n };\n\n const moveOnKeyPressProp = useBooleanEvent(moveOnKeyPress);\n\n props = useCompositeItem<TagName>({\n store,\n ...props,\n getItem,\n // Dispatch a custom event on the combobox input when moving to an item\n // with the keyboard so the Combobox component can enable inline\n // autocompletion.\n moveOnKeyPress: (event) => {\n if (!moveOnKeyPressProp(event)) return false;\n const moveEvent = new Event(\"combobox-item-move\");\n const baseElement = store?.getState().baseElement;\n baseElement?.dispatchEvent(moveEvent);\n return true;\n },\n });\n\n props = useCompositeHover({ store, focusOnHover, ...props });\n\n return props;\n },\n);\n\n/**\n * Renders a combobox item inside\n * [`ComboboxList`](https://ariakit.com/reference/combobox-list) or\n * [`ComboboxPopover`](https://ariakit.com/reference/combobox-popover)\n * components.\n *\n * By default, the [`value`](https://ariakit.com/reference/combobox-item#value)\n * prop will be rendered as the children, but this can be overriden.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {4-6}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxPopover>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxItem = memo(\n forwardRef(function ComboboxItem(props: ComboboxItemProps) {\n const htmlProps = useComboboxItem(props);\n return createElement(TagName, htmlProps);\n }),\n);\n\nexport interface ComboboxItemOptions<T extends ElementType = TagName>\n extends CompositeItemOptions<T>, CompositeHoverOptions<T> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxList`](https://ariakit.com/reference/combobox-list) or\n * [`ComboboxPopover`](https://ariakit.com/reference/combobox-popover)\n * components' context will be used.\n *\n * Live examples:\n * - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)\n */\n store?: ComboboxStore;\n /**\n * The value of the item. This will be rendered as the children by default.\n * - If\n * [`setValueOnClick`](https://ariakit.com/reference/combobox-item#setvalueonclick)\n * is set to `true`, this will be the value of the combobox input when the\n * user clicks on this item.\n * - If\n * [`selectValueOnClick`](https://ariakit.com/reference/combobox-item#selectvalueonclick)\n * is set to `true`, this will be the value of the\n * [`selectedValue`](https://ariakit.com/reference/combobox-provider#selectedvalue)\n * state.\n * - If the\n * [`autoComplete`](https://ariakit.com/reference/combobox#autocomplete)\n * prop on the [`Combobox`](https://ariakit.com/reference/combobox)\n * component is set to `both` or `inline`, this will be the value of the\n * combobox input when the combobox loses focus.\n *\n * Live examples:\n * - [Animated Combobox](https://ariakit.com/examples/combobox-animated)\n * - [ComboboxCancel](https://ariakit.com/examples/combobox-cancel)\n * - [ComboboxDisclosure](https://ariakit.com/examples/combobox-disclosure)\n * - [Combobox filtering](https://ariakit.com/examples/combobox-filtering)\n * - [ComboboxGroup](https://ariakit.com/examples/combobox-group)\n * - [Textarea with inline\n * Combobox](https://ariakit.com/examples/combobox-textarea)\n */\n value?: string;\n /**\n * Whether to hide the combobox when this item is clicked. By default, the\n * combobox will be hidden when the user clicks on an item with a\n * [`value`](https://ariakit.com/reference/combobox-item#value) prop, unless\n * the combobox is\n * [multi-selectable](https://ariakit.com/examples/combobox-multiple).\n *\n * Live examples:\n * - [Combobox with links](https://ariakit.com/examples/combobox-links)\n * - [Submenu with\n * Combobox](https://ariakit.com/examples/menu-nested-combobox)\n * - [Command Menu](https://ariakit.com/examples/dialog-combobox-command-menu)\n * - [Command Menu with\n * Tabs](https://ariakit.com/examples/dialog-combobox-tab-command-menu)\n */\n hideOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;\n /**\n * Whether to set the combobox\n * [`value`](https://ariakit.com/reference/combobox-provider#value) state\n * using this item's\n * [`value`](https://ariakit.com/reference/combobox-item#value) when the item\n * is clicked. The default is `true`, unless the combobox is\n * [multi-selectable](https://ariakit.com/examples/combobox-multiple).\n *\n * Live examples:\n * - [Menu with Combobox](https://ariakit.com/examples/menu-combobox)\n * - [Submenu with\n * Combobox](https://ariakit.com/examples/menu-nested-combobox)\n */\n setValueOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;\n /**\n * Whether to set the\n * [`selectedValue`](https://ariakit.com/reference/combobox-provider#selectedvalue)\n * state using this item's\n * [`value`](https://ariakit.com/reference/combobox-item#value) when the item\n * is clicked. If a callback is provided, it will only be invoked if the item\n * has a value.\n *\n * Live examples:\n * - [Submenu with\n * Combobox](https://ariakit.com/examples/menu-nested-combobox)\n * @default true\n */\n selectValueOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;\n /**\n * Whether to reset the the combobox input value when this item is selected or\n * unselected by click. This prop is set to `true` by default if\n * the combobox supports multiple selections. In other words, if the\n * [`selectedValue`](https://ariakit.com/reference/combobox-provider#selectedvalue)\n * or\n * [`defaultSelectedValue`](https://ariakit.com/reference/combobox-provider#defaultselectedvalue)\n * props are arrays.\n */\n resetValueOnSelect?: BooleanOrCallback<MouseEvent<HTMLElement>>;\n /**\n * @default false\n */\n focusOnHover?: CompositeHoverOptions[\"focusOnHover\"];\n}\n\nexport type ComboboxItemProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxItemOptions<T>\n>;\n"],"mappings":"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"}
@@ -33,7 +33,7 @@ declare const useComboboxLabel: import("@ariakit/react-utils").Hook<"label", Com
33
33
  * </ComboboxProvider>
34
34
  * ```
35
35
  */
36
- declare const ComboboxLabel: (props: ComboboxLabelProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
36
+ declare const ComboboxLabel: (props: ComboboxLabelProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
37
37
  interface ComboboxLabelOptions<_T extends ElementType = TagName> extends Options {
38
38
  /**
39
39
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-label.d.ts","names":["Options","Props","ElementType","ComboboxStore","TagName","useComboboxLabel","ComboboxLabelOptions","Hook","ComboboxLabel","ComboboxLabelProps","props","ReactElement","JSXElementConstructor","_T","store","T"],"sources":["../../src/combobox/combobox-label.d.ts"],"mappings":";;;;;cAGcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAY7B;AAdyD,cAcpCC,gBAAAA,iCAAiDE,IAAAA,UAAcD,oBAAoB;;;AAAA;AAiBxG;;;;;;;;;AAAmJ;AACnJ;;;cADqBE,aAAAA,GAAgBE,KAAAA,EAAOD,kBAAkB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UAC7GN,oBAAAA,YAAgCJ,WAAAA,GAAcE,OAAAA,UAAiBJ,OAAAA;EAQpEG;;;;;;;EAARW,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,kBAAAA,WAA6BP,WAAAA,GAAcE,OAAAA,IAAWH,KAAAA,CAAMc,CAAAA,EAAGT,oBAAAA,CAAqBS,CAAAA"}
1
+ {"version":3,"file":"combobox-label.d.ts","names":["Options","Props","ElementType","ComboboxStore","TagName","useComboboxLabel","ComboboxLabelOptions","Hook","ComboboxLabel","ComboboxLabelProps","props","ReactElement","JSXElementConstructor","_T","store","T"],"sources":["../../src/combobox/combobox-label.d.ts"],"mappings":";;;;;cAGcI,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAY7B;AAdyD,cAcpCC,gBAAAA,iCAAiDE,IAAAA,UAAcD,oBAAoB;;;AAAA;AAiBxG;;;;;;;;;AAAuJ;AACvJ;;;cADqBE,aAAAA,GAAgBE,KAAAA,EAAOD,kBAAkB,qBAAqBE,YAAAA,mCAA+CC,qBAAAA;AAAAA,UACjHN,oBAAAA,YAAgCJ,WAAAA,GAAcE,OAAAA,UAAiBJ,OAAAA;EAQpEG;;;;;;;EAARW,KAAAA,GAAQX,aAAAA;AAAAA;AAAAA,KAEAM,kBAAAA,WAA6BP,WAAAA,GAAcE,OAAAA,IAAWH,KAAAA,CAAMc,CAAAA,EAAGT,oBAAAA,CAAqBS,CAAAA"}
@@ -19,7 +19,7 @@ const TagName = "label";
19
19
  const useComboboxLabel = createHook(function useComboboxLabel({ store, ...props }) {
20
20
  const context = useComboboxProviderContext();
21
21
  store = store || context;
22
- invariant(store, "ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.");
22
+ invariant(store, process.env.NODE_ENV !== "production" && "ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.");
23
23
  props = {
24
24
  htmlFor: useStoreState(store, (state) => state.baseElement?.id),
25
25
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-label.js","names":[],"sources":["../../src/combobox/combobox-label.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo,\n} from \"@ariakit/react-utils\";\nimport type { Options, Props } from \"@ariakit/react-utils\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport { useComboboxProviderContext } from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"label\" satisfies ElementType;\ntype TagName = typeof TagName;\n\n/**\n * Returns props to create a `ComboboxLabel` component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxLabel({ store });\n * <Role {...props}>Favorite fruit</Role>\n * <Combobox store={store} />\n * ```\n */\nexport const useComboboxLabel = createHook<TagName, ComboboxLabelOptions>(\n function useComboboxLabel({ store, ...props }) {\n const context = useComboboxProviderContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.\",\n );\n\n const comboboxId = useStoreState(store, (state) => state.baseElement?.id);\n\n props = {\n htmlFor: comboboxId,\n ...props,\n };\n\n return removeUndefinedValues(props);\n },\n);\n\n/**\n * Renders a label for the [`Combobox`](https://ariakit.com/reference/combobox)\n * component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {2}\n * <ComboboxProvider>\n * <ComboboxLabel>Favorite fruit</ComboboxLabel>\n * <Combobox />\n * <ComboboxPopover>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxLabel = memo(\n forwardRef(function ComboboxLabel(props: ComboboxLabelProps) {\n const htmlProps = useComboboxLabel(props);\n return createElement(TagName, htmlProps);\n }),\n);\n\nexport interface ComboboxLabelOptions<\n _T extends ElementType = TagName,\n> extends Options {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxProvider`](https://ariakit.com/reference/combobox-provider)\n * component's context will be used.\n */\n store?: ComboboxStore;\n}\n\nexport type ComboboxLabelProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxLabelOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;MA6BI,mBAAgB,WAAA,SAA2B,iBAAA,EAAA,OAAA,GAAA,SAAA;CAC3C,MAAA,UAAQ,2BAAS;CAEjB,QAAA,SAGI;CAKJ,UAAQ,OAAA,0FAAA;SACN;EACA,SAAG,cAAA,QAAA,UAAA,MAAA,aAAA,EAAA;EACL,GAAA;CAEA;CAEJ,OAAA,sBAAA,KAAA;;;;;;;;;;;;;;;;;;MAqBI,gBAAqB,KAAA,WADH,SAAA,cACqB,OAAA;CACxC,OACH,cAAA,SAAA,iBAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"combobox-label.js","names":[],"sources":["../../src/combobox/combobox-label.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n createElement,\n createHook,\n forwardRef,\n memo,\n} from \"@ariakit/react-utils\";\nimport type { Options, Props } from \"@ariakit/react-utils\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport { useComboboxProviderContext } from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"label\" satisfies ElementType;\ntype TagName = typeof TagName;\n\n/**\n * Returns props to create a `ComboboxLabel` component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxLabel({ store });\n * <Role {...props}>Favorite fruit</Role>\n * <Combobox store={store} />\n * ```\n */\nexport const useComboboxLabel = createHook<TagName, ComboboxLabelOptions>(\n function useComboboxLabel({ store, ...props }) {\n const context = useComboboxProviderContext();\n store = store || context;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxLabel must receive a `store` prop or be wrapped in a ComboboxProvider component.\",\n );\n\n const comboboxId = useStoreState(store, (state) => state.baseElement?.id);\n\n props = {\n htmlFor: comboboxId,\n ...props,\n };\n\n return removeUndefinedValues(props);\n },\n);\n\n/**\n * Renders a label for the [`Combobox`](https://ariakit.com/reference/combobox)\n * component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {2}\n * <ComboboxProvider>\n * <ComboboxLabel>Favorite fruit</ComboboxLabel>\n * <Combobox />\n * <ComboboxPopover>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxPopover>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxLabel = memo(\n forwardRef(function ComboboxLabel(props: ComboboxLabelProps) {\n const htmlProps = useComboboxLabel(props);\n return createElement(TagName, htmlProps);\n }),\n);\n\nexport interface ComboboxLabelOptions<\n _T extends ElementType = TagName,\n> extends Options {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxProvider`](https://ariakit.com/reference/combobox-provider)\n * component's context will be used.\n */\n store?: ComboboxStore;\n}\n\nexport type ComboboxLabelProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxLabelOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;MA6BI,mBAAgB,WAAA,SAA2B,iBAAA,EAAA,OAAA,GAAA,SAAA;CAC3C,MAAA,UAAQ,2BAAS;CAEjB,QAAA,SAEE;CAMF,UAAQ,OAAA,QAAA,IAAA,aAAA,gBAAA,0FAAA;SACN;EACA,SAAG,cAAA,QAAA,UAAA,MAAA,aAAA,EAAA;EACL,GAAA;CAEA;CAEJ,OAAA,sBAAA,KAAA;;;;;;;;;;;;;;;;;;MAqBI,gBAAqB,KAAA,WADH,SAAA,cACqB,OAAA;CACxC,OACH,cAAA,SAAA,iBAAA,KAAA,CAAA"}
@@ -38,7 +38,7 @@ declare const useComboboxList: import("@ariakit/react-utils").Hook<"div", Combob
38
38
  * </ComboboxProvider>
39
39
  * ```
40
40
  */
41
- declare const ComboboxList: (props: ComboboxListProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
41
+ declare const ComboboxList: (props: ComboboxListProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
42
42
  interface ComboboxListOptions<T extends ElementType = TagName> extends Options, Pick<DisclosureContentOptions<T>, "alwaysVisible"> {
43
43
  /**
44
44
  * Object returned by the
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-list.d.ts","names":["Options","Props","ElementType","DisclosureContentOptions","ComboboxStore","TagName","useComboboxList","ComboboxListOptions","Hook","ComboboxList","ComboboxListProps","props","ReactElement","JSXElementConstructor","T","Pick","store"],"sources":["../../src/combobox/combobox-list.d.ts"],"mappings":";;;;;;cAIcK,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAe7B;;;;AAjByD,cAiBpCC,eAAAA,iCAAgDE,IAAAA,QAAYD,mBAAmB;AAkBpG;;;;;;;;;AAAiJ;AACjJ;;;;;;;AADA,cAAqBE,YAAAA,GAAeE,KAAAA,EAAOD,iBAAiB,qBAAqBE,YAAAA,+BAA2CC,qBAAAA;AAAAA,UAC3GN,mBAAAA,WAA8BL,WAAAA,GAAcG,OAAAA,UAAiBL,OAAAA,EAASe,IAAAA,CAAKZ,wBAAAA,CAAyBW,CAAAA;EAA9BC;;;;;;;EAQnFC,KAAAA,GAAQZ,aAAAA;AAAAA;AAAAA,KAEAM,iBAAAA,WAA4BR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,mBAAAA,CAAoBO,CAAAA"}
1
+ {"version":3,"file":"combobox-list.d.ts","names":["Options","Props","ElementType","DisclosureContentOptions","ComboboxStore","TagName","useComboboxList","ComboboxListOptions","Hook","ComboboxList","ComboboxListProps","props","ReactElement","JSXElementConstructor","T","Pick","store"],"sources":["../../src/combobox/combobox-list.d.ts"],"mappings":";;;;;;cAIcK,OAAAA;AAAAA,KACTA,OAAAA,UAAiBA,OAAO;AAF4B;;;;AACpC;AAAA;;;;AACQ;AAe7B;;;;AAjByD,cAiBpCC,eAAAA,iCAAgDE,IAAAA,QAAYD,mBAAmB;AAkBpG;;;;;;;;;AAAqJ;AACrJ;;;;;;;AADA,cAAqBE,YAAAA,GAAeE,KAAAA,EAAOD,iBAAiB,qBAAqBE,YAAAA,mCAA+CC,qBAAAA;AAAAA,UAC/GN,mBAAAA,WAA8BL,WAAAA,GAAcG,OAAAA,UAAiBL,OAAAA,EAASe,IAAAA,CAAKZ,wBAAAA,CAAyBW,CAAAA;EAA9BC;;;;;;;EAQnFC,KAAAA,GAAQZ,aAAAA;AAAAA;AAAAA,KAEAM,iBAAAA,WAA4BR,WAAAA,GAAcG,OAAAA,IAAWJ,KAAAA,CAAMa,CAAAA,EAAGP,mBAAAA,CAAoBO,CAAAA"}
@@ -27,7 +27,7 @@ const useComboboxList = createHook(function useComboboxList({ store, alwaysVisib
27
27
  const context = useComboboxContext();
28
28
  store = store || context;
29
29
  const scopedContextSameStore = !!store && store === scopedContext;
30
- invariant(store, "ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.");
30
+ invariant(store, process.env.NODE_ENV !== "production" && "ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.");
31
31
  const ref = useRef(null);
32
32
  const id = useId(props.id);
33
33
  const mounted = useStoreState(store, "mounted");
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-list.js","names":[],"sources":["../../src/combobox/combobox-list.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useAttribute,\n useId,\n useMergeRefs,\n useSafeLayoutEffect,\n useWrapElement,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Options, Props } from \"@ariakit/react-utils\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport { useRef, useState } from \"react\";\nimport type { DisclosureContentOptions } from \"../disclosure/disclosure-content.tsx\";\nimport { isHidden } from \"../disclosure/disclosure-content.tsx\";\nimport {\n ComboboxListRoleContext,\n ComboboxScopedContextProvider,\n useComboboxContext,\n useComboboxScopedContext,\n} from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\n/**\n * Returns props to create a `ComboboxList` component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxList({ store });\n * <Role {...props}>\n * <ComboboxItem value=\"Item 1\" />\n * <ComboboxItem value=\"Item 2\" />\n * <ComboboxItem value=\"Item 3\" />\n * </Role>\n * ```\n */\nexport const useComboboxList = createHook<TagName, ComboboxListOptions>(\n function useComboboxList({ store, alwaysVisible, ...props }) {\n const scopedContext = useComboboxScopedContext(true);\n const context = useComboboxContext();\n store = store || context;\n const scopedContextSameStore = !!store && store === scopedContext;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.\",\n );\n\n const ref = useRef<HTMLType>(null);\n const id = useId(props.id);\n const mounted = useStoreState(store, \"mounted\");\n const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n const style = hidden ? { ...props.style, display: \"none\" } : props.style;\n\n const multiSelectable = useStoreState(store, (state) =>\n Array.isArray(state.selectedValue),\n );\n const role = useAttribute(ref, \"role\", props.role);\n const isCompositeRole =\n role === \"listbox\" || role === \"tree\" || role === \"grid\";\n const ariaMultiSelectable = isCompositeRole\n ? multiSelectable || undefined\n : undefined;\n\n const [hasListboxInside, setHasListboxInside] = useState(false);\n const contentElement = useStoreState(store, \"contentElement\");\n\n // We support nested <ComboboxList> elements (usually in the form of\n // ComboboxPopover>ComboboxList), but we can't have nested listbox roles, so\n // we check here if there's already a listbox element inside the current\n // element.\n useSafeLayoutEffect(() => {\n if (!mounted) return;\n const element = ref.current;\n if (!element) return;\n if (contentElement !== element) return;\n const callback = () => {\n setHasListboxInside(!!element.querySelector(\"[role='listbox']\"));\n };\n const observer = new MutationObserver(callback);\n observer.observe(element, {\n subtree: true,\n childList: true,\n attributeFilter: [\"role\"],\n });\n callback();\n return () => observer.disconnect();\n }, [mounted, contentElement]);\n\n if (!hasListboxInside) {\n props = {\n role: \"listbox\",\n \"aria-multiselectable\": ariaMultiSelectable,\n ...props,\n };\n }\n\n props = useWrapElement(\n props,\n (element) => (\n <ComboboxScopedContextProvider value={store}>\n <ComboboxListRoleContext.Provider value={role}>\n {element}\n </ComboboxListRoleContext.Provider>\n </ComboboxScopedContextProvider>\n ),\n [store, role],\n );\n\n // When nesting ComboboxList elements, the content element should be\n // assigned to the topmost ComboboxList element.\n const setContentElement =\n id && (!scopedContext || !scopedContextSameStore)\n ? store.setContentElement\n : null;\n\n props = {\n hidden,\n ...props,\n id,\n ref: useMergeRefs(setContentElement, ref, props.ref),\n style,\n };\n\n return removeUndefinedValues(props);\n },\n);\n\n/**\n * Renders a combobox list. The `role` prop is set to `listbox` by default, but\n * can be overriden by any other valid combobox popup role (`listbox`, `menu`,\n * `tree`, `grid` or `dialog`).\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {3-7}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxList>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxList>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxList = forwardRef(function ComboboxList(\n props: ComboboxListProps,\n) {\n const htmlProps = useComboboxList(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface ComboboxListOptions<T extends ElementType = TagName>\n extends Options, Pick<DisclosureContentOptions<T>, \"alwaysVisible\"> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxProvider`](https://ariakit.com/reference/combobox-provider)\n * component's context will be used.\n */\n store?: ComboboxStore;\n}\n\nexport type ComboboxListProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxListOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MA6CI,kBAAsB,WAAA,SAAA,gBAA6B,EAAA,OAAA,eAAA,GAAA,SAAA;CACnD,MAAM,gBAAU,yBAAmB,IAAA;CACnC,MAAA,UAAQ,mBAAS;CACjB,QAAM,SAAA;CAEN,MAAA,yBAGI,CAAA,CAAA,SAAA,UAAA;CAGJ,UAAM,OAAM,yFAAqB;CACjC,MAAM,MAAK,OAAM,IAAM;CACvB,MAAM,KAAA,MAAU,MAAA,EAAA;CAChB,MAAM,UAAS,cAAS,OAAS,SAAM;CACvC,MAAM,SAAQ,SAAS,SAAA,MAAA,QAAA,aAAA;OAAK,QAAM,SAAA;EAAO,GAAA,MAAS;EAAO,SAAU;CAEnE,IAAA,MAAM;CAGN,MAAM,kBAAO,cAAkB,QAAc,UAAI,MAAA,QAAA,MAAA,aAAA,CAAA;CAGjD,MAAM,OAAA,aAAA,KADJ,QAAS,MAAA,IAAA;CAKX,MAAM,sBAAmB,SAAA,aAAuB,SAAS,UAAK,SAAA,SAAA,mBAAA,KAAA,IAAA,KAAA;CAC9D,MAAM,CAAA,kBAAiB,uBAAqB,SAAA,KAAgB;CAM5D,MAAA,iBAAA,cAA0B,OAAA,gBAAA;2BACV;EACd,IAAA,CAAA,SAAM;EACN,MAAK,UAAS,IAAA;EACd,IAAI,CAAA,SAAA;EACJ,IAAA,mBAAuB,SAAA;QACrB,iBAAsB;GACxB,oBAAA,CAAA,CAAA,QAAA,cAAA,kBAAA,CAAA;EACA;EACA,MAAA,WAAiB,IAAA,iBAAS,QAAA;WACxB,QAAS,SAAA;GACT,SAAA;GACA,WAAA;GACD,iBAAA,CAAA,MAAA;EACD,CAAA;EACA,SAAA;EACF,aAAa,SAAA,WAAe;CAE5B,GAAA,CAAI,SAAC,cACH,CAAA;KACE,CAAA,kBAAM,QAAA;EACN,MAAA;EACA,wBAAG;EACL,GAAA;CAGF;SAG0C,eAAA,QAAA,YAAA,oBAAA,+BAAA;;YACK,oBAAA,wBAAA,UAAA;;GAEP,UAAA;EACL,CAAA;CAOnC,CAAA,GAAA,CAAA,OAAM,IAAA,CAAA;CAKN,MAAA,oBAAQ,OAAA,CAAA,iBAAA,CAAA,0BAAA,MAAA,oBAAA;SACN;EACA;EACA,GAAA;EACA;EACA,KAAA,aAAA,mBAAA,KAAA,MAAA,GAAA;EACF;CAEA;CAEJ,OAAA,sBAAA,KAAA;;;;;;;;;;;;;;;;;;;MAuBE,eAAO,WADW,SAAA,aACqB,OAAA;CACxC,OAAA,cAAA,SAAA,gBAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"combobox-list.js","names":[],"sources":["../../src/combobox/combobox-list.tsx"],"sourcesContent":["import { useStoreState } from \"@ariakit/react-store\";\nimport {\n useAttribute,\n useId,\n useMergeRefs,\n useSafeLayoutEffect,\n useWrapElement,\n createElement,\n createHook,\n forwardRef,\n} from \"@ariakit/react-utils\";\nimport type { Options, Props } from \"@ariakit/react-utils\";\nimport { invariant, removeUndefinedValues } from \"@ariakit/utils\";\nimport type { ElementType } from \"react\";\nimport { useRef, useState } from \"react\";\nimport type { DisclosureContentOptions } from \"../disclosure/disclosure-content.tsx\";\nimport { isHidden } from \"../disclosure/disclosure-content.tsx\";\nimport {\n ComboboxListRoleContext,\n ComboboxScopedContextProvider,\n useComboboxContext,\n useComboboxScopedContext,\n} from \"./combobox-context.tsx\";\nimport type { ComboboxStore } from \"./combobox-store.ts\";\n\nconst TagName = \"div\" satisfies ElementType;\ntype TagName = typeof TagName;\ntype HTMLType = HTMLElementTagNameMap[TagName];\n\n/**\n * Returns props to create a `ComboboxList` component.\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx\n * const store = useComboboxStore();\n * const props = useComboboxList({ store });\n * <Role {...props}>\n * <ComboboxItem value=\"Item 1\" />\n * <ComboboxItem value=\"Item 2\" />\n * <ComboboxItem value=\"Item 3\" />\n * </Role>\n * ```\n */\nexport const useComboboxList = createHook<TagName, ComboboxListOptions>(\n function useComboboxList({ store, alwaysVisible, ...props }) {\n const scopedContext = useComboboxScopedContext(true);\n const context = useComboboxContext();\n store = store || context;\n const scopedContextSameStore = !!store && store === scopedContext;\n\n invariant(\n store,\n process.env.NODE_ENV !== \"production\" &&\n \"ComboboxList must receive a `store` prop or be wrapped in a ComboboxProvider component.\",\n );\n\n const ref = useRef<HTMLType>(null);\n const id = useId(props.id);\n const mounted = useStoreState(store, \"mounted\");\n const hidden = isHidden(mounted, props.hidden, alwaysVisible);\n const style = hidden ? { ...props.style, display: \"none\" } : props.style;\n\n const multiSelectable = useStoreState(store, (state) =>\n Array.isArray(state.selectedValue),\n );\n const role = useAttribute(ref, \"role\", props.role);\n const isCompositeRole =\n role === \"listbox\" || role === \"tree\" || role === \"grid\";\n const ariaMultiSelectable = isCompositeRole\n ? multiSelectable || undefined\n : undefined;\n\n const [hasListboxInside, setHasListboxInside] = useState(false);\n const contentElement = useStoreState(store, \"contentElement\");\n\n // We support nested <ComboboxList> elements (usually in the form of\n // ComboboxPopover>ComboboxList), but we can't have nested listbox roles, so\n // we check here if there's already a listbox element inside the current\n // element.\n useSafeLayoutEffect(() => {\n if (!mounted) return;\n const element = ref.current;\n if (!element) return;\n if (contentElement !== element) return;\n const callback = () => {\n setHasListboxInside(!!element.querySelector(\"[role='listbox']\"));\n };\n const observer = new MutationObserver(callback);\n observer.observe(element, {\n subtree: true,\n childList: true,\n attributeFilter: [\"role\"],\n });\n callback();\n return () => observer.disconnect();\n }, [mounted, contentElement]);\n\n if (!hasListboxInside) {\n props = {\n role: \"listbox\",\n \"aria-multiselectable\": ariaMultiSelectable,\n ...props,\n };\n }\n\n props = useWrapElement(\n props,\n (element) => (\n <ComboboxScopedContextProvider value={store}>\n <ComboboxListRoleContext.Provider value={role}>\n {element}\n </ComboboxListRoleContext.Provider>\n </ComboboxScopedContextProvider>\n ),\n [store, role],\n );\n\n // When nesting ComboboxList elements, the content element should be\n // assigned to the topmost ComboboxList element.\n const setContentElement =\n id && (!scopedContext || !scopedContextSameStore)\n ? store.setContentElement\n : null;\n\n props = {\n hidden,\n ...props,\n id,\n ref: useMergeRefs(setContentElement, ref, props.ref),\n style,\n };\n\n return removeUndefinedValues(props);\n },\n);\n\n/**\n * Renders a combobox list. The `role` prop is set to `listbox` by default, but\n * can be overriden by any other valid combobox popup role (`listbox`, `menu`,\n * `tree`, `grid` or `dialog`).\n * @see https://ariakit.com/components/combobox\n * @example\n * ```jsx {3-7}\n * <ComboboxProvider>\n * <Combobox />\n * <ComboboxList>\n * <ComboboxItem value=\"Apple\" />\n * <ComboboxItem value=\"Banana\" />\n * <ComboboxItem value=\"Orange\" />\n * </ComboboxList>\n * </ComboboxProvider>\n * ```\n */\nexport const ComboboxList = forwardRef(function ComboboxList(\n props: ComboboxListProps,\n) {\n const htmlProps = useComboboxList(props);\n return createElement(TagName, htmlProps);\n});\n\nexport interface ComboboxListOptions<T extends ElementType = TagName>\n extends Options, Pick<DisclosureContentOptions<T>, \"alwaysVisible\"> {\n /**\n * Object returned by the\n * [`useComboboxStore`](https://ariakit.com/reference/use-combobox-store)\n * hook. If not provided, the closest\n * [`ComboboxProvider`](https://ariakit.com/reference/combobox-provider)\n * component's context will be used.\n */\n store?: ComboboxStore;\n}\n\nexport type ComboboxListProps<T extends ElementType = TagName> = Props<\n T,\n ComboboxListOptions<T>\n>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;MA6CI,kBAAsB,WAAA,SAAA,gBAA6B,EAAA,OAAA,eAAA,GAAA,SAAA;CACnD,MAAM,gBAAU,yBAAmB,IAAA;CACnC,MAAA,UAAQ,mBAAS;CACjB,QAAM,SAAA;CAEN,MAAA,yBAEc,CAAA,CAAA,SAAa,UAAA;CAI3B,UAAM,OAAM,QAAqB,IAAA,aAAA,gBAAA,yFAAA;CACjC,MAAM,MAAK,OAAM,IAAM;CACvB,MAAM,KAAA,MAAU,MAAA,EAAA;CAChB,MAAM,UAAS,cAAS,OAAS,SAAM;CACvC,MAAM,SAAQ,SAAS,SAAA,MAAA,QAAA,aAAA;OAAK,QAAM,SAAA;EAAO,GAAA,MAAS;EAAO,SAAU;CAEnE,IAAA,MAAM;CAGN,MAAM,kBAAO,cAAkB,QAAc,UAAI,MAAA,QAAA,MAAA,aAAA,CAAA;CAGjD,MAAM,OAAA,aAAA,KADJ,QAAS,MAAA,IAAA;CAKX,MAAM,sBAAmB,SAAA,aAAuB,SAAS,UAAK,SAAA,SAAA,mBAAA,KAAA,IAAA,KAAA;CAC9D,MAAM,CAAA,kBAAiB,uBAAqB,SAAA,KAAgB;CAM5D,MAAA,iBAAA,cAA0B,OAAA,gBAAA;2BACV;EACd,IAAA,CAAA,SAAM;EACN,MAAK,UAAS,IAAA;EACd,IAAI,CAAA,SAAA;EACJ,IAAA,mBAAuB,SAAA;QACrB,iBAAsB;GACxB,oBAAA,CAAA,CAAA,QAAA,cAAA,kBAAA,CAAA;EACA;EACA,MAAA,WAAiB,IAAA,iBAAS,QAAA;WACxB,QAAS,SAAA;GACT,SAAA;GACA,WAAA;GACD,iBAAA,CAAA,MAAA;EACD,CAAA;EACA,SAAA;EACF,aAAa,SAAA,WAAe;CAE5B,GAAA,CAAI,SAAC,cACH,CAAA;KACE,CAAA,kBAAM,QAAA;EACN,MAAA;EACA,wBAAG;EACL,GAAA;CAGF;SAG0C,eAAA,QAAA,YAAA,oBAAA,+BAAA;;YACK,oBAAA,wBAAA,UAAA;;GAEP,UAAA;EACL,CAAA;CAOnC,CAAA,GAAA,CAAA,OAAM,IAAA,CAAA;CAKN,MAAA,oBAAQ,OAAA,CAAA,iBAAA,CAAA,0BAAA,MAAA,oBAAA;SACN;EACA;EACA,GAAA;EACA;EACA,KAAA,aAAA,mBAAA,KAAA,MAAA,GAAA;EACF;CAEA;CAEJ,OAAA,sBAAA,KAAA;;;;;;;;;;;;;;;;;;;MAuBE,eAAO,WADW,SAAA,aACqB,OAAA;CACxC,OAAA,cAAA,SAAA,gBAAA,KAAA,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { ComboboxListOptions } from "./combobox-list.js";
2
- import { n as PopoverOptions } from "../popover-CCqiRKqg.js";
2
+ import { n as PopoverOptions } from "../popover-B9PxE5iP.js";
3
3
  import { Props } from "@ariakit/react-utils";
4
4
  import { ElementType } from "react";
5
5
 
@@ -35,7 +35,7 @@ function isController(target, ...ids) {
35
35
  const useComboboxPopover = createHook(function useComboboxPopover({ store, modal, tabIndex, alwaysVisible, autoFocusOnHide = true, hideOnInteractOutside = true, ...props }) {
36
36
  const context = useComboboxProviderContext();
37
37
  store = store || context;
38
- invariant(store, "ComboboxPopover must receive a `store` prop or be wrapped in a ComboboxProvider component.");
38
+ invariant(store, process.env.NODE_ENV !== "production" && "ComboboxPopover must receive a `store` prop or be wrapped in a ComboboxProvider component.");
39
39
  const baseElement = useStoreState(store, "baseElement");
40
40
  const hiddenByClickOutsideRef = useRef(false);
41
41
  const treeSnapshotKey = useStoreState(store.tag, (state) => state?.renderedItems.length);