@ariakit/react-core 0.2.15 → 0.2.17

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 (180) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/cjs/__chunks/{GHDSJPDP.cjs → 2CBM6TG2.cjs} +9 -1
  3. package/cjs/__chunks/{7AY74MRV.cjs → 2GAPZOO5.cjs} +2 -2
  4. package/cjs/__chunks/{4ALK6CLY.cjs → 3ALHBZ3R.cjs} +2 -2
  5. package/cjs/__chunks/{PJQOOE4T.cjs → 4ZIMX233.cjs} +6 -8
  6. package/cjs/__chunks/{XE2DJMCI.cjs → 6BAHKJ5K.cjs} +14 -20
  7. package/cjs/__chunks/{RO6U6W2X.cjs → 6XUE2BI4.cjs} +7 -7
  8. package/cjs/__chunks/{B4KY2VS7.cjs → ATSMFQCO.cjs} +3 -3
  9. package/cjs/__chunks/{IIT6ECXG.cjs → BOBM73LT.cjs} +8 -8
  10. package/cjs/__chunks/{COQS7NEY.cjs → BPAMJRUF.cjs} +2 -2
  11. package/cjs/__chunks/{GJDDV2DB.cjs → CRKIULUL.cjs} +13 -13
  12. package/cjs/__chunks/{AGHEZ6QM.cjs → DZGTHAPX.cjs} +2 -2
  13. package/cjs/__chunks/{KAIRFV3B.cjs → EHQTSSAA.cjs} +4 -4
  14. package/cjs/__chunks/{SIVNE3PR.cjs → ETK4FMZH.cjs} +12 -12
  15. package/cjs/__chunks/{YBLCB5MM.cjs → HOHFF2K6.cjs} +5 -5
  16. package/cjs/__chunks/{VXMYNJ4Z.cjs → KCH72A7J.cjs} +2 -2
  17. package/cjs/__chunks/{GYMLYZWR.cjs → LRB2BIFR.cjs} +3 -3
  18. package/cjs/__chunks/{RS6F2A54.cjs → MNRJXH5I.cjs} +4 -4
  19. package/cjs/__chunks/{HV7BPIPP.cjs → MNUCM2FP.cjs} +7 -7
  20. package/cjs/__chunks/{MEIHBPXG.cjs → MPGRRS75.cjs} +32 -26
  21. package/cjs/__chunks/{VBRBBWCP.cjs → NH6Q6YSM.cjs} +2 -2
  22. package/cjs/__chunks/{UQ677BGW.cjs → OJKRJ6N2.cjs} +6 -6
  23. package/cjs/__chunks/{ZC54XMTA.cjs → OVOYNBFC.cjs} +4 -4
  24. package/cjs/__chunks/{LHLJ5HWH.cjs → RYHFE3BI.cjs} +2 -2
  25. package/cjs/__chunks/{2BUZEL3H.cjs → TUSNAJ32.cjs} +2 -2
  26. package/cjs/__chunks/{5PVFQNEK.cjs → ZK5KHSMP.cjs} +10 -10
  27. package/cjs/checkbox/checkbox-store.cjs +3 -3
  28. package/cjs/checkbox/checkbox.cjs +3 -3
  29. package/cjs/collection/collection-item.cjs +2 -2
  30. package/cjs/collection/collection-renderer.cjs +3 -3
  31. package/cjs/collection/collection-store.cjs +3 -3
  32. package/cjs/combobox/combobox-item.cjs +4 -4
  33. package/cjs/combobox/combobox-popover.cjs +7 -7
  34. package/cjs/combobox/combobox-store.cjs +11 -11
  35. package/cjs/combobox/combobox.cjs +3 -3
  36. package/cjs/command/command.d.ts +18 -5
  37. package/cjs/composite/composite-container.cjs +3 -3
  38. package/cjs/composite/composite-item.cjs +4 -4
  39. package/cjs/composite/composite-overflow-disclosure.cjs +7 -6
  40. package/cjs/composite/composite-overflow-store.cjs +7 -7
  41. package/cjs/composite/composite-overflow.cjs +7 -7
  42. package/cjs/composite/composite-renderer.cjs +4 -4
  43. package/cjs/composite/composite-store.cjs +4 -4
  44. package/cjs/dialog/dialog-backdrop.cjs +4 -4
  45. package/cjs/dialog/dialog-store.cjs +4 -4
  46. package/cjs/dialog/dialog.cjs +6 -6
  47. package/cjs/dialog/utils/use-nested-dialogs.cjs +2 -2
  48. package/cjs/disclosure/disclosure-store.cjs +3 -3
  49. package/cjs/focusable/focusable.d.ts +52 -13
  50. package/cjs/form/form-checkbox.cjs +8 -8
  51. package/cjs/form/form-description.cjs +2 -2
  52. package/cjs/form/form-error.cjs +2 -2
  53. package/cjs/form/form-field.cjs +3 -3
  54. package/cjs/form/form-input.cjs +3 -3
  55. package/cjs/form/form-label.cjs +2 -2
  56. package/cjs/form/form-push.cjs +2 -2
  57. package/cjs/form/form-radio.cjs +7 -7
  58. package/cjs/form/form-store.cjs +8 -8
  59. package/cjs/hovercard/hovercard-anchor.cjs +2 -2
  60. package/cjs/hovercard/hovercard-disclosure.cjs +12 -14
  61. package/cjs/hovercard/hovercard-store.cjs +6 -6
  62. package/cjs/hovercard/hovercard.cjs +8 -8
  63. package/cjs/menu/menu-bar-store.cjs +6 -6
  64. package/cjs/menu/menu-button.cjs +9 -6
  65. package/cjs/menu/menu-item-checkbox.cjs +9 -9
  66. package/cjs/menu/menu-item-radio.cjs +7 -7
  67. package/cjs/menu/menu-item.cjs +5 -5
  68. package/cjs/menu/menu-list.cjs +3 -3
  69. package/cjs/menu/menu-store.cjs +13 -13
  70. package/cjs/menu/menu.cjs +10 -10
  71. package/cjs/popover/popover-store.cjs +5 -5
  72. package/cjs/popover/popover.cjs +7 -7
  73. package/cjs/radio/radio-store.cjs +7 -7
  74. package/cjs/radio/radio.cjs +5 -5
  75. package/cjs/select/select-item.cjs +4 -4
  76. package/cjs/select/select-popover.cjs +7 -7
  77. package/cjs/select/select-renderer.cjs +7 -7
  78. package/cjs/select/select-store.cjs +11 -11
  79. package/cjs/tab/tab-panel.cjs +5 -5
  80. package/cjs/tab/tab-store.cjs +9 -9
  81. package/cjs/tab/tab.cjs +4 -4
  82. package/cjs/toolbar/toolbar-container.cjs +7 -7
  83. package/cjs/toolbar/toolbar-input.cjs +5 -5
  84. package/cjs/toolbar/toolbar-item.cjs +5 -5
  85. package/cjs/toolbar/toolbar-store.cjs +6 -6
  86. package/cjs/tooltip/tooltip-anchor.cjs +22 -28
  87. package/cjs/tooltip/tooltip-store.cjs +10 -10
  88. package/cjs/tooltip/tooltip.cjs +8 -8
  89. package/cjs/tsconfig.build.tsbuildinfo +1 -1
  90. package/cjs/utils/store.cjs +2 -2
  91. package/esm/__chunks/{ID2DTD7Z.js → 24II2LYU.js} +5 -7
  92. package/esm/__chunks/{JWSYWSCR.js → 3CJV7UYE.js} +1 -1
  93. package/esm/__chunks/{SPTQP5I5.js → 3PKTK2K7.js} +2 -2
  94. package/esm/__chunks/{H3BU75TA.js → 5IZLNERH.js} +1 -1
  95. package/esm/__chunks/{QHXLY5NM.js → 5QHNNZNE.js} +1 -1
  96. package/esm/__chunks/{4LTL37RB.js → 6TMY6IFR.js} +1 -1
  97. package/esm/__chunks/{36V3RYFS.js → 7KULBIZY.js} +2 -2
  98. package/esm/__chunks/{I6WUAEGK.js → DITMA5PJ.js} +2 -2
  99. package/esm/__chunks/{VVJJXZ6R.js → FVD2NJZN.js} +2 -2
  100. package/esm/__chunks/{JHKKFNCJ.js → K5MSER23.js} +1 -1
  101. package/esm/__chunks/{ISVIGIQD.js → KME3EPVS.js} +1 -1
  102. package/esm/__chunks/{74BBE733.js → LDICFO4C.js} +2 -2
  103. package/esm/__chunks/{QLIKSQTQ.js → ONFAHVST.js} +1 -1
  104. package/esm/__chunks/{XEEFNNEM.js → P2MU7N5N.js} +1 -1
  105. package/esm/__chunks/{XE25NQP3.js → P4CYWFUE.js} +1 -1
  106. package/esm/__chunks/{MXMUDZTV.js → P63NRZ4A.js} +31 -25
  107. package/esm/__chunks/{OEA63YXU.js → PLOINBVB.js} +14 -20
  108. package/esm/__chunks/{WNGYZL6A.js → RS7KBRGA.js} +1 -1
  109. package/esm/__chunks/{JJW3R5IK.js → SWJ5EOOS.js} +1 -1
  110. package/esm/__chunks/{BIPBU2AE.js → SZIMOWLA.js} +5 -5
  111. package/esm/__chunks/{OJNIJGF2.js → UVKFBOMX.js} +2 -2
  112. package/esm/__chunks/{HGFTMLQ7.js → VFNGSUSF.js} +13 -13
  113. package/esm/__chunks/{RRY7OZXM.js → WC3GK4CL.js} +2 -2
  114. package/esm/__chunks/{JFQ4TNZX.js → XADDW7ND.js} +2 -2
  115. package/esm/__chunks/{I3PXTXPI.js → Y5XLHDDM.js} +9 -1
  116. package/esm/checkbox/checkbox-store.js +2 -2
  117. package/esm/checkbox/checkbox.js +2 -2
  118. package/esm/collection/collection-item.js +1 -1
  119. package/esm/collection/collection-renderer.js +2 -2
  120. package/esm/collection/collection-store.js +2 -2
  121. package/esm/combobox/combobox-item.js +3 -3
  122. package/esm/combobox/combobox-popover.js +6 -6
  123. package/esm/combobox/combobox-store.js +6 -6
  124. package/esm/combobox/combobox.js +3 -3
  125. package/esm/command/command.d.ts +18 -5
  126. package/esm/composite/composite-container.js +2 -2
  127. package/esm/composite/composite-item.js +3 -3
  128. package/esm/composite/composite-overflow-disclosure.js +6 -5
  129. package/esm/composite/composite-overflow-store.js +4 -4
  130. package/esm/composite/composite-overflow.js +6 -6
  131. package/esm/composite/composite-renderer.js +3 -3
  132. package/esm/composite/composite-store.js +3 -3
  133. package/esm/dialog/dialog-backdrop.js +3 -3
  134. package/esm/dialog/dialog-store.js +3 -3
  135. package/esm/dialog/dialog.js +5 -5
  136. package/esm/dialog/utils/use-nested-dialogs.js +1 -1
  137. package/esm/disclosure/disclosure-store.js +2 -2
  138. package/esm/focusable/focusable.d.ts +52 -13
  139. package/esm/form/form-checkbox.js +5 -5
  140. package/esm/form/form-description.js +1 -1
  141. package/esm/form/form-error.js +1 -1
  142. package/esm/form/form-field.js +2 -2
  143. package/esm/form/form-input.js +2 -2
  144. package/esm/form/form-label.js +1 -1
  145. package/esm/form/form-push.js +1 -1
  146. package/esm/form/form-radio.js +5 -5
  147. package/esm/form/form-store.js +2 -2
  148. package/esm/hovercard/hovercard-anchor.js +1 -1
  149. package/esm/hovercard/hovercard-disclosure.js +12 -14
  150. package/esm/hovercard/hovercard-store.js +5 -5
  151. package/esm/hovercard/hovercard.js +7 -7
  152. package/esm/menu/menu-bar-store.js +3 -3
  153. package/esm/menu/menu-button.js +7 -4
  154. package/esm/menu/menu-item-checkbox.js +6 -6
  155. package/esm/menu/menu-item-radio.js +5 -5
  156. package/esm/menu/menu-item.js +4 -4
  157. package/esm/menu/menu-list.js +2 -2
  158. package/esm/menu/menu-store.js +7 -7
  159. package/esm/menu/menu.js +8 -8
  160. package/esm/popover/popover-store.js +4 -4
  161. package/esm/popover/popover.js +6 -6
  162. package/esm/radio/radio-store.js +3 -3
  163. package/esm/radio/radio.js +4 -4
  164. package/esm/select/select-item.js +3 -3
  165. package/esm/select/select-popover.js +6 -6
  166. package/esm/select/select-renderer.js +3 -3
  167. package/esm/select/select-store.js +6 -6
  168. package/esm/tab/tab-panel.js +3 -3
  169. package/esm/tab/tab-store.js +3 -3
  170. package/esm/tab/tab.js +3 -3
  171. package/esm/toolbar/toolbar-container.js +5 -5
  172. package/esm/toolbar/toolbar-input.js +4 -4
  173. package/esm/toolbar/toolbar-item.js +4 -4
  174. package/esm/toolbar/toolbar-store.js +3 -3
  175. package/esm/tooltip/tooltip-anchor.js +22 -28
  176. package/esm/tooltip/tooltip-store.js +5 -5
  177. package/esm/tooltip/tooltip.js +7 -7
  178. package/esm/tsconfig.build.tsbuildinfo +1 -1
  179. package/esm/utils/store.js +1 -1
  180. package/package.json +2 -2
@@ -271,9 +271,6 @@ var useCombobox = createHook(
271
271
  setCanInline(textInserted && caretAtEnd);
272
272
  }
273
273
  }
274
- if (showOnChangeProp(event)) {
275
- store.show();
276
- }
277
274
  if (setValueOnChangeProp(event)) {
278
275
  const isSameValue = value2 === store.getState().value;
279
276
  store.setValue(value2);
@@ -281,6 +278,9 @@ var useCombobox = createHook(
281
278
  forceValueUpdate();
282
279
  }
283
280
  }
281
+ if (showOnChangeProp(event)) {
282
+ store.show();
283
+ }
284
284
  if (!autoSelect || !canAutoSelectRef.current) {
285
285
  store.setActiveId(null);
286
286
  }
@@ -13,9 +13,16 @@ import type { As, Props } from "../utils/types.js";
13
13
  */
14
14
  export declare const useCommand: import("../utils/types.js").Hook<CommandOptions<"button">>;
15
15
  /**
16
- * Renders a clickable element (like a button). If the underlying element is not
17
- * a native clickable element, this component will pass additional attributes to
18
- * make sure it's accessible.
16
+ * Renders a clickable element, which is a `button` by default, and inherits
17
+ * features from the [`Focusable`](https://ariakit.org/reference/focusable)
18
+ * component.
19
+ *
20
+ * If the base element isn't a native clickable one, this component will provide
21
+ * extra attributes and event handlers to ensure accessibility. It can be
22
+ * activated with the keyboard using the
23
+ * [`clickOnEnter`](https://ariakit.org/reference/command#clickonenter) and
24
+ * [`clickOnSpace`](https://ariakit.org/reference/command#clickonspace)
25
+ * props. Both are set to `true` by default.
19
26
  * @see https://ariakit.org/components/command
20
27
  * @example
21
28
  * ```jsx
@@ -25,12 +32,18 @@ export declare const useCommand: import("../utils/types.js").Hook<CommandOptions
25
32
  export declare const Command: import("../utils/types.js").Component<CommandOptions<"button">>;
26
33
  export interface CommandOptions<T extends As = "button"> extends FocusableOptions<T> {
27
34
  /**
28
- * If true, pressing the enter key will trigger a click on the button.
35
+ * If set to `true`, pressing the enter key while this element is focused will
36
+ * trigger a click on the element, regardless of whether it's a native button
37
+ * or not. If this prop is set to `false`, pressing enter will not initiate a
38
+ * click.
29
39
  * @default true
30
40
  */
31
41
  clickOnEnter?: boolean;
32
42
  /**
33
- * If true, pressing the space key will trigger a click on the button.
43
+ * If set to `true`, pressing and releasing the space key while this element
44
+ * is focused will trigger a click on the element, regardless of whether it's
45
+ * a native button or not. If this prop is set to `false`, space will not
46
+ * initiate a click.
34
47
  * @default true
35
48
  */
36
49
  clickOnSpace?: boolean;
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  CompositeContainer,
3
3
  useCompositeContainer
4
- } from "../__chunks/XEEFNNEM.js";
4
+ } from "../__chunks/P2MU7N5N.js";
5
5
  import "../__chunks/OXPV2NBK.js";
6
6
  import "../__chunks/WJ37OVG2.js";
7
7
  import "../__chunks/NQJBHION.js";
8
- import "../__chunks/MXMUDZTV.js";
8
+ import "../__chunks/P63NRZ4A.js";
9
9
  import "../__chunks/J7Q2EO23.js";
10
10
  import "../__chunks/CP3U4HPL.js";
11
11
  import "../__chunks/PNRLI7OV.js";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  CompositeItem,
3
3
  useCompositeItem
4
- } from "../__chunks/VVJJXZ6R.js";
4
+ } from "../__chunks/FVD2NJZN.js";
5
5
  import "../__chunks/P4RGQGTG.js";
6
- import "../__chunks/HGFTMLQ7.js";
6
+ import "../__chunks/VFNGSUSF.js";
7
7
  import "../__chunks/T3DJZG63.js";
8
8
  import "../__chunks/OXPV2NBK.js";
9
9
  import "../__chunks/WJ37OVG2.js";
10
10
  import "../__chunks/MYID4V27.js";
11
11
  import "../__chunks/BMLNRUFQ.js";
12
12
  import "../__chunks/NQJBHION.js";
13
- import "../__chunks/MXMUDZTV.js";
13
+ import "../__chunks/P63NRZ4A.js";
14
14
  import "../__chunks/J7Q2EO23.js";
15
15
  import "../__chunks/CP3U4HPL.js";
16
16
  import "../__chunks/PNRLI7OV.js";
@@ -7,9 +7,9 @@ import "../__chunks/O6CV6VRM.js";
7
7
  import "../__chunks/7PHM3O7I.js";
8
8
  import {
9
9
  useCompositeItem
10
- } from "../__chunks/VVJJXZ6R.js";
10
+ } from "../__chunks/FVD2NJZN.js";
11
11
  import "../__chunks/P4RGQGTG.js";
12
- import "../__chunks/HGFTMLQ7.js";
12
+ import "../__chunks/VFNGSUSF.js";
13
13
  import "../__chunks/T3DJZG63.js";
14
14
  import "../__chunks/OXPV2NBK.js";
15
15
  import "../__chunks/WJ37OVG2.js";
@@ -21,7 +21,7 @@ import {
21
21
  createElement,
22
22
  createHook
23
23
  } from "../__chunks/NQJBHION.js";
24
- import "../__chunks/MXMUDZTV.js";
24
+ import "../__chunks/P63NRZ4A.js";
25
25
  import {
26
26
  useEvent,
27
27
  useMergeRefs
@@ -35,14 +35,15 @@ import {
35
35
 
36
36
  // src/composite/composite-overflow-disclosure.ts
37
37
  import { useEffect, useRef, useState } from "react";
38
+ import { sync } from "@ariakit/core/utils/store";
38
39
  var useCompositeOverflowDisclosure = createHook((_a) => {
39
40
  var _b = _a, { store } = _b, props = __objRest(_b, ["store"]);
40
41
  const ref = useRef(null);
41
42
  const [shouldRegisterItem, setShouldRegisterItem] = useState(false);
42
43
  useEffect(() => {
43
- return store.sync(() => {
44
+ return sync(store, ["disclosureElement"], () => {
44
45
  store.setDisclosureElement(ref.current);
45
- }, ["disclosureElement"]);
46
+ });
46
47
  }, [store]);
47
48
  const onFocusProp = props.onFocus;
48
49
  const onFocus = useEvent((event) => {
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  usePopoverStoreOptions,
3
3
  usePopoverStoreProps
4
- } from "../__chunks/SPTQP5I5.js";
5
- import "../__chunks/RRY7OZXM.js";
6
- import "../__chunks/JJW3R5IK.js";
4
+ } from "../__chunks/3PKTK2K7.js";
5
+ import "../__chunks/WC3GK4CL.js";
6
+ import "../__chunks/SWJ5EOOS.js";
7
7
  import {
8
8
  useStore
9
- } from "../__chunks/MXMUDZTV.js";
9
+ } from "../__chunks/P63NRZ4A.js";
10
10
  import "../__chunks/J7Q2EO23.js";
11
11
  import "../__chunks/CP3U4HPL.js";
12
12
  import {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  usePopover
3
- } from "../__chunks/JHKKFNCJ.js";
4
- import "../__chunks/BIPBU2AE.js";
5
- import "../__chunks/H3BU75TA.js";
3
+ } from "../__chunks/K5MSER23.js";
4
+ import "../__chunks/SZIMOWLA.js";
5
+ import "../__chunks/5IZLNERH.js";
6
6
  import "../__chunks/NHPU54IO.js";
7
7
  import "../__chunks/GDORSOK6.js";
8
8
  import "../__chunks/3LAWLNOX.js";
9
9
  import "../__chunks/CJI67A3R.js";
10
- import "../__chunks/OEA63YXU.js";
10
+ import "../__chunks/PLOINBVB.js";
11
11
  import "../__chunks/E5XSMSHD.js";
12
12
  import "../__chunks/LEBYH5FW.js";
13
13
  import "../__chunks/IXXFVVA2.js";
@@ -34,8 +34,8 @@ import {
34
34
  createElement,
35
35
  createHook
36
36
  } from "../__chunks/NQJBHION.js";
37
- import "../__chunks/JJW3R5IK.js";
38
- import "../__chunks/MXMUDZTV.js";
37
+ import "../__chunks/SWJ5EOOS.js";
38
+ import "../__chunks/P63NRZ4A.js";
39
39
  import {
40
40
  useEvent
41
41
  } from "../__chunks/J7Q2EO23.js";
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  CompositeRenderer,
3
3
  useCompositeRenderer
4
- } from "../__chunks/I6WUAEGK.js";
4
+ } from "../__chunks/DITMA5PJ.js";
5
5
  import {
6
6
  getCollectionRendererItem,
7
7
  getCollectionRendererItemId
8
- } from "../__chunks/QLIKSQTQ.js";
8
+ } from "../__chunks/ONFAHVST.js";
9
9
  import "../__chunks/T3DJZG63.js";
10
10
  import "../__chunks/WJ37OVG2.js";
11
11
  import "../__chunks/NQJBHION.js";
12
- import "../__chunks/MXMUDZTV.js";
12
+ import "../__chunks/P63NRZ4A.js";
13
13
  import "../__chunks/J7Q2EO23.js";
14
14
  import "../__chunks/CP3U4HPL.js";
15
15
  import "../__chunks/PNRLI7OV.js";
@@ -2,9 +2,9 @@ import {
2
2
  useCompositeStore,
3
3
  useCompositeStoreOptions,
4
4
  useCompositeStoreProps
5
- } from "../__chunks/36V3RYFS.js";
6
- import "../__chunks/WNGYZL6A.js";
7
- import "../__chunks/MXMUDZTV.js";
5
+ } from "../__chunks/7KULBIZY.js";
6
+ import "../__chunks/RS7KBRGA.js";
7
+ import "../__chunks/P63NRZ4A.js";
8
8
  import "../__chunks/J7Q2EO23.js";
9
9
  import "../__chunks/CP3U4HPL.js";
10
10
  import "../__chunks/PNRLI7OV.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DialogBackdrop
3
- } from "../__chunks/H3BU75TA.js";
3
+ } from "../__chunks/5IZLNERH.js";
4
4
  import "../__chunks/LEBYH5FW.js";
5
5
  import "../__chunks/IXXFVVA2.js";
6
6
  import "../__chunks/FW6QFGFT.js";
@@ -8,8 +8,8 @@ import "../__chunks/5M4ITSXL.js";
8
8
  import "../__chunks/M5I7AM4N.js";
9
9
  import "../__chunks/WHEEIXMF.js";
10
10
  import "../__chunks/NQJBHION.js";
11
- import "../__chunks/JJW3R5IK.js";
12
- import "../__chunks/MXMUDZTV.js";
11
+ import "../__chunks/SWJ5EOOS.js";
12
+ import "../__chunks/P63NRZ4A.js";
13
13
  import "../__chunks/J7Q2EO23.js";
14
14
  import "../__chunks/CP3U4HPL.js";
15
15
  import "../__chunks/PNRLI7OV.js";
@@ -2,9 +2,9 @@ import {
2
2
  useDialogStore,
3
3
  useDialogStoreOptions,
4
4
  useDialogStoreProps
5
- } from "../__chunks/RRY7OZXM.js";
6
- import "../__chunks/JJW3R5IK.js";
7
- import "../__chunks/MXMUDZTV.js";
5
+ } from "../__chunks/WC3GK4CL.js";
6
+ import "../__chunks/SWJ5EOOS.js";
7
+ import "../__chunks/P63NRZ4A.js";
8
8
  import "../__chunks/J7Q2EO23.js";
9
9
  import "../__chunks/CP3U4HPL.js";
10
10
  import "../__chunks/PNRLI7OV.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  Dialog,
3
3
  useDialog
4
- } from "../__chunks/BIPBU2AE.js";
5
- import "../__chunks/H3BU75TA.js";
4
+ } from "../__chunks/SZIMOWLA.js";
5
+ import "../__chunks/5IZLNERH.js";
6
6
  import "../__chunks/NHPU54IO.js";
7
7
  import "../__chunks/GDORSOK6.js";
8
8
  import "../__chunks/3LAWLNOX.js";
9
9
  import "../__chunks/CJI67A3R.js";
10
- import "../__chunks/OEA63YXU.js";
10
+ import "../__chunks/PLOINBVB.js";
11
11
  import "../__chunks/E5XSMSHD.js";
12
12
  import "../__chunks/LEBYH5FW.js";
13
13
  import "../__chunks/IXXFVVA2.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/JJW3R5IK.js";
33
- import "../__chunks/MXMUDZTV.js";
32
+ import "../__chunks/SWJ5EOOS.js";
33
+ import "../__chunks/P63NRZ4A.js";
34
34
  import "../__chunks/J7Q2EO23.js";
35
35
  import "../__chunks/CP3U4HPL.js";
36
36
  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";
@@ -2,8 +2,8 @@ import {
2
2
  useDisclosureStore,
3
3
  useDisclosureStoreOptions,
4
4
  useDisclosureStoreProps
5
- } from "../__chunks/JJW3R5IK.js";
6
- import "../__chunks/MXMUDZTV.js";
5
+ } from "../__chunks/SWJ5EOOS.js";
6
+ import "../__chunks/P63NRZ4A.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/JWSYWSCR.js";
9
+ } from "../__chunks/3CJV7UYE.js";
10
10
  import {
11
11
  useCheckboxStore
12
- } from "../__chunks/4LTL37RB.js";
12
+ } from "../__chunks/6TMY6IFR.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/MXMUDZTV.js";
24
+ import "../__chunks/P63NRZ4A.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/OJNIJGF2.js";
9
+ } from "../__chunks/UVKFBOMX.js";
10
10
  import "../__chunks/6I2PARRP.js";
11
- import "../__chunks/VVJJXZ6R.js";
11
+ import "../__chunks/FVD2NJZN.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/MXMUDZTV.js";
24
+ import "../__chunks/P63NRZ4A.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/WNGYZL6A.js";
4
+ } from "../__chunks/RS7KBRGA.js";
5
5
  import {
6
6
  useStore,
7
7
  useStoreProps
8
- } from "../__chunks/MXMUDZTV.js";
8
+ } from "../__chunks/P63NRZ4A.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/74BBE733.js";
6
- import "../__chunks/SPTQP5I5.js";
7
- import "../__chunks/RRY7OZXM.js";
8
- import "../__chunks/JJW3R5IK.js";
9
- import "../__chunks/MXMUDZTV.js";
5
+ } from "../__chunks/LDICFO4C.js";
6
+ import "../__chunks/3PKTK2K7.js";
7
+ import "../__chunks/WC3GK4CL.js";
8
+ import "../__chunks/SWJ5EOOS.js";
9
+ import "../__chunks/P63NRZ4A.js";
10
10
  import "../__chunks/J7Q2EO23.js";
11
11
  import "../__chunks/CP3U4HPL.js";
12
12
  import "../__chunks/PNRLI7OV.js";