@ariakit/react-core 0.3.12 → 0.3.13

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 (610) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/cjs/__chunks/{LICANQTI.cjs → 25ZFPUHH.cjs} +2 -2
  3. package/cjs/__chunks/{LFHNPG2L.cjs → 2FTVUUOK.cjs} +2 -2
  4. package/cjs/__chunks/{7ZVTEFD7.cjs → 2IMEEJHG.cjs} +2 -2
  5. package/cjs/__chunks/{BBS4RP44.cjs → 2UEWAQWG.cjs} +2 -2
  6. package/cjs/__chunks/{TGTVGYEZ.cjs → 4KFTI2WW.cjs} +2 -2
  7. package/cjs/__chunks/{KDG57VZV.cjs → CIZTEPFO.cjs} +3 -3
  8. package/cjs/__chunks/{UXFBTIBY.cjs → ER5DEJFH.cjs} +2 -2
  9. package/cjs/__chunks/{EKB76T2U.cjs → FGHQW2WS.cjs} +7 -7
  10. package/cjs/__chunks/{XA62Y24Z.cjs → GGMSVQ4G.cjs} +2 -2
  11. package/cjs/__chunks/{23HLSVKM.cjs → GMQZGKGV.cjs} +2 -2
  12. package/cjs/__chunks/{IO6J4PAN.cjs → GSETTLOU.cjs} +2 -2
  13. package/cjs/__chunks/{RNGIWUQW.cjs → HQEKHRPP.cjs} +2 -2
  14. package/cjs/__chunks/{7HJPL3H2.cjs → ITQETTAV.cjs} +4 -4
  15. package/cjs/__chunks/{NY3D6JQT.cjs → JFNPRZX3.cjs} +2 -2
  16. package/cjs/__chunks/{G2ZXRZ2R.cjs → MMRX6FNS.cjs} +2 -2
  17. package/cjs/__chunks/{VCDQISP7.cjs → N3XK7EAH.cjs} +7 -7
  18. package/cjs/__chunks/{QCG6J6X5.cjs → NLVGDNPE.cjs} +2 -2
  19. package/cjs/__chunks/{DAJUUBUI.cjs → OSTQZD2E.cjs} +2 -2
  20. package/cjs/__chunks/{ZWICHV7O.cjs → PJ646MI7.cjs} +2 -2
  21. package/cjs/__chunks/{NNINKJTT.cjs → QSU3WKMW.cjs} +2 -2
  22. package/cjs/__chunks/{H6OLBVHA.cjs → R7ERL264.cjs} +2 -2
  23. package/cjs/__chunks/{5UTRYT6E.cjs → REJALU3P.cjs} +2 -2
  24. package/cjs/__chunks/{D4TG5DM4.cjs → UPU6KE6C.cjs} +2 -2
  25. package/cjs/__chunks/{Z3GCTNW4.cjs → VUEWHLYH.cjs} +1 -1
  26. package/cjs/button/button.cjs +4 -4
  27. package/cjs/button/button.d.cts +1 -1
  28. package/cjs/button/button.d.ts +1 -1
  29. package/cjs/checkbox/checkbox-check.d.cts +17 -9
  30. package/cjs/checkbox/checkbox-check.d.ts +17 -9
  31. package/cjs/checkbox/checkbox-provider.cjs +2 -2
  32. package/cjs/checkbox/checkbox-provider.d.cts +4 -2
  33. package/cjs/checkbox/checkbox-provider.d.ts +4 -2
  34. package/cjs/checkbox/checkbox-store.d.cts +5 -3
  35. package/cjs/checkbox/checkbox-store.d.ts +5 -3
  36. package/cjs/checkbox/checkbox.cjs +4 -4
  37. package/cjs/checkbox/checkbox.d.cts +14 -9
  38. package/cjs/checkbox/checkbox.d.ts +14 -9
  39. package/cjs/collection/collection-item.d.cts +23 -9
  40. package/cjs/collection/collection-item.d.ts +23 -9
  41. package/cjs/collection/collection-provider.d.cts +2 -1
  42. package/cjs/collection/collection-provider.d.ts +2 -1
  43. package/cjs/collection/collection-renderer.d.cts +1 -1
  44. package/cjs/collection/collection-renderer.d.ts +1 -1
  45. package/cjs/collection/collection-store.d.cts +6 -3
  46. package/cjs/collection/collection-store.d.ts +6 -3
  47. package/cjs/collection/collection.d.cts +4 -3
  48. package/cjs/collection/collection.d.ts +4 -3
  49. package/cjs/combobox/combobox-cancel.cjs +4 -4
  50. package/cjs/combobox/combobox-cancel.d.cts +3 -2
  51. package/cjs/combobox/combobox-cancel.d.ts +3 -2
  52. package/cjs/combobox/combobox-disclosure.cjs +6 -6
  53. package/cjs/combobox/combobox-disclosure.d.cts +7 -2
  54. package/cjs/combobox/combobox-disclosure.d.ts +7 -2
  55. package/cjs/combobox/combobox-group-label.d.cts +4 -4
  56. package/cjs/combobox/combobox-group-label.d.ts +4 -4
  57. package/cjs/combobox/combobox-group.d.cts +7 -3
  58. package/cjs/combobox/combobox-group.d.ts +7 -3
  59. package/cjs/combobox/combobox-item-check.d.cts +9 -16
  60. package/cjs/combobox/combobox-item-check.d.ts +9 -16
  61. package/cjs/combobox/combobox-item-value.d.cts +13 -8
  62. package/cjs/combobox/combobox-item-value.d.ts +13 -8
  63. package/cjs/combobox/combobox-item.cjs +4 -4
  64. package/cjs/combobox/combobox-item.d.cts +11 -9
  65. package/cjs/combobox/combobox-item.d.ts +11 -9
  66. package/cjs/combobox/combobox-list.cjs +3 -3
  67. package/cjs/combobox/combobox-list.d.cts +1 -4
  68. package/cjs/combobox/combobox-list.d.ts +1 -4
  69. package/cjs/combobox/combobox-popover.cjs +10 -10
  70. package/cjs/combobox/combobox-popover.d.cts +2 -3
  71. package/cjs/combobox/combobox-popover.d.ts +2 -3
  72. package/cjs/combobox/combobox-provider.d.cts +2 -1
  73. package/cjs/combobox/combobox-provider.d.ts +2 -1
  74. package/cjs/combobox/combobox-row.d.cts +6 -3
  75. package/cjs/combobox/combobox-row.d.ts +6 -3
  76. package/cjs/combobox/combobox-separator.d.cts +4 -3
  77. package/cjs/combobox/combobox-separator.d.ts +4 -3
  78. package/cjs/combobox/combobox-store.d.cts +11 -7
  79. package/cjs/combobox/combobox-store.d.ts +11 -7
  80. package/cjs/combobox/combobox.cjs +3 -3
  81. package/cjs/combobox/combobox.d.cts +45 -33
  82. package/cjs/combobox/combobox.d.ts +45 -33
  83. package/cjs/command/command.cjs +3 -3
  84. package/cjs/command/command.d.cts +1 -1
  85. package/cjs/command/command.d.ts +1 -1
  86. package/cjs/composite/composite-container.d.cts +18 -11
  87. package/cjs/composite/composite-container.d.ts +18 -11
  88. package/cjs/composite/composite-group-label.d.cts +18 -13
  89. package/cjs/composite/composite-group-label.d.ts +18 -13
  90. package/cjs/composite/composite-group.d.cts +20 -12
  91. package/cjs/composite/composite-group.d.ts +20 -12
  92. package/cjs/composite/composite-hover.d.cts +17 -8
  93. package/cjs/composite/composite-hover.d.ts +17 -8
  94. package/cjs/composite/composite-input.d.cts +15 -9
  95. package/cjs/composite/composite-input.d.ts +15 -9
  96. package/cjs/composite/composite-item.cjs +4 -4
  97. package/cjs/composite/composite-item.d.cts +49 -9
  98. package/cjs/composite/composite-item.d.ts +49 -9
  99. package/cjs/composite/composite-overflow-disclosure.cjs +9 -9
  100. package/cjs/composite/composite-overflow.cjs +7 -7
  101. package/cjs/composite/composite-provider.d.cts +2 -1
  102. package/cjs/composite/composite-provider.d.ts +2 -1
  103. package/cjs/composite/composite-renderer.d.cts +1 -1
  104. package/cjs/composite/composite-renderer.d.ts +1 -1
  105. package/cjs/composite/composite-row.d.cts +26 -19
  106. package/cjs/composite/composite-row.d.ts +26 -19
  107. package/cjs/composite/composite-separator.d.cts +23 -10
  108. package/cjs/composite/composite-separator.d.ts +23 -10
  109. package/cjs/composite/composite-store.d.cts +3 -1
  110. package/cjs/composite/composite-store.d.ts +3 -1
  111. package/cjs/composite/composite-typeahead.d.cts +20 -8
  112. package/cjs/composite/composite-typeahead.d.ts +20 -8
  113. package/cjs/composite/composite.cjs +3 -3
  114. package/cjs/composite/composite.d.cts +65 -10
  115. package/cjs/composite/composite.d.ts +65 -10
  116. package/cjs/dialog/dialog-disclosure.cjs +6 -6
  117. package/cjs/dialog/dialog-disclosure.d.cts +2 -1
  118. package/cjs/dialog/dialog-disclosure.d.ts +2 -1
  119. package/cjs/dialog/dialog-dismiss.cjs +5 -5
  120. package/cjs/dialog/dialog-dismiss.d.cts +2 -1
  121. package/cjs/dialog/dialog-dismiss.d.ts +2 -1
  122. package/cjs/dialog/dialog-provider.d.cts +2 -1
  123. package/cjs/dialog/dialog-provider.d.ts +2 -1
  124. package/cjs/dialog/dialog-store.d.cts +3 -1
  125. package/cjs/dialog/dialog-store.d.ts +3 -1
  126. package/cjs/dialog/dialog.cjs +6 -6
  127. package/cjs/dialog/dialog.d.cts +51 -20
  128. package/cjs/dialog/dialog.d.ts +51 -20
  129. package/cjs/dialog/utils/disable-tree.cjs +3 -3
  130. package/cjs/dialog/utils/use-hide-on-interact-outside.cjs +1 -1
  131. package/cjs/disclosure/disclosure-content.d.cts +6 -5
  132. package/cjs/disclosure/disclosure-content.d.ts +6 -5
  133. package/cjs/disclosure/disclosure-provider.d.cts +2 -1
  134. package/cjs/disclosure/disclosure-provider.d.ts +2 -1
  135. package/cjs/disclosure/disclosure-store.d.cts +6 -4
  136. package/cjs/disclosure/disclosure-store.d.ts +6 -4
  137. package/cjs/disclosure/disclosure.cjs +5 -5
  138. package/cjs/disclosure/disclosure.d.cts +3 -2
  139. package/cjs/disclosure/disclosure.d.ts +3 -2
  140. package/cjs/focus-trap/focus-trap-region.d.cts +4 -2
  141. package/cjs/focus-trap/focus-trap-region.d.ts +4 -2
  142. package/cjs/focusable/focusable-container.d.cts +7 -5
  143. package/cjs/focusable/focusable-container.d.ts +7 -5
  144. package/cjs/focusable/focusable.cjs +2 -2
  145. package/cjs/focusable/focusable.d.cts +5 -2
  146. package/cjs/focusable/focusable.d.ts +5 -2
  147. package/cjs/form/form-checkbox.cjs +8 -8
  148. package/cjs/form/form-checkbox.d.cts +6 -4
  149. package/cjs/form/form-checkbox.d.ts +6 -4
  150. package/cjs/form/form-control.cjs +16 -0
  151. package/cjs/form/form-control.d.cts +93 -0
  152. package/cjs/form/form-control.d.ts +93 -0
  153. package/cjs/form/form-description.d.cts +14 -3
  154. package/cjs/form/form-description.d.ts +14 -3
  155. package/cjs/form/form-error.d.cts +11 -4
  156. package/cjs/form/form-error.d.ts +11 -4
  157. package/cjs/form/form-field.cjs +19 -4
  158. package/cjs/form/form-field.d.cts +16 -30
  159. package/cjs/form/form-field.d.ts +16 -30
  160. package/cjs/form/form-group-label.d.cts +6 -4
  161. package/cjs/form/form-group-label.d.ts +6 -4
  162. package/cjs/form/form-group.d.cts +6 -2
  163. package/cjs/form/form-group.d.ts +6 -2
  164. package/cjs/form/form-input.cjs +4 -4
  165. package/cjs/form/form-input.d.cts +7 -6
  166. package/cjs/form/form-input.d.ts +7 -6
  167. package/cjs/form/form-label.d.cts +18 -7
  168. package/cjs/form/form-label.d.ts +18 -7
  169. package/cjs/form/form-provider.d.cts +2 -1
  170. package/cjs/form/form-provider.d.ts +2 -1
  171. package/cjs/form/form-push.cjs +4 -4
  172. package/cjs/form/form-push.d.cts +17 -3
  173. package/cjs/form/form-push.d.ts +17 -3
  174. package/cjs/form/form-radio-group.d.cts +7 -2
  175. package/cjs/form/form-radio-group.d.ts +7 -2
  176. package/cjs/form/form-radio.cjs +7 -7
  177. package/cjs/form/form-radio.d.cts +8 -4
  178. package/cjs/form/form-radio.d.ts +8 -4
  179. package/cjs/form/form-remove.cjs +4 -4
  180. package/cjs/form/form-remove.d.cts +17 -2
  181. package/cjs/form/form-remove.d.ts +17 -2
  182. package/cjs/form/form-reset.cjs +4 -4
  183. package/cjs/form/form-reset.d.cts +5 -2
  184. package/cjs/form/form-reset.d.ts +5 -2
  185. package/cjs/form/form-store.d.cts +31 -14
  186. package/cjs/form/form-store.d.ts +31 -14
  187. package/cjs/form/form-submit.cjs +4 -4
  188. package/cjs/form/form-submit.d.cts +8 -2
  189. package/cjs/form/form-submit.d.ts +8 -2
  190. package/cjs/form/form.d.cts +37 -11
  191. package/cjs/form/form.d.ts +37 -11
  192. package/cjs/group/group-label.d.cts +3 -2
  193. package/cjs/group/group-label.d.ts +3 -2
  194. package/cjs/group/group.d.cts +3 -1
  195. package/cjs/group/group.d.ts +3 -1
  196. package/cjs/heading/heading-level.d.cts +4 -2
  197. package/cjs/heading/heading-level.d.ts +4 -2
  198. package/cjs/heading/heading.d.cts +4 -3
  199. package/cjs/heading/heading.d.ts +4 -3
  200. package/cjs/hovercard/hovercard-anchor.cjs +3 -3
  201. package/cjs/hovercard/hovercard-anchor.d.cts +5 -2
  202. package/cjs/hovercard/hovercard-anchor.d.ts +5 -2
  203. package/cjs/hovercard/hovercard-arrow.d.cts +4 -2
  204. package/cjs/hovercard/hovercard-arrow.d.ts +4 -2
  205. package/cjs/hovercard/hovercard-description.d.cts +2 -2
  206. package/cjs/hovercard/hovercard-description.d.ts +2 -2
  207. package/cjs/hovercard/hovercard-disclosure.cjs +6 -6
  208. package/cjs/hovercard/hovercard-disclosure.d.cts +1 -1
  209. package/cjs/hovercard/hovercard-disclosure.d.ts +1 -1
  210. package/cjs/hovercard/hovercard-dismiss.cjs +7 -7
  211. package/cjs/hovercard/hovercard-dismiss.d.cts +3 -2
  212. package/cjs/hovercard/hovercard-dismiss.d.ts +3 -2
  213. package/cjs/hovercard/hovercard-heading.d.cts +2 -2
  214. package/cjs/hovercard/hovercard-heading.d.ts +2 -2
  215. package/cjs/hovercard/hovercard-provider.d.cts +2 -1
  216. package/cjs/hovercard/hovercard-provider.d.ts +2 -1
  217. package/cjs/hovercard/hovercard-store.d.cts +2 -1
  218. package/cjs/hovercard/hovercard-store.d.ts +2 -1
  219. package/cjs/hovercard/hovercard.cjs +8 -8
  220. package/cjs/hovercard/hovercard.d.cts +20 -8
  221. package/cjs/hovercard/hovercard.d.ts +20 -8
  222. package/cjs/menu/menu-arrow.d.cts +4 -2
  223. package/cjs/menu/menu-arrow.d.ts +4 -2
  224. package/cjs/menu/menu-bar.cjs +4 -4
  225. package/cjs/menu/menu-bar.d.cts +1 -2
  226. package/cjs/menu/menu-bar.d.ts +1 -2
  227. package/cjs/menu/menu-button-arrow.d.cts +9 -4
  228. package/cjs/menu/menu-button-arrow.d.ts +9 -4
  229. package/cjs/menu/menu-button.cjs +9 -9
  230. package/cjs/menu/menu-button.d.cts +8 -7
  231. package/cjs/menu/menu-button.d.ts +8 -7
  232. package/cjs/menu/menu-description.d.cts +2 -2
  233. package/cjs/menu/menu-description.d.ts +2 -2
  234. package/cjs/menu/menu-dismiss.cjs +7 -7
  235. package/cjs/menu/menu-dismiss.d.cts +3 -2
  236. package/cjs/menu/menu-dismiss.d.ts +3 -2
  237. package/cjs/menu/menu-group-label.d.cts +4 -4
  238. package/cjs/menu/menu-group-label.d.ts +4 -4
  239. package/cjs/menu/menu-group.d.cts +5 -2
  240. package/cjs/menu/menu-group.d.ts +5 -2
  241. package/cjs/menu/menu-heading.d.cts +3 -2
  242. package/cjs/menu/menu-heading.d.ts +3 -2
  243. package/cjs/menu/menu-item-check.d.cts +10 -18
  244. package/cjs/menu/menu-item-check.d.ts +10 -18
  245. package/cjs/menu/menu-item-checkbox.cjs +9 -9
  246. package/cjs/menu/menu-item-checkbox.d.cts +38 -6
  247. package/cjs/menu/menu-item-checkbox.d.ts +38 -6
  248. package/cjs/menu/menu-item-radio.cjs +7 -7
  249. package/cjs/menu/menu-item-radio.d.cts +21 -9
  250. package/cjs/menu/menu-item-radio.d.ts +21 -9
  251. package/cjs/menu/menu-item.cjs +5 -5
  252. package/cjs/menu/menu-item.d.cts +10 -11
  253. package/cjs/menu/menu-item.d.ts +10 -11
  254. package/cjs/menu/menu-list.cjs +4 -4
  255. package/cjs/menu/menu-list.d.cts +7 -2
  256. package/cjs/menu/menu-list.d.ts +7 -2
  257. package/cjs/menu/menu-provider.d.cts +2 -1
  258. package/cjs/menu/menu-provider.d.ts +2 -1
  259. package/cjs/menu/menu-separator.d.cts +5 -2
  260. package/cjs/menu/menu-separator.d.ts +5 -2
  261. package/cjs/menu/menu-store.d.cts +18 -7
  262. package/cjs/menu/menu-store.d.ts +18 -7
  263. package/cjs/menu/menu.cjs +12 -12
  264. package/cjs/menu/menu.d.cts +8 -2
  265. package/cjs/menu/menu.d.ts +8 -2
  266. package/cjs/menubar/menubar-provider.d.cts +2 -1
  267. package/cjs/menubar/menubar-provider.d.ts +2 -1
  268. package/cjs/menubar/menubar-store.d.cts +3 -1
  269. package/cjs/menubar/menubar-store.d.ts +3 -1
  270. package/cjs/menubar/menubar.cjs +4 -4
  271. package/cjs/menubar/menubar.d.cts +3 -2
  272. package/cjs/menubar/menubar.d.ts +3 -2
  273. package/cjs/popover/popover-anchor.d.cts +4 -3
  274. package/cjs/popover/popover-anchor.d.ts +4 -3
  275. package/cjs/popover/popover-arrow.d.cts +6 -2
  276. package/cjs/popover/popover-arrow.d.ts +6 -2
  277. package/cjs/popover/popover-description.d.cts +1 -1
  278. package/cjs/popover/popover-description.d.ts +1 -1
  279. package/cjs/popover/popover-disclosure-arrow.d.cts +6 -4
  280. package/cjs/popover/popover-disclosure-arrow.d.ts +6 -4
  281. package/cjs/popover/popover-disclosure.cjs +7 -7
  282. package/cjs/popover/popover-disclosure.d.cts +3 -2
  283. package/cjs/popover/popover-disclosure.d.ts +3 -2
  284. package/cjs/popover/popover-dismiss.cjs +6 -6
  285. package/cjs/popover/popover-dismiss.d.cts +1 -1
  286. package/cjs/popover/popover-dismiss.d.ts +1 -1
  287. package/cjs/popover/popover-heading.d.cts +1 -1
  288. package/cjs/popover/popover-heading.d.ts +1 -1
  289. package/cjs/popover/popover-provider.d.cts +2 -1
  290. package/cjs/popover/popover-provider.d.ts +2 -1
  291. package/cjs/popover/popover-store.d.cts +2 -1
  292. package/cjs/popover/popover-store.d.ts +2 -1
  293. package/cjs/popover/popover.cjs +7 -7
  294. package/cjs/popover/popover.d.cts +8 -3
  295. package/cjs/popover/popover.d.ts +8 -3
  296. package/cjs/portal/portal.d.cts +18 -1
  297. package/cjs/portal/portal.d.ts +18 -1
  298. package/cjs/radio/radio-group.cjs +3 -3
  299. package/cjs/radio/radio-group.d.cts +8 -6
  300. package/cjs/radio/radio-group.d.ts +8 -6
  301. package/cjs/radio/radio-provider.d.cts +2 -1
  302. package/cjs/radio/radio-provider.d.ts +2 -1
  303. package/cjs/radio/radio-store.d.cts +6 -2
  304. package/cjs/radio/radio-store.d.ts +6 -2
  305. package/cjs/radio/radio.cjs +5 -5
  306. package/cjs/radio/radio.d.cts +21 -13
  307. package/cjs/radio/radio.d.ts +21 -13
  308. package/cjs/role/role.d.cts +3 -3
  309. package/cjs/role/role.d.ts +3 -3
  310. package/cjs/select/select-group-label.d.cts +2 -2
  311. package/cjs/select/select-group-label.d.ts +2 -2
  312. package/cjs/select/select-group.d.cts +4 -1
  313. package/cjs/select/select-group.d.ts +4 -1
  314. package/cjs/select/select-item-check.d.cts +9 -15
  315. package/cjs/select/select-item-check.d.ts +9 -15
  316. package/cjs/select/select-item.cjs +4 -4
  317. package/cjs/select/select-item.d.cts +1 -5
  318. package/cjs/select/select-item.d.ts +1 -5
  319. package/cjs/select/select-list.cjs +4 -4
  320. package/cjs/select/select-list.d.cts +7 -4
  321. package/cjs/select/select-list.d.ts +7 -4
  322. package/cjs/select/select-popover.cjs +11 -11
  323. package/cjs/select/select-provider.d.cts +2 -1
  324. package/cjs/select/select-provider.d.ts +2 -1
  325. package/cjs/select/select-renderer.d.cts +1 -1
  326. package/cjs/select/select-renderer.d.ts +1 -1
  327. package/cjs/select/select-row.d.cts +4 -1
  328. package/cjs/select/select-row.d.ts +4 -1
  329. package/cjs/select/select-separator.d.cts +2 -1
  330. package/cjs/select/select-separator.d.ts +2 -1
  331. package/cjs/select/select-store.d.cts +17 -10
  332. package/cjs/select/select-store.d.ts +17 -10
  333. package/cjs/select/select.cjs +15 -13
  334. package/cjs/select/select.d.cts +25 -15
  335. package/cjs/select/select.d.ts +25 -15
  336. package/cjs/tab/tab-list.cjs +3 -3
  337. package/cjs/tab/tab-list.d.cts +2 -1
  338. package/cjs/tab/tab-list.d.ts +2 -1
  339. package/cjs/tab/tab-panel.cjs +2 -2
  340. package/cjs/tab/tab-panel.d.cts +19 -3
  341. package/cjs/tab/tab-panel.d.ts +19 -3
  342. package/cjs/tab/tab-provider.d.cts +1 -1
  343. package/cjs/tab/tab-provider.d.ts +1 -1
  344. package/cjs/tab/tab-store.d.cts +3 -1
  345. package/cjs/tab/tab-store.d.ts +3 -1
  346. package/cjs/tab/tab.cjs +4 -4
  347. package/cjs/tab/tab.d.cts +2 -2
  348. package/cjs/tab/tab.d.ts +2 -2
  349. package/cjs/toolbar/toolbar-container.cjs +5 -5
  350. package/cjs/toolbar/toolbar-container.d.cts +1 -1
  351. package/cjs/toolbar/toolbar-container.d.ts +1 -1
  352. package/cjs/toolbar/toolbar-input.cjs +5 -5
  353. package/cjs/toolbar/toolbar-input.d.cts +2 -1
  354. package/cjs/toolbar/toolbar-input.d.ts +2 -1
  355. package/cjs/toolbar/toolbar-item.cjs +5 -5
  356. package/cjs/toolbar/toolbar-item.d.cts +2 -1
  357. package/cjs/toolbar/toolbar-item.d.ts +2 -1
  358. package/cjs/toolbar/toolbar-provider.d.cts +2 -1
  359. package/cjs/toolbar/toolbar-provider.d.ts +2 -1
  360. package/cjs/toolbar/toolbar-separator.d.cts +2 -1
  361. package/cjs/toolbar/toolbar-separator.d.ts +2 -1
  362. package/cjs/toolbar/toolbar-store.d.cts +3 -1
  363. package/cjs/toolbar/toolbar-store.d.ts +3 -1
  364. package/cjs/toolbar/toolbar.cjs +3 -3
  365. package/cjs/tooltip/tooltip-anchor.cjs +3 -3
  366. package/cjs/tooltip/tooltip-anchor.d.cts +3 -3
  367. package/cjs/tooltip/tooltip-anchor.d.ts +3 -3
  368. package/cjs/tooltip/tooltip-arrow.d.cts +1 -1
  369. package/cjs/tooltip/tooltip-arrow.d.ts +1 -1
  370. package/cjs/tooltip/tooltip-provider.d.cts +2 -1
  371. package/cjs/tooltip/tooltip-provider.d.ts +2 -1
  372. package/cjs/tooltip/tooltip-store.d.cts +3 -1
  373. package/cjs/tooltip/tooltip-store.d.ts +3 -1
  374. package/cjs/tooltip/tooltip.cjs +9 -9
  375. package/cjs/tooltip/tooltip.d.cts +3 -1
  376. package/cjs/tooltip/tooltip.d.ts +3 -1
  377. package/esm/__chunks/{7QTPYGNZ.js → 2P5JZHCE.js} +1 -1
  378. package/esm/__chunks/{FS2EVEJO.js → 4GO43MST.js} +8 -8
  379. package/esm/__chunks/{Y6467XPW.js → 53AZXSRJ.js} +1 -1
  380. package/esm/__chunks/{KK7H3W2B.js → 54DTKZT5.js} +1 -1
  381. package/esm/__chunks/{A6XC27R5.js → A2OYJMGS.js} +1 -1
  382. package/esm/__chunks/{NWCBQ4CV.js → BVNGIDQK.js} +1 -1
  383. package/esm/__chunks/{BHEJ6NUH.js → CM2MGWJJ.js} +1 -1
  384. package/esm/__chunks/{7NHUGSTF.js → E7J4UKND.js} +1 -1
  385. package/esm/__chunks/{EPBRINPG.js → EWG7ZSIX.js} +2 -2
  386. package/esm/__chunks/{3AHQ6JCP.js → H5L25YOA.js} +1 -1
  387. package/esm/__chunks/{NKXUN25E.js → H67RUTIW.js} +1 -1
  388. package/esm/__chunks/{7X4DYKYU.js → HKLZHXNQ.js} +1 -1
  389. package/esm/__chunks/{VDNZBO4W.js → JH4A3V7P.js} +1 -1
  390. package/esm/__chunks/{F6PRXTDU.js → O4GQD6D6.js} +1 -1
  391. package/esm/__chunks/{SU2GU5JB.js → OYQPK2TA.js} +1 -1
  392. package/esm/__chunks/{4ZEZYKUR.js → PHR7QED4.js} +1 -1
  393. package/esm/__chunks/{H3TG2CZP.js → PUBUTPR6.js} +1 -1
  394. package/esm/__chunks/{PGAEII2Q.js → SNX6RSV7.js} +5 -5
  395. package/esm/__chunks/{FGMA3QUS.js → ST3UVMBD.js} +1 -1
  396. package/esm/__chunks/{ZEXNX5JH.js → U5OL5Z27.js} +1 -1
  397. package/esm/__chunks/{UK7JL7PY.js → VR7H4JAI.js} +1 -1
  398. package/esm/__chunks/{QZLXIDNP.js → W7TET3D7.js} +1 -1
  399. package/esm/__chunks/{HHNFDKU2.js → WVGRWYXJ.js} +1 -1
  400. package/esm/__chunks/{JL6IRDFK.js → ZICNKKFD.js} +1 -1
  401. package/esm/button/button.d.ts +1 -1
  402. package/esm/button/button.js +3 -3
  403. package/esm/checkbox/checkbox-check.d.ts +17 -9
  404. package/esm/checkbox/checkbox-provider.d.ts +4 -2
  405. package/esm/checkbox/checkbox-provider.js +3 -3
  406. package/esm/checkbox/checkbox-store.d.ts +5 -3
  407. package/esm/checkbox/checkbox.d.ts +14 -9
  408. package/esm/checkbox/checkbox.js +3 -3
  409. package/esm/collection/collection-item.d.ts +23 -9
  410. package/esm/collection/collection-provider.d.ts +2 -1
  411. package/esm/collection/collection-renderer.d.ts +1 -1
  412. package/esm/collection/collection-store.d.ts +6 -3
  413. package/esm/collection/collection.d.ts +4 -3
  414. package/esm/combobox/combobox-cancel.d.ts +3 -2
  415. package/esm/combobox/combobox-cancel.js +3 -3
  416. package/esm/combobox/combobox-disclosure.d.ts +7 -2
  417. package/esm/combobox/combobox-disclosure.js +5 -5
  418. package/esm/combobox/combobox-group-label.d.ts +4 -4
  419. package/esm/combobox/combobox-group.d.ts +7 -3
  420. package/esm/combobox/combobox-item-check.d.ts +9 -16
  421. package/esm/combobox/combobox-item-value.d.ts +13 -8
  422. package/esm/combobox/combobox-item.d.ts +11 -9
  423. package/esm/combobox/combobox-item.js +3 -3
  424. package/esm/combobox/combobox-list.d.ts +1 -4
  425. package/esm/combobox/combobox-list.js +2 -2
  426. package/esm/combobox/combobox-popover.d.ts +2 -3
  427. package/esm/combobox/combobox-popover.js +7 -7
  428. package/esm/combobox/combobox-provider.d.ts +2 -1
  429. package/esm/combobox/combobox-row.d.ts +6 -3
  430. package/esm/combobox/combobox-separator.d.ts +4 -3
  431. package/esm/combobox/combobox-store.d.ts +11 -7
  432. package/esm/combobox/combobox.d.ts +45 -33
  433. package/esm/combobox/combobox.js +2 -2
  434. package/esm/command/command.d.ts +1 -1
  435. package/esm/command/command.js +2 -2
  436. package/esm/composite/composite-container.d.ts +18 -11
  437. package/esm/composite/composite-group-label.d.ts +18 -13
  438. package/esm/composite/composite-group.d.ts +20 -12
  439. package/esm/composite/composite-hover.d.ts +17 -8
  440. package/esm/composite/composite-input.d.ts +15 -9
  441. package/esm/composite/composite-item.d.ts +49 -9
  442. package/esm/composite/composite-item.js +3 -3
  443. package/esm/composite/composite-overflow-disclosure.js +7 -7
  444. package/esm/composite/composite-overflow.js +6 -6
  445. package/esm/composite/composite-provider.d.ts +2 -1
  446. package/esm/composite/composite-renderer.d.ts +1 -1
  447. package/esm/composite/composite-row.d.ts +26 -19
  448. package/esm/composite/composite-separator.d.ts +23 -10
  449. package/esm/composite/composite-store.d.ts +3 -1
  450. package/esm/composite/composite-typeahead.d.ts +20 -8
  451. package/esm/composite/composite.d.ts +65 -10
  452. package/esm/composite/composite.js +2 -2
  453. package/esm/dialog/dialog-disclosure.d.ts +2 -1
  454. package/esm/dialog/dialog-disclosure.js +5 -5
  455. package/esm/dialog/dialog-dismiss.d.ts +2 -1
  456. package/esm/dialog/dialog-dismiss.js +4 -4
  457. package/esm/dialog/dialog-provider.d.ts +2 -1
  458. package/esm/dialog/dialog-store.d.ts +3 -1
  459. package/esm/dialog/dialog.d.ts +51 -20
  460. package/esm/dialog/dialog.js +5 -5
  461. package/esm/dialog/utils/disable-tree.js +2 -2
  462. package/esm/dialog/utils/use-hide-on-interact-outside.js +1 -1
  463. package/esm/disclosure/disclosure-content.d.ts +6 -5
  464. package/esm/disclosure/disclosure-provider.d.ts +2 -1
  465. package/esm/disclosure/disclosure-store.d.ts +6 -4
  466. package/esm/disclosure/disclosure.d.ts +3 -2
  467. package/esm/disclosure/disclosure.js +4 -4
  468. package/esm/focus-trap/focus-trap-region.d.ts +4 -2
  469. package/esm/focusable/focusable-container.d.ts +7 -5
  470. package/esm/focusable/focusable.d.ts +5 -2
  471. package/esm/focusable/focusable.js +1 -1
  472. package/esm/form/form-checkbox.d.ts +6 -4
  473. package/esm/form/form-checkbox.js +9 -9
  474. package/esm/form/form-control.d.ts +93 -0
  475. package/esm/form/form-control.js +16 -0
  476. package/esm/form/form-description.d.ts +14 -3
  477. package/esm/form/form-error.d.ts +11 -4
  478. package/esm/form/form-field.d.ts +16 -30
  479. package/esm/form/form-field.js +19 -4
  480. package/esm/form/form-group-label.d.ts +6 -4
  481. package/esm/form/form-group.d.ts +6 -2
  482. package/esm/form/form-input.d.ts +7 -6
  483. package/esm/form/form-input.js +4 -4
  484. package/esm/form/form-label.d.ts +18 -7
  485. package/esm/form/form-provider.d.ts +2 -1
  486. package/esm/form/form-push.d.ts +17 -3
  487. package/esm/form/form-push.js +3 -3
  488. package/esm/form/form-radio-group.d.ts +7 -2
  489. package/esm/form/form-radio.d.ts +8 -4
  490. package/esm/form/form-radio.js +7 -7
  491. package/esm/form/form-remove.d.ts +17 -2
  492. package/esm/form/form-remove.js +3 -3
  493. package/esm/form/form-reset.d.ts +5 -2
  494. package/esm/form/form-reset.js +3 -3
  495. package/esm/form/form-store.d.ts +31 -14
  496. package/esm/form/form-submit.d.ts +8 -2
  497. package/esm/form/form-submit.js +3 -3
  498. package/esm/form/form.d.ts +37 -11
  499. package/esm/group/group-label.d.ts +3 -2
  500. package/esm/group/group.d.ts +3 -1
  501. package/esm/heading/heading-level.d.ts +4 -2
  502. package/esm/heading/heading.d.ts +4 -3
  503. package/esm/hovercard/hovercard-anchor.d.ts +5 -2
  504. package/esm/hovercard/hovercard-anchor.js +2 -2
  505. package/esm/hovercard/hovercard-arrow.d.ts +4 -2
  506. package/esm/hovercard/hovercard-description.d.ts +2 -2
  507. package/esm/hovercard/hovercard-disclosure.d.ts +1 -1
  508. package/esm/hovercard/hovercard-disclosure.js +5 -5
  509. package/esm/hovercard/hovercard-dismiss.d.ts +3 -2
  510. package/esm/hovercard/hovercard-dismiss.js +6 -6
  511. package/esm/hovercard/hovercard-heading.d.ts +2 -2
  512. package/esm/hovercard/hovercard-provider.d.ts +2 -1
  513. package/esm/hovercard/hovercard-store.d.ts +2 -1
  514. package/esm/hovercard/hovercard.d.ts +20 -8
  515. package/esm/hovercard/hovercard.js +7 -7
  516. package/esm/menu/menu-arrow.d.ts +4 -2
  517. package/esm/menu/menu-bar.d.ts +1 -2
  518. package/esm/menu/menu-bar.js +3 -3
  519. package/esm/menu/menu-button-arrow.d.ts +9 -4
  520. package/esm/menu/menu-button.d.ts +8 -7
  521. package/esm/menu/menu-button.js +7 -7
  522. package/esm/menu/menu-description.d.ts +2 -2
  523. package/esm/menu/menu-dismiss.d.ts +3 -2
  524. package/esm/menu/menu-dismiss.js +6 -6
  525. package/esm/menu/menu-group-label.d.ts +4 -4
  526. package/esm/menu/menu-group.d.ts +5 -2
  527. package/esm/menu/menu-heading.d.ts +3 -2
  528. package/esm/menu/menu-item-check.d.ts +10 -18
  529. package/esm/menu/menu-item-checkbox.d.ts +38 -6
  530. package/esm/menu/menu-item-checkbox.js +8 -8
  531. package/esm/menu/menu-item-radio.d.ts +21 -9
  532. package/esm/menu/menu-item-radio.js +5 -5
  533. package/esm/menu/menu-item.d.ts +10 -11
  534. package/esm/menu/menu-item.js +4 -4
  535. package/esm/menu/menu-list.d.ts +7 -2
  536. package/esm/menu/menu-list.js +3 -3
  537. package/esm/menu/menu-provider.d.ts +2 -1
  538. package/esm/menu/menu-separator.d.ts +5 -2
  539. package/esm/menu/menu-store.d.ts +18 -7
  540. package/esm/menu/menu.d.ts +8 -2
  541. package/esm/menu/menu.js +9 -9
  542. package/esm/menubar/menubar-provider.d.ts +2 -1
  543. package/esm/menubar/menubar-store.d.ts +3 -1
  544. package/esm/menubar/menubar.d.ts +3 -2
  545. package/esm/menubar/menubar.js +3 -3
  546. package/esm/popover/popover-anchor.d.ts +4 -3
  547. package/esm/popover/popover-arrow.d.ts +6 -2
  548. package/esm/popover/popover-description.d.ts +1 -1
  549. package/esm/popover/popover-disclosure-arrow.d.ts +6 -4
  550. package/esm/popover/popover-disclosure.d.ts +3 -2
  551. package/esm/popover/popover-disclosure.js +6 -6
  552. package/esm/popover/popover-dismiss.d.ts +1 -1
  553. package/esm/popover/popover-dismiss.js +5 -5
  554. package/esm/popover/popover-heading.d.ts +1 -1
  555. package/esm/popover/popover-provider.d.ts +2 -1
  556. package/esm/popover/popover-store.d.ts +2 -1
  557. package/esm/popover/popover.d.ts +8 -3
  558. package/esm/popover/popover.js +6 -6
  559. package/esm/portal/portal.d.ts +18 -1
  560. package/esm/radio/radio-group.d.ts +8 -6
  561. package/esm/radio/radio-group.js +2 -2
  562. package/esm/radio/radio-provider.d.ts +2 -1
  563. package/esm/radio/radio-store.d.ts +6 -2
  564. package/esm/radio/radio.d.ts +21 -13
  565. package/esm/radio/radio.js +4 -4
  566. package/esm/role/role.d.ts +3 -3
  567. package/esm/select/select-group-label.d.ts +2 -2
  568. package/esm/select/select-group.d.ts +4 -1
  569. package/esm/select/select-item-check.d.ts +9 -15
  570. package/esm/select/select-item.d.ts +1 -5
  571. package/esm/select/select-item.js +3 -3
  572. package/esm/select/select-list.d.ts +7 -4
  573. package/esm/select/select-list.js +3 -3
  574. package/esm/select/select-popover.js +8 -8
  575. package/esm/select/select-provider.d.ts +2 -1
  576. package/esm/select/select-renderer.d.ts +1 -1
  577. package/esm/select/select-row.d.ts +4 -1
  578. package/esm/select/select-separator.d.ts +2 -1
  579. package/esm/select/select-store.d.ts +17 -10
  580. package/esm/select/select.d.ts +25 -15
  581. package/esm/select/select.js +14 -12
  582. package/esm/tab/tab-list.d.ts +2 -1
  583. package/esm/tab/tab-list.js +2 -2
  584. package/esm/tab/tab-panel.d.ts +19 -3
  585. package/esm/tab/tab-panel.js +1 -1
  586. package/esm/tab/tab-provider.d.ts +1 -1
  587. package/esm/tab/tab-store.d.ts +3 -1
  588. package/esm/tab/tab.d.ts +2 -2
  589. package/esm/tab/tab.js +3 -3
  590. package/esm/toolbar/toolbar-container.d.ts +1 -1
  591. package/esm/toolbar/toolbar-container.js +4 -4
  592. package/esm/toolbar/toolbar-input.d.ts +2 -1
  593. package/esm/toolbar/toolbar-input.js +4 -4
  594. package/esm/toolbar/toolbar-item.d.ts +2 -1
  595. package/esm/toolbar/toolbar-item.js +4 -4
  596. package/esm/toolbar/toolbar-provider.d.ts +2 -1
  597. package/esm/toolbar/toolbar-separator.d.ts +2 -1
  598. package/esm/toolbar/toolbar-store.d.ts +3 -1
  599. package/esm/toolbar/toolbar.js +2 -2
  600. package/esm/tooltip/tooltip-anchor.d.ts +3 -3
  601. package/esm/tooltip/tooltip-anchor.js +2 -2
  602. package/esm/tooltip/tooltip-arrow.d.ts +1 -1
  603. package/esm/tooltip/tooltip-provider.d.ts +2 -1
  604. package/esm/tooltip/tooltip-store.d.ts +3 -1
  605. package/esm/tooltip/tooltip.d.ts +3 -1
  606. package/esm/tooltip/tooltip.js +7 -7
  607. package/form/form-control/package.json +8 -0
  608. package/package.json +9 -2
  609. package/cjs/__chunks/{NKR65BKC.cjs → KSPMHEYZ.cjs} +3 -3
  610. package/esm/__chunks/{CLF4PQ7T.js → TQYOGOE2.js} +3 -3
@@ -1,16 +1,12 @@
1
- import type { FocusEvent } from "react";
2
- import type { StringLike } from "@ariakit/core/form/types";
3
- import type { BooleanOrCallback } from "@ariakit/core/utils/types";
4
- import type { CollectionItemOptions } from "../collection/collection-item.js";
5
1
  import type { As, Props } from "../utils/types.js";
6
- import type { FormStore } from "./form-store.js";
2
+ import type { FormControlOptions } from "./form-control.js";
7
3
  /**
8
4
  * Returns props to create a `FormField` component. Unlike `useFormInput`, this
9
5
  * hook doesn't automatically returns the `value` and `onChange` props. This is
10
6
  * so we can use it not only for native form elements but also for custom
11
7
  * components whose value is not controlled by the native `value` and `onChange`
12
8
  * props.
13
- * @see https://ariakit.org/components/form
9
+ * @deprecated Use `useFormControl` instead.
14
10
  * @example
15
11
  * ```jsx
16
12
  * const store = useFormStore({ defaultValues: { content: "" } });
@@ -30,15 +26,18 @@ import type { FormStore } from "./form-store.js";
30
26
  */
31
27
  export declare const useFormField: import("../utils/types.js").Hook<FormFieldOptions<"input">>;
32
28
  /**
33
- * Renders a form field. Unlike
29
+ * Abstract component that renders a form field. Unlike
34
30
  * [`FormInput`](https://ariakit.org/reference/form-input), this component
35
31
  * doesn't automatically pass the `value` and `onChange` props down to the
36
32
  * underlying element. This is so we can use it not only for native form
37
33
  * elements but also for custom components whose value is not controlled by the
38
34
  * native `value` and `onChange` props.
39
- * @see https://ariakit.org/components/form
35
+ * @deprecated
36
+ * This component has been renamed to
37
+ * [`FormControl`](https://ariakit.org/reference/form-control). The API remains
38
+ * the same.
40
39
  * @example
41
- * ```jsx
40
+ * ```jsx {11-19}
42
41
  * const form = useFormStore({
43
42
  * defaultValues: {
44
43
  * content: "",
@@ -50,31 +49,18 @@ export declare const useFormField: import("../utils/types.js").Hook<FormFieldOpt
50
49
  * <Form store={form}>
51
50
  * <FormLabel name={form.names.content}>Content</FormLabel>
52
51
  * <FormField
53
- * value={value}
54
- * onChange={(value) => form.setValue(form.names.content, value)}
55
- * render={<Editor />}
52
+ * name={form.names.content}
53
+ * render={
54
+ * <Editor
55
+ * value={value}
56
+ * onChange={(value) => form.setValue(form.names.content, value)}
57
+ * />
58
+ * }
56
59
  * />
57
60
  * </Form>
58
61
  * ```
59
62
  */
60
63
  export declare const FormField: import("../utils/types.js").Component<FormFieldOptions<"input">>;
61
- export interface FormFieldOptions<T extends As = "input"> extends CollectionItemOptions<T> {
62
- /**
63
- * Object returned by the
64
- * [`useFormStore`](https://ariakit.org/reference/use-form-store) hook. If not
65
- * provided, the closest [`Form`](https://ariakit.org/reference/form) or
66
- * [`FormProvider`](https://ariakit.org/reference/form-provider) components'
67
- * context will be used.
68
- */
69
- store?: FormStore;
70
- /**
71
- * Name of the field.
72
- */
73
- name: StringLike;
74
- /**
75
- * Whether the field should be marked touched on blur.
76
- * @default true
77
- */
78
- touchOnBlur?: BooleanOrCallback<FocusEvent>;
64
+ export interface FormFieldOptions<T extends As = "input"> extends FormControlOptions<T> {
79
65
  }
80
66
  export type FormFieldProps<T extends As = "input"> = Props<FormFieldOptions<T>>;
@@ -15,18 +15,20 @@ import type { FormStore } from "./form-store.js";
15
15
  */
16
16
  export declare const useFormGroupLabel: import("../utils/types.js").Hook<FormGroupLabelOptions<"div">>;
17
17
  /**
18
- * Renders a label in a form group. This component must be wrapped with
19
- * [`FormGroup`](https://ariakit.org/reference/form-group) so the
20
- * `aria-labelledby` prop is properly set on the form group element.
18
+ * Renders a label in a form group. This component must be wrapped with the
19
+ * [`FormGroup`](https://ariakit.org/reference/form-group) or
20
+ * [`FormRadioGroup`](https://ariakit.org/reference/form-radio-group) components
21
+ * so the `aria-labelledby` prop is properly set on the form group element.
21
22
  * @see https://ariakit.org/components/form
22
23
  * @example
23
- * ```jsx
24
+ * ```jsx {10}
24
25
  * const form = useFormStore({
25
26
  * defaultValues: {
26
27
  * username: "",
27
28
  * email: "",
28
29
  * },
29
30
  * });
31
+ *
30
32
  * <Form store={form}>
31
33
  * <FormGroup>
32
34
  * <FormGroupLabel>Account</FormGroupLabel>
@@ -15,18 +15,20 @@ import type { FormStore } from "./form-store.js";
15
15
  */
16
16
  export declare const useFormGroupLabel: import("../utils/types.js").Hook<FormGroupLabelOptions<"div">>;
17
17
  /**
18
- * Renders a label in a form group. This component must be wrapped with
19
- * [`FormGroup`](https://ariakit.org/reference/form-group) so the
20
- * `aria-labelledby` prop is properly set on the form group element.
18
+ * Renders a label in a form group. This component must be wrapped with the
19
+ * [`FormGroup`](https://ariakit.org/reference/form-group) or
20
+ * [`FormRadioGroup`](https://ariakit.org/reference/form-radio-group) components
21
+ * so the `aria-labelledby` prop is properly set on the form group element.
21
22
  * @see https://ariakit.org/components/form
22
23
  * @example
23
- * ```jsx
24
+ * ```jsx {10}
24
25
  * const form = useFormStore({
25
26
  * defaultValues: {
26
27
  * username: "",
27
28
  * email: "",
28
29
  * },
29
30
  * });
31
+ *
30
32
  * <Form store={form}>
31
33
  * <FormGroup>
32
34
  * <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>
@@ -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');
@@ -9,7 +9,7 @@ require('../__chunks/R5A2WTWB.cjs');
9
9
  require('../__chunks/BZTDJIVT.cjs');
10
10
 
11
11
 
12
- var _Z3GCTNW4cjs = require('../__chunks/Z3GCTNW4.cjs');
12
+ var _VUEWHLYHcjs = require('../__chunks/VUEWHLYH.cjs');
13
13
  require('../__chunks/75KXQZJX.cjs');
14
14
 
15
15
 
@@ -51,8 +51,8 @@ var useFormInput = _RNZNGEL4cjs.createHook.call(void 0,
51
51
  }, props), {
52
52
  onChange
53
53
  });
54
- props = _Z3GCTNW4cjs.useFocusable.call(void 0, props);
55
- props = _VCDQISP7cjs.useFormField.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { store, name }, props));
54
+ props = _VUEWHLYHcjs.useFocusable.call(void 0, 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
@@ -4,13 +4,13 @@
4
4
  var _FROYTN4Bcjs = require('../__chunks/FROYTN4B.cjs');
5
5
 
6
6
 
7
- var _5UTRYT6Ecjs = require('../__chunks/5UTRYT6E.cjs');
8
- require('../__chunks/DAJUUBUI.cjs');
7
+ var _REJALU3Pcjs = require('../__chunks/REJALU3P.cjs');
8
+ require('../__chunks/OSTQZD2E.cjs');
9
9
 
10
10
 
11
11
  var _R5A2WTWBcjs = require('../__chunks/R5A2WTWB.cjs');
12
12
  require('../__chunks/BZTDJIVT.cjs');
13
- require('../__chunks/Z3GCTNW4.cjs');
13
+ require('../__chunks/VUEWHLYH.cjs');
14
14
  require('../__chunks/75KXQZJX.cjs');
15
15
 
16
16
 
@@ -104,7 +104,7 @@ var useFormPush = _RNZNGEL4cjs.createHook.call(void 0,
104
104
  props = _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {}, props), {
105
105
  onClick
106
106
  });
107
- props = _5UTRYT6Ecjs.useButton.call(void 0, props);
107
+ props = _REJALU3Pcjs.useButton.call(void 0, props);
108
108
  props = _R5A2WTWBcjs.useCollectionItem.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { store }, props), { getItem }));
109
109
  return props;
110
110
  }
@@ -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,21 +1,21 @@
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');
8
8
 
9
9
 
10
- var _G2ZXRZ2Rcjs = require('../__chunks/G2ZXRZ2R.cjs');
10
+ var _MMRX6FNScjs = require('../__chunks/MMRX6FNS.cjs');
11
11
  require('../__chunks/HEEQY4DZ.cjs');
12
- require('../__chunks/IO6J4PAN.cjs');
13
- require('../__chunks/DAJUUBUI.cjs');
12
+ require('../__chunks/GSETTLOU.cjs');
13
+ require('../__chunks/OSTQZD2E.cjs');
14
14
  require('../__chunks/R5A2WTWB.cjs');
15
15
  require('../__chunks/6ZZYUFPW.cjs');
16
16
  require('../__chunks/UZNYSPKP.cjs');
17
17
  require('../__chunks/BZTDJIVT.cjs');
18
- require('../__chunks/Z3GCTNW4.cjs');
18
+ require('../__chunks/VUEWHLYH.cjs');
19
19
  require('../__chunks/75KXQZJX.cjs');
20
20
 
21
21
 
@@ -60,8 +60,8 @@ var useFormRadio = _RNZNGEL4cjs.createHook.call(void 0,
60
60
  checked,
61
61
  onChange
62
62
  });
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, {
63
+ props = _MMRX6FNScjs.useRadio.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { value }, props));
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>>;