@ariakit/react-core 0.3.9 → 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 (68) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/cjs/__chunks/{WK7AZPHS.cjs → 2GETDAIQ.cjs} +4 -4
  3. package/cjs/__chunks/{OT6DC3ML.cjs → 36QK2QLE.cjs} +2 -2
  4. package/cjs/__chunks/{S6WUBPBB.cjs → 65LGW5LY.cjs} +4 -2
  5. package/cjs/__chunks/{VIETWH5C.cjs → DHSZ2ZFJ.cjs} +2 -2
  6. package/cjs/__chunks/{WABPFCL3.cjs → NVHGMKAE.cjs} +7 -5
  7. package/cjs/__chunks/{HHZJ6KYW.cjs → PHZJAGWK.cjs} +2 -2
  8. package/cjs/__chunks/{KIGOGBFU.cjs → SANV4XBF.cjs} +2 -2
  9. package/cjs/__chunks/{PFQ3IPWT.cjs → TTMCZ7ZN.cjs} +1 -1
  10. package/cjs/collection/collection-renderer.d.cts +0 -1
  11. package/cjs/collection/collection-renderer.d.ts +0 -1
  12. package/cjs/combobox/combobox-item.cjs +5 -3
  13. package/cjs/combobox/combobox-popover.cjs +5 -5
  14. package/cjs/composite/composite-item.cjs +2 -2
  15. package/cjs/composite/composite-overflow-disclosure.cjs +2 -2
  16. package/cjs/composite/composite-overflow.cjs +4 -4
  17. package/cjs/composite/composite-renderer.d.cts +0 -1
  18. package/cjs/composite/composite-renderer.d.ts +0 -1
  19. package/cjs/dialog/dialog.cjs +3 -3
  20. package/cjs/form/form-radio.cjs +3 -3
  21. package/cjs/hovercard/hovercard.cjs +5 -5
  22. package/cjs/menu/menu-item-checkbox.cjs +3 -3
  23. package/cjs/menu/menu-item-radio.cjs +5 -5
  24. package/cjs/menu/menu-item.cjs +3 -3
  25. package/cjs/menu/menu.cjs +40 -12
  26. package/cjs/popover/popover.cjs +4 -4
  27. package/cjs/portal/portal.cjs +2 -2
  28. package/cjs/radio/radio.cjs +3 -3
  29. package/cjs/select/select-item.cjs +2 -2
  30. package/cjs/select/select-popover.cjs +5 -5
  31. package/cjs/tab/tab.cjs +2 -2
  32. package/cjs/toolbar/toolbar-container.cjs +3 -3
  33. package/cjs/toolbar/toolbar-input.cjs +3 -3
  34. package/cjs/toolbar/toolbar-item.cjs +3 -3
  35. package/cjs/tooltip/tooltip.cjs +6 -6
  36. package/esm/__chunks/{6HKEBMMA.js → GJYUMUMT.js} +1 -1
  37. package/esm/__chunks/{E3XM3D67.js → JPXNJYSO.js} +4 -2
  38. package/esm/__chunks/{YGCD7HIZ.js → P6VCQ6Q3.js} +1 -1
  39. package/esm/__chunks/{PFM7J2TR.js → PDVJHECS.js} +1 -1
  40. package/esm/__chunks/{BJR5BFSV.js → QEPSYGAQ.js} +1 -1
  41. package/esm/__chunks/{2WETNHXU.js → SXPADS2D.js} +5 -3
  42. package/esm/__chunks/{2ECHI3ER.js → UJUY6GAA.js} +1 -1
  43. package/esm/__chunks/{HQ7YVNMA.js → WEU2EOWJ.js} +2 -2
  44. package/esm/collection/collection-renderer.d.ts +0 -1
  45. package/esm/combobox/combobox-item.js +4 -2
  46. package/esm/combobox/combobox-popover.js +3 -3
  47. package/esm/composite/composite-item.js +1 -1
  48. package/esm/composite/composite-overflow-disclosure.js +1 -1
  49. package/esm/composite/composite-overflow.js +3 -3
  50. package/esm/composite/composite-renderer.d.ts +0 -1
  51. package/esm/dialog/dialog.js +2 -2
  52. package/esm/form/form-radio.js +2 -2
  53. package/esm/hovercard/hovercard.js +4 -4
  54. package/esm/menu/menu-item-checkbox.js +2 -2
  55. package/esm/menu/menu-item-radio.js +3 -3
  56. package/esm/menu/menu-item.js +2 -2
  57. package/esm/menu/menu.js +39 -11
  58. package/esm/popover/popover.js +3 -3
  59. package/esm/portal/portal.js +1 -1
  60. package/esm/radio/radio.js +2 -2
  61. package/esm/select/select-item.js +1 -1
  62. package/esm/select/select-popover.js +3 -3
  63. package/esm/tab/tab.js +1 -1
  64. package/esm/toolbar/toolbar-container.js +2 -2
  65. package/esm/toolbar/toolbar-input.js +2 -2
  66. package/esm/toolbar/toolbar-item.js +2 -2
  67. package/esm/tooltip/tooltip.js +4 -4
  68. package/package.json +1 -1
package/esm/menu/menu.js CHANGED
@@ -13,12 +13,12 @@ import "../__chunks/IB7YUKH5.js";
13
13
  import "../__chunks/4UUKJZ4V.js";
14
14
  import {
15
15
  useHovercard
16
- } from "../__chunks/HQ7YVNMA.js";
16
+ } from "../__chunks/WEU2EOWJ.js";
17
17
  import "../__chunks/YMV43K4F.js";
18
- import "../__chunks/2WETNHXU.js";
18
+ import "../__chunks/SXPADS2D.js";
19
19
  import {
20
20
  createDialogComponent
21
- } from "../__chunks/PFM7J2TR.js";
21
+ } from "../__chunks/PDVJHECS.js";
22
22
  import "../__chunks/57VLL43X.js";
23
23
  import "../__chunks/CLF4PQ7T.js";
24
24
  import "../__chunks/BULCTPRV.js";
@@ -35,7 +35,7 @@ import "../__chunks/72E5EPFF.js";
35
35
  import "../__chunks/X6WIMZJE.js";
36
36
  import "../__chunks/HPP6CWMY.js";
37
37
  import "../__chunks/UYRJLDVS.js";
38
- import "../__chunks/E3XM3D67.js";
38
+ import "../__chunks/JPXNJYSO.js";
39
39
  import "../__chunks/CHKJ74UC.js";
40
40
  import "../__chunks/7452U3HH.js";
41
41
  import "../__chunks/XPF5GU3Q.js";
@@ -55,7 +55,9 @@ import {
55
55
  } from "../__chunks/3ORBWXWF.js";
56
56
  import "../__chunks/6SB7F42L.js";
57
57
  import "../__chunks/SMM5JVLC.js";
58
- import "../__chunks/4OZYHFMH.js";
58
+ import {
59
+ useStoreState
60
+ } from "../__chunks/4OZYHFMH.js";
59
61
  import {
60
62
  useMergeRefs
61
63
  } from "../__chunks/6O5OEQGF.js";
@@ -67,7 +69,7 @@ import {
67
69
  } from "../__chunks/4R3V3JGP.js";
68
70
 
69
71
  // src/menu/menu.tsx
70
- import { createRef, useEffect, useRef, useState } from "react";
72
+ import { createRef, useEffect, useMemo, useRef, useState } from "react";
71
73
  import { fireEvent } from "@ariakit/core/utils/events";
72
74
  import { hasFocusWithin } from "@ariakit/core/utils/focus";
73
75
  import { invariant, isFalsyBooleanCallback } from "@ariakit/core/utils/misc";
@@ -143,6 +145,31 @@ var useMenu = createHook(
143
145
  const modal = hasParentMenu ? false : modalProp;
144
146
  const mayAutoFocusOnShow = !!autoFocusOnShow;
145
147
  const canAutoFocusOnShow = !!initialFocusRef || !!props.initialFocus || !!modal;
148
+ const contentElement = useStoreState(
149
+ store.combobox || store,
150
+ "contentElement"
151
+ );
152
+ const parentContentElement = useStoreState(
153
+ (parentMenu == null ? void 0 : parentMenu.combobox) || parentMenu,
154
+ "contentElement"
155
+ );
156
+ const preserveTabOrderAnchor = useMemo(() => {
157
+ if (!parentContentElement)
158
+ return;
159
+ if (!contentElement)
160
+ return;
161
+ const role = contentElement.getAttribute("role");
162
+ const parentRole = parentContentElement.getAttribute("role");
163
+ const parentIsMenuOrMenubar = parentRole === "menu" || parentRole === "menubar";
164
+ if (parentIsMenuOrMenubar && role === "menu")
165
+ return;
166
+ return parentContentElement;
167
+ }, [contentElement, parentContentElement]);
168
+ if (preserveTabOrderAnchor !== void 0) {
169
+ props = __spreadValues({
170
+ preserveTabOrderAnchor
171
+ }, props);
172
+ }
146
173
  props = useHovercard(__spreadProps(__spreadValues({
147
174
  store,
148
175
  alwaysVisible,
@@ -156,9 +183,7 @@ var useMenu = createHook(
156
183
  return true;
157
184
  },
158
185
  hideOnHoverOutside: (event) => {
159
- if (!store)
160
- return true;
161
- const { disclosureElement, activeId } = store.getState();
186
+ const disclosureElement = store == null ? void 0 : store.getState().disclosureElement;
162
187
  const getHideOnHoverOutside = () => {
163
188
  if (typeof hideOnHoverOutside === "function") {
164
189
  return hideOnHoverOutside(event);
@@ -186,8 +211,11 @@ var useMenu = createHook(
186
211
  fireEvent(disclosureElement, "mouseout", event);
187
212
  if (!hasFocusWithin(disclosureElement))
188
213
  return true;
189
- if (disclosureElement.id !== activeId)
190
- return true;
214
+ requestAnimationFrame(() => {
215
+ if (hasFocusWithin(disclosureElement))
216
+ return;
217
+ store == null ? void 0 : store.hide();
218
+ });
191
219
  return false;
192
220
  },
193
221
  modal,
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  Popover,
4
4
  usePopover
5
- } from "../__chunks/2WETNHXU.js";
6
- import "../__chunks/PFM7J2TR.js";
5
+ } from "../__chunks/SXPADS2D.js";
6
+ import "../__chunks/PDVJHECS.js";
7
7
  import "../__chunks/57VLL43X.js";
8
8
  import "../__chunks/CLF4PQ7T.js";
9
9
  import "../__chunks/BULCTPRV.js";
@@ -20,7 +20,7 @@ import "../__chunks/72E5EPFF.js";
20
20
  import "../__chunks/X6WIMZJE.js";
21
21
  import "../__chunks/HPP6CWMY.js";
22
22
  import "../__chunks/UYRJLDVS.js";
23
- import "../__chunks/E3XM3D67.js";
23
+ import "../__chunks/JPXNJYSO.js";
24
24
  import "../__chunks/CHKJ74UC.js";
25
25
  import "../__chunks/7452U3HH.js";
26
26
  import "../__chunks/XPF5GU3Q.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  Portal,
4
4
  usePortal
5
- } from "../__chunks/E3XM3D67.js";
5
+ } from "../__chunks/JPXNJYSO.js";
6
6
  import "../__chunks/CHKJ74UC.js";
7
7
  import "../__chunks/7452U3HH.js";
8
8
  import "../__chunks/BG6HZDS7.js";
@@ -2,9 +2,9 @@
2
2
  import {
3
3
  Radio,
4
4
  useRadio
5
- } from "../__chunks/6HKEBMMA.js";
5
+ } from "../__chunks/GJYUMUMT.js";
6
6
  import "../__chunks/XEV62JUQ.js";
7
- import "../__chunks/YGCD7HIZ.js";
7
+ import "../__chunks/P6VCQ6Q3.js";
8
8
  import "../__chunks/NWCBQ4CV.js";
9
9
  import "../__chunks/UH3I23HL.js";
10
10
  import "../__chunks/6QXBPV75.js";
@@ -8,7 +8,7 @@ import {
8
8
  } from "../__chunks/5HVNGX6D.js";
9
9
  import {
10
10
  useCompositeItem
11
- } from "../__chunks/YGCD7HIZ.js";
11
+ } from "../__chunks/P6VCQ6Q3.js";
12
12
  import "../__chunks/NWCBQ4CV.js";
13
13
  import "../__chunks/UH3I23HL.js";
14
14
  import "../__chunks/6QXBPV75.js";
@@ -12,10 +12,10 @@ import "../__chunks/IB7YUKH5.js";
12
12
  import "../__chunks/4UUKJZ4V.js";
13
13
  import {
14
14
  usePopover
15
- } from "../__chunks/2WETNHXU.js";
15
+ } from "../__chunks/SXPADS2D.js";
16
16
  import {
17
17
  createDialogComponent
18
- } from "../__chunks/PFM7J2TR.js";
18
+ } from "../__chunks/PDVJHECS.js";
19
19
  import "../__chunks/57VLL43X.js";
20
20
  import "../__chunks/CLF4PQ7T.js";
21
21
  import "../__chunks/BULCTPRV.js";
@@ -32,7 +32,7 @@ import "../__chunks/72E5EPFF.js";
32
32
  import "../__chunks/X6WIMZJE.js";
33
33
  import "../__chunks/HPP6CWMY.js";
34
34
  import "../__chunks/UYRJLDVS.js";
35
- import "../__chunks/E3XM3D67.js";
35
+ import "../__chunks/JPXNJYSO.js";
36
36
  import "../__chunks/CHKJ74UC.js";
37
37
  import "../__chunks/7452U3HH.js";
38
38
  import "../__chunks/XPF5GU3Q.js";
package/esm/tab/tab.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  useCompositeItem
4
- } from "../__chunks/YGCD7HIZ.js";
4
+ } from "../__chunks/P6VCQ6Q3.js";
5
5
  import "../__chunks/NWCBQ4CV.js";
6
6
  import "../__chunks/UH3I23HL.js";
7
7
  import {
@@ -4,8 +4,8 @@ import {
4
4
  } from "../__chunks/VZOR43YE.js";
5
5
  import {
6
6
  useToolbarItem
7
- } from "../__chunks/2ECHI3ER.js";
8
- import "../__chunks/YGCD7HIZ.js";
7
+ } from "../__chunks/UJUY6GAA.js";
8
+ import "../__chunks/P6VCQ6Q3.js";
9
9
  import "../__chunks/NWCBQ4CV.js";
10
10
  import "../__chunks/UH3I23HL.js";
11
11
  import "../__chunks/6QXBPV75.js";
@@ -4,8 +4,8 @@ import {
4
4
  } from "../__chunks/UP4ONTQS.js";
5
5
  import {
6
6
  useToolbarItem
7
- } from "../__chunks/2ECHI3ER.js";
8
- import "../__chunks/YGCD7HIZ.js";
7
+ } from "../__chunks/UJUY6GAA.js";
8
+ import "../__chunks/P6VCQ6Q3.js";
9
9
  import "../__chunks/NWCBQ4CV.js";
10
10
  import "../__chunks/UH3I23HL.js";
11
11
  import "../__chunks/6QXBPV75.js";
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  ToolbarItem,
4
4
  useToolbarItem
5
- } from "../__chunks/2ECHI3ER.js";
6
- import "../__chunks/YGCD7HIZ.js";
5
+ } from "../__chunks/UJUY6GAA.js";
6
+ import "../__chunks/P6VCQ6Q3.js";
7
7
  import "../__chunks/NWCBQ4CV.js";
8
8
  import "../__chunks/UH3I23HL.js";
9
9
  import "../__chunks/6QXBPV75.js";
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import {
3
3
  useHovercard
4
- } from "../__chunks/HQ7YVNMA.js";
4
+ } from "../__chunks/WEU2EOWJ.js";
5
5
  import "../__chunks/YMV43K4F.js";
6
- import "../__chunks/2WETNHXU.js";
6
+ import "../__chunks/SXPADS2D.js";
7
7
  import {
8
8
  createDialogComponent
9
- } from "../__chunks/PFM7J2TR.js";
9
+ } from "../__chunks/PDVJHECS.js";
10
10
  import "../__chunks/57VLL43X.js";
11
11
  import "../__chunks/CLF4PQ7T.js";
12
12
  import "../__chunks/BULCTPRV.js";
@@ -23,7 +23,7 @@ import "../__chunks/72E5EPFF.js";
23
23
  import "../__chunks/X6WIMZJE.js";
24
24
  import "../__chunks/HPP6CWMY.js";
25
25
  import "../__chunks/UYRJLDVS.js";
26
- import "../__chunks/E3XM3D67.js";
26
+ import "../__chunks/JPXNJYSO.js";
27
27
  import "../__chunks/CHKJ74UC.js";
28
28
  import "../__chunks/7452U3HH.js";
29
29
  import "../__chunks/XPF5GU3Q.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ariakit/react-core",
3
- "version": "0.3.9",
3
+ "version": "0.3.10",
4
4
  "description": "Ariakit React core",
5
5
  "sideEffects": false,
6
6
  "license": "MIT",