likec4 1.59.4 → 1.61.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 (186) hide show
  1. package/README.md +2 -0
  2. package/__app__/codegen/react.mjs +4 -10
  3. package/__app__/codegen/webcomponent.mjs +6 -131
  4. package/__app__/index.html +15 -15
  5. package/__app__/src/aichat/index.mjs +11 -7
  6. package/__app__/src/chunks/AIChat.mjs +1355 -739
  7. package/__app__/src/chunks/ErrorComponent.mjs +444 -0
  8. package/__app__/src/chunks/Header.mjs +269 -0
  9. package/__app__/src/chunks/ViewReact.mjs +438 -0
  10. package/__app__/src/chunks/find.mjs +38 -0
  11. package/__app__/src/chunks/hooks.mjs +158 -472
  12. package/__app__/src/chunks/libs/@tabler/icons-react.mjs +340 -0
  13. package/__app__/src/chunks/libs/@tanstack-ai.mjs +11841 -1417
  14. package/__app__/src/chunks/libs/@tanstack.mjs +5110 -2404
  15. package/__app__/src/chunks/libs/fast-equals.mjs +507 -214
  16. package/__app__/src/chunks/libs/html-to-image.mjs +613 -0
  17. package/__app__/src/chunks/libs/nanostores.mjs +170 -0
  18. package/__app__/src/chunks/libs/react-resizable-panels.mjs +2792 -0
  19. package/__app__/src/chunks/react.mjs +22 -0
  20. package/__app__/src/chunks/rolldown-runtime.mjs +16 -29
  21. package/__app__/src/chunks/router.mjs +106 -0
  22. package/__app__/src/chunks/scope.mjs +106 -0
  23. package/__app__/src/chunks/searchParams.mjs +29 -0
  24. package/__app__/src/chunks/single-index.mjs +465 -0
  25. package/__app__/src/chunks/styled-system.mjs +1826 -2528
  26. package/__app__/src/chunks/useAsync.mjs +69 -0
  27. package/__app__/src/chunks/useSyncedRef.mjs +16 -0
  28. package/__app__/src/components/ColorSchemeToggle.mjs +124 -0
  29. package/__app__/src/components/CopyToClipboard.mjs +53 -0
  30. package/__app__/src/components/ErrorComponent.mjs +1 -0
  31. package/__app__/src/components/NavigationPanel.mjs +63 -0
  32. package/__app__/src/components/NotFound.mjs +155 -0
  33. package/__app__/src/components/ViewOutlet.mjs +9 -0
  34. package/__app__/src/components/model-diff/CompareModelProvider.mjs +44 -0
  35. package/__app__/src/components/model-diff/ModelDiffPanel.mjs +179 -0
  36. package/__app__/src/components/model-diff/compare-model.mjs +76 -0
  37. package/__app__/src/components/model-diff/state.mjs +45 -0
  38. package/__app__/src/components/search/OverviewSearch.mjs +92 -0
  39. package/__app__/src/components/search/OverviewSearchAdapter.mjs +94 -0
  40. package/__app__/src/components/sidebar/DiagramTree.css.mjs +48 -0
  41. package/__app__/src/components/sidebar/DiagramsTree.mjs +304 -0
  42. package/__app__/src/components/sidebar/Drawer.mjs +178 -0
  43. package/__app__/src/components/sidebar/SidebarBurger.mjs +28 -0
  44. package/__app__/src/components/sidebar/data.mjs +94 -0
  45. package/__app__/src/components/sidebar/state.mjs +16 -0
  46. package/__app__/src/components/view-page/Header.mjs +1 -0
  47. package/__app__/src/components/view-page/SelectProject.mjs +258 -0
  48. package/__app__/src/components/view-page/ShareModal.mjs +111 -0
  49. package/__app__/src/components/view-page/share-modal/AlertLocalhost.mjs +31 -0
  50. package/__app__/src/components/view-page/share-modal/CopyButtonChild.mjs +36 -0
  51. package/__app__/src/components/view-page/share-modal/EmbedPanel.mjs +100 -0
  52. package/__app__/src/components/view-page/share-modal/WebcomponentsPanel.mjs +264 -0
  53. package/__app__/src/components/view-page/state.mjs +17 -0
  54. package/__app__/src/context/LikeC4CustomizationContext.mjs +26 -0
  55. package/__app__/src/context/LikeC4IconRendererContext.mjs +29 -0
  56. package/__app__/src/context/LikeC4ModelContext.mjs +34 -0
  57. package/__app__/src/context/LikeC4ProjectsContext.mjs +40 -0
  58. package/__app__/src/context/ModelDiffsContext.mjs +33 -0
  59. package/__app__/src/context/safeCtx.mjs +14 -0
  60. package/__app__/src/fonts.css +112 -1
  61. package/__app__/src/hooks.mjs +1 -0
  62. package/__app__/src/main.mjs +6 -29151
  63. package/__app__/src/pages/EmbedPage.mjs +93 -0
  64. package/__app__/src/pages/ExportPage.mjs +691 -0
  65. package/__app__/src/pages/ProjectsOverview.mjs +23 -0
  66. package/__app__/src/pages/ViewAsD2.mjs +105 -0
  67. package/__app__/src/pages/ViewAsDot.mjs +65 -0
  68. package/__app__/src/pages/ViewAsMmd.mjs +109 -0
  69. package/__app__/src/pages/ViewAsPuml.mjs +105 -0
  70. package/__app__/src/pages/ViewEditor.mjs +220 -0
  71. package/__app__/src/pages/ViewReact.mjs +1 -0
  72. package/__app__/src/pages/export-layout.mjs +95 -0
  73. package/__app__/src/pages/export-page-params.mjs +9 -0
  74. package/__app__/src/pages/styles.css.mjs +23 -0
  75. package/__app__/src/routeTree.gen.mjs +105 -0
  76. package/__app__/src/router.mjs +1 -0
  77. package/__app__/src/routes/__root.mjs +65 -0
  78. package/__app__/src/routes/index.css.mjs +29 -0
  79. package/__app__/src/routes/index.mjs +32 -0
  80. package/__app__/src/routes/project._projectId/-components.mjs +100 -0
  81. package/__app__/src/routes/project._projectId/embed._viewId.mjs +5 -0
  82. package/__app__/src/routes/project._projectId/export._viewId.mjs +24 -0
  83. package/__app__/src/routes/project._projectId/index.mjs +14 -0
  84. package/__app__/src/routes/project._projectId/route.mjs +93 -0
  85. package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +34 -0
  86. package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +41 -0
  87. package/__app__/src/routes/project._projectId/view._viewId.index.mjs +7 -0
  88. package/__app__/src/routes/project._projectId/view._viewId.mjs +23 -0
  89. package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +39 -0
  90. package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +34 -0
  91. package/__app__/src/routes/projects.mjs +36 -0
  92. package/__app__/src/routes/single-index.mjs +1 -0
  93. package/__app__/src/routes/webcomponent._.mjs +94 -0
  94. package/__app__/src/style.css +18497 -1
  95. package/config/schema.json +146 -97
  96. package/dist/app/render-view-client.css +1 -1
  97. package/dist/app/render-view-client.js +394 -238
  98. package/dist/chunks/enableServer.mjs +1 -1
  99. package/dist/chunks/filenames.mjs +25 -17
  100. package/dist/chunks/generate-likec4.mjs +5 -0
  101. package/dist/chunks/index.d.mts +255 -194
  102. package/dist/chunks/index2.d.mts +8246 -3610
  103. package/dist/chunks/libs/@chenglou/pretext.mjs +9 -0
  104. package/dist/chunks/libs/@chevrotain/gast.mjs +27 -1
  105. package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +81 -9
  106. package/dist/chunks/libs/@logtape/logtape.mjs +5 -4
  107. package/dist/chunks/libs/@lume/kiwi.mjs +1 -1
  108. package/dist/chunks/libs/@ts-graphviz/common.d.mts +2 -4
  109. package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -1
  110. package/dist/chunks/libs/birpc.mjs +1 -1
  111. package/dist/chunks/libs/chevrotain-allstar.mjs +2 -2
  112. package/dist/chunks/libs/chevrotain.mjs +88 -36
  113. package/dist/chunks/libs/clone.mjs +1 -0
  114. package/dist/chunks/libs/eventemitter3.mjs +1 -1
  115. package/dist/chunks/libs/fast-equals.mjs +1 -0
  116. package/dist/chunks/libs/fontkit.mjs +1 -0
  117. package/dist/chunks/libs/json5.mjs +4 -4
  118. package/dist/chunks/libs/langium.d.mts +6707 -6715
  119. package/dist/chunks/libs/langium.mjs +16 -24
  120. package/dist/chunks/libs/merge-error-cause.mjs +1 -1
  121. package/dist/chunks/libs/p-limit.mjs +1 -0
  122. package/dist/chunks/libs/p-queue.mjs +1 -1
  123. package/dist/chunks/libs/package-manager-detector.mjs +1 -1
  124. package/dist/chunks/libs/pako.mjs +1 -1
  125. package/dist/chunks/libs/pathe.mjs +1 -1
  126. package/dist/chunks/libs/pretty-ms.mjs +1 -1
  127. package/dist/chunks/libs/remeda.mjs +1 -1
  128. package/dist/chunks/libs/ufo.mjs +1 -1
  129. package/dist/chunks/libs/unstorage.mjs +1 -1
  130. package/dist/chunks/libs/which.mjs +1 -1
  131. package/dist/chunks/node.mjs +111 -77
  132. package/dist/chunks/rolldown-runtime.mjs +1 -1
  133. package/dist/chunks/sequence-view.mjs +1 -1
  134. package/dist/chunks/vite-plugin.mjs +185 -166
  135. package/dist/cli/index.mjs +254 -1306
  136. package/dist/config/index.d.mts +66 -5
  137. package/dist/config/index.mjs +1 -1
  138. package/dist/generators/likec4.d.mts +6530 -0
  139. package/dist/generators/likec4.mjs +1 -0
  140. package/dist/index.d.mts +2 -4
  141. package/dist/model/index.d.mts +0 -7
  142. package/dist/vite-plugin/index.d.mts +83 -58
  143. package/dist/vite-plugin/index.mjs +1 -1
  144. package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +8 -0
  145. package/dist/vite-plugin/internal/index.d.mts +92 -17
  146. package/dist/vite-plugin/internal/index.mjs +225 -126
  147. package/generators/likec4/package.json +4 -0
  148. package/package.json +134 -122
  149. package/react/index.d.mts +7496 -26659
  150. package/react/index.mjs +533 -63936
  151. package/react/rolldown-runtime-CfRud99p.js +1 -0
  152. package/skills/likec4-dsl/SKILL.md +474 -0
  153. package/skills/likec4-dsl/evals/evals-public.json +207 -0
  154. package/skills/likec4-dsl/evals/grading-spec.json +603 -0
  155. package/skills/likec4-dsl/references/bridge-leanix-drawio.md +42 -0
  156. package/skills/likec4-dsl/references/cli.md +168 -0
  157. package/skills/likec4-dsl/references/configuration.md +266 -0
  158. package/skills/likec4-dsl/references/deployment.md +160 -0
  159. package/skills/likec4-dsl/references/diffs.md +52 -0
  160. package/skills/likec4-dsl/references/dynamic-views.md +455 -0
  161. package/skills/likec4-dsl/references/examples.md +370 -0
  162. package/skills/likec4-dsl/references/identifier-validity.md +90 -0
  163. package/skills/likec4-dsl/references/include-predicates-wildcards.md +180 -0
  164. package/skills/likec4-dsl/references/model.md +182 -0
  165. package/skills/likec4-dsl/references/predicates.md +123 -0
  166. package/skills/likec4-dsl/references/relationships-bidirectional.md +176 -0
  167. package/skills/likec4-dsl/references/specification.md +79 -0
  168. package/skills/likec4-dsl/references/style-tokens-colors.md +150 -0
  169. package/skills/likec4-dsl/references/troubleshooting.md +101 -0
  170. package/skills/likec4-dsl/references/views.md +329 -0
  171. package/vite-plugin-modules.d.ts +126 -51
  172. package/__app__/src/chunks/LikeC4Styles.mjs +0 -2306
  173. package/__app__/src/chunks/ProjectsOverview.mjs +0 -537
  174. package/__app__/src/chunks/es.mjs +0 -439
  175. package/__app__/src/chunks/libs/@floating-ui.mjs +0 -2532
  176. package/__app__/src/chunks/libs/@mantine.mjs +0 -13868
  177. package/__app__/src/chunks/libs/@xstate/react.mjs +0 -2015
  178. package/__app__/src/chunks/libs/@xyflow/react.mjs +0 -5367
  179. package/__app__/src/chunks/libs/bezier-js.mjs +0 -1007
  180. package/__app__/src/chunks/libs/d3.mjs +0 -2817
  181. package/__app__/src/chunks/libs/framer.mjs +0 -5926
  182. package/__app__/src/chunks/libs/zod.mjs +0 -3176
  183. package/dist/chunks/libs/@chevrotain/types.d.mts +0 -108
  184. package/dist/chunks/libs/picomatch.mjs +0 -1
  185. package/dist/chunks/libs/zod.d.mts +0 -3840
  186. package/dist/chunks/libs/zod.mjs +0 -65
@@ -1,2532 +0,0 @@
1
- import { i as e } from "../rolldown-runtime.mjs";
2
- import * as t from "react";
3
- import { useLayoutEffect as n } from "react";
4
- import { jsx as r } from "react/jsx-runtime";
5
- import * as i from "react-dom";
6
- //#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
7
- function hasWindow() {
8
- return typeof window < "u";
9
- }
10
- function getNodeName(e) {
11
- return isNode(e) ? (e.nodeName || "").toLowerCase() : "#document";
12
- }
13
- function getWindow(e) {
14
- var t;
15
- return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
16
- }
17
- function getDocumentElement(e) {
18
- return ((isNode(e) ? e.ownerDocument : e.document) || window.document)?.documentElement;
19
- }
20
- function isNode(e) {
21
- return hasWindow() ? e instanceof Node || e instanceof getWindow(e).Node : !1;
22
- }
23
- function isElement(e) {
24
- return hasWindow() ? e instanceof Element || e instanceof getWindow(e).Element : !1;
25
- }
26
- function isHTMLElement(e) {
27
- return hasWindow() ? e instanceof HTMLElement || e instanceof getWindow(e).HTMLElement : !1;
28
- }
29
- function isShadowRoot(e) {
30
- return !hasWindow() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof getWindow(e).ShadowRoot;
31
- }
32
- function isOverflowElement(e) {
33
- let { overflow: t, overflowX: n, overflowY: r, display: i } = getComputedStyle$1(e);
34
- return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && i !== "inline" && i !== "contents";
35
- }
36
- function isTableElement(e) {
37
- return /^(table|td|th)$/.test(getNodeName(e));
38
- }
39
- function isTopLayer(e) {
40
- try {
41
- if (e.matches(":popover-open")) return !0;
42
- } catch {}
43
- try {
44
- return e.matches(":modal");
45
- } catch {
46
- return !1;
47
- }
48
- }
49
- var a = /transform|translate|scale|rotate|perspective|filter/, o = /paint|layout|strict|content/, isNotNone = (e) => !!e && e !== "none", s;
50
- function isContainingBlock(e) {
51
- let t = isElement(e) ? getComputedStyle$1(e) : e;
52
- return isNotNone(t.transform) || isNotNone(t.translate) || isNotNone(t.scale) || isNotNone(t.rotate) || isNotNone(t.perspective) || !isWebKit() && (isNotNone(t.backdropFilter) || isNotNone(t.filter)) || a.test(t.willChange || "") || o.test(t.contain || "");
53
- }
54
- function getContainingBlock(e) {
55
- let t = getParentNode(e);
56
- for (; isHTMLElement(t) && !isLastTraversableNode(t);) {
57
- if (isContainingBlock(t)) return t;
58
- if (isTopLayer(t)) return null;
59
- t = getParentNode(t);
60
- }
61
- return null;
62
- }
63
- function isWebKit() {
64
- return s ??= typeof CSS < "u" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none"), s;
65
- }
66
- function isLastTraversableNode(e) {
67
- return /^(html|body|#document)$/.test(getNodeName(e));
68
- }
69
- function getComputedStyle$1(e) {
70
- return getWindow(e).getComputedStyle(e);
71
- }
72
- e(getComputedStyle$1, "getComputedStyle");
73
- function getNodeScroll(e) {
74
- return isElement(e) ? {
75
- scrollLeft: e.scrollLeft,
76
- scrollTop: e.scrollTop
77
- } : {
78
- scrollLeft: e.scrollX,
79
- scrollTop: e.scrollY
80
- };
81
- }
82
- function getParentNode(e) {
83
- if (getNodeName(e) === "html") return e;
84
- let t = e.assignedSlot || e.parentNode || isShadowRoot(e) && e.host || getDocumentElement(e);
85
- return isShadowRoot(t) ? t.host : t;
86
- }
87
- function getNearestOverflowAncestor(e) {
88
- let t = getParentNode(e);
89
- return isLastTraversableNode(t) ? (e.ownerDocument || e).body : isHTMLElement(t) && isOverflowElement(t) ? t : getNearestOverflowAncestor(t);
90
- }
91
- function getOverflowAncestors(e, t, n) {
92
- t === void 0 && (t = []), n === void 0 && (n = !0);
93
- let r = getNearestOverflowAncestor(e), i = r === e.ownerDocument?.body, a = getWindow(r);
94
- if (i) {
95
- let e = getFrameElement(a);
96
- return t.concat(a, a.visualViewport || [], isOverflowElement(r) ? r : [], e && n ? getOverflowAncestors(e) : []);
97
- }
98
- return t.concat(r, getOverflowAncestors(r, [], n));
99
- }
100
- function getFrameElement(e) {
101
- return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
102
- }
103
- //#endregion
104
- //#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
105
- var c = [
106
- "top",
107
- "right",
108
- "bottom",
109
- "left"
110
- ], l = ["start", "end"], u = /*#__PURE__*/ c.reduce((e, t) => e.concat(t, t + "-" + l[0], t + "-" + l[1]), []), d = Math.min, f = Math.max, p = Math.round, m = Math.floor, createCoords = (e) => ({
111
- x: e,
112
- y: e
113
- }), h = {
114
- left: "right",
115
- right: "left",
116
- bottom: "top",
117
- top: "bottom"
118
- };
119
- function clamp(e, t, n) {
120
- return f(e, d(t, n));
121
- }
122
- function evaluate(e, t) {
123
- return typeof e == "function" ? e(t) : e;
124
- }
125
- function getSide(e) {
126
- return e.split("-")[0];
127
- }
128
- function getAlignment(e) {
129
- return e.split("-")[1];
130
- }
131
- function getOppositeAxis(e) {
132
- return e === "x" ? "y" : "x";
133
- }
134
- function getAxisLength(e) {
135
- return e === "y" ? "height" : "width";
136
- }
137
- function getSideAxis(e) {
138
- let t = e[0];
139
- return t === "t" || t === "b" ? "y" : "x";
140
- }
141
- function getAlignmentAxis(e) {
142
- return getOppositeAxis(getSideAxis(e));
143
- }
144
- function getAlignmentSides(e, t, n) {
145
- n === void 0 && (n = !1);
146
- let r = getAlignment(e), i = getAlignmentAxis(e), a = getAxisLength(i), o = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
147
- return t.reference[a] > t.floating[a] && (o = getOppositePlacement(o)), [o, getOppositePlacement(o)];
148
- }
149
- function getExpandedPlacements(e) {
150
- let t = getOppositePlacement(e);
151
- return [
152
- getOppositeAlignmentPlacement(e),
153
- t,
154
- getOppositeAlignmentPlacement(t)
155
- ];
156
- }
157
- function getOppositeAlignmentPlacement(e) {
158
- return e.includes("start") ? e.replace("start", "end") : e.replace("end", "start");
159
- }
160
- var g = ["left", "right"], _ = ["right", "left"], v = ["top", "bottom"], y = ["bottom", "top"];
161
- function getSideList(e, t, n) {
162
- switch (e) {
163
- case "top":
164
- case "bottom": return n ? t ? _ : g : t ? g : _;
165
- case "left":
166
- case "right": return t ? v : y;
167
- default: return [];
168
- }
169
- }
170
- function getOppositeAxisPlacements(e, t, n, r) {
171
- let i = getAlignment(e), a = getSideList(getSide(e), n === "start", r);
172
- return i && (a = a.map((e) => e + "-" + i), t && (a = a.concat(a.map(getOppositeAlignmentPlacement)))), a;
173
- }
174
- function getOppositePlacement(e) {
175
- let t = getSide(e);
176
- return h[t] + e.slice(t.length);
177
- }
178
- function expandPaddingObject(e) {
179
- return {
180
- top: e.top ?? 0,
181
- right: e.right ?? 0,
182
- bottom: e.bottom ?? 0,
183
- left: e.left ?? 0
184
- };
185
- }
186
- function getPaddingObject(e) {
187
- return typeof e == "number" ? {
188
- top: e,
189
- right: e,
190
- bottom: e,
191
- left: e
192
- } : expandPaddingObject(e);
193
- }
194
- function rectToClientRect(e) {
195
- let { x: t, y: n, width: r, height: i } = e;
196
- return {
197
- width: r,
198
- height: i,
199
- top: n,
200
- left: t,
201
- right: t + r,
202
- bottom: n + i,
203
- x: t,
204
- y: n
205
- };
206
- }
207
- //#endregion
208
- //#region ../../node_modules/.pnpm/@floating-ui+react@0.27.20_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs
209
- function getPlatform() {
210
- let e = navigator.userAgentData;
211
- return e != null && e.platform ? e.platform : navigator.platform;
212
- }
213
- function getUserAgent() {
214
- let e = navigator.userAgentData;
215
- return e && Array.isArray(e.brands) ? e.brands.map((e) => {
216
- let { brand: t, version: n } = e;
217
- return t + "/" + n;
218
- }).join(" ") : navigator.userAgent;
219
- }
220
- function isSafari() {
221
- return /apple/i.test(navigator.vendor);
222
- }
223
- function isMac() {
224
- return getPlatform().toLowerCase().startsWith("mac") && !navigator.maxTouchPoints;
225
- }
226
- function isJSDOM() {
227
- return getUserAgent().includes("jsdom/");
228
- }
229
- var b = "data-floating-ui-focusable", x = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
230
- function activeElement(e) {
231
- let t = e.activeElement;
232
- for (; ((n = t) == null || (n = n.shadowRoot) == null ? void 0 : n.activeElement) != null;) {
233
- var n;
234
- t = t.shadowRoot.activeElement;
235
- }
236
- return t;
237
- }
238
- function contains$1(e, t) {
239
- if (!e || !t) return !1;
240
- let n = t.getRootNode == null ? void 0 : t.getRootNode();
241
- if (e.contains(t)) return !0;
242
- if (n && isShadowRoot(n)) {
243
- let n = t;
244
- for (; n;) {
245
- if (e === n) return !0;
246
- n = n.parentNode || n.host;
247
- }
248
- }
249
- return !1;
250
- }
251
- e(contains$1, "contains");
252
- function getTarget$1(e) {
253
- return "composedPath" in e ? e.composedPath()[0] : e.target;
254
- }
255
- e(getTarget$1, "getTarget");
256
- function isEventTargetWithin(e, t) {
257
- if (t == null) return !1;
258
- if ("composedPath" in e) return e.composedPath().includes(t);
259
- let n = e;
260
- return n.target != null && t.contains(n.target);
261
- }
262
- function isRootElement(e) {
263
- return e.matches("html,body");
264
- }
265
- function getDocument(e) {
266
- return e?.ownerDocument || document;
267
- }
268
- function isTypeableElement(e) {
269
- return isHTMLElement(e) && e.matches(x);
270
- }
271
- function matchesFocusVisible(e) {
272
- if (!e || isJSDOM()) return !0;
273
- try {
274
- return e.matches(":focus-visible");
275
- } catch {
276
- return !0;
277
- }
278
- }
279
- function getFloatingFocusElement(e) {
280
- return e ? e.hasAttribute(b) ? e : e.querySelector("[" + b + "]") || e : null;
281
- }
282
- function getNodeChildren$1(e, t, n) {
283
- return n === void 0 && (n = !0), e.filter((e) => e.parentId === t && (!n || e.context?.open)).flatMap((t) => [t, ...getNodeChildren$1(e, t.id, n)]);
284
- }
285
- e(getNodeChildren$1, "getNodeChildren");
286
- function isReactEvent(e) {
287
- return "nativeEvent" in e;
288
- }
289
- function isMouseLikePointerType(e, t) {
290
- let n = ["mouse", "pen"];
291
- return t || n.push("", void 0), n.includes(e);
292
- }
293
- var S = typeof document < "u" ? n : function noop() {}, C = { ...t };
294
- function useLatestRef$1(e) {
295
- let n = t.useRef(e);
296
- return S(() => {
297
- n.current = e;
298
- }), n;
299
- }
300
- e(useLatestRef$1, "useLatestRef");
301
- var w = C.useInsertionEffect || ((e) => e());
302
- function useEffectEvent$1(e) {
303
- let n = t.useRef(() => {});
304
- return w(() => {
305
- n.current = e;
306
- }), t.useCallback(function() {
307
- var e = [...arguments];
308
- return n.current == null ? void 0 : n.current(...e);
309
- }, []);
310
- }
311
- e(useEffectEvent$1, "useEffectEvent");
312
- //#endregion
313
- //#region ../../node_modules/.pnpm/@floating-ui+core@1.8.0/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
314
- function computeCoordsFromPlacement(e, t, n) {
315
- let { reference: r, floating: i } = e, a = getSideAxis(t), o = getAlignmentAxis(t), s = getAxisLength(o), c = getSide(t), l = a === "y", u = r.x + r.width / 2 - i.width / 2, d = r.y + r.height / 2 - i.height / 2, f = r[s] / 2 - i[s] / 2, p;
316
- switch (c) {
317
- case "top":
318
- p = {
319
- x: u,
320
- y: r.y - i.height
321
- };
322
- break;
323
- case "bottom":
324
- p = {
325
- x: u,
326
- y: r.y + r.height
327
- };
328
- break;
329
- case "right":
330
- p = {
331
- x: r.x + r.width,
332
- y: d
333
- };
334
- break;
335
- case "left":
336
- p = {
337
- x: r.x - i.width,
338
- y: d
339
- };
340
- break;
341
- default: p = {
342
- x: r.x,
343
- y: r.y
344
- };
345
- }
346
- let m = getAlignment(t);
347
- return m && (p[o] += f * (m === "end" ? 1 : -1) * (n && l ? -1 : 1)), p;
348
- }
349
- async function detectOverflow(e, t) {
350
- t === void 0 && (t = {});
351
- let { x: n, y: r, platform: i, rects: a, elements: o, strategy: s } = e, { boundary: c = "clippingAncestors", rootBoundary: l = "viewport", elementContext: u = "floating", altBoundary: d = !1, padding: f = 0 } = evaluate(t, e), p = getPaddingObject(f), m = o[d ? u === "floating" ? "reference" : "floating" : u], h = rectToClientRect(await i.getClippingRect({
352
- element: await (i.isElement == null ? void 0 : i.isElement(m)) ?? !0 ? m : m.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(o.floating)),
353
- boundary: c,
354
- rootBoundary: l,
355
- strategy: s
356
- })), g = u === "floating" ? {
357
- x: n,
358
- y: r,
359
- width: a.floating.width,
360
- height: a.floating.height
361
- } : a.reference, _ = await (i.getOffsetParent == null ? void 0 : i.getOffsetParent(o.floating)), v = await (i.isElement == null ? void 0 : i.isElement(_)) && await (i.getScale == null ? void 0 : i.getScale(_)) || {
362
- x: 1,
363
- y: 1
364
- }, y = rectToClientRect(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
365
- elements: o,
366
- rect: g,
367
- offsetParent: _,
368
- strategy: s
369
- }) : g);
370
- return {
371
- top: (h.top - y.top + p.top) / v.y,
372
- bottom: (y.bottom - h.bottom + p.bottom) / v.y,
373
- left: (h.left - y.left + p.left) / v.x,
374
- right: (y.right - h.right + p.right) / v.x
375
- };
376
- }
377
- var T = 50, E = /* @__PURE__ */ e(async (e, t, n) => {
378
- let { placement: r = "bottom", strategy: i = "absolute", middleware: a = [], platform: o } = n, s = o.detectOverflow ? o : {
379
- ...o,
380
- detectOverflow
381
- }, c = await (o.isRTL == null ? void 0 : o.isRTL(t)), l = await o.getElementRects({
382
- reference: e,
383
- floating: t,
384
- strategy: i
385
- }), { x: u, y: d } = computeCoordsFromPlacement(l, r, c), f = r, p = 0, m = {};
386
- for (let n = 0; n < a.length; n++) {
387
- let h = a[n];
388
- if (!h) continue;
389
- let { name: g, fn: _ } = h, { x: v, y, data: b, reset: x } = await _({
390
- x: u,
391
- y: d,
392
- initialPlacement: r,
393
- placement: f,
394
- strategy: i,
395
- middlewareData: m,
396
- rects: l,
397
- platform: s,
398
- elements: {
399
- reference: e,
400
- floating: t
401
- }
402
- });
403
- u = v ?? u, d = y ?? d, m[g] = {
404
- ...m[g],
405
- ...b
406
- }, x && p < T && (p++, typeof x == "object" && (x.placement && (f = x.placement), x.rects && (l = x.rects === !0 ? await o.getElementRects({
407
- reference: e,
408
- floating: t,
409
- strategy: i
410
- }) : x.rects), {x: u, y: d} = computeCoordsFromPlacement(l, f, c)), n = -1);
411
- }
412
- return {
413
- x: u,
414
- y: d,
415
- placement: f,
416
- strategy: i,
417
- middlewareData: m
418
- };
419
- }, "computePosition"), D = /* @__PURE__ */ e((e) => ({
420
- name: "arrow",
421
- options: e,
422
- async fn(t) {
423
- let { x: n, y: r, placement: i, rects: a, platform: o, elements: s, middlewareData: c } = t, { element: l, padding: u = 0 } = evaluate(e, t) || {};
424
- if (l == null) return {};
425
- let f = getPaddingObject(u), p = {
426
- x: n,
427
- y: r
428
- }, m = getAlignmentAxis(i), h = getAxisLength(m), g = await o.getDimensions(l), _ = m === "y", v = _ ? "top" : "left", y = _ ? "bottom" : "right", b = _ ? "clientHeight" : "clientWidth", x = a.reference[h] + a.reference[m] - p[m] - a.floating[h], S = p[m] - a.reference[m], C = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(l)), w = C ? C[b] : 0;
429
- (!w || !await (o.isElement == null ? void 0 : o.isElement(C))) && (w = s.floating[b] || a.floating[h]);
430
- let T = x / 2 - S / 2, E = w / 2 - g[h] / 2 - 1, D = d(f[v], E), O = d(f[y], E), k = w - g[h] - O, A = w / 2 - g[h] / 2 + T, j = clamp(D, A, k), M = !c.arrow && getAlignment(i) != null && A !== j && a.reference[h] / 2 - (A < D ? D : O) - g[h] / 2 < 0, N = M ? A < D ? A - D : A - k : 0;
431
- return {
432
- [m]: p[m] + N,
433
- data: {
434
- [m]: j,
435
- centerOffset: A - j - N,
436
- ...M && { alignmentOffset: N }
437
- },
438
- reset: M
439
- };
440
- }
441
- }), "arrow");
442
- function getPlacementList(e, t, n) {
443
- return (e ? [...n.filter((t) => getAlignment(t) === e), ...n.filter((t) => getAlignment(t) !== e)] : n.filter((e) => getSide(e) === e)).filter((n) => !e || getAlignment(n) === e || (t ? getOppositeAlignmentPlacement(n) !== n : !1));
444
- }
445
- var O = /* @__PURE__ */ e(function(e) {
446
- return e === void 0 && (e = {}), {
447
- name: "autoPlacement",
448
- options: e,
449
- async fn(t) {
450
- let { rects: n, middlewareData: r, placement: i, platform: a, elements: o } = t, { crossAxis: s = !1, alignment: c, allowedPlacements: l = u, autoAlignment: d = !0, ...f } = evaluate(e, t), p = c !== void 0 || l === u ? getPlacementList(c || null, d, l) : l, m = r.autoPlacement?.index || 0, h = p[m];
451
- if (h == null) return {};
452
- if (i !== h) return { reset: { placement: p[0] } };
453
- let g = await a.detectOverflow(t, f), _ = getAlignmentSides(h, n, await (a.isRTL == null ? void 0 : a.isRTL(o.floating))), v = [
454
- g[getSide(h)],
455
- g[_[0]],
456
- g[_[1]]
457
- ], y = [...r.autoPlacement?.overflows || [], {
458
- placement: h,
459
- overflows: v
460
- }], b = p[m + 1];
461
- if (b) return {
462
- data: {
463
- index: m + 1,
464
- overflows: y
465
- },
466
- reset: { placement: b }
467
- };
468
- let x = y.map((e) => {
469
- let t = getAlignment(e.placement);
470
- return [
471
- e.placement,
472
- t && s ? e.overflows.slice(0, 2).reduce((e, t) => e + t, 0) : e.overflows[0],
473
- e.overflows
474
- ];
475
- }).sort((e, t) => e[1] - t[1]), S = x.filter((e) => e[2].slice(0, getAlignment(e[0]) ? 2 : 3).every((e) => e <= 0))[0]?.[0] || x[0][0];
476
- return S === i ? {} : {
477
- data: {
478
- index: m + 1,
479
- overflows: y
480
- },
481
- reset: { placement: S }
482
- };
483
- }
484
- };
485
- }, "autoPlacement"), k = /* @__PURE__ */ e(function(e) {
486
- return e === void 0 && (e = {}), {
487
- name: "flip",
488
- options: e,
489
- async fn(t) {
490
- var n;
491
- let { placement: r, middlewareData: i, rects: a, initialPlacement: o, platform: s, elements: c } = t, { mainAxis: l = !0, crossAxis: u = !0, fallbackPlacements: d, fallbackStrategy: f = "bestFit", fallbackAxisSideDirection: p = "none", flipAlignment: m = !0, ...h } = evaluate(e, t);
492
- if ((n = i.arrow) != null && n.alignmentOffset) return {};
493
- let g = getSide(r), _ = getSideAxis(o), v = getSide(o) === o, y = await (s.isRTL == null ? void 0 : s.isRTL(c.floating)), b = d || (v || !m ? [getOppositePlacement(o)] : getExpandedPlacements(o)), x = p !== "none";
494
- !d && x && b.push(...getOppositeAxisPlacements(o, m, p, y));
495
- let S = [o, ...b], C = await s.detectOverflow(t, h), w = [], T = i.flip?.overflows || [];
496
- if (l && w.push(C[g]), u) {
497
- let e = getAlignmentSides(r, a, y);
498
- w.push(C[e[0]], C[e[1]]);
499
- }
500
- if (T = [...T, {
501
- placement: r,
502
- overflows: w
503
- }], !w.every((e) => e <= 0)) {
504
- let e = (i.flip?.index || 0) + 1, t = S[e];
505
- if (t && (u !== "alignment" || _ === getSideAxis(t) || T.every((e) => getSideAxis(e.placement) !== _ || e.overflows[0] > 0))) return {
506
- data: {
507
- index: e,
508
- overflows: T
509
- },
510
- reset: { placement: t }
511
- };
512
- let n = T.filter((e) => e.overflows[0] <= 0).sort((e, t) => e.overflows[1] - t.overflows[1])[0]?.placement;
513
- if (!n) switch (f) {
514
- case "bestFit": {
515
- let e = T.filter((e) => {
516
- if (x) {
517
- let t = getSideAxis(e.placement);
518
- return t === _ || t === "y";
519
- }
520
- return !0;
521
- }).map((e) => [e.placement, e.overflows.filter((e) => e > 0).reduce((e, t) => e + t, 0)]).sort((e, t) => e[1] - t[1])[0]?.[0];
522
- e && (n = e);
523
- break;
524
- }
525
- case "initialPlacement": n = o;
526
- }
527
- if (r !== n) return { reset: { placement: n } };
528
- }
529
- return {};
530
- }
531
- };
532
- }, "flip");
533
- function getSideOffsets(e, t) {
534
- return {
535
- top: e.top - t.height,
536
- right: e.right - t.width,
537
- bottom: e.bottom - t.height,
538
- left: e.left - t.width
539
- };
540
- }
541
- function isAnySideFullyClipped(e) {
542
- return c.some((t) => e[t] >= 0);
543
- }
544
- var A = /* @__PURE__ */ e(function(e) {
545
- return e === void 0 && (e = {}), {
546
- name: "hide",
547
- options: e,
548
- async fn(t) {
549
- let { rects: n, platform: r } = t, { strategy: i = "referenceHidden", ...a } = evaluate(e, t);
550
- switch (i) {
551
- case "referenceHidden": {
552
- let e = getSideOffsets(await r.detectOverflow(t, {
553
- ...a,
554
- elementContext: "reference"
555
- }), n.reference);
556
- return { data: {
557
- referenceHiddenOffsets: e,
558
- referenceHidden: isAnySideFullyClipped(e)
559
- } };
560
- }
561
- case "escaped": {
562
- let e = getSideOffsets(await r.detectOverflow(t, {
563
- ...a,
564
- altBoundary: !0
565
- }), n.floating);
566
- return { data: {
567
- escapedOffsets: e,
568
- escaped: isAnySideFullyClipped(e)
569
- } };
570
- }
571
- default: return {};
572
- }
573
- }
574
- };
575
- }, "hide");
576
- function getBoundingRect(e) {
577
- let t = d(...e.map((e) => e.left)), n = d(...e.map((e) => e.top)), r = f(...e.map((e) => e.right)), i = f(...e.map((e) => e.bottom));
578
- return {
579
- x: t,
580
- y: n,
581
- width: r - t,
582
- height: i - n
583
- };
584
- }
585
- function getRectsByLine(e) {
586
- let t = e.slice().sort((e, t) => e.y - t.y), n = [], r = null;
587
- for (let e = 0; e < t.length; e++) {
588
- let i = t[e];
589
- !r || i.y - r.y > r.height / 2 ? n.push([i]) : n[n.length - 1].push(i), r = i;
590
- }
591
- return n.map((e) => rectToClientRect(getBoundingRect(e)));
592
- }
593
- var j = /* @__PURE__ */ e(function(e) {
594
- return e === void 0 && (e = {}), {
595
- name: "inline",
596
- options: e,
597
- async fn(t) {
598
- let { placement: n, elements: r, rects: i, platform: a, strategy: o } = t, { padding: s = 2, x: c, y: l } = evaluate(e, t), u = Array.from(await (a.getClientRects == null ? void 0 : a.getClientRects(r.reference)) || []);
599
- if (!u.length) return {};
600
- let p = getRectsByLine(u), m = rectToClientRect(getBoundingRect(u)), h = getPaddingObject(s);
601
- function getBoundingClientRect() {
602
- if (p.length === 2 && (p[0].left > p[1].right || p[1].left > p[0].right) && c != null && l != null) return p.find((e) => c > e.left - h.left && c < e.right + h.right && l > e.top - h.top && l < e.bottom + h.bottom) || m;
603
- if (p.length >= 2) {
604
- if (getSideAxis(n) === "y") {
605
- let e = p[0], t = p[p.length - 1], r = getSide(n) === "top", i = e.top, a = t.bottom, o = r ? e.left : t.left;
606
- return rectToClientRect({
607
- x: o,
608
- y: i,
609
- width: (r ? e.right : t.right) - o,
610
- height: a - i
611
- });
612
- }
613
- let e = getSide(n) === "left", t = f(...p.map((e) => e.right)), r = d(...p.map((e) => e.left)), i = p.filter((n) => e ? n.left === r : n.right === t), a = i[0].top, o = i[i.length - 1].bottom;
614
- return rectToClientRect({
615
- x: r,
616
- y: a,
617
- width: t - r,
618
- height: o - a
619
- });
620
- }
621
- return m;
622
- }
623
- let g = await a.getElementRects({
624
- reference: { getBoundingClientRect },
625
- floating: r.floating,
626
- strategy: o
627
- });
628
- return i.reference.x !== g.reference.x || i.reference.y !== g.reference.y || i.reference.width !== g.reference.width || i.reference.height !== g.reference.height ? { reset: { rects: g } } : {};
629
- }
630
- };
631
- }, "inline"), M = /*#__PURE__*/ new Set(["left", "top"]);
632
- async function convertValueToCoords(e, t) {
633
- let { placement: n, platform: r, elements: i } = e, a = await (r.isRTL == null ? void 0 : r.isRTL(i.floating)), o = getSide(n), s = getAlignment(n), c = getSideAxis(n) === "y", l = M.has(o) ? -1 : 1, u = a && c ? -1 : 1, d = evaluate(t, e), { mainAxis: f, crossAxis: p, alignmentAxis: m } = typeof d == "number" ? {
634
- mainAxis: d,
635
- crossAxis: 0,
636
- alignmentAxis: null
637
- } : {
638
- mainAxis: d.mainAxis || 0,
639
- crossAxis: d.crossAxis || 0,
640
- alignmentAxis: d.alignmentAxis
641
- };
642
- return s && typeof m == "number" && (p = s === "end" ? m * -1 : m), c ? {
643
- x: p * u,
644
- y: f * l
645
- } : {
646
- x: f * l,
647
- y: p * u
648
- };
649
- }
650
- var N = /* @__PURE__ */ e(function(e) {
651
- return e === void 0 && (e = 0), {
652
- name: "offset",
653
- options: e,
654
- async fn(t) {
655
- var n;
656
- let { x: r, y: i, placement: a, middlewareData: o } = t, s = await convertValueToCoords(t, e);
657
- return a === o.offset?.placement && (n = o.arrow) != null && n.alignmentOffset ? {} : {
658
- x: r + s.x,
659
- y: i + s.y,
660
- data: {
661
- ...s,
662
- placement: a
663
- }
664
- };
665
- }
666
- };
667
- }, "offset"), P = /* @__PURE__ */ e(function(e) {
668
- return e === void 0 && (e = {}), {
669
- name: "shift",
670
- options: e,
671
- async fn(t) {
672
- let { x: n, y: r, placement: i, platform: a } = t, { mainAxis: o = !0, crossAxis: s = !1, limiter: c = { fn: (e) => {
673
- let { x: t, y: n } = e;
674
- return {
675
- x: t,
676
- y: n
677
- };
678
- } }, ...l } = evaluate(e, t), u = {
679
- x: n,
680
- y: r
681
- }, d = await a.detectOverflow(t, l), f = getSideAxis(i), p = getOppositeAxis(f), m = u[p], h = u[f], clampCoord = (e, t) => clamp(t + d[e === "y" ? "top" : "left"], t, t - d[e === "y" ? "bottom" : "right"]);
682
- o && (m = clampCoord(p, m)), s && (h = clampCoord(f, h));
683
- let g = c.fn({
684
- ...t,
685
- [p]: m,
686
- [f]: h
687
- });
688
- return {
689
- ...g,
690
- data: {
691
- x: g.x - n,
692
- y: g.y - r,
693
- enabled: {
694
- [p]: o,
695
- [f]: s
696
- }
697
- }
698
- };
699
- }
700
- };
701
- }, "shift"), F = /* @__PURE__ */ e(function(e) {
702
- return e === void 0 && (e = {}), {
703
- options: e,
704
- fn(t) {
705
- let { x: n, y: r, placement: i, rects: a, middlewareData: o } = t, { offset: s = 0, mainAxis: c = !0, crossAxis: l = !0 } = evaluate(e, t), u = {
706
- x: n,
707
- y: r
708
- }, d = getSideAxis(i), f = getOppositeAxis(d), p = u[f], m = u[d], h = evaluate(s, t), g = typeof h == "number" ? {
709
- mainAxis: h,
710
- crossAxis: 0
711
- } : {
712
- mainAxis: h.mainAxis ?? 0,
713
- crossAxis: h.crossAxis ?? 0
714
- };
715
- if (c) {
716
- let e = f === "y" ? "height" : "width", t = a.reference[f] - a.floating[e] + g.mainAxis, n = a.reference[f] + a.reference[e] - g.mainAxis;
717
- p < t ? p = t : p > n && (p = n);
718
- }
719
- if (l) {
720
- let e = f === "y" ? "width" : "height", t = M.has(getSide(i)), n = a.reference[d] - a.floating[e] + (t && o.offset?.[d] || 0) + (t ? 0 : g.crossAxis), r = a.reference[d] + a.reference[e] + (t ? 0 : o.offset?.[d] || 0) - (t ? g.crossAxis : 0);
721
- m < n ? m = n : m > r && (m = r);
722
- }
723
- return {
724
- [f]: p,
725
- [d]: m
726
- };
727
- }
728
- };
729
- }, "limitShift"), I = /* @__PURE__ */ e(function(e) {
730
- return e === void 0 && (e = {}), {
731
- name: "size",
732
- options: e,
733
- async fn(t) {
734
- let { placement: n, rects: r, platform: i, elements: a } = t, { apply = () => {}, ...o } = evaluate(e, t), s = await i.detectOverflow(t, o), c = getSide(n), l = getAlignment(n), u = getSideAxis(n) === "y", { width: p, height: m } = r.floating, h, g;
735
- c === "top" || c === "bottom" ? (h = c, g = l === (await (i.isRTL == null ? void 0 : i.isRTL(a.floating)) ? "start" : "end") ? "left" : "right") : (g = c, h = l === "end" ? "top" : "bottom");
736
- let _ = m - s.top - s.bottom, v = p - s.left - s.right, y = d(m - s[h], _), b = d(p - s[g], v), x = t.middlewareData.shift, S = !x, C = y, w = b;
737
- x != null && x.enabled.x && (w = v), x != null && x.enabled.y && (C = _), S && !l && (u ? w = p - 2 * f(s.left, s.right) : C = m - 2 * f(s.top, s.bottom)), await apply({
738
- ...t,
739
- availableWidth: w,
740
- availableHeight: C
741
- });
742
- let T = await i.getDimensions(a.floating);
743
- return p !== T.width || m !== T.height ? { reset: { rects: !0 } } : {};
744
- }
745
- };
746
- }, "size");
747
- //#endregion
748
- //#region ../../node_modules/.pnpm/@floating-ui+dom@1.8.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
749
- function getCssDimensions$1(e) {
750
- let t = getComputedStyle$1(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, i = isHTMLElement(e), a = i ? e.offsetWidth : n, o = i ? e.offsetHeight : r, s = p(n) !== a || p(r) !== o;
751
- return s && (n = a, r = o), {
752
- width: n,
753
- height: r,
754
- $: s
755
- };
756
- }
757
- e(getCssDimensions$1, "getCssDimensions");
758
- function unwrapElement$1(e) {
759
- return isElement(e) ? e : e.contextElement;
760
- }
761
- e(unwrapElement$1, "unwrapElement");
762
- function getScale$1(e) {
763
- let t = unwrapElement$1(e);
764
- if (!isHTMLElement(t)) return createCoords(1);
765
- let n = t.getBoundingClientRect(), { width: r, height: i, $: a } = getCssDimensions$1(t), o = (a ? p(n.width) : n.width) / r, s = (a ? p(n.height) : n.height) / i;
766
- return (!o || !Number.isFinite(o)) && (o = 1), (!s || !Number.isFinite(s)) && (s = 1), {
767
- x: o,
768
- y: s
769
- };
770
- }
771
- e(getScale$1, "getScale");
772
- var ee = /*#__PURE__*/ createCoords(0);
773
- function getVisualOffsets$1(e) {
774
- let t = getWindow(e);
775
- return !isWebKit() || !t.visualViewport ? ee : {
776
- x: t.visualViewport.offsetLeft,
777
- y: t.visualViewport.offsetTop
778
- };
779
- }
780
- e(getVisualOffsets$1, "getVisualOffsets");
781
- function shouldAddVisualOffsets$1(e, t, n) {
782
- return t === void 0 && (t = !1), !!n && t && n === getWindow(e);
783
- }
784
- e(shouldAddVisualOffsets$1, "shouldAddVisualOffsets");
785
- function getBoundingClientRect$1(e, t, n, r) {
786
- t === void 0 && (t = !1), n === void 0 && (n = !1);
787
- let i = e.getBoundingClientRect(), a = unwrapElement$1(e), o = createCoords(1);
788
- t && (r ? isElement(r) && (o = getScale$1(r)) : o = getScale$1(e));
789
- let s = shouldAddVisualOffsets$1(a, n, r) ? getVisualOffsets$1(a) : createCoords(0), c = (i.left + s.x) / o.x, l = (i.top + s.y) / o.y, u = i.width / o.x, d = i.height / o.y;
790
- if (a && r) {
791
- let e = getWindow(a), t = isElement(r) ? getWindow(r) : r, n = e, i = getFrameElement(n);
792
- for (; i && t !== n;) {
793
- let e = getScale$1(i), t = i.getBoundingClientRect(), r = getComputedStyle$1(i), a = t.left + (i.clientLeft + parseFloat(r.paddingLeft)) * e.x, o = t.top + (i.clientTop + parseFloat(r.paddingTop)) * e.y;
794
- c *= e.x, l *= e.y, u *= e.x, d *= e.y, c += a, l += o, n = getWindow(i), i = getFrameElement(n);
795
- }
796
- }
797
- return rectToClientRect({
798
- width: u,
799
- height: d,
800
- x: c,
801
- y: l
802
- });
803
- }
804
- e(getBoundingClientRect$1, "getBoundingClientRect");
805
- function getWindowScrollBarX$1(e, t) {
806
- let n = getNodeScroll(e).scrollLeft;
807
- return t ? t.left + n : getBoundingClientRect$1(getDocumentElement(e)).left + n;
808
- }
809
- e(getWindowScrollBarX$1, "getWindowScrollBarX");
810
- function getHTMLOffset$1(e, t) {
811
- let n = e.getBoundingClientRect();
812
- return {
813
- x: n.left + t.scrollLeft - getWindowScrollBarX$1(e, n),
814
- y: n.top + t.scrollTop
815
- };
816
- }
817
- e(getHTMLOffset$1, "getHTMLOffset");
818
- function convertOffsetParentRelativeRectToViewportRelativeRect$1(e) {
819
- let { elements: t, rect: n, offsetParent: r, strategy: i } = e, a = i === "fixed", o = getDocumentElement(r), s = t ? isTopLayer(t.floating) : !1;
820
- if (r === o || s && a) return n;
821
- let c = {
822
- scrollLeft: 0,
823
- scrollTop: 0
824
- }, l = createCoords(1), u = createCoords(0), d = isHTMLElement(r);
825
- if ((d || !a) && ((getNodeName(r) !== "body" || isOverflowElement(o)) && (c = getNodeScroll(r)), d)) {
826
- let e = getBoundingClientRect$1(r);
827
- l = getScale$1(r), u.x = e.x + r.clientLeft, u.y = e.y + r.clientTop;
828
- }
829
- let f = o && !d && !a ? getHTMLOffset$1(o, c) : createCoords(0);
830
- return {
831
- width: n.width * l.x,
832
- height: n.height * l.y,
833
- x: n.x * l.x - c.scrollLeft * l.x + u.x + f.x,
834
- y: n.y * l.y - c.scrollTop * l.y + u.y + f.y
835
- };
836
- }
837
- e(convertOffsetParentRelativeRectToViewportRelativeRect$1, "convertOffsetParentRelativeRectToViewportRelativeRect");
838
- function getClientRects$1(e) {
839
- return e.getClientRects ? Array.from(e.getClientRects()) : [];
840
- }
841
- e(getClientRects$1, "getClientRects");
842
- function getDocumentRect$1(e) {
843
- let t = getNodeScroll(e), n = e.ownerDocument.body, r = f(e.scrollWidth, e.clientWidth, n.scrollWidth, n.clientWidth), i = f(e.scrollHeight, e.clientHeight, n.scrollHeight, n.clientHeight), a = -t.scrollLeft + getWindowScrollBarX$1(e), o = -t.scrollTop;
844
- return getComputedStyle$1(n).direction === "rtl" && (a += f(e.clientWidth, n.clientWidth) - r), {
845
- width: r,
846
- height: i,
847
- x: a,
848
- y: o
849
- };
850
- }
851
- e(getDocumentRect$1, "getDocumentRect");
852
- var L = 25;
853
- function getViewportRect$1(e, t, n) {
854
- n === void 0 && (n = "viewport");
855
- let r = n === "layoutViewport", i = getWindow(e), a = getDocumentElement(e), o = i.visualViewport, s = a.clientWidth, c = a.clientHeight, l = 0, u = 0;
856
- if (o) {
857
- let e = !isWebKit() || t === "fixed";
858
- r ? e || (l = -o.offsetLeft, u = -o.offsetTop) : (s = o.width, c = o.height, e && (l = o.offsetLeft, u = o.offsetTop));
859
- }
860
- if (getWindowScrollBarX$1(a) <= 0) {
861
- let e = a.ownerDocument, t = e.body, n = getComputedStyle(t), r = e.compatMode === "CSS1Compat" && parseFloat(n.marginLeft) + parseFloat(n.marginRight) || 0, i = Math.abs(a.clientWidth - t.clientWidth - r), o = getComputedStyle(a).scrollbarGutter === "stable both-edges" ? i / 2 : i;
862
- o <= L && (s -= o);
863
- }
864
- return {
865
- width: s,
866
- height: c,
867
- x: l,
868
- y: u
869
- };
870
- }
871
- e(getViewportRect$1, "getViewportRect");
872
- function getInnerBoundingClientRect$1(e, t) {
873
- let n = getBoundingClientRect$1(e, !0, t === "fixed"), r = n.top + e.clientTop, i = n.left + e.clientLeft, a = getScale$1(e);
874
- return {
875
- width: e.clientWidth * a.x,
876
- height: e.clientHeight * a.y,
877
- x: i * a.x,
878
- y: r * a.y
879
- };
880
- }
881
- e(getInnerBoundingClientRect$1, "getInnerBoundingClientRect");
882
- function getClientRectFromClippingAncestor$1(e, t, n) {
883
- let r;
884
- if (t === "viewport" || t === "layoutViewport") r = getViewportRect$1(e, n, t);
885
- else if (t === "document") r = getDocumentRect$1(getDocumentElement(e));
886
- else if (isElement(t)) r = getInnerBoundingClientRect$1(t, n);
887
- else {
888
- let n = getVisualOffsets$1(e);
889
- r = {
890
- x: t.x - n.x,
891
- y: t.y - n.y,
892
- width: t.width,
893
- height: t.height
894
- };
895
- }
896
- return rectToClientRect(r);
897
- }
898
- e(getClientRectFromClippingAncestor$1, "getClientRectFromClippingAncestor");
899
- function getClippingElementAncestors$1(e, t) {
900
- let n = t.get(e);
901
- if (n) return n;
902
- let r = getOverflowAncestors(e, [], !1).filter((e) => isElement(e) && getNodeName(e) !== "body"), i = null, a = getComputedStyle$1(e).position === "fixed", o = a ? getParentNode(e) : e;
903
- for (; isElement(o) && !isLastTraversableNode(o);) {
904
- let e = getComputedStyle$1(o), t = isContainingBlock(o), n = i ? i.position : a ? "fixed" : "";
905
- !t && (n === "fixed" || n === "absolute" && e.position === "static") ? r = r.filter((e) => e !== o) : i = e, o = getParentNode(o);
906
- }
907
- return t.set(e, r), r;
908
- }
909
- e(getClippingElementAncestors$1, "getClippingElementAncestors");
910
- function getClippingRect$1(e) {
911
- let { element: t, boundary: n, rootBoundary: r, strategy: i } = e, a = [...n === "clippingAncestors" ? isTopLayer(t) ? [] : getClippingElementAncestors$1(t, this._c) : [].concat(n), r], o = getClientRectFromClippingAncestor$1(t, a[0], i), s = o.top, c = o.right, l = o.bottom, u = o.left;
912
- for (let e = 1; e < a.length; e++) {
913
- let n = getClientRectFromClippingAncestor$1(t, a[e], i);
914
- s = f(n.top, s), c = d(n.right, c), l = d(n.bottom, l), u = f(n.left, u);
915
- }
916
- return {
917
- width: c - u,
918
- height: l - s,
919
- x: u,
920
- y: s
921
- };
922
- }
923
- e(getClippingRect$1, "getClippingRect");
924
- function getDimensions$1(e) {
925
- let { width: t, height: n } = getCssDimensions$1(e);
926
- return {
927
- width: t,
928
- height: n
929
- };
930
- }
931
- e(getDimensions$1, "getDimensions");
932
- function getRectRelativeToOffsetParent$1(e, t, n) {
933
- let r = isHTMLElement(t), i = getDocumentElement(t), a = n === "fixed", o = getBoundingClientRect$1(e, !0, a, t), s = {
934
- scrollLeft: 0,
935
- scrollTop: 0
936
- }, c = createCoords(0);
937
- if ((r || !a) && ((getNodeName(t) !== "body" || isOverflowElement(i)) && (s = getNodeScroll(t)), r)) {
938
- let e = getBoundingClientRect$1(t, !0, a, t);
939
- c.x = e.x + t.clientLeft, c.y = e.y + t.clientTop;
940
- }
941
- !r && i && (c.x = getWindowScrollBarX$1(i));
942
- let l = i && !r && !a ? getHTMLOffset$1(i, s) : createCoords(0);
943
- return {
944
- x: o.left + s.scrollLeft - c.x - l.x,
945
- y: o.top + s.scrollTop - c.y - l.y,
946
- width: o.width,
947
- height: o.height
948
- };
949
- }
950
- e(getRectRelativeToOffsetParent$1, "getRectRelativeToOffsetParent");
951
- function isStaticPositioned$1(e) {
952
- return getComputedStyle$1(e).position === "static";
953
- }
954
- e(isStaticPositioned$1, "isStaticPositioned");
955
- function getTrueOffsetParent$1(e, t) {
956
- if (!isHTMLElement(e) || getComputedStyle$1(e).position === "fixed") return null;
957
- if (t) return t(e);
958
- let n = e.offsetParent;
959
- return getDocumentElement(e) === n && (n = n.ownerDocument.body), n;
960
- }
961
- e(getTrueOffsetParent$1, "getTrueOffsetParent");
962
- function getOffsetParent$1(e, t) {
963
- let n = getWindow(e);
964
- if (isTopLayer(e)) return n;
965
- if (!isHTMLElement(e)) {
966
- let t = getParentNode(e);
967
- for (; t && !isLastTraversableNode(t);) {
968
- if (isElement(t) && !isStaticPositioned$1(t)) return t;
969
- t = getParentNode(t);
970
- }
971
- return n;
972
- }
973
- let r = getTrueOffsetParent$1(e, t);
974
- for (; r && isTableElement(r) && isStaticPositioned$1(r);) r = getTrueOffsetParent$1(r, t);
975
- return r && isLastTraversableNode(r) && isStaticPositioned$1(r) && !isContainingBlock(r) ? n : r || getContainingBlock(e) || n;
976
- }
977
- e(getOffsetParent$1, "getOffsetParent");
978
- var te = /* @__PURE__ */ e(async function(e) {
979
- let t = this.getOffsetParent || getOffsetParent$1, n = this.getDimensions, r = await n(e.floating);
980
- return {
981
- reference: getRectRelativeToOffsetParent$1(e.reference, await t(e.floating), e.strategy),
982
- floating: {
983
- x: 0,
984
- y: 0,
985
- width: r.width,
986
- height: r.height
987
- }
988
- };
989
- }, "getElementRects");
990
- function isRTL$1(e) {
991
- return getComputedStyle$1(e).direction === "rtl";
992
- }
993
- e(isRTL$1, "isRTL");
994
- var ne = {
995
- convertOffsetParentRelativeRectToViewportRelativeRect: convertOffsetParentRelativeRectToViewportRelativeRect$1,
996
- getDocumentElement,
997
- getClippingRect: getClippingRect$1,
998
- getOffsetParent: getOffsetParent$1,
999
- getElementRects: te,
1000
- getClientRects: getClientRects$1,
1001
- getDimensions: getDimensions$1,
1002
- getScale: getScale$1,
1003
- isElement,
1004
- isRTL: isRTL$1
1005
- };
1006
- function rectsAreEqual$1(e, t) {
1007
- return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
1008
- }
1009
- e(rectsAreEqual$1, "rectsAreEqual");
1010
- function observeMove$1(e, t, n) {
1011
- let r = null, i, a = getDocumentElement(e);
1012
- function cleanup() {
1013
- var e;
1014
- clearTimeout(i), (e = r) == null || e.disconnect(), r = null;
1015
- }
1016
- function refresh(n, o) {
1017
- n === void 0 && (n = !1), o === void 0 && (o = 1), cleanup();
1018
- let s = e.getBoundingClientRect(), { left: c, top: l, width: u, height: p } = s;
1019
- if (n || t(), !u || !p) return;
1020
- let h = m(l), g = m(a.clientWidth - (c + u)), _ = m(a.clientHeight - (l + p)), v = m(c), y = {
1021
- rootMargin: -h + "px " + -g + "px " + -_ + "px " + -v + "px",
1022
- threshold: f(0, d(1, o)) || 1
1023
- }, b = !0;
1024
- function handleObserve(t) {
1025
- let n = t[0].intersectionRatio;
1026
- if (!rectsAreEqual$1(s, e.getBoundingClientRect())) return refresh();
1027
- if (n !== o) {
1028
- if (!b) return refresh();
1029
- n ? refresh(!1, n) : i = setTimeout(() => {
1030
- refresh(!1, 1e-7);
1031
- }, 1e3);
1032
- }
1033
- b = !1;
1034
- }
1035
- try {
1036
- r = new IntersectionObserver(handleObserve, {
1037
- ...y,
1038
- root: a.ownerDocument
1039
- });
1040
- } catch {
1041
- r = new IntersectionObserver(handleObserve, y);
1042
- }
1043
- r.observe(e);
1044
- }
1045
- let o = getWindow(e), handleResize = () => refresh(n);
1046
- return o.addEventListener("resize", handleResize), refresh(!0), () => {
1047
- o.removeEventListener("resize", handleResize), cleanup();
1048
- };
1049
- }
1050
- e(observeMove$1, "observeMove");
1051
- function autoUpdate$1(e, t, n, r) {
1052
- r === void 0 && (r = {});
1053
- let { ancestorScroll: i = !0, ancestorResize: a = !0, elementResize: o = typeof ResizeObserver == "function", layoutShift: s = typeof IntersectionObserver == "function", animationFrame: c = !1 } = r, l = unwrapElement$1(e), u = i || a ? [...l ? getOverflowAncestors(l) : [], ...t ? getOverflowAncestors(t) : []] : [];
1054
- u.forEach((e) => {
1055
- i && e.addEventListener("scroll", n), a && e.addEventListener("resize", n);
1056
- });
1057
- let d = l && s ? observeMove$1(l, n, a) : null, f = -1, p = null;
1058
- o && (p = new ResizeObserver((e) => {
1059
- let [r] = e;
1060
- r && r.target === l && p && t && (p.unobserve(t), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
1061
- var e;
1062
- (e = p) == null || e.observe(t);
1063
- })), n();
1064
- }), l && !c && p.observe(l), t && p.observe(t));
1065
- let m, h = c ? getBoundingClientRect$1(e) : null;
1066
- c && frameLoop();
1067
- function frameLoop() {
1068
- let t = getBoundingClientRect$1(e);
1069
- h && !rectsAreEqual$1(h, t) && n(), h = t, m = requestAnimationFrame(frameLoop);
1070
- }
1071
- return n(), () => {
1072
- var e;
1073
- u.forEach((e) => {
1074
- i && e.removeEventListener("scroll", n), a && e.removeEventListener("resize", n);
1075
- }), d?.(), (e = p) == null || e.disconnect(), p = null, c && cancelAnimationFrame(m);
1076
- };
1077
- }
1078
- e(autoUpdate$1, "autoUpdate");
1079
- var re = N, ie = P, ae = k, oe = I, se = A, R = D, ce = j, z = F, B = /* @__PURE__ */ e((e, t, n) => {
1080
- let r = /* @__PURE__ */ new Map(), i = n ?? {}, a = {
1081
- ...ne,
1082
- ...i.platform,
1083
- _c: r
1084
- };
1085
- return E(e, t, {
1086
- ...i,
1087
- platform: a
1088
- });
1089
- }, "computePosition"), V = typeof document < "u" ? n : function noop() {};
1090
- function deepEqual(e, t) {
1091
- if (e === t) return !0;
1092
- if (typeof e != typeof t) return !1;
1093
- if (typeof e == "function" && e.toString() === t.toString()) return !0;
1094
- let n, r, i;
1095
- if (e && t && typeof e == "object") {
1096
- if (Array.isArray(e)) {
1097
- if (n = e.length, n !== t.length) return !1;
1098
- for (r = n; r-- !== 0;) if (!deepEqual(e[r], t[r])) return !1;
1099
- return !0;
1100
- }
1101
- if (i = Object.keys(e), n = i.length, n !== Object.keys(t).length) return !1;
1102
- for (r = n; r-- !== 0;) if (!{}.hasOwnProperty.call(t, i[r])) return !1;
1103
- for (r = n; r-- !== 0;) {
1104
- let n = i[r];
1105
- if (!(n === "_owner" && e.$$typeof) && !deepEqual(e[n], t[n])) return !1;
1106
- }
1107
- return !0;
1108
- }
1109
- return e !== e && t !== t;
1110
- }
1111
- function getDPR(e) {
1112
- return typeof window > "u" ? 1 : (e.ownerDocument.defaultView || window).devicePixelRatio || 1;
1113
- }
1114
- function roundByDPR(e, t) {
1115
- let n = getDPR(e);
1116
- return Math.round(t * n) / n;
1117
- }
1118
- function useLatestRef(e) {
1119
- let n = t.useRef(e);
1120
- return V(() => {
1121
- n.current = e;
1122
- }), n;
1123
- }
1124
- function useFloating$1(e) {
1125
- e === void 0 && (e = {});
1126
- let { placement: n = "bottom", strategy: r = "absolute", middleware: a = [], platform: o, elements: { reference: s, floating: c } = {}, transform: l = !0, whileElementsMounted: u, open: d } = e, [f, p] = t.useState({
1127
- x: 0,
1128
- y: 0,
1129
- strategy: r,
1130
- placement: n,
1131
- middlewareData: {},
1132
- isPositioned: !1
1133
- }), [m, h] = t.useState(a);
1134
- deepEqual(m, a) || h(a);
1135
- let [g, _] = t.useState(null), [v, y] = t.useState(null), b = t.useCallback((e) => {
1136
- e !== w.current && (w.current = e, _(e));
1137
- }, []), x = t.useCallback((e) => {
1138
- e !== T.current && (T.current = e, y(e));
1139
- }, []), S = s || g, C = c || v, w = t.useRef(null), T = t.useRef(null), E = t.useRef(f), D = u != null, O = useLatestRef(u), k = useLatestRef(o), A = useLatestRef(d), j = t.useCallback(() => {
1140
- if (!w.current || !T.current) return;
1141
- let e = {
1142
- placement: n,
1143
- strategy: r,
1144
- middleware: m
1145
- };
1146
- k.current && (e.platform = k.current), B(w.current, T.current, e).then((e) => {
1147
- let t = {
1148
- ...e,
1149
- isPositioned: A.current !== !1
1150
- };
1151
- M.current && !deepEqual(E.current, t) && (E.current = t, i.flushSync(() => {
1152
- p(t);
1153
- }));
1154
- });
1155
- }, [
1156
- m,
1157
- n,
1158
- r,
1159
- k,
1160
- A
1161
- ]);
1162
- V(() => {
1163
- d === !1 && E.current.isPositioned && (E.current.isPositioned = !1, p((e) => ({
1164
- ...e,
1165
- isPositioned: !1
1166
- })));
1167
- }, [d]);
1168
- let M = t.useRef(!1);
1169
- V(() => (M.current = !0, () => {
1170
- M.current = !1;
1171
- }), []), V(() => {
1172
- if (S && (w.current = S), C && (T.current = C), S && C) {
1173
- if (O.current) return O.current(S, C, j);
1174
- j();
1175
- }
1176
- }, [
1177
- S,
1178
- C,
1179
- j,
1180
- O,
1181
- D
1182
- ]);
1183
- let N = t.useMemo(() => ({
1184
- reference: w,
1185
- floating: T,
1186
- setReference: b,
1187
- setFloating: x
1188
- }), [b, x]), P = t.useMemo(() => ({
1189
- reference: S,
1190
- floating: C
1191
- }), [S, C]), F = t.useMemo(() => {
1192
- let e = {
1193
- position: r,
1194
- left: 0,
1195
- top: 0
1196
- };
1197
- if (!P.floating) return e;
1198
- let t = roundByDPR(P.floating, f.x), n = roundByDPR(P.floating, f.y);
1199
- return l ? {
1200
- ...e,
1201
- transform: "translate(" + t + "px, " + n + "px)",
1202
- ...getDPR(P.floating) >= 1.5 && { willChange: "transform" }
1203
- } : {
1204
- position: r,
1205
- left: t,
1206
- top: n
1207
- };
1208
- }, [
1209
- r,
1210
- l,
1211
- P.floating,
1212
- f.x,
1213
- f.y
1214
- ]);
1215
- return t.useMemo(() => ({
1216
- ...f,
1217
- update: j,
1218
- refs: N,
1219
- elements: P,
1220
- floatingStyles: F
1221
- }), [
1222
- f,
1223
- j,
1224
- N,
1225
- P,
1226
- F
1227
- ]);
1228
- }
1229
- e(useFloating$1, "useFloating");
1230
- var arrow$1 = (e) => {
1231
- function isRef(e) {
1232
- return {}.hasOwnProperty.call(e, "current");
1233
- }
1234
- return {
1235
- name: "arrow",
1236
- options: e,
1237
- fn(t) {
1238
- let { element: n, padding: r } = typeof e == "function" ? e(t) : e;
1239
- return n && isRef(n) ? n.current == null ? {} : R({
1240
- element: n.current,
1241
- padding: r
1242
- }).fn(t) : n ? R({
1243
- element: n,
1244
- padding: r
1245
- }).fn(t) : {};
1246
- }
1247
- };
1248
- }, H = /* @__PURE__ */ e((e, t) => {
1249
- let n = re(e);
1250
- return {
1251
- name: n.name,
1252
- fn: n.fn,
1253
- options: [e, t]
1254
- };
1255
- }, "offset"), shift = (e, t) => {
1256
- let n = ie(e);
1257
- return {
1258
- name: n.name,
1259
- fn: n.fn,
1260
- options: [e, t]
1261
- };
1262
- }, limitShift = (e, t) => ({
1263
- fn: z(e).fn,
1264
- options: [e, t]
1265
- }), flip = (e, t) => {
1266
- let n = ae(e);
1267
- return {
1268
- name: n.name,
1269
- fn: n.fn,
1270
- options: [e, t]
1271
- };
1272
- }, U = /* @__PURE__ */ e((e, t) => {
1273
- let n = oe(e);
1274
- return {
1275
- name: n.name,
1276
- fn: n.fn,
1277
- options: [e, t]
1278
- };
1279
- }, "size"), W = /* @__PURE__ */ e((e, t) => {
1280
- let n = se(e);
1281
- return {
1282
- name: n.name,
1283
- fn: n.fn,
1284
- options: [e, t]
1285
- };
1286
- }, "hide"), inline = (e, t) => {
1287
- let n = ce(e);
1288
- return {
1289
- name: n.name,
1290
- fn: n.fn,
1291
- options: [e, t]
1292
- };
1293
- }, arrow = (e, t) => {
1294
- let n = arrow$1(e);
1295
- return {
1296
- name: n.name,
1297
- fn: n.fn,
1298
- options: [e, t]
1299
- };
1300
- };
1301
- //#endregion
1302
- //#region ../../node_modules/.pnpm/@floating-ui+react@0.27.20_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/@floating-ui/react/dist/floating-ui.react.mjs
1303
- function useMergeRefs(e) {
1304
- let n = t.useRef(void 0), r = t.useCallback((t) => {
1305
- let n = e.map((e) => {
1306
- if (e != null) {
1307
- if (typeof e == "function") {
1308
- let n = e, r = n(t);
1309
- return typeof r == "function" ? r : () => {
1310
- n(null);
1311
- };
1312
- }
1313
- return e.current = t, () => {
1314
- e.current = null;
1315
- };
1316
- }
1317
- });
1318
- return () => {
1319
- n.forEach((e) => e?.());
1320
- };
1321
- }, e);
1322
- return t.useMemo(() => e.every((e) => e == null) ? null : (e) => {
1323
- n.current &&= (n.current(), void 0), e != null && (n.current = r(e));
1324
- }, e);
1325
- }
1326
- var G = "data-floating-ui-focusable", K = "active", q = "selected", le = "ArrowLeft", ue = "ArrowRight", de = "ArrowUp", fe = "ArrowDown", pe = [le, ue], me = [de, fe];
1327
- [...pe, ...me];
1328
- var he = { ...t }, J = !1, ge = 0, genId = () => "floating-ui-" + Math.random().toString(36).slice(2, 6) + ge++;
1329
- function useFloatingId() {
1330
- let [e, n] = t.useState(() => J ? genId() : void 0);
1331
- return S(() => {
1332
- e ?? n(genId());
1333
- }, []), t.useEffect(() => {
1334
- J = !0;
1335
- }, []), e;
1336
- }
1337
- var Y = he.useId || useFloatingId;
1338
- function createEventEmitter() {
1339
- let e = /* @__PURE__ */ new Map();
1340
- return {
1341
- emit(t, n) {
1342
- var r;
1343
- (r = e.get(t)) == null || r.forEach((e) => e(n));
1344
- },
1345
- on(t, n) {
1346
- e.has(t) || e.set(t, /* @__PURE__ */ new Set()), e.get(t).add(n);
1347
- },
1348
- off(t, n) {
1349
- var r;
1350
- (r = e.get(t)) == null || r.delete(n);
1351
- }
1352
- };
1353
- }
1354
- var _e = /*#__PURE__*/ t.createContext(null), ve = /*#__PURE__*/ t.createContext(null), useFloatingParentNodeId = () => t.useContext(_e)?.id || null, useFloatingTree = () => t.useContext(ve);
1355
- function createAttribute(e) {
1356
- return "data-floating-ui-" + e;
1357
- }
1358
- function clearTimeoutIfSet(e) {
1359
- e.current !== -1 && (clearTimeout(e.current), e.current = -1);
1360
- }
1361
- var X = /*#__PURE__*/ createAttribute("safe-polygon");
1362
- function getDelay(e, t, n) {
1363
- if (n && !isMouseLikePointerType(n)) return 0;
1364
- if (typeof e == "number") return e;
1365
- if (typeof e == "function") {
1366
- let n = e();
1367
- return typeof n == "number" ? n : n?.[t];
1368
- }
1369
- return e?.[t];
1370
- }
1371
- function getRestMs(e) {
1372
- return typeof e == "function" ? e() : e;
1373
- }
1374
- function useHover(e, n) {
1375
- n === void 0 && (n = {});
1376
- let { open: r, onOpenChange: i, dataRef: a, events: o, elements: s } = e, { enabled: c = !0, delay: l = 0, handleClose: u = null, mouseOnly: d = !1, restMs: f = 0, move: p = !0 } = n, m = useFloatingTree(), h = useFloatingParentNodeId(), g = useLatestRef$1(u), _ = useLatestRef$1(l), v = useLatestRef$1(r), y = useLatestRef$1(f), b = t.useRef(), x = t.useRef(-1), C = t.useRef(), w = t.useRef(-1), T = t.useRef(!0), E = t.useRef(!1), D = t.useRef(() => {}), O = t.useRef(!1), k = useEffectEvent$1(() => {
1377
- let e = a.current.openEvent?.type;
1378
- return e?.includes("mouse") && e !== "mousedown";
1379
- });
1380
- t.useEffect(() => {
1381
- if (!c) return;
1382
- function onOpenChange(e) {
1383
- let { open: t } = e;
1384
- t || (clearTimeoutIfSet(x), clearTimeoutIfSet(w), T.current = !0, O.current = !1);
1385
- }
1386
- return o.on("openchange", onOpenChange), () => {
1387
- o.off("openchange", onOpenChange);
1388
- };
1389
- }, [c, o]), t.useEffect(() => {
1390
- if (!c || !g.current || !r) return;
1391
- function onLeave(e) {
1392
- k() && i(!1, e, "hover");
1393
- }
1394
- let e = getDocument(s.floating).documentElement;
1395
- return e.addEventListener("mouseleave", onLeave), () => {
1396
- e.removeEventListener("mouseleave", onLeave);
1397
- };
1398
- }, [
1399
- s.floating,
1400
- r,
1401
- i,
1402
- c,
1403
- g,
1404
- k
1405
- ]);
1406
- let A = t.useCallback(function(e, t, n) {
1407
- t === void 0 && (t = !0), n === void 0 && (n = "hover");
1408
- let r = getDelay(_.current, "close", b.current);
1409
- r && !C.current ? (clearTimeoutIfSet(x), x.current = window.setTimeout(() => i(!1, e, n), r)) : t && (clearTimeoutIfSet(x), i(!1, e, n));
1410
- }, [_, i]), j = useEffectEvent$1(() => {
1411
- D.current(), C.current = void 0;
1412
- }), M = useEffectEvent$1(() => {
1413
- if (E.current) {
1414
- let e = getDocument(s.floating).body;
1415
- e.style.pointerEvents = "", e.removeAttribute(X), E.current = !1;
1416
- }
1417
- }), N = useEffectEvent$1(() => a.current.openEvent ? ["click", "mousedown"].includes(a.current.openEvent.type) : !1);
1418
- t.useEffect(() => {
1419
- if (!c) return;
1420
- function onReferenceMouseEnter(e) {
1421
- if (clearTimeoutIfSet(x), T.current = !1, d && !isMouseLikePointerType(b.current) || getRestMs(y.current) > 0 && !getDelay(_.current, "open")) return;
1422
- let t = getDelay(_.current, "open", b.current);
1423
- t ? x.current = window.setTimeout(() => {
1424
- v.current || i(!0, e, "hover");
1425
- }, t) : r || i(!0, e, "hover");
1426
- }
1427
- function onReferenceMouseLeave(e) {
1428
- if (N()) {
1429
- M();
1430
- return;
1431
- }
1432
- D.current();
1433
- let t = getDocument(s.floating);
1434
- if (clearTimeoutIfSet(w), O.current = !1, g.current && a.current.floatingContext) {
1435
- r || clearTimeoutIfSet(x), C.current = g.current({
1436
- ...a.current.floatingContext,
1437
- tree: m,
1438
- x: e.clientX,
1439
- y: e.clientY,
1440
- onClose() {
1441
- M(), j(), N() || A(e, !0, "safe-polygon");
1442
- }
1443
- });
1444
- let n = C.current;
1445
- t.addEventListener("mousemove", n), D.current = () => {
1446
- t.removeEventListener("mousemove", n);
1447
- };
1448
- return;
1449
- }
1450
- (b.current !== "touch" || !contains$1(s.floating, e.relatedTarget)) && A(e);
1451
- }
1452
- function onScrollMouseLeave(e) {
1453
- N() || a.current.floatingContext && (g.current == null || g.current({
1454
- ...a.current.floatingContext,
1455
- tree: m,
1456
- x: e.clientX,
1457
- y: e.clientY,
1458
- onClose() {
1459
- M(), j(), N() || A(e);
1460
- }
1461
- })(e));
1462
- }
1463
- function onFloatingMouseEnter() {
1464
- clearTimeoutIfSet(x);
1465
- }
1466
- function onFloatingMouseLeave(e) {
1467
- N() || A(e, !1);
1468
- }
1469
- if (isElement(s.domReference)) {
1470
- let e = s.domReference, t = s.floating;
1471
- return r && e.addEventListener("mouseleave", onScrollMouseLeave), p && e.addEventListener("mousemove", onReferenceMouseEnter, { once: !0 }), e.addEventListener("mouseenter", onReferenceMouseEnter), e.addEventListener("mouseleave", onReferenceMouseLeave), t && (t.addEventListener("mouseleave", onScrollMouseLeave), t.addEventListener("mouseenter", onFloatingMouseEnter), t.addEventListener("mouseleave", onFloatingMouseLeave)), () => {
1472
- r && e.removeEventListener("mouseleave", onScrollMouseLeave), p && e.removeEventListener("mousemove", onReferenceMouseEnter), e.removeEventListener("mouseenter", onReferenceMouseEnter), e.removeEventListener("mouseleave", onReferenceMouseLeave), t && (t.removeEventListener("mouseleave", onScrollMouseLeave), t.removeEventListener("mouseenter", onFloatingMouseEnter), t.removeEventListener("mouseleave", onFloatingMouseLeave));
1473
- };
1474
- }
1475
- }, [
1476
- s,
1477
- c,
1478
- e,
1479
- d,
1480
- p,
1481
- A,
1482
- j,
1483
- M,
1484
- i,
1485
- r,
1486
- v,
1487
- m,
1488
- _,
1489
- g,
1490
- a,
1491
- N,
1492
- y
1493
- ]), S(() => {
1494
- var e;
1495
- if (c && r && (e = g.current) != null && (e = e.__options) != null && e.blockPointerEvents && k()) {
1496
- E.current = !0;
1497
- let e = s.floating;
1498
- if (isElement(s.domReference) && e) {
1499
- var t;
1500
- let n = getDocument(s.floating).body;
1501
- n.setAttribute(X, "");
1502
- let r = s.domReference, i = m == null || (t = m.nodesRef.current.find((e) => e.id === h)) == null || (t = t.context) == null ? void 0 : t.elements.floating;
1503
- return i && (i.style.pointerEvents = ""), n.style.pointerEvents = "none", r.style.pointerEvents = "auto", e.style.pointerEvents = "auto", () => {
1504
- n.style.pointerEvents = "", r.style.pointerEvents = "", e.style.pointerEvents = "";
1505
- };
1506
- }
1507
- }
1508
- }, [
1509
- c,
1510
- r,
1511
- h,
1512
- s,
1513
- m,
1514
- g,
1515
- k
1516
- ]), S(() => {
1517
- r || (b.current = void 0, O.current = !1, j(), M());
1518
- }, [
1519
- r,
1520
- j,
1521
- M
1522
- ]), t.useEffect(() => () => {
1523
- j(), clearTimeoutIfSet(x), clearTimeoutIfSet(w), M();
1524
- }, [
1525
- c,
1526
- s.domReference,
1527
- j,
1528
- M
1529
- ]);
1530
- let P = t.useMemo(() => {
1531
- function setPointerRef(e) {
1532
- b.current = e.pointerType;
1533
- }
1534
- return {
1535
- onPointerDown: setPointerRef,
1536
- onPointerEnter: setPointerRef,
1537
- onMouseMove(e) {
1538
- let { nativeEvent: t } = e;
1539
- function handleMouseMove() {
1540
- !T.current && !v.current && i(!0, t, "hover");
1541
- }
1542
- (!d || isMouseLikePointerType(b.current)) && (r || getRestMs(y.current) === 0 || O.current && e.movementX ** 2 + e.movementY ** 2 < 2 || (clearTimeoutIfSet(w), b.current === "touch" ? handleMouseMove() : (O.current = !0, w.current = window.setTimeout(handleMouseMove, getRestMs(y.current)))));
1543
- }
1544
- };
1545
- }, [
1546
- d,
1547
- i,
1548
- r,
1549
- v,
1550
- y
1551
- ]);
1552
- return t.useMemo(() => c ? { reference: P } : {}, [c, P]);
1553
- }
1554
- var NOOP = () => {}, Z = /*#__PURE__*/ t.createContext({
1555
- delay: 0,
1556
- initialDelay: 0,
1557
- timeoutMs: 0,
1558
- currentId: null,
1559
- setCurrentId: NOOP,
1560
- setState: NOOP,
1561
- isInstantPhase: !1
1562
- }), useDelayGroupContext = () => t.useContext(Z);
1563
- function FloatingDelayGroup(e) {
1564
- let { children: n, delay: i, timeoutMs: a = 0 } = e, [o, s] = t.useReducer((e, t) => ({
1565
- ...e,
1566
- ...t
1567
- }), {
1568
- delay: i,
1569
- timeoutMs: a,
1570
- initialDelay: i,
1571
- currentId: null,
1572
- isInstantPhase: !1
1573
- }), c = t.useRef(null), l = t.useCallback((e) => {
1574
- s({ currentId: e });
1575
- }, []);
1576
- return S(() => {
1577
- o.currentId ? c.current === null ? c.current = o.currentId : o.isInstantPhase || s({ isInstantPhase: !0 }) : (o.isInstantPhase && s({ isInstantPhase: !1 }), c.current = null);
1578
- }, [o.currentId, o.isInstantPhase]), /*#__PURE__*/ r(Z.Provider, {
1579
- value: t.useMemo(() => ({
1580
- ...o,
1581
- setState: s,
1582
- setCurrentId: l
1583
- }), [o, l]),
1584
- children: n
1585
- });
1586
- }
1587
- function useDelayGroup(e, t) {
1588
- t === void 0 && (t = {});
1589
- let { open: n, onOpenChange: r, floatingId: i } = e, { id: a, enabled: o = !0 } = t, s = a ?? i, c = useDelayGroupContext(), { currentId: l, setCurrentId: u, initialDelay: d, setState: f, timeoutMs: p } = c;
1590
- return S(() => {
1591
- o && l && (f({ delay: {
1592
- open: 1,
1593
- close: getDelay(d, "close")
1594
- } }), l !== s && r(!1));
1595
- }, [
1596
- o,
1597
- s,
1598
- r,
1599
- f,
1600
- l,
1601
- d
1602
- ]), S(() => {
1603
- function unset() {
1604
- r(!1), f({
1605
- delay: d,
1606
- currentId: null
1607
- });
1608
- }
1609
- if (o && l && !n && l === s) {
1610
- if (p) {
1611
- let e = window.setTimeout(unset, p);
1612
- return () => {
1613
- clearTimeout(e);
1614
- };
1615
- }
1616
- unset();
1617
- }
1618
- }, [
1619
- o,
1620
- n,
1621
- f,
1622
- l,
1623
- s,
1624
- r,
1625
- d,
1626
- p
1627
- ]), S(() => {
1628
- o && u !== NOOP && n && u(s);
1629
- }, [
1630
- o,
1631
- n,
1632
- u,
1633
- s
1634
- ]), c;
1635
- }
1636
- function contains(e, t) {
1637
- if (!e || !t) return !1;
1638
- let n = t.getRootNode == null ? void 0 : t.getRootNode();
1639
- if (e.contains(t)) return !0;
1640
- if (n && isShadowRoot(n)) {
1641
- let n = t;
1642
- for (; n;) {
1643
- if (e === n) return !0;
1644
- n = n.parentNode || n.host;
1645
- }
1646
- }
1647
- return !1;
1648
- }
1649
- function getTarget(e) {
1650
- return "composedPath" in e ? e.composedPath()[0] : e.target;
1651
- }
1652
- var ye = {
1653
- pointerdown: "onPointerDown",
1654
- mousedown: "onMouseDown",
1655
- click: "onClick"
1656
- }, be = {
1657
- pointerdown: "onPointerDownCapture",
1658
- mousedown: "onMouseDownCapture",
1659
- click: "onClickCapture"
1660
- }, normalizeProp = (e) => ({
1661
- escapeKey: typeof e == "boolean" ? e : e?.escapeKey ?? !1,
1662
- outsidePress: typeof e == "boolean" ? e : e?.outsidePress ?? !0
1663
- });
1664
- function useDismiss(e, n) {
1665
- n === void 0 && (n = {});
1666
- let { open: r, onOpenChange: i, elements: a, dataRef: o } = e, { enabled: s = !0, escapeKey: c = !0, outsidePress: l = !0, outsidePressEvent: u = "pointerdown", referencePress: d = !1, referencePressEvent: f = "pointerdown", ancestorScroll: p = !1, bubbles: m, capture: h } = n, g = useFloatingTree(), _ = useEffectEvent$1(typeof l == "function" ? l : () => !1), v = typeof l == "function" ? _ : l, y = t.useRef(!1), { escapeKey: b, outsidePress: x } = normalizeProp(m), { escapeKey: S, outsidePress: C } = normalizeProp(h), w = t.useRef(!1), T = useEffectEvent$1((e) => {
1667
- if (!r || !s || !c || e.key !== "Escape" || w.current) return;
1668
- let t = o.current.floatingContext?.nodeId, n = g ? getNodeChildren$1(g.nodesRef.current, t) : [];
1669
- if (!b && (e.stopPropagation(), n.length > 0)) {
1670
- let e = !0;
1671
- if (n.forEach((t) => {
1672
- var n;
1673
- if ((n = t.context) != null && n.open && !t.context.dataRef.current.__escapeKeyBubbles) {
1674
- e = !1;
1675
- return;
1676
- }
1677
- }), !e) return;
1678
- }
1679
- i(!1, isReactEvent(e) ? e.nativeEvent : e, "escape-key");
1680
- }), E = useEffectEvent$1((e) => {
1681
- var t;
1682
- let callback = () => {
1683
- var t;
1684
- T(e), (t = getTarget$1(e)) == null || t.removeEventListener("keydown", callback);
1685
- };
1686
- (t = getTarget$1(e)) == null || t.addEventListener("keydown", callback);
1687
- }), D = useEffectEvent$1((e) => {
1688
- let t = o.current.insideReactTree;
1689
- o.current.insideReactTree = !1;
1690
- let n = y.current;
1691
- if (y.current = !1, u === "click" && n || t || typeof v == "function" && !v(e)) return;
1692
- let r = getTarget$1(e), s = "[" + createAttribute("inert") + "]", c = getDocument(a.floating).querySelectorAll(s), l = isElement(r) ? r : null;
1693
- for (; l && !isLastTraversableNode(l);) {
1694
- let e = getParentNode(l);
1695
- if (isLastTraversableNode(e) || !isElement(e)) break;
1696
- l = e;
1697
- }
1698
- if (c.length && isElement(r) && !isRootElement(r) && !contains$1(r, a.floating) && Array.from(c).every((e) => !contains$1(l, e))) return;
1699
- if (isHTMLElement(r) && A) {
1700
- let t = isLastTraversableNode(r), n = getComputedStyle$1(r), i = /auto|scroll/, a = t || i.test(n.overflowX), o = t || i.test(n.overflowY), s = a && r.clientWidth > 0 && r.scrollWidth > r.clientWidth, c = o && r.clientHeight > 0 && r.scrollHeight > r.clientHeight, l = n.direction === "rtl", u = c && (l ? e.offsetX <= r.offsetWidth - r.clientWidth : e.offsetX > r.clientWidth), d = s && e.offsetY > r.clientHeight;
1701
- if (u || d) return;
1702
- }
1703
- let d = o.current.floatingContext?.nodeId, f = g && getNodeChildren$1(g.nodesRef.current, d).some((t) => isEventTargetWithin(e, t.context?.elements.floating));
1704
- if (isEventTargetWithin(e, a.floating) || isEventTargetWithin(e, a.domReference) || f) return;
1705
- let p = g ? getNodeChildren$1(g.nodesRef.current, d) : [];
1706
- if (p.length > 0) {
1707
- let e = !0;
1708
- if (p.forEach((t) => {
1709
- var n;
1710
- if ((n = t.context) != null && n.open && !t.context.dataRef.current.__outsidePressBubbles) {
1711
- e = !1;
1712
- return;
1713
- }
1714
- }), !e) return;
1715
- }
1716
- i(!1, e, "outside-press");
1717
- }), O = useEffectEvent$1((e) => {
1718
- var t;
1719
- let callback = () => {
1720
- var t;
1721
- D(e), (t = getTarget$1(e)) == null || t.removeEventListener(u, callback);
1722
- };
1723
- (t = getTarget$1(e)) == null || t.addEventListener(u, callback);
1724
- });
1725
- t.useEffect(() => {
1726
- if (!r || !s) return;
1727
- o.current.__escapeKeyBubbles = b, o.current.__outsidePressBubbles = x;
1728
- let e = -1;
1729
- function onScroll(e) {
1730
- i(!1, e, "ancestor-scroll");
1731
- }
1732
- function handleCompositionStart() {
1733
- window.clearTimeout(e), w.current = !0;
1734
- }
1735
- function handleCompositionEnd() {
1736
- e = window.setTimeout(() => {
1737
- w.current = !1;
1738
- }, isWebKit() ? 5 : 0);
1739
- }
1740
- let t = getDocument(a.floating);
1741
- c && (t.addEventListener("keydown", S ? E : T, S), t.addEventListener("compositionstart", handleCompositionStart), t.addEventListener("compositionend", handleCompositionEnd)), v && t.addEventListener(u, C ? O : D, C);
1742
- let n = [];
1743
- return p && (isElement(a.domReference) && (n = getOverflowAncestors(a.domReference)), isElement(a.floating) && (n = n.concat(getOverflowAncestors(a.floating))), !isElement(a.reference) && a.reference && a.reference.contextElement && (n = n.concat(getOverflowAncestors(a.reference.contextElement)))), n = n.filter((e) => e !== t.defaultView?.visualViewport), n.forEach((e) => {
1744
- e.addEventListener("scroll", onScroll);
1745
- }), () => {
1746
- c && (t.removeEventListener("keydown", S ? E : T, S), t.removeEventListener("compositionstart", handleCompositionStart), t.removeEventListener("compositionend", handleCompositionEnd)), v && t.removeEventListener(u, C ? O : D, C), n.forEach((e) => {
1747
- e.removeEventListener("scroll", onScroll);
1748
- }), window.clearTimeout(e);
1749
- };
1750
- }, [
1751
- o,
1752
- a,
1753
- c,
1754
- v,
1755
- u,
1756
- r,
1757
- i,
1758
- p,
1759
- s,
1760
- b,
1761
- x,
1762
- T,
1763
- S,
1764
- E,
1765
- D,
1766
- C,
1767
- O
1768
- ]), t.useEffect(() => {
1769
- o.current.insideReactTree = !1;
1770
- }, [
1771
- o,
1772
- v,
1773
- u
1774
- ]);
1775
- let k = t.useMemo(() => ({
1776
- onKeyDown: T,
1777
- ...d && {
1778
- [ye[f]]: (e) => {
1779
- i(!1, e.nativeEvent, "reference-press");
1780
- },
1781
- ...f !== "click" && { onClick(e) {
1782
- i(!1, e.nativeEvent, "reference-press");
1783
- } }
1784
- }
1785
- }), [
1786
- T,
1787
- i,
1788
- d,
1789
- f
1790
- ]), A = t.useMemo(() => {
1791
- function setMouseDownOrUpInside(e) {
1792
- e.button === 0 && (y.current = !0);
1793
- }
1794
- return {
1795
- onKeyDown: T,
1796
- onMouseDown: setMouseDownOrUpInside,
1797
- onMouseUp: setMouseDownOrUpInside,
1798
- [be[u]]: () => {
1799
- o.current.insideReactTree = !0;
1800
- }
1801
- };
1802
- }, [
1803
- T,
1804
- u,
1805
- o
1806
- ]);
1807
- return t.useMemo(() => s ? {
1808
- reference: k,
1809
- floating: A
1810
- } : {}, [
1811
- s,
1812
- k,
1813
- A
1814
- ]);
1815
- }
1816
- function useFloatingRootContext(e) {
1817
- let { open: n = !1, onOpenChange: r, elements: i } = e, a = Y(), o = t.useRef({}), [s] = t.useState(() => createEventEmitter()), c = useFloatingParentNodeId() != null, [l, u] = t.useState(i.reference), d = useEffectEvent$1((e, t, n) => {
1818
- o.current.openEvent = e ? t : void 0, s.emit("openchange", {
1819
- open: e,
1820
- event: t,
1821
- reason: n,
1822
- nested: c
1823
- }), r?.(e, t, n);
1824
- }), f = t.useMemo(() => ({ setPositionReference: u }), []), p = t.useMemo(() => ({
1825
- reference: l || i.reference || null,
1826
- floating: i.floating || null,
1827
- domReference: i.reference
1828
- }), [
1829
- l,
1830
- i.reference,
1831
- i.floating
1832
- ]);
1833
- return t.useMemo(() => ({
1834
- dataRef: o,
1835
- open: n,
1836
- onOpenChange: d,
1837
- elements: p,
1838
- events: s,
1839
- floatingId: a,
1840
- refs: f
1841
- }), [
1842
- n,
1843
- d,
1844
- p,
1845
- s,
1846
- a,
1847
- f
1848
- ]);
1849
- }
1850
- function useFloating(e) {
1851
- let { elements: n, ...r } = e === void 0 ? {} : e, { nodeId: i } = r, a = useFloatingRootContext({
1852
- ...r,
1853
- elements: {
1854
- reference: n?.reference ?? null,
1855
- floating: n?.floating ?? null
1856
- }
1857
- }), o = r.rootContext || a, s = o.elements, [c, l] = t.useState(null), [u, d] = t.useState(null), f = s?.domReference || c, p = t.useRef(null), m = useFloatingTree();
1858
- S(() => {
1859
- f && (p.current = f);
1860
- }, [f]);
1861
- let h = useFloating$1({
1862
- ...r,
1863
- elements: {
1864
- ...s,
1865
- ...u && { reference: u }
1866
- }
1867
- }), g = t.useCallback((e) => {
1868
- let t = isElement(e) ? {
1869
- getBoundingClientRect: () => e.getBoundingClientRect(),
1870
- getClientRects: () => e.getClientRects(),
1871
- contextElement: e
1872
- } : e;
1873
- d(t), h.refs.setReference(t);
1874
- }, [h.refs]), _ = t.useCallback((e) => {
1875
- (isElement(e) || e === null) && (p.current = e, l(e)), (isElement(h.refs.reference.current) || h.refs.reference.current === null || e !== null && !isElement(e)) && h.refs.setReference(e);
1876
- }, [h.refs]), v = t.useMemo(() => ({
1877
- ...h.refs,
1878
- setReference: _,
1879
- setPositionReference: g,
1880
- domReference: p
1881
- }), [
1882
- h.refs,
1883
- _,
1884
- g
1885
- ]), y = t.useMemo(() => ({
1886
- ...h.elements,
1887
- domReference: f
1888
- }), [h.elements, f]), b = t.useMemo(() => ({
1889
- ...h,
1890
- ...o,
1891
- refs: v,
1892
- elements: y,
1893
- nodeId: i
1894
- }), [
1895
- h,
1896
- v,
1897
- y,
1898
- i,
1899
- o
1900
- ]);
1901
- return S(() => {
1902
- o.dataRef.current.floatingContext = b;
1903
- let e = m?.nodesRef.current.find((e) => e.id === i);
1904
- e && (e.context = b);
1905
- }), t.useMemo(() => ({
1906
- ...h,
1907
- context: b,
1908
- refs: v,
1909
- elements: y
1910
- }), [
1911
- h,
1912
- v,
1913
- y,
1914
- b
1915
- ]);
1916
- }
1917
- function isMacSafari() {
1918
- return isMac() && isSafari();
1919
- }
1920
- function useFocus(e, n) {
1921
- n === void 0 && (n = {});
1922
- let { open: r, onOpenChange: i, events: a, dataRef: o, elements: s } = e, { enabled: c = !0, visibleOnly: l = !0 } = n, u = t.useRef(!1), d = t.useRef(-1), f = t.useRef(!0);
1923
- t.useEffect(() => {
1924
- if (!c) return;
1925
- let e = getWindow(s.domReference);
1926
- function onBlur() {
1927
- !r && isHTMLElement(s.domReference) && s.domReference === activeElement(getDocument(s.domReference)) && (u.current = !0);
1928
- }
1929
- function onKeyDown() {
1930
- f.current = !0;
1931
- }
1932
- function onPointerDown() {
1933
- f.current = !1;
1934
- }
1935
- return e.addEventListener("blur", onBlur), isMacSafari() && (e.addEventListener("keydown", onKeyDown, !0), e.addEventListener("pointerdown", onPointerDown, !0)), () => {
1936
- e.removeEventListener("blur", onBlur), isMacSafari() && (e.removeEventListener("keydown", onKeyDown, !0), e.removeEventListener("pointerdown", onPointerDown, !0));
1937
- };
1938
- }, [
1939
- s.domReference,
1940
- r,
1941
- c
1942
- ]), t.useEffect(() => {
1943
- if (!c) return;
1944
- function onOpenChange(e) {
1945
- let { reason: t } = e;
1946
- (t === "reference-press" || t === "escape-key") && (u.current = !0);
1947
- }
1948
- return a.on("openchange", onOpenChange), () => {
1949
- a.off("openchange", onOpenChange);
1950
- };
1951
- }, [a, c]), t.useEffect(() => () => {
1952
- clearTimeoutIfSet(d);
1953
- }, []);
1954
- let p = t.useMemo(() => ({
1955
- onMouseLeave() {
1956
- u.current = !1;
1957
- },
1958
- onFocus(e) {
1959
- if (u.current) return;
1960
- let t = getTarget$1(e.nativeEvent);
1961
- if (l && isElement(t)) {
1962
- if (isMacSafari() && !e.relatedTarget) {
1963
- if (!f.current && !isTypeableElement(t)) return;
1964
- } else if (!matchesFocusVisible(t)) return;
1965
- }
1966
- i(!0, e.nativeEvent, "focus");
1967
- },
1968
- onBlur(e) {
1969
- u.current = !1;
1970
- let t = e.relatedTarget, n = e.nativeEvent, r = isElement(t) && t.hasAttribute(createAttribute("focus-guard")) && t.getAttribute("data-type") === "outside";
1971
- d.current = window.setTimeout(() => {
1972
- let e = activeElement(s.domReference ? s.domReference.ownerDocument : document);
1973
- (t || e !== s.domReference) && (contains$1(o.current.floatingContext?.refs.floating.current, e) || contains$1(s.domReference, e) || r || i(!1, n, "focus"));
1974
- });
1975
- }
1976
- }), [
1977
- o,
1978
- s.domReference,
1979
- i,
1980
- l
1981
- ]);
1982
- return t.useMemo(() => c ? { reference: p } : {}, [c, p]);
1983
- }
1984
- function mergeProps(e, t, n) {
1985
- let r = /* @__PURE__ */ new Map(), i = n === "item", a = e;
1986
- if (i && e) {
1987
- let { [K]: t, [q]: n, ...r } = e;
1988
- a = r;
1989
- }
1990
- return {
1991
- ...n === "floating" && {
1992
- tabIndex: -1,
1993
- [G]: ""
1994
- },
1995
- ...a,
1996
- ...t.map((t) => {
1997
- let r = t ? t[n] : null;
1998
- return typeof r == "function" ? e ? r(e) : null : r;
1999
- }).concat(e).reduce((e, t) => (t && Object.entries(t).forEach((t) => {
2000
- let [n, a] = t;
2001
- if (!(i && [K, q].includes(n))) {
2002
- if (n.indexOf("on") === 0) {
2003
- if (r.has(n) || r.set(n, []), typeof a == "function") {
2004
- var o;
2005
- (o = r.get(n)) == null || o.push(a), e[n] = function() {
2006
- var e = [...arguments];
2007
- return r.get(n)?.map((t) => t(...e)).find((e) => e !== void 0);
2008
- };
2009
- }
2010
- } else e[n] = a;
2011
- }
2012
- }), e), {})
2013
- };
2014
- }
2015
- function useInteractions(e) {
2016
- e === void 0 && (e = []);
2017
- let n = e.map((e) => e?.reference), r = e.map((e) => e?.floating), i = e.map((e) => e?.item), a = t.useCallback((t) => mergeProps(t, e, "reference"), n), o = t.useCallback((t) => mergeProps(t, e, "floating"), r), s = t.useCallback((t) => mergeProps(t, e, "item"), i);
2018
- return t.useMemo(() => ({
2019
- getReferenceProps: a,
2020
- getFloatingProps: o,
2021
- getItemProps: s
2022
- }), [
2023
- a,
2024
- o,
2025
- s
2026
- ]);
2027
- }
2028
- var xe = /*#__PURE__*/ new Map([
2029
- ["select", "listbox"],
2030
- ["combobox", "listbox"],
2031
- ["label", !1]
2032
- ]);
2033
- function useRole(e, n) {
2034
- n === void 0 && (n = {});
2035
- let { open: r, elements: i, floatingId: a } = e, { enabled: o = !0, role: s = "dialog" } = n, c = Y(), l = i.domReference?.id || c, u = t.useMemo(() => getFloatingFocusElement(i.floating)?.id || a, [i.floating, a]), d = xe.get(s) ?? s, f = useFloatingParentNodeId() != null, p = t.useMemo(() => d === "tooltip" || s === "label" ? { ["aria-" + (s === "label" ? "labelledby" : "describedby")]: r ? u : void 0 } : {
2036
- "aria-expanded": r ? "true" : "false",
2037
- "aria-haspopup": d === "alertdialog" ? "dialog" : d,
2038
- "aria-controls": r ? u : void 0,
2039
- ...d === "listbox" && { role: "combobox" },
2040
- ...d === "menu" && { id: l },
2041
- ...d === "menu" && f && { role: "menuitem" },
2042
- ...s === "select" && { "aria-autocomplete": "none" },
2043
- ...s === "combobox" && { "aria-autocomplete": "list" }
2044
- }, [
2045
- d,
2046
- u,
2047
- f,
2048
- r,
2049
- l,
2050
- s
2051
- ]), m = t.useMemo(() => {
2052
- let e = {
2053
- id: u,
2054
- ...d && { role: d }
2055
- };
2056
- return d === "tooltip" || s === "label" ? e : {
2057
- ...e,
2058
- ...d === "menu" && { "aria-labelledby": l }
2059
- };
2060
- }, [
2061
- d,
2062
- u,
2063
- l,
2064
- s
2065
- ]), h = t.useCallback((e) => {
2066
- let { active: t, selected: n } = e, r = {
2067
- role: "option",
2068
- ...t && { id: u + "-fui-option" }
2069
- };
2070
- switch (s) {
2071
- case "select":
2072
- case "combobox": return {
2073
- ...r,
2074
- "aria-selected": n
2075
- };
2076
- }
2077
- return {};
2078
- }, [u, s]);
2079
- return t.useMemo(() => o ? {
2080
- reference: p,
2081
- floating: m,
2082
- item: h
2083
- } : {}, [
2084
- o,
2085
- p,
2086
- m,
2087
- h
2088
- ]);
2089
- }
2090
- function getNodeChildren(e, t, n) {
2091
- return n === void 0 && (n = !0), e.filter((e) => e.parentId === t && (!n || e.context?.open)).flatMap((t) => [t, ...getNodeChildren(e, t.id, n)]);
2092
- }
2093
- function isPointInPolygon(e, t) {
2094
- let [n, r] = e, i = !1, a = t.length;
2095
- for (let e = 0, o = a - 1; e < a; o = e++) {
2096
- let [a, s] = t[e] || [0, 0], [c, l] = t[o] || [0, 0];
2097
- s >= r != l >= r && n <= (c - a) * (r - s) / (l - s) + a && (i = !i);
2098
- }
2099
- return i;
2100
- }
2101
- function isInside(e, t) {
2102
- return e[0] >= t.x && e[0] <= t.x + t.width && e[1] >= t.y && e[1] <= t.y + t.height;
2103
- }
2104
- function safePolygon(e) {
2105
- e === void 0 && (e = {});
2106
- let { buffer: t = .5, blockPointerEvents: n = !1, requireIntent: r = !0 } = e, i = { current: -1 }, a = !1, o = null, s = null, c = typeof performance < "u" ? performance.now() : 0;
2107
- function getCursorSpeed(e, t) {
2108
- let n = performance.now(), r = n - c;
2109
- if (o === null || s === null || r === 0) return o = e, s = t, c = n, null;
2110
- let i = e - o, a = t - s, l = Math.sqrt(i * i + a * a) / r;
2111
- return o = e, s = t, c = n, l;
2112
- }
2113
- let fn = (e) => {
2114
- let { x: n, y: o, placement: s, elements: c, onClose: l, nodeId: u, tree: d } = e;
2115
- return function onMouseMove(e) {
2116
- function close() {
2117
- clearTimeoutIfSet(i), l();
2118
- }
2119
- if (clearTimeoutIfSet(i), !c.domReference || !c.floating || s == null || n == null || o == null) return;
2120
- let { clientX: f, clientY: p } = e, m = [f, p], h = getTarget(e), g = e.type === "mouseleave", _ = contains(c.floating, h), v = contains(c.domReference, h), y = c.domReference.getBoundingClientRect(), b = c.floating.getBoundingClientRect(), x = s.split("-")[0], S = n > b.right - b.width / 2, C = o > b.bottom - b.height / 2, w = isInside(m, y), T = b.width > y.width, E = b.height > y.height, D = (T ? y : b).left, O = (T ? y : b).right, k = (E ? y : b).top, A = (E ? y : b).bottom;
2121
- if (_ && (a = !0, !g)) return;
2122
- if (v && (a = !1), v && !g) {
2123
- a = !0;
2124
- return;
2125
- }
2126
- if (g && isElement(e.relatedTarget) && contains(c.floating, e.relatedTarget) || d && getNodeChildren(d.nodesRef.current, u).length) return;
2127
- if (x === "top" && o >= y.bottom - 1 || x === "bottom" && o <= y.top + 1 || x === "left" && n >= y.right - 1 || x === "right" && n <= y.left + 1) return close();
2128
- let j = [];
2129
- switch (x) {
2130
- case "top":
2131
- j = [
2132
- [D, y.top + 1],
2133
- [D, b.bottom - 1],
2134
- [O, b.bottom - 1],
2135
- [O, y.top + 1]
2136
- ];
2137
- break;
2138
- case "bottom":
2139
- j = [
2140
- [D, b.top + 1],
2141
- [D, y.bottom - 1],
2142
- [O, y.bottom - 1],
2143
- [O, b.top + 1]
2144
- ];
2145
- break;
2146
- case "left":
2147
- j = [
2148
- [b.right - 1, A],
2149
- [b.right - 1, k],
2150
- [y.left + 1, k],
2151
- [y.left + 1, A]
2152
- ];
2153
- break;
2154
- case "right": j = [
2155
- [y.right - 1, A],
2156
- [y.right - 1, k],
2157
- [b.left + 1, k],
2158
- [b.left + 1, A]
2159
- ];
2160
- }
2161
- function getPolygon(e) {
2162
- let [n, r] = e;
2163
- switch (x) {
2164
- case "top": return [
2165
- [T ? n + t / 2 : S ? n + t * 4 : n - t * 4, r + t + 1],
2166
- [T ? n - t / 2 : S ? n + t * 4 : n - t * 4, r + t + 1],
2167
- [b.left, S || T ? b.bottom - t : b.top],
2168
- [b.right, S ? T ? b.bottom - t : b.top : b.bottom - t]
2169
- ];
2170
- case "bottom": return [
2171
- [T ? n + t / 2 : S ? n + t * 4 : n - t * 4, r - t],
2172
- [T ? n - t / 2 : S ? n + t * 4 : n - t * 4, r - t],
2173
- [b.left, S || T ? b.top + t : b.bottom],
2174
- [b.right, S ? T ? b.top + t : b.bottom : b.top + t]
2175
- ];
2176
- case "left": {
2177
- let e = [n + t + 1, E ? r + t / 2 : C ? r + t * 4 : r - t * 4], i = [n + t + 1, E ? r - t / 2 : C ? r + t * 4 : r - t * 4];
2178
- return [
2179
- [C || E ? b.right - t : b.left, b.top],
2180
- [C ? E ? b.right - t : b.left : b.right - t, b.bottom],
2181
- e,
2182
- i
2183
- ];
2184
- }
2185
- case "right": return [
2186
- [n - t, E ? r + t / 2 : C ? r + t * 4 : r - t * 4],
2187
- [n - t, E ? r - t / 2 : C ? r + t * 4 : r - t * 4],
2188
- [C || E ? b.left + t : b.right, b.top],
2189
- [C ? E ? b.left + t : b.right : b.left + t, b.bottom]
2190
- ];
2191
- }
2192
- }
2193
- if (!isPointInPolygon([f, p], j)) {
2194
- if (a && !w) return close();
2195
- if (!g && r) {
2196
- let t = getCursorSpeed(e.clientX, e.clientY);
2197
- if (t !== null && t < .1) return close();
2198
- }
2199
- isPointInPolygon([f, p], getPolygon([n, o])) ? !a && r && (i.current = window.setTimeout(close, 40)) : close();
2200
- }
2201
- };
2202
- };
2203
- return fn.__options = { blockPointerEvents: n }, fn;
2204
- }
2205
- //#endregion
2206
- //#region ../../node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
2207
- function getCssDimensions(e) {
2208
- let t = getComputedStyle$1(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, i = isHTMLElement(e), a = i ? e.offsetWidth : n, o = i ? e.offsetHeight : r, s = p(n) !== a || p(r) !== o;
2209
- return s && (n = a, r = o), {
2210
- width: n,
2211
- height: r,
2212
- $: s
2213
- };
2214
- }
2215
- function unwrapElement(e) {
2216
- return isElement(e) ? e : e.contextElement;
2217
- }
2218
- function getScale(e) {
2219
- let t = unwrapElement(e);
2220
- if (!isHTMLElement(t)) return createCoords(1);
2221
- let n = t.getBoundingClientRect(), { width: r, height: i, $: a } = getCssDimensions(t), o = (a ? p(n.width) : n.width) / r, s = (a ? p(n.height) : n.height) / i;
2222
- return (!o || !Number.isFinite(o)) && (o = 1), (!s || !Number.isFinite(s)) && (s = 1), {
2223
- x: o,
2224
- y: s
2225
- };
2226
- }
2227
- var Se = /*#__PURE__*/ createCoords(0);
2228
- function getVisualOffsets(e) {
2229
- let t = getWindow(e);
2230
- return !isWebKit() || !t.visualViewport ? Se : {
2231
- x: t.visualViewport.offsetLeft,
2232
- y: t.visualViewport.offsetTop
2233
- };
2234
- }
2235
- function shouldAddVisualOffsets(e, t, n) {
2236
- return t === void 0 && (t = !1), !n || t && n !== getWindow(e) ? !1 : t;
2237
- }
2238
- function getBoundingClientRect(e, t, n, r) {
2239
- t === void 0 && (t = !1), n === void 0 && (n = !1);
2240
- let i = e.getBoundingClientRect(), a = unwrapElement(e), o = createCoords(1);
2241
- t && (r ? isElement(r) && (o = getScale(r)) : o = getScale(e));
2242
- let s = shouldAddVisualOffsets(a, n, r) ? getVisualOffsets(a) : createCoords(0), c = (i.left + s.x) / o.x, l = (i.top + s.y) / o.y, u = i.width / o.x, d = i.height / o.y;
2243
- if (a) {
2244
- let e = getWindow(a), t = r && isElement(r) ? getWindow(r) : r, n = e, i = getFrameElement(n);
2245
- for (; i && r && t !== n;) {
2246
- let e = getScale(i), t = i.getBoundingClientRect(), r = getComputedStyle$1(i), a = t.left + (i.clientLeft + parseFloat(r.paddingLeft)) * e.x, o = t.top + (i.clientTop + parseFloat(r.paddingTop)) * e.y;
2247
- c *= e.x, l *= e.y, u *= e.x, d *= e.y, c += a, l += o, n = getWindow(i), i = getFrameElement(n);
2248
- }
2249
- }
2250
- return rectToClientRect({
2251
- width: u,
2252
- height: d,
2253
- x: c,
2254
- y: l
2255
- });
2256
- }
2257
- function getWindowScrollBarX(e, t) {
2258
- let n = getNodeScroll(e).scrollLeft;
2259
- return t ? t.left + n : getBoundingClientRect(getDocumentElement(e)).left + n;
2260
- }
2261
- function getHTMLOffset(e, t) {
2262
- let n = e.getBoundingClientRect();
2263
- return {
2264
- x: n.left + t.scrollLeft - getWindowScrollBarX(e, n),
2265
- y: n.top + t.scrollTop
2266
- };
2267
- }
2268
- function convertOffsetParentRelativeRectToViewportRelativeRect(e) {
2269
- let { elements: t, rect: n, offsetParent: r, strategy: i } = e, a = i === "fixed", o = getDocumentElement(r), s = t ? isTopLayer(t.floating) : !1;
2270
- if (r === o || s && a) return n;
2271
- let c = {
2272
- scrollLeft: 0,
2273
- scrollTop: 0
2274
- }, l = createCoords(1), u = createCoords(0), d = isHTMLElement(r);
2275
- if ((d || !d && !a) && ((getNodeName(r) !== "body" || isOverflowElement(o)) && (c = getNodeScroll(r)), d)) {
2276
- let e = getBoundingClientRect(r);
2277
- l = getScale(r), u.x = e.x + r.clientLeft, u.y = e.y + r.clientTop;
2278
- }
2279
- let f = o && !d && !a ? getHTMLOffset(o, c) : createCoords(0);
2280
- return {
2281
- width: n.width * l.x,
2282
- height: n.height * l.y,
2283
- x: n.x * l.x - c.scrollLeft * l.x + u.x + f.x,
2284
- y: n.y * l.y - c.scrollTop * l.y + u.y + f.y
2285
- };
2286
- }
2287
- function getClientRects(e) {
2288
- return Array.from(e.getClientRects());
2289
- }
2290
- function getDocumentRect(e) {
2291
- let t = getDocumentElement(e), n = getNodeScroll(e), r = e.ownerDocument.body, i = f(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), a = f(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight), o = -n.scrollLeft + getWindowScrollBarX(e), s = -n.scrollTop;
2292
- return getComputedStyle$1(r).direction === "rtl" && (o += f(t.clientWidth, r.clientWidth) - i), {
2293
- width: i,
2294
- height: a,
2295
- x: o,
2296
- y: s
2297
- };
2298
- }
2299
- var Q = 25;
2300
- function getViewportRect(e, t) {
2301
- let n = getWindow(e), r = getDocumentElement(e), i = n.visualViewport, a = r.clientWidth, o = r.clientHeight, s = 0, c = 0;
2302
- if (i) {
2303
- a = i.width, o = i.height;
2304
- let e = isWebKit();
2305
- (!e || e && t === "fixed") && (s = i.offsetLeft, c = i.offsetTop);
2306
- }
2307
- let l = getWindowScrollBarX(r);
2308
- if (l <= 0) {
2309
- let e = r.ownerDocument, t = e.body, n = getComputedStyle(t), i = e.compatMode === "CSS1Compat" && parseFloat(n.marginLeft) + parseFloat(n.marginRight) || 0, o = Math.abs(r.clientWidth - t.clientWidth - i);
2310
- o <= Q && (a -= o);
2311
- } else l <= Q && (a += l);
2312
- return {
2313
- width: a,
2314
- height: o,
2315
- x: s,
2316
- y: c
2317
- };
2318
- }
2319
- function getInnerBoundingClientRect(e, t) {
2320
- let n = getBoundingClientRect(e, !0, t === "fixed"), r = n.top + e.clientTop, i = n.left + e.clientLeft, a = isHTMLElement(e) ? getScale(e) : createCoords(1);
2321
- return {
2322
- width: e.clientWidth * a.x,
2323
- height: e.clientHeight * a.y,
2324
- x: i * a.x,
2325
- y: r * a.y
2326
- };
2327
- }
2328
- function getClientRectFromClippingAncestor(e, t, n) {
2329
- let r;
2330
- if (t === "viewport") r = getViewportRect(e, n);
2331
- else if (t === "document") r = getDocumentRect(getDocumentElement(e));
2332
- else if (isElement(t)) r = getInnerBoundingClientRect(t, n);
2333
- else {
2334
- let n = getVisualOffsets(e);
2335
- r = {
2336
- x: t.x - n.x,
2337
- y: t.y - n.y,
2338
- width: t.width,
2339
- height: t.height
2340
- };
2341
- }
2342
- return rectToClientRect(r);
2343
- }
2344
- function hasFixedPositionAncestor(e, t) {
2345
- let n = getParentNode(e);
2346
- return n === t || !isElement(n) || isLastTraversableNode(n) ? !1 : getComputedStyle$1(n).position === "fixed" || hasFixedPositionAncestor(n, t);
2347
- }
2348
- function getClippingElementAncestors(e, t) {
2349
- let n = t.get(e);
2350
- if (n) return n;
2351
- let r = getOverflowAncestors(e, [], !1).filter((e) => isElement(e) && getNodeName(e) !== "body"), i = null, a = getComputedStyle$1(e).position === "fixed", o = a ? getParentNode(e) : e;
2352
- for (; isElement(o) && !isLastTraversableNode(o);) {
2353
- let t = getComputedStyle$1(o), n = isContainingBlock(o);
2354
- !n && t.position === "fixed" && (i = null), (a ? !n && !i : !n && t.position === "static" && i && (i.position === "absolute" || i.position === "fixed") || isOverflowElement(o) && !n && hasFixedPositionAncestor(e, o)) ? r = r.filter((e) => e !== o) : i = t, o = getParentNode(o);
2355
- }
2356
- return t.set(e, r), r;
2357
- }
2358
- function getClippingRect(e) {
2359
- let { element: t, boundary: n, rootBoundary: r, strategy: i } = e, a = [...n === "clippingAncestors" ? isTopLayer(t) ? [] : getClippingElementAncestors(t, this._c) : [].concat(n), r], o = getClientRectFromClippingAncestor(t, a[0], i), s = o.top, c = o.right, l = o.bottom, u = o.left;
2360
- for (let e = 1; e < a.length; e++) {
2361
- let n = getClientRectFromClippingAncestor(t, a[e], i);
2362
- s = f(n.top, s), c = d(n.right, c), l = d(n.bottom, l), u = f(n.left, u);
2363
- }
2364
- return {
2365
- width: c - u,
2366
- height: l - s,
2367
- x: u,
2368
- y: s
2369
- };
2370
- }
2371
- function getDimensions(e) {
2372
- let { width: t, height: n } = getCssDimensions(e);
2373
- return {
2374
- width: t,
2375
- height: n
2376
- };
2377
- }
2378
- function getRectRelativeToOffsetParent(e, t, n) {
2379
- let r = isHTMLElement(t), i = getDocumentElement(t), a = n === "fixed", o = getBoundingClientRect(e, !0, a, t), s = {
2380
- scrollLeft: 0,
2381
- scrollTop: 0
2382
- }, c = createCoords(0);
2383
- function setLeftRTLScrollbarOffset() {
2384
- c.x = getWindowScrollBarX(i);
2385
- }
2386
- if (r || !r && !a) {
2387
- if ((getNodeName(t) !== "body" || isOverflowElement(i)) && (s = getNodeScroll(t)), r) {
2388
- let e = getBoundingClientRect(t, !0, a, t);
2389
- c.x = e.x + t.clientLeft, c.y = e.y + t.clientTop;
2390
- } else i && setLeftRTLScrollbarOffset();
2391
- }
2392
- a && !r && i && setLeftRTLScrollbarOffset();
2393
- let l = i && !r && !a ? getHTMLOffset(i, s) : createCoords(0);
2394
- return {
2395
- x: o.left + s.scrollLeft - c.x - l.x,
2396
- y: o.top + s.scrollTop - c.y - l.y,
2397
- width: o.width,
2398
- height: o.height
2399
- };
2400
- }
2401
- function isStaticPositioned(e) {
2402
- return getComputedStyle$1(e).position === "static";
2403
- }
2404
- function getTrueOffsetParent(e, t) {
2405
- if (!isHTMLElement(e) || getComputedStyle$1(e).position === "fixed") return null;
2406
- if (t) return t(e);
2407
- let n = e.offsetParent;
2408
- return getDocumentElement(e) === n && (n = n.ownerDocument.body), n;
2409
- }
2410
- function getOffsetParent(e, t) {
2411
- let n = getWindow(e);
2412
- if (isTopLayer(e)) return n;
2413
- if (!isHTMLElement(e)) {
2414
- let t = getParentNode(e);
2415
- for (; t && !isLastTraversableNode(t);) {
2416
- if (isElement(t) && !isStaticPositioned(t)) return t;
2417
- t = getParentNode(t);
2418
- }
2419
- return n;
2420
- }
2421
- let r = getTrueOffsetParent(e, t);
2422
- for (; r && isTableElement(r) && isStaticPositioned(r);) r = getTrueOffsetParent(r, t);
2423
- return r && isLastTraversableNode(r) && isStaticPositioned(r) && !isContainingBlock(r) ? n : r || getContainingBlock(e) || n;
2424
- }
2425
- var getElementRects = async function(e) {
2426
- let t = this.getOffsetParent || getOffsetParent, n = this.getDimensions, r = await n(e.floating);
2427
- return {
2428
- reference: getRectRelativeToOffsetParent(e.reference, await t(e.floating), e.strategy),
2429
- floating: {
2430
- x: 0,
2431
- y: 0,
2432
- width: r.width,
2433
- height: r.height
2434
- }
2435
- };
2436
- };
2437
- function isRTL(e) {
2438
- return getComputedStyle$1(e).direction === "rtl";
2439
- }
2440
- var Ce = {
2441
- convertOffsetParentRelativeRectToViewportRelativeRect,
2442
- getDocumentElement,
2443
- getClippingRect,
2444
- getOffsetParent,
2445
- getElementRects,
2446
- getClientRects,
2447
- getDimensions,
2448
- getScale,
2449
- isElement,
2450
- isRTL
2451
- };
2452
- function rectsAreEqual(e, t) {
2453
- return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
2454
- }
2455
- function observeMove(e, t) {
2456
- let n = null, r, i = getDocumentElement(e);
2457
- function cleanup() {
2458
- var e;
2459
- clearTimeout(r), (e = n) == null || e.disconnect(), n = null;
2460
- }
2461
- function refresh(a, o) {
2462
- a === void 0 && (a = !1), o === void 0 && (o = 1), cleanup();
2463
- let s = e.getBoundingClientRect(), { left: c, top: l, width: u, height: p } = s;
2464
- if (a || t(), !u || !p) return;
2465
- let h = m(l), g = m(i.clientWidth - (c + u)), _ = m(i.clientHeight - (l + p)), v = m(c), y = {
2466
- rootMargin: -h + "px " + -g + "px " + -_ + "px " + -v + "px",
2467
- threshold: f(0, d(1, o)) || 1
2468
- }, b = !0;
2469
- function handleObserve(t) {
2470
- let n = t[0].intersectionRatio;
2471
- if (n !== o) {
2472
- if (!b) return refresh();
2473
- n ? refresh(!1, n) : r = setTimeout(() => {
2474
- refresh(!1, 1e-7);
2475
- }, 1e3);
2476
- }
2477
- n === 1 && !rectsAreEqual(s, e.getBoundingClientRect()) && refresh(), b = !1;
2478
- }
2479
- try {
2480
- n = new IntersectionObserver(handleObserve, {
2481
- ...y,
2482
- root: i.ownerDocument
2483
- });
2484
- } catch {
2485
- n = new IntersectionObserver(handleObserve, y);
2486
- }
2487
- n.observe(e);
2488
- }
2489
- return refresh(!0), cleanup;
2490
- }
2491
- function autoUpdate(e, t, n, r) {
2492
- r === void 0 && (r = {});
2493
- let { ancestorScroll: i = !0, ancestorResize: a = !0, elementResize: o = typeof ResizeObserver == "function", layoutShift: s = typeof IntersectionObserver == "function", animationFrame: c = !1 } = r, l = unwrapElement(e), u = i || a ? [...l ? getOverflowAncestors(l) : [], ...t ? getOverflowAncestors(t) : []] : [];
2494
- u.forEach((e) => {
2495
- i && e.addEventListener("scroll", n, { passive: !0 }), a && e.addEventListener("resize", n);
2496
- });
2497
- let d = l && s ? observeMove(l, n) : null, f = -1, p = null;
2498
- o && (p = new ResizeObserver((e) => {
2499
- let [r] = e;
2500
- r && r.target === l && p && t && (p.unobserve(t), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
2501
- var e;
2502
- (e = p) == null || e.observe(t);
2503
- })), n();
2504
- }), l && !c && p.observe(l), t && p.observe(t));
2505
- let m, h = c ? getBoundingClientRect(e) : null;
2506
- c && frameLoop();
2507
- function frameLoop() {
2508
- let t = getBoundingClientRect(e);
2509
- h && !rectsAreEqual(h, t) && n(), h = t, m = requestAnimationFrame(frameLoop);
2510
- }
2511
- return n(), () => {
2512
- var e;
2513
- u.forEach((e) => {
2514
- i && e.removeEventListener("scroll", n), a && e.removeEventListener("resize", n);
2515
- }), d?.(), (e = p) == null || e.disconnect(), p = null, c && cancelAnimationFrame(m);
2516
- };
2517
- }
2518
- var $ = N, we = O, Te = I, Ee = A, computePosition = (e, t, n) => {
2519
- let r = /* @__PURE__ */ new Map(), i = {
2520
- platform: Ce,
2521
- ...n
2522
- }, a = {
2523
- ...i.platform,
2524
- _c: r
2525
- };
2526
- return E(e, t, {
2527
- ...i,
2528
- platform: a
2529
- });
2530
- };
2531
- //#endregion
2532
- export { shift as C, getOverflowAncestors as E, H as S, autoUpdate$1 as T, arrow as _, $ as a, inline as b, safePolygon as c, useFloating as d, useFocus as f, useRole as g, useMergeRefs as h, Ee as i, useDelayGroup as l, useInteractions as m, autoUpdate as n, Te as o, useHover as p, computePosition as r, FloatingDelayGroup as s, we as t, useDismiss as u, flip as v, U as w, limitShift as x, W as y };