@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
@@ -16,19 +16,16 @@ import type { ComboboxStore } from "./combobox-store.js";
16
16
  */
17
17
  export declare const useComboboxItem: import("../utils/types.js").Hook<ComboboxItemOptions<"div">>;
18
18
  /**
19
- * Renders a combobox item inside a
19
+ * Renders a combobox item inside
20
20
  * [`ComboboxList`](https://ariakit.org/reference/combobox-list) or
21
21
  * [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
22
- * components. The `role` prop will be automatically set based on the list's own
23
- * `role` prop. For example, if the list `role` is set to `listbox` (default),
24
- * the `ComboboxItem` `role` will be set to `option`.
22
+ * components.
25
23
  *
26
- * By default, the
27
- * [`value`](https://ariakit.org/reference/combobox-item#value) prop will be
28
- * rendered as the children, but this can be overriden.
24
+ * By default, the [`value`](https://ariakit.org/reference/combobox-item#value)
25
+ * prop will be rendered as the children, but this can be overriden.
29
26
  * @see https://ariakit.org/components/combobox
30
27
  * @example
31
- * ```jsx
28
+ * ```jsx {4-6}
32
29
  * <ComboboxProvider>
33
30
  * <Combobox />
34
31
  * <ComboboxPopover>
@@ -44,10 +41,13 @@ export interface ComboboxItemOptions<T extends As = "div"> extends CompositeItem
44
41
  /**
45
42
  * Object returned by the
46
43
  * [`useComboboxStore`](https://ariakit.org/reference/use-combobox-store)
47
- * hook. If not provided, the parent
44
+ * hook. If not provided, the closest
48
45
  * [`ComboboxList`](https://ariakit.org/reference/combobox-list) or
49
46
  * [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
50
47
  * components' context will be used.
48
+ *
49
+ * Live examples:
50
+ * - [Navigation Menubar](https://ariakit.org/examples/menubar-navigation)
51
51
  */
52
52
  store?: ComboboxStore;
53
53
  /**
@@ -86,6 +86,8 @@ export interface ComboboxItemOptions<T extends As = "div"> extends CompositeItem
86
86
  *
87
87
  * Live examples:
88
88
  * - [Combobox with links](https://ariakit.org/examples/combobox-links)
89
+ * - [Submenu with
90
+ * Combobox](https://ariakit.org/examples/menu-nested-combobox)
89
91
  */
90
92
  hideOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
91
93
  /**
@@ -21,12 +21,9 @@ export declare const useComboboxList: import("../utils/types.js").Hook<ComboboxL
21
21
  * Renders a combobox list. The `role` prop is set to `listbox` by default, but
22
22
  * can be overriden by any other valid combobox popup role (`listbox`, `menu`,
23
23
  * `tree`, `grid` or `dialog`).
24
- *
25
- * The `aria-labelledby` prop is set to the combobox input element's `id` by
26
- * default.
27
24
  * @see https://ariakit.org/components/combobox
28
25
  * @example
29
- * ```jsx
26
+ * ```jsx {3-7}
30
27
  * <ComboboxProvider>
31
28
  * <Combobox />
32
29
  * <ComboboxList>
@@ -19,11 +19,10 @@ export declare const useComboboxPopover: import("../utils/types.js").Hook<Combob
19
19
  /**
20
20
  * Renders a combobox popover. The `role` prop is set to `listbox` by default,
21
21
  * but can be overriden by any other valid combobox popup role (`listbox`,
22
- * `menu`, `tree`, `grid` or `dialog`). The `aria-labelledby` prop is set to the
23
- * combobox input element's `id` by default.
22
+ * `menu`, `tree`, `grid` or `dialog`).
24
23
  * @see https://ariakit.org/components/combobox
25
24
  * @example
26
- * ```jsx
25
+ * ```jsx {3-7}
27
26
  * <ComboboxProvider>
28
27
  * <Combobox />
29
28
  * <ComboboxPopover>
@@ -9,12 +9,12 @@ import "../__chunks/IB7YUKH5.js";
9
9
  import "../__chunks/4UUKJZ4V.js";
10
10
  import {
11
11
  usePopover
12
- } from "../__chunks/A6XC27R5.js";
12
+ } from "../__chunks/IRX7SFUJ.js";
13
13
  import {
14
14
  createDialogComponent
15
- } from "../__chunks/PGAEII2Q.js";
15
+ } from "../__chunks/NERBASET.js";
16
16
  import "../__chunks/LWHPHW7Q.js";
17
- import "../__chunks/CLF4PQ7T.js";
17
+ import "../__chunks/TQYOGOE2.js";
18
18
  import "../__chunks/BULCTPRV.js";
19
19
  import "../__chunks/6BJGLK2C.js";
20
20
  import "../__chunks/CS347UVZ.js";
@@ -22,11 +22,11 @@ import "../__chunks/IUB2BTEK.js";
22
22
  import "../__chunks/XHJGS6Z5.js";
23
23
  import "../__chunks/TL67WVI6.js";
24
24
  import "../__chunks/MKDDWKFK.js";
25
+ import "../__chunks/72E5EPFF.js";
25
26
  import "../__chunks/OOBDFMJL.js";
27
+ import "../__chunks/X6WIMZJE.js";
26
28
  import "../__chunks/677M2CI3.js";
27
29
  import "../__chunks/6GXEOXGT.js";
28
- import "../__chunks/72E5EPFF.js";
29
- import "../__chunks/X6WIMZJE.js";
30
30
  import "../__chunks/HPP6CWMY.js";
31
31
  import "../__chunks/UYRJLDVS.js";
32
32
  import "../__chunks/JPXNJYSO.js";
@@ -3,7 +3,8 @@ import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { ComboboxStoreProps, ComboboxStoreSelectedValue } from "./combobox-store.js";
4
4
  type Value = ComboboxStoreSelectedValue;
5
5
  /**
6
- * Provides a combobox store to Combobox components.
6
+ * Provides a combobox store that controls the state of
7
+ * [Combobox](https://ariakit.org/components/combobox) components.
7
8
  * @see https://ariakit.org/components/combobox
8
9
  * @example
9
10
  * ```jsx
@@ -19,10 +19,13 @@ import type { ComboboxStore } from "./combobox-store.js";
19
19
  */
20
20
  export declare const useComboboxRow: import("../utils/types.js").Hook<ComboboxRowOptions<"div">>;
21
21
  /**
22
- * Renders a combobox row.
22
+ * Renders a combobox row that allows two-dimensional arrow key navigation.
23
+ * [`ComboboxItem`](https://ariakit.org/reference/combobox-item) elements
24
+ * wrapped within this component will automatically receive a
25
+ * [`rowId`](https://ariakit.org/reference/combobox-item#rowid) prop.
23
26
  * @see https://ariakit.org/components/combobox
24
27
  * @example
25
- * ```jsx
28
+ * ```jsx {4-13}
26
29
  * <ComboboxProvider>
27
30
  * <Combobox />
28
31
  * <ComboboxPopover>
@@ -45,7 +48,7 @@ export interface ComboboxRowOptions<T extends As = "div"> extends CompositeRowOp
45
48
  /**
46
49
  * Object returned by the
47
50
  * [`useComboboxStore`](https://ariakit.org/reference/use-combobox-store)
48
- * hook. If not provided, the parent
51
+ * hook. If not provided, the closest
49
52
  * [`ComboboxList`](https://ariakit.org/reference/combobox-list) or
50
53
  * [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
51
54
  * components' context will be used.
@@ -18,10 +18,11 @@ import type { ComboboxStore } from "./combobox-store.js";
18
18
  */
19
19
  export declare const useComboboxSeparator: import("../utils/types.js").Hook<ComboboxSeparatorOptions<"hr">>;
20
20
  /**
21
- * Renders a separator element for combobox items
21
+ * Renders a divider between
22
+ * [`ComboboxItem`](https://ariakit.org/reference/combobox-item) elements.
22
23
  * @see https://ariakit.org/components/combobox
23
24
  * @example
24
- * ```jsx
25
+ * ```jsx {5}
25
26
  * <ComboboxProvider>
26
27
  * <Combobox />
27
28
  * <ComboboxPopover>
@@ -38,7 +39,7 @@ export interface ComboboxSeparatorOptions<T extends As = "hr"> extends Composite
38
39
  /**
39
40
  * Object returned by the
40
41
  * [`useComboboxStore`](https://ariakit.org/reference/use-combobox-store)
41
- * hook. If not provided, the parent
42
+ * hook. If not provided, the closest
42
43
  * [`ComboboxList`](https://ariakit.org/reference/combobox-list) or
43
44
  * [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
44
45
  * components' context will be used.
@@ -5,17 +5,21 @@ import type { PopoverStoreFunctions, PopoverStoreOptions, PopoverStoreState } fr
5
5
  import type { Store } from "../utils/store.js";
6
6
  export declare function useComboboxStoreProps<T extends Core.ComboboxStore>(store: T, update: () => void, props: ComboboxStoreProps): T;
7
7
  /**
8
- * Creates a combobox store.
8
+ * Creates a combobox store to control the state of
9
+ * [Combobox](https://ariakit.org/components/combobox) components.
9
10
  * @see https://ariakit.org/components/combobox
10
11
  * @example
11
12
  * ```jsx
12
13
  * const combobox = useComboboxStore();
13
- * <Combobox store={combobox} />
14
- * <ComboboxPopover store={combobox}>
15
- * <ComboboxItem value="Apple" />
16
- * <ComboboxItem value="Banana" />
17
- * <ComboboxItem value="Orange" />
18
- * </ComboboxPopover>
14
+ *
15
+ * <ComboboxProvider store={combobox}>
16
+ * <Combobox />
17
+ * <ComboboxPopover>
18
+ * <ComboboxItem value="Apple" />
19
+ * <ComboboxItem value="Banana" />
20
+ * <ComboboxItem value="Orange" />
21
+ * </ComboboxPopover>
22
+ * </ComboboxProvider>
19
23
  * ```
20
24
  */
21
25
  export declare function useComboboxStore<T extends ComboboxStoreSelectedValue = ComboboxStoreSelectedValue>(props: PickRequired<ComboboxStoreProps<T>, "selectedValue" | "defaultSelectedValue">): ComboboxStore<T>;
@@ -21,10 +21,10 @@ import type { ComboboxStore, ComboboxStoreState } from "./combobox-store.js";
21
21
  */
22
22
  export declare const useCombobox: import("../utils/types.js").Hook<ComboboxOptions<"input">>;
23
23
  /**
24
- * Renders a combobox input.
24
+ * Renders a combobox input element that can be used to filter a list of items.
25
25
  * @see https://ariakit.org/components/combobox
26
26
  * @example
27
- * ```jsx
27
+ * ```jsx {2}
28
28
  * <ComboboxProvider>
29
29
  * <Combobox />
30
30
  * <ComboboxPopover>
@@ -46,9 +46,9 @@ export interface ComboboxOptions<T extends As = "input"> extends CompositeOption
46
46
  */
47
47
  store?: ComboboxStore;
48
48
  /**
49
- * Whether the first item will be automatically selected when the combobox
50
- * input value changes. When it's set to `true`, the exact behavior will
51
- * depend on the value of
49
+ * Whether the first enabled item will be automatically selected when the
50
+ * combobox input value changes. When it's set to `true`, the exact behavior
51
+ * will depend on the value of the
52
52
  * [`autoComplete`](https://ariakit.org/reference/combobox#autocomplete) prop:
53
53
  * - If [`autoComplete`](https://ariakit.org/reference/combobox#autocomplete)
54
54
  * is `both` or `inline`, the first item is automatically focused when the
@@ -58,6 +58,10 @@ export interface ComboboxOptions<T extends As = "input"> extends CompositeOption
58
58
  * is `list` or `none`, the first item is automatically focused when the
59
59
  * popup opens, but the input value doesn't change.
60
60
  *
61
+ * To change which item is auto selected, use the
62
+ * [`getAutoSelectId`](https://ariakit.org/reference/combobox#getautoselectid)
63
+ * prop.
64
+ *
61
65
  * Live examples:
62
66
  * - [Combobox with integrated
63
67
  * filter](https://ariakit.org/examples/combobox-filtering-integrated)
@@ -106,22 +110,22 @@ export interface ComboboxOptions<T extends As = "input"> extends CompositeOption
106
110
  * This prop is based on the standard
107
111
  * [`aria-autocomplete`](https://w3c.github.io/aria/#aria-autocomplete)
108
112
  * attribute, accepting the same values:
109
- * - `both`: indicates that the items will be filtered based on
113
+ * - `list` (default): indicates that the items will be dynamically rendered
114
+ * based on [`value`](https://ariakit.org/reference/combobox-provider#value)
115
+ * and the input value will _not_ change based on the active item. The
116
+ * filtering logic must be implemented by the consumer of this component.
117
+ * - `inline`: indicates that the items are static, that is, they won't be
118
+ * filtered, but the input value will temporarily change based on the active
119
+ * item. Ariakit will automatically provide the inline autocompletion
120
+ * behavior.
121
+ * - `both`: indicates that the items will be dynamically rendered based on
110
122
  * [`value`](https://ariakit.org/reference/combobox-provider#value) and the
111
123
  * input value will temporarily change based on the active item. The
112
124
  * filtering logic must be implemented by the consumer of this component,
113
125
  * whereas Ariakit will automatically provide the inline autocompletion
114
126
  * behavior.
115
- * - `list` (default): indicates that the items will be filtered based on
116
- * [`value`](https://ariakit.org/reference/combobox-provider#value) and the
117
- * input value will NOT change based on the active item. The filtering logic
118
- * must be implemented by the consumer of this component.
119
- * - `inline`: indicates that the items are static, that is, they won't be
120
- * filtered, but the input value will temporarily change based on the active
121
- * item. Ariakit will automatically provide the inline autocompletion
122
- * behavior
123
- * - `none`: the items are static and the input value will NOT change based on
124
- * the active item.
127
+ * - `none`: the items are static and the input value will _not_ change based
128
+ * on the active item.
125
129
  *
126
130
  * Live examples:
127
131
  * - [ComboboxGroup](https://ariakit.org/examples/combobox-group)
@@ -129,8 +133,9 @@ export interface ComboboxOptions<T extends As = "input"> extends CompositeOption
129
133
  */
130
134
  autoComplete?: StringWithValue<Required<AriaAttributes>["aria-autocomplete"]>;
131
135
  /**
132
- * Whether the combobox list/popover should be shown when the input value is
133
- * changed.
136
+ * Whether the [`ComboboxList`](https://ariakit.org/reference/combobox-list)
137
+ * or [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
138
+ * components should be shown when the input value changes.
134
139
  *
135
140
  * Live examples:
136
141
  * - [Textarea with inline
@@ -142,17 +147,6 @@ export interface ComboboxOptions<T extends As = "input"> extends CompositeOption
142
147
  * ```
143
148
  */
144
149
  showOnChange?: BooleanOrCallback<ChangeEvent<HTMLElement>>;
145
- /**
146
- * Whether the combobox store value will be updated when the input value
147
- * changes. This is useful if you want to customize how the store value is
148
- * updated based on the input value.
149
- *
150
- * Live examples:
151
- * - [Textarea with inline
152
- * Combobox](https://ariakit.org/examples/combobox-textarea)
153
- * @default true
154
- */
155
- setValueOnChange?: BooleanOrCallback<ChangeEvent<HTMLElement>>;
156
150
  /**
157
151
  * Whether the [`ComboboxList`](https://ariakit.org/reference/combobox-list)
158
152
  * or [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover)
@@ -185,11 +179,29 @@ export interface ComboboxOptions<T extends As = "input"> extends CompositeOption
185
179
  */
186
180
  showOnKeyDown?: BooleanOrCallback<ReactKeyboardEvent<HTMLElement>>;
187
181
  /**
188
- * Whether the combobox store value will be updated when the combobox input
189
- * element gets clicked. This usually only applies when `autoComplete` is
182
+ * Whether the combobox
183
+ * [`value`](https://ariakit.org/reference/combobox-provider#value) state
184
+ * should be updated when the input value changes. This is useful if you want
185
+ * to customize how the store
186
+ * [`value`](https://ariakit.org/reference/combobox-provider#value) is updated
187
+ * based on the input element's value.
188
+ *
189
+ * Live examples:
190
+ * - [Textarea with inline
191
+ * Combobox](https://ariakit.org/examples/combobox-textarea)
192
+ * @default true
193
+ */
194
+ setValueOnChange?: BooleanOrCallback<ChangeEvent<HTMLElement>>;
195
+ /**
196
+ * Whether the combobox
197
+ * [`value`](https://ariakit.org/reference/combobox-provider#value) state
198
+ * should be updated when the combobox input element gets clicked. This
199
+ * usually only applies when
200
+ * [`autoComplete`](https://ariakit.org/reference/combobox#autocomplete) is
190
201
  * `both` or `inline`, because the input value will temporarily change based
191
- * on the active item and the store value will not be updated until the user
192
- * confirms the selection.
202
+ * on the active item and the store
203
+ * [`value`](https://ariakit.org/reference/combobox-provider#value) will not
204
+ * be updated until the user confirms the selection.
193
205
  * @default true
194
206
  */
195
207
  setValueOnClick?: BooleanOrCallback<MouseEvent<HTMLElement>>;
@@ -26,7 +26,7 @@ export declare const useCommand: import("../utils/types.js").Hook<CommandOptions
26
26
  * @see https://ariakit.org/components/command
27
27
  * @example
28
28
  * ```jsx
29
- * <Command render={<div />}>Accessible button</Command>
29
+ * <Command>Button</Command>
30
30
  * ```
31
31
  */
32
32
  export declare const Command: import("../utils/types.js").Component<CommandOptions<"button">>;
@@ -20,24 +20,31 @@ import type { CompositeStore } from "./composite-store.js";
20
20
  export declare const useCompositeContainer: import("../utils/types.js").Hook<CompositeContainerOptions<"div">>;
21
21
  /**
22
22
  * Renders a container for interactive widgets inside composite items. This
23
- * should be used in conjunction with the `CompositeItem` component or a
24
- * component that uses `CompositeItem` underneath.
23
+ * should be used in conjunction with the
24
+ * [`CompositeItem`](https://ariakit.org/reference/composite-item) component or
25
+ * a component that uses
26
+ * [`CompositeItem`](https://ariakit.org/reference/composite-item) underneath.
25
27
  * @see https://ariakit.org/components/composite
26
28
  * @example
27
- * ```jsx
28
- * const composite = useCompositeStore();
29
- * <Composite store={composite}>
30
- * <CompositeItem render={<CompositeContainer />}>
31
- * <input type="text" />
32
- * </CompositeItem>
33
- * </Composite>
29
+ * ```jsx {3-5}
30
+ * <CompositeProvider>
31
+ * <Composite>
32
+ * <CompositeItem render={<CompositeContainer />}>
33
+ * <input type="text" />
34
+ * </CompositeItem>
35
+ * </Composite>
36
+ * </CompositeProvider>
34
37
  * ```
35
38
  */
36
39
  export declare const CompositeContainer: import("../utils/types.js").Component<CompositeContainerOptions<"div">>;
37
40
  export interface CompositeContainerOptions<T extends As = "div"> extends Options<T> {
38
41
  /**
39
- * Object returned by the `useCompositeStore` hook. If not provided, the
40
- * parent `Composite` component's context will be used.
42
+ * Object returned by the
43
+ * [`useCompositeStore`](https://ariakit.org/reference/use-composite-store)
44
+ * hook. If not provided, the closest
45
+ * [`Composite`](https://ariakit.org/reference/composite) or
46
+ * [`CompositeProvider`](https://ariakit.org/reference/composite-provider)
47
+ * components' context will be used.
41
48
  */
42
49
  store?: CompositeStore;
43
50
  }
@@ -16,26 +16,31 @@ import type { CompositeStore } from "./composite-store.js";
16
16
  export declare const useCompositeGroupLabel: import("../utils/types.js").Hook<CompositeGroupLabelOptions<"div">>;
17
17
  /**
18
18
  * Renders a label in a composite group. This component must be wrapped with
19
- * `CompositeGroup` so the `aria-labelledby` prop is properly set on the
20
- * composite group element.
19
+ * [`CompositeGroup`](https://ariakit.org/reference/composite-group) so the
20
+ * `aria-labelledby` prop is properly set on the group element.
21
21
  * @see https://ariakit.org/components/composite
22
22
  * @example
23
- * ```jsx
24
- * const composite = useCompositeStore();
25
- * <Composite store={composite}>
26
- * <CompositeGroup>
27
- * <CompositeGroupLabel>Label</CompositeGroupLabel>
28
- * <CompositeItem>Item 1</CompositeItem>
29
- * <CompositeItem>Item 2</CompositeItem>
30
- * </CompositeGroup>
31
- * </Composite>
23
+ * ```jsx {4}
24
+ * <CompositeProvider>
25
+ * <Composite>
26
+ * <CompositeGroup>
27
+ * <CompositeGroupLabel>Label</CompositeGroupLabel>
28
+ * <CompositeItem>Item 1</CompositeItem>
29
+ * <CompositeItem>Item 2</CompositeItem>
30
+ * </CompositeGroup>
31
+ * </Composite>
32
+ * </CompositeProvider>
32
33
  * ```
33
34
  */
34
35
  export declare const CompositeGroupLabel: import("../utils/types.js").Component<CompositeGroupLabelOptions<"div">>;
35
36
  export interface CompositeGroupLabelOptions<T extends As = "div"> extends GroupLabelOptions<T> {
36
37
  /**
37
- * Object returned by the `useCompositeStore` hook. If not provided, the
38
- * parent `Composite` component's context will be used.
38
+ * Object returned by the
39
+ * [`useCompositeStore`](https://ariakit.org/reference/use-composite-store)
40
+ * hook. If not provided, the closest
41
+ * [`Composite`](https://ariakit.org/reference/composite) or
42
+ * [`CompositeProvider`](https://ariakit.org/reference/composite-provider)
43
+ * components' context will be used.
39
44
  */
40
45
  store?: CompositeStore;
41
46
  }
@@ -19,25 +19,33 @@ import type { CompositeStore } from "./composite-store.js";
19
19
  */
20
20
  export declare const useCompositeGroup: import("../utils/types.js").Hook<CompositeGroupOptions<"div">>;
21
21
  /**
22
- * Renders a group element for composite items.
22
+ * Renders a group element for composite items. The
23
+ * [`CompositeGroupLabel`](https://ariakit.org/reference/composite-group-label)
24
+ * component can be used inside this component so the `aria-labelledby` prop is
25
+ * properly set on the group element.
23
26
  * @see https://ariakit.org/components/composite
24
27
  * @example
25
- * ```jsx
26
- * const composite = useCompositeStore();
27
- * <Composite store={composite}>
28
- * <CompositeGroup>
29
- * <CompositeGroupLabel>Label</CompositeGroupLabel>
30
- * <CompositeItem>Item 1</CompositeItem>
31
- * <CompositeItem>Item 2</CompositeItem>
32
- * </CompositeGroup>
33
- * </Composite>
28
+ * ```jsx {3-7}
29
+ * <CompositeProvider>
30
+ * <Composite>
31
+ * <CompositeGroup>
32
+ * <CompositeGroupLabel>Label</CompositeGroupLabel>
33
+ * <CompositeItem>Item 1</CompositeItem>
34
+ * <CompositeItem>Item 2</CompositeItem>
35
+ * </CompositeGroup>
36
+ * </Composite>
37
+ * </CompositeProvider>
34
38
  * ```
35
39
  */
36
40
  export declare const CompositeGroup: import("../utils/types.js").Component<CompositeGroupOptions<"div">>;
37
41
  export interface CompositeGroupOptions<T extends As = "div"> extends GroupOptions<T> {
38
42
  /**
39
- * Object returned by the `useCompositeStore` hook. If not provided, the
40
- * parent `Composite` component's context will be used.
43
+ * Object returned by the
44
+ * [`useCompositeStore`](https://ariakit.org/reference/use-composite-store)
45
+ * hook. If not provided, the closest
46
+ * [`Composite`](https://ariakit.org/reference/composite) or
47
+ * [`CompositeProvider`](https://ariakit.org/reference/composite-provider)
48
+ * components' context will be used.
41
49
  */
42
50
  store?: CompositeStore;
43
51
  }
@@ -19,16 +19,25 @@ import type { CompositeStore } from "./composite-store.js";
19
19
  export declare const useCompositeHover: import("../utils/types.js").Hook<CompositeHoverOptions<"div">>;
20
20
  /**
21
21
  * Renders an element in a composite widget that receives focus on mouse move
22
- * and loses focus to the composite base element on mouse leave. This should be
23
- * combined with the `CompositeItem` component, the `useCompositeItem` hook or
24
- * any component/hook that uses them underneath.
22
+ * and loses focus to the composite base element on mouse leave.
23
+ *
24
+ * This should be combined with the
25
+ * [`CompositeItem`](https://ariakit.org/reference/composite-item) component.
26
+ * The
27
+ * [`focusOnHover`](https://ariakit.org/reference/composite-hover#focusonhover)
28
+ * and
29
+ * [`blurOnHoverEnd`](https://ariakit.org/reference/composite-hover#bluronhoverend)
30
+ * props can be used to customize the behavior.
25
31
  * @see https://ariakit.org/components/composite
26
32
  * @example
27
- * ```jsx
28
- * const composite = useCompositeStore();
29
- * <Composite store={composite}>
30
- * <CompositeHover render={<CompositeItem />}>Item</CompositeHover>
31
- * </Composite>
33
+ * ```jsx {3-5}
34
+ * <CompositeProvider>
35
+ * <Composite>
36
+ * <CompositeHover render={<CompositeItem />}>
37
+ * Item
38
+ * </CompositeHover>
39
+ * </Composite>
40
+ * </CompositeProvider>
32
41
  * ```
33
42
  */
34
43
  export declare const CompositeHover: import("../utils/types.js").Component<CompositeHoverOptions<"div">>;
@@ -17,22 +17,28 @@ import type { CompositeStore } from "./composite-store.js";
17
17
  export declare const useCompositeInput: import("../utils/types.js").Hook<CompositeInputOptions<"input">>;
18
18
  /**
19
19
  * Renders an input as a composite item. This should be used in conjunction with
20
- * the `CompositeItem` component or a component that uses `CompositeItem`
21
- * underneath.
20
+ * the [`CompositeItem`](https://ariakit.org/reference/composite-item) component
21
+ * or a component that uses
22
+ * [`CompositeItem`](https://ariakit.org/reference/composite-item) underneath.
22
23
  * @see https://ariakit.org/components/composite
23
24
  * @example
24
- * ```jsx
25
- * const composite = useCompositeStore();
26
- * <Composite store={composite}>
27
- * <CompositeItem render={<CompositeInput />} />
28
- * </Composite>
25
+ * ```jsx {3}
26
+ * <CompositeProvider>
27
+ * <Composite>
28
+ * <CompositeItem render={<CompositeInput />} />
29
+ * </Composite>
30
+ * </CompositeProvider>
29
31
  * ```
30
32
  */
31
33
  export declare const CompositeInput: import("../utils/types.js").Component<CompositeInputOptions<"input">>;
32
34
  export interface CompositeInputOptions<T extends As = "input"> extends Options<T> {
33
35
  /**
34
- * Object returned by the `useCompositeStore` hook. If not provided, the
35
- * parent `Composite` component's context will be used.
36
+ * Object returned by the
37
+ * [`useCompositeStore`](https://ariakit.org/reference/use-composite-store)
38
+ * hook. If not provided, the closest
39
+ * [`Composite`](https://ariakit.org/reference/composite) or
40
+ * [`CompositeProvider`](https://ariakit.org/reference/composite-provider)
41
+ * components' context will be used.
36
42
  */
37
43
  store?: CompositeStore;
38
44
  }
@@ -16,16 +16,27 @@ import type { CompositeStore } from "./composite-store.js";
16
16
  */
17
17
  export declare const useCompositeItem: import("../utils/types.js").Hook<CompositeItemOptions<"button">>;
18
18
  /**
19
- * Renders a composite item.
19
+ * Renders a focusable item as part of a composite widget. The `tabindex`
20
+ * attribute is automatically managed by this component based on the
21
+ * [`virtualFocus`](https://ariakit.org/reference/composite-provider#virtualfocus)
22
+ * option.
23
+ *
24
+ * When this component receives DOM focus or is virtually focused (when the
25
+ * [`virtualFocus`](https://ariakit.org/reference/composite-provider#virtualfocus)
26
+ * option is set to `true`), the element will automatically receive the
27
+ * [`data-active-item`](https://ariakit.org/guide/styling#data-active-item)
28
+ * attribute. This can be used to style the focused item, no matter the focus
29
+ * approach employed.
20
30
  * @see https://ariakit.org/components/composite
21
31
  * @example
22
- * ```jsx
23
- * const composite = useCompositeStore();
24
- * <Composite store={composite}>
25
- * <CompositeItem>Item 1</CompositeItem>
26
- * <CompositeItem>Item 2</CompositeItem>
27
- * <CompositeItem>Item 3</CompositeItem>
28
- * </Composite>
32
+ * ```jsx {3-5}
33
+ * <CompositeProvider>
34
+ * <Composite>
35
+ * <CompositeItem>Item 1</CompositeItem>
36
+ * <CompositeItem>Item 2</CompositeItem>
37
+ * <CompositeItem>Item 3</CompositeItem>
38
+ * </Composite>
39
+ * </CompositeProvider>
29
40
  * ```
30
41
  */
31
42
  export declare const CompositeItem: import("../utils/types.js").Component<CompositeItemOptions<"button">>;
@@ -39,6 +50,14 @@ export interface CompositeItemOptions<T extends As = "button"> extends CommandOp
39
50
  * components' context will be used.
40
51
  */
41
52
  store?: CompositeStore;
53
+ /**
54
+ * Determines if the item should be registered as part of the collection. If
55
+ * this is set to `false`, the item won't be accessible via arrow keys.
56
+ *
57
+ * Live examples:
58
+ * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
59
+ */
60
+ shouldRegisterItem?: CollectionItemOptions<T>["shouldRegisterItem"];
42
61
  /**
43
62
  * The id that will be used to group items in the same row. This is usually
44
63
  * retrieved by the
@@ -49,12 +68,33 @@ export interface CompositeItemOptions<T extends As = "button"> extends CommandOp
49
68
  /**
50
69
  * Whether the scroll behavior should be prevented when pressing arrow keys on
51
70
  * the first or the last items.
71
+ * @deprecated Use CSS
72
+ * [`scroll-margin`](https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-margin)
73
+ * instead.
52
74
  * @default false
53
75
  */
54
76
  preventScrollOnKeyDown?: BooleanOrCallback<KeyboardEvent<HTMLElement>>;
55
77
  /**
56
- * Whether pressing arrow keys should move the focus to a different item.
78
+ * Determines if pressing arrow keys while this item is in focus should move
79
+ * focus to a different item.
80
+ *
81
+ * **Note**: To entirely disable focus moving within a composite widget, you
82
+ * can use the
83
+ * [`focusOnMove`](https://ariakit.org/reference/composite#focusonmove) prop
84
+ * on the composite component instead. If you want to control the behavior
85
+ * _only when arrow keys are pressed_, where
86
+ * [`focusOnMove`](https://ariakit.org/reference/composite#focusonmove) may
87
+ * not be applicable, this prop must be set on all composite items because
88
+ * they each manage their own key presses, as well as on the composite
89
+ * component itself.
57
90
  * @default true
91
+ * @example
92
+ * ```jsx
93
+ * <Composite moveOnKeyPress={false}>
94
+ * <CompositeItem moveOnKeyPress={false} />
95
+ * <CompositeItem moveOnKeyPress={false} />
96
+ * </Composite>
97
+ * ```
58
98
  */
59
99
  moveOnKeyPress?: BooleanOrCallback<KeyboardEvent<HTMLElement>>;
60
100
  /**