@ariakit/react-core 0.3.2 → 0.3.4

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 (441) hide show
  1. package/CHANGELOG.md +108 -0
  2. package/cjs/__chunks/{FWCQCCG3.cjs → 232HWSNY.cjs} +12 -12
  3. package/cjs/__chunks/{GBOZYA5C.cjs → 2H4Y2NEY.cjs} +4 -4
  4. package/cjs/__chunks/{LCKU3TYW.cjs → 35G5ZXPH.cjs} +12 -2
  5. package/cjs/__chunks/{LJBXMHCD.cjs → 3DILH277.cjs} +6 -6
  6. package/cjs/__chunks/{B3TGB2C3.cjs → 4QHHTATP.cjs} +7 -7
  7. package/cjs/__chunks/{ZJ4ICN62.cjs → 5ZP4D2SQ.cjs} +4 -4
  8. package/cjs/__chunks/{SKVJLFWS.cjs → 6UYPIKG4.cjs} +8 -8
  9. package/cjs/__chunks/{GCTYF2Y6.cjs → 76UBACFC.cjs} +3 -3
  10. package/cjs/__chunks/{HYYXXXEK.cjs → BSOHJE7R.cjs} +2 -2
  11. package/cjs/__chunks/{ZPTFLDSU.cjs → CAKLNUKE.cjs} +7 -7
  12. package/cjs/__chunks/{INDMFBTS.cjs → COHI5HTS.cjs} +17 -16
  13. package/cjs/__chunks/{DPLHWKRP.cjs → DFFFHQVQ.cjs} +3 -3
  14. package/cjs/__chunks/{HFISYIKE.cjs → DYNIQRKI.cjs} +7 -7
  15. package/cjs/__chunks/{S4UMINQJ.cjs → EMNY7J2W.cjs} +2 -2
  16. package/cjs/__chunks/{I63PYP2U.cjs → EVNF7KMT.cjs} +3 -35
  17. package/cjs/__chunks/{ZQTMT453.cjs → EZKYHQVF.cjs} +2 -2
  18. package/cjs/__chunks/{NBCR3CLP.cjs → F4RJLWZG.cjs} +3 -3
  19. package/cjs/__chunks/{G33PRHOG.cjs → GUWJ7VTO.cjs} +10 -10
  20. package/cjs/__chunks/{4HKELPDA.cjs → GWFSX7RQ.cjs} +8 -8
  21. package/cjs/__chunks/{2FEEKOTF.cjs → GZMKQINI.cjs} +2 -2
  22. package/cjs/__chunks/{3ULNMLN7.cjs → HSOKUBYY.cjs} +5 -5
  23. package/cjs/__chunks/{NPDPNCSD.cjs → HWZH54NB.cjs} +3 -2
  24. package/cjs/__chunks/{BPPAZUXP.cjs → J37FS72U.cjs} +2 -2
  25. package/cjs/__chunks/{5E5FKYEO.cjs → L2VQ4YLN.cjs} +18 -1
  26. package/cjs/__chunks/{7F6H5HXC.cjs → LCC3WQBM.cjs} +4 -4
  27. package/cjs/__chunks/{E4C2KZA5.cjs → O6SYRTZH.cjs} +5 -5
  28. package/cjs/__chunks/{2C7LUQOS.cjs → OOFSNUBV.cjs} +2 -2
  29. package/cjs/__chunks/{DMTOMUIM.cjs → QBOBT66Y.cjs} +8 -7
  30. package/cjs/__chunks/{QEG5AJH6.cjs → QFGI3BJE.cjs} +107 -58
  31. package/cjs/__chunks/{JKMBJCXA.cjs → QK4GI6B3.cjs} +7 -12
  32. package/cjs/__chunks/{OX7M6AXH.cjs → QMFZ4CLT.cjs} +4 -4
  33. package/cjs/__chunks/{HCQYEOCO.cjs → R7CSCUVW.cjs} +6 -6
  34. package/cjs/__chunks/{6UXB6PRK.cjs → RU4K4ZH6.cjs} +7 -7
  35. package/cjs/__chunks/{6BAHKJ5K.cjs → RWS2MAR2.cjs} +0 -7
  36. package/cjs/__chunks/{J77SNKFZ.cjs → SE2X2FG7.cjs} +4 -4
  37. package/cjs/__chunks/{6G5GJF5Q.cjs → SELCJFCB.cjs} +2 -2
  38. package/cjs/__chunks/{WBPFHFAX.cjs → T222USYS.cjs} +35 -35
  39. package/cjs/__chunks/TLA46MN6.cjs +79 -0
  40. package/cjs/__chunks/{V37GXOUJ.cjs → TYMYFAUI.cjs} +4 -4
  41. package/cjs/__chunks/{DNFCOHE4.cjs → UK2DHDQU.cjs} +2 -2
  42. package/cjs/__chunks/{4ULJINEP.cjs → VAF2GKYW.cjs} +8 -8
  43. package/cjs/__chunks/{XOHN6PER.cjs → VAY4A33A.cjs} +10 -6
  44. package/cjs/__chunks/{JNVNPB37.cjs → VGU6RMHO.cjs} +2 -2
  45. package/cjs/__chunks/{27A4YAUB.cjs → VVU2UQJ2.cjs} +4 -4
  46. package/cjs/__chunks/{EQEXTQQ6.cjs → YCBMXOIO.cjs} +5 -5
  47. package/cjs/__chunks/{2VQBXUAI.cjs → YLOTLD6S.cjs} +2 -2
  48. package/cjs/__chunks/{HDYD5S2P.cjs → ZIEW4CQO.cjs} +3 -3
  49. package/cjs/__chunks/{X3UARAKT.cjs → ZQZC54NS.cjs} +2 -2
  50. package/cjs/__chunks/{NATUYKIW.cjs → ZZZ5MQHA.cjs} +4 -4
  51. package/cjs/button/button.cjs +4 -4
  52. package/cjs/checkbox/checkbox-provider.cjs +3 -3
  53. package/cjs/checkbox/checkbox-store.cjs +3 -3
  54. package/cjs/checkbox/checkbox.cjs +5 -5
  55. package/cjs/collection/collection-provider.cjs +3 -3
  56. package/cjs/collection/collection-renderer.cjs +3 -3
  57. package/cjs/collection/collection-renderer.d.ts +53 -53
  58. package/cjs/collection/collection-store.cjs +3 -3
  59. package/cjs/combobox/combobox-cancel.cjs +4 -4
  60. package/cjs/combobox/combobox-disclosure.cjs +6 -6
  61. package/cjs/combobox/combobox-item.cjs +5 -5
  62. package/cjs/combobox/combobox-list.cjs +5 -4
  63. package/cjs/combobox/combobox-popover.cjs +24 -20
  64. package/cjs/combobox/combobox-provider.cjs +8 -8
  65. package/cjs/combobox/combobox-store.cjs +8 -8
  66. package/cjs/combobox/combobox.cjs +7 -5
  67. package/cjs/command/command.cjs +3 -3
  68. package/cjs/composite/composite-container.cjs +3 -3
  69. package/cjs/composite/composite-item.cjs +5 -5
  70. package/cjs/composite/composite-overflow-disclosure.cjs +10 -10
  71. package/cjs/composite/composite-overflow-store.cjs +6 -6
  72. package/cjs/composite/composite-overflow.cjs +15 -14
  73. package/cjs/composite/composite-provider.cjs +4 -4
  74. package/cjs/composite/composite-renderer.cjs +4 -4
  75. package/cjs/composite/composite-renderer.d.ts +53 -53
  76. package/cjs/composite/composite-store.cjs +4 -4
  77. package/cjs/composite/composite-typeahead.d.ts +0 -4
  78. package/cjs/composite/composite.cjs +3 -3
  79. package/cjs/dialog/dialog-backdrop.cjs +7 -7
  80. package/cjs/dialog/dialog-disclosure.cjs +6 -6
  81. package/cjs/dialog/dialog-dismiss.cjs +5 -5
  82. package/cjs/dialog/dialog-provider.cjs +4 -4
  83. package/cjs/dialog/dialog-store.cjs +4 -4
  84. package/cjs/dialog/dialog.cjs +16 -13
  85. package/cjs/dialog/dialog.d.ts +83 -14
  86. package/cjs/dialog/utils/disable-accessibility-tree-outside.cjs +3 -3
  87. package/cjs/dialog/utils/disable-accessibility-tree-outside.d.ts +1 -1
  88. package/cjs/dialog/utils/disable-tree.cjs +14 -0
  89. package/cjs/dialog/utils/disable-tree.d.ts +5 -0
  90. package/cjs/dialog/utils/mark-tree-outside.cjs +3 -3
  91. package/cjs/dialog/utils/mark-tree-outside.d.ts +1 -1
  92. package/cjs/dialog/utils/use-hide-on-interact-outside.cjs +4 -4
  93. package/cjs/dialog/utils/use-nested-dialogs.cjs +2 -2
  94. package/cjs/dialog/utils/walk-tree-outside.cjs +5 -2
  95. package/cjs/dialog/utils/walk-tree-outside.d.ts +3 -2
  96. package/cjs/disclosure/disclosure-content.cjs +3 -2
  97. package/cjs/disclosure/disclosure-content.d.ts +14 -0
  98. package/cjs/disclosure/disclosure-provider.cjs +3 -3
  99. package/cjs/disclosure/disclosure-store.cjs +3 -3
  100. package/cjs/disclosure/disclosure.cjs +5 -5
  101. package/cjs/focusable/focusable.cjs +2 -2
  102. package/cjs/focusable/focusable.d.ts +2 -0
  103. package/cjs/form/form-checkbox.cjs +7 -7
  104. package/cjs/form/form-input.cjs +2 -2
  105. package/cjs/form/form-provider.cjs +4 -4
  106. package/cjs/form/form-push.cjs +4 -4
  107. package/cjs/form/form-radio.cjs +6 -6
  108. package/cjs/form/form-remove.cjs +4 -4
  109. package/cjs/form/form-reset.cjs +4 -4
  110. package/cjs/form/form-store.cjs +4 -4
  111. package/cjs/form/form-submit.cjs +4 -4
  112. package/cjs/hovercard/hovercard-anchor.cjs +3 -3
  113. package/cjs/hovercard/hovercard-disclosure.cjs +6 -6
  114. package/cjs/hovercard/hovercard-dismiss.cjs +7 -7
  115. package/cjs/hovercard/hovercard-provider.cjs +6 -6
  116. package/cjs/hovercard/hovercard-store.cjs +6 -6
  117. package/cjs/hovercard/hovercard.cjs +16 -15
  118. package/cjs/menu/menu-arrow.d.ts +11 -7
  119. package/cjs/menu/menu-bar-provider.cjs +5 -5
  120. package/cjs/menu/menu-bar-store.cjs +5 -5
  121. package/cjs/menu/menu-bar.cjs +3 -3
  122. package/cjs/menu/menu-bar.d.ts +23 -22
  123. package/cjs/menu/menu-button-arrow.d.ts +16 -11
  124. package/cjs/menu/menu-button.cjs +11 -11
  125. package/cjs/menu/menu-button.d.ts +19 -11
  126. package/cjs/menu/menu-description.d.ts +13 -8
  127. package/cjs/menu/menu-dismiss.cjs +7 -7
  128. package/cjs/menu/menu-dismiss.d.ts +10 -6
  129. package/cjs/menu/menu-group-label.d.ts +15 -10
  130. package/cjs/menu/menu-group.d.ts +15 -10
  131. package/cjs/menu/menu-heading.d.ts +10 -6
  132. package/cjs/menu/menu-item-check.d.ts +15 -15
  133. package/cjs/menu/menu-item-checkbox.cjs +10 -10
  134. package/cjs/menu/menu-item-checkbox.d.ts +13 -8
  135. package/cjs/menu/menu-item-radio.cjs +8 -8
  136. package/cjs/menu/menu-item-radio.d.ts +18 -13
  137. package/cjs/menu/menu-item.cjs +6 -6
  138. package/cjs/menu/menu-item.d.ts +16 -9
  139. package/cjs/menu/menu-list.cjs +6 -6
  140. package/cjs/menu/menu-list.d.ts +12 -7
  141. package/cjs/menu/menu-provider.cjs +9 -9
  142. package/cjs/menu/menu-separator.d.ts +14 -10
  143. package/cjs/menu/menu-store.cjs +9 -9
  144. package/cjs/menu/menu-store.d.ts +9 -9
  145. package/cjs/menu/menu.cjs +46 -52
  146. package/cjs/menu/menu.d.ts +9 -8
  147. package/cjs/popover/popover-anchor.d.ts +9 -4
  148. package/cjs/popover/popover-arrow.d.ts +14 -8
  149. package/cjs/popover/popover-description.d.ts +13 -8
  150. package/cjs/popover/popover-disclosure-arrow.d.ts +18 -10
  151. package/cjs/popover/popover-disclosure.cjs +7 -7
  152. package/cjs/popover/popover-disclosure.d.ts +4 -3
  153. package/cjs/popover/popover-dismiss.cjs +6 -6
  154. package/cjs/popover/popover-dismiss.d.ts +13 -7
  155. package/cjs/popover/popover-heading.d.ts +14 -8
  156. package/cjs/popover/popover-provider.cjs +5 -5
  157. package/cjs/popover/popover-store.cjs +5 -5
  158. package/cjs/popover/popover.cjs +15 -14
  159. package/cjs/popover/popover.d.ts +13 -9
  160. package/cjs/portal/portal.d.ts +17 -6
  161. package/cjs/radio/radio-group.cjs +3 -3
  162. package/cjs/radio/radio-group.d.ts +5 -1
  163. package/cjs/radio/radio-provider.cjs +5 -5
  164. package/cjs/radio/radio-store.cjs +5 -5
  165. package/cjs/radio/radio-store.d.ts +0 -5
  166. package/cjs/radio/radio.cjs +6 -6
  167. package/cjs/radio/radio.d.ts +6 -2
  168. package/cjs/select/select-arrow.d.ts +18 -13
  169. package/cjs/select/select-group-label.d.ts +22 -17
  170. package/cjs/select/select-group.d.ts +17 -12
  171. package/cjs/select/select-item-check.d.ts +23 -17
  172. package/cjs/select/select-item.cjs +5 -5
  173. package/cjs/select/select-item.d.ts +51 -24
  174. package/cjs/select/select-label.d.ts +18 -14
  175. package/cjs/select/select-list.cjs +6 -5
  176. package/cjs/select/select-list.d.ts +26 -16
  177. package/cjs/select/select-popover.cjs +27 -21
  178. package/cjs/select/select-popover.d.ts +11 -10
  179. package/cjs/select/select-provider.cjs +8 -8
  180. package/cjs/select/select-renderer.cjs +7 -7
  181. package/cjs/select/select-row.d.ts +20 -15
  182. package/cjs/select/select-separator.d.ts +16 -11
  183. package/cjs/select/select-store.cjs +8 -8
  184. package/cjs/select/select-store.d.ts +0 -4
  185. package/cjs/select/select.cjs +7 -7
  186. package/cjs/select/select.d.ts +39 -17
  187. package/cjs/tab/tab-list.cjs +3 -3
  188. package/cjs/tab/tab-list.d.ts +14 -9
  189. package/cjs/tab/tab-panel.cjs +7 -7
  190. package/cjs/tab/tab-panel.d.ts +15 -10
  191. package/cjs/tab/tab-provider.cjs +5 -5
  192. package/cjs/tab/tab-store.cjs +5 -5
  193. package/cjs/tab/tab-store.d.ts +0 -7
  194. package/cjs/tab/tab.cjs +5 -5
  195. package/cjs/tab/tab.d.ts +13 -10
  196. package/cjs/toolbar/toolbar-container.cjs +8 -8
  197. package/cjs/toolbar/toolbar-container.d.ts +3 -4
  198. package/cjs/toolbar/toolbar-input.cjs +6 -6
  199. package/cjs/toolbar/toolbar-input.d.ts +3 -4
  200. package/cjs/toolbar/toolbar-item.cjs +6 -6
  201. package/cjs/toolbar/toolbar-item.d.ts +7 -5
  202. package/cjs/toolbar/toolbar-provider.cjs +5 -5
  203. package/cjs/toolbar/toolbar-separator.d.ts +7 -5
  204. package/cjs/toolbar/toolbar-store.cjs +5 -5
  205. package/cjs/toolbar/toolbar.cjs +8 -8
  206. package/cjs/toolbar/toolbar.d.ts +8 -3
  207. package/cjs/tooltip/tooltip-anchor.cjs +3 -3
  208. package/cjs/tooltip/tooltip-anchor.d.ts +13 -8
  209. package/cjs/tooltip/tooltip-arrow.d.ts +16 -10
  210. package/cjs/tooltip/tooltip-provider.cjs +7 -7
  211. package/cjs/tooltip/tooltip-store.cjs +7 -7
  212. package/cjs/tooltip/tooltip.cjs +25 -19
  213. package/cjs/tooltip/tooltip.d.ts +10 -5
  214. package/cjs/tsconfig.build.tsbuildinfo +1 -1
  215. package/cjs/utils/store.cjs +2 -2
  216. package/cjs/utils/system.d.ts +2 -2
  217. package/dialog/utils/disable-tree/package.json +8 -0
  218. package/esm/__chunks/{VDTDCNMP.js → 2BTPJSKW.js} +3 -3
  219. package/esm/__chunks/{3HFOFZP4.js → 2FIUKXIM.js} +1 -1
  220. package/esm/__chunks/{KZMKUBQH.js → 2Q7ASGJM.js} +1 -1
  221. package/esm/__chunks/{QJMIKN5O.js → 3FLPLDNL.js} +2 -2
  222. package/esm/__chunks/{HMYMEP6U.js → 3KBWC7LF.js} +1 -1
  223. package/esm/__chunks/{4SB2BYFE.js → 3X3TLUHU.js} +4 -3
  224. package/esm/__chunks/{HYNMOU7J.js → 56TAEBRJ.js} +1 -1
  225. package/esm/__chunks/{TQ2YQL6O.js → 5EAW3TWZ.js} +11 -1
  226. package/esm/__chunks/{V5EW3YHP.js → 6F7MKZK2.js} +3 -3
  227. package/esm/__chunks/{UQFOL5I6.js → 6W46XYWY.js} +2 -2
  228. package/esm/__chunks/{HAVCR65N.js → 7LB47D2O.js} +1 -1
  229. package/esm/__chunks/{X5VV5CBA.js → 7VWXICM7.js} +3 -3
  230. package/esm/__chunks/{VPTWELSR.js → AE5ABTKC.js} +2 -2
  231. package/esm/__chunks/{LND6SMHN.js → CAIAWNDV.js} +2 -1
  232. package/esm/__chunks/{C5JX5C3O.js → DCODCZJS.js} +3 -3
  233. package/esm/__chunks/{R4FKKQYI.js → DE62M4L2.js} +2 -2
  234. package/esm/__chunks/{IFNQMENS.js → DLZTS5NV.js} +3 -3
  235. package/esm/__chunks/{D5TF3EQR.js → E3ZC4HKO.js} +2 -2
  236. package/esm/__chunks/{XASENZA4.js → EGOOWJGN.js} +16 -15
  237. package/esm/__chunks/{34JEM52B.js → F7UYWUBJ.js} +34 -34
  238. package/esm/__chunks/{KGDYSCOM.js → FRKOFFMT.js} +6 -11
  239. package/esm/__chunks/{GP4UGJIZ.js → H3CXUGYG.js} +9 -5
  240. package/esm/__chunks/{4WK6LN27.js → HUAF5DID.js} +2 -2
  241. package/esm/__chunks/{PLOINBVB.js → HWJ7DGMR.js} +0 -7
  242. package/esm/__chunks/{MXSIXS3C.js → HXYXHHNW.js} +1 -1
  243. package/esm/__chunks/{FBTQUSIH.js → I6Y4PDFW.js} +2 -2
  244. package/esm/__chunks/{K6BB6DTS.js → IADMQBOS.js} +2 -2
  245. package/esm/__chunks/{72OJKUSZ.js → IQXVWBXC.js} +2 -2
  246. package/esm/__chunks/{UY3UQ4QI.js → IZFXPXHG.js} +2 -2
  247. package/esm/__chunks/{HGW6FZYU.js → J2AZPLFF.js} +2 -2
  248. package/esm/__chunks/{EKIHOHWR.js → JRZOTPWS.js} +2 -2
  249. package/esm/__chunks/{3D7ZB3CS.js → KK6NPMOP.js} +18 -1
  250. package/esm/__chunks/{54DCICBS.js → KXTLHNBI.js} +1 -1
  251. package/esm/__chunks/{RJEKIG5Y.js → LBTB6WEV.js} +1 -1
  252. package/esm/__chunks/{HZPJPDJY.js → LFLKMTFW.js} +2 -2
  253. package/esm/__chunks/{7AFOF5E7.js → LRDCOOWL.js} +1 -1
  254. package/esm/__chunks/{W575AF63.js → NXB7YL3C.js} +3 -3
  255. package/esm/__chunks/{35WVCYXU.js → OAQFZVKH.js} +2 -2
  256. package/esm/__chunks/{A2ONBKVT.js → OD3JT64N.js} +1 -1
  257. package/esm/__chunks/{AYWP3ZW6.js → OQUFN5QO.js} +1 -1
  258. package/esm/__chunks/{H2BG4QDT.js → QTZ67ALK.js} +2 -2
  259. package/esm/__chunks/{QPWEKAWF.js → TONP6TZ5.js} +1 -1
  260. package/esm/__chunks/{4RP654JS.js → UXIMR4AS.js} +100 -51
  261. package/esm/__chunks/VRCYQ6JX.js +79 -0
  262. package/esm/__chunks/{XXO3VVQU.js → WHAB4XD6.js} +3 -35
  263. package/esm/__chunks/{4JNX5L5C.js → WNHMGHG5.js} +1 -1
  264. package/esm/__chunks/{WGAKICTY.js → WRZGD4DH.js} +2 -2
  265. package/esm/__chunks/{NWDF5QDV.js → YS46MLTR.js} +1 -1
  266. package/esm/__chunks/{IZ6ZARCP.js → ZYB5SMUW.js} +1 -1
  267. package/esm/button/button.js +3 -3
  268. package/esm/checkbox/checkbox-provider.js +2 -2
  269. package/esm/checkbox/checkbox-store.js +2 -2
  270. package/esm/checkbox/checkbox.js +4 -4
  271. package/esm/collection/collection-provider.js +2 -2
  272. package/esm/collection/collection-renderer.d.ts +53 -53
  273. package/esm/collection/collection-renderer.js +2 -2
  274. package/esm/collection/collection-store.js +2 -2
  275. package/esm/combobox/combobox-cancel.js +3 -3
  276. package/esm/combobox/combobox-disclosure.js +5 -5
  277. package/esm/combobox/combobox-item.js +4 -4
  278. package/esm/combobox/combobox-list.js +4 -3
  279. package/esm/combobox/combobox-popover.js +22 -18
  280. package/esm/combobox/combobox-provider.js +7 -7
  281. package/esm/combobox/combobox-store.js +7 -7
  282. package/esm/combobox/combobox.js +6 -4
  283. package/esm/command/command.js +2 -2
  284. package/esm/composite/composite-container.js +2 -2
  285. package/esm/composite/composite-item.js +4 -4
  286. package/esm/composite/composite-overflow-disclosure.js +8 -8
  287. package/esm/composite/composite-overflow-store.js +4 -4
  288. package/esm/composite/composite-overflow.js +14 -13
  289. package/esm/composite/composite-provider.js +3 -3
  290. package/esm/composite/composite-renderer.d.ts +53 -53
  291. package/esm/composite/composite-renderer.js +3 -3
  292. package/esm/composite/composite-store.js +3 -3
  293. package/esm/composite/composite-typeahead.d.ts +0 -4
  294. package/esm/composite/composite.js +2 -2
  295. package/esm/dialog/dialog-backdrop.js +6 -6
  296. package/esm/dialog/dialog-disclosure.js +5 -5
  297. package/esm/dialog/dialog-dismiss.js +4 -4
  298. package/esm/dialog/dialog-provider.js +3 -3
  299. package/esm/dialog/dialog-store.js +3 -3
  300. package/esm/dialog/dialog.d.ts +83 -14
  301. package/esm/dialog/dialog.js +15 -12
  302. package/esm/dialog/utils/disable-accessibility-tree-outside.d.ts +1 -1
  303. package/esm/dialog/utils/disable-accessibility-tree-outside.js +2 -2
  304. package/esm/dialog/utils/disable-tree.d.ts +5 -0
  305. package/esm/dialog/utils/{disable-tree-outside.js → disable-tree.js} +5 -3
  306. package/esm/dialog/utils/mark-tree-outside.d.ts +1 -1
  307. package/esm/dialog/utils/mark-tree-outside.js +2 -2
  308. package/esm/dialog/utils/use-hide-on-interact-outside.js +3 -3
  309. package/esm/dialog/utils/use-nested-dialogs.js +1 -1
  310. package/esm/dialog/utils/walk-tree-outside.d.ts +3 -2
  311. package/esm/dialog/utils/walk-tree-outside.js +4 -1
  312. package/esm/disclosure/disclosure-content.d.ts +14 -0
  313. package/esm/disclosure/disclosure-content.js +2 -1
  314. package/esm/disclosure/disclosure-provider.js +2 -2
  315. package/esm/disclosure/disclosure-store.js +2 -2
  316. package/esm/disclosure/disclosure.js +4 -4
  317. package/esm/focusable/focusable.d.ts +2 -0
  318. package/esm/focusable/focusable.js +1 -1
  319. package/esm/form/form-checkbox.js +5 -5
  320. package/esm/form/form-input.js +1 -1
  321. package/esm/form/form-provider.js +3 -3
  322. package/esm/form/form-push.js +3 -3
  323. package/esm/form/form-radio.js +5 -5
  324. package/esm/form/form-remove.js +3 -3
  325. package/esm/form/form-reset.js +3 -3
  326. package/esm/form/form-store.js +3 -3
  327. package/esm/form/form-submit.js +3 -3
  328. package/esm/hovercard/hovercard-anchor.js +2 -2
  329. package/esm/hovercard/hovercard-disclosure.js +5 -5
  330. package/esm/hovercard/hovercard-dismiss.js +6 -6
  331. package/esm/hovercard/hovercard-provider.js +5 -5
  332. package/esm/hovercard/hovercard-store.js +5 -5
  333. package/esm/hovercard/hovercard.js +15 -14
  334. package/esm/menu/menu-arrow.d.ts +11 -7
  335. package/esm/menu/menu-bar-provider.js +4 -4
  336. package/esm/menu/menu-bar-store.js +4 -4
  337. package/esm/menu/menu-bar.d.ts +23 -22
  338. package/esm/menu/menu-bar.js +2 -2
  339. package/esm/menu/menu-button-arrow.d.ts +16 -11
  340. package/esm/menu/menu-button.d.ts +19 -11
  341. package/esm/menu/menu-button.js +8 -8
  342. package/esm/menu/menu-description.d.ts +13 -8
  343. package/esm/menu/menu-dismiss.d.ts +10 -6
  344. package/esm/menu/menu-dismiss.js +6 -6
  345. package/esm/menu/menu-group-label.d.ts +15 -10
  346. package/esm/menu/menu-group.d.ts +15 -10
  347. package/esm/menu/menu-heading.d.ts +10 -6
  348. package/esm/menu/menu-item-check.d.ts +15 -15
  349. package/esm/menu/menu-item-checkbox.d.ts +13 -8
  350. package/esm/menu/menu-item-checkbox.js +7 -7
  351. package/esm/menu/menu-item-radio.d.ts +18 -13
  352. package/esm/menu/menu-item-radio.js +6 -6
  353. package/esm/menu/menu-item.d.ts +16 -9
  354. package/esm/menu/menu-item.js +5 -5
  355. package/esm/menu/menu-list.d.ts +12 -7
  356. package/esm/menu/menu-list.js +5 -5
  357. package/esm/menu/menu-provider.js +8 -8
  358. package/esm/menu/menu-separator.d.ts +14 -10
  359. package/esm/menu/menu-store.d.ts +9 -9
  360. package/esm/menu/menu-store.js +8 -8
  361. package/esm/menu/menu.d.ts +9 -8
  362. package/esm/menu/menu.js +45 -51
  363. package/esm/popover/popover-anchor.d.ts +9 -4
  364. package/esm/popover/popover-arrow.d.ts +14 -8
  365. package/esm/popover/popover-description.d.ts +13 -8
  366. package/esm/popover/popover-disclosure-arrow.d.ts +18 -10
  367. package/esm/popover/popover-disclosure.d.ts +4 -3
  368. package/esm/popover/popover-disclosure.js +6 -6
  369. package/esm/popover/popover-dismiss.d.ts +13 -7
  370. package/esm/popover/popover-dismiss.js +5 -5
  371. package/esm/popover/popover-heading.d.ts +14 -8
  372. package/esm/popover/popover-provider.js +4 -4
  373. package/esm/popover/popover-store.js +4 -4
  374. package/esm/popover/popover.d.ts +13 -9
  375. package/esm/popover/popover.js +14 -13
  376. package/esm/portal/portal.d.ts +17 -6
  377. package/esm/radio/radio-group.d.ts +5 -1
  378. package/esm/radio/radio-group.js +2 -2
  379. package/esm/radio/radio-provider.js +4 -4
  380. package/esm/radio/radio-store.d.ts +0 -5
  381. package/esm/radio/radio-store.js +4 -4
  382. package/esm/radio/radio.d.ts +6 -2
  383. package/esm/radio/radio.js +5 -5
  384. package/esm/select/select-arrow.d.ts +18 -13
  385. package/esm/select/select-group-label.d.ts +22 -17
  386. package/esm/select/select-group.d.ts +17 -12
  387. package/esm/select/select-item-check.d.ts +23 -17
  388. package/esm/select/select-item.d.ts +51 -24
  389. package/esm/select/select-item.js +4 -4
  390. package/esm/select/select-label.d.ts +18 -14
  391. package/esm/select/select-list.d.ts +26 -16
  392. package/esm/select/select-list.js +5 -4
  393. package/esm/select/select-popover.d.ts +11 -10
  394. package/esm/select/select-popover.js +25 -19
  395. package/esm/select/select-provider.js +7 -7
  396. package/esm/select/select-renderer.js +3 -3
  397. package/esm/select/select-row.d.ts +20 -15
  398. package/esm/select/select-separator.d.ts +16 -11
  399. package/esm/select/select-store.d.ts +0 -4
  400. package/esm/select/select-store.js +7 -7
  401. package/esm/select/select.d.ts +39 -17
  402. package/esm/select/select.js +6 -6
  403. package/esm/tab/tab-list.d.ts +14 -9
  404. package/esm/tab/tab-list.js +2 -2
  405. package/esm/tab/tab-panel.d.ts +15 -10
  406. package/esm/tab/tab-panel.js +4 -4
  407. package/esm/tab/tab-provider.js +4 -4
  408. package/esm/tab/tab-store.d.ts +0 -7
  409. package/esm/tab/tab-store.js +4 -4
  410. package/esm/tab/tab.d.ts +13 -10
  411. package/esm/tab/tab.js +4 -4
  412. package/esm/toolbar/toolbar-container.d.ts +3 -4
  413. package/esm/toolbar/toolbar-container.js +6 -6
  414. package/esm/toolbar/toolbar-input.d.ts +3 -4
  415. package/esm/toolbar/toolbar-input.js +5 -5
  416. package/esm/toolbar/toolbar-item.d.ts +7 -5
  417. package/esm/toolbar/toolbar-item.js +5 -5
  418. package/esm/toolbar/toolbar-provider.js +4 -4
  419. package/esm/toolbar/toolbar-separator.d.ts +7 -5
  420. package/esm/toolbar/toolbar-store.js +4 -4
  421. package/esm/toolbar/toolbar.d.ts +8 -3
  422. package/esm/toolbar/toolbar.js +6 -6
  423. package/esm/tooltip/tooltip-anchor.d.ts +13 -8
  424. package/esm/tooltip/tooltip-anchor.js +2 -2
  425. package/esm/tooltip/tooltip-arrow.d.ts +16 -10
  426. package/esm/tooltip/tooltip-provider.js +6 -6
  427. package/esm/tooltip/tooltip-store.js +6 -6
  428. package/esm/tooltip/tooltip.d.ts +10 -5
  429. package/esm/tooltip/tooltip.js +24 -18
  430. package/esm/tsconfig.build.tsbuildinfo +1 -1
  431. package/esm/utils/store.js +1 -1
  432. package/esm/utils/system.d.ts +2 -2
  433. package/package.json +5 -5
  434. package/cjs/__chunks/PD5YFDLO.cjs +0 -41
  435. package/cjs/dialog/utils/disable-tree-outside.cjs +0 -12
  436. package/cjs/dialog/utils/disable-tree-outside.d.ts +0 -3
  437. package/dialog/utils/disable-tree-outside/package.json +0 -8
  438. package/esm/__chunks/5M4ITSXL.js +0 -41
  439. package/esm/dialog/utils/disable-tree-outside.d.ts +0 -3
  440. package/cjs/__chunks/{BFLDQF3L.cjs → GQAB4M3B.cjs} +3 -3
  441. package/esm/__chunks/{M4OAD5XF.js → YTHH33BK.js} +3 -3
@@ -26,20 +26,27 @@ export declare const useMenuItem: import("../utils/types.js").Hook<MenuItemOptio
26
26
  * @see https://ariakit.org/components/menu
27
27
  * @example
28
28
  * ```jsx
29
- * const menu = useMenuStore();
30
- * <MenuButton store={menu}>Edit</MenuButton>
31
- * <Menu store={menu}>
32
- * <MenuItem>Undo</MenuItem>
33
- * <MenuItem>Redo</MenuItem>
34
- * </Menu>
29
+ * <MenuProvider>
30
+ * <MenuButton>Edit</MenuButton>
31
+ * <Menu>
32
+ * <MenuItem>Undo</MenuItem>
33
+ * <MenuItem>Redo</MenuItem>
34
+ * </Menu>
35
+ * </MenuProvider>
35
36
  * ```
36
37
  */
37
38
  export declare const MenuItem: import("../utils/types.js").Component<MenuItemOptions<"div">>;
38
39
  export interface MenuItemOptions<T extends As = "div"> extends CompositeItemOptions<T>, CompositeHoverOptions<T> {
39
40
  /**
40
- * Object returned by the `useMenuBarStore` or `useMenuStore` hooks. If not
41
- * provided, the parent `Menu` or `MenuBar` components' context will be
42
- * used.
41
+ * Object returned by the
42
+ * [`useMenuStore`](https://ariakit.org/reference/use-menu-store) or
43
+ * [`useMenuBarStore`](https://ariakit.org/reference/use-menu-bar-store)
44
+ * hooks. If not provided, the closest
45
+ * [`Menu`](https://ariakit.org/reference/menu),
46
+ * [`MenuProvider`](https://ariakit.org/reference/menu-provider),
47
+ * [`MenuBar`](https://ariakit.org/reference/menu-bar), or
48
+ * [`MenuBarProvider`](https://ariakit.org/reference/menu-bar-provider)
49
+ * components' context will be used.
43
50
  */
44
51
  store?: MenuBarStore | MenuStore;
45
52
  /**
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  MenuItem,
3
3
  useMenuItem
4
- } from "../__chunks/EKIHOHWR.js";
4
+ } from "../__chunks/JRZOTPWS.js";
5
5
  import "../__chunks/W7JXAQKF.js";
6
6
  import "../__chunks/2GC3IEM7.js";
7
7
  import "../__chunks/XCH4OEEE.js";
8
- import "../__chunks/72OJKUSZ.js";
9
- import "../__chunks/LND6SMHN.js";
8
+ import "../__chunks/IQXVWBXC.js";
9
+ import "../__chunks/CAIAWNDV.js";
10
10
  import "../__chunks/XIA3HAXM.js";
11
11
  import "../__chunks/OXPV2NBK.js";
12
12
  import "../__chunks/5C7J4IAS.js";
@@ -15,10 +15,10 @@ import "../__chunks/5DA3HK6G.js";
15
15
  import "../__chunks/547DFODS.js";
16
16
  import "../__chunks/5YYGDU4E.js";
17
17
  import "../__chunks/56KWVYDN.js";
18
- import "../__chunks/M4OAD5XF.js";
18
+ import "../__chunks/YTHH33BK.js";
19
19
  import "../__chunks/BMLNRUFQ.js";
20
20
  import "../__chunks/CFEUKV6C.js";
21
- import "../__chunks/XXO3VVQU.js";
21
+ import "../__chunks/WHAB4XD6.js";
22
22
  import "../__chunks/J7Q2EO23.js";
23
23
  import "../__chunks/CP3U4HPL.js";
24
24
  import "../__chunks/PNRLI7OV.js";
@@ -23,18 +23,23 @@ export declare const useMenuList: import("../utils/types.js").Hook<MenuListOptio
23
23
  * @see https://ariakit.org/components/menu
24
24
  * @example
25
25
  * ```jsx
26
- * const menu = useMenuStore();
27
- * <MenuButton store={menu}>Edit</MenuButton>
28
- * <MenuList store={menu}>
29
- * <MenuItem>Undo</MenuItem>
30
- * <MenuItem>Redo</MenuItem>
31
- * </MenuList>
26
+ * <MenuProvider>
27
+ * <MenuButton>Edit</MenuButton>
28
+ * <MenuList>
29
+ * <MenuItem>Undo</MenuItem>
30
+ * <MenuItem>Redo</MenuItem>
31
+ * </MenuList>
32
+ * </MenuProvider>
32
33
  * ```
33
34
  */
34
35
  export declare const MenuList: import("../utils/types.js").Component<MenuListOptions<"div">>;
35
36
  export interface MenuListOptions<T extends As = "div"> extends CompositeOptions<T>, CompositeTypeaheadOptions<T>, Pick<DisclosureContentOptions, "alwaysVisible"> {
36
37
  /**
37
- * Object returned by the `useMenuStore` hook.
38
+ * Object returned by the
39
+ * [`useMenuStore`](https://ariakit.org/reference/use-menu-store) hook. If not
40
+ * provided, the closest
41
+ * [`MenuProvider`](https://ariakit.org/reference/menu-provider) component's
42
+ * context will be used.
38
43
  */
39
44
  store?: MenuStore;
40
45
  }
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  MenuList,
3
3
  useMenuList
4
- } from "../__chunks/VDTDCNMP.js";
4
+ } from "../__chunks/2BTPJSKW.js";
5
5
  import "../__chunks/2GC3IEM7.js";
6
6
  import "../__chunks/YVYWIVKG.js";
7
- import "../__chunks/HYNMOU7J.js";
7
+ import "../__chunks/56TAEBRJ.js";
8
8
  import "../__chunks/OXPV2NBK.js";
9
9
  import "../__chunks/5C7J4IAS.js";
10
10
  import "../__chunks/74KKBFVP.js";
11
- import "../__chunks/3D7ZB3CS.js";
11
+ import "../__chunks/KK6NPMOP.js";
12
12
  import "../__chunks/5DA3HK6G.js";
13
13
  import "../__chunks/547DFODS.js";
14
14
  import "../__chunks/5YYGDU4E.js";
15
15
  import "../__chunks/56KWVYDN.js";
16
- import "../__chunks/M4OAD5XF.js";
16
+ import "../__chunks/YTHH33BK.js";
17
17
  import "../__chunks/BMLNRUFQ.js";
18
18
  import "../__chunks/CFEUKV6C.js";
19
- import "../__chunks/XXO3VVQU.js";
19
+ import "../__chunks/WHAB4XD6.js";
20
20
  import "../__chunks/J7Q2EO23.js";
21
21
  import "../__chunks/CP3U4HPL.js";
22
22
  import "../__chunks/PNRLI7OV.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  useMenuStore
3
- } from "../__chunks/IFNQMENS.js";
3
+ } from "../__chunks/DLZTS5NV.js";
4
4
  import {
5
5
  MenuContextProvider
6
6
  } from "../__chunks/2GC3IEM7.js";
7
7
  import "../__chunks/QP4RN5UY.js";
8
- import "../__chunks/WGAKICTY.js";
9
- import "../__chunks/NWDF5QDV.js";
8
+ import "../__chunks/WRZGD4DH.js";
9
+ import "../__chunks/YS46MLTR.js";
10
10
  import "../__chunks/5C7J4IAS.js";
11
11
  import "../__chunks/74KKBFVP.js";
12
12
  import "../__chunks/5DA3HK6G.js";
@@ -14,11 +14,11 @@ import "../__chunks/547DFODS.js";
14
14
  import "../__chunks/5YYGDU4E.js";
15
15
  import "../__chunks/56KWVYDN.js";
16
16
  import "../__chunks/CFEUKV6C.js";
17
- import "../__chunks/UQFOL5I6.js";
18
- import "../__chunks/H2BG4QDT.js";
19
- import "../__chunks/UY3UQ4QI.js";
20
- import "../__chunks/A2ONBKVT.js";
21
- import "../__chunks/XXO3VVQU.js";
17
+ import "../__chunks/6W46XYWY.js";
18
+ import "../__chunks/QTZ67ALK.js";
19
+ import "../__chunks/IZFXPXHG.js";
20
+ import "../__chunks/OD3JT64N.js";
21
+ import "../__chunks/WHAB4XD6.js";
22
22
  import "../__chunks/J7Q2EO23.js";
23
23
  import "../__chunks/CP3U4HPL.js";
24
24
  import "../__chunks/PNRLI7OV.js";
@@ -23,21 +23,25 @@ export declare const useMenuSeparator: import("../utils/types.js").Hook<MenuSepa
23
23
  * @see https://ariakit.org/components/menu
24
24
  * @example
25
25
  * ```jsx
26
- * const menu = useMenuStore();
27
- * <MenuButton store={menu}>Edit</MenuButton>
28
- * <Menu store={menu}>
29
- * <MenuItem>Undo</MenuItem>
30
- * <MenuItem>Redo</MenuItem>
31
- * <MenuSeparator />
32
- * <MenuItem>Cut</MenuItem>
33
- * </Menu>
26
+ * <MenuProvider>
27
+ * <MenuButton>Edit</MenuButton>
28
+ * <Menu>
29
+ * <MenuItem>Undo</MenuItem>
30
+ * <MenuItem>Redo</MenuItem>
31
+ * <MenuSeparator />
32
+ * <MenuItem>Cut</MenuItem>
33
+ * </Menu>
34
+ * </MenuProvider>
34
35
  * ```
35
36
  */
36
37
  export declare const MenuSeparator: import("../utils/types.js").Component<MenuSeparatorOptions<"hr">>;
37
38
  export interface MenuSeparatorOptions<T extends As = "hr"> extends CompositeSeparatorOptions<T> {
38
39
  /**
39
- * Object returned by the `useMenuStore` hook. If not provided, the parent
40
- * `Menu` component's context will be used.
40
+ * Object returned by the
41
+ * [`useMenuStore`](https://ariakit.org/reference/use-menu-store) hook. If not
42
+ * provided, the closest [`Menu`](https://ariakit.org/reference/menu) or
43
+ * [`MenuProvider`](https://ariakit.org/reference/menu-provider) components'
44
+ * context will be used.
41
45
  */
42
46
  store?: MenuStore;
43
47
  }
@@ -98,25 +98,25 @@ export interface MenuStoreFunctions<T extends Values = Values> extends Pick<Menu
98
98
  export interface MenuStoreOptions<T extends Values = Values> extends Core.MenuStoreOptions<T>, CompositeStoreOptions, HovercardStoreOptions {
99
99
  /**
100
100
  * A callback that gets called when the `values` state changes.
101
- * @param values The new values.
102
- * @example
103
- * const [values, setValues] = useState({});
104
- * const menu = useMenuStore({ values, setValues });
101
+ *
102
+ * Live examples:
103
+ * - [MenuItemCheckbox](https://ariakit.org/examples/menu-item-checkbox)
105
104
  */
106
105
  setValues?: BivariantCallback<(values: MenuStoreState<T>["values"]) => void>;
107
106
  /**
108
107
  * A reference to a combobox store. This is used when combining the combobox
109
108
  * with a menu (e.g., dropdown menu with a search input). The stores will
110
109
  * share the same state.
111
- *
112
- * Live examples:
113
- * - [Menu with Combobox](https://ariakit.org/examples/menu-combobox)
114
110
  */
115
111
  combobox?: ComboboxStore | null;
116
112
  /**
117
113
  * A reference to a parent menu store. It's automatically set when nesting
118
- * menus in the React tree. You should manually set this if menus aren't nested
119
- * in the React tree.
114
+ * menus in the React tree. You should manually set this if menus aren't
115
+ * nested in the React tree.
116
+ *
117
+ * Live examples:
118
+ * - [MenuBar](https://ariakit.org/examples/menu-bar)
119
+ * - [Submenu](https://ariakit.org/examples/menu-nested)
120
120
  */
121
121
  parent?: MenuStore | null;
122
122
  /**
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  useMenuStore,
3
3
  useMenuStoreProps
4
- } from "../__chunks/IFNQMENS.js";
4
+ } from "../__chunks/DLZTS5NV.js";
5
5
  import "../__chunks/2GC3IEM7.js";
6
6
  import "../__chunks/QP4RN5UY.js";
7
- import "../__chunks/WGAKICTY.js";
8
- import "../__chunks/NWDF5QDV.js";
7
+ import "../__chunks/WRZGD4DH.js";
8
+ import "../__chunks/YS46MLTR.js";
9
9
  import "../__chunks/5C7J4IAS.js";
10
10
  import "../__chunks/74KKBFVP.js";
11
11
  import "../__chunks/5DA3HK6G.js";
@@ -13,11 +13,11 @@ import "../__chunks/547DFODS.js";
13
13
  import "../__chunks/5YYGDU4E.js";
14
14
  import "../__chunks/56KWVYDN.js";
15
15
  import "../__chunks/CFEUKV6C.js";
16
- import "../__chunks/UQFOL5I6.js";
17
- import "../__chunks/H2BG4QDT.js";
18
- import "../__chunks/UY3UQ4QI.js";
19
- import "../__chunks/A2ONBKVT.js";
20
- import "../__chunks/XXO3VVQU.js";
16
+ import "../__chunks/6W46XYWY.js";
17
+ import "../__chunks/QTZ67ALK.js";
18
+ import "../__chunks/IZFXPXHG.js";
19
+ import "../__chunks/OD3JT64N.js";
20
+ import "../__chunks/WHAB4XD6.js";
21
21
  import "../__chunks/J7Q2EO23.js";
22
22
  import "../__chunks/CP3U4HPL.js";
23
23
  import "../__chunks/PNRLI7OV.js";
@@ -1,6 +1,6 @@
1
- import type { HovercardOptions } from "../hovercard/hovercard.js";
1
+ import type { HovercardOptions } from "../hovercard/hovercard.jsx";
2
2
  import type { As, Props } from "../utils/types.js";
3
- import type { MenuListOptions } from "./menu-list.js";
3
+ import type { MenuListOptions } from "./menu-list.jsx";
4
4
  /**
5
5
  * Returns props to create a `Menu` component.
6
6
  * @see https://ariakit.org/components/menu
@@ -21,12 +21,13 @@ export declare const useMenu: import("../utils/types.js").Hook<MenuOptions<"div"
21
21
  * @see https://ariakit.org/components/menu
22
22
  * @example
23
23
  * ```jsx
24
- * const menu = useMenuStore();
25
- * <MenuButton store={menu}>Edit</MenuButton>
26
- * <Menu store={menu}>
27
- * <MenuItem>Undo</MenuItem>
28
- * <MenuItem>Redo</MenuItem>
29
- * </Menu>
24
+ * <MenuProvider>
25
+ * <MenuButton>Edit</MenuButton>
26
+ * <Menu>
27
+ * <MenuItem>Undo</MenuItem>
28
+ * <MenuItem>Redo</MenuItem>
29
+ * </Menu>
30
+ * </MenuProvider>
30
31
  * ```
31
32
  */
32
33
  export declare const Menu: import("../utils/types.js").Component<MenuOptions<"div">>;
package/esm/menu/menu.js CHANGED
@@ -1,30 +1,32 @@
1
1
  import {
2
2
  useMenuList
3
- } from "../__chunks/VDTDCNMP.js";
3
+ } from "../__chunks/2BTPJSKW.js";
4
4
  import {
5
5
  useMenuProviderContext
6
6
  } from "../__chunks/2GC3IEM7.js";
7
7
  import "../__chunks/YVYWIVKG.js";
8
- import "../__chunks/HYNMOU7J.js";
8
+ import "../__chunks/56TAEBRJ.js";
9
9
  import "../__chunks/OXPV2NBK.js";
10
10
  import "../__chunks/5C7J4IAS.js";
11
11
  import "../__chunks/74KKBFVP.js";
12
12
  import {
13
13
  useHovercard
14
- } from "../__chunks/34JEM52B.js";
14
+ } from "../__chunks/F7UYWUBJ.js";
15
15
  import "../__chunks/X7FKJQME.js";
16
- import "../__chunks/GP4UGJIZ.js";
17
- import "../__chunks/4RP654JS.js";
18
- import "../__chunks/W575AF63.js";
19
- import "../__chunks/PLOINBVB.js";
20
- import "../__chunks/HAVCR65N.js";
16
+ import "../__chunks/H3CXUGYG.js";
17
+ import {
18
+ createDialogComponent
19
+ } from "../__chunks/UXIMR4AS.js";
20
+ import "../__chunks/NXB7YL3C.js";
21
+ import "../__chunks/HWJ7DGMR.js";
22
+ import "../__chunks/7LB47D2O.js";
21
23
  import "../__chunks/62DFK33R.js";
22
- import "../__chunks/KGDYSCOM.js";
23
- import "../__chunks/XASENZA4.js";
24
- import "../__chunks/X5VV5CBA.js";
24
+ import "../__chunks/FRKOFFMT.js";
25
+ import "../__chunks/EGOOWJGN.js";
26
+ import "../__chunks/7VWXICM7.js";
25
27
  import "../__chunks/KOVUJERF.js";
26
28
  import "../__chunks/IXXFVVA2.js";
27
- import "../__chunks/5M4ITSXL.js";
29
+ import "../__chunks/VRCYQ6JX.js";
28
30
  import "../__chunks/7JNF6I52.js";
29
31
  import "../__chunks/3LGVTTHD.js";
30
32
  import "../__chunks/FW6QFGFT.js";
@@ -36,12 +38,12 @@ import "../__chunks/QW4PFVNF.js";
36
38
  import "../__chunks/LDDPB3PY.js";
37
39
  import "../__chunks/COQHFAEN.js";
38
40
  import "../__chunks/PGK6S5NC.js";
39
- import "../__chunks/3D7ZB3CS.js";
41
+ import "../__chunks/KK6NPMOP.js";
40
42
  import "../__chunks/5DA3HK6G.js";
41
43
  import "../__chunks/547DFODS.js";
42
44
  import "../__chunks/5YYGDU4E.js";
43
45
  import "../__chunks/56KWVYDN.js";
44
- import "../__chunks/M4OAD5XF.js";
46
+ import "../__chunks/YTHH33BK.js";
45
47
  import "../__chunks/BMLNRUFQ.js";
46
48
  import "../__chunks/6XXSNRNX.js";
47
49
  import {
@@ -49,11 +51,10 @@ import {
49
51
  createElement,
50
52
  createHook
51
53
  } from "../__chunks/CFEUKV6C.js";
52
- import "../__chunks/A2ONBKVT.js";
53
- import "../__chunks/XXO3VVQU.js";
54
+ import "../__chunks/IZFXPXHG.js";
55
+ import "../__chunks/OD3JT64N.js";
56
+ import "../__chunks/WHAB4XD6.js";
54
57
  import {
55
- useBooleanEvent,
56
- useEvent,
57
58
  useMergeRefs
58
59
  } from "../__chunks/J7Q2EO23.js";
59
60
  import "../__chunks/CP3U4HPL.js";
@@ -63,20 +64,24 @@ import {
63
64
  __spreadValues
64
65
  } from "../__chunks/PNRLI7OV.js";
65
66
 
66
- // src/menu/menu.ts
67
+ // src/menu/menu.tsx
67
68
  import { createRef, useEffect, useRef, useState } from "react";
68
69
  import { hasFocusWithin } from "@ariakit/core/utils/focus";
69
- import { invariant } from "@ariakit/core/utils/misc";
70
+ import { invariant, isFalsyBooleanCallback } from "@ariakit/core/utils/misc";
70
71
  var useMenu = createHook(
71
72
  (_a) => {
72
73
  var _b = _a, {
73
74
  store,
75
+ modal: modalProp = false,
76
+ portal = !!modalProp,
74
77
  hideOnEscape = true,
75
78
  autoFocusOnShow = true,
76
79
  hideOnHoverOutside,
77
80
  alwaysVisible
78
81
  } = _b, props = __objRest(_b, [
79
82
  "store",
83
+ "modal",
84
+ "portal",
80
85
  "hideOnEscape",
81
86
  "autoFocusOnShow",
82
87
  "hideOnHoverOutside",
@@ -93,24 +98,8 @@ var useMenu = createHook(
93
98
  const parentMenuBar = store.menubar;
94
99
  const hasParentMenu = !!parentMenu;
95
100
  const parentIsMenuBar = !!parentMenuBar && !hasParentMenu;
96
- const onKeyDownProp = props.onKeyDown;
97
- const hideOnEscapeProp = useBooleanEvent(hideOnEscape);
98
- const onKeyDown = useEvent((event) => {
99
- onKeyDownProp == null ? void 0 : onKeyDownProp(event);
100
- if (event.defaultPrevented)
101
- return;
102
- if (event.key === "Escape") {
103
- if (!hideOnEscapeProp(event))
104
- return;
105
- if (!hasParentMenu) {
106
- event.stopPropagation();
107
- }
108
- return store == null ? void 0 : store.hide();
109
- }
110
- });
111
101
  props = __spreadProps(__spreadValues({}, props), {
112
- ref: useMergeRefs(ref, props.ref),
113
- onKeyDown
102
+ ref: useMergeRefs(ref, props.ref)
114
103
  });
115
104
  const _a2 = useMenuList(
116
105
  __spreadValues({ store, alwaysVisible }, props)
@@ -150,14 +139,21 @@ var useMenu = createHook(
150
139
  cleaning = true;
151
140
  };
152
141
  }, [store, autoFocusOnShowState, initialFocus, items, baseElement]);
142
+ const modal = hasParentMenu ? false : modalProp;
153
143
  const mayAutoFocusOnShow = !!autoFocusOnShow;
154
- const canAutoFocusOnShow = !!initialFocusRef || !!props.initialFocus || !!props.modal;
144
+ const canAutoFocusOnShow = !!initialFocusRef || !!props.initialFocus || !!modal;
155
145
  props = useHovercard(__spreadProps(__spreadValues({
156
146
  store,
157
147
  alwaysVisible,
158
148
  initialFocus: initialFocusRef,
159
- autoFocusOnShow: mayAutoFocusOnShow ? canAutoFocusOnShow && autoFocusOnShow : autoFocusOnShowState || !!props.modal
149
+ autoFocusOnShow: mayAutoFocusOnShow ? canAutoFocusOnShow && autoFocusOnShow : autoFocusOnShowState || !!modal
160
150
  }, props), {
151
+ hideOnEscape: (event) => {
152
+ if (isFalsyBooleanCallback(hideOnEscape, event))
153
+ return false;
154
+ store == null ? void 0 : store.hideAll();
155
+ return true;
156
+ },
161
157
  hideOnHoverOutside: (event) => {
162
158
  if (typeof hideOnHoverOutside === "function") {
163
159
  return hideOnHoverOutside(event);
@@ -177,14 +173,9 @@ var useMenu = createHook(
177
173
  return false;
178
174
  return true;
179
175
  },
180
- // If it's a submenu, it shouldn't behave like a modal dialog, nor display
181
- // a backdrop.
182
- modal: hasParentMenu ? false : props.modal,
183
- backdrop: hasParentMenu ? false : props.backdrop,
184
- // If it's a submenu, hide on esc will be handled differently. That is,
185
- // event.stopPropagation() won't be called, so the parent menus will also
186
- // be closed.
187
- hideOnEscape: hasParentMenu ? false : hideOnEscape
176
+ modal,
177
+ portal,
178
+ backdrop: hasParentMenu ? false : props.backdrop
188
179
  }));
189
180
  props = __spreadValues({
190
181
  "aria-labelledby": ariaLabelledBy
@@ -192,10 +183,13 @@ var useMenu = createHook(
192
183
  return props;
193
184
  }
194
185
  );
195
- var Menu = createComponent((props) => {
196
- const htmlProps = useMenu(props);
197
- return createElement("div", htmlProps);
198
- });
186
+ var Menu = createDialogComponent(
187
+ createComponent((props) => {
188
+ const htmlProps = useMenu(props);
189
+ return createElement("div", htmlProps);
190
+ }),
191
+ useMenuProviderContext
192
+ );
199
193
  if (process.env.NODE_ENV !== "production") {
200
194
  Menu.displayName = "Menu";
201
195
  }
@@ -18,15 +18,20 @@ export declare const usePopoverAnchor: import("../utils/types.js").Hook<PopoverA
18
18
  * @see https://ariakit.org/components/popover
19
19
  * @example
20
20
  * ```jsx
21
- * const popover = usePopoverStore();
22
- * <PopoverAnchor store={popover}>Anchor</PopoverAnchor>
23
- * <Popover store={popover}>Popover</Popover>
21
+ * <PopoverProvider>
22
+ * <PopoverAnchor>Anchor</PopoverAnchor>
23
+ * <Popover>Popover</Popover>
24
+ * </PopoverProvider>
24
25
  * ```
25
26
  */
26
27
  export declare const PopoverAnchor: import("../utils/types.js").Component<PopoverAnchorOptions<"div">>;
27
28
  export interface PopoverAnchorOptions<T extends As = "div"> extends Options<T> {
28
29
  /**
29
- * Object returned by the `usePopoverStore` hook.
30
+ * Object returned by the
31
+ * [`usePopoverStore`](https://ariakit.org/reference/use-popover-store) hook.
32
+ * If not provided, the closest
33
+ * [`PopoverProvider`](https://ariakit.org/reference/popover-provider)
34
+ * component's context will be used.
30
35
  */
31
36
  store?: PopoverStore;
32
37
  }
@@ -15,22 +15,28 @@ import type { PopoverStore } from "./popover-store.js";
15
15
  */
16
16
  export declare const usePopoverArrow: import("../utils/types.js").Hook<PopoverArrowOptions<"div">>;
17
17
  /**
18
- * Renders an arrow inside a `Popover` component.
18
+ * Renders an arrow inside a [`Popover`](https://ariakit.org/reference/popover)
19
+ * component.
19
20
  * @see https://ariakit.org/components/popover
20
21
  * @example
21
22
  * ```jsx
22
- * const popover = usePopoverStore();
23
- * <Popover store={popover}>
24
- * <PopoverArrow />
25
- * Popover
26
- * </Popover>
23
+ * <PopoverProvider>
24
+ * <Popover>
25
+ * <PopoverArrow />
26
+ * Popover
27
+ * </Popover>
28
+ * </PopoverProvider>
27
29
  * ```
28
30
  */
29
31
  export declare const PopoverArrow: import("../utils/types.js").Component<PopoverArrowOptions<"div">>;
30
32
  export interface PopoverArrowOptions<T extends As = "div"> extends Options<T> {
31
33
  /**
32
- * Object returned by the `usePopoverStore` hook. If not provided, the parent
33
- * `Popover` component's context will be used.
34
+ * Object returned by the
35
+ * [`usePopoverStore`](https://ariakit.org/reference/use-popover-store) hook.
36
+ * If not provided, the closest
37
+ * [`Popover`](https://ariakit.org/reference/popover) or
38
+ * [`PopoverProvider`](https://ariakit.org/reference/popover-provider)
39
+ * components' context will be used.
34
40
  */
35
41
  store?: PopoverStore;
36
42
  /**
@@ -16,22 +16,27 @@ import type { PopoverStore } from "./popover-store.js";
16
16
  export declare const usePopoverDescription: import("../utils/types.js").Hook<PopoverDescriptionOptions<"p">>;
17
17
  /**
18
18
  * Renders a description in a popover. This component must be wrapped with
19
- * `Popover` so the `aria-describedby` prop is properly set on the popover
20
- * element.
19
+ * [`Popover`](https://ariakit.org/reference/popover) so the `aria-describedby`
20
+ * prop is properly set on the popover element.
21
21
  * @see https://ariakit.org/components/popover
22
22
  * @example
23
23
  * ```jsx
24
- * const popover = usePopoverStore();
25
- * <Popover store={popover}>
26
- * <PopoverDescription>Description</PopoverDescription>
27
- * </Popover>
24
+ * <PopoverProvider>
25
+ * <Popover>
26
+ * <PopoverDescription>Description</PopoverDescription>
27
+ * </Popover>
28
+ * </PopoverProvider>
28
29
  * ```
29
30
  */
30
31
  export declare const PopoverDescription: import("../utils/types.js").Component<PopoverDescriptionOptions<"p">>;
31
32
  export interface PopoverDescriptionOptions<T extends As = "p"> extends DialogDescriptionOptions<T> {
32
33
  /**
33
- * Object returned by the `usePopoverStore` hook. If not provided, the parent
34
- * `Popover` component's context will be used.
34
+ * Object returned by the
35
+ * [`usePopoverStore`](https://ariakit.org/reference/use-popover-store) hook.
36
+ * If not provided, the closest
37
+ * [`Popover`](https://ariakit.org/reference/popover) or
38
+ * [`PopoverProvider`](https://ariakit.org/reference/popover-provider)
39
+ * components' context will be used.
35
40
  */
36
41
  store?: PopoverStore;
37
42
  }
@@ -16,28 +16,36 @@ import type { PopoverStore, PopoverStoreState } from "./popover-store.js";
16
16
  export declare const usePopoverDisclosureArrow: import("../utils/types.js").Hook<PopoverDisclosureArrowOptions<"span">>;
17
17
  /**
18
18
  * Renders an arrow pointing to the popover position. It's usually rendered
19
- * inside the `PopoverDisclosure` component.
19
+ * inside the
20
+ * [`PopoverDisclosure`](https://ariakit.org/reference/popover-disclosure)
21
+ * component.
20
22
  * @see https://ariakit.org/components/popover
21
23
  * @example
22
24
  * ```jsx
23
- * const popover = usePopoverStore();
24
- * <PopoverDisclosure store={popover}>
25
- * Disclosure
26
- * <PopoverDisclosureArrow />
27
- * </PopoverDisclosure>
28
- * <Popover store={popover}>Popover</Popover>
25
+ * <PopoverProvider>
26
+ * <PopoverDisclosure>
27
+ * Disclosure
28
+ * <PopoverDisclosureArrow />
29
+ * </PopoverDisclosure>
30
+ * <Popover>Popover</Popover>
31
+ * </PopoverProvider>
29
32
  * ```
30
33
  */
31
34
  export declare const PopoverDisclosureArrow: import("../utils/types.js").Component<PopoverDisclosureArrowOptions<"span">>;
32
35
  export interface PopoverDisclosureArrowOptions<T extends As = "span"> extends Options<T> {
33
36
  /**
34
- * Object returned by the `usePopoverStore` hook. If not provided, the parent
35
- * `PopoverDisclosure` component's context will be used.
37
+ * Object returned by the
38
+ * [`usePopoverStore`](https://ariakit.org/reference/use-popover-store) hook.
39
+ * If not provided, the closest
40
+ * [`PopoverDisclosure`](https://ariakit.org/reference/popover-disclosure) or
41
+ * [`PopoverProvider`](https://ariakit.org/reference/popover-provider)
42
+ * components' context will be used.
36
43
  */
37
44
  store?: PopoverStore;
38
45
  /**
39
46
  * Placement to which the arrow should point. If not provided, the parent
40
- * `PopoverDisclosure` component's context will be used.
47
+ * [`PopoverDisclosure`](https://ariakit.org/reference/popover-disclosure)
48
+ * component's context will be used.
41
49
  */
42
50
  placement?: PopoverStoreState["placement"];
43
51
  }
@@ -18,9 +18,10 @@ export declare const usePopoverDisclosure: import("../utils/types.js").Hook<Popo
18
18
  * @see https://ariakit.org/components/popover
19
19
  * @example
20
20
  * ```jsx
21
- * const popover = usePopoverStore();
22
- * <PopoverDisclosure store={popover}>Disclosure</PopoverDisclosure>
23
- * <Popover store={popover}>Popover</Popover>
21
+ * <PopoverProvider>
22
+ * <PopoverDisclosure>Disclosure</PopoverDisclosure>
23
+ * <Popover>Popover</Popover>
24
+ * </PopoverProvider>
24
25
  * ```
25
26
  */
26
27
  export declare const PopoverDisclosure: import("../utils/types.js").Component<PopoverDisclosureOptions<"button">>;