@ariakit/react-core 0.3.8 → 0.3.10

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 (317) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/cjs/__chunks/{EQ4A5RPW.cjs → 2GETDAIQ.cjs} +4 -4
  3. package/cjs/__chunks/{XFPRAS3J.cjs → 36QK2QLE.cjs} +15 -31
  4. package/cjs/__chunks/{KAQBQZEG.cjs → 3KZQJDTV.cjs} +2 -2
  5. package/cjs/__chunks/{L3WS5HGI.cjs → 47RLIVET.cjs} +10 -10
  6. package/cjs/__chunks/{S6WUBPBB.cjs → 65LGW5LY.cjs} +4 -2
  7. package/cjs/__chunks/{65GJIQK5.cjs → 7BPAESN3.cjs} +5 -5
  8. package/cjs/__chunks/{SSJIHRU6.cjs → 7KFYPSJO.cjs} +4 -4
  9. package/cjs/__chunks/{OALXXRFM.cjs → B233QVZE.cjs} +2 -1
  10. package/cjs/__chunks/{YAPOM5RT.cjs → DHSZ2ZFJ.cjs} +28 -16
  11. package/cjs/__chunks/{TUVU5ERH.cjs → DKOWT2IJ.cjs} +3 -3
  12. package/cjs/__chunks/{FQNGCFYY.cjs → EGAIDKB5.cjs} +5 -5
  13. package/cjs/__chunks/{5T425W4R.cjs → EWKBICMP.cjs} +5 -5
  14. package/cjs/__chunks/{YZ7J6ELT.cjs → GF6NWLKX.cjs} +7 -7
  15. package/cjs/__chunks/{X3I2WFGC.cjs → HRKRTCJC.cjs} +4 -4
  16. package/cjs/__chunks/{YEV7NEBU.cjs → IGTX5NFA.cjs} +4 -4
  17. package/cjs/__chunks/{BY6ER73U.cjs → KQUC6RXT.cjs} +2 -2
  18. package/cjs/__chunks/{WH4I6OSN.cjs → LO3RECOD.cjs} +2 -2
  19. package/cjs/__chunks/{A5RWZSX7.cjs → N6CR2VNN.cjs} +12 -12
  20. package/cjs/__chunks/{RIZYIKBE.cjs → NVHGMKAE.cjs} +7 -5
  21. package/cjs/__chunks/{MYMQ45UI.cjs → NVRUQ5V7.cjs} +7 -7
  22. package/cjs/__chunks/{HGT5CLDM.cjs → PHZJAGWK.cjs} +4 -4
  23. package/cjs/__chunks/{FA25CV2I.cjs → PSR537T6.cjs} +8 -8
  24. package/cjs/__chunks/{XMGFHUXO.cjs → QLRXXIBY.cjs} +7 -7
  25. package/cjs/__chunks/{SHOS7XOU.cjs → RTT4XR27.cjs} +4 -4
  26. package/cjs/__chunks/{MMLLSE2M.cjs → SANV4XBF.cjs} +2 -2
  27. package/cjs/__chunks/{UL7JVGEU.cjs → T5G6DLC6.cjs} +2 -2
  28. package/cjs/__chunks/{7BSMGTGR.cjs → TD5MOASJ.cjs} +2 -2
  29. package/cjs/__chunks/{35LC5W3M.cjs → TGTVGYEZ.cjs} +8 -2
  30. package/cjs/__chunks/{P43G7USH.cjs → TTMCZ7ZN.cjs} +9 -9
  31. package/cjs/__chunks/{OH2VU3VU.cjs → UBME4GBY.cjs} +6 -6
  32. package/cjs/__chunks/{F24A3PBW.cjs → UUTXBBHD.cjs} +2 -2
  33. package/cjs/__chunks/{XGKLTARH.cjs → V6LYK7WK.cjs} +7 -7
  34. package/cjs/__chunks/{UQ7KT5UO.cjs → VQHA56HB.cjs} +2 -2
  35. package/cjs/__chunks/{N6Q3QJ4G.cjs → VQJ44BSY.cjs} +2 -2
  36. package/cjs/__chunks/{5GQV7KPQ.cjs → VSDH37LI.cjs} +3 -3
  37. package/cjs/__chunks/{23LJEFHI.cjs → XDTEICF5.cjs} +7 -7
  38. package/cjs/__chunks/{NLH3Z3GA.cjs → Y22E2GCT.cjs} +6 -6
  39. package/cjs/checkbox/checkbox-context.d.cts +5 -5
  40. package/cjs/checkbox/checkbox-context.d.ts +5 -5
  41. package/cjs/checkbox/checkbox-provider.cjs +3 -3
  42. package/cjs/checkbox/checkbox-store.cjs +3 -3
  43. package/cjs/checkbox/checkbox-store.d.cts +6 -8
  44. package/cjs/checkbox/checkbox-store.d.ts +6 -8
  45. package/cjs/checkbox/checkbox.cjs +3 -3
  46. package/cjs/collection/collection-context.d.cts +19 -0
  47. package/cjs/collection/collection-context.d.ts +19 -0
  48. package/cjs/collection/collection-provider.cjs +3 -3
  49. package/cjs/collection/collection-provider.d.cts +2 -4
  50. package/cjs/collection/collection-provider.d.ts +2 -4
  51. package/cjs/collection/collection-renderer.cjs +3 -3
  52. package/cjs/collection/collection-renderer.d.cts +0 -1
  53. package/cjs/collection/collection-renderer.d.ts +0 -1
  54. package/cjs/collection/collection-store.cjs +3 -3
  55. package/cjs/collection/collection-store.d.cts +10 -9
  56. package/cjs/collection/collection-store.d.ts +10 -9
  57. package/cjs/combobox/combobox-context.d.cts +5 -5
  58. package/cjs/combobox/combobox-context.d.ts +5 -5
  59. package/cjs/combobox/combobox-group.cjs +32 -5
  60. package/cjs/combobox/combobox-item.cjs +6 -4
  61. package/cjs/combobox/combobox-list.cjs +4 -4
  62. package/cjs/combobox/combobox-popover.cjs +12 -12
  63. package/cjs/combobox/combobox-provider.cjs +8 -8
  64. package/cjs/combobox/combobox-store.cjs +8 -8
  65. package/cjs/combobox/combobox-store.d.cts +8 -9
  66. package/cjs/combobox/combobox-store.d.ts +8 -9
  67. package/cjs/composite/composite-container.cjs +3 -3
  68. package/cjs/composite/composite-context.d.cts +5 -5
  69. package/cjs/composite/composite-context.d.ts +5 -5
  70. package/cjs/composite/composite-hover.d.cts +1 -0
  71. package/cjs/composite/composite-hover.d.ts +1 -0
  72. package/cjs/composite/composite-item.cjs +3 -3
  73. package/cjs/composite/composite-overflow-disclosure.cjs +3 -3
  74. package/cjs/composite/composite-overflow-store.cjs +6 -6
  75. package/cjs/composite/composite-overflow.cjs +9 -9
  76. package/cjs/composite/composite-provider.cjs +4 -4
  77. package/cjs/composite/composite-provider.d.cts +2 -4
  78. package/cjs/composite/composite-provider.d.ts +2 -4
  79. package/cjs/composite/composite-renderer.cjs +4 -4
  80. package/cjs/composite/composite-renderer.d.cts +0 -1
  81. package/cjs/composite/composite-renderer.d.ts +0 -1
  82. package/cjs/composite/composite-store.cjs +4 -4
  83. package/cjs/composite/composite-store.d.cts +10 -9
  84. package/cjs/composite/composite-store.d.ts +10 -9
  85. package/cjs/composite/utils.d.cts +48 -0
  86. package/cjs/composite/utils.d.ts +48 -0
  87. package/cjs/dialog/dialog-backdrop.cjs +5 -5
  88. package/cjs/dialog/dialog-provider.cjs +4 -4
  89. package/cjs/dialog/dialog-store.cjs +4 -4
  90. package/cjs/dialog/dialog-store.d.cts +4 -2
  91. package/cjs/dialog/dialog-store.d.ts +4 -2
  92. package/cjs/dialog/dialog.cjs +8 -8
  93. package/cjs/disclosure/disclosure-content.cjs +3 -3
  94. package/cjs/disclosure/disclosure-provider.cjs +3 -3
  95. package/cjs/disclosure/disclosure-store.cjs +3 -3
  96. package/cjs/disclosure/disclosure-store.d.cts +8 -4
  97. package/cjs/disclosure/disclosure-store.d.ts +8 -4
  98. package/cjs/form/form-checkbox.cjs +5 -5
  99. package/cjs/form/form-context.d.cts +5 -5
  100. package/cjs/form/form-context.d.ts +5 -5
  101. package/cjs/form/form-provider.cjs +4 -4
  102. package/cjs/form/form-radio.cjs +4 -4
  103. package/cjs/form/form-store.cjs +4 -4
  104. package/cjs/form/form-store.d.cts +14 -12
  105. package/cjs/form/form-store.d.ts +14 -12
  106. package/cjs/hovercard/hovercard-anchor.cjs +2 -2
  107. package/cjs/hovercard/hovercard-provider.cjs +6 -6
  108. package/cjs/hovercard/hovercard-store.cjs +6 -6
  109. package/cjs/hovercard/hovercard-store.d.cts +4 -2
  110. package/cjs/hovercard/hovercard-store.d.ts +4 -2
  111. package/cjs/hovercard/hovercard.cjs +10 -10
  112. package/cjs/menu/menu-bar-provider.cjs +6 -6
  113. package/cjs/menu/menu-bar-store.cjs +6 -6
  114. package/cjs/menu/menu-bar.cjs +6 -6
  115. package/cjs/menu/menu-button.cjs +7 -4
  116. package/cjs/menu/menu-context.d.cts +5 -5
  117. package/cjs/menu/menu-context.d.ts +5 -5
  118. package/cjs/menu/menu-item-checkbox.cjs +8 -8
  119. package/cjs/menu/menu-item-radio.cjs +6 -6
  120. package/cjs/menu/menu-item.cjs +4 -4
  121. package/cjs/menu/menu-list.cjs +4 -4
  122. package/cjs/menu/menu-provider.cjs +9 -9
  123. package/cjs/menu/menu-store.cjs +9 -9
  124. package/cjs/menu/menu-store.d.cts +11 -27
  125. package/cjs/menu/menu-store.d.ts +11 -27
  126. package/cjs/menu/menu.cjs +72 -29
  127. package/cjs/menubar/menubar-provider.cjs +6 -6
  128. package/cjs/menubar/menubar-store.cjs +5 -5
  129. package/cjs/menubar/menubar-store.d.cts +4 -2
  130. package/cjs/menubar/menubar-store.d.ts +4 -2
  131. package/cjs/menubar/menubar.cjs +6 -6
  132. package/cjs/popover/popover-provider.cjs +5 -5
  133. package/cjs/popover/popover-store.cjs +5 -5
  134. package/cjs/popover/popover-store.d.cts +4 -2
  135. package/cjs/popover/popover-store.d.ts +4 -2
  136. package/cjs/popover/popover.cjs +9 -9
  137. package/cjs/portal/portal.cjs +2 -2
  138. package/cjs/radio/radio-provider.cjs +5 -5
  139. package/cjs/radio/radio-store.cjs +5 -5
  140. package/cjs/radio/radio-store.d.cts +4 -2
  141. package/cjs/radio/radio-store.d.ts +4 -2
  142. package/cjs/radio/radio.cjs +4 -4
  143. package/cjs/select/select-context.d.cts +5 -5
  144. package/cjs/select/select-context.d.ts +5 -5
  145. package/cjs/select/select-item.cjs +3 -3
  146. package/cjs/select/select-list.cjs +4 -4
  147. package/cjs/select/select-popover.cjs +12 -12
  148. package/cjs/select/select-provider.cjs +8 -8
  149. package/cjs/select/select-renderer.cjs +7 -7
  150. package/cjs/select/select-store.cjs +8 -8
  151. package/cjs/select/select-store.d.cts +12 -12
  152. package/cjs/select/select-store.d.ts +12 -12
  153. package/cjs/tab/tab-panel.cjs +5 -5
  154. package/cjs/tab/tab-provider.cjs +5 -5
  155. package/cjs/tab/tab-store.cjs +5 -5
  156. package/cjs/tab/tab-store.d.cts +45 -0
  157. package/cjs/tab/tab-store.d.ts +45 -0
  158. package/cjs/tab/tab.cjs +3 -3
  159. package/cjs/toolbar/toolbar-container.cjs +6 -6
  160. package/cjs/toolbar/toolbar-input.cjs +4 -4
  161. package/cjs/toolbar/toolbar-item.cjs +4 -4
  162. package/cjs/toolbar/toolbar-provider.cjs +5 -5
  163. package/cjs/toolbar/toolbar-store.cjs +5 -5
  164. package/cjs/toolbar/toolbar-store.d.cts +4 -2
  165. package/cjs/toolbar/toolbar-store.d.ts +4 -2
  166. package/cjs/toolbar/toolbar.cjs +5 -5
  167. package/cjs/tooltip/tooltip-anchor.cjs +2 -2
  168. package/cjs/tooltip/tooltip-provider.cjs +7 -7
  169. package/cjs/tooltip/tooltip-store.cjs +7 -7
  170. package/cjs/tooltip/tooltip-store.d.cts +4 -2
  171. package/cjs/tooltip/tooltip-store.d.ts +4 -2
  172. package/cjs/tooltip/tooltip.cjs +11 -11
  173. package/cjs/utils/store.cjs +2 -2
  174. package/esm/__chunks/{XF5ITC6P.js → 4OZYHFMH.js} +3 -2
  175. package/esm/__chunks/{JSLLR7RC.js → 57VLL43X.js} +2 -2
  176. package/esm/__chunks/{2CW6UMKT.js → 5L7XBKAC.js} +2 -2
  177. package/esm/__chunks/{D42GAV4S.js → 6H3EJNCE.js} +1 -1
  178. package/esm/__chunks/{CRADASSQ.js → 6L5IUFNE.js} +2 -2
  179. package/esm/__chunks/{2N7L2ZZE.js → 6SB7F42L.js} +2 -2
  180. package/esm/__chunks/{QKWOT47C.js → 7X4DYKYU.js} +8 -2
  181. package/esm/__chunks/{HXL5CHAC.js → A3PM2ZVJ.js} +2 -2
  182. package/esm/__chunks/{ELWRSPQ7.js → A6ER4BO6.js} +2 -2
  183. package/esm/__chunks/{4KTUOVEM.js → DHHIMTTV.js} +2 -2
  184. package/esm/__chunks/{4AMOOZBQ.js → DKALGMO6.js} +1 -1
  185. package/esm/__chunks/{P3UZS6BC.js → DYLO4TTE.js} +3 -3
  186. package/esm/__chunks/{UNZQE6T7.js → EENTNM7A.js} +2 -2
  187. package/esm/__chunks/{ZETMAOTK.js → EZTAZGGV.js} +3 -3
  188. package/esm/__chunks/{LNLZDJD4.js → FWQLUQ4T.js} +2 -2
  189. package/esm/__chunks/{CDFXNOHN.js → GD2VG2KJ.js} +1 -1
  190. package/esm/__chunks/{SZD4L3WR.js → GJYUMUMT.js} +2 -2
  191. package/esm/__chunks/{5A2VZUUV.js → HDMIVTNE.js} +1 -1
  192. package/esm/__chunks/{BI7ZXWGY.js → IIVLUKKG.js} +1 -1
  193. package/esm/__chunks/{P2V6GHKM.js → IXZMWLUE.js} +2 -2
  194. package/esm/__chunks/{E3XM3D67.js → JPXNJYSO.js} +4 -2
  195. package/esm/__chunks/{AY3L6CB6.js → K5VQ2XTM.js} +2 -2
  196. package/esm/__chunks/{A7CE3X6M.js → KOKHD3Z3.js} +1 -1
  197. package/esm/__chunks/{7HYEBVZE.js → NYD53BDE.js} +3 -3
  198. package/esm/__chunks/{5PEPOQU7.js → P6VCQ6Q3.js} +2 -2
  199. package/esm/__chunks/{U7WGY7YX.js → PDVJHECS.js} +9 -25
  200. package/esm/__chunks/{2TCVF54Q.js → QCIQ4F64.js} +2 -2
  201. package/esm/__chunks/{JRUYDVPB.js → QEPSYGAQ.js} +26 -14
  202. package/esm/__chunks/{IVPCRN7Q.js → QUPVK46L.js} +2 -2
  203. package/esm/__chunks/{CVWFS4PP.js → SMM5JVLC.js} +1 -1
  204. package/esm/__chunks/{WBQC3LL4.js → SXPADS2D.js} +5 -3
  205. package/esm/__chunks/{BTTOLUHC.js → TZJDOU75.js} +1 -1
  206. package/esm/__chunks/{NR6NHF6H.js → UJUY6GAA.js} +1 -1
  207. package/esm/__chunks/{T2EXCD3L.js → UV2O3GRQ.js} +1 -1
  208. package/esm/__chunks/{2QSQGCHB.js → VZOR43YE.js} +1 -1
  209. package/esm/__chunks/{BONLQCKO.js → WEU2EOWJ.js} +2 -2
  210. package/esm/__chunks/{VVBJIO3T.js → XCRWZKAW.js} +1 -1
  211. package/esm/checkbox/checkbox-context.d.ts +5 -5
  212. package/esm/checkbox/checkbox-provider.js +2 -2
  213. package/esm/checkbox/checkbox-store.d.ts +6 -8
  214. package/esm/checkbox/checkbox-store.js +2 -2
  215. package/esm/checkbox/checkbox.js +2 -2
  216. package/esm/collection/collection-context.d.ts +19 -0
  217. package/esm/collection/collection-provider.d.ts +2 -4
  218. package/esm/collection/collection-provider.js +2 -2
  219. package/esm/collection/collection-renderer.d.ts +0 -1
  220. package/esm/collection/collection-renderer.js +2 -2
  221. package/esm/collection/collection-store.d.ts +10 -9
  222. package/esm/collection/collection-store.js +2 -2
  223. package/esm/combobox/combobox-context.d.ts +5 -5
  224. package/esm/combobox/combobox-group.js +32 -5
  225. package/esm/combobox/combobox-item.js +5 -3
  226. package/esm/combobox/combobox-list.js +3 -3
  227. package/esm/combobox/combobox-popover.js +9 -9
  228. package/esm/combobox/combobox-provider.js +7 -7
  229. package/esm/combobox/combobox-store.d.ts +8 -9
  230. package/esm/combobox/combobox-store.js +7 -7
  231. package/esm/composite/composite-container.js +2 -2
  232. package/esm/composite/composite-context.d.ts +5 -5
  233. package/esm/composite/composite-hover.d.ts +1 -0
  234. package/esm/composite/composite-item.js +2 -2
  235. package/esm/composite/composite-overflow-disclosure.js +2 -2
  236. package/esm/composite/composite-overflow-store.js +4 -4
  237. package/esm/composite/composite-overflow.js +8 -8
  238. package/esm/composite/composite-provider.d.ts +2 -4
  239. package/esm/composite/composite-provider.js +3 -3
  240. package/esm/composite/composite-renderer.d.ts +0 -1
  241. package/esm/composite/composite-renderer.js +3 -3
  242. package/esm/composite/composite-store.d.ts +10 -9
  243. package/esm/composite/composite-store.js +3 -3
  244. package/esm/composite/utils.d.ts +48 -0
  245. package/esm/dialog/dialog-backdrop.js +4 -4
  246. package/esm/dialog/dialog-provider.js +3 -3
  247. package/esm/dialog/dialog-store.d.ts +4 -2
  248. package/esm/dialog/dialog-store.js +3 -3
  249. package/esm/dialog/dialog.js +7 -7
  250. package/esm/disclosure/disclosure-content.js +2 -2
  251. package/esm/disclosure/disclosure-provider.js +2 -2
  252. package/esm/disclosure/disclosure-store.d.ts +8 -4
  253. package/esm/disclosure/disclosure-store.js +2 -2
  254. package/esm/form/form-checkbox.js +3 -3
  255. package/esm/form/form-context.d.ts +5 -5
  256. package/esm/form/form-provider.js +3 -3
  257. package/esm/form/form-radio.js +3 -3
  258. package/esm/form/form-store.d.ts +14 -12
  259. package/esm/form/form-store.js +3 -3
  260. package/esm/hovercard/hovercard-anchor.js +1 -1
  261. package/esm/hovercard/hovercard-provider.js +5 -5
  262. package/esm/hovercard/hovercard-store.d.ts +4 -2
  263. package/esm/hovercard/hovercard-store.js +5 -5
  264. package/esm/hovercard/hovercard.js +9 -9
  265. package/esm/menu/menu-bar-provider.js +5 -5
  266. package/esm/menu/menu-bar-store.js +4 -4
  267. package/esm/menu/menu-bar.js +5 -5
  268. package/esm/menu/menu-button.js +6 -3
  269. package/esm/menu/menu-context.d.ts +5 -5
  270. package/esm/menu/menu-item-checkbox.js +5 -5
  271. package/esm/menu/menu-item-radio.js +4 -4
  272. package/esm/menu/menu-item.js +3 -3
  273. package/esm/menu/menu-list.js +3 -3
  274. package/esm/menu/menu-provider.js +8 -8
  275. package/esm/menu/menu-store.d.ts +11 -27
  276. package/esm/menu/menu-store.js +8 -8
  277. package/esm/menu/menu.js +70 -27
  278. package/esm/menubar/menubar-provider.js +5 -5
  279. package/esm/menubar/menubar-store.d.ts +4 -2
  280. package/esm/menubar/menubar-store.js +4 -4
  281. package/esm/menubar/menubar.js +5 -5
  282. package/esm/popover/popover-provider.js +4 -4
  283. package/esm/popover/popover-store.d.ts +4 -2
  284. package/esm/popover/popover-store.js +4 -4
  285. package/esm/popover/popover.js +8 -8
  286. package/esm/portal/portal.js +1 -1
  287. package/esm/radio/radio-provider.js +4 -4
  288. package/esm/radio/radio-store.d.ts +4 -2
  289. package/esm/radio/radio-store.js +4 -4
  290. package/esm/radio/radio.js +3 -3
  291. package/esm/select/select-context.d.ts +5 -5
  292. package/esm/select/select-item.js +2 -2
  293. package/esm/select/select-list.js +3 -3
  294. package/esm/select/select-popover.js +9 -9
  295. package/esm/select/select-provider.js +7 -7
  296. package/esm/select/select-renderer.js +3 -3
  297. package/esm/select/select-store.d.ts +12 -12
  298. package/esm/select/select-store.js +7 -7
  299. package/esm/tab/tab-panel.js +3 -3
  300. package/esm/tab/tab-provider.js +4 -4
  301. package/esm/tab/tab-store.d.ts +45 -0
  302. package/esm/tab/tab-store.js +4 -4
  303. package/esm/tab/tab.js +2 -2
  304. package/esm/toolbar/toolbar-container.js +4 -4
  305. package/esm/toolbar/toolbar-input.js +3 -3
  306. package/esm/toolbar/toolbar-item.js +3 -3
  307. package/esm/toolbar/toolbar-provider.js +4 -4
  308. package/esm/toolbar/toolbar-store.d.ts +4 -2
  309. package/esm/toolbar/toolbar-store.js +4 -4
  310. package/esm/toolbar/toolbar.js +4 -4
  311. package/esm/tooltip/tooltip-anchor.js +1 -1
  312. package/esm/tooltip/tooltip-provider.js +6 -6
  313. package/esm/tooltip/tooltip-store.d.ts +4 -2
  314. package/esm/tooltip/tooltip-store.js +6 -6
  315. package/esm/tooltip/tooltip.js +9 -9
  316. package/esm/utils/store.js +1 -1
  317. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # @ariakit/react-core
2
2
 
3
+ ## 0.3.10
4
+
5
+ ### Overwriting `aria-selected` value on `ComboboxItem`
6
+
7
+ It's now possible to pass a custom `aria-selected` value to the [`ComboboxItem`](https://ariakit.org/reference/combobox-item) component, overwriting the internal behavior.
8
+
9
+ ### Limiting `slide` on popovers
10
+
11
+ When components like [Popover](https://ariakit.org/components/popover) and [Menu](https://ariakit.org/components/menu) with the [`slide`](https://ariakit.org/reference/popover#slide) prop are positioned to the right or left of the anchor element, they will now cease to slide across the screen, disengaged from the anchor element, upon reaching the edge of said element.
12
+
13
+ ### Other updates
14
+
15
+ - Fixed [`blurOnHoverEnd`](https://ariakit.org/reference/menu-item#bluronhoverend) set to `false` not keeping submenus open.
16
+ - Fixed scroll jump on Safari when selecting a [`CompositeItem`](https://ariakit.org/reference/composite-item).
17
+ - Fixed [`preserveTabOrderAnchor`](https://ariakit.org/reference/menu#preservetaborderanchor) on nested menus.
18
+ - Fixed focus behavior when using the [`preserveTabOrder`](https://ariakit.org/reference/portal#preservetaborder) prop.
19
+
20
+ ## 0.3.9
21
+
22
+ ### Automatic role on ComboboxGroup
23
+
24
+ The [`ComboboxGroup`](https://ariakit.org/reference/combobox-group) component now automatically assigns the `role` attribute as `rowgroup` if it's nestled within a [`ComboboxPopover`](https://ariakit.org/reference/combobox-popover) or [`ComboboxList`](https://ariakit.org/reference/combobox-list) wrapper that has the `role` attribute set to `grid`.
25
+
26
+ ### Custom submenu auto focus
27
+
28
+ When opening nested [Menu](https://ariakit.org/components/menu) components with <kbd>Enter</kbd>, <kbd>Space</kbd>, or arrow keys, the first tabbable element will now receive focus, even if it's not a [`MenuItem`](https://ariakit.org/reference/menu-item) element. This should enable custom popups that behave like submenus, but use different semantics.
29
+
30
+ ### Hovercard display timeout
31
+
32
+ The [Hovercard](https://ariakit.org/components/hovercard), [Menu](https://ariakit.org/components/menu), and [Tooltip](https://ariakit.org/components/tooltip) components now display synchronously when the [`timeout`](https://ariakit.org/reference/hovercard-provider#timeout) or [`showTimeout`](https://ariakit.org/reference/hovercard-provider#showtimeout) states are set to `0`. This should stop submenus from vanishing for a few frames prior to displaying a new menu when hovering over menu items in sequence.
33
+
34
+ ### Other updates
35
+
36
+ - Fixed [`CollectionItem`](https://ariakit.org/reference/collection-item) elements getting out of order when composing stores.
37
+ - Fixed [`MenuButton`](https://ariakit.org/reference/menu-button) not assigning the correct `role` attribute when used within a [`ComboboxList`](https://ariakit.org/reference/combobox-list) element.
38
+ - Fixed [`MenuItem`](https://ariakit.org/reference/menu-item) with an explicit [`focusOnHover`](https://ariakit.org/reference/menu-item#focusonhover) prop not moving focus properly.
39
+ - Fixed [`blurOnHoverEnd`](https://ariakit.org/reference/menu-item#bluronhoverend) not working on submenu triggers.
40
+ - Fixed [Dialog](https://ariakit.org/components/dialog) not respecting the controlled [`open`](https://ariakit.org/reference/use-dialog-store#open) state.
41
+ - Fixed unmounted [`SelectPopover`](https://ariakit.org/reference/select-popover) not re-opening when its [`open`](https://ariakit.org/reference/select-provider#open) state is initially set to `true`.
42
+ - Fixed TypeScript build errors.
43
+ - Fixed focus order when using [Popover](https://ariakit.org/components/popover) with the [`portal`](https://ariakit.org/reference/popover#portal) prop with VoiceOver.
44
+ - Updated dependencies: `@ariakit/core@0.3.8`
45
+
3
46
  ## 0.3.8
4
47
 
5
48
  ### Multi-selectable Combobox
@@ -6,10 +6,10 @@
6
6
  var _KXQOQQ5Bcjs = require('./KXQOQQ5B.cjs');
7
7
 
8
8
 
9
- var _RIZYIKBEcjs = require('./RIZYIKBE.cjs');
9
+ var _NVHGMKAEcjs = require('./NVHGMKAE.cjs');
10
10
 
11
11
 
12
- var _XFPRAS3Jcjs = require('./XFPRAS3J.cjs');
12
+ var _36QK2QLEcjs = require('./36QK2QLE.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 = _RIZYIKBEcjs.usePopover.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
286
+ props = _NVHGMKAEcjs.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 = _XFPRAS3Jcjs.createDialogComponent.call(void 0,
307
+ var Hovercard = _36QK2QLEcjs.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);
@@ -1,16 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _SHOS7XOUcjs = require('./SHOS7XOU.cjs');
4
+ var _RTT4XR27cjs = require('./RTT4XR27.cjs');
5
5
 
6
6
 
7
7
 
8
8
  var _NKR65BKCcjs = require('./NKR65BKC.cjs');
9
9
 
10
10
 
11
- var _PZL34OVOcjs = require('./PZL34OVO.cjs');
12
-
13
-
14
11
  var _344F3DYOcjs = require('./344F3DYO.cjs');
15
12
 
16
13
 
@@ -36,11 +33,11 @@ var _7566TIRWcjs = require('./7566TIRW.cjs');
36
33
  var _J3OG6T3Bcjs = require('./J3OG6T3B.cjs');
37
34
 
38
35
 
39
- var _S6WUBPBBcjs = require('./S6WUBPBB.cjs');
36
+ var _65LGW5LYcjs = require('./65LGW5LY.cjs');
40
37
 
41
38
 
42
39
 
43
- var _7BSMGTGRcjs = require('./7BSMGTGR.cjs');
40
+ var _TD5MOASJcjs = require('./TD5MOASJ.cjs');
44
41
 
45
42
 
46
43
 
@@ -57,10 +54,10 @@ var _Z3GCTNW4cjs = require('./Z3GCTNW4.cjs');
57
54
  var _RNZNGEL4cjs = require('./RNZNGEL4.cjs');
58
55
 
59
56
 
60
- var _X3I2WFGCcjs = require('./X3I2WFGC.cjs');
57
+ var _HRKRTCJCcjs = require('./HRKRTCJC.cjs');
61
58
 
62
59
 
63
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
60
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
64
61
 
65
62
 
66
63
 
@@ -159,7 +156,7 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
159
156
  ]);
160
157
  const context = _F2A2ZQDBcjs.useDialogProviderContext.call(void 0, );
161
158
  const ref = _react.useRef.call(void 0, null);
162
- const store = _X3I2WFGCcjs.useDialogStore.call(void 0, {
159
+ const store = _HRKRTCJCcjs.useDialogStore.call(void 0, {
163
160
  store: storeProp || context,
164
161
  open: openProp,
165
162
  setOpen(open2) {
@@ -187,7 +184,7 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
187
184
  const open = store.useState("open");
188
185
  const mounted = store.useState("mounted");
189
186
  const contentElement = store.useState("contentElement");
190
- const hidden = _7BSMGTGRcjs.isHidden.call(void 0, mounted, props.hidden, props.alwaysVisible);
187
+ const hidden = _TD5MOASJcjs.isHidden.call(void 0, mounted, props.hidden, props.alwaysVisible);
191
188
  _344F3DYOcjs.usePreventBodyScroll.call(void 0, contentElement, id, preventBodyScroll && !hidden);
192
189
  _JVDUGICDcjs.useHideOnInteractOutside.call(void 0, store, hideOnInteractOutside, domReady);
193
190
  const { wrapElement, nestedDialogs } = _5ZOCN23Xcjs.useNestedDialogs.call(void 0, store);
@@ -244,13 +241,9 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
244
241
  };
245
242
  }, [store, mounted]);
246
243
  }
247
- const shouldDisableAccessibilityTree = modal || // Usually, we only want to disable the accessibility tree outside if the
248
- // dialog is a modal. But the Portal component can't preserve the tab
249
- // order on Safari/VoiceOver. By allowing only the dialog/portal to be
250
- // accessible, we provide a similar tab order flow. We don't need to
251
- // disable pointer events because it's just for screen readers.
252
- portal && preserveTabOrder && _platform.isSafari.call(void 0, );
253
244
  _react.useEffect.call(void 0, () => {
245
+ if (!modal)
246
+ return;
254
247
  if (!mounted)
255
248
  return;
256
249
  if (!domReady)
@@ -258,13 +251,11 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
258
251
  const dialog = ref.current;
259
252
  if (!dialog)
260
253
  return;
261
- if (!shouldDisableAccessibilityTree)
262
- return;
263
254
  const existingDismiss = dialog.querySelector("[data-dialog-dismiss]");
264
255
  if (existingDismiss)
265
256
  return;
266
257
  return _JF225FQ5cjs.prependHiddenDismiss.call(void 0, dialog, store.hide);
267
- }, [store, mounted, domReady, shouldDisableAccessibilityTree]);
258
+ }, [store, modal, mounted, domReady]);
268
259
  _EO6LS72Hcjs.useSafeLayoutEffect.call(void 0, () => {
269
260
  if (open)
270
261
  return;
@@ -300,26 +291,19 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
300
291
  ...persistentElements,
301
292
  ...nestedDialogs.map((dialog2) => dialog2.getState().contentElement)
302
293
  ];
303
- if (!shouldDisableAccessibilityTree) {
304
- return _VV6WA3I6cjs.markTreeOutside.call(void 0, id, [disclosureElement, ...allElements]);
305
- }
306
294
  if (modal) {
307
295
  return _misc.chain.call(void 0,
308
296
  _VV6WA3I6cjs.markTreeOutside.call(void 0, id, allElements),
309
297
  _NKR65BKCcjs.disableTreeOutside.call(void 0, id, allElements)
310
298
  );
311
299
  }
312
- return _misc.chain.call(void 0,
313
- _VV6WA3I6cjs.markTreeOutside.call(void 0, id, [disclosureElement, ...allElements]),
314
- _PZL34OVOcjs.disableAccessibilityTreeOutside.call(void 0, id, allElements)
315
- );
300
+ return _VV6WA3I6cjs.markTreeOutside.call(void 0, id, [disclosureElement, ...allElements]);
316
301
  }, [
317
302
  id,
318
303
  store,
319
304
  canTakeTreeSnapshot,
320
305
  getPersistentElementsProp,
321
306
  nestedDialogs,
322
- shouldDisableAccessibilityTree,
323
307
  modal
324
308
  ]);
325
309
  const mayAutoFocusOnShow = !!autoFocusOnShow;
@@ -484,7 +468,7 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
484
468
  return element;
485
469
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
486
470
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
487
- _SHOS7XOUcjs.DialogBackdrop,
471
+ _RTT4XR27cjs.DialogBackdrop,
488
472
  {
489
473
  store,
490
474
  backdrop,
@@ -518,9 +502,9 @@ var useDialog = _RNZNGEL4cjs.createHook.call(void 0,
518
502
  props = _7566TIRWcjs.useFocusableContainer.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {}, props), {
519
503
  autoFocusOnShow: autoFocusEnabled
520
504
  }));
521
- props = _7BSMGTGRcjs.useDisclosureContent.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { store }, props));
505
+ props = _TD5MOASJcjs.useDisclosureContent.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { store }, props));
522
506
  props = _Z3GCTNW4cjs.useFocusable.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {}, props), { focusable }));
523
- props = _S6WUBPBBcjs.usePortal.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { portal }, props), { portalRef, preserveTabOrder }));
507
+ props = _65LGW5LYcjs.usePortal.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { portal }, props), { portalRef, preserveTabOrder }));
524
508
  return props;
525
509
  }
526
510
  );
@@ -528,7 +512,7 @@ function createDialogComponent(Component, useProviderContext = _F2A2ZQDBcjs.useD
528
512
  return _RNZNGEL4cjs.createComponent.call(void 0, (props) => {
529
513
  const context = useProviderContext();
530
514
  const store = props.store || context;
531
- const mounted = _OALXXRFMcjs.useStoreState.call(void 0,
515
+ const mounted = _B233QVZEcjs.useStoreState.call(void 0,
532
516
  store,
533
517
  (state) => !props.unmountOnHide || (state == null ? void 0 : state.mounted) || !!props.open
534
518
  );
@@ -5,7 +5,7 @@
5
5
  var _7LBZXSLYcjs = require('./7LBZXSLY.cjs');
6
6
 
7
7
 
8
- var _SSJIHRU6cjs = require('./SSJIHRU6.cjs');
8
+ var _7KFYPSJOcjs = require('./7KFYPSJO.cjs');
9
9
 
10
10
 
11
11
  var _CZOBQEIOcjs = require('./CZOBQEIO.cjs');
@@ -43,7 +43,7 @@ var useMenubar = _RNZNGEL4cjs.createHook.call(void 0,
43
43
  ]);
44
44
  const context = _7LBZXSLYcjs.useMenubarProviderContext.call(void 0, );
45
45
  storeProp = storeProp || context;
46
- const store = _SSJIHRU6cjs.useMenubarStore.call(void 0, {
46
+ const store = _7KFYPSJOcjs.useMenubarStore.call(void 0, {
47
47
  store: storeProp,
48
48
  orientation: orientationProp,
49
49
  virtualFocus,
@@ -1,28 +1,28 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _A5RWZSX7cjs = require('./A5RWZSX7.cjs');
4
+ var _N6CR2VNNcjs = require('./N6CR2VNN.cjs');
5
5
 
6
6
 
7
- var _65GJIQK5cjs = require('./65GJIQK5.cjs');
7
+ var _7BPAESN3cjs = require('./7BPAESN3.cjs');
8
8
 
9
9
 
10
10
 
11
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
11
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
12
12
 
13
13
  // src/combobox/combobox-store.ts
14
14
  var _comboboxstore = require('@ariakit/core/combobox/combobox-store'); var Core = _interopRequireWildcard(_comboboxstore);
15
15
  function useComboboxStoreProps(store, update, props) {
16
- store = _65GJIQK5cjs.usePopoverStoreProps.call(void 0, store, update, props);
17
- store = _A5RWZSX7cjs.useCompositeStoreProps.call(void 0, store, update, props);
18
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "value", "setValue");
19
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "selectedValue", "setSelectedValue");
20
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "resetValueOnHide");
21
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "resetValueOnSelect");
16
+ store = _7BPAESN3cjs.usePopoverStoreProps.call(void 0, store, update, props);
17
+ store = _N6CR2VNNcjs.useCompositeStoreProps.call(void 0, store, update, props);
18
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "value", "setValue");
19
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "selectedValue", "setSelectedValue");
20
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "resetValueOnHide");
21
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "resetValueOnSelect");
22
22
  return store;
23
23
  }
24
24
  function useComboboxStore(props = {}) {
25
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createComboboxStore, props);
25
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createComboboxStore, props);
26
26
  return useComboboxStoreProps(store, update, props);
27
27
  }
28
28
 
@@ -133,9 +133,10 @@ var usePortal = _RNZNGEL4cjs.createHook.call(void 0,
133
133
  if (!_events.isFocusEventOutside.call(void 0, event))
134
134
  return;
135
135
  const focusing = event.type === "focusin";
136
- if (focusing)
137
- return _focus.restoreFocusIn.call(void 0, portalNode);
138
136
  cancelAnimationFrame(raf);
137
+ if (focusing) {
138
+ return _focus.restoreFocusIn.call(void 0, portalNode);
139
+ }
139
140
  raf = requestAnimationFrame(() => {
140
141
  _focus.disableFocusIn.call(void 0, portalNode, true);
141
142
  });
@@ -143,6 +144,7 @@ var usePortal = _RNZNGEL4cjs.createHook.call(void 0,
143
144
  portalNode.addEventListener("focusin", onFocus, true);
144
145
  portalNode.addEventListener("focusout", onFocus, true);
145
146
  return () => {
147
+ cancelAnimationFrame(raf);
146
148
  portalNode.removeEventListener("focusin", onFocus, true);
147
149
  portalNode.removeEventListener("focusout", onFocus, true);
148
150
  };
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _X3I2WFGCcjs = require('./X3I2WFGC.cjs');
4
+ var _HRKRTCJCcjs = require('./HRKRTCJC.cjs');
5
5
 
6
6
 
7
7
 
8
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
8
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
9
9
 
10
10
 
11
11
  var _EO6LS72Hcjs = require('./EO6LS72H.cjs');
@@ -14,12 +14,12 @@ var _EO6LS72Hcjs = require('./EO6LS72H.cjs');
14
14
  var _popoverstore = require('@ariakit/core/popover/popover-store'); var Core = _interopRequireWildcard(_popoverstore);
15
15
  function usePopoverStoreProps(store, update, props) {
16
16
  _EO6LS72Hcjs.useUpdateEffect.call(void 0, update, [props.popover]);
17
- store = _X3I2WFGCcjs.useDialogStoreProps.call(void 0, store, update, props);
18
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "placement");
17
+ store = _HRKRTCJCcjs.useDialogStoreProps.call(void 0, store, update, props);
18
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "placement");
19
19
  return store;
20
20
  }
21
21
  function usePopoverStore(props = {}) {
22
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createPopoverStore, props);
22
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createPopoverStore, props);
23
23
  return usePopoverStoreProps(store, update, props);
24
24
  }
25
25
 
@@ -1,18 +1,18 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _A5RWZSX7cjs = require('./A5RWZSX7.cjs');
4
+ var _N6CR2VNNcjs = require('./N6CR2VNN.cjs');
5
5
 
6
6
 
7
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
7
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
8
8
 
9
9
  // src/menubar/menubar-store.ts
10
10
  var _menubarstore = require('@ariakit/core/menubar/menubar-store'); var Core = _interopRequireWildcard(_menubarstore);
11
11
  function useMenubarStoreProps(store, update, props) {
12
- return _A5RWZSX7cjs.useCompositeStoreProps.call(void 0, store, update, props);
12
+ return _N6CR2VNNcjs.useCompositeStoreProps.call(void 0, store, update, props);
13
13
  }
14
14
  function useMenubarStore(props = {}) {
15
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createMenubarStore, props);
15
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createMenubarStore, props);
16
16
  return useMenubarStoreProps(store, update, props);
17
17
  }
18
18
 
@@ -64,7 +64,8 @@ function useStoreProps(store, props, key, setKey) {
64
64
  if (value === void 0)
65
65
  return;
66
66
  canSyncValue.current = true;
67
- return _store.sync.call(void 0, store, [key], () => {
67
+ store.setState(key, value);
68
+ return _store.batch.call(void 0, store, [key], () => {
68
69
  if (value === void 0)
69
70
  return;
70
71
  if (!canSyncValue.current)
@@ -10,7 +10,7 @@ var _7LBZXSLYcjs = require('./7LBZXSLY.cjs');
10
10
  var _IPYAEPOTcjs = require('./IPYAEPOT.cjs');
11
11
 
12
12
 
13
- var _P43G7USHcjs = require('./P43G7USH.cjs');
13
+ var _TTMCZ7ZNcjs = require('./TTMCZ7ZN.cjs');
14
14
 
15
15
 
16
16
 
@@ -18,7 +18,7 @@ var _P43G7USHcjs = require('./P43G7USH.cjs');
18
18
  var _RNZNGEL4cjs = require('./RNZNGEL4.cjs');
19
19
 
20
20
 
21
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
21
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
22
22
 
23
23
 
24
24
 
@@ -63,12 +63,14 @@ var useMenuItem = _RNZNGEL4cjs.createHook.call(void 0,
63
63
  store,
64
64
  hideOnClick = true,
65
65
  preventScrollOnKeyDown = true,
66
- focusOnHover
66
+ focusOnHover,
67
+ blurOnHoverEnd
67
68
  } = _b, props = _AV6KTKLEcjs.__objRest.call(void 0, _b, [
68
69
  "store",
69
70
  "hideOnClick",
70
71
  "preventScrollOnKeyDown",
71
- "focusOnHover"
72
+ "focusOnHover",
73
+ "blurOnHoverEnd"
72
74
  ]);
73
75
  const menuContext = _NGEKJJDHcjs.useMenuScopedContext.call(void 0, true);
74
76
  const menubarContext = _7LBZXSLYcjs.useMenubarScopedContext.call(void 0, );
@@ -98,7 +100,7 @@ var useMenuItem = _RNZNGEL4cjs.createHook.call(void 0,
98
100
  return;
99
101
  hideMenu();
100
102
  });
101
- const contentElement = _OALXXRFMcjs.useStoreState.call(void 0,
103
+ const contentElement = _B233QVZEcjs.useStoreState.call(void 0,
102
104
  store,
103
105
  (state) => "contentElement" in state ? state.contentElement : null
104
106
  );
@@ -108,31 +110,41 @@ var useMenuItem = _RNZNGEL4cjs.createHook.call(void 0,
108
110
  }, props), {
109
111
  onClick
110
112
  });
111
- props = _P43G7USHcjs.useCompositeItem.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { store, preventScrollOnKeyDown }, props));
113
+ props = _TTMCZ7ZNcjs.useCompositeItem.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, { store, preventScrollOnKeyDown }, props));
112
114
  props = _IPYAEPOTcjs.useCompositeHover.call(void 0, _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {
113
115
  store
114
116
  }, props), {
115
- focusOnHover: (event) => {
116
- if (typeof focusOnHover === "function")
117
- return focusOnHover(event);
118
- if (focusOnHover != null)
119
- return focusOnHover;
120
- if (event.type === "mouseleave")
121
- return isWithinMenu;
117
+ focusOnHover(event) {
118
+ const getFocusOnHover = () => {
119
+ if (typeof focusOnHover === "function")
120
+ return focusOnHover(event);
121
+ if (focusOnHover != null)
122
+ return focusOnHover;
123
+ return true;
124
+ };
125
+ if (!store)
126
+ return false;
127
+ if (!getFocusOnHover())
128
+ return false;
129
+ const { baseElement, items } = store.getState();
122
130
  if (isWithinMenu) {
123
131
  if (event.currentTarget.hasAttribute("aria-expanded")) {
124
132
  event.currentTarget.focus();
125
133
  }
126
134
  return true;
127
135
  }
128
- if (!store)
129
- return false;
130
- const { baseElement, items } = store.getState();
131
136
  if (menuHasFocus(baseElement, items, event.currentTarget)) {
132
137
  event.currentTarget.focus();
133
138
  return true;
134
139
  }
135
140
  return false;
141
+ },
142
+ blurOnHoverEnd(event) {
143
+ if (typeof blurOnHoverEnd === "function")
144
+ return blurOnHoverEnd(event);
145
+ if (blurOnHoverEnd != null)
146
+ return blurOnHoverEnd;
147
+ return isWithinMenu;
136
148
  }
137
149
  }));
138
150
  return props;
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
5
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
6
6
 
7
7
 
8
8
  var _EO6LS72Hcjs = require('./EO6LS72H.cjs');
@@ -11,11 +11,11 @@ var _EO6LS72Hcjs = require('./EO6LS72H.cjs');
11
11
  var _collectionstore = require('@ariakit/core/collection/collection-store'); var Core = _interopRequireWildcard(_collectionstore);
12
12
  function useCollectionStoreProps(store, update, props) {
13
13
  _EO6LS72Hcjs.useUpdateEffect.call(void 0, update, [props.store]);
14
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "items", "setItems");
14
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "items", "setItems");
15
15
  return store;
16
16
  }
17
17
  function useCollectionStore(props = {}) {
18
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createCollectionStore, props);
18
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createCollectionStore, props);
19
19
  return useCollectionStoreProps(store, update, props);
20
20
  }
21
21
 
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
5
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
6
6
 
7
7
 
8
8
  var _EO6LS72Hcjs = require('./EO6LS72H.cjs');
@@ -11,13 +11,13 @@ var _EO6LS72Hcjs = require('./EO6LS72H.cjs');
11
11
  var _disclosurestore = require('@ariakit/core/disclosure/disclosure-store'); var Core = _interopRequireWildcard(_disclosurestore);
12
12
  function useDisclosureStoreProps(store, update, props) {
13
13
  _EO6LS72Hcjs.useUpdateEffect.call(void 0, update, [props.store, props.disclosure]);
14
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "open", "setOpen");
15
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "mounted", "setMounted");
16
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "animated");
14
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "open", "setOpen");
15
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "mounted", "setMounted");
16
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "animated");
17
17
  return store;
18
18
  }
19
19
  function useDisclosureStore(props = {}) {
20
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createDisclosureStore, props);
20
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createDisclosureStore, props);
21
21
  return useDisclosureStoreProps(store, update, props);
22
22
  }
23
23
 
@@ -1,21 +1,21 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _A5RWZSX7cjs = require('./A5RWZSX7.cjs');
4
+ var _N6CR2VNNcjs = require('./N6CR2VNN.cjs');
5
5
 
6
6
 
7
7
 
8
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
8
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
9
9
 
10
10
  // src/radio/radio-store.ts
11
11
  var _radiostore = require('@ariakit/core/radio/radio-store'); var Core = _interopRequireWildcard(_radiostore);
12
12
  function useRadioStoreProps(store, update, props) {
13
- store = _A5RWZSX7cjs.useCompositeStoreProps.call(void 0, store, update, props);
14
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "value", "setValue");
13
+ store = _N6CR2VNNcjs.useCompositeStoreProps.call(void 0, store, update, props);
14
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "value", "setValue");
15
15
  return store;
16
16
  }
17
17
  function useRadioStore(props = {}) {
18
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createRadioStore, props);
18
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createRadioStore, props);
19
19
  return useRadioStoreProps(store, update, props);
20
20
  }
21
21
 
@@ -1,11 +1,11 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _A5RWZSX7cjs = require('./A5RWZSX7.cjs');
4
+ var _N6CR2VNNcjs = require('./N6CR2VNN.cjs');
5
5
 
6
6
 
7
7
 
8
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
8
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
9
9
 
10
10
 
11
11
 
@@ -15,14 +15,14 @@ var _AV6KTKLEcjs = require('./AV6KTKLE.cjs');
15
15
  var _react = require('react');
16
16
  var _tabstore = require('@ariakit/core/tab/tab-store'); var Core = _interopRequireWildcard(_tabstore);
17
17
  function useTabStoreProps(store, update, props) {
18
- store = _A5RWZSX7cjs.useCompositeStoreProps.call(void 0, store, update, props);
19
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "selectedId", "setSelectedId");
20
- _OALXXRFMcjs.useStoreProps.call(void 0, store, props, "selectOnMove");
21
- const [panels] = _OALXXRFMcjs.useStore.call(void 0, () => store.panels, {});
18
+ store = _N6CR2VNNcjs.useCompositeStoreProps.call(void 0, store, update, props);
19
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "selectedId", "setSelectedId");
20
+ _B233QVZEcjs.useStoreProps.call(void 0, store, props, "selectOnMove");
21
+ const [panels] = _B233QVZEcjs.useStore.call(void 0, () => store.panels, {});
22
22
  return _react.useMemo.call(void 0, () => _AV6KTKLEcjs.__spreadProps.call(void 0, _AV6KTKLEcjs.__spreadValues.call(void 0, {}, store), { panels }), []);
23
23
  }
24
24
  function useTabStore(props = {}) {
25
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createTabStore, props);
25
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createTabStore, props);
26
26
  return useTabStoreProps(store, update, props);
27
27
  }
28
28
 
@@ -1,18 +1,18 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _FQNGCFYYcjs = require('./FQNGCFYY.cjs');
4
+ var _EGAIDKB5cjs = require('./EGAIDKB5.cjs');
5
5
 
6
6
 
7
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
7
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
8
8
 
9
9
  // src/dialog/dialog-store.ts
10
10
  var _dialogstore = require('@ariakit/core/dialog/dialog-store'); var Core = _interopRequireWildcard(_dialogstore);
11
11
  function useDialogStoreProps(store, update, props) {
12
- return _FQNGCFYYcjs.useDisclosureStoreProps.call(void 0, store, update, props);
12
+ return _EGAIDKB5cjs.useDisclosureStoreProps.call(void 0, store, update, props);
13
13
  }
14
14
  function useDialogStore(props = {}) {
15
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createDialogStore, props);
15
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createDialogStore, props);
16
16
  return useDialogStoreProps(store, update, props);
17
17
  }
18
18
 
@@ -1,18 +1,18 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
2
2
 
3
3
 
4
- var _A5RWZSX7cjs = require('./A5RWZSX7.cjs');
4
+ var _N6CR2VNNcjs = require('./N6CR2VNN.cjs');
5
5
 
6
6
 
7
- var _OALXXRFMcjs = require('./OALXXRFM.cjs');
7
+ var _B233QVZEcjs = require('./B233QVZE.cjs');
8
8
 
9
9
  // src/toolbar/toolbar-store.ts
10
10
  var _toolbarstore = require('@ariakit/core/toolbar/toolbar-store'); var Core = _interopRequireWildcard(_toolbarstore);
11
11
  function useToolbarStoreProps(store, update, props) {
12
- return _A5RWZSX7cjs.useCompositeStoreProps.call(void 0, store, update, props);
12
+ return _N6CR2VNNcjs.useCompositeStoreProps.call(void 0, store, update, props);
13
13
  }
14
14
  function useToolbarStore(props = {}) {
15
- const [store, update] = _OALXXRFMcjs.useStore.call(void 0, Core.createToolbarStore, props);
15
+ const [store, update] = _B233QVZEcjs.useStore.call(void 0, Core.createToolbarStore, props);
16
16
  return useToolbarStoreProps(store, update, props);
17
17
  }
18
18