@ariakit/react-core 0.3.12 → 0.3.14

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 (484) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/cjs/__chunks/{7HJPL3H2.cjs → I2KHXDVL.cjs} +4 -4
  3. package/cjs/__chunks/{VCDQISP7.cjs → N3XK7EAH.cjs} +7 -7
  4. package/cjs/__chunks/{KDG57VZV.cjs → OUEE5HOS.cjs} +3 -3
  5. package/cjs/__chunks/{EKB76T2U.cjs → ZL5DC555.cjs} +5 -5
  6. package/cjs/button/button.d.cts +1 -1
  7. package/cjs/button/button.d.ts +1 -1
  8. package/cjs/checkbox/checkbox-check.d.cts +17 -9
  9. package/cjs/checkbox/checkbox-check.d.ts +17 -9
  10. package/cjs/checkbox/checkbox-provider.cjs +2 -2
  11. package/cjs/checkbox/checkbox-provider.d.cts +4 -2
  12. package/cjs/checkbox/checkbox-provider.d.ts +4 -2
  13. package/cjs/checkbox/checkbox-store.d.cts +5 -3
  14. package/cjs/checkbox/checkbox-store.d.ts +5 -3
  15. package/cjs/checkbox/checkbox.d.cts +14 -9
  16. package/cjs/checkbox/checkbox.d.ts +14 -9
  17. package/cjs/collection/collection-item.d.cts +23 -9
  18. package/cjs/collection/collection-item.d.ts +23 -9
  19. package/cjs/collection/collection-provider.d.cts +2 -1
  20. package/cjs/collection/collection-provider.d.ts +2 -1
  21. package/cjs/collection/collection-renderer.d.cts +1 -1
  22. package/cjs/collection/collection-renderer.d.ts +1 -1
  23. package/cjs/collection/collection-store.d.cts +6 -3
  24. package/cjs/collection/collection-store.d.ts +6 -3
  25. package/cjs/collection/collection.d.cts +4 -3
  26. package/cjs/collection/collection.d.ts +4 -3
  27. package/cjs/combobox/combobox-cancel.d.cts +3 -2
  28. package/cjs/combobox/combobox-cancel.d.ts +3 -2
  29. package/cjs/combobox/combobox-disclosure.d.cts +7 -2
  30. package/cjs/combobox/combobox-disclosure.d.ts +7 -2
  31. package/cjs/combobox/combobox-group-label.d.cts +4 -4
  32. package/cjs/combobox/combobox-group-label.d.ts +4 -4
  33. package/cjs/combobox/combobox-group.d.cts +7 -3
  34. package/cjs/combobox/combobox-group.d.ts +7 -3
  35. package/cjs/combobox/combobox-item-check.d.cts +9 -16
  36. package/cjs/combobox/combobox-item-check.d.ts +9 -16
  37. package/cjs/combobox/combobox-item-value.d.cts +13 -8
  38. package/cjs/combobox/combobox-item-value.d.ts +13 -8
  39. package/cjs/combobox/combobox-item.d.cts +11 -9
  40. package/cjs/combobox/combobox-item.d.ts +11 -9
  41. package/cjs/combobox/combobox-list.d.cts +1 -4
  42. package/cjs/combobox/combobox-list.d.ts +1 -4
  43. package/cjs/combobox/combobox-popover.cjs +7 -7
  44. package/cjs/combobox/combobox-popover.d.cts +2 -3
  45. package/cjs/combobox/combobox-popover.d.ts +2 -3
  46. package/cjs/combobox/combobox-provider.d.cts +2 -1
  47. package/cjs/combobox/combobox-provider.d.ts +2 -1
  48. package/cjs/combobox/combobox-row.d.cts +6 -3
  49. package/cjs/combobox/combobox-row.d.ts +6 -3
  50. package/cjs/combobox/combobox-separator.d.cts +4 -3
  51. package/cjs/combobox/combobox-separator.d.ts +4 -3
  52. package/cjs/combobox/combobox-store.d.cts +11 -7
  53. package/cjs/combobox/combobox-store.d.ts +11 -7
  54. package/cjs/combobox/combobox.d.cts +45 -33
  55. package/cjs/combobox/combobox.d.ts +45 -33
  56. package/cjs/command/command.d.cts +1 -1
  57. package/cjs/command/command.d.ts +1 -1
  58. package/cjs/composite/composite-container.d.cts +18 -11
  59. package/cjs/composite/composite-container.d.ts +18 -11
  60. package/cjs/composite/composite-group-label.d.cts +18 -13
  61. package/cjs/composite/composite-group-label.d.ts +18 -13
  62. package/cjs/composite/composite-group.d.cts +20 -12
  63. package/cjs/composite/composite-group.d.ts +20 -12
  64. package/cjs/composite/composite-hover.d.cts +17 -8
  65. package/cjs/composite/composite-hover.d.ts +17 -8
  66. package/cjs/composite/composite-input.d.cts +15 -9
  67. package/cjs/composite/composite-input.d.ts +15 -9
  68. package/cjs/composite/composite-item.d.cts +49 -9
  69. package/cjs/composite/composite-item.d.ts +49 -9
  70. package/cjs/composite/composite-overflow.cjs +6 -6
  71. package/cjs/composite/composite-provider.d.cts +2 -1
  72. package/cjs/composite/composite-provider.d.ts +2 -1
  73. package/cjs/composite/composite-renderer.d.cts +1 -1
  74. package/cjs/composite/composite-renderer.d.ts +1 -1
  75. package/cjs/composite/composite-row.d.cts +26 -19
  76. package/cjs/composite/composite-row.d.ts +26 -19
  77. package/cjs/composite/composite-separator.d.cts +23 -10
  78. package/cjs/composite/composite-separator.d.ts +23 -10
  79. package/cjs/composite/composite-store.d.cts +3 -1
  80. package/cjs/composite/composite-store.d.ts +3 -1
  81. package/cjs/composite/composite-typeahead.d.cts +20 -8
  82. package/cjs/composite/composite-typeahead.d.ts +20 -8
  83. package/cjs/composite/composite.d.cts +65 -10
  84. package/cjs/composite/composite.d.ts +65 -10
  85. package/cjs/dialog/dialog-disclosure.d.cts +2 -1
  86. package/cjs/dialog/dialog-disclosure.d.ts +2 -1
  87. package/cjs/dialog/dialog-dismiss.d.cts +2 -1
  88. package/cjs/dialog/dialog-dismiss.d.ts +2 -1
  89. package/cjs/dialog/dialog-provider.d.cts +2 -1
  90. package/cjs/dialog/dialog-provider.d.ts +2 -1
  91. package/cjs/dialog/dialog-store.d.cts +3 -1
  92. package/cjs/dialog/dialog-store.d.ts +3 -1
  93. package/cjs/dialog/dialog.cjs +5 -5
  94. package/cjs/dialog/dialog.d.cts +51 -20
  95. package/cjs/dialog/dialog.d.ts +51 -20
  96. package/cjs/dialog/utils/disable-tree.cjs +3 -3
  97. package/cjs/dialog/utils/use-hide-on-interact-outside.cjs +1 -1
  98. package/cjs/disclosure/disclosure-content.d.cts +6 -5
  99. package/cjs/disclosure/disclosure-content.d.ts +6 -5
  100. package/cjs/disclosure/disclosure-provider.d.cts +2 -1
  101. package/cjs/disclosure/disclosure-provider.d.ts +2 -1
  102. package/cjs/disclosure/disclosure-store.d.cts +6 -4
  103. package/cjs/disclosure/disclosure-store.d.ts +6 -4
  104. package/cjs/disclosure/disclosure.d.cts +3 -2
  105. package/cjs/disclosure/disclosure.d.ts +3 -2
  106. package/cjs/focus-trap/focus-trap-region.d.cts +4 -2
  107. package/cjs/focus-trap/focus-trap-region.d.ts +4 -2
  108. package/cjs/focusable/focusable-container.d.cts +7 -5
  109. package/cjs/focusable/focusable-container.d.ts +7 -5
  110. package/cjs/focusable/focusable.d.cts +5 -2
  111. package/cjs/focusable/focusable.d.ts +5 -2
  112. package/cjs/form/form-checkbox.cjs +5 -5
  113. package/cjs/form/form-checkbox.d.cts +6 -4
  114. package/cjs/form/form-checkbox.d.ts +6 -4
  115. package/cjs/form/form-control.cjs +16 -0
  116. package/cjs/form/form-control.d.cts +93 -0
  117. package/cjs/form/form-control.d.ts +93 -0
  118. package/cjs/form/form-description.d.cts +14 -3
  119. package/cjs/form/form-description.d.ts +14 -3
  120. package/cjs/form/form-error.d.cts +11 -4
  121. package/cjs/form/form-error.d.ts +11 -4
  122. package/cjs/form/form-field.cjs +19 -4
  123. package/cjs/form/form-field.d.cts +16 -30
  124. package/cjs/form/form-field.d.ts +16 -30
  125. package/cjs/form/form-group-label.d.cts +6 -4
  126. package/cjs/form/form-group-label.d.ts +6 -4
  127. package/cjs/form/form-group.d.cts +6 -2
  128. package/cjs/form/form-group.d.ts +6 -2
  129. package/cjs/form/form-input.cjs +2 -2
  130. package/cjs/form/form-input.d.cts +7 -6
  131. package/cjs/form/form-input.d.ts +7 -6
  132. package/cjs/form/form-label.d.cts +18 -7
  133. package/cjs/form/form-label.d.ts +18 -7
  134. package/cjs/form/form-provider.d.cts +2 -1
  135. package/cjs/form/form-provider.d.ts +2 -1
  136. package/cjs/form/form-push.d.cts +17 -3
  137. package/cjs/form/form-push.d.ts +17 -3
  138. package/cjs/form/form-radio-group.d.cts +7 -2
  139. package/cjs/form/form-radio-group.d.ts +7 -2
  140. package/cjs/form/form-radio.cjs +2 -2
  141. package/cjs/form/form-radio.d.cts +8 -4
  142. package/cjs/form/form-radio.d.ts +8 -4
  143. package/cjs/form/form-remove.d.cts +17 -2
  144. package/cjs/form/form-remove.d.ts +17 -2
  145. package/cjs/form/form-reset.d.cts +5 -2
  146. package/cjs/form/form-reset.d.ts +5 -2
  147. package/cjs/form/form-store.d.cts +31 -14
  148. package/cjs/form/form-store.d.ts +31 -14
  149. package/cjs/form/form-submit.d.cts +8 -2
  150. package/cjs/form/form-submit.d.ts +8 -2
  151. package/cjs/form/form.d.cts +37 -11
  152. package/cjs/form/form.d.ts +37 -11
  153. package/cjs/group/group-label.d.cts +3 -2
  154. package/cjs/group/group-label.d.ts +3 -2
  155. package/cjs/group/group.d.cts +3 -1
  156. package/cjs/group/group.d.ts +3 -1
  157. package/cjs/heading/heading-level.d.cts +4 -2
  158. package/cjs/heading/heading-level.d.ts +4 -2
  159. package/cjs/heading/heading.d.cts +4 -3
  160. package/cjs/heading/heading.d.ts +4 -3
  161. package/cjs/hovercard/hovercard-anchor.d.cts +5 -2
  162. package/cjs/hovercard/hovercard-anchor.d.ts +5 -2
  163. package/cjs/hovercard/hovercard-arrow.d.cts +4 -2
  164. package/cjs/hovercard/hovercard-arrow.d.ts +4 -2
  165. package/cjs/hovercard/hovercard-description.d.cts +2 -2
  166. package/cjs/hovercard/hovercard-description.d.ts +2 -2
  167. package/cjs/hovercard/hovercard-disclosure.d.cts +1 -1
  168. package/cjs/hovercard/hovercard-disclosure.d.ts +1 -1
  169. package/cjs/hovercard/hovercard-dismiss.d.cts +3 -2
  170. package/cjs/hovercard/hovercard-dismiss.d.ts +3 -2
  171. package/cjs/hovercard/hovercard-heading.d.cts +2 -2
  172. package/cjs/hovercard/hovercard-heading.d.ts +2 -2
  173. package/cjs/hovercard/hovercard-provider.d.cts +2 -1
  174. package/cjs/hovercard/hovercard-provider.d.ts +2 -1
  175. package/cjs/hovercard/hovercard-store.d.cts +2 -1
  176. package/cjs/hovercard/hovercard-store.d.ts +2 -1
  177. package/cjs/hovercard/hovercard.cjs +7 -7
  178. package/cjs/hovercard/hovercard.d.cts +20 -8
  179. package/cjs/hovercard/hovercard.d.ts +20 -8
  180. package/cjs/menu/menu-arrow.d.cts +4 -2
  181. package/cjs/menu/menu-arrow.d.ts +4 -2
  182. package/cjs/menu/menu-bar.d.cts +1 -2
  183. package/cjs/menu/menu-bar.d.ts +1 -2
  184. package/cjs/menu/menu-button-arrow.d.cts +9 -4
  185. package/cjs/menu/menu-button-arrow.d.ts +9 -4
  186. package/cjs/menu/menu-button.d.cts +8 -7
  187. package/cjs/menu/menu-button.d.ts +8 -7
  188. package/cjs/menu/menu-description.d.cts +2 -2
  189. package/cjs/menu/menu-description.d.ts +2 -2
  190. package/cjs/menu/menu-dismiss.d.cts +3 -2
  191. package/cjs/menu/menu-dismiss.d.ts +3 -2
  192. package/cjs/menu/menu-group-label.d.cts +4 -4
  193. package/cjs/menu/menu-group-label.d.ts +4 -4
  194. package/cjs/menu/menu-group.d.cts +5 -2
  195. package/cjs/menu/menu-group.d.ts +5 -2
  196. package/cjs/menu/menu-heading.d.cts +3 -2
  197. package/cjs/menu/menu-heading.d.ts +3 -2
  198. package/cjs/menu/menu-item-check.d.cts +10 -18
  199. package/cjs/menu/menu-item-check.d.ts +10 -18
  200. package/cjs/menu/menu-item-checkbox.cjs +3 -3
  201. package/cjs/menu/menu-item-checkbox.d.cts +38 -6
  202. package/cjs/menu/menu-item-checkbox.d.ts +38 -6
  203. package/cjs/menu/menu-item-radio.d.cts +21 -9
  204. package/cjs/menu/menu-item-radio.d.ts +21 -9
  205. package/cjs/menu/menu-item.d.cts +10 -11
  206. package/cjs/menu/menu-item.d.ts +10 -11
  207. package/cjs/menu/menu-list.d.cts +7 -2
  208. package/cjs/menu/menu-list.d.ts +7 -2
  209. package/cjs/menu/menu-provider.d.cts +2 -1
  210. package/cjs/menu/menu-provider.d.ts +2 -1
  211. package/cjs/menu/menu-separator.d.cts +5 -2
  212. package/cjs/menu/menu-separator.d.ts +5 -2
  213. package/cjs/menu/menu-store.d.cts +18 -7
  214. package/cjs/menu/menu-store.d.ts +18 -7
  215. package/cjs/menu/menu.cjs +8 -8
  216. package/cjs/menu/menu.d.cts +8 -2
  217. package/cjs/menu/menu.d.ts +8 -2
  218. package/cjs/menubar/menubar-provider.d.cts +2 -1
  219. package/cjs/menubar/menubar-provider.d.ts +2 -1
  220. package/cjs/menubar/menubar-store.d.cts +3 -1
  221. package/cjs/menubar/menubar-store.d.ts +3 -1
  222. package/cjs/menubar/menubar.d.cts +3 -2
  223. package/cjs/menubar/menubar.d.ts +3 -2
  224. package/cjs/popover/popover-anchor.d.cts +4 -3
  225. package/cjs/popover/popover-anchor.d.ts +4 -3
  226. package/cjs/popover/popover-arrow.d.cts +6 -2
  227. package/cjs/popover/popover-arrow.d.ts +6 -2
  228. package/cjs/popover/popover-description.d.cts +1 -1
  229. package/cjs/popover/popover-description.d.ts +1 -1
  230. package/cjs/popover/popover-disclosure-arrow.d.cts +6 -4
  231. package/cjs/popover/popover-disclosure-arrow.d.ts +6 -4
  232. package/cjs/popover/popover-disclosure.d.cts +3 -2
  233. package/cjs/popover/popover-disclosure.d.ts +3 -2
  234. package/cjs/popover/popover-dismiss.d.cts +1 -1
  235. package/cjs/popover/popover-dismiss.d.ts +1 -1
  236. package/cjs/popover/popover-heading.d.cts +1 -1
  237. package/cjs/popover/popover-heading.d.ts +1 -1
  238. package/cjs/popover/popover-provider.d.cts +2 -1
  239. package/cjs/popover/popover-provider.d.ts +2 -1
  240. package/cjs/popover/popover-store.d.cts +2 -1
  241. package/cjs/popover/popover-store.d.ts +2 -1
  242. package/cjs/popover/popover.cjs +6 -6
  243. package/cjs/popover/popover.d.cts +8 -3
  244. package/cjs/popover/popover.d.ts +8 -3
  245. package/cjs/portal/portal.d.cts +18 -1
  246. package/cjs/portal/portal.d.ts +18 -1
  247. package/cjs/radio/radio-group.d.cts +8 -6
  248. package/cjs/radio/radio-group.d.ts +8 -6
  249. package/cjs/radio/radio-provider.d.cts +2 -1
  250. package/cjs/radio/radio-provider.d.ts +2 -1
  251. package/cjs/radio/radio-store.d.cts +6 -2
  252. package/cjs/radio/radio-store.d.ts +6 -2
  253. package/cjs/radio/radio.d.cts +21 -13
  254. package/cjs/radio/radio.d.ts +21 -13
  255. package/cjs/role/role.d.cts +3 -3
  256. package/cjs/role/role.d.ts +3 -3
  257. package/cjs/select/select-group-label.d.cts +2 -2
  258. package/cjs/select/select-group-label.d.ts +2 -2
  259. package/cjs/select/select-group.d.cts +4 -1
  260. package/cjs/select/select-group.d.ts +4 -1
  261. package/cjs/select/select-item-check.d.cts +9 -15
  262. package/cjs/select/select-item-check.d.ts +9 -15
  263. package/cjs/select/select-item.d.cts +1 -5
  264. package/cjs/select/select-item.d.ts +1 -5
  265. package/cjs/select/select-list.d.cts +7 -4
  266. package/cjs/select/select-list.d.ts +7 -4
  267. package/cjs/select/select-popover.cjs +7 -7
  268. package/cjs/select/select-provider.d.cts +2 -1
  269. package/cjs/select/select-provider.d.ts +2 -1
  270. package/cjs/select/select-renderer.d.cts +1 -1
  271. package/cjs/select/select-renderer.d.ts +1 -1
  272. package/cjs/select/select-row.d.cts +4 -1
  273. package/cjs/select/select-row.d.ts +4 -1
  274. package/cjs/select/select-separator.d.cts +2 -1
  275. package/cjs/select/select-separator.d.ts +2 -1
  276. package/cjs/select/select-store.d.cts +17 -10
  277. package/cjs/select/select-store.d.ts +17 -10
  278. package/cjs/select/select.cjs +8 -6
  279. package/cjs/select/select.d.cts +25 -15
  280. package/cjs/select/select.d.ts +25 -15
  281. package/cjs/tab/tab-list.d.cts +2 -1
  282. package/cjs/tab/tab-list.d.ts +2 -1
  283. package/cjs/tab/tab-panel.d.cts +19 -3
  284. package/cjs/tab/tab-panel.d.ts +19 -3
  285. package/cjs/tab/tab-provider.d.cts +1 -1
  286. package/cjs/tab/tab-provider.d.ts +1 -1
  287. package/cjs/tab/tab-store.d.cts +3 -1
  288. package/cjs/tab/tab-store.d.ts +3 -1
  289. package/cjs/tab/tab.d.cts +2 -2
  290. package/cjs/tab/tab.d.ts +2 -2
  291. package/cjs/toolbar/toolbar-container.d.cts +1 -1
  292. package/cjs/toolbar/toolbar-container.d.ts +1 -1
  293. package/cjs/toolbar/toolbar-input.d.cts +2 -1
  294. package/cjs/toolbar/toolbar-input.d.ts +2 -1
  295. package/cjs/toolbar/toolbar-item.d.cts +2 -1
  296. package/cjs/toolbar/toolbar-item.d.ts +2 -1
  297. package/cjs/toolbar/toolbar-provider.d.cts +2 -1
  298. package/cjs/toolbar/toolbar-provider.d.ts +2 -1
  299. package/cjs/toolbar/toolbar-separator.d.cts +2 -1
  300. package/cjs/toolbar/toolbar-separator.d.ts +2 -1
  301. package/cjs/toolbar/toolbar-store.d.cts +3 -1
  302. package/cjs/toolbar/toolbar-store.d.ts +3 -1
  303. package/cjs/tooltip/tooltip-anchor.d.cts +3 -3
  304. package/cjs/tooltip/tooltip-anchor.d.ts +3 -3
  305. package/cjs/tooltip/tooltip-arrow.d.cts +1 -1
  306. package/cjs/tooltip/tooltip-arrow.d.ts +1 -1
  307. package/cjs/tooltip/tooltip-provider.d.cts +2 -1
  308. package/cjs/tooltip/tooltip-provider.d.ts +2 -1
  309. package/cjs/tooltip/tooltip-store.d.cts +3 -1
  310. package/cjs/tooltip/tooltip-store.d.ts +3 -1
  311. package/cjs/tooltip/tooltip.cjs +8 -8
  312. package/cjs/tooltip/tooltip.d.cts +3 -1
  313. package/cjs/tooltip/tooltip.d.ts +3 -1
  314. package/esm/__chunks/{FS2EVEJO.js → 4GO43MST.js} +8 -8
  315. package/esm/__chunks/{A6XC27R5.js → IRX7SFUJ.js} +1 -1
  316. package/esm/__chunks/{PGAEII2Q.js → NERBASET.js} +4 -4
  317. package/esm/__chunks/{EPBRINPG.js → QWSZGSIG.js} +2 -2
  318. package/esm/button/button.d.ts +1 -1
  319. package/esm/checkbox/checkbox-check.d.ts +17 -9
  320. package/esm/checkbox/checkbox-provider.d.ts +4 -2
  321. package/esm/checkbox/checkbox-provider.js +3 -3
  322. package/esm/checkbox/checkbox-store.d.ts +5 -3
  323. package/esm/checkbox/checkbox.d.ts +14 -9
  324. package/esm/collection/collection-item.d.ts +23 -9
  325. package/esm/collection/collection-provider.d.ts +2 -1
  326. package/esm/collection/collection-renderer.d.ts +1 -1
  327. package/esm/collection/collection-store.d.ts +6 -3
  328. package/esm/collection/collection.d.ts +4 -3
  329. package/esm/combobox/combobox-cancel.d.ts +3 -2
  330. package/esm/combobox/combobox-disclosure.d.ts +7 -2
  331. package/esm/combobox/combobox-group-label.d.ts +4 -4
  332. package/esm/combobox/combobox-group.d.ts +7 -3
  333. package/esm/combobox/combobox-item-check.d.ts +9 -16
  334. package/esm/combobox/combobox-item-value.d.ts +13 -8
  335. package/esm/combobox/combobox-item.d.ts +11 -9
  336. package/esm/combobox/combobox-list.d.ts +1 -4
  337. package/esm/combobox/combobox-popover.d.ts +2 -3
  338. package/esm/combobox/combobox-popover.js +5 -5
  339. package/esm/combobox/combobox-provider.d.ts +2 -1
  340. package/esm/combobox/combobox-row.d.ts +6 -3
  341. package/esm/combobox/combobox-separator.d.ts +4 -3
  342. package/esm/combobox/combobox-store.d.ts +11 -7
  343. package/esm/combobox/combobox.d.ts +45 -33
  344. package/esm/command/command.d.ts +1 -1
  345. package/esm/composite/composite-container.d.ts +18 -11
  346. package/esm/composite/composite-group-label.d.ts +18 -13
  347. package/esm/composite/composite-group.d.ts +20 -12
  348. package/esm/composite/composite-hover.d.ts +17 -8
  349. package/esm/composite/composite-input.d.ts +15 -9
  350. package/esm/composite/composite-item.d.ts +49 -9
  351. package/esm/composite/composite-overflow.js +5 -5
  352. package/esm/composite/composite-provider.d.ts +2 -1
  353. package/esm/composite/composite-renderer.d.ts +1 -1
  354. package/esm/composite/composite-row.d.ts +26 -19
  355. package/esm/composite/composite-separator.d.ts +23 -10
  356. package/esm/composite/composite-store.d.ts +3 -1
  357. package/esm/composite/composite-typeahead.d.ts +20 -8
  358. package/esm/composite/composite.d.ts +65 -10
  359. package/esm/dialog/dialog-disclosure.d.ts +2 -1
  360. package/esm/dialog/dialog-dismiss.d.ts +2 -1
  361. package/esm/dialog/dialog-provider.d.ts +2 -1
  362. package/esm/dialog/dialog-store.d.ts +3 -1
  363. package/esm/dialog/dialog.d.ts +51 -20
  364. package/esm/dialog/dialog.js +4 -4
  365. package/esm/dialog/utils/disable-tree.js +2 -2
  366. package/esm/dialog/utils/use-hide-on-interact-outside.js +1 -1
  367. package/esm/disclosure/disclosure-content.d.ts +6 -5
  368. package/esm/disclosure/disclosure-provider.d.ts +2 -1
  369. package/esm/disclosure/disclosure-store.d.ts +6 -4
  370. package/esm/disclosure/disclosure.d.ts +3 -2
  371. package/esm/focus-trap/focus-trap-region.d.ts +4 -2
  372. package/esm/focusable/focusable-container.d.ts +7 -5
  373. package/esm/focusable/focusable.d.ts +5 -2
  374. package/esm/form/form-checkbox.d.ts +6 -4
  375. package/esm/form/form-checkbox.js +6 -6
  376. package/esm/form/form-control.d.ts +93 -0
  377. package/esm/form/form-control.js +16 -0
  378. package/esm/form/form-description.d.ts +14 -3
  379. package/esm/form/form-error.d.ts +11 -4
  380. package/esm/form/form-field.d.ts +16 -30
  381. package/esm/form/form-field.js +19 -4
  382. package/esm/form/form-group-label.d.ts +6 -4
  383. package/esm/form/form-group.d.ts +6 -2
  384. package/esm/form/form-input.d.ts +7 -6
  385. package/esm/form/form-input.js +3 -3
  386. package/esm/form/form-label.d.ts +18 -7
  387. package/esm/form/form-provider.d.ts +2 -1
  388. package/esm/form/form-push.d.ts +17 -3
  389. package/esm/form/form-radio-group.d.ts +7 -2
  390. package/esm/form/form-radio.d.ts +8 -4
  391. package/esm/form/form-radio.js +3 -3
  392. package/esm/form/form-remove.d.ts +17 -2
  393. package/esm/form/form-reset.d.ts +5 -2
  394. package/esm/form/form-store.d.ts +31 -14
  395. package/esm/form/form-submit.d.ts +8 -2
  396. package/esm/form/form.d.ts +37 -11
  397. package/esm/group/group-label.d.ts +3 -2
  398. package/esm/group/group.d.ts +3 -1
  399. package/esm/heading/heading-level.d.ts +4 -2
  400. package/esm/heading/heading.d.ts +4 -3
  401. package/esm/hovercard/hovercard-anchor.d.ts +5 -2
  402. package/esm/hovercard/hovercard-arrow.d.ts +4 -2
  403. package/esm/hovercard/hovercard-description.d.ts +2 -2
  404. package/esm/hovercard/hovercard-disclosure.d.ts +1 -1
  405. package/esm/hovercard/hovercard-dismiss.d.ts +3 -2
  406. package/esm/hovercard/hovercard-heading.d.ts +2 -2
  407. package/esm/hovercard/hovercard-provider.d.ts +2 -1
  408. package/esm/hovercard/hovercard-store.d.ts +2 -1
  409. package/esm/hovercard/hovercard.d.ts +20 -8
  410. package/esm/hovercard/hovercard.js +6 -6
  411. package/esm/menu/menu-arrow.d.ts +4 -2
  412. package/esm/menu/menu-bar.d.ts +1 -2
  413. package/esm/menu/menu-button-arrow.d.ts +9 -4
  414. package/esm/menu/menu-button.d.ts +8 -7
  415. package/esm/menu/menu-description.d.ts +2 -2
  416. package/esm/menu/menu-dismiss.d.ts +3 -2
  417. package/esm/menu/menu-group-label.d.ts +4 -4
  418. package/esm/menu/menu-group.d.ts +5 -2
  419. package/esm/menu/menu-heading.d.ts +3 -2
  420. package/esm/menu/menu-item-check.d.ts +10 -18
  421. package/esm/menu/menu-item-checkbox.d.ts +38 -6
  422. package/esm/menu/menu-item-checkbox.js +3 -3
  423. package/esm/menu/menu-item-radio.d.ts +21 -9
  424. package/esm/menu/menu-item.d.ts +10 -11
  425. package/esm/menu/menu-list.d.ts +7 -2
  426. package/esm/menu/menu-provider.d.ts +2 -1
  427. package/esm/menu/menu-separator.d.ts +5 -2
  428. package/esm/menu/menu-store.d.ts +18 -7
  429. package/esm/menu/menu.d.ts +8 -2
  430. package/esm/menu/menu.js +6 -6
  431. package/esm/menubar/menubar-provider.d.ts +2 -1
  432. package/esm/menubar/menubar-store.d.ts +3 -1
  433. package/esm/menubar/menubar.d.ts +3 -2
  434. package/esm/popover/popover-anchor.d.ts +4 -3
  435. package/esm/popover/popover-arrow.d.ts +6 -2
  436. package/esm/popover/popover-description.d.ts +1 -1
  437. package/esm/popover/popover-disclosure-arrow.d.ts +6 -4
  438. package/esm/popover/popover-disclosure.d.ts +3 -2
  439. package/esm/popover/popover-dismiss.d.ts +1 -1
  440. package/esm/popover/popover-heading.d.ts +1 -1
  441. package/esm/popover/popover-provider.d.ts +2 -1
  442. package/esm/popover/popover-store.d.ts +2 -1
  443. package/esm/popover/popover.d.ts +8 -3
  444. package/esm/popover/popover.js +5 -5
  445. package/esm/portal/portal.d.ts +18 -1
  446. package/esm/radio/radio-group.d.ts +8 -6
  447. package/esm/radio/radio-provider.d.ts +2 -1
  448. package/esm/radio/radio-store.d.ts +6 -2
  449. package/esm/radio/radio.d.ts +21 -13
  450. package/esm/role/role.d.ts +3 -3
  451. package/esm/select/select-group-label.d.ts +2 -2
  452. package/esm/select/select-group.d.ts +4 -1
  453. package/esm/select/select-item-check.d.ts +9 -15
  454. package/esm/select/select-item.d.ts +1 -5
  455. package/esm/select/select-list.d.ts +7 -4
  456. package/esm/select/select-popover.js +5 -5
  457. package/esm/select/select-provider.d.ts +2 -1
  458. package/esm/select/select-renderer.d.ts +1 -1
  459. package/esm/select/select-row.d.ts +4 -1
  460. package/esm/select/select-separator.d.ts +2 -1
  461. package/esm/select/select-store.d.ts +17 -10
  462. package/esm/select/select.d.ts +25 -15
  463. package/esm/select/select.js +8 -6
  464. package/esm/tab/tab-list.d.ts +2 -1
  465. package/esm/tab/tab-panel.d.ts +19 -3
  466. package/esm/tab/tab-provider.d.ts +1 -1
  467. package/esm/tab/tab-store.d.ts +3 -1
  468. package/esm/tab/tab.d.ts +2 -2
  469. package/esm/toolbar/toolbar-container.d.ts +1 -1
  470. package/esm/toolbar/toolbar-input.d.ts +2 -1
  471. package/esm/toolbar/toolbar-item.d.ts +2 -1
  472. package/esm/toolbar/toolbar-provider.d.ts +2 -1
  473. package/esm/toolbar/toolbar-separator.d.ts +2 -1
  474. package/esm/toolbar/toolbar-store.d.ts +3 -1
  475. package/esm/tooltip/tooltip-anchor.d.ts +3 -3
  476. package/esm/tooltip/tooltip-arrow.d.ts +1 -1
  477. package/esm/tooltip/tooltip-provider.d.ts +2 -1
  478. package/esm/tooltip/tooltip-store.d.ts +3 -1
  479. package/esm/tooltip/tooltip.d.ts +3 -1
  480. package/esm/tooltip/tooltip.js +6 -6
  481. package/form/form-control/package.json +8 -0
  482. package/package.json +9 -2
  483. package/cjs/__chunks/{NKR65BKC.cjs → KSPMHEYZ.cjs} +3 -3
  484. package/esm/__chunks/{CLF4PQ7T.js → TQYOGOE2.js} +3 -3
@@ -1,7 +1,8 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { PopoverStoreProps } from "./popover-store.js";
3
3
  /**
4
- * Provides a popover store to Popover components.
4
+ * Provides a popover store to [Popover](https://ariakit.org/components/popover)
5
+ * components.
5
6
  * @see https://ariakit.org/components/popover
6
7
  * @example
7
8
  * ```jsx
@@ -3,7 +3,8 @@ import type { DialogStoreFunctions, DialogStoreOptions, DialogStoreState } from
3
3
  import type { Store } from "../utils/store.js";
4
4
  export declare function usePopoverStoreProps<T extends Core.PopoverStore>(store: T, update: () => void, props: PopoverStoreProps): T;
5
5
  /**
6
- * Creates a popover store.
6
+ * Creates a popover store to control the state of
7
+ * [Popover](https://ariakit.org/components/popover) components.
7
8
  * @see https://ariakit.org/components/popover
8
9
  * @example
9
10
  * ```jsx
@@ -20,10 +20,11 @@ type AnchorRect = {
20
20
  */
21
21
  export declare const usePopover: import("../utils/types.js").Hook<PopoverOptions<"div">>;
22
22
  /**
23
- * Renders a popover element.
23
+ * Renders a popover element that's automatically positioned relative to an
24
+ * anchor element.
24
25
  * @see https://ariakit.org/components/popover
25
26
  * @example
26
- * ```jsx
27
+ * ```jsx {3}
27
28
  * <PopoverProvider>
28
29
  * <PopoverDisclosure>Disclosure</PopoverDisclosure>
29
30
  * <Popover>Popover</Popover>
@@ -46,6 +47,7 @@ export interface PopoverOptions<T extends As = "div"> extends DialogOptions<T> {
46
47
  *
47
48
  * Live examples:
48
49
  * - [Navigation Menubar](https://ariakit.org/examples/menubar-navigation)
50
+ * - [Sliding Menu](https://ariakit.org/examples/menu-slide)
49
51
  */
50
52
  wrapperProps?: HTMLAttributes<HTMLDivElement>;
51
53
  /**
@@ -71,6 +73,7 @@ export interface PopoverOptions<T extends As = "div"> extends DialogOptions<T> {
71
73
  * negative values to make the popover shift to the opposite side.
72
74
  *
73
75
  * Live examples:
76
+ * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
74
77
  * - [Navigation Menubar](https://ariakit.org/examples/menubar-navigation)
75
78
  * - [Submenu](https://ariakit.org/examples/menu-nested)
76
79
  * - [Menubar](https://ariakit.org/components/menubar)
@@ -136,6 +139,9 @@ export interface PopoverOptions<T extends As = "div"> extends DialogOptions<T> {
136
139
  * The minimum padding between the popover and the viewport edge. This will be
137
140
  * exposed to CSS as
138
141
  * [`--popover-overflow-padding`](https://ariakit.org/guide/styling#--popover-overflow-padding).
142
+ *
143
+ * Live examples:
144
+ * - [Sliding Menu](https://ariakit.org/examples/menu-slide)
139
145
  * @default 8
140
146
  */
141
147
  overflowPadding?: number;
@@ -148,7 +154,6 @@ export interface PopoverOptions<T extends As = "div"> extends DialogOptions<T> {
148
154
  * - [Standalone Popover](https://ariakit.org/examples/popover-standalone)
149
155
  * - [Context menu](https://ariakit.org/examples/menu-context-menu)
150
156
  * - [Selection Popover](https://ariakit.org/examples/popover-selection)
151
- * @param anchor The anchor element.
152
157
  */
153
158
  getAnchorRect?: (anchor: HTMLElement | null) => AnchorRect | null;
154
159
  /**
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  Popover,
4
4
  usePopover
5
- } from "../__chunks/A6XC27R5.js";
6
- import "../__chunks/PGAEII2Q.js";
5
+ } from "../__chunks/IRX7SFUJ.js";
6
+ import "../__chunks/NERBASET.js";
7
7
  import "../__chunks/LWHPHW7Q.js";
8
- import "../__chunks/CLF4PQ7T.js";
8
+ import "../__chunks/TQYOGOE2.js";
9
9
  import "../__chunks/BULCTPRV.js";
10
10
  import "../__chunks/6BJGLK2C.js";
11
11
  import "../__chunks/CS347UVZ.js";
@@ -13,11 +13,11 @@ import "../__chunks/IUB2BTEK.js";
13
13
  import "../__chunks/XHJGS6Z5.js";
14
14
  import "../__chunks/TL67WVI6.js";
15
15
  import "../__chunks/MKDDWKFK.js";
16
+ import "../__chunks/72E5EPFF.js";
16
17
  import "../__chunks/OOBDFMJL.js";
18
+ import "../__chunks/X6WIMZJE.js";
17
19
  import "../__chunks/677M2CI3.js";
18
20
  import "../__chunks/6GXEOXGT.js";
19
- import "../__chunks/72E5EPFF.js";
20
- import "../__chunks/X6WIMZJE.js";
21
21
  import "../__chunks/HPP6CWMY.js";
22
22
  import "../__chunks/UYRJLDVS.js";
23
23
  import "../__chunks/JPXNJYSO.js";
@@ -11,7 +11,21 @@ import type { As, Options, Props } from "../utils/types.js";
11
11
  */
12
12
  export declare const usePortal: import("../utils/types.js").Hook<PortalOptions<"div">>;
13
13
  /**
14
- * Renders an element using `ReactDOM.createPortal`.
14
+ * Renders an element using [React
15
+ * Portal](https://react.dev/reference/react-dom/createPortal).
16
+ *
17
+ * By default, the portal element is a `div` element appended to the
18
+ * `document.body` element. You can customize this with the
19
+ * [`portalElement`](https://ariakit.org/reference/portal#portalelement) prop.
20
+ *
21
+ * The
22
+ * [`preserveTabOrder`](https://ariakit.org/reference/portal#preservetaborder)
23
+ * prop allows this component to manage the tab order of the elements. It
24
+ * ensures the tab order remains consistent with the original location where the
25
+ * portal was rendered in the React tree, instead of the final location in the
26
+ * DOM. The
27
+ * [`preserveTabOrderAnchor`](https://ariakit.org/reference/portal#preservetaborderanchor)
28
+ * prop can specify a different location from which the tab order is preserved.
15
29
  * @see https://ariakit.org/components/portal
16
30
  * @example
17
31
  * ```jsx
@@ -71,6 +85,9 @@ export interface PortalOptions<T extends As = "div"> extends Options<T> {
71
85
  * `portalRef` is similar to `ref` but is scoped to the portal node. It's
72
86
  * useful when you need to be informed when the portal element is appended to
73
87
  * the DOM or removed from the DOM.
88
+ *
89
+ * Live examples:
90
+ * - [Form with Select](https://ariakit.org/examples/form-select)
74
91
  * @example
75
92
  * ```jsx
76
93
  * const [portalElement, setPortalElement] = useState(null);
@@ -16,15 +16,17 @@ import type { RadioStore } from "./radio-store.js";
16
16
  */
17
17
  export declare const useRadioGroup: import("../utils/types.js").Hook<RadioGroupOptions<"div">>;
18
18
  /**
19
- * Renders a radio group element.
19
+ * Renders a [`radiogroup`](https://w3c.github.io/aria/#radiogroup) element that
20
+ * manages a group of [`Radio`](https://ariakit.org/reference/radio) elements.
20
21
  * @see https://ariakit.org/components/radio
21
22
  * @example
22
23
  * ```jsx
23
- * const radio = useRadioStore();
24
- * <RadioGroup store={radio}>
25
- * <Radio value="Apple" />
26
- * <Radio value="Orange" />
27
- * </RadioGroup>
24
+ * <RadioProvider>
25
+ * <RadioGroup>
26
+ * <Radio value="Apple" />
27
+ * <Radio value="Orange" />
28
+ * </RadioGroup>
29
+ * </RadioProvider>
28
30
  * ```
29
31
  */
30
32
  export declare const RadioGroup: import("../utils/types.js").Component<RadioGroupOptions<"div">>;
@@ -1,7 +1,8 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { RadioStoreProps } from "./radio-store.js";
3
3
  /**
4
- * Provides a radio store to Radio components.
4
+ * Provides a radio store to [Radio](https://ariakit.org/components/radio)
5
+ * components.
5
6
  * @see https://ariakit.org/components/radio
6
7
  * @example
7
8
  * ```jsx
@@ -3,11 +3,13 @@ import type { CompositeStoreFunctions, CompositeStoreOptions, CompositeStoreStat
3
3
  import type { Store } from "../utils/store.js";
4
4
  export declare function useRadioStoreProps<T extends Core.RadioStore>(store: T, update: () => void, props: RadioStoreProps): T;
5
5
  /**
6
- * Creates a radio store.
6
+ * Creates a radio store to control the state of
7
+ * [Radio](https://ariakit.org/components/radio) components.
7
8
  * @see https://ariakit.org/components/radio
8
9
  * @example
9
10
  * ```jsx
10
11
  * const radio = useRadioStore();
12
+ *
11
13
  * <RadioGroup store={radio}>
12
14
  * <Radio value="Apple" />
13
15
  * <Radio value="Orange" />
@@ -21,7 +23,9 @@ export interface RadioStoreFunctions extends Core.RadioStoreFunctions, Composite
21
23
  }
22
24
  export interface RadioStoreOptions extends Core.RadioStoreOptions, CompositeStoreOptions {
23
25
  /**
24
- * Function that will be called when the `value` state changes.
26
+ * Function that will be called when the
27
+ * [`value`](https://ariakit.org/reference/radio-provider#value) state
28
+ * changes.
25
29
  */
26
30
  setValue?: (value: RadioStoreState["value"]) => void;
27
31
  }
@@ -18,15 +18,17 @@ import type { RadioStore } from "./radio-store.js";
18
18
  */
19
19
  export declare const useRadio: import("../utils/types.js").Hook<RadioOptions<"input">>;
20
20
  /**
21
- * Renders a radio button element.
21
+ * Renders a radio button element that's typically wrapped in a
22
+ * [`RadioGroup`](https://ariakit.org/reference/radio-group) component.
22
23
  * @see https://ariakit.org/components/radio
23
24
  * @example
24
- * ```jsx
25
- * const radio = useRadioStore();
26
- * <RadioGroup store={radio}>
27
- * <Radio value="Apple" />
28
- * <Radio value="Orange" />
29
- * </RadioGroup>
25
+ * ```jsx {3-4}
26
+ * <RadioProvider>
27
+ * <RadioGroup>
28
+ * <Radio value="Apple" />
29
+ * <Radio value="Orange" />
30
+ * </RadioGroup>
31
+ * </RadioProvider>
30
32
  * ```
31
33
  */
32
34
  export declare const Radio: import("../utils/types.js").Component<RadioOptions<"input">>;
@@ -40,20 +42,26 @@ export interface RadioOptions<T extends As = "input"> extends CompositeItemOptio
40
42
  * context will be used.
41
43
  */
42
44
  store?: RadioStore;
43
- /**
44
- * The native `name` attribute.
45
- */
46
- name?: string;
47
45
  /**
48
46
  * The value of the radio button.
47
+ *
48
+ * Live examples:
49
+ * - [FormRadio](https://ariakit.org/examples/form-radio)
50
+ * - [MenuItemRadio](https://ariakit.org/examples/menu-item-radio)
49
51
  */
50
52
  value: string | number;
51
53
  /**
52
- * Whether the radio button is checked.
54
+ * The native `name` attribute.
55
+ */
56
+ name?: string;
57
+ /**
58
+ * Determines if the radio button is checked. Using this prop will make the
59
+ * radio button controlled and override the
60
+ * [`value`](https://ariakit.org/reference/radio-provider#value) state.
53
61
  */
54
62
  checked?: boolean;
55
63
  /**
56
- * Callback function that is called when the radio button store changes.
64
+ * Callback function that is called when the radio button state changes.
57
65
  */
58
66
  onChange?: BivariantCallback<(event: SyntheticEvent<HTMLInputElement>) => void>;
59
67
  }
@@ -14,9 +14,9 @@ type RoleElements = {
14
14
  */
15
15
  export declare const useRole: import("../utils/types.js").Hook<RoleOptions<"div">>;
16
16
  /**
17
- * Renders an abstract element that supports the `render` prop a `wrapElement`
18
- * prop that can be used to wrap the underlying element with React Portal,
19
- * Context or other component types.
17
+ * Renders an abstract element that supports the `render` prop and a
18
+ * `wrapElement` prop that can be used to wrap the underlying element with React
19
+ * Portal, Context or other component types.
20
20
  * @see https://ariakit.org/components/role
21
21
  * @example
22
22
  * ```jsx
@@ -16,8 +16,8 @@ import type { SelectStore } from "./select-store.js";
16
16
  export declare const useSelectGroupLabel: import("../utils/types.js").Hook<SelectGroupLabelOptions<"div">>;
17
17
  /**
18
18
  * Renders a label in a select group. This component must be wrapped with
19
- * `SelectGroup` so the `aria-labelledby` prop is properly set on the select
20
- * group element.
19
+ * [`SelectGroup`](https://ariakit.org/reference/select-group) so the
20
+ * `aria-labelledby` prop is properly set on the select group element.
21
21
  * @see https://ariakit.org/components/select
22
22
  * @example
23
23
  * ```jsx {5,10}
@@ -20,7 +20,10 @@ import type { SelectStore } from "./select-store.js";
20
20
  */
21
21
  export declare const useSelectGroup: import("../utils/types.js").Hook<SelectGroupOptions<"div">>;
22
22
  /**
23
- * Renders a select group.
23
+ * Renders a group for [`SelectItem`](https://ariakit.org/reference/select-item)
24
+ * elements. Optionally, a
25
+ * [`SelectGroupLabel`](https://ariakit.org/reference/select-group-label) can be
26
+ * rendered as a child to provide a label for the group.
24
27
  * @see https://ariakit.org/components/select
25
28
  * @example
26
29
  * ```jsx {4-8}
@@ -14,9 +14,14 @@ import type { SelectStore } from "./select-store.js";
14
14
  */
15
15
  export declare const useSelectItemCheck: import("../utils/types.js").Hook<SelectItemCheckOptions<"span">>;
16
16
  /**
17
- * Renders a checkmark inside a `SelectItem` component. This component must be
18
- * wrapped with `SelectItem` or the `checked` prop must be explicitly passed to
19
- * the component.
17
+ * Renders a checkmark icon when the
18
+ * [`checked`](https://ariakit.org/reference/select-item-check#checked) prop is
19
+ * `true`. The icon can be overridden by providing a different one as children.
20
+ *
21
+ * When rendered inside a
22
+ * [`SelectItem`](https://ariakit.org/reference/select-item) component, the
23
+ * [`checked`](https://ariakit.org/reference/select-item-check#checked) prop is
24
+ * automatically derived from the context.
20
25
  * @see https://ariakit.org/components/select
21
26
  * @example
22
27
  * ```jsx {5,9}
@@ -39,19 +44,8 @@ export declare const SelectItemCheck: import("../utils/types.js").Component<Sele
39
44
  export interface SelectItemCheckOptions<T extends As = "span"> extends CheckboxCheckOptions<T> {
40
45
  /**
41
46
  * Object returned by the
42
- * [`useSelectStore`](https://ariakit.org/reference/use-select-store) hook. If
43
- * not provided, the parent
44
- * [`SelectList`](https://ariakit.org/reference/select-list) or
45
- * [`SelectPopover`](https://ariakit.org/reference/select-popover) components'
46
- * context will be used.
47
+ * [`useSelectStore`](https://ariakit.org/reference/use-select-store) hook.
47
48
  */
48
49
  store?: SelectStore;
49
- /**
50
- * Whether the check mark should be shown. This value is automatically
51
- * inferred from the parent
52
- * [`SelectItem`](https://ariakit.org/reference/select-item) component.
53
- * Manually setting this prop will override the inferred value.
54
- */
55
- checked?: boolean;
56
50
  }
57
51
  export type SelectItemCheckProps<T extends As = "span"> = Props<SelectItemCheckOptions<T>>;
@@ -70,7 +70,7 @@ export interface SelectItemOptions<T extends As = "div"> extends CompositeItemOp
70
70
  * - [Form with Select](https://ariakit.org/examples/form-select)
71
71
  * - [Animated Select](https://ariakit.org/examples/select-animated)
72
72
  * - [Select with Combobox](https://ariakit.org/examples/select-combobox)
73
- * - [Select grid](https://ariakit.org/examples/select-grid)
73
+ * - [Select Grid](https://ariakit.org/examples/select-grid)
74
74
  * - [SelectGroup](https://ariakit.org/examples/select-group)
75
75
  * - [Select with custom
76
76
  * item](https://ariakit.org/examples/select-item-custom)
@@ -93,9 +93,5 @@ export interface SelectItemOptions<T extends As = "div"> extends CompositeItemOp
93
93
  * provided.
94
94
  */
95
95
  setValueOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
96
- /**
97
- * @default true
98
- */
99
- preventScrollOnKeyDown?: CompositeItemOptions["preventScrollOnKeyDown"];
100
96
  }
101
97
  export type SelectItemProps<T extends As = "div"> = Props<SelectItemOptions<T>>;
@@ -20,11 +20,14 @@ import type { SelectStore } from "./select-store.js";
20
20
  */
21
21
  export declare const useSelectList: import("../utils/types.js").Hook<SelectListOptions<"div">>;
22
22
  /**
23
- * Renders a select list. The `role` attribute is set to `listbox` by default,
24
- * but can be overriden by any other valid select popup role (`listbox`, `menu`,
25
- * `tree`, `grid` or `dialog`).
23
+ * Renders a select list element. This is the primitive component used by the
24
+ * [`SelectPopover`](https://ariakit.org/reference/select-popover) component.
26
25
  *
27
- * The `aria-labelledby` attribute is set to the
26
+ * Unlike [`SelectPopover`](https://ariakit.org/reference/select-popover), this
27
+ * component doesn't render a popover and therefore doesn't automatically focus
28
+ * on items when opened.
29
+ *
30
+ * The `aria-labelledby` prop is set to the
28
31
  * [`Select`](https://ariakit.org/reference/select) element's `id` by default.
29
32
  * @see https://ariakit.org/components/select
30
33
  * @example
@@ -12,12 +12,12 @@ import "../__chunks/IB7YUKH5.js";
12
12
  import "../__chunks/4UUKJZ4V.js";
13
13
  import {
14
14
  usePopover
15
- } from "../__chunks/A6XC27R5.js";
15
+ } from "../__chunks/IRX7SFUJ.js";
16
16
  import {
17
17
  createDialogComponent
18
- } from "../__chunks/PGAEII2Q.js";
18
+ } from "../__chunks/NERBASET.js";
19
19
  import "../__chunks/LWHPHW7Q.js";
20
- import "../__chunks/CLF4PQ7T.js";
20
+ import "../__chunks/TQYOGOE2.js";
21
21
  import "../__chunks/BULCTPRV.js";
22
22
  import "../__chunks/6BJGLK2C.js";
23
23
  import "../__chunks/CS347UVZ.js";
@@ -25,11 +25,11 @@ import "../__chunks/IUB2BTEK.js";
25
25
  import "../__chunks/XHJGS6Z5.js";
26
26
  import "../__chunks/TL67WVI6.js";
27
27
  import "../__chunks/MKDDWKFK.js";
28
+ import "../__chunks/72E5EPFF.js";
28
29
  import "../__chunks/OOBDFMJL.js";
30
+ import "../__chunks/X6WIMZJE.js";
29
31
  import "../__chunks/677M2CI3.js";
30
32
  import "../__chunks/6GXEOXGT.js";
31
- import "../__chunks/72E5EPFF.js";
32
- import "../__chunks/X6WIMZJE.js";
33
33
  import "../__chunks/HPP6CWMY.js";
34
34
  import "../__chunks/UYRJLDVS.js";
35
35
  import "../__chunks/JPXNJYSO.js";
@@ -3,7 +3,8 @@ import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { SelectStoreProps, SelectStoreValue } from "./select-store.js";
4
4
  type Value = SelectStoreValue;
5
5
  /**
6
- * Provides a select store to Select components.
6
+ * Provides a select store to [Select](https://ariakit.org/components/select)
7
+ * components.
7
8
  * @see https://ariakit.org/components/select
8
9
  * @example
9
10
  * ```jsx
@@ -18,7 +18,7 @@ export interface SelectRendererOptions<T extends Item = any> extends Omit<Compos
18
18
  /**
19
19
  * Object returned by the
20
20
  * [`useSelectStore`](https://ariakit.org/reference/use-select-store) hook. If
21
- * not provided, the parent [Select](https://ariakit.org/components/select)
21
+ * not provided, the closest [Select](https://ariakit.org/components/select)
22
22
  * component's context will be used.
23
23
  *
24
24
  * The store [`items`](https://ariakit.org/reference/use-select-store#items)
@@ -18,7 +18,10 @@ import type { SelectStore } from "./select-store.js";
18
18
  */
19
19
  export declare const useSelectRow: import("../utils/types.js").Hook<SelectRowOptions<"div">>;
20
20
  /**
21
- * Renders a select row.
21
+ * Renders a select row that allows two-dimensional arrow key navigation.
22
+ * [`SelectItem`](https://ariakit.org/reference/select-item) elements wrapped
23
+ * within this component will automatically receive a
24
+ * [`rowId`](https://ariakit.org/reference/select-item#rowid) prop.
22
25
  * @see https://ariakit.org/components/select
23
26
  * @example
24
27
  * ```jsx {4-11}
@@ -18,7 +18,8 @@ import type { SelectStore } from "./select-store.js";
18
18
  */
19
19
  export declare const useSelectSeparator: import("../utils/types.js").Hook<SelectSeparatorOptions<"hr">>;
20
20
  /**
21
- * Renders a separator element for select items.
21
+ * Renders a divider between
22
+ * [`SelectItem`](https://ariakit.org/reference/select-item) elements.
22
23
  * @see https://ariakit.org/components/select
23
24
  * @example
24
25
  * ```jsx {5}
@@ -8,11 +8,13 @@ export declare function useSelectStoreProps<T extends Core.SelectStore>(store: T
8
8
  combobox: ComboboxStore<import("@ariakit/core/combobox/combobox-store").ComboboxStoreSelectedValue> | null | undefined;
9
9
  };
10
10
  /**
11
- * Creates a select store.
11
+ * Creates a select store to control the state of
12
+ * [Select](https://ariakit.org/components/select) components.
12
13
  * @see https://ariakit.org/components/select
13
14
  * @example
14
15
  * ```jsx
15
16
  * const select = useSelectStore({ defaultValue: "Apple" });
17
+ *
16
18
  * <Select store={select} />
17
19
  * <SelectPopover store={select}>
18
20
  * <SelectItem value="Apple" />
@@ -31,18 +33,23 @@ export interface SelectStoreFunctions<T extends SelectStoreValue = SelectStoreVa
31
33
  }
32
34
  export interface SelectStoreOptions<T extends SelectStoreValue = SelectStoreValue> extends Core.SelectStoreOptions<T>, CompositeStoreOptions<SelectStoreItem>, PopoverStoreOptions {
33
35
  /**
34
- * Function that will be called when the `value` state changes.
35
- * @param value The new value.
36
+ * Function that will be called when the
37
+ * [`value`](https://ariakit.org/reference/select-provider#value) state
38
+ * changes.
39
+ *
40
+ * Live examples:
41
+ * - [Form with Select](https://ariakit.org/examples/form-select)
42
+ * - [Select Grid](https://ariakit.org/examples/select-grid)
43
+ * - [Select with custom items](https://ariakit.org/examples/select-item-custom)
44
+ * - [Multi-Select](https://ariakit.org/examples/select-multiple)
45
+ * - [Toolbar with Select](https://ariakit.org/examples/toolbar-select)
36
46
  */
37
47
  setValue?: BivariantCallback<(value: SelectStoreState<T>["value"]) => void>;
38
48
  /**
39
- * A reference to a combobox store. This is used when combining the combobox
40
- * with a select (e.g., select with a search input). The stores will share the
41
- * same state.
42
- *
43
- * Live examples:
44
- * - [Multi-selectable
45
- * Combobox](https://ariakit.org/examples/combobox-multiple)
49
+ * A reference to a [combobox
50
+ * store](https://ariakit.org/reference/use-combobox-store). It's
51
+ * automatically set when composing [Select with
52
+ * Combobox](https://ariakit.org/examples/select-combobox).
46
53
  */
47
54
  combobox?: ComboboxStore | null;
48
55
  }
@@ -16,7 +16,15 @@ import type { SelectStore } from "./select-store.js";
16
16
  */
17
17
  export declare const useSelect: import("../utils/types.js").Hook<SelectOptions<"button">>;
18
18
  /**
19
- * Renders a select button.
19
+ * Renders a custom select element that controls the visibility of either a
20
+ * [`SelectList`](https://ariakit.org/reference/select-list) or a
21
+ * [`SelectPopover`](https://ariakit.org/reference/select-popover) component.
22
+ *
23
+ * By default, the
24
+ * [`value`](https://ariakit.org/reference/select-provider#value) state is
25
+ * rendered as the children, followed by a
26
+ * [`SelectArrow`](https://ariakit.org/reference/select-arrow) component. This
27
+ * can be customized by passing different children to the component.
20
28
  * @see https://ariakit.org/components/select
21
29
  * @example
22
30
  * ```jsx {2}
@@ -40,14 +48,14 @@ export interface SelectOptions<T extends As = "button"> extends PopoverDisclosur
40
48
  */
41
49
  store?: SelectStore;
42
50
  /**
43
- * Determines whether the
51
+ * Determines if the
44
52
  * [`SelectList`](https://ariakit.org/reference/select-list) or
45
53
  * [`SelectPopover`](https://ariakit.org/reference/select-popover) components
46
- * will be shown when the user presses arrow keys while the select element is
47
- * focused.
54
+ * will appear when the user uses arrow keys while the select element is
55
+ * in focus.
48
56
  *
49
57
  * Live examples:
50
- * - [Select grid](https://ariakit.org/examples/select-grid)
58
+ * - [Select Grid](https://ariakit.org/examples/select-grid)
51
59
  * @default true
52
60
  */
53
61
  showOnKeyDown?: BooleanOrCallback<KeyboardEvent<HTMLElement>>;
@@ -55,28 +63,30 @@ export interface SelectOptions<T extends As = "button"> extends PopoverDisclosur
55
63
  * Determines whether pressing arrow keys will move the active item even when
56
64
  * the [`SelectList`](https://ariakit.org/reference/select-list) or
57
65
  * [`SelectPopover`](https://ariakit.org/reference/select-popover) components
58
- * is hidden.
66
+ * are hidden.
59
67
  * @default false
60
68
  */
61
69
  moveOnKeyDown?: BooleanOrCallback<KeyboardEvent<HTMLElement>>;
62
70
  /**
63
- * Determines whether
64
- * [`toggle`](https://ariakit.org/reference/use-select-store#toggle) will be
65
- * called on click. By default, the
71
+ * Determines if
72
+ * [`toggle`](https://ariakit.org/reference/use-select-store#toggle) should be
73
+ * invoked on click. By default, the
66
74
  * [`SelectList`](https://ariakit.org/reference/select-list) or
67
75
  * [`SelectPopover`](https://ariakit.org/reference/select-popover) components
68
- * will be shown on press (on mouse down and on key down). If this prop is set
69
- * to `true`, the [`SelectList`](https://ariakit.org/reference/select-list) or
70
- * [`SelectPopover`](https://ariakit.org/reference/select-popover) components
71
- * will be shown on click instead.
76
+ * are displayed on press (on mouse/key down).
77
+ *
78
+ * **Note**: When set to `true`, this prop supersedes the
79
+ * [`toggleOnPress`](https://ariakit.org/reference/select#toggleonpress) prop.
72
80
  * @default false
73
81
  */
74
82
  toggleOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
75
83
  /**
76
- * Determines whether pressing space, enter or mouse down will toggle the
84
+ * Determines whether pressing Space, Enter, or a mouse down event will
85
+ * [`toggle`](https://ariakit.org/reference/use-select-store#toggle) the
77
86
  * [`SelectList`](https://ariakit.org/reference/select-list) or
78
87
  * [`SelectPopover`](https://ariakit.org/reference/select-popover) components.
79
- * This prop will be ignored if
88
+ *
89
+ * **Note**: This prop is disregarded if
80
90
  * [`toggleOnClick`](https://ariakit.org/reference/select#toggleonclick) is
81
91
  * set to `true`.
82
92
  * @default true
@@ -192,12 +192,14 @@ var useSelect = createHook(
192
192
  });
193
193
  const label = props["aria-label"];
194
194
  const labelledBy = props["aria-labelledby"] || labelId;
195
- const items = store.useState("items");
196
- const values = useMemo(
197
- // Filter out items without value and duplicate values.
198
- () => [...new Set(items.map((i) => i.value).filter((v) => v != null))],
199
- [items]
200
- );
195
+ const items = store.useState((state) => {
196
+ if (!name)
197
+ return;
198
+ return state.items;
199
+ });
200
+ const values = useMemo(() => {
201
+ return [...new Set(items == null ? void 0 : items.map((i) => i.value).filter((v) => v != null))];
202
+ }, [items]);
201
203
  props = useWrapElement(
202
204
  props,
203
205
  (element) => {
@@ -18,7 +18,8 @@ import type { TabStore } from "./tab-store.js";
18
18
  */
19
19
  export declare const useTabList: import("../utils/types.js").Hook<TabListOptions<"div">>;
20
20
  /**
21
- * Renders a tab list element.
21
+ * Renders a composite tab list wrapper for
22
+ * [`Tab`](https://ariakit.org/reference/tab) elements.
22
23
  * @see https://ariakit.org/components/tab
23
24
  * @example
24
25
  * ```jsx {2-5}
@@ -18,7 +18,15 @@ import type { TabStore } from "./tab-store.js";
18
18
  */
19
19
  export declare const useTabPanel: import("../utils/types.js").Hook<TabPanelOptions<"div">>;
20
20
  /**
21
- * Renders a tab panel element.
21
+ * Renders a tab panel element that's controlled by a
22
+ * [`Tab`](https://ariakit.org/reference/tab) component.
23
+ *
24
+ * If the [`tabId`](https://ariakit.org/reference/tab-panel#tabid) prop isn't
25
+ * provided, the tab panel will automatically associate with a
26
+ * [`Tab`](https://ariakit.org/reference/tab) based on its position in the DOM.
27
+ * Alternatively, you can render a single tab panel with a dynamic
28
+ * [`tabId`](https://ariakit.org/reference/tab-panel#tabid) value pointing to
29
+ * the selected tab.
22
30
  * @see https://ariakit.org/components/tab
23
31
  * @example
24
32
  * ```jsx {6,7}
@@ -43,8 +51,16 @@ export interface TabPanelOptions<T extends As = "div"> extends FocusableOptions<
43
51
  */
44
52
  store?: TabStore;
45
53
  /**
46
- * The `id` of the tab controlling this panel is set by default. Typically,
47
- * this value is inferred from the sequence of the tabs and panels.
54
+ * The [`id`](https://ariakit.org/reference/tab#id) of the tab controlling
55
+ * this panel. This connection is used to assign the `aria-labelledby`
56
+ * attribute to the tab panel and to determine if the tab panel should be
57
+ * visible.
58
+ *
59
+ * This link is automatically established by matching the order of
60
+ * [`Tab`](https://ariakit.org/reference/tab) and
61
+ * [`TabPanel`](https://ariakit.org/reference/tab-panel) elements in the DOM.
62
+ * If you're rendering a single tab panel, this can be set to a dynamic value
63
+ * that refers to the selected tab.
48
64
  *
49
65
  * Live examples:
50
66
  * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)