@rpcbase/ui 0.233.0 → 0.234.0

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/dist/index167.js +3 -3
  2. package/dist/index172.js +3 -3
  3. package/dist/index175.js +1 -1
  4. package/dist/index176.js +4 -4
  5. package/dist/index182.js +1 -1
  6. package/dist/index184.js +12 -12
  7. package/dist/index185.js +1 -1
  8. package/dist/index187.js +5 -5
  9. package/dist/index189.js +6 -6
  10. package/dist/index190.js +5 -5
  11. package/dist/index193.js +3 -3
  12. package/dist/index194.js +5 -5
  13. package/dist/index198.js +57 -36
  14. package/dist/index198.js.map +1 -1
  15. package/dist/index199.js.map +1 -1
  16. package/dist/index262.js +2 -2
  17. package/dist/index274.js +1 -1
  18. package/dist/index278.js +20 -20
  19. package/dist/index278.js.map +1 -1
  20. package/dist/index279.js +24 -62
  21. package/dist/index279.js.map +1 -1
  22. package/dist/index280.js +16 -6
  23. package/dist/index280.js.map +1 -1
  24. package/dist/index281.js +20 -12
  25. package/dist/index281.js.map +1 -1
  26. package/dist/index282.js +64 -48
  27. package/dist/index282.js.map +1 -1
  28. package/dist/index283.js +7 -4
  29. package/dist/index283.js.map +1 -1
  30. package/dist/index284.js +11 -29
  31. package/dist/index284.js.map +1 -1
  32. package/dist/index285.js +49 -15
  33. package/dist/index285.js.map +1 -1
  34. package/dist/index286.js +4 -6
  35. package/dist/index286.js.map +1 -1
  36. package/dist/index287.js +28 -20
  37. package/dist/index287.js.map +1 -1
  38. package/dist/index288.js +15 -50
  39. package/dist/index288.js.map +1 -1
  40. package/dist/index289.js +5 -25
  41. package/dist/index289.js.map +1 -1
  42. package/dist/index290.js +21 -41
  43. package/dist/index290.js.map +1 -1
  44. package/dist/index291.js +50 -38
  45. package/dist/index291.js.map +1 -1
  46. package/dist/index292.js +26 -45
  47. package/dist/index292.js.map +1 -1
  48. package/dist/index293.js +40 -19
  49. package/dist/index293.js.map +1 -1
  50. package/dist/index294.js +38 -69
  51. package/dist/index294.js.map +1 -1
  52. package/dist/index295.js +45 -18
  53. package/dist/index295.js.map +1 -1
  54. package/dist/index296.js +20 -11
  55. package/dist/index296.js.map +1 -1
  56. package/dist/index297.js +69 -26
  57. package/dist/index297.js.map +1 -1
  58. package/dist/index298.js +16 -12
  59. package/dist/index298.js.map +1 -1
  60. package/dist/index299.js +10 -17
  61. package/dist/index299.js.map +1 -1
  62. package/dist/index300.js +26 -35
  63. package/dist/index300.js.map +1 -1
  64. package/dist/index301.js +12 -261
  65. package/dist/index301.js.map +1 -1
  66. package/dist/index302.js +15 -275
  67. package/dist/index302.js.map +1 -1
  68. package/dist/index303.js +36 -68
  69. package/dist/index303.js.map +1 -1
  70. package/dist/index304.js +256 -93
  71. package/dist/index304.js.map +1 -1
  72. package/dist/index305.js +270 -75
  73. package/dist/index305.js.map +1 -1
  74. package/dist/index306.js +68 -3
  75. package/dist/index306.js.map +1 -1
  76. package/dist/index307.js +96 -26
  77. package/dist/index307.js.map +1 -1
  78. package/dist/index308.js +83 -16
  79. package/dist/index308.js.map +1 -1
  80. package/dist/index309.js +4 -35
  81. package/dist/index309.js.map +1 -1
  82. package/dist/index310.js +28 -15
  83. package/dist/index310.js.map +1 -1
  84. package/dist/index311.js +16 -3
  85. package/dist/index311.js.map +1 -1
  86. package/dist/index312.js +35 -27
  87. package/dist/index312.js.map +1 -1
  88. package/dist/index313.js +16 -28
  89. package/dist/index313.js.map +1 -1
  90. package/dist/index314.js +4 -4
  91. package/dist/index314.js.map +1 -1
  92. package/dist/index315.js +23 -75
  93. package/dist/index315.js.map +1 -1
  94. package/dist/index316.js +25 -266
  95. package/dist/index316.js.map +1 -1
  96. package/dist/index317.js +4 -12
  97. package/dist/index317.js.map +1 -1
  98. package/dist/index318.js +79 -11
  99. package/dist/index318.js.map +1 -1
  100. package/dist/index319.js +267 -23
  101. package/dist/index319.js.map +1 -1
  102. package/dist/index320.js +11 -16
  103. package/dist/index320.js.map +1 -1
  104. package/dist/index321.js +10 -125
  105. package/dist/index321.js.map +1 -1
  106. package/dist/index322.js +24 -4
  107. package/dist/index322.js.map +1 -1
  108. package/dist/index323.js +16 -40
  109. package/dist/index323.js.map +1 -1
  110. package/dist/index324.js +121 -61
  111. package/dist/index324.js.map +1 -1
  112. package/dist/index325.js +6 -14
  113. package/dist/index325.js.map +1 -1
  114. package/dist/index326.js +40 -7
  115. package/dist/index326.js.map +1 -1
  116. package/dist/index327.js +65 -5
  117. package/dist/index327.js.map +1 -1
  118. package/dist/index328.js +14 -4
  119. package/dist/index328.js.map +1 -1
  120. package/dist/index329.js +7 -10
  121. package/dist/index329.js.map +1 -1
  122. package/dist/index330.js +5 -7
  123. package/dist/index330.js.map +1 -1
  124. package/dist/index331.js +3 -133
  125. package/dist/index331.js.map +1 -1
  126. package/dist/index332.js +9 -398
  127. package/dist/index332.js.map +1 -1
  128. package/dist/index333.js +7 -52
  129. package/dist/index333.js.map +1 -1
  130. package/dist/index334.js +133 -11
  131. package/dist/index334.js.map +1 -1
  132. package/dist/index335.js +399 -11
  133. package/dist/index335.js.map +1 -1
  134. package/dist/index336.js +51 -18
  135. package/dist/index336.js.map +1 -1
  136. package/dist/index337.js +11 -28
  137. package/dist/index337.js.map +1 -1
  138. package/dist/index338.js +11 -16
  139. package/dist/index338.js.map +1 -1
  140. package/dist/index339.js +1 -1
  141. package/dist/index346.js +2 -2
  142. package/dist/index347.js +122 -5
  143. package/dist/index347.js.map +1 -1
  144. package/dist/index348.js +31 -121
  145. package/dist/index348.js.map +1 -1
  146. package/dist/index349.js +72 -31
  147. package/dist/index349.js.map +1 -1
  148. package/dist/index350.js +139 -70
  149. package/dist/index350.js.map +1 -1
  150. package/dist/index351.js +35 -116
  151. package/dist/index351.js.map +1 -1
  152. package/dist/index352.js +44 -56
  153. package/dist/index352.js.map +1 -1
  154. package/dist/index353.js +14 -49
  155. package/dist/index353.js.map +1 -1
  156. package/dist/index354.js +6 -15
  157. package/dist/index354.js.map +1 -1
  158. package/dist/index368.js +1 -1
  159. package/dist/index371.js +2 -2
  160. package/dist/index372.js +3 -3
  161. package/dist/index374.js +3 -3
  162. package/dist/index375.js +1 -1
  163. package/dist/index376.js +3 -3
  164. package/dist/index378.js +2 -2
  165. package/dist/index380.js +1 -1
  166. package/dist/index381.js +2 -2
  167. package/dist/index384.js +2 -2
  168. package/dist/index386.js +1 -1
  169. package/dist/index407.js +1 -1
  170. package/dist/index417.js +1 -1
  171. package/dist/index418.js +1 -1
  172. package/dist/index421.js +1 -1
  173. package/dist/index422.js +1 -1
  174. package/dist/index427.js +2 -2
  175. package/dist/index429.js +2 -2
  176. package/dist/index44.js +1 -1
  177. package/dist/index45.js +2 -2
  178. package/dist/index49.js +28 -28
  179. package/dist/index50.js +21 -21
  180. package/dist/index51.js +1 -1
  181. package/dist/index52.js +8 -8
  182. package/dist/index53.js +2 -2
  183. package/dist/index55.js +17 -17
  184. package/dist/index56.js +4 -4
  185. package/dist/index57.js +3 -3
  186. package/dist/index58.js +7 -7
  187. package/dist/index59.js +4 -4
  188. package/dist/index60.js +12 -12
  189. package/dist/index61.js +2 -2
  190. package/dist/index62.js +2 -2
  191. package/dist/index70.js +1 -1
  192. package/dist/index71.js +1 -1
  193. package/dist/index74.js +6 -2
  194. package/dist/index74.js.map +1 -1
  195. package/dist/index75.js +8 -2
  196. package/dist/index75.js.map +1 -1
  197. package/dist/index76.js +5 -5
  198. package/dist/index76.js.map +1 -1
  199. package/dist/index77.js +2 -8
  200. package/dist/index77.js.map +1 -1
  201. package/dist/index78.js +2 -6
  202. package/dist/index78.js.map +1 -1
  203. package/package.json +1 -1
package/dist/index315.js CHANGED
@@ -1,82 +1,30 @@
1
- import * as a from "react";
2
- import { useRefWithInit as T } from "./index280.js";
3
- import { useStableCallback as l } from "./index284.js";
4
- import { useIsoLayoutEffect as f } from "./index283.js";
5
- import { CompositeListContext as b } from "./index367.js";
6
- import { j as D } from "./index30.js";
7
- function k(h) {
8
- const {
9
- children: N,
10
- elementsRef: t,
11
- labelsRef: o,
12
- onMapChange: R
13
- } = h, E = l(R), O = a.useRef(0), d = T(P).current, i = T(L).current, [p, M] = a.useState(0), c = a.useRef(p), C = l((e, u) => {
14
- i.set(e, u ?? null), c.current += 1, M(c.current);
15
- }), I = l((e) => {
16
- i.delete(e), c.current += 1, M(c.current);
17
- }), r = a.useMemo(() => {
18
- const e = /* @__PURE__ */ new Map();
19
- return Array.from(i.keys()).filter((n) => n.isConnected).sort(S).forEach((n, m) => {
20
- const s = i.get(n) ?? {};
21
- e.set(n, {
22
- ...s,
23
- index: m
24
- });
25
- }), e;
26
- }, [i, p]);
27
- f(() => {
28
- if (typeof MutationObserver != "function" || r.size === 0)
29
- return;
30
- const e = new MutationObserver((u) => {
31
- const n = /* @__PURE__ */ new Set(), m = (s) => n.has(s) ? n.delete(s) : n.add(s);
32
- u.forEach((s) => {
33
- s.removedNodes.forEach(m), s.addedNodes.forEach(m);
34
- }), n.size === 0 && (c.current += 1, M(c.current));
35
- });
36
- return r.forEach((u, n) => {
37
- n.parentElement && e.observe(n.parentElement, {
38
- childList: !0
39
- });
40
- }), () => {
41
- e.disconnect();
42
- };
43
- }, [r]), f(() => {
44
- c.current === p && (t.current.length !== r.size && (t.current.length = r.size), o && o.current.length !== r.size && (o.current.length = r.size), O.current = r.size), E(r);
45
- }, [E, r, t, o, p]), f(() => () => {
46
- t.current = [];
47
- }, [t]), f(() => () => {
48
- o && (o.current = []);
49
- }, [o]);
50
- const g = l((e) => (d.add(e), () => {
51
- d.delete(e);
52
- }));
53
- f(() => {
54
- d.forEach((e) => e(r));
55
- }, [d, r]);
56
- const _ = a.useMemo(() => ({
57
- register: C,
58
- unregister: I,
59
- subscribeMapChange: g,
60
- elementsRef: t,
61
- labelsRef: o,
62
- nextIndexRef: O
63
- }), [C, I, g, t, o, O]);
64
- return /* @__PURE__ */ D.jsx(b.Provider, {
65
- value: _,
66
- children: N
67
- });
1
+ import { isHTMLElement as i } from "./index334.js";
2
+ import { FOCUSABLE_ATTRIBUTE as u, TYPEABLE_SELECTOR as n } from "./index385.js";
3
+ function a(t, r) {
4
+ if (r == null)
5
+ return !1;
6
+ if ("composedPath" in t)
7
+ return t.composedPath().includes(r);
8
+ const o = t;
9
+ return o.target != null && r.contains(o.target);
68
10
  }
69
- function L() {
70
- return /* @__PURE__ */ new Map();
11
+ function b(t) {
12
+ return t.matches("html,body");
71
13
  }
72
- function P() {
73
- return /* @__PURE__ */ new Set();
14
+ function e(t) {
15
+ return i(t) && t.matches(n);
74
16
  }
75
- function S(h, N) {
76
- const t = h.compareDocumentPosition(N);
77
- return t & Node.DOCUMENT_POSITION_FOLLOWING || t & Node.DOCUMENT_POSITION_CONTAINED_BY ? -1 : t & Node.DOCUMENT_POSITION_PRECEDING || t & Node.DOCUMENT_POSITION_CONTAINS ? 1 : 0;
17
+ function f(t) {
18
+ return t ? t.getAttribute("role") === "combobox" && e(t) : !1;
19
+ }
20
+ function T(t) {
21
+ return t ? t.hasAttribute(u) ? t : t.querySelector(`[${u}]`) || t : null;
78
22
  }
79
23
  export {
80
- k as CompositeList
24
+ T as getFloatingFocusElement,
25
+ a as isEventTargetWithin,
26
+ b as isRootElement,
27
+ f as isTypeableCombobox,
28
+ e as isTypeableElement
81
29
  };
82
30
  //# sourceMappingURL=index315.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index315.js","sources":["../../../node_modules/@base-ui/react/esm/internals/composite/list/CompositeList.js"],"sourcesContent":["/* eslint-disable no-bitwise */\n'use client';\n\nimport * as React from 'react';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { CompositeListContext } from \"./CompositeListContext.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n/**\n * Provides context for a list of items in a composite component.\n * @internal\n */\nexport function CompositeList(props) {\n const {\n children,\n elementsRef,\n labelsRef,\n onMapChange: onMapChangeProp\n } = props;\n const onMapChange = useStableCallback(onMapChangeProp);\n const nextIndexRef = React.useRef(0);\n const listeners = useRefWithInit(createListeners).current;\n\n // We use a stable `map` to avoid O(n^2) re-allocation costs for large lists.\n // `mapTick` is our re-render trigger mechanism. We also need to update the\n // elements and label refs, but there's a lot of async work going on and sometimes\n // the effect that handles `onMapChange` gets called after those refs have been\n // filled, and we don't want to lose those values by setting their lengths to `0`.\n // We also need to have them at the proper length because floating-ui uses that\n // information for list navigation.\n\n const map = useRefWithInit(createMap).current;\n // `mapTick` uses a counter rather than objects for low precision-loss risk and better memory efficiency\n const [mapTick, setMapTick] = React.useState(0);\n const lastTickRef = React.useRef(mapTick);\n const register = useStableCallback((node, metadata) => {\n map.set(node, metadata ?? null);\n lastTickRef.current += 1;\n setMapTick(lastTickRef.current);\n });\n const unregister = useStableCallback(node => {\n map.delete(node);\n lastTickRef.current += 1;\n setMapTick(lastTickRef.current);\n });\n const sortedMap = React.useMemo(() => {\n // `mapTick` is the `useMemo` trigger as `map` is stable.\n disableEslintWarning(mapTick);\n const newMap = new Map();\n // Filter out disconnected elements before sorting to avoid inconsistent\n // compareDocumentPosition results when elements are detached from the DOM.\n const sortedNodes = Array.from(map.keys()).filter(node => node.isConnected).sort(sortByDocumentPosition);\n sortedNodes.forEach((node, index) => {\n const metadata = map.get(node) ?? {};\n newMap.set(node, {\n ...metadata,\n index\n });\n });\n return newMap;\n }, [map, mapTick]);\n useIsoLayoutEffect(() => {\n if (typeof MutationObserver !== 'function' || sortedMap.size === 0) {\n return undefined;\n }\n const mutationObserver = new MutationObserver(entries => {\n const diff = new Set();\n const updateDiff = node => diff.has(node) ? diff.delete(node) : diff.add(node);\n entries.forEach(entry => {\n entry.removedNodes.forEach(updateDiff);\n entry.addedNodes.forEach(updateDiff);\n });\n if (diff.size === 0) {\n lastTickRef.current += 1;\n setMapTick(lastTickRef.current);\n }\n });\n sortedMap.forEach((_, node) => {\n if (node.parentElement) {\n mutationObserver.observe(node.parentElement, {\n childList: true\n });\n }\n });\n return () => {\n mutationObserver.disconnect();\n };\n }, [sortedMap]);\n useIsoLayoutEffect(() => {\n const shouldUpdateLengths = lastTickRef.current === mapTick;\n if (shouldUpdateLengths) {\n if (elementsRef.current.length !== sortedMap.size) {\n elementsRef.current.length = sortedMap.size;\n }\n if (labelsRef && labelsRef.current.length !== sortedMap.size) {\n labelsRef.current.length = sortedMap.size;\n }\n nextIndexRef.current = sortedMap.size;\n }\n onMapChange(sortedMap);\n }, [onMapChange, sortedMap, elementsRef, labelsRef, mapTick]);\n useIsoLayoutEffect(() => {\n return () => {\n elementsRef.current = [];\n };\n }, [elementsRef]);\n useIsoLayoutEffect(() => {\n return () => {\n if (labelsRef) {\n labelsRef.current = [];\n }\n };\n }, [labelsRef]);\n const subscribeMapChange = useStableCallback(fn => {\n listeners.add(fn);\n return () => {\n listeners.delete(fn);\n };\n });\n useIsoLayoutEffect(() => {\n listeners.forEach(l => l(sortedMap));\n }, [listeners, sortedMap]);\n const contextValue = React.useMemo(() => ({\n register,\n unregister,\n subscribeMapChange,\n elementsRef,\n labelsRef,\n nextIndexRef\n }), [register, unregister, subscribeMapChange, elementsRef, labelsRef, nextIndexRef]);\n return /*#__PURE__*/_jsx(CompositeListContext.Provider, {\n value: contextValue,\n children: children\n });\n}\nfunction createMap() {\n return new Map();\n}\nfunction createListeners() {\n return new Set();\n}\nfunction sortByDocumentPosition(a, b) {\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return -1;\n }\n if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) {\n return 1;\n }\n return 0;\n}\nfunction disableEslintWarning(_) {}"],"names":["CompositeList","props","children","elementsRef","labelsRef","onMapChangeProp","onMapChange","useStableCallback","nextIndexRef","React","listeners","useRefWithInit","createListeners","map","createMap","mapTick","setMapTick","lastTickRef","register","node","metadata","unregister","sortedMap","newMap","sortByDocumentPosition","index","useIsoLayoutEffect","mutationObserver","entries","diff","updateDiff","entry","_","subscribeMapChange","fn","l","contextValue","_jsx","CompositeListContext","a","b","position"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index315.js","sources":["../../../node_modules/@base-ui/react/esm/floating-ui-react/utils/element.js"],"sourcesContent":["import { isElement, isHTMLElement } from '@floating-ui/utils/dom';\nimport { isJSDOM } from '@base-ui/utils/detectBrowser';\nimport { FOCUSABLE_ATTRIBUTE, TYPEABLE_SELECTOR } from \"./constants.js\";\nimport { activeElement, contains, getTarget } from \"../../internals/shadowDom.js\";\nexport { activeElement, contains, getTarget };\nexport function isTargetInsideEnabledTrigger(target, triggerElements) {\n if (!isElement(target)) {\n return false;\n }\n const targetElement = target;\n if (triggerElements.hasElement(targetElement)) {\n return !targetElement.hasAttribute('data-trigger-disabled');\n }\n for (const [, trigger] of triggerElements.entries()) {\n if (contains(trigger, targetElement)) {\n return !trigger.hasAttribute('data-trigger-disabled');\n }\n }\n return false;\n}\nexport function isEventTargetWithin(event, node) {\n if (node == null) {\n return false;\n }\n if ('composedPath' in event) {\n return event.composedPath().includes(node);\n }\n\n // TS thinks `event` is of type never as it assumes all browsers support composedPath, but browsers without shadow dom don't\n const eventAgain = event;\n return eventAgain.target != null && node.contains(eventAgain.target);\n}\nexport function isRootElement(element) {\n return element.matches('html,body');\n}\nexport function isTypeableElement(element) {\n return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);\n}\nexport function isInteractiveElement(element) {\n return element?.closest(`button,a[href],[role=\"button\"],select,[tabindex]:not([tabindex=\"-1\"]),${TYPEABLE_SELECTOR}`) != null;\n}\nexport function isTypeableCombobox(element) {\n if (!element) {\n return false;\n }\n return element.getAttribute('role') === 'combobox' && isTypeableElement(element);\n}\nexport function matchesFocusVisible(element) {\n // We don't want to block focus from working with `visibleOnly`\n // (JSDOM doesn't match `:focus-visible` when the element has `:focus`)\n if (!element || isJSDOM) {\n return true;\n }\n try {\n return element.matches(':focus-visible');\n } catch (_e) {\n return true;\n }\n}\nexport function getFloatingFocusElement(floatingElement) {\n if (!floatingElement) {\n return null;\n }\n // Try to find the element that has `{...getFloatingProps()}` spread on it.\n // This indicates the floating element is acting as a positioning wrapper, and\n // so focus should be managed on the child element with the event handlers and\n // aria props.\n return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(`[${FOCUSABLE_ATTRIBUTE}]`) || floatingElement;\n}"],"names":["isEventTargetWithin","event","node","eventAgain","isRootElement","element","isTypeableElement","isHTMLElement","TYPEABLE_SELECTOR","isTypeableCombobox","getFloatingFocusElement","floatingElement","FOCUSABLE_ATTRIBUTE"],"mappings":";;AAoBO,SAASA,EAAoBC,GAAOC,GAAM;AAC/C,MAAIA,KAAQ;AACV,WAAO;AAET,MAAI,kBAAkBD;AACpB,WAAOA,EAAM,eAAe,SAASC,CAAI;AAI3C,QAAMC,IAAaF;AACnB,SAAOE,EAAW,UAAU,QAAQD,EAAK,SAASC,EAAW,MAAM;AACrE;AACO,SAASC,EAAcC,GAAS;AACrC,SAAOA,EAAQ,QAAQ,WAAW;AACpC;AACO,SAASC,EAAkBD,GAAS;AACzC,SAAOE,EAAcF,CAAO,KAAKA,EAAQ,QAAQG,CAAiB;AACpE;AAIO,SAASC,EAAmBJ,GAAS;AAC1C,SAAKA,IAGEA,EAAQ,aAAa,MAAM,MAAM,cAAcC,EAAkBD,CAAO,IAFtE;AAGX;AAaO,SAASK,EAAwBC,GAAiB;AACvD,SAAKA,IAOEA,EAAgB,aAAaC,CAAmB,IAAID,IAAkBA,EAAgB,cAAc,IAAIC,CAAmB,GAAG,KAAKD,IANjI;AAOX;","x_google_ignoreList":[0]}
package/dist/index316.js CHANGED
@@ -1,273 +1,32 @@
1
- import * as d from "react";
2
- import { getSide as B, getSideAxis as Me, getAlignment as He } from "./index321.js";
3
- import { ownerDocument as De } from "./index306.js";
4
- import { useIsoLayoutEffect as Q } from "./index283.js";
5
- import { useValueAsRef as z } from "./index285.js";
6
- import { useStableCallback as Je } from "./index284.js";
7
- import { useDirection as Ke } from "./index330.js";
8
- import { arrow as Ne } from "./index368.js";
9
- import { hide as Qe } from "./index369.js";
10
- import { DEFAULT_SIDES as Ze } from "./index370.js";
11
- import { flip as et, size as tt, offset as nt, shift as ot, limitShift as it } from "./index371.js";
12
- import { useFloating as rt } from "./index372.js";
13
- import { autoUpdate as ke } from "./index332.js";
14
- import { getWindow as st } from "./index331.js";
15
- function Le(a, u, h) {
16
- const n = a === "inline-start" || a === "inline-end";
17
- return {
18
- top: "top",
19
- right: n ? h ? "inline-start" : "inline-end" : "right",
20
- bottom: "bottom",
21
- left: n ? h ? "inline-end" : "inline-start" : "left"
22
- }[u];
1
+ import { isShadowRoot as r } from "./index334.js";
2
+ function a(t) {
3
+ let e = t.activeElement;
4
+ for (; e?.shadowRoot?.activeElement != null; )
5
+ e = e.shadowRoot.activeElement;
6
+ return e;
23
7
  }
24
- function Ce(a, u, h) {
25
- const {
26
- rects: n,
27
- placement: c
28
- } = a;
29
- return {
30
- side: Le(u, B(c), h),
31
- align: He(c) || "center",
32
- anchor: {
33
- width: n.reference.width,
34
- height: n.reference.height
35
- },
36
- positioner: {
37
- width: n.floating.width,
38
- height: n.floating.height
8
+ function u(t, e) {
9
+ if (!t || !e)
10
+ return !1;
11
+ const n = e.getRootNode?.();
12
+ if (t.contains(e))
13
+ return !0;
14
+ if (n && r(n)) {
15
+ let o = e;
16
+ for (; o; ) {
17
+ if (t === o)
18
+ return !0;
19
+ o = o.parentNode || o.host;
39
20
  }
40
- };
21
+ }
22
+ return !1;
41
23
  }
42
- function St(a) {
43
- const {
44
- // Public parameters
45
- anchor: u,
46
- positionMethod: h = "absolute",
47
- side: n = "bottom",
48
- sideOffset: c = 0,
49
- align: R = "center",
50
- alignOffset: V = 0,
51
- collisionBoundary: Z,
52
- collisionPadding: Te = 5,
53
- sticky: W = !1,
54
- arrowPadding: ee = 5,
55
- disableAnchorTracking: I = !1,
56
- // Private parameters
57
- keepMounted: M = !1,
58
- floatingRootContext: D,
59
- mounted: o,
60
- collisionAvoidance: U,
61
- shiftCrossAxis: S = !1,
62
- nodeId: ze,
63
- adaptiveOrigin: Y,
64
- lazyFlip: te = !1,
65
- externalTree: Be
66
- } = a, [ne, oe] = d.useState(null);
67
- !o && ne !== null && oe(null);
68
- const P = U.side || "flip", O = U.align || "flip", Ve = U.fallbackAxisSide || "end", ie = typeof u == "function" ? u : void 0, We = Je(ie), re = ie ? We : u, k = z(u), Ie = z(o), x = Ke() === "rtl", se = ne || {
69
- top: "top",
70
- right: "right",
71
- bottom: "bottom",
72
- left: "left",
73
- "inline-end": x ? "left" : "right",
74
- "inline-start": x ? "right" : "left"
75
- }[n], Ue = R === "center" ? se : `${se}-${R}`;
76
- let t = Te;
77
- const p = 1, ce = n === "bottom" ? p : 0, le = n === "top" ? p : 0, ae = n === "right" ? p : 0, fe = n === "left" ? p : 0;
78
- typeof t == "number" ? t = {
79
- top: t + ce,
80
- right: t + fe,
81
- bottom: t + le,
82
- left: t + ae
83
- } : t && (t = {
84
- top: (t.top || 0) + ce,
85
- right: (t.right || 0) + fe,
86
- bottom: (t.bottom || 0) + le,
87
- left: (t.left || 0) + ae
88
- });
89
- const C = {
90
- boundary: Z === "clipping-ancestors" ? "clippingAncestors" : Z,
91
- padding: t
92
- }, m = d.useRef(null), X = z(c), j = z(V), F = [nt((e) => {
93
- const i = Ce(e, n, x), l = typeof X.current == "function" ? X.current(i) : X.current, r = typeof j.current == "function" ? j.current(i) : j.current;
94
- return {
95
- mainAxis: l,
96
- crossAxis: r,
97
- alignmentAxis: r
98
- };
99
- }, [typeof c != "function" ? c : 0, typeof V != "function" ? V : 0, x, n])], de = O === "none" && P !== "shift", ue = !de && (W || S || P === "shift"), pe = P === "none" ? null : et({
100
- ...C,
101
- // Ensure the popup flips if it's been limited by its --available-height and it resizes.
102
- // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
103
- padding: {
104
- top: t.top + p,
105
- right: t.right + p,
106
- bottom: t.bottom + p,
107
- left: t.left + p
108
- },
109
- mainAxis: !S && P === "flip",
110
- crossAxis: O === "flip" ? "alignment" : !1,
111
- fallbackAxisSideDirection: Ve
112
- }), he = de ? null : ot((e) => {
113
- const i = De(e.elements.floating).documentElement;
114
- return {
115
- ...C,
116
- // Use the Layout Viewport to avoid shifting around when pinch-zooming
117
- // for context menus.
118
- rootBoundary: S ? {
119
- x: 0,
120
- y: 0,
121
- width: i.clientWidth,
122
- height: i.clientHeight
123
- } : void 0,
124
- mainAxis: O !== "none",
125
- crossAxis: ue,
126
- limiter: W || S ? void 0 : it((l) => {
127
- if (!m.current)
128
- return {};
129
- const {
130
- width: r,
131
- height: f
132
- } = m.current.getBoundingClientRect(), s = Me(B(l.placement)), y = s === "y" ? r : f, A = s === "y" ? t.left + t.right : t.top + t.bottom;
133
- return {
134
- offset: y / 2 + A / 2
135
- };
136
- })
137
- };
138
- }, [C, W, S, t, O]);
139
- P === "shift" || O === "shift" || R === "center" ? F.push(he, pe) : F.push(pe, he), F.push(tt({
140
- ...C,
141
- apply({
142
- elements: {
143
- floating: e
144
- },
145
- availableWidth: i,
146
- availableHeight: l,
147
- rects: r
148
- }) {
149
- if (!Ie.current)
150
- return;
151
- const f = e.style;
152
- f.setProperty("--available-width", `${i}px`), f.setProperty("--available-height", `${l}px`);
153
- const s = st(e).devicePixelRatio || 1, {
154
- x: y,
155
- y: A,
156
- width: T,
157
- height: G
158
- } = r.reference, J = (Math.round((y + T) * s) - Math.round(y * s)) / s, K = (Math.round((A + G) * s) - Math.round(A * s)) / s;
159
- f.setProperty("--anchor-width", `${J}px`), f.setProperty("--anchor-height", `${K}px`);
160
- }
161
- }), Ne(() => ({
162
- // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
163
- // we'll create a fake element.
164
- element: m.current || De(m.current).createElement("div"),
165
- padding: ee,
166
- offsetParent: "floating"
167
- }), [ee]), {
168
- name: "transformOrigin",
169
- fn(e) {
170
- const {
171
- elements: i,
172
- middlewareData: l,
173
- placement: r,
174
- rects: f,
175
- y: s
176
- } = e, y = B(r), A = Me(y), T = m.current, G = l.arrow?.x || 0, J = l.arrow?.y || 0, K = T?.clientWidth || 0, Ye = T?.clientHeight || 0, N = G + K / 2, Ee = J + Ye / 2, Xe = Math.abs(l.shift?.y || 0), je = f.reference.height / 2, E = typeof c == "function" ? c(Ce(e, n, x)) : c, _e = Xe > E, qe = {
177
- top: `${N}px calc(100% + ${E}px)`,
178
- bottom: `${N}px ${-E}px`,
179
- left: `calc(100% + ${E}px) ${Ee}px`,
180
- right: `${-E}px ${Ee}px`
181
- }[y], Ge = `${N}px ${f.reference.y + je - s}px`;
182
- return i.floating.style.setProperty("--transform-origin", ue && A === "y" && _e ? Ge : qe), {};
183
- }
184
- }, Qe, Y), Q(() => {
185
- !o && D && D.update({
186
- referenceElement: null,
187
- floatingElement: null,
188
- domReferenceElement: null,
189
- positionReference: null
190
- });
191
- }, [o, D]);
192
- const _ = d.useMemo(() => ({
193
- elementResize: !I && typeof ResizeObserver < "u",
194
- layoutShift: !I && typeof IntersectionObserver < "u"
195
- }), [I]), {
196
- refs: b,
197
- elements: v,
198
- x: me,
199
- y: ge,
200
- middlewareData: w,
201
- update: H,
202
- placement: ye,
203
- context: xe,
204
- isPositioned: g,
205
- floatingStyles: be
206
- } = rt({
207
- rootContext: D,
208
- open: M ? o : void 0,
209
- placement: Ue,
210
- middleware: F,
211
- strategy: h,
212
- whileElementsMounted: M ? void 0 : (...e) => ke(...e, _),
213
- nodeId: ze,
214
- externalTree: Be
215
- }), {
216
- sideX: we,
217
- sideY: Ae
218
- } = w.adaptiveOrigin || Ze, q = g ? h : "fixed", Re = d.useMemo(() => {
219
- const e = Y ? {
220
- position: q,
221
- [we]: me,
222
- [Ae]: ge
223
- } : {
224
- position: q,
225
- ...be
226
- };
227
- return g || (e.opacity = 0), e;
228
- }, [Y, q, we, me, Ae, ge, be, g]), L = d.useRef(null);
229
- Q(() => {
230
- if (!o)
231
- return;
232
- const e = k.current, i = typeof e == "function" ? e() : e, r = (Fe(i) ? i.current : i) || null || null;
233
- r !== L.current && (b.setPositionReference(r), L.current = r);
234
- }, [o, b, re, k]), d.useEffect(() => {
235
- if (!o)
236
- return;
237
- const e = k.current;
238
- typeof e != "function" && Fe(e) && e.current !== L.current && (b.setPositionReference(e.current), L.current = e.current);
239
- }, [o, b, re, k]), d.useEffect(() => {
240
- if (M && o && v.domReference && v.floating)
241
- return ke(v.domReference, v.floating, H, _);
242
- }, [M, o, v, H, _]);
243
- const $ = B(ye), Se = Le(n, $, x), Pe = He(ye) || "center", Oe = !!w.hide?.referenceHidden;
244
- Q(() => {
245
- te && o && g && oe($);
246
- }, [te, o, g, $]);
247
- const ve = d.useMemo(() => ({
248
- position: "absolute",
249
- top: w.arrow?.y,
250
- left: w.arrow?.x
251
- }), [w.arrow]), $e = w.arrow?.centerOffset !== 0;
252
- return d.useMemo(() => ({
253
- positionerStyles: Re,
254
- arrowStyles: ve,
255
- arrowRef: m,
256
- arrowUncentered: $e,
257
- side: Se,
258
- align: Pe,
259
- physicalSide: $,
260
- anchorHidden: Oe,
261
- refs: b,
262
- context: xe,
263
- isPositioned: g,
264
- update: H
265
- }), [Re, ve, m, $e, Se, Pe, $, Oe, b, xe, g, H]);
266
- }
267
- function Fe(a) {
268
- return a != null && "current" in a;
24
+ function f(t) {
25
+ return "composedPath" in t ? t.composedPath()[0] : t.target;
269
26
  }
270
27
  export {
271
- St as useAnchorPositioning
28
+ a as activeElement,
29
+ u as contains,
30
+ f as getTarget
272
31
  };
273
32
  //# sourceMappingURL=index316.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index316.js","sources":["../../../node_modules/@base-ui/react/esm/utils/useAnchorPositioning.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { getSide, getAlignment, getSideAxis } from '@floating-ui/utils';\nimport { ownerDocument, ownerWindow } from '@base-ui/utils/owner';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { autoUpdate, flip, limitShift, offset, shift, useFloating, size } from \"../floating-ui-react/index.js\";\nimport { useDirection } from \"../internals/direction-context/DirectionContext.js\";\nimport { arrow } from \"../floating-ui-react/middleware/arrow.js\";\nimport { hide } from \"./hideMiddleware.js\";\nimport { DEFAULT_SIDES } from \"./adaptiveOriginMiddleware.js\";\nfunction getLogicalSide(sideParam, renderedSide, isRtl) {\n const isLogicalSideParam = sideParam === 'inline-start' || sideParam === 'inline-end';\n const logicalRight = isRtl ? 'inline-start' : 'inline-end';\n const logicalLeft = isRtl ? 'inline-end' : 'inline-start';\n return {\n top: 'top',\n right: isLogicalSideParam ? logicalRight : 'right',\n bottom: 'bottom',\n left: isLogicalSideParam ? logicalLeft : 'left'\n }[renderedSide];\n}\nfunction getOffsetData(state, sideParam, isRtl) {\n const {\n rects,\n placement\n } = state;\n const data = {\n side: getLogicalSide(sideParam, getSide(placement), isRtl),\n align: getAlignment(placement) || 'center',\n anchor: {\n width: rects.reference.width,\n height: rects.reference.height\n },\n positioner: {\n width: rects.floating.width,\n height: rects.floating.height\n }\n };\n return data;\n}\n/**\n * Provides standardized anchor positioning behavior for floating elements. Wraps Floating UI's\n * `useFloating` hook.\n */\nexport function useAnchorPositioning(params) {\n const {\n // Public parameters\n anchor,\n positionMethod = 'absolute',\n side: sideParam = 'bottom',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n collisionBoundary,\n collisionPadding: collisionPaddingParam = 5,\n sticky = false,\n arrowPadding = 5,\n disableAnchorTracking = false,\n // Private parameters\n keepMounted = false,\n floatingRootContext,\n mounted,\n collisionAvoidance,\n shiftCrossAxis = false,\n nodeId,\n adaptiveOrigin,\n lazyFlip = false,\n externalTree\n } = params;\n const [mountSide, setMountSide] = React.useState(null);\n if (!mounted && mountSide !== null) {\n setMountSide(null);\n }\n const collisionAvoidanceSide = collisionAvoidance.side || 'flip';\n const collisionAvoidanceAlign = collisionAvoidance.align || 'flip';\n const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || 'end';\n const anchorFn = typeof anchor === 'function' ? anchor : undefined;\n const anchorFnCallback = useStableCallback(anchorFn);\n const anchorDep = anchorFn ? anchorFnCallback : anchor;\n const anchorValueRef = useValueAsRef(anchor);\n const mountedRef = useValueAsRef(mounted);\n const direction = useDirection();\n const isRtl = direction === 'rtl';\n const side = mountSide || {\n top: 'top',\n right: 'right',\n bottom: 'bottom',\n left: 'left',\n 'inline-end': isRtl ? 'left' : 'right',\n 'inline-start': isRtl ? 'right' : 'left'\n }[sideParam];\n const placement = align === 'center' ? side : `${side}-${align}`;\n let collisionPadding = collisionPaddingParam;\n\n // Create a bias to the preferred side.\n // On iOS, when the mobile software keyboard opens, the input is exactly centered\n // in the viewport, but this can cause it to flip to the top undesirably.\n const bias = 1;\n const biasTop = sideParam === 'bottom' ? bias : 0;\n const biasBottom = sideParam === 'top' ? bias : 0;\n const biasLeft = sideParam === 'right' ? bias : 0;\n const biasRight = sideParam === 'left' ? bias : 0;\n if (typeof collisionPadding === 'number') {\n collisionPadding = {\n top: collisionPadding + biasTop,\n right: collisionPadding + biasRight,\n bottom: collisionPadding + biasBottom,\n left: collisionPadding + biasLeft\n };\n } else if (collisionPadding) {\n collisionPadding = {\n top: (collisionPadding.top || 0) + biasTop,\n right: (collisionPadding.right || 0) + biasRight,\n bottom: (collisionPadding.bottom || 0) + biasBottom,\n left: (collisionPadding.left || 0) + biasLeft\n };\n }\n const commonCollisionProps = {\n boundary: collisionBoundary === 'clipping-ancestors' ? 'clippingAncestors' : collisionBoundary,\n padding: collisionPadding\n };\n\n // Using a ref assumes that the arrow element is always present in the DOM for the lifetime of the\n // popup. If this assumption ends up being false, we can switch to state to manage the arrow's\n // presence.\n const arrowRef = React.useRef(null);\n\n // Keep these reactive if they're not functions\n const sideOffsetRef = useValueAsRef(sideOffset);\n const alignOffsetRef = useValueAsRef(alignOffset);\n const sideOffsetDep = typeof sideOffset !== 'function' ? sideOffset : 0;\n const alignOffsetDep = typeof alignOffset !== 'function' ? alignOffset : 0;\n const middleware = [offset(state => {\n const data = getOffsetData(state, sideParam, isRtl);\n const sideAxis = typeof sideOffsetRef.current === 'function' ? sideOffsetRef.current(data) : sideOffsetRef.current;\n const alignAxis = typeof alignOffsetRef.current === 'function' ? alignOffsetRef.current(data) : alignOffsetRef.current;\n return {\n mainAxis: sideAxis,\n crossAxis: alignAxis,\n alignmentAxis: alignAxis\n };\n }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam])];\n const shiftDisabled = collisionAvoidanceAlign === 'none' && collisionAvoidanceSide !== 'shift';\n const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === 'shift');\n const flipMiddleware = collisionAvoidanceSide === 'none' ? null : flip({\n ...commonCollisionProps,\n // Ensure the popup flips if it's been limited by its --available-height and it resizes.\n // Since the size() padding is smaller than the flip() padding, flip() will take precedence.\n padding: {\n top: collisionPadding.top + bias,\n right: collisionPadding.right + bias,\n bottom: collisionPadding.bottom + bias,\n left: collisionPadding.left + bias\n },\n mainAxis: !shiftCrossAxis && collisionAvoidanceSide === 'flip',\n crossAxis: collisionAvoidanceAlign === 'flip' ? 'alignment' : false,\n fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide\n });\n const shiftMiddleware = shiftDisabled ? null : shift(data => {\n const html = ownerDocument(data.elements.floating).documentElement;\n return {\n ...commonCollisionProps,\n // Use the Layout Viewport to avoid shifting around when pinch-zooming\n // for context menus.\n rootBoundary: shiftCrossAxis ? {\n x: 0,\n y: 0,\n width: html.clientWidth,\n height: html.clientHeight\n } : undefined,\n mainAxis: collisionAvoidanceAlign !== 'none',\n crossAxis: crossAxisShiftEnabled,\n limiter: sticky || shiftCrossAxis ? undefined : limitShift(limitData => {\n if (!arrowRef.current) {\n return {};\n }\n const {\n width,\n height\n } = arrowRef.current.getBoundingClientRect();\n const sideAxis = getSideAxis(getSide(limitData.placement));\n const arrowSize = sideAxis === 'y' ? width : height;\n const offsetAmount = sideAxis === 'y' ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom;\n return {\n offset: arrowSize / 2 + offsetAmount / 2\n };\n })\n };\n }, [commonCollisionProps, sticky, shiftCrossAxis, collisionPadding, collisionAvoidanceAlign]);\n\n // https://floating-ui.com/docs/flip#combining-with-shift\n if (collisionAvoidanceSide === 'shift' || collisionAvoidanceAlign === 'shift' || align === 'center') {\n middleware.push(shiftMiddleware, flipMiddleware);\n } else {\n middleware.push(flipMiddleware, shiftMiddleware);\n }\n middleware.push(size({\n ...commonCollisionProps,\n apply({\n elements: {\n floating\n },\n availableWidth,\n availableHeight,\n rects\n }) {\n if (!mountedRef.current) {\n return;\n }\n const floatingStyle = floating.style;\n floatingStyle.setProperty('--available-width', `${availableWidth}px`);\n floatingStyle.setProperty('--available-height', `${availableHeight}px`);\n\n // Snap anchor dimensions to device pixels to ensure the popup's visual width matches the anchor's one.\n const dpr = ownerWindow(floating).devicePixelRatio || 1;\n const {\n x,\n y,\n width,\n height\n } = rects.reference;\n const anchorWidth = (Math.round((x + width) * dpr) - Math.round(x * dpr)) / dpr;\n const anchorHeight = (Math.round((y + height) * dpr) - Math.round(y * dpr)) / dpr;\n floatingStyle.setProperty('--anchor-width', `${anchorWidth}px`);\n floatingStyle.setProperty('--anchor-height', `${anchorHeight}px`);\n }\n }), arrow(() => ({\n // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,\n // we'll create a fake element.\n element: arrowRef.current || ownerDocument(arrowRef.current).createElement('div'),\n padding: arrowPadding,\n offsetParent: 'floating'\n }), [arrowPadding]), {\n name: 'transformOrigin',\n fn(state) {\n const {\n elements,\n middlewareData,\n placement: renderedPlacement,\n rects,\n y\n } = state;\n const currentRenderedSide = getSide(renderedPlacement);\n const currentRenderedAxis = getSideAxis(currentRenderedSide);\n const arrowEl = arrowRef.current;\n const arrowX = middlewareData.arrow?.x || 0;\n const arrowY = middlewareData.arrow?.y || 0;\n const arrowWidth = arrowEl?.clientWidth || 0;\n const arrowHeight = arrowEl?.clientHeight || 0;\n const transformX = arrowX + arrowWidth / 2;\n const transformY = arrowY + arrowHeight / 2;\n const shiftY = Math.abs(middlewareData.shift?.y || 0);\n const halfAnchorHeight = rects.reference.height / 2;\n const sideOffsetValue = typeof sideOffset === 'function' ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset;\n const isOverlappingAnchor = shiftY > sideOffsetValue;\n const adjacentTransformOrigin = {\n top: `${transformX}px calc(100% + ${sideOffsetValue}px)`,\n bottom: `${transformX}px ${-sideOffsetValue}px`,\n left: `calc(100% + ${sideOffsetValue}px) ${transformY}px`,\n right: `${-sideOffsetValue}px ${transformY}px`\n }[currentRenderedSide];\n const overlapTransformOrigin = `${transformX}px ${rects.reference.y + halfAnchorHeight - y}px`;\n elements.floating.style.setProperty('--transform-origin', crossAxisShiftEnabled && currentRenderedAxis === 'y' && isOverlappingAnchor ? overlapTransformOrigin : adjacentTransformOrigin);\n return {};\n }\n }, hide, adaptiveOrigin);\n useIsoLayoutEffect(() => {\n // Ensure positioning doesn't run initially for `keepMounted` elements that\n // aren't initially open.\n if (!mounted && floatingRootContext) {\n floatingRootContext.update({\n referenceElement: null,\n floatingElement: null,\n domReferenceElement: null,\n positionReference: null\n });\n }\n }, [mounted, floatingRootContext]);\n const autoUpdateOptions = React.useMemo(() => ({\n elementResize: !disableAnchorTracking && typeof ResizeObserver !== 'undefined',\n layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== 'undefined'\n }), [disableAnchorTracking]);\n const {\n refs,\n elements,\n x,\n y,\n middlewareData,\n update,\n placement: renderedPlacement,\n context,\n isPositioned,\n floatingStyles: originalFloatingStyles\n } = useFloating({\n rootContext: floatingRootContext,\n open: keepMounted ? mounted : undefined,\n placement,\n middleware,\n strategy: positionMethod,\n whileElementsMounted: keepMounted ? undefined : (...args) => autoUpdate(...args, autoUpdateOptions),\n nodeId,\n externalTree\n });\n const {\n sideX,\n sideY\n } = middlewareData.adaptiveOrigin || DEFAULT_SIDES;\n\n // Default to `fixed` when not positioned to prevent `autoFocus` scroll jumps.\n // This ensures the popup is inside the viewport initially before it gets positioned.\n const resolvedPosition = isPositioned ? positionMethod : 'fixed';\n const floatingStyles = React.useMemo(() => {\n const base = adaptiveOrigin ? {\n position: resolvedPosition,\n [sideX]: x,\n [sideY]: y\n } : {\n position: resolvedPosition,\n ...originalFloatingStyles\n };\n if (!isPositioned) {\n base.opacity = 0;\n }\n return base;\n }, [adaptiveOrigin, resolvedPosition, sideX, x, sideY, y, originalFloatingStyles, isPositioned]);\n const registeredPositionReferenceRef = React.useRef(null);\n useIsoLayoutEffect(() => {\n if (!mounted) {\n return;\n }\n const anchorValue = anchorValueRef.current;\n const resolvedAnchor = typeof anchorValue === 'function' ? anchorValue() : anchorValue;\n const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null;\n const finalAnchor = unwrappedElement || null;\n if (finalAnchor !== registeredPositionReferenceRef.current) {\n refs.setPositionReference(finalAnchor);\n registeredPositionReferenceRef.current = finalAnchor;\n }\n }, [mounted, refs, anchorDep, anchorValueRef]);\n React.useEffect(() => {\n if (!mounted) {\n return;\n }\n const anchorValue = anchorValueRef.current;\n\n // Refs from parent components are set after useLayoutEffect runs and are available in useEffect.\n // Therefore, if the anchor is a ref, we need to update the position reference in useEffect.\n if (typeof anchorValue === 'function') {\n return;\n }\n if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) {\n refs.setPositionReference(anchorValue.current);\n registeredPositionReferenceRef.current = anchorValue.current;\n }\n }, [mounted, refs, anchorDep, anchorValueRef]);\n React.useEffect(() => {\n if (keepMounted && mounted && elements.domReference && elements.floating) {\n return autoUpdate(elements.domReference, elements.floating, update, autoUpdateOptions);\n }\n return undefined;\n }, [keepMounted, mounted, elements, update, autoUpdateOptions]);\n const renderedSide = getSide(renderedPlacement);\n const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl);\n const renderedAlign = getAlignment(renderedPlacement) || 'center';\n const anchorHidden = Boolean(middlewareData.hide?.referenceHidden);\n\n /**\n * Locks the flip (makes it \"sticky\") so it doesn't prefer a given placement\n * and flips back lazily, not eagerly. Ideal for filtered lists that change\n * the size of the popup dynamically to avoid unwanted flipping when typing.\n */\n useIsoLayoutEffect(() => {\n if (lazyFlip && mounted && isPositioned) {\n setMountSide(renderedSide);\n }\n }, [lazyFlip, mounted, isPositioned, renderedSide]);\n const arrowStyles = React.useMemo(() => ({\n position: 'absolute',\n top: middlewareData.arrow?.y,\n left: middlewareData.arrow?.x\n }), [middlewareData.arrow]);\n const arrowUncentered = middlewareData.arrow?.centerOffset !== 0;\n return React.useMemo(() => ({\n positionerStyles: floatingStyles,\n arrowStyles,\n arrowRef,\n arrowUncentered,\n side: logicalRenderedSide,\n align: renderedAlign,\n physicalSide: renderedSide,\n anchorHidden,\n refs,\n context,\n isPositioned,\n update\n }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden, refs, context, isPositioned, update]);\n}\nfunction isRef(param) {\n return param != null && 'current' in param;\n}"],"names":["getLogicalSide","sideParam","renderedSide","isRtl","isLogicalSideParam","getOffsetData","state","rects","placement","getSide","getAlignment","useAnchorPositioning","params","anchor","positionMethod","sideOffset","align","alignOffset","collisionBoundary","collisionPaddingParam","sticky","arrowPadding","disableAnchorTracking","keepMounted","floatingRootContext","mounted","collisionAvoidance","shiftCrossAxis","nodeId","adaptiveOrigin","lazyFlip","externalTree","mountSide","setMountSide","React","collisionAvoidanceSide","collisionAvoidanceAlign","collisionAvoidanceFallbackAxisSide","anchorFn","anchorFnCallback","useStableCallback","anchorDep","anchorValueRef","useValueAsRef","mountedRef","useDirection","side","collisionPadding","bias","biasTop","biasBottom","biasLeft","biasRight","commonCollisionProps","arrowRef","sideOffsetRef","alignOffsetRef","middleware","offset","data","sideAxis","alignAxis","shiftDisabled","crossAxisShiftEnabled","flipMiddleware","flip","shiftMiddleware","shift","html","ownerDocument","limitShift","limitData","width","height","getSideAxis","arrowSize","offsetAmount","size","floating","availableWidth","availableHeight","floatingStyle","dpr","ownerWindow","x","y","anchorWidth","anchorHeight","arrow","elements","middlewareData","renderedPlacement","currentRenderedSide","currentRenderedAxis","arrowEl","arrowX","arrowY","arrowWidth","arrowHeight","transformX","transformY","shiftY","halfAnchorHeight","sideOffsetValue","isOverlappingAnchor","adjacentTransformOrigin","overlapTransformOrigin","hide","useIsoLayoutEffect","autoUpdateOptions","refs","update","context","isPositioned","originalFloatingStyles","useFloating","args","autoUpdate","sideX","sideY","DEFAULT_SIDES","resolvedPosition","floatingStyles","base","registeredPositionReferenceRef","anchorValue","resolvedAnchor","finalAnchor","isRef","logicalRenderedSide","renderedAlign","anchorHidden","arrowStyles","arrowUncentered","param"],"mappings":";;;;;;;;;;;;;;AAaA,SAASA,GAAeC,GAAWC,GAAcC,GAAO;AACtD,QAAMC,IAAqBH,MAAc,kBAAkBA,MAAc;AAGzE,SAAO;AAAA,IACL,KAAK;AAAA,IACL,OAAOG,IAJYD,IAAQ,iBAAiB,eAID;AAAA,IAC3C,QAAQ;AAAA,IACR,MAAMC,IALYD,IAAQ,eAAe,iBAKA;AAAA,EAC7C,EAAID,CAAY;AAChB;AACA,SAASG,GAAcC,GAAOL,GAAWE,GAAO;AAC9C,QAAM;AAAA,IACJ,OAAAI;AAAA,IACA,WAAAC;AAAA,EACJ,IAAMF;AAaJ,SAZa;AAAA,IACX,MAAMN,GAAeC,GAAWQ,EAAQD,CAAS,GAAGL,CAAK;AAAA,IACzD,OAAOO,GAAaF,CAAS,KAAK;AAAA,IAClC,QAAQ;AAAA,MACN,OAAOD,EAAM,UAAU;AAAA,MACvB,QAAQA,EAAM,UAAU;AAAA,IAC9B;AAAA,IACI,YAAY;AAAA,MACV,OAAOA,EAAM,SAAS;AAAA,MACtB,QAAQA,EAAM,SAAS;AAAA,IAC7B;AAAA,EACA;AAEA;AAKO,SAASI,GAAqBC,GAAQ;AAC3C,QAAM;AAAA;AAAA,IAEJ,QAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,MAAMb,IAAY;AAAA,IAClB,YAAAc,IAAa;AAAA,IACb,OAAAC,IAAQ;AAAA,IACR,aAAAC,IAAc;AAAA,IACd,mBAAAC;AAAA,IACA,kBAAkBC,KAAwB;AAAA,IAC1C,QAAAC,IAAS;AAAA,IACT,cAAAC,KAAe;AAAA,IACf,uBAAAC,IAAwB;AAAA;AAAA,IAExB,aAAAC,IAAc;AAAA,IACd,qBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,QAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC,KAAW;AAAA,IACX,cAAAC;AAAA,EACJ,IAAMnB,GACE,CAACoB,IAAWC,EAAY,IAAIC,EAAM,SAAS,IAAI;AACrD,EAAI,CAACT,KAAWO,OAAc,QAC5BC,GAAa,IAAI;AAEnB,QAAME,IAAyBT,EAAmB,QAAQ,QACpDU,IAA0BV,EAAmB,SAAS,QACtDW,KAAqCX,EAAmB,oBAAoB,OAC5EY,KAAW,OAAOzB,KAAW,aAAaA,IAAS,QACnD0B,KAAmBC,GAAkBF,EAAQ,GAC7CG,KAAYH,KAAWC,KAAmB1B,GAC1C6B,IAAiBC,EAAc9B,CAAM,GACrC+B,KAAaD,EAAclB,CAAO,GAElCtB,IADY0C,GAAY,MACF,OACtBC,KAAOd,MAAa;AAAA,IACxB,KAAK;AAAA,IACL,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,cAAc7B,IAAQ,SAAS;AAAA,IAC/B,gBAAgBA,IAAQ,UAAU;AAAA,EACtC,EAAIF,CAAS,GACLO,KAAYQ,MAAU,WAAW8B,KAAO,GAAGA,EAAI,IAAI9B,CAAK;AAC9D,MAAI+B,IAAmB5B;AAKvB,QAAM6B,IAAO,GACPC,KAAUhD,MAAc,WAAW+C,IAAO,GAC1CE,KAAajD,MAAc,QAAQ+C,IAAO,GAC1CG,KAAWlD,MAAc,UAAU+C,IAAO,GAC1CI,KAAYnD,MAAc,SAAS+C,IAAO;AAChD,EAAI,OAAOD,KAAqB,WAC9BA,IAAmB;AAAA,IACjB,KAAKA,IAAmBE;AAAA,IACxB,OAAOF,IAAmBK;AAAA,IAC1B,QAAQL,IAAmBG;AAAA,IAC3B,MAAMH,IAAmBI;AAAA,EAC/B,IACaJ,MACTA,IAAmB;AAAA,IACjB,MAAMA,EAAiB,OAAO,KAAKE;AAAA,IACnC,QAAQF,EAAiB,SAAS,KAAKK;AAAA,IACvC,SAASL,EAAiB,UAAU,KAAKG;AAAA,IACzC,OAAOH,EAAiB,QAAQ,KAAKI;AAAA,EAC3C;AAEE,QAAME,IAAuB;AAAA,IAC3B,UAAUnC,MAAsB,uBAAuB,sBAAsBA;AAAA,IAC7E,SAAS6B;AAAA,EACb,GAKQO,IAAWpB,EAAM,OAAO,IAAI,GAG5BqB,IAAgBZ,EAAc5B,CAAU,GACxCyC,IAAiBb,EAAc1B,CAAW,GAG1CwC,IAAa,CAACC,GAAO,CAAApD,MAAS;AAClC,UAAMqD,IAAOtD,GAAcC,GAAOL,GAAWE,CAAK,GAC5CyD,IAAW,OAAOL,EAAc,WAAY,aAAaA,EAAc,QAAQI,CAAI,IAAIJ,EAAc,SACrGM,IAAY,OAAOL,EAAe,WAAY,aAAaA,EAAe,QAAQG,CAAI,IAAIH,EAAe;AAC/G,WAAO;AAAA,MACL,UAAUI;AAAA,MACV,WAAWC;AAAA,MACX,eAAeA;AAAA,IACrB;AAAA,EACE,GAAG,CAXmB,OAAO9C,KAAe,aAAaA,IAAa,GAC/C,OAAOE,KAAgB,aAAaA,IAAc,GAUtCd,GAAOF,CAAS,CAAC,CAAC,GAC/C6D,KAAgB1B,MAA4B,UAAUD,MAA2B,SACjF4B,KAAwB,CAACD,OAAkB1C,KAAUO,KAAkBQ,MAA2B,UAClG6B,KAAiB7B,MAA2B,SAAS,OAAO8B,GAAK;AAAA,IACrE,GAAGZ;AAAA;AAAA;AAAA,IAGH,SAAS;AAAA,MACP,KAAKN,EAAiB,MAAMC;AAAA,MAC5B,OAAOD,EAAiB,QAAQC;AAAA,MAChC,QAAQD,EAAiB,SAASC;AAAA,MAClC,MAAMD,EAAiB,OAAOC;AAAA,IACpC;AAAA,IACI,UAAU,CAACrB,KAAkBQ,MAA2B;AAAA,IACxD,WAAWC,MAA4B,SAAS,cAAc;AAAA,IAC9D,2BAA2BC;AAAA,EAC/B,CAAG,GACK6B,KAAkBJ,KAAgB,OAAOK,GAAM,CAAAR,MAAQ;AAC3D,UAAMS,IAAOC,GAAcV,EAAK,SAAS,QAAQ,EAAE;AACnD,WAAO;AAAA,MACL,GAAGN;AAAA;AAAA;AAAA,MAGH,cAAc1B,IAAiB;AAAA,QAC7B,GAAG;AAAA,QACH,GAAG;AAAA,QACH,OAAOyC,EAAK;AAAA,QACZ,QAAQA,EAAK;AAAA,MACrB,IAAU;AAAA,MACJ,UAAUhC,MAA4B;AAAA,MACtC,WAAW2B;AAAA,MACX,SAAS3C,KAAUO,IAAiB,SAAY2C,GAAW,CAAAC,MAAa;AACtE,YAAI,CAACjB,EAAS;AACZ,iBAAO,CAAA;AAET,cAAM;AAAA,UACJ,OAAAkB;AAAA,UACA,QAAAC;AAAA,QACV,IAAYnB,EAAS,QAAQ,sBAAqB,GACpCM,IAAWc,GAAYjE,EAAQ8D,EAAU,SAAS,CAAC,GACnDI,IAAYf,MAAa,MAAMY,IAAQC,GACvCG,IAAehB,MAAa,MAAMb,EAAiB,OAAOA,EAAiB,QAAQA,EAAiB,MAAMA,EAAiB;AACjI,eAAO;AAAA,UACL,QAAQ4B,IAAY,IAAIC,IAAe;AAAA,QACjD;AAAA,MACM,CAAC;AAAA,IACP;AAAA,EACE,GAAG,CAACvB,GAAsBjC,GAAQO,GAAgBoB,GAAkBX,CAAuB,CAAC;AAG5F,EAAID,MAA2B,WAAWC,MAA4B,WAAWpB,MAAU,WACzFyC,EAAW,KAAKS,IAAiBF,EAAc,IAE/CP,EAAW,KAAKO,IAAgBE,EAAe,GAEjDT,EAAW,KAAKoB,GAAK;AAAA,IACnB,GAAGxB;AAAA,IACH,MAAM;AAAA,MACJ,UAAU;AAAA,QACR,UAAAyB;AAAA,MACR;AAAA,MACM,gBAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,OAAAzE;AAAA,IACN,GAAO;AACD,UAAI,CAACqC,GAAW;AACd;AAEF,YAAMqC,IAAgBH,EAAS;AAC/B,MAAAG,EAAc,YAAY,qBAAqB,GAAGF,CAAc,IAAI,GACpEE,EAAc,YAAY,sBAAsB,GAAGD,CAAe,IAAI;AAGtE,YAAME,IAAMC,GAAYL,CAAQ,EAAE,oBAAoB,GAChD;AAAA,QACJ,GAAAM;AAAA,QACA,GAAAC;AAAA,QACA,OAAAb;AAAA,QACA,QAAAC;AAAA,MACR,IAAUlE,EAAM,WACJ+E,KAAe,KAAK,OAAOF,IAAIZ,KAASU,CAAG,IAAI,KAAK,MAAME,IAAIF,CAAG,KAAKA,GACtEK,KAAgB,KAAK,OAAOF,IAAIZ,KAAUS,CAAG,IAAI,KAAK,MAAMG,IAAIH,CAAG,KAAKA;AAC9E,MAAAD,EAAc,YAAY,kBAAkB,GAAGK,CAAW,IAAI,GAC9DL,EAAc,YAAY,mBAAmB,GAAGM,CAAY,IAAI;AAAA,IAClE;AAAA,EACJ,CAAG,GAAGC,GAAM,OAAO;AAAA;AAAA;AAAA,IAGf,SAASlC,EAAS,WAAWe,GAAcf,EAAS,OAAO,EAAE,cAAc,KAAK;AAAA,IAChF,SAASjC;AAAA,IACT,cAAc;AAAA,EAClB,IAAM,CAACA,EAAY,CAAC,GAAG;AAAA,IACnB,MAAM;AAAA,IACN,GAAGf,GAAO;AACR,YAAM;AAAA,QACJ,UAAAmF;AAAA,QACA,gBAAAC;AAAA,QACA,WAAWC;AAAA,QACX,OAAApF;AAAA,QACA,GAAA8E;AAAA,MACR,IAAU/E,GACEsF,IAAsBnF,EAAQkF,CAAiB,GAC/CE,IAAsBnB,GAAYkB,CAAmB,GACrDE,IAAUxC,EAAS,SACnByC,IAASL,EAAe,OAAO,KAAK,GACpCM,IAASN,EAAe,OAAO,KAAK,GACpCO,IAAaH,GAAS,eAAe,GACrCI,KAAcJ,GAAS,gBAAgB,GACvCK,IAAaJ,IAASE,IAAa,GACnCG,KAAaJ,IAASE,KAAc,GACpCG,KAAS,KAAK,IAAIX,EAAe,OAAO,KAAK,CAAC,GAC9CY,KAAmB/F,EAAM,UAAU,SAAS,GAC5CgG,IAAkB,OAAOxF,KAAe,aAAaA,EAAWV,GAAcC,GAAOL,GAAWE,CAAK,CAAC,IAAIY,GAC1GyF,KAAsBH,KAASE,GAC/BE,KAA0B;AAAA,QAC9B,KAAK,GAAGN,CAAU,kBAAkBI,CAAe;AAAA,QACnD,QAAQ,GAAGJ,CAAU,MAAM,CAACI,CAAe;AAAA,QAC3C,MAAM,eAAeA,CAAe,OAAOH,EAAU;AAAA,QACrD,OAAO,GAAG,CAACG,CAAe,MAAMH,EAAU;AAAA,MAClD,EAAQR,CAAmB,GACfc,KAAyB,GAAGP,CAAU,MAAM5F,EAAM,UAAU,IAAI+F,KAAmBjB,CAAC;AAC1F,aAAAI,EAAS,SAAS,MAAM,YAAY,sBAAsB1B,MAAyB8B,MAAwB,OAAOW,KAAsBE,KAAyBD,EAAuB,GACjL,CAAA;AAAA,IACT;AAAA,EACJ,GAAKE,IAAM9E,CAAc,GACvB+E,EAAmB,MAAM;AAGvB,IAAI,CAACnF,KAAWD,KACdA,EAAoB,OAAO;AAAA,MACzB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,qBAAqB;AAAA,MACrB,mBAAmB;AAAA,IAC3B,CAAO;AAAA,EAEL,GAAG,CAACC,GAASD,CAAmB,CAAC;AACjC,QAAMqF,IAAoB3E,EAAM,QAAQ,OAAO;AAAA,IAC7C,eAAe,CAACZ,KAAyB,OAAO,iBAAmB;AAAA,IACnE,aAAa,CAACA,KAAyB,OAAO,uBAAyB;AAAA,EAC3E,IAAM,CAACA,CAAqB,CAAC,GACrB;AAAA,IACJ,MAAAwF;AAAA,IACA,UAAArB;AAAA,IACA,GAAAL;AAAA,IACA,GAAAC;AAAA,IACA,gBAAAK;AAAA,IACA,QAAAqB;AAAA,IACA,WAAWpB;AAAA,IACX,SAAAqB;AAAA,IACA,cAAAC;AAAA,IACA,gBAAgBC;AAAA,EACpB,IAAMC,GAAY;AAAA,IACd,aAAa3F;AAAA,IACb,MAAMD,IAAcE,IAAU;AAAA,IAC9B,WAAAjB;AAAA,IACA,YAAAiD;AAAA,IACA,UAAU3C;AAAA,IACV,sBAAsBS,IAAc,SAAY,IAAI6F,MAASC,GAAW,GAAGD,GAAMP,CAAiB;AAAA,IAClG,QAAAjF;AAAA,IACA,cAAAG;AAAA,EACJ,CAAG,GACK;AAAA,IACJ,OAAAuF;AAAA,IACA,OAAAC;AAAA,EACJ,IAAM7B,EAAe,kBAAkB8B,IAI/BC,IAAmBR,IAAenG,IAAiB,SACnD4G,KAAiBxF,EAAM,QAAQ,MAAM;AACzC,UAAMyF,IAAO9F,IAAiB;AAAA,MAC5B,UAAU4F;AAAA,MACV,CAACH,EAAK,GAAGlC;AAAA,MACT,CAACmC,EAAK,GAAGlC;AAAA,IACf,IAAQ;AAAA,MACF,UAAUoC;AAAA,MACV,GAAGP;AAAA,IACT;AACI,WAAKD,MACHU,EAAK,UAAU,IAEVA;AAAA,EACT,GAAG,CAAC9F,GAAgB4F,GAAkBH,IAAOlC,IAAGmC,IAAOlC,IAAG6B,IAAwBD,CAAY,CAAC,GACzFW,IAAiC1F,EAAM,OAAO,IAAI;AACxD,EAAA0E,EAAmB,MAAM;AACvB,QAAI,CAACnF;AACH;AAEF,UAAMoG,IAAcnF,EAAe,SAC7BoF,IAAiB,OAAOD,KAAgB,aAAaA,EAAW,IAAKA,GAErEE,KADoBC,GAAMF,CAAc,IAAIA,EAAe,UAAUA,MAAmB,QACtD;AACxC,IAAIC,MAAgBH,EAA+B,YACjDd,EAAK,qBAAqBiB,CAAW,GACrCH,EAA+B,UAAUG;AAAA,EAE7C,GAAG,CAACtG,GAASqF,GAAMrE,IAAWC,CAAc,CAAC,GAC7CR,EAAM,UAAU,MAAM;AACpB,QAAI,CAACT;AACH;AAEF,UAAMoG,IAAcnF,EAAe;AAInC,IAAI,OAAOmF,KAAgB,cAGvBG,GAAMH,CAAW,KAAKA,EAAY,YAAYD,EAA+B,YAC/Ed,EAAK,qBAAqBe,EAAY,OAAO,GAC7CD,EAA+B,UAAUC,EAAY;AAAA,EAEzD,GAAG,CAACpG,GAASqF,GAAMrE,IAAWC,CAAc,CAAC,GAC7CR,EAAM,UAAU,MAAM;AACpB,QAAIX,KAAeE,KAAWgE,EAAS,gBAAgBA,EAAS;AAC9D,aAAO4B,GAAW5B,EAAS,cAAcA,EAAS,UAAUsB,GAAQF,CAAiB;AAAA,EAGzF,GAAG,CAACtF,GAAaE,GAASgE,GAAUsB,GAAQF,CAAiB,CAAC;AAC9D,QAAM3G,IAAeO,EAAQkF,EAAiB,GACxCsC,KAAsBjI,GAAeC,GAAWC,GAAcC,CAAK,GACnE+H,KAAgBxH,GAAaiF,EAAiB,KAAK,UACnDwC,KAAe,EAAQzC,EAAe,MAAM;AAOlD,EAAAkB,EAAmB,MAAM;AACvB,IAAI9E,MAAYL,KAAWwF,KACzBhF,GAAa/B,CAAY;AAAA,EAE7B,GAAG,CAAC4B,IAAUL,GAASwF,GAAc/G,CAAY,CAAC;AAClD,QAAMkI,KAAclG,EAAM,QAAQ,OAAO;AAAA,IACvC,UAAU;AAAA,IACV,KAAKwD,EAAe,OAAO;AAAA,IAC3B,MAAMA,EAAe,OAAO;AAAA,EAChC,IAAM,CAACA,EAAe,KAAK,CAAC,GACpB2C,KAAkB3C,EAAe,OAAO,iBAAiB;AAC/D,SAAOxD,EAAM,QAAQ,OAAO;AAAA,IAC1B,kBAAkBwF;AAAA,IAClB,aAAAU;AAAA,IACA,UAAA9E;AAAA,IACA,iBAAA+E;AAAA,IACA,MAAMJ;AAAA,IACN,OAAOC;AAAA,IACP,cAAchI;AAAA,IACd,cAAAiI;AAAA,IACA,MAAArB;AAAA,IACA,SAAAE;AAAA,IACA,cAAAC;AAAA,IACA,QAAAF;AAAA,EACJ,IAAM,CAACW,IAAgBU,IAAa9E,GAAU+E,IAAiBJ,IAAqBC,IAAehI,GAAciI,IAAcrB,GAAME,IAASC,GAAcF,CAAM,CAAC;AACnK;AACA,SAASiB,GAAMM,GAAO;AACpB,SAAOA,KAAS,QAAQ,aAAaA;AACvC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index316.js","sources":["../../../node_modules/@base-ui/react/esm/internals/shadowDom.js"],"sourcesContent":["import { isShadowRoot } from '@floating-ui/utils/dom';\nexport function activeElement(doc) {\n let element = doc.activeElement;\n while (element?.shadowRoot?.activeElement != null) {\n element = element.shadowRoot.activeElement;\n }\n return element;\n}\nexport function contains(parent, child) {\n if (!parent || !child) {\n return false;\n }\n const rootNode = child.getRootNode?.();\n\n // First, attempt with the faster native method.\n if (parent.contains(child)) {\n return true;\n }\n\n // Then fall back to traversing out of shadow roots when needed.\n if (rootNode && isShadowRoot(rootNode)) {\n let next = child;\n while (next) {\n if (parent === next) {\n return true;\n }\n next = next.parentNode || next.host;\n }\n }\n return false;\n}\nexport function getTarget(event) {\n if ('composedPath' in event) {\n return event.composedPath()[0];\n }\n\n // TS assumes `composedPath()` always exists, but older browsers without\n // shadow DOM support still fall back to `target`.\n return event.target;\n}"],"names":["activeElement","doc","element","contains","parent","child","rootNode","isShadowRoot","next","getTarget","event"],"mappings":";AACO,SAASA,EAAcC,GAAK;AACjC,MAAIC,IAAUD,EAAI;AAClB,SAAOC,GAAS,YAAY,iBAAiB;AAC3C,IAAAA,IAAUA,EAAQ,WAAW;AAE/B,SAAOA;AACT;AACO,SAASC,EAASC,GAAQC,GAAO;AACtC,MAAI,CAACD,KAAU,CAACC;AACd,WAAO;AAET,QAAMC,IAAWD,EAAM,cAAW;AAGlC,MAAID,EAAO,SAASC,CAAK;AACvB,WAAO;AAIT,MAAIC,KAAYC,EAAaD,CAAQ,GAAG;AACtC,QAAIE,IAAOH;AACX,WAAOG,KAAM;AACX,UAAIJ,MAAWI;AACb,eAAO;AAET,MAAAA,IAAOA,EAAK,cAAcA,EAAK;AAAA,IACjC;AAAA,EACF;AACA,SAAO;AACT;AACO,SAASC,EAAUC,GAAO;AAC/B,SAAI,kBAAkBA,IACbA,EAAM,aAAY,EAAG,CAAC,IAKxBA,EAAM;AACf;","x_google_ignoreList":[0]}
package/dist/index317.js CHANGED
@@ -1,15 +1,7 @@
1
- import n from "./index191.js";
2
- import * as t from "react";
3
- const o = /* @__PURE__ */ t.createContext(void 0);
4
- process.env.NODE_ENV !== "production" && (o.displayName = "SelectPositionerContext");
5
- function i() {
6
- const e = t.useContext(o);
7
- if (!e)
8
- throw new Error(process.env.NODE_ENV !== "production" ? "Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>." : n(59));
9
- return e;
10
- }
1
+ import * as e from "react";
2
+ const t = /* @__PURE__ */ e.createContext(void 0);
3
+ process.env.NODE_ENV !== "production" && (t.displayName = "SelectPortalContext");
11
4
  export {
12
- o as SelectPositionerContext,
13
- i as useSelectPositionerContext
5
+ t as SelectPortalContext
14
6
  };
15
7
  //# sourceMappingURL=index317.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index317.js","sources":["../../../node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectPositionerContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectPositionerContext.displayName = \"SelectPositionerContext\";\nexport function useSelectPositionerContext() {\n const context = React.useContext(SelectPositionerContext);\n if (!context) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>.' : _formatErrorMessage(59));\n }\n return context;\n}"],"names":["SelectPositionerContext","React","useSelectPositionerContext","context","_formatErrorMessage"],"mappings":";;AAIY,MAACA,IAAuC,gBAAAC,EAAM,cAAc,MAAS;AAC7E,QAAQ,IAAI,aAAa,iBAAcD,EAAwB,cAAc;AAC1E,SAASE,IAA6B;AAC3C,QAAMC,IAAUF,EAAM,WAAWD,CAAuB;AACxD,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,mHAAmHC,EAAoB,EAAE,CAAC;AAEpM,SAAOD;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index317.js","sources":["../../../node_modules/@base-ui/react/esm/select/portal/SelectPortalContext.js"],"sourcesContent":["'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectPortalContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectPortalContext.displayName = \"SelectPortalContext\";\nexport function useSelectPortalContext() {\n const value = React.useContext(SelectPortalContext);\n if (value === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: <Select.Portal> is missing.' : _formatErrorMessage(58));\n }\n return value;\n}"],"names":["SelectPortalContext","React"],"mappings":";AAIY,MAACA,IAAmC,gBAAAC,EAAM,cAAc,MAAS;AACzE,QAAQ,IAAI,aAAa,iBAAcD,EAAoB,cAAc;","x_google_ignoreList":[0]}
package/dist/index318.js CHANGED
@@ -1,14 +1,82 @@
1
- function e(o, t) {
2
- o && Object.assign(o.style, t);
3
- }
4
- const i = {
5
- position: "relative",
6
- maxHeight: "100%",
7
- overflowX: "hidden",
8
- overflowY: "auto"
9
- };
1
+ import * as a from "react";
2
+ import { useRefWithInit as T } from "./index283.js";
3
+ import { useStableCallback as l } from "./index287.js";
4
+ import { useIsoLayoutEffect as f } from "./index286.js";
5
+ import { CompositeListContext as b } from "./index367.js";
6
+ import { j as D } from "./index30.js";
7
+ function k(h) {
8
+ const {
9
+ children: N,
10
+ elementsRef: t,
11
+ labelsRef: o,
12
+ onMapChange: R
13
+ } = h, E = l(R), O = a.useRef(0), d = T(P).current, i = T(L).current, [p, M] = a.useState(0), c = a.useRef(p), C = l((e, u) => {
14
+ i.set(e, u ?? null), c.current += 1, M(c.current);
15
+ }), I = l((e) => {
16
+ i.delete(e), c.current += 1, M(c.current);
17
+ }), r = a.useMemo(() => {
18
+ const e = /* @__PURE__ */ new Map();
19
+ return Array.from(i.keys()).filter((n) => n.isConnected).sort(S).forEach((n, m) => {
20
+ const s = i.get(n) ?? {};
21
+ e.set(n, {
22
+ ...s,
23
+ index: m
24
+ });
25
+ }), e;
26
+ }, [i, p]);
27
+ f(() => {
28
+ if (typeof MutationObserver != "function" || r.size === 0)
29
+ return;
30
+ const e = new MutationObserver((u) => {
31
+ const n = /* @__PURE__ */ new Set(), m = (s) => n.has(s) ? n.delete(s) : n.add(s);
32
+ u.forEach((s) => {
33
+ s.removedNodes.forEach(m), s.addedNodes.forEach(m);
34
+ }), n.size === 0 && (c.current += 1, M(c.current));
35
+ });
36
+ return r.forEach((u, n) => {
37
+ n.parentElement && e.observe(n.parentElement, {
38
+ childList: !0
39
+ });
40
+ }), () => {
41
+ e.disconnect();
42
+ };
43
+ }, [r]), f(() => {
44
+ c.current === p && (t.current.length !== r.size && (t.current.length = r.size), o && o.current.length !== r.size && (o.current.length = r.size), O.current = r.size), E(r);
45
+ }, [E, r, t, o, p]), f(() => () => {
46
+ t.current = [];
47
+ }, [t]), f(() => () => {
48
+ o && (o.current = []);
49
+ }, [o]);
50
+ const g = l((e) => (d.add(e), () => {
51
+ d.delete(e);
52
+ }));
53
+ f(() => {
54
+ d.forEach((e) => e(r));
55
+ }, [d, r]);
56
+ const _ = a.useMemo(() => ({
57
+ register: C,
58
+ unregister: I,
59
+ subscribeMapChange: g,
60
+ elementsRef: t,
61
+ labelsRef: o,
62
+ nextIndexRef: O
63
+ }), [C, I, g, t, o, O]);
64
+ return /* @__PURE__ */ D.jsx(b.Provider, {
65
+ value: _,
66
+ children: N
67
+ });
68
+ }
69
+ function L() {
70
+ return /* @__PURE__ */ new Map();
71
+ }
72
+ function P() {
73
+ return /* @__PURE__ */ new Set();
74
+ }
75
+ function S(h, N) {
76
+ const t = h.compareDocumentPosition(N);
77
+ return t & Node.DOCUMENT_POSITION_FOLLOWING || t & Node.DOCUMENT_POSITION_CONTAINED_BY ? -1 : t & Node.DOCUMENT_POSITION_PRECEDING || t & Node.DOCUMENT_POSITION_CONTAINS ? 1 : 0;
78
+ }
10
79
  export {
11
- i as LIST_FUNCTIONAL_STYLES,
12
- e as clearStyles
80
+ k as CompositeList
13
81
  };
14
82
  //# sourceMappingURL=index318.js.map