@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,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,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">>;
@@ -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
  }
@@ -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
  /**
@@ -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
  /**
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _KDG57VZVcjs = require('../__chunks/KDG57VZV.cjs');
5
- require('../__chunks/EKB76T2U.cjs');
4
+ var _OUEE5HOScjs = require('../__chunks/OUEE5HOS.cjs');
5
+ require('../__chunks/ZL5DC555.cjs');
6
6
  require('../__chunks/WZ3DRKGP.cjs');
7
- require('../__chunks/NKR65BKC.cjs');
7
+ require('../__chunks/KSPMHEYZ.cjs');
8
8
  require('../__chunks/PZL34OVO.cjs');
9
9
  require('../__chunks/344F3DYO.cjs');
10
10
  require('../__chunks/KREY6HXD.cjs');
@@ -12,11 +12,11 @@ require('../__chunks/5ZOCN23X.cjs');
12
12
  require('../__chunks/JVDUGICD.cjs');
13
13
  require('../__chunks/VV6WA3I6.cjs');
14
14
  require('../__chunks/7YLCVXZ7.cjs');
15
+ require('../__chunks/5GTNIPQ6.cjs');
15
16
  require('../__chunks/7TN63K2T.cjs');
17
+ require('../__chunks/V24PR4PW.cjs');
16
18
  require('../__chunks/6IUEXB4L.cjs');
17
19
  require('../__chunks/JF225FQ5.cjs');
18
- require('../__chunks/5GTNIPQ6.cjs');
19
- require('../__chunks/V24PR4PW.cjs');
20
20
  require('../__chunks/7566TIRW.cjs');
21
21
  require('../__chunks/J3OG6T3B.cjs');
22
22
  require('../__chunks/65LGW5LY.cjs');
@@ -91,7 +91,7 @@ var useCompositeOverflow = _RNZNGEL4cjs.createHook.call(void 0,
91
91
  }, props), {
92
92
  onFocus
93
93
  });
94
- props = _KDG57VZVcjs.usePopover.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
94
+ props = _OUEE5HOScjs.usePopover.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
95
95
  store,
96
96
  backdropProps,
97
97
  wrapperProps,
@@ -2,7 +2,8 @@ import type { ReactElement, ReactNode } from "react";
2
2
  import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { CompositeStoreItem, CompositeStoreProps } from "./composite-store.js";
4
4
  /**
5
- * Provides a composite store to CompositeItem components.
5
+ * Provides a composite store to
6
+ * [`CompositeItem`](https://ariakit.org/reference/composite-item) components.
6
7
  * @see https://ariakit.org/components/composite
7
8
  * @example
8
9
  * ```jsx
@@ -2,7 +2,8 @@ import type { ReactElement, ReactNode } from "react";
2
2
  import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { CompositeStoreItem, CompositeStoreProps } from "./composite-store.js";
4
4
  /**
5
- * Provides a composite store to CompositeItem components.
5
+ * Provides a composite store to
6
+ * [`CompositeItem`](https://ariakit.org/reference/composite-item) components.
6
7
  * @see https://ariakit.org/components/composite
7
8
  * @example
8
9
  * ```jsx
@@ -294,7 +294,7 @@ export interface CompositeRendererOptions<T extends Item = any> extends Omit<Col
294
294
  /**
295
295
  * Object returned by the
296
296
  * [`useCompositeStore`](https://ariakit.org/reference/use-composite-store)
297
- * hook. If not provided, the parent
297
+ * hook. If not provided, the closest
298
298
  * [Composite](https://ariakit.org/components/composite) component's context
299
299
  * will be used.
300
300
  *
@@ -294,7 +294,7 @@ export interface CompositeRendererOptions<T extends Item = any> extends Omit<Col
294
294
  /**
295
295
  * Object returned by the
296
296
  * [`useCompositeStore`](https://ariakit.org/reference/use-composite-store)
297
- * hook. If not provided, the parent
297
+ * hook. If not provided, the closest
298
298
  * [Composite](https://ariakit.org/components/composite) component's context
299
299
  * will be used.
300
300
  *
@@ -20,32 +20,39 @@ import type { CompositeStore } from "./composite-store.js";
20
20
  */
21
21
  export declare const useCompositeRow: import("../utils/types.js").Hook<CompositeRowOptions<"div">>;
22
22
  /**
23
- * Renders a composite row. Wrapping `CompositeItem` elements within
24
- * `CompositeRow` will create a two-dimensional composite widget, such as a
25
- * grid.
23
+ * Renders a row element for composite items that allows two-dimensional arrow
24
+ * key navigation.
25
+ * [`CompositeItem`](https://ariakit.org/reference/composite-item) elements
26
+ * wrapped within this component will automatically receive a
27
+ * [`rowId`](https://ariakit.org/reference/composite-item#rowid) prop.
26
28
  * @see https://ariakit.org/components/composite
27
29
  * @example
28
- * ```jsx
29
- * const composite = useCompositeStore();
30
- * <Composite store={composite}>
31
- * <CompositeRow>
32
- * <CompositeItem>Item 1.1</CompositeItem>
33
- * <CompositeItem>Item 1.2</CompositeItem>
34
- * <CompositeItem>Item 1.3</CompositeItem>
35
- * </CompositeRow>
36
- * <CompositeRow>
37
- * <CompositeItem>Item 2.1</CompositeItem>
38
- * <CompositeItem>Item 2.2</CompositeItem>
39
- * <CompositeItem>Item 2.3</CompositeItem>
40
- * </CompositeRow>
41
- * </Composite>
30
+ * ```jsx {3-12}
31
+ * <CompositeProvider>
32
+ * <Composite>
33
+ * <CompositeRow>
34
+ * <CompositeItem>Item 1.1</CompositeItem>
35
+ * <CompositeItem>Item 1.2</CompositeItem>
36
+ * <CompositeItem>Item 1.3</CompositeItem>
37
+ * </CompositeRow>
38
+ * <CompositeRow>
39
+ * <CompositeItem>Item 2.1</CompositeItem>
40
+ * <CompositeItem>Item 2.2</CompositeItem>
41
+ * <CompositeItem>Item 2.3</CompositeItem>
42
+ * </CompositeRow>
43
+ * </Composite>
44
+ * </CompositeProvider>
42
45
  * ```
43
46
  */
44
47
  export declare const CompositeRow: import("../utils/types.js").Component<CompositeRowOptions<"div">>;
45
48
  export interface CompositeRowOptions<T extends As = "div"> extends Options<T> {
46
49
  /**
47
- * Object returned by the `useCompositeStore` hook. If not provided, the
48
- * parent `Composite` component's context will be used.
50
+ * Object returned by the
51
+ * [`useCompositeStore`](https://ariakit.org/reference/use-composite-store)
52
+ * hook. If not provided, the closest
53
+ * [`Composite`](https://ariakit.org/reference/composite) or
54
+ * [`CompositeProvider`](https://ariakit.org/reference/composite-provider)
55
+ * components' context will be used.
49
56
  */
50
57
  store?: CompositeStore;
51
58
  }