@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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @ariakit/react-core
2
2
 
3
+ ## 0.3.14
4
+
5
+ - Fixed a regression introduced in `v0.3.13` where dialogs wouldn't close when clicking outside on iOS.
6
+
7
+ ## 0.3.13
8
+
9
+ ### Improved performance of large collections
10
+
11
+ Components like [`MenuItem`](https://ariakit.org/reference/menu-item), [`ComboboxItem`](https://ariakit.org/reference/combobox-item), and [`SelectItem`](https://ariakit.org/reference/select-item) should now offer improved performance when rendering large collections.
12
+
13
+ ### New `FormControl` component
14
+
15
+ This version introduces a new [`FormControl`](https://ariakit.org/reference/form-control) component. In future versions, this will replace the [`FormField`](https://ariakit.org/reference/form-field) component.
16
+
17
+ ### Other updates
18
+
19
+ - Adjusted the focus behavior in Safari to occur prior to the `pointerup` event instead of `mouseup`.
20
+ - Improved JSDocs.
21
+ - Updated dependencies: `@ariakit/core@0.3.11`
22
+
3
23
  ## 0.3.12
4
24
 
5
25
  - The auto-select feature on [Combobox](https://ariakit.org/components/combobox) now resets with each keystroke.
@@ -6,10 +6,10 @@
6
6
  var _KXQOQQ5Bcjs = require('./KXQOQQ5B.cjs');
7
7
 
8
8
 
9
- var _KDG57VZVcjs = require('./KDG57VZV.cjs');
9
+ var _OUEE5HOScjs = require('./OUEE5HOS.cjs');
10
10
 
11
11
 
12
- var _EKB76T2Ucjs = require('./EKB76T2U.cjs');
12
+ var _ZL5DC555cjs = require('./ZL5DC555.cjs');
13
13
 
14
14
 
15
15
 
@@ -283,7 +283,7 @@ var useHovercard = _RNZNGEL4cjs.createHook.call(void 0,
283
283
  const autoFocusOnShow = store.useState(
284
284
  (state) => modal || state.autoFocusOnShow
285
285
  );
286
- props = _KDG57VZVcjs.usePopover.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
286
+ props = _OUEE5HOScjs.usePopover.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
287
287
  store,
288
288
  modal,
289
289
  portal,
@@ -304,7 +304,7 @@ var useHovercard = _RNZNGEL4cjs.createHook.call(void 0,
304
304
  return props;
305
305
  }
306
306
  );
307
- var Hovercard = _EKB76T2Ucjs.createDialogComponent.call(void 0,
307
+ var Hovercard = _ZL5DC555cjs.createDialogComponent.call(void 0,
308
308
  _RNZNGEL4cjs.createComponent.call(void 0, (props) => {
309
309
  const htmlProps = useHovercard(props);
310
310
  return _RNZNGEL4cjs.createElement.call(void 0, "div", htmlProps);
@@ -22,7 +22,7 @@ var _EO6LS72Hcjs = require('./EO6LS72H.cjs');
22
22
 
23
23
  var _AV6KTKLEcjs = require('./AV6KTKLE.cjs');
24
24
 
25
- // src/form/form-field.ts
25
+ // src/form/form-control.ts
26
26
  var _react = require('react');
27
27
  var _dom = require('@ariakit/core/utils/dom');
28
28
  var _misc = require('@ariakit/core/utils/misc');
@@ -43,7 +43,7 @@ function useItem(store, name, type) {
43
43
  (state) => state.items.find((item) => item.type === type && item.name === name)
44
44
  );
45
45
  }
46
- var useFormField = _RNZNGEL4cjs.createHook.call(void 0,
46
+ var useFormControl = _RNZNGEL4cjs.createHook.call(void 0,
47
47
  (_a) => {
48
48
  var _b = _a, {
49
49
  store,
@@ -60,7 +60,7 @@ var useFormField = _RNZNGEL4cjs.createHook.call(void 0,
60
60
  store = store || context;
61
61
  _misc.invariant.call(void 0,
62
62
  store,
63
- process.env.NODE_ENV !== "production" && "FormField must be wrapped in a Form component."
63
+ process.env.NODE_ENV !== "production" && "FormControl must be wrapped in a Form component."
64
64
  );
65
65
  const name = `${nameProp}`;
66
66
  const id = _EO6LS72Hcjs.useId.call(void 0, props.id);
@@ -118,15 +118,15 @@ var useFormField = _RNZNGEL4cjs.createHook.call(void 0,
118
118
  return props;
119
119
  }
120
120
  );
121
- var FormField = _RNZNGEL4cjs.createMemoComponent.call(void 0, (props) => {
122
- const htmlProps = useFormField(props);
121
+ var FormControl = _RNZNGEL4cjs.createMemoComponent.call(void 0, (props) => {
122
+ const htmlProps = useFormControl(props);
123
123
  return _RNZNGEL4cjs.createElement.call(void 0, "input", htmlProps);
124
124
  });
125
125
  if (process.env.NODE_ENV !== "production") {
126
- FormField.displayName = "FormField";
126
+ FormControl.displayName = "FormControl";
127
127
  }
128
128
 
129
129
 
130
130
 
131
131
 
132
- exports.useFormField = useFormField; exports.FormField = FormField;
132
+ exports.useFormControl = useFormControl; exports.FormControl = FormControl;
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _EKB76T2Ucjs = require('./EKB76T2U.cjs');
5
+ var _ZL5DC555cjs = require('./ZL5DC555.cjs');
6
6
 
7
7
 
8
8
 
@@ -356,7 +356,7 @@ var usePopover = _RNZNGEL4cjs.createHook.call(void 0,
356
356
  position: "relative"
357
357
  }, props.style)
358
358
  });
359
- props = _EKB76T2Ucjs.useDialog.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
359
+ props = _ZL5DC555cjs.useDialog.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
360
360
  store,
361
361
  modal,
362
362
  portal,
@@ -369,7 +369,7 @@ var usePopover = _RNZNGEL4cjs.createHook.call(void 0,
369
369
  return props;
370
370
  }
371
371
  );
372
- var Popover = _EKB76T2Ucjs.createDialogComponent.call(void 0,
372
+ var Popover = _ZL5DC555cjs.createDialogComponent.call(void 0,
373
373
  _RNZNGEL4cjs.createComponent.call(void 0, (props) => {
374
374
  const htmlProps = usePopover(props);
375
375
  return _RNZNGEL4cjs.createElement.call(void 0, "div", htmlProps);
@@ -5,7 +5,7 @@ var _WZ3DRKGPcjs = require('./WZ3DRKGP.cjs');
5
5
 
6
6
 
7
7
 
8
- var _NKR65BKCcjs = require('./NKR65BKC.cjs');
8
+ var _KSPMHEYZcjs = require('./KSPMHEYZ.cjs');
9
9
 
10
10
 
11
11
  var _344F3DYOcjs = require('./344F3DYO.cjs');
@@ -21,10 +21,10 @@ var _JVDUGICDcjs = require('./JVDUGICD.cjs');
21
21
  var _VV6WA3I6cjs = require('./VV6WA3I6.cjs');
22
22
 
23
23
 
24
- var _JF225FQ5cjs = require('./JF225FQ5.cjs');
24
+ var _5GTNIPQ6cjs = require('./5GTNIPQ6.cjs');
25
25
 
26
26
 
27
- var _5GTNIPQ6cjs = require('./5GTNIPQ6.cjs');
27
+ var _JF225FQ5cjs = require('./JF225FQ5.cjs');
28
28
 
29
29
 
30
30
  var _7566TIRWcjs = require('./7566TIRW.cjs');
@@ -266,7 +266,7 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
266
266
  const dialog = ref.current;
267
267
  if (!dialog)
268
268
  return;
269
- return _NKR65BKCcjs.disableTree.call(void 0, dialog);
269
+ return _KSPMHEYZcjs.disableTree.call(void 0, dialog);
270
270
  }, [open, mounted, domReady]);
271
271
  const canTakeTreeSnapshot = open && domReady;
272
272
  _EO6LS72Hcjs.useSafeLayoutEffect.call(void 0, () => {
@@ -294,7 +294,7 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
294
294
  if (modal) {
295
295
  return _misc.chain.call(void 0,
296
296
  _VV6WA3I6cjs.markTreeOutside.call(void 0, id, allElements),
297
- _NKR65BKCcjs.disableTreeOutside.call(void 0, id, allElements)
297
+ _KSPMHEYZcjs.disableTreeOutside.call(void 0, id, allElements)
298
298
  );
299
299
  }
300
300
  return _VV6WA3I6cjs.markTreeOutside.call(void 0, id, [disclosureElement, ...allElements]);
@@ -18,7 +18,7 @@ export declare const useButton: import("../utils/types.js").Hook<ButtonOptions<"
18
18
  * @see https://ariakit.org/components/button
19
19
  * @example
20
20
  * ```jsx
21
- * <Button render={<div />}>Accessible button</Button>
21
+ * <Button>Button</Button>
22
22
  * ```
23
23
  */
24
24
  export declare const Button: import("../utils/types.js").Component<ButtonOptions<"button">>;
@@ -18,7 +18,7 @@ export declare const useButton: import("../utils/types.js").Hook<ButtonOptions<"
18
18
  * @see https://ariakit.org/components/button
19
19
  * @example
20
20
  * ```jsx
21
- * <Button render={<div />}>Accessible button</Button>
21
+ * <Button>Button</Button>
22
22
  * ```
23
23
  */
24
24
  export declare const Button: import("../utils/types.js").Component<ButtonOptions<"button">>;
@@ -12,7 +12,14 @@ import type { CheckboxStore } from "./checkbox-store.js";
12
12
  */
13
13
  export declare const useCheckboxCheck: import("../utils/types.js").Hook<CheckboxCheckOptions<"span">>;
14
14
  /**
15
- * Renders a check mark icon, usually inside a `Checkbox` component.
15
+ * Renders a checkmark icon when the
16
+ * [`checked`](https://ariakit.org/reference/checkbox-check#checked) prop is
17
+ * `true`. The icon can be overridden by providing a different one as children.
18
+ *
19
+ * When rendered inside a [`Checkbox`](https://ariakit.org/reference/checkbox)
20
+ * component, the
21
+ * [`checked`](https://ariakit.org/reference/checkbox-check#checked) prop is
22
+ * automatically derived from the context.
16
23
  * @see https://ariakit.org/components/checkbox
17
24
  * @example
18
25
  * ```jsx
@@ -22,18 +29,19 @@ export declare const useCheckboxCheck: import("../utils/types.js").Hook<Checkbox
22
29
  export declare const CheckboxCheck: import("../utils/types.js").Component<CheckboxCheckOptions<"span">>;
23
30
  export interface CheckboxCheckOptions<T extends As = "span"> extends Options<T> {
24
31
  /**
25
- * Object returned by the `useCheckboxStore` hook. If not provided, the parent
26
- * `Checkbox` component's context will be used. If the `checked` prop is
27
- * provided, it will override this prop.
32
+ * Object returned by the
33
+ * [`useCheckboxStore`](https://ariakit.org/reference/use-checkbox-store)
34
+ * hook.
28
35
  */
29
36
  store?: CheckboxStore;
30
37
  /**
31
- * Determines if the check mark should be displayed. This value is
32
- * automatically derived from the
33
- * [`store`](https://ariakit.org/reference/checkbox-check#store) prop or the
34
- * parent [`Checkbox`](https://ariakit.org/reference/checkbox) component.
38
+ * Determines if the checkmark should be rendered. This value is automatically
39
+ * derived from the context when it exists. Manually setting this prop will
40
+ * supersede the derived value.
35
41
  *
36
- * Manually setting this prop will supersede the derived value.
42
+ * Live examples:
43
+ * - [Submenu with
44
+ * Combobox](https://ariakit.org/examples/menu-nested-combobox)
37
45
  */
38
46
  checked?: boolean;
39
47
  }
@@ -12,7 +12,14 @@ import type { CheckboxStore } from "./checkbox-store.js";
12
12
  */
13
13
  export declare const useCheckboxCheck: import("../utils/types.js").Hook<CheckboxCheckOptions<"span">>;
14
14
  /**
15
- * Renders a check mark icon, usually inside a `Checkbox` component.
15
+ * Renders a checkmark icon when the
16
+ * [`checked`](https://ariakit.org/reference/checkbox-check#checked) prop is
17
+ * `true`. The icon can be overridden by providing a different one as children.
18
+ *
19
+ * When rendered inside a [`Checkbox`](https://ariakit.org/reference/checkbox)
20
+ * component, the
21
+ * [`checked`](https://ariakit.org/reference/checkbox-check#checked) prop is
22
+ * automatically derived from the context.
16
23
  * @see https://ariakit.org/components/checkbox
17
24
  * @example
18
25
  * ```jsx
@@ -22,18 +29,19 @@ export declare const useCheckboxCheck: import("../utils/types.js").Hook<Checkbox
22
29
  export declare const CheckboxCheck: import("../utils/types.js").Component<CheckboxCheckOptions<"span">>;
23
30
  export interface CheckboxCheckOptions<T extends As = "span"> extends Options<T> {
24
31
  /**
25
- * Object returned by the `useCheckboxStore` hook. If not provided, the parent
26
- * `Checkbox` component's context will be used. If the `checked` prop is
27
- * provided, it will override this prop.
32
+ * Object returned by the
33
+ * [`useCheckboxStore`](https://ariakit.org/reference/use-checkbox-store)
34
+ * hook.
28
35
  */
29
36
  store?: CheckboxStore;
30
37
  /**
31
- * Determines if the check mark should be displayed. This value is
32
- * automatically derived from the
33
- * [`store`](https://ariakit.org/reference/checkbox-check#store) prop or the
34
- * parent [`Checkbox`](https://ariakit.org/reference/checkbox) component.
38
+ * Determines if the checkmark should be rendered. This value is automatically
39
+ * derived from the context when it exists. Manually setting this prop will
40
+ * supersede the derived value.
35
41
  *
36
- * Manually setting this prop will supersede the derived value.
42
+ * Live examples:
43
+ * - [Submenu with
44
+ * Combobox](https://ariakit.org/examples/menu-nested-combobox)
37
45
  */
38
46
  checked?: boolean;
39
47
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _63UPRTFZcjs = require('../__chunks/63UPRTFZ.cjs');
4
+ var _VPQQSYH7cjs = require('../__chunks/VPQQSYH7.cjs');
5
5
 
6
6
 
7
- var _VPQQSYH7cjs = require('../__chunks/VPQQSYH7.cjs');
7
+ var _63UPRTFZcjs = require('../__chunks/63UPRTFZ.cjs');
8
8
  require('../__chunks/RNZNGEL4.cjs');
9
9
  require('../__chunks/OLOZ5JT2.cjs');
10
10
  require('../__chunks/EO6LS72H.cjs');
@@ -3,8 +3,10 @@ import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { CheckboxStoreProps, CheckboxStoreValue } from "./checkbox-store.js";
4
4
  type Value = CheckboxStoreValue;
5
5
  /**
6
- * Provides a checkbox store to its descendants. This is useful to create a
7
- * group of checkboxes that share the same store.
6
+ * Provides a checkbox store for its descendants. This comes in handy when
7
+ * creating a group of checkboxes that share the same state. `CheckboxProvider`
8
+ * can efficiently manage the value of a checkbox, whether it's a single string,
9
+ * number, or boolean value, or an array of such values.
8
10
  * @see https://ariakit.org/components/checkbox
9
11
  * @example
10
12
  * ```jsx
@@ -3,8 +3,10 @@ import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { CheckboxStoreProps, CheckboxStoreValue } from "./checkbox-store.js";
4
4
  type Value = CheckboxStoreValue;
5
5
  /**
6
- * Provides a checkbox store to its descendants. This is useful to create a
7
- * group of checkboxes that share the same store.
6
+ * Provides a checkbox store for its descendants. This comes in handy when
7
+ * creating a group of checkboxes that share the same state. `CheckboxProvider`
8
+ * can efficiently manage the value of a checkbox, whether it's a single string,
9
+ * number, or boolean value, or an array of such values.
8
10
  * @see https://ariakit.org/components/checkbox
9
11
  * @example
10
12
  * ```jsx
@@ -3,7 +3,8 @@ import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { Store } from "../utils/store.js";
4
4
  export declare function useCheckboxStoreProps<T extends Core.CheckboxStore>(store: T, update: () => void, props: CheckboxStoreProps): T;
5
5
  /**
6
- * Creates a checkbox store.
6
+ * Creates a checkbox store to conveniently manage a checkbox value,
7
+ * whether it's a string, number, boolean, or an array of strings or numbers.
7
8
  * @see https://ariakit.org/components/checkbox
8
9
  * @example
9
10
  * ```jsx
@@ -18,8 +19,9 @@ export type CheckboxStoreState<T extends CheckboxStoreValue = CheckboxStoreValue
18
19
  export type CheckboxStoreFunctions<T extends CheckboxStoreValue = CheckboxStoreValue> = Core.CheckboxStoreFunctions<T>;
19
20
  export interface CheckboxStoreOptions<T extends CheckboxStoreValue = CheckboxStoreValue> extends Core.CheckboxStoreOptions<T> {
20
21
  /**
21
- * A callback that gets called when the `value` state changes.
22
- * @param value The new value.
22
+ * A callback that gets called when the
23
+ * [`value`](https://ariakit.org/reference/checkbox-provider#value) state
24
+ * changes.
23
25
  * @example
24
26
  * function MyCheckbox({ value, onChange }) {
25
27
  * const checkbox = useCheckboxStore({ value, setValue: onChange });
@@ -3,7 +3,8 @@ import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { Store } from "../utils/store.js";
4
4
  export declare function useCheckboxStoreProps<T extends Core.CheckboxStore>(store: T, update: () => void, props: CheckboxStoreProps): T;
5
5
  /**
6
- * Creates a checkbox store.
6
+ * Creates a checkbox store to conveniently manage a checkbox value,
7
+ * whether it's a string, number, boolean, or an array of strings or numbers.
7
8
  * @see https://ariakit.org/components/checkbox
8
9
  * @example
9
10
  * ```jsx
@@ -18,8 +19,9 @@ export type CheckboxStoreState<T extends CheckboxStoreValue = CheckboxStoreValue
18
19
  export type CheckboxStoreFunctions<T extends CheckboxStoreValue = CheckboxStoreValue> = Core.CheckboxStoreFunctions<T>;
19
20
  export interface CheckboxStoreOptions<T extends CheckboxStoreValue = CheckboxStoreValue> extends Core.CheckboxStoreOptions<T> {
20
21
  /**
21
- * A callback that gets called when the `value` state changes.
22
- * @param value The new value.
22
+ * A callback that gets called when the
23
+ * [`value`](https://ariakit.org/reference/checkbox-provider#value) state
24
+ * changes.
23
25
  * @example
24
26
  * function MyCheckbox({ value, onChange }) {
25
27
  * const checkbox = useCheckboxStore({ value, setValue: onChange });
@@ -40,18 +40,21 @@ export interface CheckboxOptions<T extends As = "input"> extends CommandOptions<
40
40
  store?: CheckboxStore;
41
41
  /**
42
42
  * The native `name` attribute.
43
+ *
44
+ * Live examples:
45
+ * - [MenuItemCheckbox](https://ariakit.org/examples/menu-item-checkbox)
43
46
  */
44
47
  name?: string;
45
48
  /**
46
49
  * The value of the checkbox. This is useful when the same checkbox store is
47
- * used for multiple `Checkbox` elements, in which case the value will be an
48
- * array of checked values.
50
+ * used for multiple [`Checkbox`](https://ariakit.org/reference/checkbox)
51
+ * elements, in which case the value will be an array of checked values.
49
52
  *
50
53
  * Live examples:
51
54
  * - [Checkbox group](https://ariakit.org/examples/checkbox-group)
52
55
  * - [MenuItemCheckbox](https://ariakit.org/examples/menu-item-checkbox)
53
56
  * @example
54
- * ```jsx
57
+ * ```jsx "value"
55
58
  * <CheckboxProvider defaultValue={["Apple", "Orange"]}>
56
59
  * <Checkbox value="Apple" />
57
60
  * <Checkbox value="Orange" />
@@ -61,18 +64,20 @@ export interface CheckboxOptions<T extends As = "input"> extends CommandOptions<
61
64
  */
62
65
  value?: InputHTMLAttributes<HTMLInputElement>["value"];
63
66
  /**
64
- * The default `checked` state of the checkbox. This prop is ignored if the
65
- * `checked` or the `store` props are provided.
67
+ * The default checked state of the checkbox. This prop is ignored if the
68
+ * [`checked`](https://ariakit.org/reference/checkbox#checked) or the
69
+ * [`store`](https://ariakit.org/reference/checkbox#store) props are provided.
66
70
  */
67
71
  defaultChecked?: "mixed" | boolean;
68
72
  /**
69
- * The `checked` state of the checkbox. This will override the value inferred
70
- * from `store` prop, if provided. This can be `"mixed"` to indicate that the
71
- * checkbox is partially checked.
73
+ * The checked state of the checkbox. This will override the value inferred
74
+ * from [`store`](https://ariakit.org/reference/checkbox#store) prop, if
75
+ * provided. This can be `"mixed"` to indicate that the checkbox is partially
76
+ * checked.
72
77
  */
73
78
  checked?: "mixed" | boolean;
74
79
  /**
75
- * A function that is called when the checkbox's `checked` store changes.
80
+ * A function that is called when the checkbox's checked state changes.
76
81
  */
77
82
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
78
83
  }
@@ -40,18 +40,21 @@ export interface CheckboxOptions<T extends As = "input"> extends CommandOptions<
40
40
  store?: CheckboxStore;
41
41
  /**
42
42
  * The native `name` attribute.
43
+ *
44
+ * Live examples:
45
+ * - [MenuItemCheckbox](https://ariakit.org/examples/menu-item-checkbox)
43
46
  */
44
47
  name?: string;
45
48
  /**
46
49
  * The value of the checkbox. This is useful when the same checkbox store is
47
- * used for multiple `Checkbox` elements, in which case the value will be an
48
- * array of checked values.
50
+ * used for multiple [`Checkbox`](https://ariakit.org/reference/checkbox)
51
+ * elements, in which case the value will be an array of checked values.
49
52
  *
50
53
  * Live examples:
51
54
  * - [Checkbox group](https://ariakit.org/examples/checkbox-group)
52
55
  * - [MenuItemCheckbox](https://ariakit.org/examples/menu-item-checkbox)
53
56
  * @example
54
- * ```jsx
57
+ * ```jsx "value"
55
58
  * <CheckboxProvider defaultValue={["Apple", "Orange"]}>
56
59
  * <Checkbox value="Apple" />
57
60
  * <Checkbox value="Orange" />
@@ -61,18 +64,20 @@ export interface CheckboxOptions<T extends As = "input"> extends CommandOptions<
61
64
  */
62
65
  value?: InputHTMLAttributes<HTMLInputElement>["value"];
63
66
  /**
64
- * The default `checked` state of the checkbox. This prop is ignored if the
65
- * `checked` or the `store` props are provided.
67
+ * The default checked state of the checkbox. This prop is ignored if the
68
+ * [`checked`](https://ariakit.org/reference/checkbox#checked) or the
69
+ * [`store`](https://ariakit.org/reference/checkbox#store) props are provided.
66
70
  */
67
71
  defaultChecked?: "mixed" | boolean;
68
72
  /**
69
- * The `checked` state of the checkbox. This will override the value inferred
70
- * from `store` prop, if provided. This can be `"mixed"` to indicate that the
71
- * checkbox is partially checked.
73
+ * The checked state of the checkbox. This will override the value inferred
74
+ * from [`store`](https://ariakit.org/reference/checkbox#store) prop, if
75
+ * provided. This can be `"mixed"` to indicate that the checkbox is partially
76
+ * checked.
72
77
  */
73
78
  checked?: "mixed" | boolean;
74
79
  /**
75
- * A function that is called when the checkbox's `checked` store changes.
80
+ * A function that is called when the checkbox's checked state changes.
76
81
  */
77
82
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
78
83
  }
@@ -17,8 +17,10 @@ import type { CollectionStore } from "./collection-store.js";
17
17
  export declare const useCollectionItem: import("../utils/types.js").Hook<CollectionItemOptions<"div">>;
18
18
  /**
19
19
  * Renders an item in a collection. The collection store can be passed
20
- * explicitly through the `store` prop or implicitly through the parent
21
- * `Collection` component.
20
+ * explicitly through the
21
+ * [`store`](https://ariakit.org/reference/collection-item#store) prop or
22
+ * implicitly through the parent
23
+ * [`Collection`](https://ariakit.org/reference/collection) component.
22
24
  * @see https://ariakit.org/components/collection
23
25
  * @example
24
26
  * ```jsx
@@ -33,14 +35,27 @@ export interface CollectionItemOptions<T extends As = "div"> extends Options<T>
33
35
  /**
34
36
  * Object returned by the
35
37
  * [`useCollectionStore`](https://ariakit.org/reference/use-collection-store)
36
- * hook. If not provided, the parent
38
+ * hook. If not provided, the closest
37
39
  * [`Collection`](https://ariakit.org/reference/collection) or
38
40
  * [`CollectionProvider`](https://ariakit.org/reference/collection-provider)
39
41
  * components' context will be used.
42
+ *
43
+ * Live examples:
44
+ * - [Navigation Menubar](https://ariakit.org/examples/menubar-navigation)
40
45
  */
41
46
  store?: CollectionStore;
42
47
  /**
43
- * Whether the item should be registered to the store.
48
+ * The unique ID of the item. This will be used to register the item in the
49
+ * store and for the element's `id` attribute. If not provided, a unique ID
50
+ * will be automatically generated.
51
+ *
52
+ * Live examples:
53
+ * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
54
+ * - [Tab with React Router](https://ariakit.org/examples/tab-react-router)
55
+ */
56
+ id?: string;
57
+ /**
58
+ * Whether the item should be registered as part of the collection.
44
59
  *
45
60
  * Live examples:
46
61
  * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
@@ -48,13 +63,12 @@ export interface CollectionItemOptions<T extends As = "div"> extends Options<T>
48
63
  */
49
64
  shouldRegisterItem?: boolean;
50
65
  /**
51
- * A memoized function that returns props that will be passed along with the
52
- * item when it gets registered to the store.
66
+ * A memoized function that returns props to be passed with the item during
67
+ * its registration in the store.
53
68
  * @example
54
69
  * ```jsx
55
- * const store = useCollectionStore();
56
- * const getItem = useCallback((item) => ({ ...item, custom: true }), []);
57
- * <CollectionItem store={store} getItem={getItem} />
70
+ * const getItem = useCallback((data) => ({ ...data, custom: true }), []);
71
+ * <CollectionItem getItem={getItem} />
58
72
  * ```
59
73
  */
60
74
  getItem?: (props: CollectionStoreItem) => CollectionStoreItem;
@@ -17,8 +17,10 @@ import type { CollectionStore } from "./collection-store.js";
17
17
  export declare const useCollectionItem: import("../utils/types.js").Hook<CollectionItemOptions<"div">>;
18
18
  /**
19
19
  * Renders an item in a collection. The collection store can be passed
20
- * explicitly through the `store` prop or implicitly through the parent
21
- * `Collection` component.
20
+ * explicitly through the
21
+ * [`store`](https://ariakit.org/reference/collection-item#store) prop or
22
+ * implicitly through the parent
23
+ * [`Collection`](https://ariakit.org/reference/collection) component.
22
24
  * @see https://ariakit.org/components/collection
23
25
  * @example
24
26
  * ```jsx
@@ -33,14 +35,27 @@ export interface CollectionItemOptions<T extends As = "div"> extends Options<T>
33
35
  /**
34
36
  * Object returned by the
35
37
  * [`useCollectionStore`](https://ariakit.org/reference/use-collection-store)
36
- * hook. If not provided, the parent
38
+ * hook. If not provided, the closest
37
39
  * [`Collection`](https://ariakit.org/reference/collection) or
38
40
  * [`CollectionProvider`](https://ariakit.org/reference/collection-provider)
39
41
  * components' context will be used.
42
+ *
43
+ * Live examples:
44
+ * - [Navigation Menubar](https://ariakit.org/examples/menubar-navigation)
40
45
  */
41
46
  store?: CollectionStore;
42
47
  /**
43
- * Whether the item should be registered to the store.
48
+ * The unique ID of the item. This will be used to register the item in the
49
+ * store and for the element's `id` attribute. If not provided, a unique ID
50
+ * will be automatically generated.
51
+ *
52
+ * Live examples:
53
+ * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
54
+ * - [Tab with React Router](https://ariakit.org/examples/tab-react-router)
55
+ */
56
+ id?: string;
57
+ /**
58
+ * Whether the item should be registered as part of the collection.
44
59
  *
45
60
  * Live examples:
46
61
  * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
@@ -48,13 +63,12 @@ export interface CollectionItemOptions<T extends As = "div"> extends Options<T>
48
63
  */
49
64
  shouldRegisterItem?: boolean;
50
65
  /**
51
- * A memoized function that returns props that will be passed along with the
52
- * item when it gets registered to the store.
66
+ * A memoized function that returns props to be passed with the item during
67
+ * its registration in the store.
53
68
  * @example
54
69
  * ```jsx
55
- * const store = useCollectionStore();
56
- * const getItem = useCallback((item) => ({ ...item, custom: true }), []);
57
- * <CollectionItem store={store} getItem={getItem} />
70
+ * const getItem = useCallback((data) => ({ ...data, custom: true }), []);
71
+ * <CollectionItem getItem={getItem} />
58
72
  * ```
59
73
  */
60
74
  getItem?: (props: CollectionStoreItem) => CollectionStoreItem;
@@ -2,7 +2,8 @@ import type { ReactElement, ReactNode } from "react";
2
2
  import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { CollectionStoreItem, CollectionStoreProps } from "./collection-store.js";
4
4
  /**
5
- * Provides a collection store to CollectionItem components.
5
+ * Provides a collection store to
6
+ * [`CollectionItem`](https://ariakit.org/reference/collection-item) components.
6
7
  * @see https://ariakit.org/components/collection
7
8
  * @example
8
9
  * ```jsx
@@ -2,7 +2,8 @@ import type { ReactElement, ReactNode } from "react";
2
2
  import type { PickRequired } from "@ariakit/core/utils/types";
3
3
  import type { CollectionStoreItem, CollectionStoreProps } from "./collection-store.js";
4
4
  /**
5
- * Provides a collection store to CollectionItem components.
5
+ * Provides a collection store to
6
+ * [`CollectionItem`](https://ariakit.org/reference/collection-item) components.
6
7
  * @see https://ariakit.org/components/collection
7
8
  * @example
8
9
  * ```jsx
@@ -327,7 +327,7 @@ export interface CollectionRendererOptions<T extends Item = any> {
327
327
  /**
328
328
  * Object returned by the
329
329
  * [`useCollectionStore`](https://ariakit.org/reference/use-collection-store)
330
- * hook. If not provided, the parent
330
+ * hook. If not provided, the closest
331
331
  * [Collection](https://ariakit.org/components/collection) component's
332
332
  * context will be used.
333
333
  *
@@ -327,7 +327,7 @@ export interface CollectionRendererOptions<T extends Item = any> {
327
327
  /**
328
328
  * Object returned by the
329
329
  * [`useCollectionStore`](https://ariakit.org/reference/use-collection-store)
330
- * hook. If not provided, the parent
330
+ * hook. If not provided, the closest
331
331
  * [Collection](https://ariakit.org/components/collection) component's
332
332
  * context will be used.
333
333
  *