@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
@@ -19,15 +19,20 @@ import type { FormGroupOptions } from "./form-group.js";
19
19
  */
20
20
  export declare const useFormRadioGroup: import("../utils/types.js").Hook<FormRadioGroupOptions<"div">>;
21
21
  /**
22
- * Renders a radio group in a form.
22
+ * Renders a group element for
23
+ * [`FormRadio`](https://ariakit.org/reference/form-radio) elements. The
24
+ * [`FormGroupLabel`](https://ariakit.org/reference/form-group-label) component
25
+ * can be used inside this component so the `aria-labelledby` prop is properly
26
+ * set on the group element.
23
27
  * @see https://ariakit.org/components/form
24
28
  * @example
25
- * ```jsx
29
+ * ```jsx {8-13}
26
30
  * const form = useFormStore({
27
31
  * defaultValues: {
28
32
  * color: "red",
29
33
  * },
30
34
  * });
35
+ *
31
36
  * <Form store={form}>
32
37
  * <FormRadioGroup>
33
38
  * <FormGroupLabel>Favorite color</FormGroupLabel>
@@ -1,6 +1,6 @@
1
1
  import type { RadioOptions } from "../radio/radio.js";
2
2
  import type { As, Props } from "../utils/types.js";
3
- import type { FormFieldOptions } from "./form-field.js";
3
+ import type { FormControlOptions } from "./form-control.js";
4
4
  /**
5
5
  * Returns props to create a `FormRadio` component.
6
6
  * @see https://ariakit.org/components/form
@@ -22,15 +22,19 @@ import type { FormFieldOptions } from "./form-field.js";
22
22
  */
23
23
  export declare const useFormRadio: import("../utils/types.js").Hook<FormRadioOptions<"input">>;
24
24
  /**
25
- * Renders a radio button in a form.
25
+ * Renders a radio button as a form control. This component must be wrapped in a
26
+ * [`FormRadioGroup`](https://ariakit.org/reference/form-radio-group) along with
27
+ * other radio buttons sharing the same
28
+ * [`name`](https://ariakit.org/reference/form-radio#name).
26
29
  * @see https://ariakit.org/components/form
27
30
  * @example
28
- * ```jsx
31
+ * ```jsx {10-12}
29
32
  * const form = useFormStore({
30
33
  * defaultValues: {
31
34
  * char: "a",
32
35
  * },
33
36
  * });
37
+ *
34
38
  * <Form store={form}>
35
39
  * <FormRadioGroup>
36
40
  * <FormGroupLabel>Favorite character</FormGroupLabel>
@@ -42,6 +46,6 @@ export declare const useFormRadio: import("../utils/types.js").Hook<FormRadioOpt
42
46
  * ```
43
47
  */
44
48
  export declare const FormRadio: import("../utils/types.js").Component<FormRadioOptions<"input">>;
45
- export interface FormRadioOptions<T extends As = "input"> extends FormFieldOptions<T>, Omit<RadioOptions<T>, "store" | "name"> {
49
+ export interface FormRadioOptions<T extends As = "input"> extends FormControlOptions<T>, Omit<RadioOptions<T>, "store" | "name"> {
46
50
  }
47
51
  export type FormRadioProps<T extends As = "input"> = Props<FormRadioOptions<T>>;
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
- useFormField
4
- } from "../__chunks/FS2EVEJO.js";
3
+ useFormControl
4
+ } from "../__chunks/4GO43MST.js";
5
5
  import {
6
6
  useFormContext
7
7
  } from "../__chunks/V4ZFXDFK.js";
@@ -61,7 +61,7 @@ var useFormRadio = createHook(
61
61
  onChange
62
62
  });
63
63
  props = useRadio(__spreadValues({ value }, props));
64
- props = useFormField(__spreadValues({
64
+ props = useFormControl(__spreadValues({
65
65
  store,
66
66
  name,
67
67
  "aria-labelledby": void 0
@@ -31,14 +31,26 @@ export declare const useFormRemove: import("../utils/types.js").Hook<FormRemoveO
31
31
  /**
32
32
  * Renders a button that will remove an item from an array field in the form
33
33
  * when clicked.
34
+ *
35
+ * The [`name`](https://ariakit.org/reference/form-remove#name) prop must be
36
+ * provided to identify the array field. Similarly, the
37
+ * [`index`](https://ariakit.org/reference/form-remove#index) prop is required
38
+ * to pinpoint the item to remove.
39
+ *
40
+ * By default, the button will automatically move focus to the next field in the
41
+ * form when clicked, or to the previous field if there isn't a next field. This
42
+ * behavior can be disabled by setting the
43
+ * [`autoFocusOnClick`](https://ariakit.org/reference/form-remove#autofocusonclick)
44
+ * prop to `false`.
34
45
  * @see https://ariakit.org/components/form
35
46
  * @example
36
- * ```jsx
47
+ * ```jsx {13}
37
48
  * const form = useFormStore({
38
49
  * defaultValues: {
39
50
  * languages: ["JavaScript", "PHP"],
40
51
  * },
41
52
  * });
53
+ *
42
54
  * const values = form.useState("values");
43
55
  *
44
56
  * <Form store={form}>
@@ -62,7 +74,10 @@ export interface FormRemoveOptions<T extends As = "button"> extends ButtonOption
62
74
  */
63
75
  store?: FormStore;
64
76
  /**
65
- * Name of the array field.
77
+ * Name of the array field. This can either be a string or a reference to a
78
+ * field name from the
79
+ * [`names`](https://ariakit.org/reference/use-form-store#names) object in the
80
+ * store, for type safety.
66
81
  */
67
82
  name: StringLike;
68
83
  /**
@@ -15,10 +15,13 @@ import type { FormStore } from "./form-store.js";
15
15
  */
16
16
  export declare const useFormReset: import("../utils/types.js").Hook<FormResetOptions<"button">>;
17
17
  /**
18
- * Renders a reset buttom in a form.
18
+ * Renders a button that resets the form to its initial values, as defined by
19
+ * the
20
+ * [`defaultValues`](https://ariakit.org/reference/use-form-store#defaultvalues)
21
+ * prop given to the form store.
19
22
  * @see https://ariakit.org/components/form
20
23
  * @example
21
- * ```jsx
24
+ * ```jsx {4}
22
25
  * const form = useFormStore();
23
26
  *
24
27
  * <Form store={form}>
@@ -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>
@@ -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
@@ -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
@@ -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>>;
@@ -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>
@@ -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 />
@@ -15,10 +15,11 @@ import type { HovercardStore } from "./hovercard-store.js";
15
15
  */
16
16
  export declare const useHovercardDismiss: import("../utils/types.js").Hook<HovercardDismissOptions<"button">>;
17
17
  /**
18
- * Renders a button that hides a hovercard.
18
+ * Renders a button that hides a
19
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) when clicked.
19
20
  * @see https://ariakit.org/components/hovercard
20
21
  * @example
21
- * ```jsx
22
+ * ```jsx {3}
22
23
  * <HovercardProvider>
23
24
  * <Hovercard>
24
25
  * <HovercardDismiss />
@@ -17,10 +17,10 @@ export declare const useHovercardHeading: import("../utils/types.js").Hook<Hover
17
17
  /**
18
18
  * Renders a heading in a hovercard. This component must be wrapped within
19
19
  * [`Hovercard`](https://ariakit.org/reference/hovercard) so the
20
- * `aria-labelledby` prop is properly set on the hovercard element.
20
+ * `aria-labelledby` 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
  * <HovercardHeading>Heading</HovercardHeading>
@@ -1,7 +1,8 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { HovercardStoreProps } from "./hovercard-store.js";
3
3
  /**
4
- * Provides a hovercard store to Hovercard components.
4
+ * Provides a hovercard store to
5
+ * [Hovercard](https://ariakit.org/components/hovercard) components.
5
6
  * @see https://ariakit.org/components/hovercard
6
7
  * @example
7
8
  * ```jsx
@@ -3,7 +3,8 @@ import type { PopoverStoreFunctions, PopoverStoreOptions, PopoverStoreState } fr
3
3
  import type { Store } from "../utils/store.js";
4
4
  export declare function useHovercardStoreProps<T extends Core.HovercardStore>(store: T, update: () => void, props: HovercardStoreProps): T;
5
5
  /**
6
- * Creates a hovercard store.
6
+ * Creates a hovercard store to control the state of
7
+ * [Hovercard](https://ariakit.org/reference/hovercard) components.
7
8
  * @see https://ariakit.org/components/hovercard
8
9
  * @example
9
10
  * ```jsx
@@ -20,7 +20,7 @@ export declare const useHovercard: import("../utils/types.js").Hook<HovercardOpt
20
20
  * [`HovercardAnchor`](https://ariakit.org/reference/hovercard-anchor).
21
21
  * @see https://ariakit.org/components/hovercard
22
22
  * @example
23
- * ```jsx
23
+ * ```jsx {3}
24
24
  * <HovercardProvider>
25
25
  * <HovercardAnchor>@username</HovercardAnchor>
26
26
  * <Hovercard>Details</Hovercard>
@@ -38,17 +38,29 @@ export interface HovercardOptions<T extends As = "div"> extends PopoverOptions<T
38
38
  */
39
39
  store?: HovercardStore;
40
40
  /**
41
- * Whether to hide the popover when the mouse cursor leaves any hovercard
42
- * element, including the hovercard popover itself, but also the anchor
43
- * element.
41
+ * Determines whether the popover should hide when the mouse leaves the
42
+ * popover or the anchor element and there's no _hover intent_, meaning, the
43
+ * mouse isn't moving toward the popover.
44
+ *
45
+ * This can be either a boolean or a callback receiving the mouse move event
46
+ * that initiated the behavior. The callback should return a boolean.
47
+ *
48
+ * **Note**: This behavior won't be triggered when the popover or any of its
49
+ * descendants are in focus.
44
50
  * @default true
45
51
  */
46
52
  hideOnHoverOutside?: BooleanOrCallback<MouseEvent>;
47
53
  /**
48
- * Whether to disable the pointer events outside of the hovercard while the
49
- * mouse is moving toward the hovercard. This is necessary because these
50
- * events may trigger focus on other elements and close the hovercard while
51
- * the user is moving the mouse toward it.
54
+ * Determines if the pointer events outside of the popover and its anchor
55
+ * element should be disabled during _hover intent_, that is, when the mouse
56
+ * is moving toward the popover.
57
+ *
58
+ * This is required as these external events may trigger focus on other
59
+ * elements and close the popover while the user is attempting to hover over
60
+ * it.
61
+ *
62
+ * This can be either a boolean or a callback receiving the mouse event
63
+ * happening during hover intent. The callback should return a boolean.
52
64
  * @default true
53
65
  */
54
66
  disablePointerEventsOnApproach?: BooleanOrCallback<MouseEvent>;
@@ -2,12 +2,12 @@
2
2
  import {
3
3
  Hovercard,
4
4
  useHovercard
5
- } from "../__chunks/EPBRINPG.js";
5
+ } from "../__chunks/QWSZGSIG.js";
6
6
  import "../__chunks/YMV43K4F.js";
7
- import "../__chunks/A6XC27R5.js";
8
- import "../__chunks/PGAEII2Q.js";
7
+ import "../__chunks/IRX7SFUJ.js";
8
+ import "../__chunks/NERBASET.js";
9
9
  import "../__chunks/LWHPHW7Q.js";
10
- import "../__chunks/CLF4PQ7T.js";
10
+ import "../__chunks/TQYOGOE2.js";
11
11
  import "../__chunks/BULCTPRV.js";
12
12
  import "../__chunks/6BJGLK2C.js";
13
13
  import "../__chunks/CS347UVZ.js";
@@ -15,11 +15,11 @@ import "../__chunks/IUB2BTEK.js";
15
15
  import "../__chunks/XHJGS6Z5.js";
16
16
  import "../__chunks/TL67WVI6.js";
17
17
  import "../__chunks/MKDDWKFK.js";
18
+ import "../__chunks/72E5EPFF.js";
18
19
  import "../__chunks/OOBDFMJL.js";
20
+ import "../__chunks/X6WIMZJE.js";
19
21
  import "../__chunks/677M2CI3.js";
20
22
  import "../__chunks/6GXEOXGT.js";
21
- import "../__chunks/72E5EPFF.js";
22
- import "../__chunks/X6WIMZJE.js";
23
23
  import "../__chunks/HPP6CWMY.js";
24
24
  import "../__chunks/UYRJLDVS.js";
25
25
  import "../__chunks/JPXNJYSO.js";
@@ -16,10 +16,12 @@ import type { MenuStore } from "./menu-store.js";
16
16
  */
17
17
  export declare const useMenuArrow: import("../utils/types.js").Hook<MenuArrowOptions<"div">>;
18
18
  /**
19
- * Renders an arrow inside the menu element.
19
+ * Renders an arrow element inside a
20
+ * [`Menu`](https://ariakit.org/reference/menu) component that points to its
21
+ * [`MenuButton`](https://ariakit.org/reference/menu-button).
20
22
  * @see https://ariakit.org/components/menu
21
23
  * @example
22
- * ```jsx
24
+ * ```jsx {4}
23
25
  * <MenuProvider>
24
26
  * <MenuButton>Menu</MenuButton>
25
27
  * <Menu>
@@ -2,8 +2,7 @@ import type { MenubarOptions } from "../menubar/menubar.js";
2
2
  import type { As, Props } from "../utils/types.js";
3
3
  /**
4
4
  * Returns props to create a `MenuBar` component.
5
- * @deprecated
6
- * Use [`useMenubar`](https://ariakit.org/reference/use-menubar) instead.
5
+ * @deprecated Use `useMenubar` instead.
7
6
  * @example
8
7
  * ```jsx
9
8
  * const store = useMenuBarStore();
@@ -20,12 +20,17 @@ import type { MenuStore } from "./menu-store.js";
20
20
  */
21
21
  export declare const useMenuButtonArrow: import("../utils/types.js").Hook<MenuButtonArrowOptions<"span">>;
22
22
  /**
23
- * Renders an arrow pointing to the menu position, usually inside a
24
- * `MenuButton`.
23
+ * Displays an arrow within a
24
+ * [`MenuButton`](https://ariakit.org/reference/menu-button), pointing to the
25
+ * [`Menu`](https://ariakit.org/reference/menu) position. It's typically based
26
+ * on the [`placement`](https://ariakit.org/reference/menu-provider#placement)
27
+ * state from the menu store, but this can be overridden with the
28
+ * [`placement`](https://ariakit.org/reference/menu-button-arrow#placement)
29
+ * prop.
25
30
  * @see https://ariakit.org/components/menu
26
31
  * @example
27
- * ```jsx
28
- * <MenuProvider>
32
+ * ```jsx {4}
33
+ * <MenuProvider placement="bottom-start">
29
34
  * <MenuButton>
30
35
  * Edit
31
36
  * <MenuButtonArrow />