@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
@@ -17,16 +17,20 @@ import type { FormStore } from "./form-store.js";
17
17
  */
18
18
  export declare const useFormGroup: import("../utils/types.js").Hook<FormGroupOptions<"div">>;
19
19
  /**
20
- * Renders a form group.
20
+ * Renders a group element for form controls. The
21
+ * [`FormGroupLabel`](https://ariakit.org/reference/form-group-label) component
22
+ * can be used inside this component so the `aria-labelledby` prop is properly
23
+ * set on the group element.
21
24
  * @see https://ariakit.org/components/form
22
25
  * @example
23
- * ```jsx
26
+ * ```jsx {9-15}
24
27
  * const form = useFormStore({
25
28
  * defaultValues: {
26
29
  * username: "",
27
30
  * email: "",
28
31
  * },
29
32
  * });
33
+ *
30
34
  * <Form store={form}>
31
35
  * <FormGroup>
32
36
  * <FormGroupLabel>Account</FormGroupLabel>
@@ -17,16 +17,20 @@ import type { FormStore } from "./form-store.js";
17
17
  */
18
18
  export declare const useFormGroup: import("../utils/types.js").Hook<FormGroupOptions<"div">>;
19
19
  /**
20
- * Renders a form group.
20
+ * Renders a group element for form controls. The
21
+ * [`FormGroupLabel`](https://ariakit.org/reference/form-group-label) component
22
+ * can be used inside this component so the `aria-labelledby` prop is properly
23
+ * set on the group element.
21
24
  * @see https://ariakit.org/components/form
22
25
  * @example
23
- * ```jsx
26
+ * ```jsx {9-15}
24
27
  * const form = useFormStore({
25
28
  * defaultValues: {
26
29
  * username: "",
27
30
  * email: "",
28
31
  * },
29
32
  * });
33
+ *
30
34
  * <Form store={form}>
31
35
  * <FormGroup>
32
36
  * <FormGroupLabel>Account</FormGroupLabel>
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _VCDQISP7cjs = require('../__chunks/VCDQISP7.cjs');
4
+ var _N3XK7EAHcjs = require('../__chunks/N3XK7EAH.cjs');
5
5
 
6
6
 
7
7
  var _FROYTN4Bcjs = require('../__chunks/FROYTN4B.cjs');
@@ -52,7 +52,7 @@ var useFormInput = _RNZNGEL4cjs.createHook.call(void 0,
52
52
  onChange
53
53
  });
54
54
  props = _Z3GCTNW4cjs.useFocusable.call(void 0, props);
55
- props = _VCDQISP7cjs.useFormField.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { store, name }, props));
55
+ props = _N3XK7EAHcjs.useFormControl.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { store, name }, props));
56
56
  return props;
57
57
  }
58
58
  );
@@ -1,8 +1,8 @@
1
1
  import type { FocusableOptions } from "../focusable/focusable.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
- * Returns props to create a `FormInput` component. Unlike `useFormField`, this
5
+ * Returns props to create a `FormInput` component. Unlike `useFormControl`, this
6
6
  * hook returns the `value` and `onChange` props that can be passed to a native
7
7
  * input, select or textarea elements.
8
8
  * @see https://ariakit.org/components/form
@@ -19,17 +19,18 @@ import type { FormFieldOptions } from "./form-field.js";
19
19
  export declare const useFormInput: import("../utils/types.js").Hook<FormInputOptions<"input">>;
20
20
  /**
21
21
  * Renders a form input. Unlike
22
- * [`FormField`](https://ariakit.org/reference/form-field), this component
22
+ * [`FormControl`](https://ariakit.org/reference/form-control), this component
23
23
  * passes the `value` and `onChange` props down to the underlying element that
24
- * can be a native input, select or textarea elements.
24
+ * can be native input, select or textarea elements.
25
25
  * @see https://ariakit.org/components/form
26
26
  * @example
27
- * ```jsx
27
+ * ```jsx {9}
28
28
  * const form = useFormStore({
29
29
  * defaultValues: {
30
30
  * email: "",
31
31
  * },
32
32
  * });
33
+ *
33
34
  * <Form store={form}>
34
35
  * <FormLabel name={form.names.email}>Email</FormLabel>
35
36
  * <FormInput name={form.names.email} />
@@ -37,6 +38,6 @@ export declare const useFormInput: import("../utils/types.js").Hook<FormInputOpt
37
38
  * ```
38
39
  */
39
40
  export declare const FormInput: import("../utils/types.js").Component<FormInputOptions<"input">>;
40
- export interface FormInputOptions<T extends As = "input"> extends FormFieldOptions<T>, FocusableOptions<T> {
41
+ export interface FormInputOptions<T extends As = "input"> extends FormControlOptions<T>, FocusableOptions<T> {
41
42
  }
42
43
  export type FormInputProps<T extends As = "input"> = Props<FormInputOptions<T>>;
@@ -1,8 +1,8 @@
1
1
  import type { FocusableOptions } from "../focusable/focusable.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
- * Returns props to create a `FormInput` component. Unlike `useFormField`, this
5
+ * Returns props to create a `FormInput` component. Unlike `useFormControl`, this
6
6
  * hook returns the `value` and `onChange` props that can be passed to a native
7
7
  * input, select or textarea elements.
8
8
  * @see https://ariakit.org/components/form
@@ -19,17 +19,18 @@ import type { FormFieldOptions } from "./form-field.js";
19
19
  export declare const useFormInput: import("../utils/types.js").Hook<FormInputOptions<"input">>;
20
20
  /**
21
21
  * Renders a form input. Unlike
22
- * [`FormField`](https://ariakit.org/reference/form-field), this component
22
+ * [`FormControl`](https://ariakit.org/reference/form-control), this component
23
23
  * passes the `value` and `onChange` props down to the underlying element that
24
- * can be a native input, select or textarea elements.
24
+ * can be native input, select or textarea elements.
25
25
  * @see https://ariakit.org/components/form
26
26
  * @example
27
- * ```jsx
27
+ * ```jsx {9}
28
28
  * const form = useFormStore({
29
29
  * defaultValues: {
30
30
  * email: "",
31
31
  * },
32
32
  * });
33
+ *
33
34
  * <Form store={form}>
34
35
  * <FormLabel name={form.names.email}>Email</FormLabel>
35
36
  * <FormInput name={form.names.email} />
@@ -37,6 +38,6 @@ export declare const useFormInput: import("../utils/types.js").Hook<FormInputOpt
37
38
  * ```
38
39
  */
39
40
  export declare const FormInput: import("../utils/types.js").Component<FormInputOptions<"input">>;
40
- export interface FormInputOptions<T extends As = "input"> extends FormFieldOptions<T>, FocusableOptions<T> {
41
+ export interface FormInputOptions<T extends As = "input"> extends FormControlOptions<T>, FocusableOptions<T> {
41
42
  }
42
43
  export type FormInputProps<T extends As = "input"> = Props<FormInputOptions<T>>;
@@ -21,19 +21,23 @@ import type { FormStore } from "./form-store.js";
21
21
  */
22
22
  export declare const useFormLabel: import("../utils/types.js").Hook<FormLabelOptions<"label">>;
23
23
  /**
24
- * Renders a label for a form field. If the field is not a native input, select
25
- * or textarea element, the component will render a `span` element. Instead of
26
- * relying on the `htmlFor` prop, it'll rely on the `aria-labelledby` attribute
27
- * on the form field. Clicking on the label will move focus to the field even if
28
- * it's not a native input.
24
+ * Renders a label associated with a form field, even if the field is not a
25
+ * native input.
26
+ *
27
+ * If the field is a native input, select or textarea element, this component
28
+ * will render a native `label` element and rely on its `htmlFor` prop.
29
+ * Otherwise, it'll render a `span` element and rely on the `aria-labelledby`
30
+ * attribute on the form field instead. Clicking on the label will move focus to
31
+ * the field even if it's not a native input.
29
32
  * @see https://ariakit.org/components/form
30
33
  * @example
31
- * ```jsx
34
+ * ```jsx {8}
32
35
  * const form = useFormStore({
33
36
  * defaultValues: {
34
37
  * email: "",
35
38
  * },
36
39
  * });
40
+ *
37
41
  * <Form store={form}>
38
42
  * <FormLabel name={form.names.email}>Email</Role>
39
43
  * <FormInput name={form.names.email} />
@@ -51,7 +55,14 @@ export interface FormLabelOptions<T extends As = "label"> extends CollectionItem
51
55
  */
52
56
  store?: FormStore;
53
57
  /**
54
- * Name of the field.
58
+ * Name of the field labeled by this element. This can either be a string or a
59
+ * reference to a field name from the
60
+ * [`names`](https://ariakit.org/reference/use-form-store#names) object in the
61
+ * store, for type safety.
62
+ * @example
63
+ * ```jsx
64
+ * <FormLabel name="email">Email</FormLabel>
65
+ * ```
55
66
  */
56
67
  name: StringLike;
57
68
  }
@@ -21,19 +21,23 @@ import type { FormStore } from "./form-store.js";
21
21
  */
22
22
  export declare const useFormLabel: import("../utils/types.js").Hook<FormLabelOptions<"label">>;
23
23
  /**
24
- * Renders a label for a form field. If the field is not a native input, select
25
- * or textarea element, the component will render a `span` element. Instead of
26
- * relying on the `htmlFor` prop, it'll rely on the `aria-labelledby` attribute
27
- * on the form field. Clicking on the label will move focus to the field even if
28
- * it's not a native input.
24
+ * Renders a label associated with a form field, even if the field is not a
25
+ * native input.
26
+ *
27
+ * If the field is a native input, select or textarea element, this component
28
+ * will render a native `label` element and rely on its `htmlFor` prop.
29
+ * Otherwise, it'll render a `span` element and rely on the `aria-labelledby`
30
+ * attribute on the form field instead. Clicking on the label will move focus to
31
+ * the field even if it's not a native input.
29
32
  * @see https://ariakit.org/components/form
30
33
  * @example
31
- * ```jsx
34
+ * ```jsx {8}
32
35
  * const form = useFormStore({
33
36
  * defaultValues: {
34
37
  * email: "",
35
38
  * },
36
39
  * });
40
+ *
37
41
  * <Form store={form}>
38
42
  * <FormLabel name={form.names.email}>Email</Role>
39
43
  * <FormInput name={form.names.email} />
@@ -51,7 +55,14 @@ export interface FormLabelOptions<T extends As = "label"> extends CollectionItem
51
55
  */
52
56
  store?: FormStore;
53
57
  /**
54
- * Name of the field.
58
+ * Name of the field labeled by this element. This can either be a string or a
59
+ * reference to a field name from the
60
+ * [`names`](https://ariakit.org/reference/use-form-store#names) object in the
61
+ * store, for type safety.
62
+ * @example
63
+ * ```jsx
64
+ * <FormLabel name="email">Email</FormLabel>
65
+ * ```
55
66
  */
56
67
  name: StringLike;
57
68
  }
@@ -4,7 +4,8 @@ import type { PickRequired } from "@ariakit/core/utils/types";
4
4
  import type { FormStoreProps } from "./form-store.js";
5
5
  type Values = FormStoreValues;
6
6
  /**
7
- * Provides a form store to Form components.
7
+ * Provides a form store to [Form](https://ariakit.org/components/form)
8
+ * components.
8
9
  * @see https://ariakit.org/components/form
9
10
  * @example
10
11
  * ```jsx
@@ -4,7 +4,8 @@ import type { PickRequired } from "@ariakit/core/utils/types";
4
4
  import type { FormStoreProps } from "./form-store.js";
5
5
  type Values = FormStoreValues;
6
6
  /**
7
- * Provides a form store to Form components.
7
+ * Provides a form store to [Form](https://ariakit.org/components/form)
8
+ * components.
8
9
  * @see https://ariakit.org/components/form
9
10
  * @example
10
11
  * ```jsx
@@ -32,14 +32,25 @@ export declare const useFormPush: import("../utils/types.js").Hook<FormPushOptio
32
32
  /**
33
33
  * Renders a button that will push items to an array value in the form store
34
34
  * when clicked.
35
+ *
36
+ * The [`name`](https://ariakit.org/reference/form-push#name) prop needs to be
37
+ * provided to identify the array field. The
38
+ * [`value`](https://ariakit.org/reference/form-push#value) prop is required to
39
+ * define the value that will be added to the array.
40
+ *
41
+ * By default, the newly added input will be automatically focused when the
42
+ * button is clicked unless the
43
+ * [`autoFocusOnClick`](https://ariakit.org/reference/form-push#autofocusonclick)
44
+ * prop is set to `false`.
35
45
  * @see https://ariakit.org/components/form
36
46
  * @example
37
- * ```jsx
47
+ * ```jsx {13-15}
38
48
  * const form = useFormStore({
39
49
  * defaultValues: {
40
50
  * languages: ["JavaScript", "PHP"],
41
51
  * },
42
52
  * });
53
+ *
43
54
  * const values = form.useState("values");
44
55
  *
45
56
  * <Form store={form}>
@@ -63,11 +74,14 @@ export interface FormPushOptions<T extends As = "button"> extends ButtonOptions<
63
74
  */
64
75
  store?: FormStore;
65
76
  /**
66
- * 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.
67
81
  */
68
82
  name: StringLike;
69
83
  /**
70
- * Value that will be initially set to the item when it is pushed.
84
+ * Value that will initially be assigned to the array item when it's pushed.
71
85
  */
72
86
  value: unknown;
73
87
  /**
@@ -32,14 +32,25 @@ export declare const useFormPush: import("../utils/types.js").Hook<FormPushOptio
32
32
  /**
33
33
  * Renders a button that will push items to an array value in the form store
34
34
  * when clicked.
35
+ *
36
+ * The [`name`](https://ariakit.org/reference/form-push#name) prop needs to be
37
+ * provided to identify the array field. The
38
+ * [`value`](https://ariakit.org/reference/form-push#value) prop is required to
39
+ * define the value that will be added to the array.
40
+ *
41
+ * By default, the newly added input will be automatically focused when the
42
+ * button is clicked unless the
43
+ * [`autoFocusOnClick`](https://ariakit.org/reference/form-push#autofocusonclick)
44
+ * prop is set to `false`.
35
45
  * @see https://ariakit.org/components/form
36
46
  * @example
37
- * ```jsx
47
+ * ```jsx {13-15}
38
48
  * const form = useFormStore({
39
49
  * defaultValues: {
40
50
  * languages: ["JavaScript", "PHP"],
41
51
  * },
42
52
  * });
53
+ *
43
54
  * const values = form.useState("values");
44
55
  *
45
56
  * <Form store={form}>
@@ -63,11 +74,14 @@ export interface FormPushOptions<T extends As = "button"> extends ButtonOptions<
63
74
  */
64
75
  store?: FormStore;
65
76
  /**
66
- * 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.
67
81
  */
68
82
  name: StringLike;
69
83
  /**
70
- * Value that will be initially set to the item when it is pushed.
84
+ * Value that will initially be assigned to the array item when it's pushed.
71
85
  */
72
86
  value: unknown;
73
87
  /**
@@ -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>
@@ -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,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _VCDQISP7cjs = require('../__chunks/VCDQISP7.cjs');
4
+ var _N3XK7EAHcjs = require('../__chunks/N3XK7EAH.cjs');
5
5
 
6
6
 
7
7
  var _FROYTN4Bcjs = require('../__chunks/FROYTN4B.cjs');
@@ -61,7 +61,7 @@ var useFormRadio = _RNZNGEL4cjs.createHook.call(void 0,
61
61
  onChange
62
62
  });
63
63
  props = _G2ZXRZ2Rcjs.useRadio.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { value }, props));
64
- props = _VCDQISP7cjs.useFormField.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
64
+ props = _N3XK7EAHcjs.useFormControl.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
65
65
  store,
66
66
  name,
67
67
  "aria-labelledby": void 0
@@ -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,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>>;
@@ -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
  /**
@@ -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}>
@@ -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}>