@ariakit/react-core 0.2.14 → 0.2.16

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 (203) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/cjs/__chunks/{GHDSJPDP.cjs → 2CBM6TG2.cjs} +9 -1
  3. package/cjs/__chunks/{JQNHOFVL.cjs → 4PH5LF7R.cjs} +4 -4
  4. package/cjs/__chunks/{IMHF4TCR.cjs → 5SFIKBWF.cjs} +2 -2
  5. package/cjs/__chunks/{XE2DJMCI.cjs → 6BAHKJ5K.cjs} +14 -20
  6. package/cjs/__chunks/{G2UVEERG.cjs → AHLK6SVF.cjs} +10 -10
  7. package/cjs/__chunks/{GICQ7PSP.cjs → BIJBAZHT.cjs} +2 -2
  8. package/cjs/__chunks/{AMRCH2Z5.cjs → BW4OCE2W.cjs} +4 -4
  9. package/cjs/__chunks/{ZWMVFMQY.cjs → CHVOMF22.cjs} +4 -4
  10. package/cjs/__chunks/{FWCSM5BC.cjs → CY7GQARX.cjs} +13 -13
  11. package/cjs/__chunks/{SIVNE3PR.cjs → ETK4FMZH.cjs} +12 -12
  12. package/cjs/__chunks/{FNDPLH5R.cjs → EVXAMK7D.cjs} +6 -8
  13. package/cjs/__chunks/{KD3RAGO6.cjs → EWI7RF64.cjs} +5 -5
  14. package/cjs/__chunks/{LE4VG2T4.cjs → EYVMZOCS.cjs} +8 -8
  15. package/cjs/__chunks/{O22LNQHS.cjs → FA3DXDDT.cjs} +2 -2
  16. package/cjs/__chunks/{JMBF4JHZ.cjs → FNKDTHTN.cjs} +4 -4
  17. package/cjs/__chunks/{LZV54A37.cjs → FVVV75ZK.cjs} +2 -2
  18. package/cjs/__chunks/{745H7MDU.cjs → GAQNLEPX.cjs} +6 -6
  19. package/cjs/__chunks/{FSADYSOP.cjs → HTEAWNBY.cjs} +14 -3
  20. package/cjs/__chunks/{HSFSIYIQ.cjs → JLC4GR5L.cjs} +2 -2
  21. package/cjs/__chunks/{HUVFPCMZ.cjs → KJBIRAH5.cjs} +24 -6
  22. package/cjs/__chunks/{OYXMXGQJ.cjs → KKAG47JR.cjs} +2 -2
  23. package/cjs/__chunks/{VBRBBWCP.cjs → NH6Q6YSM.cjs} +2 -2
  24. package/cjs/__chunks/{3MC2XJ5F.cjs → OHBR6IPU.cjs} +45 -33
  25. package/cjs/__chunks/{PRMEV7L5.cjs → PBJASQI6.cjs} +4 -4
  26. package/cjs/__chunks/{TFOIZV2V.cjs → PD5YFDLO.cjs} +3 -2
  27. package/cjs/__chunks/{IQIITEH3.cjs → QCWWP2P4.cjs} +2 -2
  28. package/cjs/__chunks/QW7NAUIX.cjs +113 -0
  29. package/cjs/__chunks/{63OBHNVT.cjs → VB7SPR3I.cjs} +7 -7
  30. package/cjs/__chunks/{LG6XOVBQ.cjs → VGBPLBUZ.cjs} +3 -3
  31. package/cjs/__chunks/{44MSVBJL.cjs → VKPXIX7D.cjs} +3 -3
  32. package/cjs/checkbox/checkbox-store.cjs +3 -3
  33. package/cjs/checkbox/checkbox.cjs +3 -3
  34. package/cjs/collection/collection-item.cjs +2 -2
  35. package/cjs/collection/collection-renderer.cjs +3 -3
  36. package/cjs/collection/collection-store.cjs +3 -3
  37. package/cjs/combobox/combobox-item.cjs +4 -4
  38. package/cjs/combobox/combobox-popover.cjs +12 -12
  39. package/cjs/combobox/combobox-store.cjs +11 -11
  40. package/cjs/combobox/combobox.cjs +3 -3
  41. package/cjs/composite/composite-container.cjs +3 -3
  42. package/cjs/composite/composite-item.cjs +4 -4
  43. package/cjs/composite/composite-overflow-disclosure.cjs +7 -6
  44. package/cjs/composite/composite-overflow-store.cjs +7 -7
  45. package/cjs/composite/composite-overflow.cjs +12 -12
  46. package/cjs/composite/composite-renderer.cjs +4 -4
  47. package/cjs/composite/composite-store.cjs +4 -4
  48. package/cjs/dialog/dialog-backdrop.cjs +6 -6
  49. package/cjs/dialog/dialog-store.cjs +4 -4
  50. package/cjs/dialog/dialog.cjs +11 -11
  51. package/cjs/dialog/utils/disable-accessibility-tree-outside.cjs +3 -3
  52. package/cjs/dialog/utils/disable-tree-outside.cjs +4 -4
  53. package/cjs/dialog/utils/mark-tree-outside.cjs +3 -3
  54. package/cjs/dialog/utils/use-hide-on-interact-outside.cjs +4 -4
  55. package/cjs/dialog/utils/use-hide-on-interact-outside.d.ts +1 -1
  56. package/cjs/dialog/utils/use-nested-dialogs.cjs +2 -2
  57. package/cjs/dialog/utils/walk-tree-outside.cjs +2 -2
  58. package/cjs/dialog/utils/walk-tree-outside.d.ts +1 -1
  59. package/cjs/disclosure/disclosure-store.cjs +3 -3
  60. package/cjs/focusable/focusable.d.ts +52 -13
  61. package/cjs/form/form-checkbox.cjs +8 -8
  62. package/cjs/form/form-description.cjs +2 -2
  63. package/cjs/form/form-error.cjs +2 -2
  64. package/cjs/form/form-field.cjs +3 -3
  65. package/cjs/form/form-input.cjs +3 -3
  66. package/cjs/form/form-label.cjs +2 -2
  67. package/cjs/form/form-push.cjs +2 -2
  68. package/cjs/form/form-radio.cjs +7 -7
  69. package/cjs/form/form-store.cjs +8 -8
  70. package/cjs/hovercard/hovercard-anchor.cjs +2 -2
  71. package/cjs/hovercard/hovercard-disclosure.cjs +12 -14
  72. package/cjs/hovercard/hovercard-store.cjs +6 -6
  73. package/cjs/hovercard/hovercard.cjs +13 -13
  74. package/cjs/menu/menu-bar-store.cjs +6 -6
  75. package/cjs/menu/menu-button.cjs +9 -6
  76. package/cjs/menu/menu-item-checkbox.cjs +9 -9
  77. package/cjs/menu/menu-item-radio.cjs +7 -7
  78. package/cjs/menu/menu-item.cjs +5 -5
  79. package/cjs/menu/menu-list.cjs +3 -3
  80. package/cjs/menu/menu-store.cjs +13 -13
  81. package/cjs/menu/menu.cjs +15 -15
  82. package/cjs/popover/popover-store.cjs +5 -5
  83. package/cjs/popover/popover.cjs +12 -12
  84. package/cjs/radio/radio-store.cjs +7 -7
  85. package/cjs/radio/radio.cjs +5 -5
  86. package/cjs/select/select-item.cjs +4 -4
  87. package/cjs/select/select-popover.cjs +12 -12
  88. package/cjs/select/select-renderer.cjs +7 -7
  89. package/cjs/select/select-store.cjs +11 -11
  90. package/cjs/tab/tab-panel.cjs +5 -5
  91. package/cjs/tab/tab-store.cjs +9 -9
  92. package/cjs/tab/tab.cjs +4 -4
  93. package/cjs/toolbar/toolbar-container.cjs +7 -7
  94. package/cjs/toolbar/toolbar-input.cjs +5 -5
  95. package/cjs/toolbar/toolbar-item.cjs +5 -5
  96. package/cjs/toolbar/toolbar-store.cjs +6 -6
  97. package/cjs/tooltip/tooltip-anchor.cjs +33 -20
  98. package/cjs/tooltip/tooltip-store.cjs +10 -10
  99. package/cjs/tooltip/tooltip.cjs +13 -13
  100. package/cjs/tsconfig.build.tsbuildinfo +1 -1
  101. package/cjs/utils/store.cjs +2 -2
  102. package/esm/__chunks/{7J6H5Y2H.js → 432NLB7J.js} +2 -2
  103. package/esm/__chunks/{FV23EKJL.js → 5M4ITSXL.js} +3 -2
  104. package/esm/__chunks/{6RR2HJXR.js → 5PDNXTAR.js} +1 -1
  105. package/esm/__chunks/{QHXLY5NM.js → 5QHNNZNE.js} +1 -1
  106. package/esm/__chunks/{WEWVELT3.js → 6F6CCCKT.js} +1 -1
  107. package/esm/__chunks/{DCG3EYDE.js → 7SIWUER2.js} +2 -2
  108. package/esm/__chunks/{F6KX6FT7.js → CEBWVZJQ.js} +2 -2
  109. package/esm/__chunks/{DIA4OBYO.js → CU3AKJBN.js} +1 -1
  110. package/esm/__chunks/{5TTSBUCW.js → CYNFBMYS.js} +1 -1
  111. package/esm/__chunks/{4XWTU3WN.js → E5XSMSHD.js} +25 -7
  112. package/esm/__chunks/{6RGH36XF.js → EICJBDBV.js} +2 -2
  113. package/esm/__chunks/{WVP274TO.js → F6PEGR7W.js} +1 -1
  114. package/esm/__chunks/{WKNTOKYS.js → FSTINJD5.js} +1 -1
  115. package/esm/__chunks/{LUUMYNYQ.js → FW5SU7FV.js} +2 -2
  116. package/esm/__chunks/{CYJJUQU3.js → GDORSOK6.js} +1 -1
  117. package/esm/__chunks/{HCTED3MY.js → JD3UVZX5.js} +1 -1
  118. package/esm/__chunks/{HCZMY53N.js → LEBYH5FW.js} +13 -2
  119. package/esm/__chunks/{AR6DTI3S.js → NHPU54IO.js} +2 -2
  120. package/esm/__chunks/{RH5PYIJN.js → ORZC42PG.js} +5 -7
  121. package/esm/__chunks/{OEA63YXU.js → PLOINBVB.js} +14 -20
  122. package/esm/__chunks/{VKYM5S67.js → Q52PUUUL.js} +1 -1
  123. package/esm/__chunks/{HWFO52CA.js → QJUX534W.js} +2 -2
  124. package/esm/__chunks/{OOWNFOTF.js → QPTZ2G2N.js} +51 -28
  125. package/esm/__chunks/{NCSSU46J.js → R4VIEIUH.js} +1 -1
  126. package/esm/__chunks/{GADPWICI.js → TG7IDXTX.js} +38 -26
  127. package/esm/__chunks/{KRFS2JCI.js → TQ5BKSY4.js} +2 -2
  128. package/esm/__chunks/{C2N5FZMW.js → UKOZA6YP.js} +2 -2
  129. package/esm/__chunks/{HGFTMLQ7.js → VFNGSUSF.js} +13 -13
  130. package/esm/__chunks/{5PLAJI33.js → X5CHG5LF.js} +2 -2
  131. package/esm/__chunks/{I3PXTXPI.js → Y5XLHDDM.js} +9 -1
  132. package/esm/checkbox/checkbox-store.js +2 -2
  133. package/esm/checkbox/checkbox.js +2 -2
  134. package/esm/collection/collection-item.js +1 -1
  135. package/esm/collection/collection-renderer.js +2 -2
  136. package/esm/collection/collection-store.js +2 -2
  137. package/esm/combobox/combobox-item.js +3 -3
  138. package/esm/combobox/combobox-popover.js +11 -11
  139. package/esm/combobox/combobox-store.js +6 -6
  140. package/esm/combobox/combobox.js +3 -3
  141. package/esm/composite/composite-container.js +2 -2
  142. package/esm/composite/composite-item.js +3 -3
  143. package/esm/composite/composite-overflow-disclosure.js +6 -5
  144. package/esm/composite/composite-overflow-store.js +4 -4
  145. package/esm/composite/composite-overflow.js +11 -11
  146. package/esm/composite/composite-renderer.js +3 -3
  147. package/esm/composite/composite-store.js +3 -3
  148. package/esm/dialog/dialog-backdrop.js +5 -5
  149. package/esm/dialog/dialog-store.js +3 -3
  150. package/esm/dialog/dialog.js +10 -10
  151. package/esm/dialog/utils/disable-accessibility-tree-outside.js +2 -2
  152. package/esm/dialog/utils/disable-tree-outside.js +3 -3
  153. package/esm/dialog/utils/mark-tree-outside.js +2 -2
  154. package/esm/dialog/utils/use-hide-on-interact-outside.d.ts +1 -1
  155. package/esm/dialog/utils/use-hide-on-interact-outside.js +3 -3
  156. package/esm/dialog/utils/use-nested-dialogs.js +1 -1
  157. package/esm/dialog/utils/walk-tree-outside.d.ts +1 -1
  158. package/esm/dialog/utils/walk-tree-outside.js +1 -1
  159. package/esm/disclosure/disclosure-store.js +2 -2
  160. package/esm/focusable/focusable.d.ts +52 -13
  161. package/esm/form/form-checkbox.js +5 -5
  162. package/esm/form/form-description.js +1 -1
  163. package/esm/form/form-error.js +1 -1
  164. package/esm/form/form-field.js +2 -2
  165. package/esm/form/form-input.js +2 -2
  166. package/esm/form/form-label.js +1 -1
  167. package/esm/form/form-push.js +1 -1
  168. package/esm/form/form-radio.js +5 -5
  169. package/esm/form/form-store.js +2 -2
  170. package/esm/hovercard/hovercard-anchor.js +1 -1
  171. package/esm/hovercard/hovercard-disclosure.js +12 -14
  172. package/esm/hovercard/hovercard-store.js +5 -5
  173. package/esm/hovercard/hovercard.js +12 -12
  174. package/esm/menu/menu-bar-store.js +3 -3
  175. package/esm/menu/menu-button.js +7 -4
  176. package/esm/menu/menu-item-checkbox.js +6 -6
  177. package/esm/menu/menu-item-radio.js +5 -5
  178. package/esm/menu/menu-item.js +4 -4
  179. package/esm/menu/menu-list.js +2 -2
  180. package/esm/menu/menu-store.js +7 -7
  181. package/esm/menu/menu.js +13 -13
  182. package/esm/popover/popover-store.js +4 -4
  183. package/esm/popover/popover.js +11 -11
  184. package/esm/radio/radio-store.js +3 -3
  185. package/esm/radio/radio.js +4 -4
  186. package/esm/select/select-item.js +3 -3
  187. package/esm/select/select-popover.js +11 -11
  188. package/esm/select/select-renderer.js +3 -3
  189. package/esm/select/select-store.js +6 -6
  190. package/esm/tab/tab-panel.js +3 -3
  191. package/esm/tab/tab-store.js +3 -3
  192. package/esm/tab/tab.js +3 -3
  193. package/esm/toolbar/toolbar-container.js +5 -5
  194. package/esm/toolbar/toolbar-input.js +4 -4
  195. package/esm/toolbar/toolbar-item.js +4 -4
  196. package/esm/toolbar/toolbar-store.js +3 -3
  197. package/esm/tooltip/tooltip-anchor.js +34 -21
  198. package/esm/tooltip/tooltip-store.js +5 -5
  199. package/esm/tooltip/tooltip.js +12 -12
  200. package/esm/tsconfig.build.tsbuildinfo +1 -1
  201. package/esm/utils/store.js +1 -1
  202. package/package.json +2 -2
  203. package/cjs/__chunks/KLWT4P56.cjs +0 -90
@@ -1,22 +1,22 @@
1
1
  import {
2
2
  Dialog,
3
3
  useDialog
4
- } from "../__chunks/GADPWICI.js";
5
- import "../__chunks/7J6H5Y2H.js";
6
- import "../__chunks/AR6DTI3S.js";
7
- import "../__chunks/CYJJUQU3.js";
4
+ } from "../__chunks/TG7IDXTX.js";
5
+ import "../__chunks/432NLB7J.js";
6
+ import "../__chunks/NHPU54IO.js";
7
+ import "../__chunks/GDORSOK6.js";
8
8
  import "../__chunks/3LAWLNOX.js";
9
9
  import "../__chunks/CJI67A3R.js";
10
- import "../__chunks/OEA63YXU.js";
11
- import "../__chunks/4XWTU3WN.js";
12
- import "../__chunks/HCZMY53N.js";
10
+ import "../__chunks/PLOINBVB.js";
11
+ import "../__chunks/E5XSMSHD.js";
12
+ import "../__chunks/LEBYH5FW.js";
13
13
  import "../__chunks/IXXFVVA2.js";
14
14
  import "../__chunks/7JNF6I52.js";
15
15
  import "../__chunks/KOVUJERF.js";
16
16
  import "../__chunks/62DFK33R.js";
17
17
  import "../__chunks/FW6QFGFT.js";
18
18
  import "../__chunks/IYNN2ZO5.js";
19
- import "../__chunks/FV23EKJL.js";
19
+ import "../__chunks/5M4ITSXL.js";
20
20
  import "../__chunks/6OMX4H3W.js";
21
21
  import "../__chunks/LL3AE4N4.js";
22
22
  import "../__chunks/EJ3GIT5B.js";
@@ -29,8 +29,8 @@ import "../__chunks/MYID4V27.js";
29
29
  import "../__chunks/BMLNRUFQ.js";
30
30
  import "../__chunks/FL2AU7YJ.js";
31
31
  import "../__chunks/NQJBHION.js";
32
- import "../__chunks/WVP274TO.js";
33
- import "../__chunks/OOWNFOTF.js";
32
+ import "../__chunks/F6PEGR7W.js";
33
+ import "../__chunks/QPTZ2G2N.js";
34
34
  import "../__chunks/J7Q2EO23.js";
35
35
  import "../__chunks/CP3U4HPL.js";
36
36
  import "../__chunks/PNRLI7OV.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  disableAccessibilityTreeOutside,
3
3
  hideElementFromAccessibilityTree
4
- } from "../../__chunks/CYJJUQU3.js";
4
+ } from "../../__chunks/GDORSOK6.js";
5
5
  import "../../__chunks/IXXFVVA2.js";
6
6
  import "../../__chunks/FW6QFGFT.js";
7
- import "../../__chunks/FV23EKJL.js";
7
+ import "../../__chunks/5M4ITSXL.js";
8
8
  import "../../__chunks/PNRLI7OV.js";
9
9
  export {
10
10
  disableAccessibilityTreeOutside,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  disableTreeOutside
3
- } from "../../__chunks/AR6DTI3S.js";
4
- import "../../__chunks/CYJJUQU3.js";
3
+ } from "../../__chunks/NHPU54IO.js";
4
+ import "../../__chunks/GDORSOK6.js";
5
5
  import "../../__chunks/IXXFVVA2.js";
6
6
  import "../../__chunks/KOVUJERF.js";
7
7
  import "../../__chunks/FW6QFGFT.js";
8
- import "../../__chunks/FV23EKJL.js";
8
+ import "../../__chunks/5M4ITSXL.js";
9
9
  import "../../__chunks/PNRLI7OV.js";
10
10
  export {
11
11
  disableTreeOutside
@@ -3,10 +3,10 @@ import {
3
3
  markAncestor,
4
4
  markElement,
5
5
  markTreeOutside
6
- } from "../../__chunks/HCZMY53N.js";
6
+ } from "../../__chunks/LEBYH5FW.js";
7
7
  import "../../__chunks/IXXFVVA2.js";
8
8
  import "../../__chunks/FW6QFGFT.js";
9
- import "../../__chunks/FV23EKJL.js";
9
+ import "../../__chunks/5M4ITSXL.js";
10
10
  import "../../__chunks/PNRLI7OV.js";
11
11
  export {
12
12
  isElementMarked,
@@ -1,2 +1,2 @@
1
1
  import type { DialogOptions } from "../dialog.js";
2
- export declare function useHideOnInteractOutside(store: DialogOptions["store"], hideOnInteractOutside: DialogOptions["hideOnInteractOutside"]): void;
2
+ export declare function useHideOnInteractOutside(store: DialogOptions["store"], hideOnInteractOutside: DialogOptions["hideOnInteractOutside"], domReady?: boolean | HTMLElement | null): void;
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  useHideOnInteractOutside
3
- } from "../../__chunks/4XWTU3WN.js";
4
- import "../../__chunks/HCZMY53N.js";
3
+ } from "../../__chunks/E5XSMSHD.js";
4
+ import "../../__chunks/LEBYH5FW.js";
5
5
  import "../../__chunks/IXXFVVA2.js";
6
6
  import "../../__chunks/7JNF6I52.js";
7
7
  import "../../__chunks/FW6QFGFT.js";
8
- import "../../__chunks/FV23EKJL.js";
8
+ import "../../__chunks/5M4ITSXL.js";
9
9
  import "../../__chunks/J7Q2EO23.js";
10
10
  import "../../__chunks/CP3U4HPL.js";
11
11
  import "../../__chunks/PNRLI7OV.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useNestedDialogs
3
- } from "../../__chunks/OEA63YXU.js";
3
+ } from "../../__chunks/PLOINBVB.js";
4
4
  import "../../__chunks/J7Q2EO23.js";
5
5
  import "../../__chunks/CP3U4HPL.js";
6
6
  import "../../__chunks/PNRLI7OV.js";
@@ -1,4 +1,4 @@
1
1
  type Elements = Array<Element | null>;
2
2
  export declare function isValidElement(element: Element, ignoredElements: Elements): boolean;
3
- export declare function walkTreeOutside(elements: Elements, callback: (element: Element) => void, ancestorCallback?: (element: Element) => void): void;
3
+ export declare function walkTreeOutside(elements: Elements, callback: (element: Element, originalElement: Element) => void, ancestorCallback?: (element: Element, originalElement: Element) => void): void;
4
4
  export {};
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isValidElement,
3
3
  walkTreeOutside
4
- } from "../../__chunks/FV23EKJL.js";
4
+ } from "../../__chunks/5M4ITSXL.js";
5
5
  import "../../__chunks/PNRLI7OV.js";
6
6
  export {
7
7
  isValidElement,
@@ -2,8 +2,8 @@ import {
2
2
  useDisclosureStore,
3
3
  useDisclosureStoreOptions,
4
4
  useDisclosureStoreProps
5
- } from "../__chunks/WVP274TO.js";
6
- import "../__chunks/OOWNFOTF.js";
5
+ } from "../__chunks/F6PEGR7W.js";
6
+ import "../__chunks/QPTZ2G2N.js";
7
7
  import "../__chunks/J7Q2EO23.js";
8
8
  import "../__chunks/CP3U4HPL.js";
9
9
  import "../__chunks/PNRLI7OV.js";
@@ -12,7 +12,20 @@ import type { As, Options, Props } from "../utils/types.js";
12
12
  */
13
13
  export declare const useFocusable: import("../utils/types.js").Hook<FocusableOptions<"div">>;
14
14
  /**
15
- * Renders an element that can be focused.
15
+ * Renders a focusable element. When this element gains keyboard focus, it gets
16
+ * a
17
+ * [`data-focus-visible`](https://ariakit.org/guide/styling#data-focus-visible)
18
+ * attribute and triggers the
19
+ * [`onFocusVisible`](https://ariakit.org/reference/focusable#onfocusvisible)
20
+ * prop.
21
+ *
22
+ * The `Focusable` component supports the
23
+ * [`disabled`](https://ariakit.org/reference/focusable#disabled) prop for all
24
+ * elements, even those not supporting the native `disabled` attribute. Disabled
25
+ * elements using the `Focusable` component may be still accessible via keyboard
26
+ * by using the the
27
+ * [`accessibleWhenDisabled`](https://ariakit.org/reference/focusable#accessiblewhendisabled)
28
+ * prop.
16
29
  * @see https://ariakit.org/components/focusable
17
30
  * @example
18
31
  * ```jsx
@@ -22,31 +35,56 @@ export declare const useFocusable: import("../utils/types.js").Hook<FocusableOpt
22
35
  export declare const Focusable: import("../utils/types.js").Component<FocusableOptions<"div">>;
23
36
  export interface FocusableOptions<T extends As = "div"> extends Options<T> {
24
37
  /**
25
- * Determines whether the focusable element is disabled. If the focusable
26
- * element doesn't support the native `disabled` attribute, the
27
- * `aria-disabled` attribute will be used instead.
38
+ * Determines if the element is disabled. This sets the `aria-disabled`
39
+ * attribute accordingly, enabling support for all elements, including those
40
+ * that don't support the native `disabled` attribute.
41
+ *
42
+ * This feature can be combined with the
43
+ * [`accessibleWhenDisabled`](https://ariakit.org/reference/focusable#accessiblewhendisabled)
44
+ * prop to make disabled elements still accessible via keyboard.
45
+ *
46
+ * Live examples:
47
+ * - [Submenu](https://ariakit.org/examples/menu-nested)
28
48
  * @default false
29
49
  */
30
50
  disabled?: boolean;
31
51
  /**
32
- * Automatically focus the element when it is mounted. It works similarly to
33
- * the native `autoFocus` prop, but solves an issue where the element is given
34
- * focus before React effects can run.
52
+ * Automatically focuses the element upon mounting, similar to the native
53
+ * `autoFocus` prop. This addresses an issue where the element with the native
54
+ * `autoFocus` attribute might receive focus before React effects are
55
+ * executed.
56
+ *
57
+ * The `autoFocus` prop can also be used with
58
+ * [Focusable](https://ariakit.org/components/focusable) elements within a
59
+ * [Dialog](https://ariakit.org/components/dialog) component, establishing the
60
+ * initial focus as the dialog opens.
35
61
  *
36
62
  * Live examples:
37
63
  * - [Dialog with React
38
64
  * Router](https://ariakit.org/examples/dialog-react-router)
65
+ * - [Nested Dialog](https://ariakit.org/examples/dialog-nested)
39
66
  * @default false
40
67
  */
41
68
  autoFocus?: boolean;
42
69
  /**
43
- * Whether the element should be focusable.
70
+ * Determines if [Focusable](https://ariakit.org/components/focusable)
71
+ * features should be active on non-native focusable elements.
72
+ *
73
+ * **Note**: This prop only turns off the additional features provided by the
74
+ * [Focusable](https://ariakit.org/components/focusable) component. Non-native
75
+ * focusable elements will lose their focusability entirely. However, native
76
+ * focusable elements will retain their inherent focusability, but without
77
+ * added features such as improved
78
+ * [`autoFocus`](https://ariakit.org/reference/focusable#autofocus),
79
+ * [`accessibleWhenDisabled`](https://ariakit.org/reference/focusable#accessiblewhendisabled),
80
+ * [`onFocusVisible`](https://ariakit.org/reference/focusable#onfocusvisible),
81
+ * etc.
44
82
  * @default true
45
83
  */
46
84
  focusable?: boolean;
47
85
  /**
48
- * Determines whether the element should be focusable even when it is
49
- * disabled.
86
+ * Indicates whether the element should be focusable even when it is
87
+ * [`disabled`](https://ariakit.org/reference/focusable#disabled).
50
88
  *
51
89
  * This is important when discoverability is a concern. For example:
52
90
  *
@@ -57,12 +95,13 @@ export interface FocusableOptions<T extends As = "div"> extends Options<T> {
57
95
  * functionality is primarily via their presence on the toolbar.
58
96
  *
59
97
  * Learn more on [Focusability of disabled
60
- * controls](https://www.w3.org/TR/wai-aria-practices-1.2/#kbd_disabled_controls).
98
+ * controls](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/#focusabilityofdisabledcontrols).
61
99
  */
62
100
  accessibleWhenDisabled?: boolean;
63
101
  /**
64
- * Custom event handler that is called when the element is focused via the
65
- * keyboard or when a key is pressed while the element is focused.
102
+ * Custom event handler invoked when the element gains focus through keyboard
103
+ * interaction or a key press occurs while the element is in focus. This is a
104
+ * programmatic equivalent of the `data-focus-visible` attribute.
66
105
  *
67
106
  * Live examples:
68
107
  * - [Custom Checkbox](https://ariakit.org/examples/checkbox-custom)
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  useFormField
3
- } from "../__chunks/QHXLY5NM.js";
3
+ } from "../__chunks/5QHNNZNE.js";
4
4
  import {
5
5
  FormContext
6
6
  } from "../__chunks/P3I4MECH.js";
7
7
  import {
8
8
  useCheckbox
9
- } from "../__chunks/NCSSU46J.js";
9
+ } from "../__chunks/R4VIEIUH.js";
10
10
  import {
11
11
  useCheckboxStore
12
- } from "../__chunks/5TTSBUCW.js";
12
+ } from "../__chunks/CYNFBMYS.js";
13
13
  import "../__chunks/M5KYRTQG.js";
14
14
  import "../__chunks/P4RGQGTG.js";
15
- import "../__chunks/HGFTMLQ7.js";
15
+ import "../__chunks/VFNGSUSF.js";
16
16
  import "../__chunks/T3DJZG63.js";
17
17
  import "../__chunks/MYID4V27.js";
18
18
  import "../__chunks/BMLNRUFQ.js";
@@ -21,7 +21,7 @@ import {
21
21
  createHook,
22
22
  createMemoComponent
23
23
  } from "../__chunks/NQJBHION.js";
24
- import "../__chunks/OOWNFOTF.js";
24
+ import "../__chunks/QPTZ2G2N.js";
25
25
  import "../__chunks/J7Q2EO23.js";
26
26
  import "../__chunks/CP3U4HPL.js";
27
27
  import {
@@ -3,7 +3,7 @@ import {
3
3
  } from "../__chunks/P3I4MECH.js";
4
4
  import {
5
5
  useCollectionItem
6
- } from "../__chunks/HGFTMLQ7.js";
6
+ } from "../__chunks/VFNGSUSF.js";
7
7
  import "../__chunks/T3DJZG63.js";
8
8
  import {
9
9
  createElement,
@@ -3,7 +3,7 @@ import {
3
3
  } from "../__chunks/P3I4MECH.js";
4
4
  import {
5
5
  useCollectionItem
6
- } from "../__chunks/HGFTMLQ7.js";
6
+ } from "../__chunks/VFNGSUSF.js";
7
7
  import "../__chunks/T3DJZG63.js";
8
8
  import {
9
9
  createElement,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  FormField,
3
3
  useFormField
4
- } from "../__chunks/QHXLY5NM.js";
4
+ } from "../__chunks/5QHNNZNE.js";
5
5
  import "../__chunks/P3I4MECH.js";
6
- import "../__chunks/HGFTMLQ7.js";
6
+ import "../__chunks/VFNGSUSF.js";
7
7
  import "../__chunks/T3DJZG63.js";
8
8
  import "../__chunks/NQJBHION.js";
9
9
  import "../__chunks/J7Q2EO23.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  useFormField
3
- } from "../__chunks/QHXLY5NM.js";
3
+ } from "../__chunks/5QHNNZNE.js";
4
4
  import {
5
5
  FormContext
6
6
  } from "../__chunks/P3I4MECH.js";
7
- import "../__chunks/HGFTMLQ7.js";
7
+ import "../__chunks/VFNGSUSF.js";
8
8
  import "../__chunks/T3DJZG63.js";
9
9
  import {
10
10
  useFocusable
@@ -3,7 +3,7 @@ import {
3
3
  } from "../__chunks/P3I4MECH.js";
4
4
  import {
5
5
  useCollectionItem
6
- } from "../__chunks/HGFTMLQ7.js";
6
+ } from "../__chunks/VFNGSUSF.js";
7
7
  import "../__chunks/T3DJZG63.js";
8
8
  import {
9
9
  createElement,
@@ -7,7 +7,7 @@ import {
7
7
  import "../__chunks/P4RGQGTG.js";
8
8
  import {
9
9
  useCollectionItem
10
- } from "../__chunks/HGFTMLQ7.js";
10
+ } from "../__chunks/VFNGSUSF.js";
11
11
  import "../__chunks/T3DJZG63.js";
12
12
  import "../__chunks/MYID4V27.js";
13
13
  import "../__chunks/BMLNRUFQ.js";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  useFormField
3
- } from "../__chunks/QHXLY5NM.js";
3
+ } from "../__chunks/5QHNNZNE.js";
4
4
  import {
5
5
  FormContext
6
6
  } from "../__chunks/P3I4MECH.js";
7
7
  import {
8
8
  useRadio
9
- } from "../__chunks/HWFO52CA.js";
9
+ } from "../__chunks/QJUX534W.js";
10
10
  import "../__chunks/6I2PARRP.js";
11
- import "../__chunks/DCG3EYDE.js";
11
+ import "../__chunks/7SIWUER2.js";
12
12
  import "../__chunks/P4RGQGTG.js";
13
- import "../__chunks/HGFTMLQ7.js";
13
+ import "../__chunks/VFNGSUSF.js";
14
14
  import "../__chunks/T3DJZG63.js";
15
15
  import "../__chunks/OXPV2NBK.js";
16
16
  import "../__chunks/WJ37OVG2.js";
@@ -21,7 +21,7 @@ import {
21
21
  createHook,
22
22
  createMemoComponent
23
23
  } from "../__chunks/NQJBHION.js";
24
- import "../__chunks/OOWNFOTF.js";
24
+ import "../__chunks/QPTZ2G2N.js";
25
25
  import {
26
26
  useEvent
27
27
  } from "../__chunks/J7Q2EO23.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  useCollectionStoreOptions,
3
3
  useCollectionStoreProps
4
- } from "../__chunks/WKNTOKYS.js";
4
+ } from "../__chunks/FSTINJD5.js";
5
5
  import {
6
6
  useStore,
7
7
  useStoreProps
8
- } from "../__chunks/OOWNFOTF.js";
8
+ } from "../__chunks/QPTZ2G2N.js";
9
9
  import {
10
10
  useEvent
11
11
  } from "../__chunks/J7Q2EO23.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HovercardAnchor,
3
3
  useHovercardAnchor
4
- } from "../__chunks/I3PXTXPI.js";
4
+ } from "../__chunks/Y5XLHDDM.js";
5
5
  import "../__chunks/MYID4V27.js";
6
6
  import "../__chunks/BMLNRUFQ.js";
7
7
  import "../__chunks/NQJBHION.js";
@@ -29,6 +29,7 @@ import {
29
29
  import { useEffect, useState } from "react";
30
30
  import { contains } from "@ariakit/core/utils/dom";
31
31
  import { addGlobalEventListener } from "@ariakit/core/utils/events";
32
+ import { sync } from "@ariakit/core/utils/store";
32
33
  import { jsx } from "react/jsx-runtime";
33
34
  var useHovercardDisclosure = createHook(
34
35
  (_a) => {
@@ -59,21 +60,18 @@ var useHovercardDisclosure = createHook(
59
60
  return addGlobalEventListener("focusout", onBlur, true);
60
61
  }, [visible, store]);
61
62
  useEffect(() => {
62
- return store.sync(
63
- (state) => {
64
- const anchor = state.anchorElement;
65
- if (!anchor)
63
+ return sync(store, ["anchorElement"], (state) => {
64
+ const anchor = state.anchorElement;
65
+ if (!anchor)
66
+ return;
67
+ const observer = new MutationObserver(() => {
68
+ if (!anchor.hasAttribute("data-focus-visible"))
66
69
  return;
67
- const observer = new MutationObserver(() => {
68
- if (!anchor.hasAttribute("data-focus-visible"))
69
- return;
70
- setVisible(true);
71
- });
72
- observer.observe(anchor, { attributeFilter: ["data-focus-visible"] });
73
- return () => observer.disconnect();
74
- },
75
- ["anchorElement"]
76
- );
70
+ setVisible(true);
71
+ });
72
+ observer.observe(anchor, { attributeFilter: ["data-focus-visible"] });
73
+ return () => observer.disconnect();
74
+ });
77
75
  }, [store]);
78
76
  const onClickProp = props.onClick;
79
77
  const onClick = useEvent((event) => {
@@ -2,11 +2,11 @@ import {
2
2
  useHovercardStore,
3
3
  useHovercardStoreOptions,
4
4
  useHovercardStoreProps
5
- } from "../__chunks/C2N5FZMW.js";
6
- import "../__chunks/6RGH36XF.js";
7
- import "../__chunks/LUUMYNYQ.js";
8
- import "../__chunks/WVP274TO.js";
9
- import "../__chunks/OOWNFOTF.js";
5
+ } from "../__chunks/UKOZA6YP.js";
6
+ import "../__chunks/EICJBDBV.js";
7
+ import "../__chunks/FW5SU7FV.js";
8
+ import "../__chunks/F6PEGR7W.js";
9
+ import "../__chunks/QPTZ2G2N.js";
10
10
  import "../__chunks/J7Q2EO23.js";
11
11
  import "../__chunks/CP3U4HPL.js";
12
12
  import "../__chunks/PNRLI7OV.js";
@@ -1,25 +1,25 @@
1
1
  import {
2
2
  Hovercard,
3
3
  useHovercard
4
- } from "../__chunks/RH5PYIJN.js";
4
+ } from "../__chunks/ORZC42PG.js";
5
5
  import "../__chunks/X7FKJQME.js";
6
- import "../__chunks/DIA4OBYO.js";
7
- import "../__chunks/GADPWICI.js";
8
- import "../__chunks/7J6H5Y2H.js";
9
- import "../__chunks/AR6DTI3S.js";
10
- import "../__chunks/CYJJUQU3.js";
6
+ import "../__chunks/CU3AKJBN.js";
7
+ import "../__chunks/TG7IDXTX.js";
8
+ import "../__chunks/432NLB7J.js";
9
+ import "../__chunks/NHPU54IO.js";
10
+ import "../__chunks/GDORSOK6.js";
11
11
  import "../__chunks/3LAWLNOX.js";
12
12
  import "../__chunks/CJI67A3R.js";
13
- import "../__chunks/OEA63YXU.js";
14
- import "../__chunks/4XWTU3WN.js";
15
- import "../__chunks/HCZMY53N.js";
13
+ import "../__chunks/PLOINBVB.js";
14
+ import "../__chunks/E5XSMSHD.js";
15
+ import "../__chunks/LEBYH5FW.js";
16
16
  import "../__chunks/IXXFVVA2.js";
17
17
  import "../__chunks/7JNF6I52.js";
18
18
  import "../__chunks/KOVUJERF.js";
19
19
  import "../__chunks/62DFK33R.js";
20
20
  import "../__chunks/FW6QFGFT.js";
21
21
  import "../__chunks/IYNN2ZO5.js";
22
- import "../__chunks/FV23EKJL.js";
22
+ import "../__chunks/5M4ITSXL.js";
23
23
  import "../__chunks/6OMX4H3W.js";
24
24
  import "../__chunks/LL3AE4N4.js";
25
25
  import "../__chunks/EJ3GIT5B.js";
@@ -33,8 +33,8 @@ import "../__chunks/MYID4V27.js";
33
33
  import "../__chunks/BMLNRUFQ.js";
34
34
  import "../__chunks/FL2AU7YJ.js";
35
35
  import "../__chunks/NQJBHION.js";
36
- import "../__chunks/WVP274TO.js";
37
- import "../__chunks/OOWNFOTF.js";
36
+ import "../__chunks/F6PEGR7W.js";
37
+ import "../__chunks/QPTZ2G2N.js";
38
38
  import "../__chunks/J7Q2EO23.js";
39
39
  import "../__chunks/CP3U4HPL.js";
40
40
  import "../__chunks/PNRLI7OV.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  useCompositeStoreOptions,
3
3
  useCompositeStoreProps
4
- } from "../__chunks/5PLAJI33.js";
5
- import "../__chunks/WKNTOKYS.js";
4
+ } from "../__chunks/X5CHG5LF.js";
5
+ import "../__chunks/FSTINJD5.js";
6
6
  import {
7
7
  useStore
8
- } from "../__chunks/OOWNFOTF.js";
8
+ } from "../__chunks/QPTZ2G2N.js";
9
9
  import "../__chunks/J7Q2EO23.js";
10
10
  import "../__chunks/CP3U4HPL.js";
11
11
  import {
@@ -17,7 +17,7 @@ import {
17
17
  } from "../__chunks/F4XABKPL.js";
18
18
  import {
19
19
  useHovercardAnchor
20
- } from "../__chunks/I3PXTXPI.js";
20
+ } from "../__chunks/Y5XLHDDM.js";
21
21
  import "../__chunks/P4RGQGTG.js";
22
22
  import "../__chunks/OXPV2NBK.js";
23
23
  import "../__chunks/WJ37OVG2.js";
@@ -31,7 +31,7 @@ import {
31
31
  } from "../__chunks/NQJBHION.js";
32
32
  import {
33
33
  useStoreState
34
- } from "../__chunks/OOWNFOTF.js";
34
+ } from "../__chunks/QPTZ2G2N.js";
35
35
  import {
36
36
  useEvent,
37
37
  useId,
@@ -47,6 +47,7 @@ import {
47
47
  // src/menu/menu-button.tsx
48
48
  import { useContext, useEffect, useRef } from "react";
49
49
  import { getPopupItemRole, getPopupRole } from "@ariakit/core/utils/dom";
50
+ import { sync } from "@ariakit/core/utils/store";
50
51
  import { jsx } from "react/jsx-runtime";
51
52
  function getInitialFocus(event, dir) {
52
53
  const keyMap = {
@@ -67,8 +68,10 @@ var useMenuButton = createHook(
67
68
  const parentIsMenuBar = !!parentMenuBar && !hasParentMenu;
68
69
  const disabled = props.disabled || props["aria-disabled"] === true || props["aria-disabled"] === "true";
69
70
  useEffect(() => {
70
- store.setDisclosureElement(ref.current);
71
- });
71
+ return sync(store, ["disclosureElement"], () => {
72
+ store.setState("disclosureElement", ref.current);
73
+ });
74
+ }, [store]);
72
75
  const onFocusProp = props.onFocus;
73
76
  const onFocus = useEvent((event) => {
74
77
  onFocusProp == null ? void 0 : onFocusProp(event);
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  useCheckbox
3
- } from "../__chunks/NCSSU46J.js";
3
+ } from "../__chunks/R4VIEIUH.js";
4
4
  import {
5
5
  useCheckboxStore
6
- } from "../__chunks/5TTSBUCW.js";
6
+ } from "../__chunks/CYNFBMYS.js";
7
7
  import {
8
8
  useMenuItem
9
- } from "../__chunks/KRFS2JCI.js";
9
+ } from "../__chunks/TQ5BKSY4.js";
10
10
  import "../__chunks/W7JXAQKF.js";
11
11
  import {
12
12
  MenuContext
13
13
  } from "../__chunks/HVBRRKV4.js";
14
14
  import "../__chunks/W5P7IKOU.js";
15
15
  import "../__chunks/M5KYRTQG.js";
16
- import "../__chunks/DCG3EYDE.js";
16
+ import "../__chunks/7SIWUER2.js";
17
17
  import "../__chunks/P4RGQGTG.js";
18
- import "../__chunks/HGFTMLQ7.js";
18
+ import "../__chunks/VFNGSUSF.js";
19
19
  import "../__chunks/T3DJZG63.js";
20
20
  import "../__chunks/OXPV2NBK.js";
21
21
  import "../__chunks/WJ37OVG2.js";
@@ -26,7 +26,7 @@ import {
26
26
  createHook,
27
27
  createMemoComponent
28
28
  } from "../__chunks/NQJBHION.js";
29
- import "../__chunks/OOWNFOTF.js";
29
+ import "../__chunks/QPTZ2G2N.js";
30
30
  import "../__chunks/J7Q2EO23.js";
31
31
  import "../__chunks/CP3U4HPL.js";
32
32
  import {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useMenuItem
3
- } from "../__chunks/KRFS2JCI.js";
3
+ } from "../__chunks/TQ5BKSY4.js";
4
4
  import "../__chunks/W7JXAQKF.js";
5
5
  import {
6
6
  MenuContext,
@@ -9,11 +9,11 @@ import {
9
9
  import "../__chunks/W5P7IKOU.js";
10
10
  import {
11
11
  useRadio
12
- } from "../__chunks/HWFO52CA.js";
12
+ } from "../__chunks/QJUX534W.js";
13
13
  import "../__chunks/6I2PARRP.js";
14
- import "../__chunks/DCG3EYDE.js";
14
+ import "../__chunks/7SIWUER2.js";
15
15
  import "../__chunks/P4RGQGTG.js";
16
- import "../__chunks/HGFTMLQ7.js";
16
+ import "../__chunks/VFNGSUSF.js";
17
17
  import "../__chunks/T3DJZG63.js";
18
18
  import "../__chunks/OXPV2NBK.js";
19
19
  import "../__chunks/WJ37OVG2.js";
@@ -24,7 +24,7 @@ import {
24
24
  createHook,
25
25
  createMemoComponent
26
26
  } from "../__chunks/NQJBHION.js";
27
- import "../__chunks/OOWNFOTF.js";
27
+ import "../__chunks/QPTZ2G2N.js";
28
28
  import {
29
29
  useWrapElement
30
30
  } from "../__chunks/J7Q2EO23.js";