@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
@@ -9,7 +9,8 @@ export declare function useFormStoreProps<T extends Omit<FormStore, "useValue" |
9
9
  useSubmit: (callback: Core.FormStoreCallback<FormStoreState<FormStoreValues>>) => void;
10
10
  };
11
11
  /**
12
- * Creates a form store.
12
+ * Creates a form store to control the state of
13
+ * [Form](https://ariakit.org/components/form) components.
13
14
  * @example
14
15
  * ```jsx
15
16
  * const form = useFormStore({
@@ -17,6 +18,7 @@ export declare function useFormStoreProps<T extends Omit<FormStore, "useValue" |
17
18
  * email: "",
18
19
  * },
19
20
  * });
21
+ *
20
22
  * <Form store={form}>
21
23
  * <FormLabel name={form.names.email}>Email</FormLabel>
22
24
  * <FormInput name={form.names.email} />
@@ -36,18 +38,26 @@ export interface FormStoreState<T extends FormStoreValues = FormStoreValues> ext
36
38
  export interface FormStoreFunctions<T extends FormStoreValues = FormStoreValues> extends Core.FormStoreFunctions<T>, CollectionStoreFunctions<FormStoreItem> {
37
39
  /**
38
40
  * A custom hook that rerenders the component when the value of the given
39
- * field changes. It returns the value of the field.
40
- * @param name The name of the field.
41
+ * field changes. It accepts a string or a reference to a field name from the
42
+ * [`names`](https://ariakit.org/reference/use-form-store#names) object in the
43
+ * store, for type safety. It returns the value of the field.
44
+ *
45
+ * Live examples:
46
+ * - [Form with Select](https://ariakit.org/examples/form-select)
41
47
  * @example
42
48
  * const nameValue = store.useValue("name");
43
- * // Can also use store.names for type-safety.
49
+ * // Can also use store.names for type safety.
44
50
  * const emailValue = store.useValue(store.names.email);
45
51
  */
46
52
  useValue: <T = any>(name: StringLike) => T;
47
53
  /**
48
54
  * Custom hook that accepts a callback that will be used to validate the form
49
- * when `form.validate` is called.
50
- * @param callback The callback that receives the form state as argument.
55
+ * when [`validate`](https://ariakit.org/reference/use-form-store#validate) is
56
+ * called, typically when a form field is touched or when the form is
57
+ * submitted.
58
+ *
59
+ * Live examples:
60
+ * - [FormRadio](https://ariakit.org/examples/form-radio)
51
61
  * @example
52
62
  * store.useValidate(async (state) => {
53
63
  * const errors = await api.validate(state.values);
@@ -59,8 +69,12 @@ export interface FormStoreFunctions<T extends FormStoreValues = FormStoreValues>
59
69
  useValidate: (callback: Core.FormStoreCallback<FormStoreState<T>>) => void;
60
70
  /**
61
71
  * Custom hook that accepts a callback that will be used to submit the form
62
- * when `form.submit` is called.
63
- * @param callback The callback that receives the form state as argument.
72
+ * when [`submit`](https://ariakit.org/reference/use-form-store#submit) is
73
+ * called.
74
+ *
75
+ * Live examples:
76
+ * - [FormRadio](https://ariakit.org/examples/form-radio)
77
+ * - [Form with Select](https://ariakit.org/examples/form-select)
64
78
  * @example
65
79
  * store.useSubmit(async (state) => {
66
80
  * try {
@@ -74,8 +88,9 @@ export interface FormStoreFunctions<T extends FormStoreValues = FormStoreValues>
74
88
  }
75
89
  export interface FormStoreOptions<T extends FormStoreValues = FormStoreValues> extends Core.FormStoreOptions<T>, CollectionStoreOptions<FormStoreItem> {
76
90
  /**
77
- * Function that will be called when `values` state changes.
78
- * @param values The new values.
91
+ * Function that will be called when
92
+ * [`values`](https://ariakit.org/reference/use-form-store#values) state
93
+ * changes.
79
94
  * @example
80
95
  * function MyForm({ values, onChange }) {
81
96
  * const form = useFormStore({ values, setValues: onChange });
@@ -83,15 +98,17 @@ export interface FormStoreOptions<T extends FormStoreValues = FormStoreValues> e
83
98
  */
84
99
  setValues?: (values: FormStoreState<T>["values"]) => void;
85
100
  /**
86
- * Function that will be called when the `errors` state changes.
87
- * @param errors The new errors.
101
+ * Function that will be called when the
102
+ * [`errors`](https://ariakit.org/reference/use-form-store#errors) state
103
+ * changes.
88
104
  * @example
89
105
  * useFormStore({ setErrors: (errors) => console.log(errors) });
90
106
  */
91
107
  setErrors?: (errors: FormStoreState<T>["errors"]) => void;
92
108
  /**
93
- * Function that will be called when the `touched` state changes.
94
- * @param touched The new touched state.
109
+ * Function that will be called when the
110
+ * [`touched`](https://ariakit.org/reference/use-form-store#touched) state
111
+ * changes.
95
112
  * @example
96
113
  * useFormStore({ setTouched: (touched) => console.log(touched) });
97
114
  */
@@ -9,7 +9,8 @@ export declare function useFormStoreProps<T extends Omit<FormStore, "useValue" |
9
9
  useSubmit: (callback: Core.FormStoreCallback<FormStoreState<FormStoreValues>>) => void;
10
10
  };
11
11
  /**
12
- * Creates a form store.
12
+ * Creates a form store to control the state of
13
+ * [Form](https://ariakit.org/components/form) components.
13
14
  * @example
14
15
  * ```jsx
15
16
  * const form = useFormStore({
@@ -17,6 +18,7 @@ export declare function useFormStoreProps<T extends Omit<FormStore, "useValue" |
17
18
  * email: "",
18
19
  * },
19
20
  * });
21
+ *
20
22
  * <Form store={form}>
21
23
  * <FormLabel name={form.names.email}>Email</FormLabel>
22
24
  * <FormInput name={form.names.email} />
@@ -36,18 +38,26 @@ export interface FormStoreState<T extends FormStoreValues = FormStoreValues> ext
36
38
  export interface FormStoreFunctions<T extends FormStoreValues = FormStoreValues> extends Core.FormStoreFunctions<T>, CollectionStoreFunctions<FormStoreItem> {
37
39
  /**
38
40
  * A custom hook that rerenders the component when the value of the given
39
- * field changes. It returns the value of the field.
40
- * @param name The name of the field.
41
+ * field changes. It accepts a string or a reference to a field name from the
42
+ * [`names`](https://ariakit.org/reference/use-form-store#names) object in the
43
+ * store, for type safety. It returns the value of the field.
44
+ *
45
+ * Live examples:
46
+ * - [Form with Select](https://ariakit.org/examples/form-select)
41
47
  * @example
42
48
  * const nameValue = store.useValue("name");
43
- * // Can also use store.names for type-safety.
49
+ * // Can also use store.names for type safety.
44
50
  * const emailValue = store.useValue(store.names.email);
45
51
  */
46
52
  useValue: <T = any>(name: StringLike) => T;
47
53
  /**
48
54
  * Custom hook that accepts a callback that will be used to validate the form
49
- * when `form.validate` is called.
50
- * @param callback The callback that receives the form state as argument.
55
+ * when [`validate`](https://ariakit.org/reference/use-form-store#validate) is
56
+ * called, typically when a form field is touched or when the form is
57
+ * submitted.
58
+ *
59
+ * Live examples:
60
+ * - [FormRadio](https://ariakit.org/examples/form-radio)
51
61
  * @example
52
62
  * store.useValidate(async (state) => {
53
63
  * const errors = await api.validate(state.values);
@@ -59,8 +69,12 @@ export interface FormStoreFunctions<T extends FormStoreValues = FormStoreValues>
59
69
  useValidate: (callback: Core.FormStoreCallback<FormStoreState<T>>) => void;
60
70
  /**
61
71
  * Custom hook that accepts a callback that will be used to submit the form
62
- * when `form.submit` is called.
63
- * @param callback The callback that receives the form state as argument.
72
+ * when [`submit`](https://ariakit.org/reference/use-form-store#submit) is
73
+ * called.
74
+ *
75
+ * Live examples:
76
+ * - [FormRadio](https://ariakit.org/examples/form-radio)
77
+ * - [Form with Select](https://ariakit.org/examples/form-select)
64
78
  * @example
65
79
  * store.useSubmit(async (state) => {
66
80
  * try {
@@ -74,8 +88,9 @@ export interface FormStoreFunctions<T extends FormStoreValues = FormStoreValues>
74
88
  }
75
89
  export interface FormStoreOptions<T extends FormStoreValues = FormStoreValues> extends Core.FormStoreOptions<T>, CollectionStoreOptions<FormStoreItem> {
76
90
  /**
77
- * Function that will be called when `values` state changes.
78
- * @param values The new values.
91
+ * Function that will be called when
92
+ * [`values`](https://ariakit.org/reference/use-form-store#values) state
93
+ * changes.
79
94
  * @example
80
95
  * function MyForm({ values, onChange }) {
81
96
  * const form = useFormStore({ values, setValues: onChange });
@@ -83,15 +98,17 @@ export interface FormStoreOptions<T extends FormStoreValues = FormStoreValues> e
83
98
  */
84
99
  setValues?: (values: FormStoreState<T>["values"]) => void;
85
100
  /**
86
- * Function that will be called when the `errors` state changes.
87
- * @param errors The new errors.
101
+ * Function that will be called when the
102
+ * [`errors`](https://ariakit.org/reference/use-form-store#errors) state
103
+ * changes.
88
104
  * @example
89
105
  * useFormStore({ setErrors: (errors) => console.log(errors) });
90
106
  */
91
107
  setErrors?: (errors: FormStoreState<T>["errors"]) => void;
92
108
  /**
93
- * Function that will be called when the `touched` state changes.
94
- * @param touched The new touched state.
109
+ * Function that will be called when the
110
+ * [`touched`](https://ariakit.org/reference/use-form-store#touched) state
111
+ * changes.
95
112
  * @example
96
113
  * useFormStore({ setTouched: (touched) => console.log(touched) });
97
114
  */
@@ -15,11 +15,17 @@ import type { FormStore } from "./form-store.js";
15
15
  */
16
16
  export declare const useFormSubmit: import("../utils/types.js").Hook<FormSubmitOptions<"button">>;
17
17
  /**
18
- * Renders a submit buttom in a form.
18
+ * Renders a native submit button inside a form. The button will be
19
+ * [`disabled`](https://ariakit.org/reference/form-submit#disabled) while the
20
+ * form is submitting, but it will remain accessible to keyboard and screen
21
+ * reader users thanks to the
22
+ * [`accessibleWhenDisabled`](https://ariakit.org/reference/form-submit#accessiblewhendisabled)
23
+ * prop that's enabled by default.
19
24
  * @see https://ariakit.org/components/form
20
25
  * @example
21
- * ```jsx
26
+ * ```jsx {4}
22
27
  * const form = useFormStore();
28
+ *
23
29
  * <Form store={form}>
24
30
  * <FormSubmit>Submit</FormSubmit>
25
31
  * </Form>
@@ -15,11 +15,17 @@ import type { FormStore } from "./form-store.js";
15
15
  */
16
16
  export declare const useFormSubmit: import("../utils/types.js").Hook<FormSubmitOptions<"button">>;
17
17
  /**
18
- * Renders a submit buttom in a form.
18
+ * Renders a native submit button inside a form. The button will be
19
+ * [`disabled`](https://ariakit.org/reference/form-submit#disabled) while the
20
+ * form is submitting, but it will remain accessible to keyboard and screen
21
+ * reader users thanks to the
22
+ * [`accessibleWhenDisabled`](https://ariakit.org/reference/form-submit#accessiblewhendisabled)
23
+ * prop that's enabled by default.
19
24
  * @see https://ariakit.org/components/form
20
25
  * @example
21
- * ```jsx
26
+ * ```jsx {4}
22
27
  * const form = useFormStore();
28
+ *
23
29
  * <Form store={form}>
24
30
  * <FormSubmit>Submit</FormSubmit>
25
31
  * </Form>
@@ -12,11 +12,29 @@ import type { FormStore } from "./form-store.js";
12
12
  */
13
13
  export declare const useForm: import("../utils/types.js").Hook<FormOptions<"form">>;
14
14
  /**
15
- * Renders a form element.
15
+ * Renders a form element and provides a [form
16
+ * store](https://ariakit.org/reference/use-form-store) to its controls.
17
+ *
18
+ * The form is automatically validated on change and on blur. This behavior can
19
+ * be disabled with the
20
+ * [`validateOnChange`](https://ariakit.org/reference/form#validateonchange) and
21
+ * [`validateOnBlur`](https://ariakit.org/reference/form#validateonblur) props.
22
+ *
23
+ * When the form is submitted with errors, the first invalid field is
24
+ * automatically focused thanks to the
25
+ * [`autoFocusOnSubmit`](https://ariakit.org/reference/form#autofocusonsubmit)
26
+ * prop. If it's successful, the
27
+ * [`resetOnSubmit`](https://ariakit.org/reference/form#resetonsubmit) prop
28
+ * ensures the form is reset to its initial values as defined by the
29
+ * [`defaultValues`](https://ariakit.org/reference/use-form-store#defaultvalues)
30
+ * option on the [store](https://ariakit.org/reference/use-form-store).
16
31
  * @see https://ariakit.org/components/form
17
32
  * @example
18
- * ```jsx
19
- * const form = useFormStore({ defaultValues: { username: "johndoe" } });
33
+ * ```jsx {5-8}
34
+ * const form = useFormStore({
35
+ * defaultValues: { username: "johndoe" },
36
+ * });
37
+ *
20
38
  * <Form store={form}>
21
39
  * <FormLabel name={form.names.username}>Username</FormLabel>
22
40
  * <FormInput name={form.names.username} />
@@ -34,32 +52,40 @@ export interface FormOptions<T extends As = "form"> extends Options<T> {
34
52
  */
35
53
  store?: FormStore;
36
54
  /**
37
- * Whether the form should trigger the validation callbacks when values
55
+ * Determines if the form should invoke the validation callbacks registered
56
+ * with
57
+ * [`useValidate`](https://ariakit.org/reference/use-form-store#usevalidate)
58
+ * when the [`values`](https://ariakit.org/reference/use-form-store#values)
38
59
  * change.
39
60
  * @default true
40
61
  */
41
62
  validateOnChange?: boolean;
42
63
  /**
43
- * Whether the form should trigger the validation callbacks when form fields
44
- * are blurred.
64
+ * Determines if the form should invoke the validation callbacks registered
65
+ * with
66
+ * [`useValidate`](https://ariakit.org/reference/use-form-store#usevalidate)
67
+ * when a field loses focus.
45
68
  * @default true
46
69
  */
47
70
  validateOnBlur?: boolean;
48
71
  /**
49
- * Whether the form store should be reset when the form element gets
72
+ * Determines if the form state should reset to its
73
+ * [`defaultValues`](https://ariakit.org/reference/use-form-store#defaultvalues)
74
+ * when the [`Form`](https://ariakit.org/reference/form) component is
50
75
  * unmounted.
51
76
  * @default false
52
77
  */
53
78
  resetOnUnmount?: boolean;
54
79
  /**
55
- * Whether the form store should be reset when the form gets successfully
56
- * submitted.
80
+ * Determines if the form state should be reset to its
81
+ * [`defaultValues`](https://ariakit.org/reference/use-form-store#defaultvalues)
82
+ * upon successful form submission.
57
83
  * @default true
58
84
  */
59
85
  resetOnSubmit?: boolean;
60
86
  /**
61
- * Whether the form should automatically focus the first invalid field when
62
- * the form gets submitted.
87
+ * Determines if the form should automatically focus on the first invalid
88
+ * field when the form is submitted.
63
89
  * @default true
64
90
  */
65
91
  autoFocusOnSubmit?: boolean;
@@ -12,11 +12,29 @@ import type { FormStore } from "./form-store.js";
12
12
  */
13
13
  export declare const useForm: import("../utils/types.js").Hook<FormOptions<"form">>;
14
14
  /**
15
- * Renders a form element.
15
+ * Renders a form element and provides a [form
16
+ * store](https://ariakit.org/reference/use-form-store) to its controls.
17
+ *
18
+ * The form is automatically validated on change and on blur. This behavior can
19
+ * be disabled with the
20
+ * [`validateOnChange`](https://ariakit.org/reference/form#validateonchange) and
21
+ * [`validateOnBlur`](https://ariakit.org/reference/form#validateonblur) props.
22
+ *
23
+ * When the form is submitted with errors, the first invalid field is
24
+ * automatically focused thanks to the
25
+ * [`autoFocusOnSubmit`](https://ariakit.org/reference/form#autofocusonsubmit)
26
+ * prop. If it's successful, the
27
+ * [`resetOnSubmit`](https://ariakit.org/reference/form#resetonsubmit) prop
28
+ * ensures the form is reset to its initial values as defined by the
29
+ * [`defaultValues`](https://ariakit.org/reference/use-form-store#defaultvalues)
30
+ * option on the [store](https://ariakit.org/reference/use-form-store).
16
31
  * @see https://ariakit.org/components/form
17
32
  * @example
18
- * ```jsx
19
- * const form = useFormStore({ defaultValues: { username: "johndoe" } });
33
+ * ```jsx {5-8}
34
+ * const form = useFormStore({
35
+ * defaultValues: { username: "johndoe" },
36
+ * });
37
+ *
20
38
  * <Form store={form}>
21
39
  * <FormLabel name={form.names.username}>Username</FormLabel>
22
40
  * <FormInput name={form.names.username} />
@@ -34,32 +52,40 @@ export interface FormOptions<T extends As = "form"> extends Options<T> {
34
52
  */
35
53
  store?: FormStore;
36
54
  /**
37
- * Whether the form should trigger the validation callbacks when values
55
+ * Determines if the form should invoke the validation callbacks registered
56
+ * with
57
+ * [`useValidate`](https://ariakit.org/reference/use-form-store#usevalidate)
58
+ * when the [`values`](https://ariakit.org/reference/use-form-store#values)
38
59
  * change.
39
60
  * @default true
40
61
  */
41
62
  validateOnChange?: boolean;
42
63
  /**
43
- * Whether the form should trigger the validation callbacks when form fields
44
- * are blurred.
64
+ * Determines if the form should invoke the validation callbacks registered
65
+ * with
66
+ * [`useValidate`](https://ariakit.org/reference/use-form-store#usevalidate)
67
+ * when a field loses focus.
45
68
  * @default true
46
69
  */
47
70
  validateOnBlur?: boolean;
48
71
  /**
49
- * Whether the form store should be reset when the form element gets
72
+ * Determines if the form state should reset to its
73
+ * [`defaultValues`](https://ariakit.org/reference/use-form-store#defaultvalues)
74
+ * when the [`Form`](https://ariakit.org/reference/form) component is
50
75
  * unmounted.
51
76
  * @default false
52
77
  */
53
78
  resetOnUnmount?: boolean;
54
79
  /**
55
- * Whether the form store should be reset when the form gets successfully
56
- * submitted.
80
+ * Determines if the form state should be reset to its
81
+ * [`defaultValues`](https://ariakit.org/reference/use-form-store#defaultvalues)
82
+ * upon successful form submission.
57
83
  * @default true
58
84
  */
59
85
  resetOnSubmit?: boolean;
60
86
  /**
61
- * Whether the form should automatically focus the first invalid field when
62
- * the form gets submitted.
87
+ * Determines if the form should automatically focus on the first invalid
88
+ * field when the form is submitted.
63
89
  * @default true
64
90
  */
65
91
  autoFocusOnSubmit?: boolean;
@@ -13,8 +13,9 @@ import type { As, Options, Props } from "../utils/types.js";
13
13
  */
14
14
  export declare const useGroupLabel: import("../utils/types.js").Hook<GroupLabelOptions<"div">>;
15
15
  /**
16
- * Renders a label in a group. This component must be wrapped with `Group` so
17
- * the `aria-labelledby` prop is properly set on the group element.
16
+ * Renders a label in a group. This component should be wrapped with a
17
+ * [`Group`](https://ariakit.org/reference/group) so the `aria-labelledby`
18
+ * prop is correctly set on the group element.
18
19
  * @see https://ariakit.org/components/group
19
20
  * @example
20
21
  * ```jsx
@@ -13,8 +13,9 @@ import type { As, Options, Props } from "../utils/types.js";
13
13
  */
14
14
  export declare const useGroupLabel: import("../utils/types.js").Hook<GroupLabelOptions<"div">>;
15
15
  /**
16
- * Renders a label in a group. This component must be wrapped with `Group` so
17
- * the `aria-labelledby` prop is properly set on the group element.
16
+ * Renders a label in a group. This component should be wrapped with a
17
+ * [`Group`](https://ariakit.org/reference/group) so the `aria-labelledby`
18
+ * prop is correctly set on the group element.
18
19
  * @see https://ariakit.org/components/group
19
20
  * @example
20
21
  * ```jsx
@@ -10,7 +10,9 @@ import type { As, Options, Props } from "../utils/types.js";
10
10
  */
11
11
  export declare const useGroup: import("../utils/types.js").Hook<GroupOptions<"div">>;
12
12
  /**
13
- * Renders a group element.
13
+ * Renders a group element. Optionally, a
14
+ * [`GroupLabel`](https://ariakit.org/reference/group-label) can be rendered as
15
+ * a child to provide a label for the group.
14
16
  * @see https://ariakit.org/components/group
15
17
  * @example
16
18
  * ```jsx
@@ -10,7 +10,9 @@ import type { As, Options, Props } from "../utils/types.js";
10
10
  */
11
11
  export declare const useGroup: import("../utils/types.js").Hook<GroupOptions<"div">>;
12
12
  /**
13
- * Renders a group element.
13
+ * Renders a group element. Optionally, a
14
+ * [`GroupLabel`](https://ariakit.org/reference/group-label) can be rendered as
15
+ * a child to provide a label for the group.
14
16
  * @see https://ariakit.org/components/group
15
17
  * @example
16
18
  * ```jsx
@@ -1,8 +1,10 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { HeadingLevels } from "./utils.js";
3
3
  /**
4
- * A component that sets the heading level for the children. It doesn't render
5
- * any HTML element, just sets the `level` prop on the context.
4
+ * A component that sets the heading level for its children. It doesn't render
5
+ * any HTML element, just sets the
6
+ * [`level`](https://ariakit.org/reference/heading-level#level) prop on the
7
+ * context.
6
8
  * @see https://ariakit.org/components/heading
7
9
  * @example
8
10
  * ```jsx
@@ -1,8 +1,10 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { HeadingLevels } from "./utils.js";
3
3
  /**
4
- * A component that sets the heading level for the children. It doesn't render
5
- * any HTML element, just sets the `level` prop on the context.
4
+ * A component that sets the heading level for its children. It doesn't render
5
+ * any HTML element, just sets the
6
+ * [`level`](https://ariakit.org/reference/heading-level#level) prop on the
7
+ * context.
6
8
  * @see https://ariakit.org/components/heading
7
9
  * @example
8
10
  * ```jsx
@@ -14,9 +14,10 @@ type HeadingElements = `h${HeadingLevels}`;
14
14
  */
15
15
  export declare const useHeading: import("../utils/types.js").Hook<HeadingOptions<"h1" | "h2" | "h3" | "h4" | "h5" | "h6">>;
16
16
  /**
17
- * Renders a heading element. The element type (or the `aria-level` prop, if the
18
- * element type is not a native heading) is determined by the context level
19
- * provided by the parent `HeadingLevel` component.
17
+ * Renders a heading element. The element type (or the `aria-level` attribute,
18
+ * if the element type is not a native heading) is determined by the context
19
+ * level provided by the closest
20
+ * [`HeadingLevel`](https://ariakit.org/reference/heading-level) ancestor.
20
21
  * @see https://ariakit.org/components/heading
21
22
  * @example
22
23
  * ```jsx
@@ -14,9 +14,10 @@ type HeadingElements = `h${HeadingLevels}`;
14
14
  */
15
15
  export declare const useHeading: import("../utils/types.js").Hook<HeadingOptions<"h1" | "h2" | "h3" | "h4" | "h5" | "h6">>;
16
16
  /**
17
- * Renders a heading element. The element type (or the `aria-level` prop, if the
18
- * element type is not a native heading) is determined by the context level
19
- * provided by the parent `HeadingLevel` component.
17
+ * Renders a heading element. The element type (or the `aria-level` attribute,
18
+ * if the element type is not a native heading) is determined by the context
19
+ * level provided by the closest
20
+ * [`HeadingLevel`](https://ariakit.org/reference/heading-level) ancestor.
20
21
  * @see https://ariakit.org/components/heading
21
22
  * @example
22
23
  * ```jsx
@@ -20,7 +20,7 @@ export declare const useHovercardAnchor: import("../utils/types.js").Hook<Hoverc
20
20
  * [`Hovercard`](https://ariakit.org/reference/hovercard) popup on hover.
21
21
  * @see https://ariakit.org/components/hovercard
22
22
  * @example
23
- * ```jsx
23
+ * ```jsx {2}
24
24
  * <HovercardProvider>
25
25
  * <HovercardAnchor>@username</HovercardAnchor>
26
26
  * <Hovercard>Details</Hovercard>
@@ -38,10 +38,13 @@ export interface HovercardAnchorOptions<T extends As = "a"> extends FocusableOpt
38
38
  */
39
39
  store?: HovercardStore;
40
40
  /**
41
- * Whether to show the hovercard on mouse move.
41
+ * Shows the content element based on the user's _hover intent_ over the
42
+ * anchor element. This behavior purposely ignores mobile touch and
43
+ * unintentional mouse enter events, like those that happen during scrolling.
42
44
  *
43
45
  * Live examples:
44
46
  * - [Navigation Menubar](https://ariakit.org/examples/menubar-navigation)
47
+ * - [Sliding Menu](https://ariakit.org/examples/menu-slide)
45
48
  * @default true
46
49
  */
47
50
  showOnHover?: BooleanOrCallback<ReactMouseEvent<HTMLElement>>;
@@ -20,7 +20,7 @@ export declare const useHovercardAnchor: import("../utils/types.js").Hook<Hoverc
20
20
  * [`Hovercard`](https://ariakit.org/reference/hovercard) popup on hover.
21
21
  * @see https://ariakit.org/components/hovercard
22
22
  * @example
23
- * ```jsx
23
+ * ```jsx {2}
24
24
  * <HovercardProvider>
25
25
  * <HovercardAnchor>@username</HovercardAnchor>
26
26
  * <Hovercard>Details</Hovercard>
@@ -38,10 +38,13 @@ export interface HovercardAnchorOptions<T extends As = "a"> extends FocusableOpt
38
38
  */
39
39
  store?: HovercardStore;
40
40
  /**
41
- * Whether to show the hovercard on mouse move.
41
+ * Shows the content element based on the user's _hover intent_ over the
42
+ * anchor element. This behavior purposely ignores mobile touch and
43
+ * unintentional mouse enter events, like those that happen during scrolling.
42
44
  *
43
45
  * Live examples:
44
46
  * - [Navigation Menubar](https://ariakit.org/examples/menubar-navigation)
47
+ * - [Sliding Menu](https://ariakit.org/examples/menu-slide)
45
48
  * @default true
46
49
  */
47
50
  showOnHover?: BooleanOrCallback<ReactMouseEvent<HTMLElement>>;
@@ -16,10 +16,12 @@ import type { HovercardStore } from "./hovercard-store.js";
16
16
  */
17
17
  export declare const useHovercardArrow: import("../utils/types.js").Hook<HovercardArrowOptions<"div">>;
18
18
  /**
19
- * Renders an arrow element in a hovercard.
19
+ * Renders an arrow element inside a
20
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) component that points
21
+ * to the anchor element.
20
22
  * @see https://ariakit.org/components/hovercard
21
23
  * @example
22
- * ```jsx
24
+ * ```jsx {4}
23
25
  * <HovercardProvider>
24
26
  * <HovercardAnchor>@username</HovercardAnchor>
25
27
  * <Hovercard>
@@ -16,10 +16,12 @@ import type { HovercardStore } from "./hovercard-store.js";
16
16
  */
17
17
  export declare const useHovercardArrow: import("../utils/types.js").Hook<HovercardArrowOptions<"div">>;
18
18
  /**
19
- * Renders an arrow element in a hovercard.
19
+ * Renders an arrow element inside a
20
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) component that points
21
+ * to the anchor element.
20
22
  * @see https://ariakit.org/components/hovercard
21
23
  * @example
22
- * ```jsx
24
+ * ```jsx {4}
23
25
  * <HovercardProvider>
24
26
  * <HovercardAnchor>@username</HovercardAnchor>
25
27
  * <Hovercard>
@@ -17,10 +17,10 @@ export declare const useHovercardDescription: import("../utils/types.js").Hook<H
17
17
  /**
18
18
  * Renders a description in a hovercard. This component must be wrapped within
19
19
  * [`Hovercard`](https://ariakit.org/reference/hovercard) so the
20
- * `aria-describedby` prop is properly set on the hovercard element.
20
+ * `aria-describedby` prop is properly set on the content element.
21
21
  * @see https://ariakit.org/components/hovercard
22
22
  * @example
23
- * ```jsx
23
+ * ```jsx {3}
24
24
  * <HovercardProvider>
25
25
  * <Hovercard>
26
26
  * <HovercardDescription>Description</HovercardDescription>
@@ -17,10 +17,10 @@ export declare const useHovercardDescription: import("../utils/types.js").Hook<H
17
17
  /**
18
18
  * Renders a description in a hovercard. This component must be wrapped within
19
19
  * [`Hovercard`](https://ariakit.org/reference/hovercard) so the
20
- * `aria-describedby` prop is properly set on the hovercard element.
20
+ * `aria-describedby` prop is properly set on the content element.
21
21
  * @see https://ariakit.org/components/hovercard
22
22
  * @example
23
- * ```jsx
23
+ * ```jsx {3}
24
24
  * <HovercardProvider>
25
25
  * <Hovercard>
26
26
  * <HovercardDescription>Description</HovercardDescription>
@@ -21,7 +21,7 @@ export declare const useHovercardDisclosure: import("../utils/types.js").Hook<Ho
21
21
  * hovercard when using the keyboard.
22
22
  * @see https://ariakit.org/components/hovercard
23
23
  * @example
24
- * ```jsx
24
+ * ```jsx {3}
25
25
  * <HovercardProvider>
26
26
  * <HovercardAnchor>@username</HovercardAnchor>
27
27
  * <HovercardDisclosure />
@@ -21,7 +21,7 @@ export declare const useHovercardDisclosure: import("../utils/types.js").Hook<Ho
21
21
  * hovercard when using the keyboard.
22
22
  * @see https://ariakit.org/components/hovercard
23
23
  * @example
24
- * ```jsx
24
+ * ```jsx {3}
25
25
  * <HovercardProvider>
26
26
  * <HovercardAnchor>@username</HovercardAnchor>
27
27
  * <HovercardDisclosure />