@cdx-ui/primitives 0.0.1-beta.159 → 0.0.1-beta.160

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 (233) hide show
  1. package/lib/commonjs/dialog/DialogContent.js +17 -3
  2. package/lib/commonjs/dialog/DialogContent.js.map +1 -1
  3. package/lib/commonjs/dialog/DialogPopup.js +5 -1
  4. package/lib/commonjs/dialog/DialogPopup.js.map +1 -1
  5. package/lib/commonjs/index.js +54 -0
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/menu/MenuCheckboxItem.js +42 -0
  8. package/lib/commonjs/menu/MenuCheckboxItem.js.map +1 -0
  9. package/lib/commonjs/menu/MenuItem.js +142 -0
  10. package/lib/commonjs/menu/MenuItem.js.map +1 -0
  11. package/lib/commonjs/menu/MenuOverlayRoot.js +80 -0
  12. package/lib/commonjs/menu/MenuOverlayRoot.js.map +1 -0
  13. package/lib/commonjs/menu/MenuPopup.js +78 -0
  14. package/lib/commonjs/menu/MenuPopup.js.map +1 -0
  15. package/lib/commonjs/menu/MenuRadioGroup.js +48 -0
  16. package/lib/commonjs/menu/MenuRadioGroup.js.map +1 -0
  17. package/lib/commonjs/menu/MenuRadioItem.js +32 -0
  18. package/lib/commonjs/menu/MenuRadioItem.js.map +1 -0
  19. package/lib/commonjs/menu/MenuRoot.js +139 -0
  20. package/lib/commonjs/menu/MenuRoot.js.map +1 -0
  21. package/lib/commonjs/menu/MenuTrigger.js +59 -0
  22. package/lib/commonjs/menu/MenuTrigger.js.map +1 -0
  23. package/lib/commonjs/menu/context.js +36 -0
  24. package/lib/commonjs/menu/context.js.map +1 -0
  25. package/lib/commonjs/menu/index.js +118 -0
  26. package/lib/commonjs/menu/index.js.map +1 -0
  27. package/lib/commonjs/menu/overlayContext.js +30 -0
  28. package/lib/commonjs/menu/overlayContext.js.map +1 -0
  29. package/lib/commonjs/menu/types.js +6 -0
  30. package/lib/commonjs/menu/types.js.map +1 -0
  31. package/lib/commonjs/menu/useMenuNavigation.js +87 -0
  32. package/lib/commonjs/menu/useMenuNavigation.js.map +1 -0
  33. package/lib/commonjs/menu/useMenuOverlayLifecycle.js +68 -0
  34. package/lib/commonjs/menu/useMenuOverlayLifecycle.js.map +1 -0
  35. package/lib/commonjs/menu/useMenuTrigger.js +115 -0
  36. package/lib/commonjs/menu/useMenuTrigger.js.map +1 -0
  37. package/lib/commonjs/overlay/OverlayContainer.js +2 -3
  38. package/lib/commonjs/overlay/OverlayContainer.js.map +1 -1
  39. package/lib/commonjs/overlay/OverlayStack.js +125 -0
  40. package/lib/commonjs/overlay/OverlayStack.js.map +1 -0
  41. package/lib/commonjs/overlay/constants.js +7 -1
  42. package/lib/commonjs/overlay/constants.js.map +1 -1
  43. package/lib/commonjs/overlay/getAnchoredOverlayPosition.js +188 -0
  44. package/lib/commonjs/overlay/getAnchoredOverlayPosition.js.map +1 -0
  45. package/lib/commonjs/overlay/index.js +39 -0
  46. package/lib/commonjs/overlay/index.js.map +1 -1
  47. package/lib/commonjs/overlay/useAnchoredOverlay.js +127 -0
  48. package/lib/commonjs/overlay/useAnchoredOverlay.js.map +1 -0
  49. package/lib/commonjs/overlay/useDismissOverlay.js +8 -1
  50. package/lib/commonjs/overlay/useDismissOverlay.js.map +1 -1
  51. package/lib/commonjs/overlay/useDismissOverlay.web.js +11 -3
  52. package/lib/commonjs/overlay/useDismissOverlay.web.js.map +1 -1
  53. package/lib/commonjs/overlay/useEscapeKey.js +8 -1
  54. package/lib/commonjs/overlay/useEscapeKey.js.map +1 -1
  55. package/lib/commonjs/overlay/useEscapeKey.web.js +11 -3
  56. package/lib/commonjs/overlay/useEscapeKey.web.js.map +1 -1
  57. package/lib/commonjs/overlay/useOverlayPosition.js +16 -7
  58. package/lib/commonjs/overlay/useOverlayPosition.js.map +1 -1
  59. package/lib/commonjs/portal/portal.js +86 -63
  60. package/lib/commonjs/portal/portal.js.map +1 -1
  61. package/lib/commonjs/select/SelectContent.js +23 -11
  62. package/lib/commonjs/select/SelectContent.js.map +1 -1
  63. package/lib/commonjs/select/useListboxNavigation.js +10 -11
  64. package/lib/commonjs/select/useListboxNavigation.js.map +1 -1
  65. package/lib/commonjs/tooltip/TooltipContent.js +25 -24
  66. package/lib/commonjs/tooltip/TooltipContent.js.map +1 -1
  67. package/lib/commonjs/tooltip/getTooltipPosition.js +37 -84
  68. package/lib/commonjs/tooltip/getTooltipPosition.js.map +1 -1
  69. package/lib/module/dialog/DialogContent.js +18 -4
  70. package/lib/module/dialog/DialogContent.js.map +1 -1
  71. package/lib/module/dialog/DialogPopup.js +5 -1
  72. package/lib/module/dialog/DialogPopup.js.map +1 -1
  73. package/lib/module/index.js +2 -1
  74. package/lib/module/index.js.map +1 -1
  75. package/lib/module/menu/MenuCheckboxItem.js +38 -0
  76. package/lib/module/menu/MenuCheckboxItem.js.map +1 -0
  77. package/lib/module/menu/MenuItem.js +138 -0
  78. package/lib/module/menu/MenuItem.js.map +1 -0
  79. package/lib/module/menu/MenuOverlayRoot.js +76 -0
  80. package/lib/module/menu/MenuOverlayRoot.js.map +1 -0
  81. package/lib/module/menu/MenuPopup.js +74 -0
  82. package/lib/module/menu/MenuPopup.js.map +1 -0
  83. package/lib/module/menu/MenuRadioGroup.js +44 -0
  84. package/lib/module/menu/MenuRadioGroup.js.map +1 -0
  85. package/lib/module/menu/MenuRadioItem.js +28 -0
  86. package/lib/module/menu/MenuRadioItem.js.map +1 -0
  87. package/lib/module/menu/MenuRoot.js +135 -0
  88. package/lib/module/menu/MenuRoot.js.map +1 -0
  89. package/lib/module/menu/MenuTrigger.js +55 -0
  90. package/lib/module/menu/MenuTrigger.js.map +1 -0
  91. package/lib/module/menu/context.js +27 -0
  92. package/lib/module/menu/context.js.map +1 -0
  93. package/lib/module/menu/index.js +13 -0
  94. package/lib/module/menu/index.js.map +1 -0
  95. package/lib/module/menu/overlayContext.js +24 -0
  96. package/lib/module/menu/overlayContext.js.map +1 -0
  97. package/lib/module/menu/types.js +4 -0
  98. package/lib/module/menu/types.js.map +1 -0
  99. package/lib/module/menu/useMenuNavigation.js +84 -0
  100. package/lib/module/menu/useMenuNavigation.js.map +1 -0
  101. package/lib/module/menu/useMenuOverlayLifecycle.js +63 -0
  102. package/lib/module/menu/useMenuOverlayLifecycle.js.map +1 -0
  103. package/lib/module/menu/useMenuTrigger.js +111 -0
  104. package/lib/module/menu/useMenuTrigger.js.map +1 -0
  105. package/lib/module/overlay/OverlayContainer.js +2 -3
  106. package/lib/module/overlay/OverlayContainer.js.map +1 -1
  107. package/lib/module/overlay/OverlayStack.js +119 -0
  108. package/lib/module/overlay/OverlayStack.js.map +1 -0
  109. package/lib/module/overlay/constants.js +6 -0
  110. package/lib/module/overlay/constants.js.map +1 -1
  111. package/lib/module/overlay/getAnchoredOverlayPosition.js +183 -0
  112. package/lib/module/overlay/getAnchoredOverlayPosition.js.map +1 -0
  113. package/lib/module/overlay/index.js +4 -1
  114. package/lib/module/overlay/index.js.map +1 -1
  115. package/lib/module/overlay/useAnchoredOverlay.js +123 -0
  116. package/lib/module/overlay/useAnchoredOverlay.js.map +1 -0
  117. package/lib/module/overlay/useDismissOverlay.js +9 -1
  118. package/lib/module/overlay/useDismissOverlay.js.map +1 -1
  119. package/lib/module/overlay/useDismissOverlay.web.js +11 -3
  120. package/lib/module/overlay/useDismissOverlay.web.js.map +1 -1
  121. package/lib/module/overlay/useEscapeKey.js +9 -1
  122. package/lib/module/overlay/useEscapeKey.js.map +1 -1
  123. package/lib/module/overlay/useEscapeKey.web.js +11 -3
  124. package/lib/module/overlay/useEscapeKey.web.js.map +1 -1
  125. package/lib/module/overlay/useOverlayPosition.js +16 -7
  126. package/lib/module/overlay/useOverlayPosition.js.map +1 -1
  127. package/lib/module/portal/portal.js +86 -64
  128. package/lib/module/portal/portal.js.map +1 -1
  129. package/lib/module/select/SelectContent.js +25 -13
  130. package/lib/module/select/SelectContent.js.map +1 -1
  131. package/lib/module/select/useListboxNavigation.js +10 -11
  132. package/lib/module/select/useListboxNavigation.js.map +1 -1
  133. package/lib/module/tooltip/TooltipContent.js +30 -29
  134. package/lib/module/tooltip/TooltipContent.js.map +1 -1
  135. package/lib/module/tooltip/getTooltipPosition.js +37 -84
  136. package/lib/module/tooltip/getTooltipPosition.js.map +1 -1
  137. package/lib/typescript/dialog/DialogContent.d.ts.map +1 -1
  138. package/lib/typescript/dialog/DialogPopup.d.ts.map +1 -1
  139. package/lib/typescript/index.d.ts +2 -1
  140. package/lib/typescript/index.d.ts.map +1 -1
  141. package/lib/typescript/menu/MenuCheckboxItem.d.ts +6 -0
  142. package/lib/typescript/menu/MenuCheckboxItem.d.ts.map +1 -0
  143. package/lib/typescript/menu/MenuItem.d.ts +8 -0
  144. package/lib/typescript/menu/MenuItem.d.ts.map +1 -0
  145. package/lib/typescript/menu/MenuOverlayRoot.d.ts +8 -0
  146. package/lib/typescript/menu/MenuOverlayRoot.d.ts.map +1 -0
  147. package/lib/typescript/menu/MenuPopup.d.ts +8 -0
  148. package/lib/typescript/menu/MenuPopup.d.ts.map +1 -0
  149. package/lib/typescript/menu/MenuRadioGroup.d.ts +8 -0
  150. package/lib/typescript/menu/MenuRadioGroup.d.ts.map +1 -0
  151. package/lib/typescript/menu/MenuRadioItem.d.ts +6 -0
  152. package/lib/typescript/menu/MenuRadioItem.d.ts.map +1 -0
  153. package/lib/typescript/menu/MenuRoot.d.ts +8 -0
  154. package/lib/typescript/menu/MenuRoot.d.ts.map +1 -0
  155. package/lib/typescript/menu/MenuTrigger.d.ts +7 -0
  156. package/lib/typescript/menu/MenuTrigger.d.ts.map +1 -0
  157. package/lib/typescript/menu/context.d.ts +15 -0
  158. package/lib/typescript/menu/context.d.ts.map +1 -0
  159. package/lib/typescript/menu/index.d.ts +12 -0
  160. package/lib/typescript/menu/index.d.ts.map +1 -0
  161. package/lib/typescript/menu/overlayContext.d.ts +35 -0
  162. package/lib/typescript/menu/overlayContext.d.ts.map +1 -0
  163. package/lib/typescript/menu/types.d.ts +104 -0
  164. package/lib/typescript/menu/types.d.ts.map +1 -0
  165. package/lib/typescript/menu/useMenuNavigation.d.ts +16 -0
  166. package/lib/typescript/menu/useMenuNavigation.d.ts.map +1 -0
  167. package/lib/typescript/menu/useMenuOverlayLifecycle.d.ts +15 -0
  168. package/lib/typescript/menu/useMenuOverlayLifecycle.d.ts.map +1 -0
  169. package/lib/typescript/menu/useMenuTrigger.d.ts +35 -0
  170. package/lib/typescript/menu/useMenuTrigger.d.ts.map +1 -0
  171. package/lib/typescript/overlay/OverlayContainer.d.ts.map +1 -1
  172. package/lib/typescript/overlay/OverlayStack.d.ts +46 -0
  173. package/lib/typescript/overlay/OverlayStack.d.ts.map +1 -0
  174. package/lib/typescript/overlay/constants.d.ts +5 -0
  175. package/lib/typescript/overlay/constants.d.ts.map +1 -1
  176. package/lib/typescript/overlay/getAnchoredOverlayPosition.d.ts +45 -0
  177. package/lib/typescript/overlay/getAnchoredOverlayPosition.d.ts.map +1 -0
  178. package/lib/typescript/overlay/index.d.ts +5 -2
  179. package/lib/typescript/overlay/index.d.ts.map +1 -1
  180. package/lib/typescript/overlay/useAnchoredOverlay.d.ts +15 -0
  181. package/lib/typescript/overlay/useAnchoredOverlay.d.ts.map +1 -0
  182. package/lib/typescript/overlay/useDismissOverlay.d.ts +2 -1
  183. package/lib/typescript/overlay/useDismissOverlay.d.ts.map +1 -1
  184. package/lib/typescript/overlay/useDismissOverlay.web.d.ts +2 -1
  185. package/lib/typescript/overlay/useDismissOverlay.web.d.ts.map +1 -1
  186. package/lib/typescript/overlay/useEscapeKey.d.ts +2 -1
  187. package/lib/typescript/overlay/useEscapeKey.d.ts.map +1 -1
  188. package/lib/typescript/overlay/useEscapeKey.web.d.ts +2 -1
  189. package/lib/typescript/overlay/useEscapeKey.web.d.ts.map +1 -1
  190. package/lib/typescript/overlay/useOverlayPosition.d.ts +5 -1
  191. package/lib/typescript/overlay/useOverlayPosition.d.ts.map +1 -1
  192. package/lib/typescript/portal/portal.d.ts +3 -0
  193. package/lib/typescript/portal/portal.d.ts.map +1 -1
  194. package/lib/typescript/select/SelectContent.d.ts.map +1 -1
  195. package/lib/typescript/select/useListboxNavigation.d.ts.map +1 -1
  196. package/lib/typescript/tooltip/TooltipContent.d.ts.map +1 -1
  197. package/lib/typescript/tooltip/getTooltipPosition.d.ts +6 -8
  198. package/lib/typescript/tooltip/getTooltipPosition.d.ts.map +1 -1
  199. package/package.json +3 -3
  200. package/src/dialog/DialogContent.tsx +16 -4
  201. package/src/dialog/DialogPopup.tsx +5 -1
  202. package/src/index.ts +23 -0
  203. package/src/menu/MenuCheckboxItem.tsx +51 -0
  204. package/src/menu/MenuItem.tsx +197 -0
  205. package/src/menu/MenuOverlayRoot.tsx +100 -0
  206. package/src/menu/MenuPopup.tsx +81 -0
  207. package/src/menu/MenuRadioGroup.tsx +48 -0
  208. package/src/menu/MenuRadioItem.tsx +32 -0
  209. package/src/menu/MenuRoot.tsx +190 -0
  210. package/src/menu/MenuTrigger.tsx +57 -0
  211. package/src/menu/context.tsx +38 -0
  212. package/src/menu/index.ts +36 -0
  213. package/src/menu/overlayContext.tsx +61 -0
  214. package/src/menu/types.ts +119 -0
  215. package/src/menu/useMenuNavigation.ts +102 -0
  216. package/src/menu/useMenuOverlayLifecycle.ts +77 -0
  217. package/src/menu/useMenuTrigger.ts +161 -0
  218. package/src/overlay/OverlayContainer.tsx +3 -1
  219. package/src/overlay/OverlayStack.tsx +202 -0
  220. package/src/overlay/constants.ts +6 -0
  221. package/src/overlay/getAnchoredOverlayPosition.ts +326 -0
  222. package/src/overlay/index.ts +29 -1
  223. package/src/overlay/useAnchoredOverlay.ts +153 -0
  224. package/src/overlay/useDismissOverlay.ts +10 -2
  225. package/src/overlay/useDismissOverlay.web.ts +9 -2
  226. package/src/overlay/useEscapeKey.ts +13 -1
  227. package/src/overlay/useEscapeKey.web.ts +13 -3
  228. package/src/overlay/useOverlayPosition.ts +35 -8
  229. package/src/portal/portal.tsx +109 -69
  230. package/src/select/SelectContent.tsx +29 -17
  231. package/src/select/useListboxNavigation.ts +12 -9
  232. package/src/tooltip/TooltipContent.tsx +32 -34
  233. package/src/tooltip/getTooltipPosition.ts +58 -125
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.Portal = Portal;
7
7
  exports.PortalHost = PortalHost;
8
+ exports.PortalProvider = PortalProvider;
8
9
  exports.useModalPortalRoot = useModalPortalRoot;
9
10
  var _react = _interopRequireWildcard(require("react"));
10
11
  var React = _react;
@@ -13,82 +14,98 @@ var _createPortal = require("../utils/createPortal");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
16
  const DEFAULT_PORTAL_HOST = 'FORGE_UI_DEFAULT_HOST_NAME';
16
- const store = {
17
- map: new Map().set(DEFAULT_PORTAL_HOST, new Map()),
18
- listeners: new Set()
19
- };
20
-
21
- /** Tracks mounted PortalHost instances per host name — only the first mount renders portals. */
22
- const hostStackStore = {
23
- stacks: new Map(),
24
- listeners: new Set()
25
- };
26
- let hasWarnedMultiplePortalHosts = false;
27
-
28
- // --------------------------------------------------
29
-
30
- function emit() {
31
- for (const cb of store.listeners) cb();
17
+ function createPortalRegistry() {
18
+ return {
19
+ map: new Map().set(DEFAULT_PORTAL_HOST, new Map()),
20
+ hostStacks: new Map(),
21
+ portalListeners: new Set(),
22
+ hostListeners: new Set(),
23
+ hasWarnedMultipleHosts: false
24
+ };
32
25
  }
33
- function emitHostStack() {
34
- for (const cb of hostStackStore.listeners) cb();
26
+
27
+ /**
28
+ * Standalone Portal and PortalHost instances continue to share this fallback.
29
+ * PortalProvider creates an isolated registry for each provider subtree.
30
+ */
31
+ const fallbackPortalRegistry = createPortalRegistry();
32
+ const PortalRegistryContext = /*#__PURE__*/React.createContext(null);
33
+ function emitPortals(registry) {
34
+ for (const cb of registry.portalListeners) cb();
35
35
  }
36
- function getHostStackSnapshot() {
37
- return hostStackStore.stacks;
36
+ function emitHosts(registry) {
37
+ for (const cb of registry.hostListeners) cb();
38
38
  }
39
- function subscribeHostStack(cb) {
40
- hostStackStore.listeners.add(cb);
39
+ function subscribeHosts(registry, cb) {
40
+ registry.hostListeners.add(cb);
41
41
  return () => {
42
- hostStackStore.listeners.delete(cb);
42
+ registry.hostListeners.delete(cb);
43
43
  };
44
44
  }
45
- function pushPortalHost(name, id) {
46
- const stacks = new Map(hostStackStore.stacks);
45
+ function pushPortalHost(registry, name, id) {
46
+ const stacks = new Map(registry.hostStacks);
47
47
  const stack = [...(stacks.get(name) ?? [])];
48
48
  stack.push(id);
49
49
  stacks.set(name, stack);
50
- hostStackStore.stacks = stacks;
51
- if (__DEV__ && !hasWarnedMultiplePortalHosts && stack.length > 1) {
52
- hasWarnedMultiplePortalHosts = true;
50
+ registry.hostStacks = stacks;
51
+ if (__DEV__ && !registry.hasWarnedMultipleHosts && stack.length > 1) {
52
+ registry.hasWarnedMultipleHosts = true;
53
53
  console.warn('[Forge UI] Multiple PortalHost instances detected for the same host name. ' + 'Only the first mounted PortalHost renders portal content. ' + 'Mount a single PortalHost near your app root (ForgeDesignProvider does this automatically).');
54
54
  }
55
- emitHostStack();
55
+ emitHosts(registry);
56
56
  }
57
- function popPortalHost(name, id) {
58
- const stacks = new Map(hostStackStore.stacks);
57
+ function popPortalHost(registry, name, id) {
58
+ const stacks = new Map(registry.hostStacks);
59
59
  const stack = (stacks.get(name) ?? []).filter(entry => entry !== id);
60
- stacks.set(name, stack);
61
- hostStackStore.stacks = stacks;
62
- emitHostStack();
60
+ if (stack.length === 0) {
61
+ stacks.delete(name);
62
+ } else {
63
+ stacks.set(name, stack);
64
+ }
65
+ registry.hostStacks = stacks;
66
+ emitHosts(registry);
63
67
  }
64
- function isActivePortalHost(name, id) {
65
- const stack = hostStackStore.stacks.get(name) ?? [];
68
+ function isActivePortalHost(registry, name, id) {
69
+ const stack = registry.hostStacks.get(name) ?? [];
66
70
  return stack.length > 0 && stack[0] === id;
67
71
  }
68
- function getSnapshot() {
69
- return store.map;
70
- }
71
- function subscribe(cb) {
72
- store.listeners.add(cb);
72
+ function subscribePortals(registry, cb) {
73
+ registry.portalListeners.add(cb);
73
74
  return () => {
74
- store.listeners.delete(cb);
75
+ registry.portalListeners.delete(cb);
75
76
  };
76
77
  }
77
- function updatePortal(hostName, name, children) {
78
- const next = new Map(store.map);
79
- const portal = next.get(hostName) ?? new Map();
78
+ function updatePortal(registry, hostName, name, children) {
79
+ const next = new Map(registry.map);
80
+ const portal = new Map(next.get(hostName) ?? []);
80
81
  portal.set(name, children);
81
82
  next.set(hostName, portal);
82
- store.map = next;
83
- emit();
83
+ registry.map = next;
84
+ emitPortals(registry);
84
85
  }
85
- function removePortal(hostName, name) {
86
- const next = new Map(store.map);
87
- const portal = next.get(hostName) ?? new Map();
86
+ function removePortal(registry, hostName, name) {
87
+ const next = new Map(registry.map);
88
+ const portal = new Map(next.get(hostName) ?? []);
88
89
  portal.delete(name);
89
- next.set(hostName, portal);
90
- store.map = next;
91
- emit();
90
+ if (portal.size === 0 && hostName !== DEFAULT_PORTAL_HOST) {
91
+ next.delete(hostName);
92
+ } else {
93
+ next.set(hostName, portal);
94
+ }
95
+ registry.map = next;
96
+ emitPortals(registry);
97
+ }
98
+
99
+ // --------------------------------------------------
100
+
101
+ function PortalProvider({
102
+ children
103
+ }) {
104
+ const [registry] = React.useState(createPortalRegistry);
105
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(PortalRegistryContext.Provider, {
106
+ value: registry,
107
+ children: children
108
+ });
92
109
  }
93
110
 
94
111
  // --------------------------------------------------
@@ -96,21 +113,24 @@ function removePortal(hostName, name) {
96
113
  function PortalHost({
97
114
  name = DEFAULT_PORTAL_HOST
98
115
  }) {
116
+ const registry = React.useContext(PortalRegistryContext) ?? fallbackPortalRegistry;
99
117
  const hostId = React.useRef(Symbol()).current;
100
118
  (0, _react.useEffect)(() => {
101
- pushPortalHost(name, hostId);
119
+ pushPortalHost(registry, name, hostId);
102
120
  return () => {
103
- popPortalHost(name, hostId);
121
+ popPortalHost(registry, name, hostId);
104
122
  };
105
- }, [name, hostId]);
106
- (0, _react.useSyncExternalStore)(subscribeHostStack, getHostStackSnapshot, getHostStackSnapshot);
107
- const map = (0, _react.useSyncExternalStore)(subscribe, getSnapshot, getSnapshot);
123
+ }, [registry, name, hostId]);
124
+ (0, _react.useSyncExternalStore)(cb => subscribeHosts(registry, cb), () => registry.hostStacks, () => registry.hostStacks);
125
+ const map = (0, _react.useSyncExternalStore)(cb => subscribePortals(registry, cb), () => registry.map, () => registry.map);
108
126
  const portalMap = map.get(name) ?? new Map();
109
- if (!isActivePortalHost(name, hostId) || portalMap.size === 0) {
127
+ if (!isActivePortalHost(registry, name, hostId) || portalMap.size === 0) {
110
128
  return null;
111
129
  }
112
130
  const content = /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
113
- children: Array.from(portalMap.values())
131
+ children: Array.from(portalMap.entries()).map(([portalName, children]) => /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
132
+ children: children
133
+ }, portalName))
114
134
  });
115
135
  if (_reactNative.Platform.OS === 'web' && _createPortal.createPortalFn && typeof document !== 'undefined') {
116
136
  return (0, _createPortal.createPortalFn)(content, document.body);
@@ -125,12 +145,15 @@ function Portal({
125
145
  hostName = DEFAULT_PORTAL_HOST,
126
146
  children
127
147
  }) {
148
+ const registry = React.useContext(PortalRegistryContext) ?? fallbackPortalRegistry;
149
+ (0, _react.useEffect)(() => {
150
+ updatePortal(registry, hostName, name, children);
151
+ }, [registry, hostName, name, children]);
128
152
  (0, _react.useEffect)(() => {
129
- updatePortal(hostName, name, children);
130
153
  return () => {
131
- removePortal(hostName, name);
154
+ removePortal(registry, hostName, name);
132
155
  };
133
- }, [hostName, name, children]);
156
+ }, [registry, hostName, name]);
134
157
  return null;
135
158
  }
136
159
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_createPortal","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_PORTAL_HOST","store","map","Map","listeners","Set","hostStackStore","stacks","hasWarnedMultiplePortalHosts","emit","cb","emitHostStack","getHostStackSnapshot","subscribeHostStack","add","delete","pushPortalHost","name","id","stack","push","__DEV__","length","console","warn","popPortalHost","filter","entry","isActivePortalHost","getSnapshot","subscribe","updatePortal","hostName","children","next","portal","removePortal","PortalHost","hostId","useRef","Symbol","current","useEffect","useSyncExternalStore","portalMap","size","content","jsx","Fragment","Array","from","values","Platform","OS","createPortalFn","document","body","Portal","ROOT","flex","useModalPortalRoot","ref","offset","setSideOffSet","useState","onLayout","useCallback","measure","_x","_y","_width","_height","_pageX","pageY","style"],"sourceRoot":"../../../src","sources":["portal/portal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","React","_reactNative","_createPortal","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_PORTAL_HOST","createPortalRegistry","map","Map","hostStacks","portalListeners","Set","hostListeners","hasWarnedMultipleHosts","fallbackPortalRegistry","PortalRegistryContext","createContext","emitPortals","registry","cb","emitHosts","subscribeHosts","add","delete","pushPortalHost","name","id","stacks","stack","push","__DEV__","length","console","warn","popPortalHost","filter","entry","isActivePortalHost","subscribePortals","updatePortal","hostName","children","next","portal","removePortal","size","PortalProvider","useState","jsx","Provider","value","PortalHost","useContext","hostId","useRef","Symbol","current","useEffect","useSyncExternalStore","portalMap","content","Fragment","Array","from","entries","portalName","Platform","OS","createPortalFn","document","body","Portal","ROOT","flex","useModalPortalRoot","ref","offset","setSideOffSet","onLayout","useCallback","measure","_x","_y","_width","_height","_pageX","pageY","style"],"sourceRoot":"../../../src","sources":["portal/portal.tsx"],"mappings":"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","ignoreList":[]}
@@ -21,6 +21,8 @@ const SelectContent = exports.SelectContent = /*#__PURE__*/(0, _react.forwardRef
21
21
  children,
22
22
  enteringAnimation,
23
23
  exitingAnimation,
24
+ onLayout,
25
+ style,
24
26
  ...props
25
27
  }, ref) => {
26
28
  const {
@@ -47,11 +49,21 @@ const SelectContent = exports.SelectContent = /*#__PURE__*/(0, _react.forwardRef
47
49
  });
48
50
  }
49
51
  }, []);
50
- const mergedRef = (0, _utils.mergeRefs)(ref, focusOnMount);
51
52
  const dismiss = (0, _react.useCallback)(() => setOpen(false), [setOpen]);
52
- const anchorLayout = (0, _overlay.useAnchorPosition)(triggerRef, open);
53
- const position = (0, _overlay.useOverlayPosition)(anchorLayout);
54
- (0, _overlay.useDismissOverlay)(open, contentRef, [triggerRef], dismiss);
53
+ const overlayOpen = open && !native;
54
+ const {
55
+ floatingRef,
56
+ onFloatingLayout,
57
+ style: overlayStyle,
58
+ position
59
+ } = (0, _overlay.useAnchoredOverlay)(triggerRef, overlayOpen, {
60
+ placement: 'bottom-start',
61
+ offset: 4,
62
+ collisionBehavior: 'flip-shift',
63
+ width: 'anchor'
64
+ });
65
+ const mergedRef = (0, _utils.mergeRefs)(ref, focusOnMount, floatingRef);
66
+ (0, _overlay.useDismissOverlay)(overlayOpen, contentRef, [triggerRef], dismiss);
55
67
  const {
56
68
  handleKeyDown
57
69
  } = (0, _useListboxNavigation.useListboxNavigation)({
@@ -71,7 +83,7 @@ const SelectContent = exports.SelectContent = /*#__PURE__*/(0, _react.forwardRef
71
83
  value,
72
84
  setActiveValue
73
85
  });
74
- if (native || !open || !position) {
86
+ if (!overlayOpen) {
75
87
  return null;
76
88
  }
77
89
  const webProps = _reactNative.Platform.OS === 'web' ? {
@@ -83,21 +95,21 @@ const SelectContent = exports.SelectContent = /*#__PURE__*/(0, _react.forwardRef
83
95
  onDismiss: dismiss,
84
96
  entering: enteringAnimation ?? _reactNativeReanimated.FadeIn.duration(150),
85
97
  exiting: exitingAnimation ?? _reactNativeReanimated.FadeOut.duration(100),
86
- style: position.style,
87
98
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
88
99
  ref: mergedRef,
100
+ onLayout: (0, _utils.composeEventHandlers)(onLayout, onFloatingLayout),
101
+ style: [style, overlayStyle],
89
102
  role: "listbox",
90
103
  id: contentId,
91
104
  "aria-labelledby": triggerId,
92
105
  ...props,
93
106
  ...(0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
94
- state: 'open'
107
+ state: 'open',
108
+ side: position?.resolvedPlacement.side,
109
+ align: position?.resolvedPlacement.align
95
110
  })),
96
111
  ...webProps,
97
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
98
- scrollEventThrottle: 16,
99
- children: children
100
- })
112
+ children: children
101
113
  })
102
114
  });
103
115
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_utils","_overlay","_slot","_dataAttributes","_context","_useContentFocus","_useListboxNavigation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SelectContent","exports","forwardRef","asChild","children","enteringAnimation","exitingAnimation","props","ref","open","setOpen","contentId","triggerId","activeValue","setActiveValue","value","onValueChange","native","triggerRef","items","useSelectContext","contentRef","useRef","focusOnMount","useCallback","node","current","Platform","OS","requestAnimationFrame","setTimeout","focus","mergedRef","mergeRefs","dismiss","anchorLayout","useAnchorPosition","position","useOverlayPosition","useDismissOverlay","handleKeyDown","useListboxNavigation","onSelect","val","onDismiss","useContentFocus","webProps","onKeyDown","composeEventHandlers","tabIndex","Comp","Slot","View","jsx","OverlayContainer","entering","FadeIn","duration","exiting","FadeOut","style","role","id","mergeDataAttributes","dataAttributes","state","ScrollView","scrollEventThrottle","displayName"],"sourceRoot":"../../../src","sources":["select/SelectContent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_utils","_overlay","_slot","_dataAttributes","_context","_useContentFocus","_useListboxNavigation","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SelectContent","exports","forwardRef","asChild","children","enteringAnimation","exitingAnimation","onLayout","style","props","ref","open","setOpen","contentId","triggerId","activeValue","setActiveValue","value","onValueChange","native","triggerRef","items","useSelectContext","contentRef","useRef","focusOnMount","useCallback","node","current","Platform","OS","requestAnimationFrame","setTimeout","focus","dismiss","overlayOpen","floatingRef","onFloatingLayout","overlayStyle","position","useAnchoredOverlay","placement","offset","collisionBehavior","width","mergedRef","mergeRefs","useDismissOverlay","handleKeyDown","useListboxNavigation","onSelect","val","onDismiss","useContentFocus","webProps","onKeyDown","composeEventHandlers","tabIndex","Comp","Slot","View","jsx","OverlayContainer","entering","FadeIn","duration","exiting","FadeOut","role","id","mergeDataAttributes","dataAttributes","state","side","resolvedPlacement","align","displayName"],"sourceRoot":"../../../src","sources":["select/SelectContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -20,6 +20,16 @@ function useListboxNavigation({
20
20
  onDismissRef.current = onDismiss;
21
21
  const getEnabledItems = (0, _react.useCallback)(() => items.filter(item => !item.disabled), [items]);
22
22
  const handleKeyDown = (0, _react.useCallback)(e => {
23
+ if (e.key === 'Escape') {
24
+ e.preventDefault();
25
+ e.stopPropagation?.();
26
+ onDismissRef.current();
27
+ return;
28
+ }
29
+ if (e.key === 'Tab') {
30
+ onDismissRef.current();
31
+ return;
32
+ }
23
33
  const enabledItems = getEnabledItems();
24
34
  if (enabledItems.length === 0) {
25
35
  return;
@@ -62,17 +72,6 @@ function useListboxNavigation({
62
72
  }
63
73
  break;
64
74
  }
65
- case 'Escape':
66
- {
67
- e.preventDefault();
68
- onDismissRef.current();
69
- break;
70
- }
71
- case 'Tab':
72
- {
73
- onDismissRef.current();
74
- break;
75
- }
76
75
  }
77
76
  }, [activeValue, getEnabledItems, setActiveValue]);
78
77
  return {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","useListboxNavigation","items","activeValue","setActiveValue","onSelect","onDismiss","onSelectRef","useRef","current","onDismissRef","getEnabledItems","useCallback","filter","item","disabled","handleKeyDown","e","enabledItems","length","idx","findIndex","i","value","key","preventDefault","last","at"],"sourceRoot":"../../../src","sources":["select/useListboxNavigation.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;;AAUO,SAASC,oBAAoBA,CAAC;EACnCC,KAAK;EACLC,WAAW;EACXC,cAAc;EACdC,QAAQ;EACRC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAACH,QAAQ,CAAC;EACpCE,WAAW,CAACE,OAAO,GAAGJ,QAAQ;EAE9B,MAAMK,YAAY,GAAG,IAAAF,aAAM,EAACF,SAAS,CAAC;EACtCI,YAAY,CAACD,OAAO,GAAGH,SAAS;EAEhC,MAAMK,eAAe,GAAG,IAAAC,kBAAW,EAAC,MAAMV,KAAK,CAACW,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAACb,KAAK,CAAC,CAAC;EAE1F,MAAMc,aAAa,GAAG,IAAAJ,kBAAW,EAC9BK,CAAM,IAAK;IACV,MAAMC,YAAY,GAAGP,eAAe,CAAC,CAAC;IACtC,IAAIO,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7B;IACF;IAEA,MAAMC,GAAG,GAAGF,YAAY,CAACG,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,KAAKpB,WAAW,CAAC;IAElE,QAAQc,CAAC,CAACO,GAAG;MACX,KAAK,WAAW;QAAE;UAChBP,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClBrB,cAAc,CAACc,YAAY,CAACE,GAAG,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,GAAGC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAACG,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,SAAS;QAAE;UACdN,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClBrB,cAAc,CAACc,YAAY,CAACE,GAAG,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,CAAC,CAACI,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,MAAM;QAAE;UACXN,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClBrB,cAAc,CAACc,YAAY,CAAC,CAAC,CAAC,CAACK,KAAK,CAAC;UACrC;QACF;MACA,KAAK,KAAK;QAAE;UACVN,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClB,MAAMC,IAAI,GAAGR,YAAY,CAACS,EAAE,CAAC,CAAC,CAAC,CAAC;UAChC,IAAID,IAAI,EAAE;YACRtB,cAAc,CAACsB,IAAI,CAACH,KAAK,CAAC;UAC5B;UACA;QACF;MACA,KAAK,OAAO;MACZ,KAAK,GAAG;QAAE;UACRN,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClB,IAAItB,WAAW,EAAE;YACfI,WAAW,CAACE,OAAO,CAACN,WAAW,CAAC;UAClC;UACA;QACF;MACA,KAAK,QAAQ;QAAE;UACbc,CAAC,CAACQ,cAAc,CAAC,CAAC;UAClBf,YAAY,CAACD,OAAO,CAAC,CAAC;UACtB;QACF;MACA,KAAK,KAAK;QAAE;UACVC,YAAY,CAACD,OAAO,CAAC,CAAC;UACtB;QACF;IACF;EACF,CAAC,EACD,CAACN,WAAW,EAAEQ,eAAe,EAAEP,cAAc,CAC/C,CAAC;EAED,OAAO;IAAEY,aAAa;IAAEL;EAAgB,CAAC;AAC3C","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","useListboxNavigation","items","activeValue","setActiveValue","onSelect","onDismiss","onSelectRef","useRef","current","onDismissRef","getEnabledItems","useCallback","filter","item","disabled","handleKeyDown","e","key","preventDefault","stopPropagation","enabledItems","length","idx","findIndex","i","value","last","at"],"sourceRoot":"../../../src","sources":["select/useListboxNavigation.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA;;AAUO,SAASC,oBAAoBA,CAAC;EACnCC,KAAK;EACLC,WAAW;EACXC,cAAc;EACdC,QAAQ;EACRC;AAC2B,CAAC,EAAE;EAC9B,MAAMC,WAAW,GAAG,IAAAC,aAAM,EAACH,QAAQ,CAAC;EACpCE,WAAW,CAACE,OAAO,GAAGJ,QAAQ;EAE9B,MAAMK,YAAY,GAAG,IAAAF,aAAM,EAACF,SAAS,CAAC;EACtCI,YAAY,CAACD,OAAO,GAAGH,SAAS;EAEhC,MAAMK,eAAe,GAAG,IAAAC,kBAAW,EAAC,MAAMV,KAAK,CAACW,MAAM,CAAEC,IAAI,IAAK,CAACA,IAAI,CAACC,QAAQ,CAAC,EAAE,CAACb,KAAK,CAAC,CAAC;EAE1F,MAAMc,aAAa,GAAG,IAAAJ,kBAAW,EAC9BK,CAAM,IAAK;IACV,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;MACtBD,CAAC,CAACE,cAAc,CAAC,CAAC;MAClBF,CAAC,CAACG,eAAe,GAAG,CAAC;MACrBV,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,IAAIQ,CAAC,CAACC,GAAG,KAAK,KAAK,EAAE;MACnBR,YAAY,CAACD,OAAO,CAAC,CAAC;MACtB;IACF;IAEA,MAAMY,YAAY,GAAGV,eAAe,CAAC,CAAC;IACtC,IAAIU,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE;MAC7B;IACF;IAEA,MAAMC,GAAG,GAAGF,YAAY,CAACG,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,KAAK,KAAKvB,WAAW,CAAC;IAElE,QAAQc,CAAC,CAACC,GAAG;MACX,KAAK,WAAW;QAAE;UAChBD,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBf,cAAc,CAACiB,YAAY,CAACE,GAAG,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,GAAGC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAACG,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,SAAS;QAAE;UACdT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBf,cAAc,CAACiB,YAAY,CAACE,GAAG,GAAG,CAAC,GAAGA,GAAG,GAAG,CAAC,GAAGF,YAAY,CAACC,MAAM,GAAG,CAAC,CAAC,CAACI,KAAK,CAAC;UAC/E;QACF;MACA,KAAK,MAAM;QAAE;UACXT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClBf,cAAc,CAACiB,YAAY,CAAC,CAAC,CAAC,CAACK,KAAK,CAAC;UACrC;QACF;MACA,KAAK,KAAK;QAAE;UACVT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,MAAMQ,IAAI,GAAGN,YAAY,CAACO,EAAE,CAAC,CAAC,CAAC,CAAC;UAChC,IAAID,IAAI,EAAE;YACRvB,cAAc,CAACuB,IAAI,CAACD,KAAK,CAAC;UAC5B;UACA;QACF;MACA,KAAK,OAAO;MACZ,KAAK,GAAG;QAAE;UACRT,CAAC,CAACE,cAAc,CAAC,CAAC;UAClB,IAAIhB,WAAW,EAAE;YACfI,WAAW,CAACE,OAAO,CAACN,WAAW,CAAC;UAClC;UACA;QACF;IACF;EACF,CAAC,EACD,CAACA,WAAW,EAAEQ,eAAe,EAAEP,cAAc,CAC/C,CAAC;EAED,OAAO;IAAEY,aAAa;IAAEL;EAAgB,CAAC;AAC3C","ignoreList":[]}
@@ -18,6 +18,7 @@ var _jsxRuntime = require("react/jsx-runtime");
18
18
  const TooltipContent = exports.TooltipContent = /*#__PURE__*/(0, _react.forwardRef)(({
19
19
  asChild,
20
20
  children,
21
+ onLayout,
21
22
  ...props
22
23
  }, ref) => {
23
24
  const contextValue = (0, _context.useTooltipContext)();
@@ -30,36 +31,33 @@ const TooltipContent = exports.TooltipContent = /*#__PURE__*/(0, _react.forwardR
30
31
  trigger,
31
32
  triggerRef,
32
33
  contentId,
34
+ resolvedPlacement,
33
35
  setResolvedPlacement
34
36
  } = contextValue;
35
- const contentRef = (0, _react.useRef)(null);
36
- const mergedRef = (0, _utils.mergeRefs)(ref, contentRef);
37
+ const {
38
+ floatingRef,
39
+ onFloatingLayout,
40
+ style: overlayStyle,
41
+ position
42
+ } = (0, _overlay.useAnchoredOverlay)(triggerRef, open && !isDisabled, {
43
+ placement,
44
+ offset,
45
+ collisionBehavior: 'none',
46
+ width: 'content'
47
+ });
48
+ const mergedRef = (0, _utils.mergeRefs)(ref, floatingRef);
37
49
  const handleDismiss = (0, _react.useCallback)(() => {
38
50
  setOpen(false);
39
51
  }, [setOpen]);
40
52
  const shouldDismissOnInteraction = trigger === 'click' && _reactNative.Platform.OS === 'web' && open && !isDisabled;
41
- (0, _overlay.useDismissOverlay)(shouldDismissOnInteraction, contentRef, [triggerRef], handleDismiss);
53
+ (0, _overlay.useDismissOverlay)(shouldDismissOnInteraction, floatingRef, [triggerRef], handleDismiss);
42
54
  (0, _overlay.useEscapeKey)(shouldDismissOnInteraction, handleDismiss);
43
- const {
44
- width,
45
- height
46
- } = (0, _reactNative.useWindowDimensions)();
47
- const anchorLayout = (0, _overlay.useAnchorPosition)(triggerRef, open && !isDisabled);
48
- const position = (0, _react.useMemo)(() => {
49
- if (!anchorLayout) {
50
- return null;
51
- }
52
- return (0, _getTooltipPosition.getTooltipAnchorStyle)(anchorLayout, placement, offset, {
53
- width,
54
- height
55
- });
56
- }, [anchorLayout, height, offset, placement, width]);
57
55
  (0, _react.useLayoutEffect)(() => {
58
- if (position) {
59
- setResolvedPlacement(position.resolved);
56
+ if (position && (resolvedPlacement?.side !== position.resolvedPlacement.side || resolvedPlacement.align !== position.resolvedPlacement.align)) {
57
+ setResolvedPlacement(position.resolvedPlacement);
60
58
  }
61
- }, [position, setResolvedPlacement]);
62
- if (!open || isDisabled || !position) {
59
+ }, [position, resolvedPlacement, setResolvedPlacement]);
60
+ if (!open || isDisabled) {
63
61
  return null;
64
62
  }
65
63
  const Comp = asChild ? _slot.Slot : _reactNative.View;
@@ -74,14 +72,17 @@ const TooltipContent = exports.TooltipContent = /*#__PURE__*/(0, _react.forwardR
74
72
  value: contextValue,
75
73
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
76
74
  pointerEvents: "none",
77
- style: position.style,
75
+ style: [overlayStyle, {
76
+ zIndex: _getTooltipPosition.TOOLTIP_Z_INDEX
77
+ }],
78
78
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Comp, {
79
79
  ref: mergedRef,
80
+ onLayout: (0, _utils.composeEventHandlers)(onLayout, onFloatingLayout),
80
81
  ...props,
81
82
  ...webProps,
82
83
  ...(0, _dataAttributes.mergeDataAttributes)(props, (0, _dataAttributes.dataAttributes)({
83
- side: position.resolved.side,
84
- align: position.resolved.align,
84
+ side: position?.resolvedPlacement.side,
85
+ align: position?.resolvedPlacement.align,
85
86
  state: 'open'
86
87
  })),
87
88
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_utils","_portal","_overlay","_createPortal","_slot","_dataAttributes","_context","_getTooltipPosition","_jsxRuntime","TooltipContent","exports","forwardRef","asChild","children","props","ref","contextValue","useTooltipContext","open","setOpen","isDisabled","placement","offset","trigger","triggerRef","contentId","setResolvedPlacement","contentRef","useRef","mergedRef","mergeRefs","handleDismiss","useCallback","shouldDismissOnInteraction","Platform","OS","useDismissOverlay","useEscapeKey","width","height","useWindowDimensions","anchorLayout","useAnchorPosition","position","useMemo","getTooltipAnchorStyle","useLayoutEffect","resolved","Comp","Slot","View","webProps","id","role","accessibilityRole","accessibilityLiveRegion","popup","jsx","TooltipProvider","value","pointerEvents","style","mergeDataAttributes","dataAttributes","side","align","state","createPortalFn","document","body","Portal","name","StyleSheet","absoluteFill","zIndex","displayName"],"sourceRoot":"../../../src","sources":["tooltip/TooltipContent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_utils","_portal","_overlay","_createPortal","_slot","_dataAttributes","_context","_getTooltipPosition","_jsxRuntime","TooltipContent","exports","forwardRef","asChild","children","onLayout","props","ref","contextValue","useTooltipContext","open","setOpen","isDisabled","placement","offset","trigger","triggerRef","contentId","resolvedPlacement","setResolvedPlacement","floatingRef","onFloatingLayout","style","overlayStyle","position","useAnchoredOverlay","collisionBehavior","width","mergedRef","mergeRefs","handleDismiss","useCallback","shouldDismissOnInteraction","Platform","OS","useDismissOverlay","useEscapeKey","useLayoutEffect","side","align","Comp","Slot","View","webProps","id","role","accessibilityRole","accessibilityLiveRegion","popup","jsx","TooltipProvider","value","pointerEvents","zIndex","TOOLTIP_Z_INDEX","composeEventHandlers","mergeDataAttributes","dataAttributes","state","createPortalFn","document","body","Portal","name","StyleSheet","absoluteFill","displayName"],"sourceRoot":"../../../src","sources":["tooltip/TooltipContent.tsx"],"mappings":"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","ignoreList":[]}