@edugis-org/webmapx 0.1.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 (84) hide show
  1. package/README.md +149 -0
  2. package/dist-lib/WMTS-DCN4zX0-.js +1169 -0
  3. package/dist-lib/alert-GeHlqlN8.js +310 -0
  4. package/dist-lib/assets/epsg-lookup.worker-J7TVnHDq.js +1 -0
  5. package/dist-lib/assets/shapefile.worker-kQfZj6G2.js +4 -0
  6. package/dist-lib/attribution-format-B4f05_u0.js +62 -0
  7. package/dist-lib/button-DFdGkRPQ.js +741 -0
  8. package/dist-lib/cesium-adapter-BHXNytkU.js +1488 -0
  9. package/dist-lib/checkbox-QoR4S8tV.js +284 -0
  10. package/dist-lib/chunk-HEgqtunE.js +20 -0
  11. package/dist-lib/chunk.36O46B5H-B6ZL7Sm1.js +77 -0
  12. package/dist-lib/chunk.3RPBFEDE-BFO1fHVm.js +138 -0
  13. package/dist-lib/chunk.5JY5FUCG-DTXsslmx.js +1090 -0
  14. package/dist-lib/chunk.6CTB5ZDJ-DjZrBd6Y.js +99 -0
  15. package/dist-lib/chunk.AJ3ENQ5C-Ci7Gm2b6.js +175 -0
  16. package/dist-lib/chunk.LD4M4QGE-CiCfhE8r.js +8 -0
  17. package/dist-lib/chunk.NYIIDP5N-BikXIStD.js +99 -0
  18. package/dist-lib/chunk.RWUUFNUL-DFztA4uV.js +43 -0
  19. package/dist-lib/chunk.SI4ACBFK-CLb9VfMG.js +61 -0
  20. package/dist-lib/chunk.YHLNUJ7P-D-kanrCf.js +503 -0
  21. package/dist-lib/core-CMAlSR68.js +22 -0
  22. package/dist-lib/decorate-CWgUV1hU.js +1139 -0
  23. package/dist-lib/decorators-B35AgiCU.js +351 -0
  24. package/dist-lib/deferred-query-service-BJDcngw6.js +386 -0
  25. package/dist-lib/dist-Dm6b7XCs.js +12318 -0
  26. package/dist-lib/dist-Ha9LQCut.js +244 -0
  27. package/dist-lib/dist-c1PlDAd1.js +2359 -0
  28. package/dist-lib/dist-kKlmcBXq.js +50 -0
  29. package/dist-lib/divider-CPm675yY.js +41 -0
  30. package/dist-lib/dropped-config-C_GyVa8o.js +17 -0
  31. package/dist-lib/dropped-layer-builder-DAaYgUPk.js +396 -0
  32. package/dist-lib/epsg-definitions-BZLZWa8Q.js +668 -0
  33. package/dist-lib/esm-CTuscnN5.js +46 -0
  34. package/dist-lib/file-sniff-Dhxj3KTF.js +251 -0
  35. package/dist-lib/geo-calculations-DbFJAUoI.js +30 -0
  36. package/dist-lib/icon-CEOgWlro.js +9 -0
  37. package/dist-lib/icon-button-Da_nBTy3.js +408 -0
  38. package/dist-lib/input-CeGntPlT.js +590 -0
  39. package/dist-lib/layer-discovery-afWzu5hY.js +2825 -0
  40. package/dist-lib/leaflet-adapter-D9djjrKv.js +1227 -0
  41. package/dist-lib/lib-CdHVicAE.js +4074 -0
  42. package/dist-lib/map-layer-registry-2cmkiRDK.js +62 -0
  43. package/dist-lib/maplibre-adapter-TFc3e0G9.js +1190 -0
  44. package/dist-lib/maplibre-expression-evaluator-DCWUcpwf.js +7233 -0
  45. package/dist-lib/marker-utils-DztWXeop.js +12 -0
  46. package/dist-lib/ol-tilegrid-9VtyxaLG.js +64 -0
  47. package/dist-lib/openlayers-adapter-DVW1KCRv.js +13307 -0
  48. package/dist-lib/option-CBxl1mZP.js +1106 -0
  49. package/dist-lib/papaparse.min-B7v3c0D7.js +501 -0
  50. package/dist-lib/rbush-C8k41T4z.js +254 -0
  51. package/dist-lib/shapefile-SawVY6xg.js +207 -0
  52. package/dist-lib/spinner-DysxdNG9.js +6 -0
  53. package/dist-lib/src-CL94RDe3.js +111 -0
  54. package/dist-lib/throttle-BeneRNYK.js +16 -0
  55. package/dist-lib/toast-Cm28o9U6.js +15 -0
  56. package/dist-lib/togeojson.es-DAgiTBvg.js +579 -0
  57. package/dist-lib/tooltip-Cucn1SiD.js +197 -0
  58. package/dist-lib/webmapx-3d-tool-D4CTD2gB.js +176 -0
  59. package/dist-lib/webmapx-base-tool-Dm9NAWLD.js +75 -0
  60. package/dist-lib/webmapx-config-edit-tool-DCTyxqTk.js +389 -0
  61. package/dist-lib/webmapx-coordinates-tool-jeWohup9.js +648 -0
  62. package/dist-lib/webmapx-core-bundle-BDImi1RE.js +8203 -0
  63. package/dist-lib/webmapx-draw-tool-DooAV8cF.js +4336 -0
  64. package/dist-lib/webmapx-geolocation-tool-Rw3-Iad1.js +788 -0
  65. package/dist-lib/webmapx-import-layer-tool-DRYviHd5.js +250 -0
  66. package/dist-lib/webmapx-info-tool-BJA157cy.js +412 -0
  67. package/dist-lib/webmapx-language-osmvector-M5y_lwOg.js +489 -0
  68. package/dist-lib/webmapx-measure-tool-BXhMJFC6.js +590 -0
  69. package/dist-lib/webmapx-modal-tool-eF6Naluv.js +84 -0
  70. package/dist-lib/webmapx-plugin-tool-D2Hghf9n.js +45 -0
  71. package/dist-lib/webmapx-print-tool-ob1bOsR5.js +348 -0
  72. package/dist-lib/webmapx-search-tool-Cv8BrYvY.js +437 -0
  73. package/dist-lib/webmapx-settings-DDEJ8aoV.js +479 -0
  74. package/dist-lib/webmapx-truearea-tool-CMB4Orm-.js +615 -0
  75. package/dist-lib/webmapx-view-mode-tool-CUpLNjOj.js +106 -0
  76. package/dist-lib/webmapx.css +2 -0
  77. package/dist-lib/webmapx.js +1321 -0
  78. package/dist-lib/wms-feature-info-C0RVMEQC.js +145 -0
  79. package/dist-lib/wms-url-builder-DIJLQ1v2.js +54 -0
  80. package/dist-lib/zip.js-DVhmtjxZ.js +3615 -0
  81. package/package.json +107 -0
  82. package/public/data/country-epsg-codes.json +297 -0
  83. package/public/data/world-countries-simplified.topojson +1 -0
  84. package/src/locales/en/core.json +20 -0
@@ -0,0 +1,1090 @@
1
+ import { a as e, n as t } from "./decorators-B35AgiCU.js";
2
+ import { a as n, f as r, i, l as a, m as o, p as s, u as c } from "./chunk.YHLNUJ7P-D-kanrCf.js";
3
+ import { a as l, c as u, o as d, s as f } from "./chunk.NYIIDP5N-BikXIStD.js";
4
+ import { t as p } from "./chunk.6CTB5ZDJ-DjZrBd6Y.js";
5
+ import { css as m, html as h } from "lit";
6
+ //#region node_modules/lit-html/directives/unsafe-html.js
7
+ var g = class extends f {
8
+ constructor(e) {
9
+ if (super(e), this.it = i, e.type !== u.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
10
+ }
11
+ render(e) {
12
+ if (e === i || e == null) return this._t = void 0, this.it = e;
13
+ if (e === n) return e;
14
+ if (typeof e != "string") throw Error(this.constructor.directiveName + "() called with a non-string value");
15
+ if (e === this.it) return this._t;
16
+ this.it = e;
17
+ let t = [e];
18
+ return t.raw = t, this._t = {
19
+ _$litType$: this.constructor.resultType,
20
+ strings: t,
21
+ values: []
22
+ };
23
+ }
24
+ };
25
+ g.directiveName = "unsafeHTML", g.resultType = 1;
26
+ var _ = d(g), v = m`
27
+ :host {
28
+ --arrow-color: var(--sl-color-neutral-1000);
29
+ --arrow-size: 6px;
30
+
31
+ /*
32
+ * These properties are computed to account for the arrow's dimensions after being rotated 45º. The constant
33
+ * 0.7071 is derived from sin(45), which is the diagonal size of the arrow's container after rotating.
34
+ */
35
+ --arrow-size-diagonal: calc(var(--arrow-size) * 0.7071);
36
+ --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));
37
+
38
+ display: contents;
39
+ }
40
+
41
+ .popup {
42
+ position: absolute;
43
+ isolation: isolate;
44
+ max-width: var(--auto-size-available-width, none);
45
+ max-height: var(--auto-size-available-height, none);
46
+ }
47
+
48
+ .popup--fixed {
49
+ position: fixed;
50
+ }
51
+
52
+ .popup:not(.popup--active) {
53
+ display: none;
54
+ }
55
+
56
+ .popup__arrow {
57
+ position: absolute;
58
+ width: calc(var(--arrow-size-diagonal) * 2);
59
+ height: calc(var(--arrow-size-diagonal) * 2);
60
+ rotate: 45deg;
61
+ background: var(--arrow-color);
62
+ z-index: -1;
63
+ }
64
+
65
+ /* Hover bridge */
66
+ .popup-hover-bridge:not(.popup-hover-bridge--visible) {
67
+ display: none;
68
+ }
69
+
70
+ .popup-hover-bridge {
71
+ position: fixed;
72
+ z-index: calc(var(--sl-z-index-dropdown) - 1);
73
+ top: 0;
74
+ right: 0;
75
+ bottom: 0;
76
+ left: 0;
77
+ clip-path: polygon(
78
+ var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),
79
+ var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),
80
+ var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),
81
+ var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)
82
+ );
83
+ }
84
+ `, y = Math.min, b = Math.max, x = Math.round, S = Math.floor, C = (e) => ({
85
+ x: e,
86
+ y: e
87
+ }), w = {
88
+ left: "right",
89
+ right: "left",
90
+ bottom: "top",
91
+ top: "bottom"
92
+ }, T = {
93
+ start: "end",
94
+ end: "start"
95
+ };
96
+ function E(e, t, n) {
97
+ return b(e, y(t, n));
98
+ }
99
+ function D(e, t) {
100
+ return typeof e == "function" ? e(t) : e;
101
+ }
102
+ function O(e) {
103
+ return e.split("-")[0];
104
+ }
105
+ function k(e) {
106
+ return e.split("-")[1];
107
+ }
108
+ function A(e) {
109
+ return e === "x" ? "y" : "x";
110
+ }
111
+ function ee(e) {
112
+ return e === "y" ? "height" : "width";
113
+ }
114
+ var te = /*#__PURE__*/ new Set(["top", "bottom"]);
115
+ function j(e) {
116
+ return te.has(O(e)) ? "y" : "x";
117
+ }
118
+ function ne(e) {
119
+ return A(j(e));
120
+ }
121
+ function re(e, t, n) {
122
+ n === void 0 && (n = !1);
123
+ let r = k(e), i = ne(e), a = ee(i), o = i === "x" ? r === (n ? "end" : "start") ? "right" : "left" : r === "start" ? "bottom" : "top";
124
+ return t.reference[a] > t.floating[a] && (o = ce(o)), [o, ce(o)];
125
+ }
126
+ function M(e) {
127
+ let t = ce(e);
128
+ return [
129
+ N(e),
130
+ t,
131
+ N(t)
132
+ ];
133
+ }
134
+ function N(e) {
135
+ return e.replace(/start|end/g, (e) => T[e]);
136
+ }
137
+ var P = ["left", "right"], F = ["right", "left"], ie = ["top", "bottom"], ae = ["bottom", "top"];
138
+ function oe(e, t, n) {
139
+ switch (e) {
140
+ case "top":
141
+ case "bottom": return n ? t ? F : P : t ? P : F;
142
+ case "left":
143
+ case "right": return t ? ie : ae;
144
+ default: return [];
145
+ }
146
+ }
147
+ function se(e, t, n, r) {
148
+ let i = k(e), a = oe(O(e), n === "start", r);
149
+ return i && (a = a.map((e) => e + "-" + i), t && (a = a.concat(a.map(N)))), a;
150
+ }
151
+ function ce(e) {
152
+ return e.replace(/left|right|bottom|top/g, (e) => w[e]);
153
+ }
154
+ function le(e) {
155
+ return {
156
+ top: 0,
157
+ right: 0,
158
+ bottom: 0,
159
+ left: 0,
160
+ ...e
161
+ };
162
+ }
163
+ function ue(e) {
164
+ return typeof e == "number" ? {
165
+ top: e,
166
+ right: e,
167
+ bottom: e,
168
+ left: e
169
+ } : le(e);
170
+ }
171
+ function I(e) {
172
+ let { x: t, y: n, width: r, height: i } = e;
173
+ return {
174
+ width: r,
175
+ height: i,
176
+ top: n,
177
+ left: t,
178
+ right: t + r,
179
+ bottom: n + i,
180
+ x: t,
181
+ y: n
182
+ };
183
+ }
184
+ //#endregion
185
+ //#region node_modules/@floating-ui/core/dist/floating-ui.core.mjs
186
+ function de(e, t, n) {
187
+ let { reference: r, floating: i } = e, a = j(t), o = ne(t), s = ee(o), c = O(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;
188
+ switch (c) {
189
+ case "top":
190
+ p = {
191
+ x: u,
192
+ y: r.y - i.height
193
+ };
194
+ break;
195
+ case "bottom":
196
+ p = {
197
+ x: u,
198
+ y: r.y + r.height
199
+ };
200
+ break;
201
+ case "right":
202
+ p = {
203
+ x: r.x + r.width,
204
+ y: d
205
+ };
206
+ break;
207
+ case "left":
208
+ p = {
209
+ x: r.x - i.width,
210
+ y: d
211
+ };
212
+ break;
213
+ default: p = {
214
+ x: r.x,
215
+ y: r.y
216
+ };
217
+ }
218
+ switch (k(t)) {
219
+ case "start":
220
+ p[o] -= f * (n && l ? -1 : 1);
221
+ break;
222
+ case "end":
223
+ p[o] += f * (n && l ? -1 : 1);
224
+ break;
225
+ }
226
+ return p;
227
+ }
228
+ var fe = async (e, t, n) => {
229
+ let { placement: r = "bottom", strategy: i = "absolute", middleware: a = [], platform: o } = n, s = a.filter(Boolean), c = await (o.isRTL == null ? void 0 : o.isRTL(t)), l = await o.getElementRects({
230
+ reference: e,
231
+ floating: t,
232
+ strategy: i
233
+ }), { x: u, y: d } = de(l, r, c), f = r, p = {}, m = 0;
234
+ for (let n = 0; n < s.length; n++) {
235
+ let { name: a, fn: h } = s[n], { x: g, y: _, data: v, reset: y } = await h({
236
+ x: u,
237
+ y: d,
238
+ initialPlacement: r,
239
+ placement: f,
240
+ strategy: i,
241
+ middlewareData: p,
242
+ rects: l,
243
+ platform: o,
244
+ elements: {
245
+ reference: e,
246
+ floating: t
247
+ }
248
+ });
249
+ u = g ?? u, d = _ ?? d, p = {
250
+ ...p,
251
+ [a]: {
252
+ ...p[a],
253
+ ...v
254
+ }
255
+ }, y && m <= 50 && (m++, typeof y == "object" && (y.placement && (f = y.placement), y.rects && (l = y.rects === !0 ? await o.getElementRects({
256
+ reference: e,
257
+ floating: t,
258
+ strategy: i
259
+ }) : y.rects), {x: u, y: d} = de(l, f, c)), n = -1);
260
+ }
261
+ return {
262
+ x: u,
263
+ y: d,
264
+ placement: f,
265
+ strategy: i,
266
+ middlewareData: p
267
+ };
268
+ };
269
+ async function pe(e, t) {
270
+ t === void 0 && (t = {});
271
+ 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 } = D(t, e), p = ue(f), m = o[d ? u === "floating" ? "reference" : "floating" : u], h = I(await i.getClippingRect({
272
+ element: await (i.isElement == null ? void 0 : i.isElement(m)) ?? !0 ? m : m.contextElement || await (i.getDocumentElement == null ? void 0 : i.getDocumentElement(o.floating)),
273
+ boundary: c,
274
+ rootBoundary: l,
275
+ strategy: s
276
+ })), g = u === "floating" ? {
277
+ x: n,
278
+ y: r,
279
+ width: a.floating.width,
280
+ height: a.floating.height
281
+ } : 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(_)) || {
282
+ x: 1,
283
+ y: 1
284
+ }, y = I(i.convertOffsetParentRelativeRectToViewportRelativeRect ? await i.convertOffsetParentRelativeRectToViewportRelativeRect({
285
+ elements: o,
286
+ rect: g,
287
+ offsetParent: _,
288
+ strategy: s
289
+ }) : g);
290
+ return {
291
+ top: (h.top - y.top + p.top) / v.y,
292
+ bottom: (y.bottom - h.bottom + p.bottom) / v.y,
293
+ left: (h.left - y.left + p.left) / v.x,
294
+ right: (y.right - h.right + p.right) / v.x
295
+ };
296
+ }
297
+ var me = (e) => ({
298
+ name: "arrow",
299
+ options: e,
300
+ async fn(t) {
301
+ let { x: n, y: r, placement: i, rects: a, platform: o, elements: s, middlewareData: c } = t, { element: l, padding: u = 0 } = D(e, t) || {};
302
+ if (l == null) return {};
303
+ let d = ue(u), f = {
304
+ x: n,
305
+ y: r
306
+ }, p = ne(i), m = ee(p), h = await o.getDimensions(l), g = p === "y", _ = g ? "top" : "left", v = g ? "bottom" : "right", b = g ? "clientHeight" : "clientWidth", x = a.reference[m] + a.reference[p] - f[p] - a.floating[m], S = f[p] - a.reference[p], C = await (o.getOffsetParent == null ? void 0 : o.getOffsetParent(l)), w = C ? C[b] : 0;
307
+ (!w || !await (o.isElement == null ? void 0 : o.isElement(C))) && (w = s.floating[b] || a.floating[m]);
308
+ let T = x / 2 - S / 2, O = w / 2 - h[m] / 2 - 1, A = y(d[_], O), te = y(d[v], O), j = A, re = w - h[m] - te, M = w / 2 - h[m] / 2 + T, N = E(j, M, re), P = !c.arrow && k(i) != null && M !== N && a.reference[m] / 2 - (M < j ? A : te) - h[m] / 2 < 0, F = P ? M < j ? M - j : M - re : 0;
309
+ return {
310
+ [p]: f[p] + F,
311
+ data: {
312
+ [p]: N,
313
+ centerOffset: M - N - F,
314
+ ...P && { alignmentOffset: F }
315
+ },
316
+ reset: P
317
+ };
318
+ }
319
+ }), he = function(e) {
320
+ return e === void 0 && (e = {}), {
321
+ name: "flip",
322
+ options: e,
323
+ async fn(t) {
324
+ var n;
325
+ 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 } = D(e, t);
326
+ if ((n = i.arrow) != null && n.alignmentOffset) return {};
327
+ let g = O(r), _ = j(o), v = O(o) === o, y = await (s.isRTL == null ? void 0 : s.isRTL(c.floating)), b = d || (v || !m ? [ce(o)] : M(o)), x = p !== "none";
328
+ !d && x && b.push(...se(o, m, p, y));
329
+ let S = [o, ...b], C = await pe(t, h), w = [], T = i.flip?.overflows || [];
330
+ if (l && w.push(C[g]), u) {
331
+ let e = re(r, a, y);
332
+ w.push(C[e[0]], C[e[1]]);
333
+ }
334
+ if (T = [...T, {
335
+ placement: r,
336
+ overflows: w
337
+ }], !w.every((e) => e <= 0)) {
338
+ let e = (i.flip?.index || 0) + 1, t = S[e];
339
+ if (t && (!(u === "alignment" && _ !== j(t)) || T.every((e) => j(e.placement) === _ ? e.overflows[0] > 0 : !0))) return {
340
+ data: {
341
+ index: e,
342
+ overflows: T
343
+ },
344
+ reset: { placement: t }
345
+ };
346
+ let n = T.filter((e) => e.overflows[0] <= 0).sort((e, t) => e.overflows[1] - t.overflows[1])[0]?.placement;
347
+ if (!n) switch (f) {
348
+ case "bestFit": {
349
+ let e = T.filter((e) => {
350
+ if (x) {
351
+ let t = j(e.placement);
352
+ return t === _ || t === "y";
353
+ }
354
+ return !0;
355
+ }).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];
356
+ e && (n = e);
357
+ break;
358
+ }
359
+ case "initialPlacement":
360
+ n = o;
361
+ break;
362
+ }
363
+ if (r !== n) return { reset: { placement: n } };
364
+ }
365
+ return {};
366
+ }
367
+ };
368
+ }, ge = /*#__PURE__*/ new Set(["left", "top"]);
369
+ async function _e(e, t) {
370
+ let { placement: n, platform: r, elements: i } = e, a = await (r.isRTL == null ? void 0 : r.isRTL(i.floating)), o = O(n), s = k(n), c = j(n) === "y", l = ge.has(o) ? -1 : 1, u = a && c ? -1 : 1, d = D(t, e), { mainAxis: f, crossAxis: p, alignmentAxis: m } = typeof d == "number" ? {
371
+ mainAxis: d,
372
+ crossAxis: 0,
373
+ alignmentAxis: null
374
+ } : {
375
+ mainAxis: d.mainAxis || 0,
376
+ crossAxis: d.crossAxis || 0,
377
+ alignmentAxis: d.alignmentAxis
378
+ };
379
+ return s && typeof m == "number" && (p = s === "end" ? m * -1 : m), c ? {
380
+ x: p * u,
381
+ y: f * l
382
+ } : {
383
+ x: f * l,
384
+ y: p * u
385
+ };
386
+ }
387
+ var ve = function(e) {
388
+ return e === void 0 && (e = 0), {
389
+ name: "offset",
390
+ options: e,
391
+ async fn(t) {
392
+ var n;
393
+ let { x: r, y: i, placement: a, middlewareData: o } = t, s = await _e(t, e);
394
+ return a === o.offset?.placement && (n = o.arrow) != null && n.alignmentOffset ? {} : {
395
+ x: r + s.x,
396
+ y: i + s.y,
397
+ data: {
398
+ ...s,
399
+ placement: a
400
+ }
401
+ };
402
+ }
403
+ };
404
+ }, ye = function(e) {
405
+ return e === void 0 && (e = {}), {
406
+ name: "shift",
407
+ options: e,
408
+ async fn(t) {
409
+ let { x: n, y: r, placement: i } = t, { mainAxis: a = !0, crossAxis: o = !1, limiter: s = { fn: (e) => {
410
+ let { x: t, y: n } = e;
411
+ return {
412
+ x: t,
413
+ y: n
414
+ };
415
+ } }, ...c } = D(e, t), l = {
416
+ x: n,
417
+ y: r
418
+ }, u = await pe(t, c), d = j(O(i)), f = A(d), p = l[f], m = l[d];
419
+ if (a) {
420
+ let e = f === "y" ? "top" : "left", t = f === "y" ? "bottom" : "right", n = p + u[e], r = p - u[t];
421
+ p = E(n, p, r);
422
+ }
423
+ if (o) {
424
+ let e = d === "y" ? "top" : "left", t = d === "y" ? "bottom" : "right", n = m + u[e], r = m - u[t];
425
+ m = E(n, m, r);
426
+ }
427
+ let h = s.fn({
428
+ ...t,
429
+ [f]: p,
430
+ [d]: m
431
+ });
432
+ return {
433
+ ...h,
434
+ data: {
435
+ x: h.x - n,
436
+ y: h.y - r,
437
+ enabled: {
438
+ [f]: a,
439
+ [d]: o
440
+ }
441
+ }
442
+ };
443
+ }
444
+ };
445
+ }, be = function(e) {
446
+ return e === void 0 && (e = {}), {
447
+ name: "size",
448
+ options: e,
449
+ async fn(t) {
450
+ var n, r;
451
+ let { placement: i, rects: a, platform: o, elements: s } = t, { apply: c = () => {}, ...l } = D(e, t), u = await pe(t, l), d = O(i), f = k(i), p = j(i) === "y", { width: m, height: h } = a.floating, g, _;
452
+ d === "top" || d === "bottom" ? (g = d, _ = f === (await (o.isRTL == null ? void 0 : o.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (_ = d, g = f === "end" ? "top" : "bottom");
453
+ let v = h - u.top - u.bottom, x = m - u.left - u.right, S = y(h - u[g], v), C = y(m - u[_], x), w = !t.middlewareData.shift, T = S, E = C;
454
+ if ((n = t.middlewareData.shift) != null && n.enabled.x && (E = x), (r = t.middlewareData.shift) != null && r.enabled.y && (T = v), w && !f) {
455
+ let e = b(u.left, 0), t = b(u.right, 0), n = b(u.top, 0), r = b(u.bottom, 0);
456
+ p ? E = m - 2 * (e !== 0 || t !== 0 ? e + t : b(u.left, u.right)) : T = h - 2 * (n !== 0 || r !== 0 ? n + r : b(u.top, u.bottom));
457
+ }
458
+ await c({
459
+ ...t,
460
+ availableWidth: E,
461
+ availableHeight: T
462
+ });
463
+ let A = await o.getDimensions(s.floating);
464
+ return m !== A.width || h !== A.height ? { reset: { rects: !0 } } : {};
465
+ }
466
+ };
467
+ };
468
+ //#endregion
469
+ //#region node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
470
+ function L() {
471
+ return typeof window < "u";
472
+ }
473
+ function R(e) {
474
+ return xe(e) ? (e.nodeName || "").toLowerCase() : "#document";
475
+ }
476
+ function z(e) {
477
+ var t;
478
+ return (e == null || (t = e.ownerDocument) == null ? void 0 : t.defaultView) || window;
479
+ }
480
+ function B(e) {
481
+ return ((xe(e) ? e.ownerDocument : e.document) || window.document)?.documentElement;
482
+ }
483
+ function xe(e) {
484
+ return L() ? e instanceof Node || e instanceof z(e).Node : !1;
485
+ }
486
+ function V(e) {
487
+ return L() ? e instanceof Element || e instanceof z(e).Element : !1;
488
+ }
489
+ function H(e) {
490
+ return L() ? e instanceof HTMLElement || e instanceof z(e).HTMLElement : !1;
491
+ }
492
+ function Se(e) {
493
+ return !L() || typeof ShadowRoot > "u" ? !1 : e instanceof ShadowRoot || e instanceof z(e).ShadowRoot;
494
+ }
495
+ var Ce = /*#__PURE__*/ new Set(["inline", "contents"]);
496
+ function U(e) {
497
+ let { overflow: t, overflowX: n, overflowY: r, display: i } = q(e);
498
+ return /auto|scroll|overlay|hidden|clip/.test(t + r + n) && !Ce.has(i);
499
+ }
500
+ var we = /*#__PURE__*/ new Set([
501
+ "table",
502
+ "td",
503
+ "th"
504
+ ]);
505
+ function Te(e) {
506
+ return we.has(R(e));
507
+ }
508
+ var Ee = [":popover-open", ":modal"];
509
+ function W(e) {
510
+ return Ee.some((t) => {
511
+ try {
512
+ return e.matches(t);
513
+ } catch {
514
+ return !1;
515
+ }
516
+ });
517
+ }
518
+ var De = [
519
+ "transform",
520
+ "translate",
521
+ "scale",
522
+ "rotate",
523
+ "perspective"
524
+ ], Oe = [
525
+ "transform",
526
+ "translate",
527
+ "scale",
528
+ "rotate",
529
+ "perspective",
530
+ "filter"
531
+ ], ke = [
532
+ "paint",
533
+ "layout",
534
+ "strict",
535
+ "content"
536
+ ];
537
+ function G(e) {
538
+ let t = je(), n = V(e) ? q(e) : e;
539
+ return De.some((e) => n[e] ? n[e] !== "none" : !1) || (n.containerType ? n.containerType !== "normal" : !1) || !t && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !t && (n.filter ? n.filter !== "none" : !1) || Oe.some((e) => (n.willChange || "").includes(e)) || ke.some((e) => (n.contain || "").includes(e));
540
+ }
541
+ function Ae(e) {
542
+ let t = Y(e);
543
+ for (; H(t) && !K(t);) {
544
+ if (G(t)) return t;
545
+ if (W(t)) return null;
546
+ t = Y(t);
547
+ }
548
+ return null;
549
+ }
550
+ function je() {
551
+ return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
552
+ }
553
+ var Me = /*#__PURE__*/ new Set([
554
+ "html",
555
+ "body",
556
+ "#document"
557
+ ]);
558
+ function K(e) {
559
+ return Me.has(R(e));
560
+ }
561
+ function q(e) {
562
+ return z(e).getComputedStyle(e);
563
+ }
564
+ function J(e) {
565
+ return V(e) ? {
566
+ scrollLeft: e.scrollLeft,
567
+ scrollTop: e.scrollTop
568
+ } : {
569
+ scrollLeft: e.scrollX,
570
+ scrollTop: e.scrollY
571
+ };
572
+ }
573
+ function Y(e) {
574
+ if (R(e) === "html") return e;
575
+ let t = e.assignedSlot || e.parentNode || Se(e) && e.host || B(e);
576
+ return Se(t) ? t.host : t;
577
+ }
578
+ function Ne(e) {
579
+ let t = Y(e);
580
+ return K(t) ? e.ownerDocument ? e.ownerDocument.body : e.body : H(t) && U(t) ? t : Ne(t);
581
+ }
582
+ function X(e, t, n) {
583
+ t === void 0 && (t = []), n === void 0 && (n = !0);
584
+ let r = Ne(e), i = r === e.ownerDocument?.body, a = z(r);
585
+ if (i) {
586
+ let e = Pe(a);
587
+ return t.concat(a, a.visualViewport || [], U(r) ? r : [], e && n ? X(e) : []);
588
+ }
589
+ return t.concat(r, X(r, [], n));
590
+ }
591
+ function Pe(e) {
592
+ return e.parent && Object.getPrototypeOf(e.parent) ? e.frameElement : null;
593
+ }
594
+ //#endregion
595
+ //#region node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
596
+ function Fe(e) {
597
+ let t = q(e), n = parseFloat(t.width) || 0, r = parseFloat(t.height) || 0, i = H(e), a = i ? e.offsetWidth : n, o = i ? e.offsetHeight : r, s = x(n) !== a || x(r) !== o;
598
+ return s && (n = a, r = o), {
599
+ width: n,
600
+ height: r,
601
+ $: s
602
+ };
603
+ }
604
+ function Ie(e) {
605
+ return V(e) ? e : e.contextElement;
606
+ }
607
+ function Z(e) {
608
+ let t = Ie(e);
609
+ if (!H(t)) return C(1);
610
+ let n = t.getBoundingClientRect(), { width: r, height: i, $: a } = Fe(t), o = (a ? x(n.width) : n.width) / r, s = (a ? x(n.height) : n.height) / i;
611
+ return (!o || !Number.isFinite(o)) && (o = 1), (!s || !Number.isFinite(s)) && (s = 1), {
612
+ x: o,
613
+ y: s
614
+ };
615
+ }
616
+ var Le = /*#__PURE__*/ C(0);
617
+ function Re(e) {
618
+ let t = z(e);
619
+ return !je() || !t.visualViewport ? Le : {
620
+ x: t.visualViewport.offsetLeft,
621
+ y: t.visualViewport.offsetTop
622
+ };
623
+ }
624
+ function ze(e, t, n) {
625
+ return t === void 0 && (t = !1), !n || t && n !== z(e) ? !1 : t;
626
+ }
627
+ function Q(e, t, n, r) {
628
+ t === void 0 && (t = !1), n === void 0 && (n = !1);
629
+ let i = e.getBoundingClientRect(), a = Ie(e), o = C(1);
630
+ t && (r ? V(r) && (o = Z(r)) : o = Z(e));
631
+ let s = ze(a, n, r) ? Re(a) : C(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;
632
+ if (a) {
633
+ let e = z(a), t = r && V(r) ? z(r) : r, n = e, i = Pe(n);
634
+ for (; i && r && t !== n;) {
635
+ let e = Z(i), t = i.getBoundingClientRect(), r = q(i), a = t.left + (i.clientLeft + parseFloat(r.paddingLeft)) * e.x, o = t.top + (i.clientTop + parseFloat(r.paddingTop)) * e.y;
636
+ c *= e.x, l *= e.y, u *= e.x, d *= e.y, c += a, l += o, n = z(i), i = Pe(n);
637
+ }
638
+ }
639
+ return I({
640
+ width: u,
641
+ height: d,
642
+ x: c,
643
+ y: l
644
+ });
645
+ }
646
+ function Be(e, t) {
647
+ let n = J(e).scrollLeft;
648
+ return t ? t.left + n : Q(B(e)).left + n;
649
+ }
650
+ function Ve(e, t) {
651
+ let n = e.getBoundingClientRect();
652
+ return {
653
+ x: n.left + t.scrollLeft - Be(e, n),
654
+ y: n.top + t.scrollTop
655
+ };
656
+ }
657
+ function He(e) {
658
+ let { elements: t, rect: n, offsetParent: r, strategy: i } = e, a = i === "fixed", o = B(r), s = t ? W(t.floating) : !1;
659
+ if (r === o || s && a) return n;
660
+ let c = {
661
+ scrollLeft: 0,
662
+ scrollTop: 0
663
+ }, l = C(1), u = C(0), d = H(r);
664
+ if ((d || !d && !a) && ((R(r) !== "body" || U(o)) && (c = J(r)), H(r))) {
665
+ let e = Q(r);
666
+ l = Z(r), u.x = e.x + r.clientLeft, u.y = e.y + r.clientTop;
667
+ }
668
+ let f = o && !d && !a ? Ve(o, c) : C(0);
669
+ return {
670
+ width: n.width * l.x,
671
+ height: n.height * l.y,
672
+ x: n.x * l.x - c.scrollLeft * l.x + u.x + f.x,
673
+ y: n.y * l.y - c.scrollTop * l.y + u.y + f.y
674
+ };
675
+ }
676
+ function Ue(e) {
677
+ return Array.from(e.getClientRects());
678
+ }
679
+ function We(e) {
680
+ let t = B(e), n = J(e), r = e.ownerDocument.body, i = b(t.scrollWidth, t.clientWidth, r.scrollWidth, r.clientWidth), a = b(t.scrollHeight, t.clientHeight, r.scrollHeight, r.clientHeight), o = -n.scrollLeft + Be(e), s = -n.scrollTop;
681
+ return q(r).direction === "rtl" && (o += b(t.clientWidth, r.clientWidth) - i), {
682
+ width: i,
683
+ height: a,
684
+ x: o,
685
+ y: s
686
+ };
687
+ }
688
+ var Ge = 25;
689
+ function Ke(e, t) {
690
+ let n = z(e), r = B(e), i = n.visualViewport, a = r.clientWidth, o = r.clientHeight, s = 0, c = 0;
691
+ if (i) {
692
+ a = i.width, o = i.height;
693
+ let e = je();
694
+ (!e || e && t === "fixed") && (s = i.offsetLeft, c = i.offsetTop);
695
+ }
696
+ let l = Be(r);
697
+ if (l <= 0) {
698
+ 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);
699
+ o <= Ge && (a -= o);
700
+ } else l <= Ge && (a += l);
701
+ return {
702
+ width: a,
703
+ height: o,
704
+ x: s,
705
+ y: c
706
+ };
707
+ }
708
+ var qe = /*#__PURE__*/ new Set(["absolute", "fixed"]);
709
+ function Je(e, t) {
710
+ let n = Q(e, !0, t === "fixed"), r = n.top + e.clientTop, i = n.left + e.clientLeft, a = H(e) ? Z(e) : C(1);
711
+ return {
712
+ width: e.clientWidth * a.x,
713
+ height: e.clientHeight * a.y,
714
+ x: i * a.x,
715
+ y: r * a.y
716
+ };
717
+ }
718
+ function Ye(e, t, n) {
719
+ let r;
720
+ if (t === "viewport") r = Ke(e, n);
721
+ else if (t === "document") r = We(B(e));
722
+ else if (V(t)) r = Je(t, n);
723
+ else {
724
+ let n = Re(e);
725
+ r = {
726
+ x: t.x - n.x,
727
+ y: t.y - n.y,
728
+ width: t.width,
729
+ height: t.height
730
+ };
731
+ }
732
+ return I(r);
733
+ }
734
+ function Xe(e, t) {
735
+ let n = Y(e);
736
+ return n === t || !V(n) || K(n) ? !1 : q(n).position === "fixed" || Xe(n, t);
737
+ }
738
+ function Ze(e, t) {
739
+ let n = t.get(e);
740
+ if (n) return n;
741
+ let r = X(e, [], !1).filter((e) => V(e) && R(e) !== "body"), i = null, a = q(e).position === "fixed", o = a ? Y(e) : e;
742
+ for (; V(o) && !K(o);) {
743
+ let t = q(o), n = G(o);
744
+ !n && t.position === "fixed" && (i = null), (a ? !n && !i : !n && t.position === "static" && i && qe.has(i.position) || U(o) && !n && Xe(e, o)) ? r = r.filter((e) => e !== o) : i = t, o = Y(o);
745
+ }
746
+ return t.set(e, r), r;
747
+ }
748
+ function Qe(e) {
749
+ let { element: t, boundary: n, rootBoundary: r, strategy: i } = e, a = [...n === "clippingAncestors" ? W(t) ? [] : Ze(t, this._c) : [].concat(n), r], o = a[0], s = a.reduce((e, n) => {
750
+ let r = Ye(t, n, i);
751
+ return e.top = b(r.top, e.top), e.right = y(r.right, e.right), e.bottom = y(r.bottom, e.bottom), e.left = b(r.left, e.left), e;
752
+ }, Ye(t, o, i));
753
+ return {
754
+ width: s.right - s.left,
755
+ height: s.bottom - s.top,
756
+ x: s.left,
757
+ y: s.top
758
+ };
759
+ }
760
+ function $e(e) {
761
+ let { width: t, height: n } = Fe(e);
762
+ return {
763
+ width: t,
764
+ height: n
765
+ };
766
+ }
767
+ function et(e, t, n) {
768
+ let r = H(t), i = B(t), a = n === "fixed", o = Q(e, !0, a, t), s = {
769
+ scrollLeft: 0,
770
+ scrollTop: 0
771
+ }, c = C(0);
772
+ function l() {
773
+ c.x = Be(i);
774
+ }
775
+ if (r || !r && !a) if ((R(t) !== "body" || U(i)) && (s = J(t)), r) {
776
+ let e = Q(t, !0, a, t);
777
+ c.x = e.x + t.clientLeft, c.y = e.y + t.clientTop;
778
+ } else i && l();
779
+ a && !r && i && l();
780
+ let u = i && !r && !a ? Ve(i, s) : C(0);
781
+ return {
782
+ x: o.left + s.scrollLeft - c.x - u.x,
783
+ y: o.top + s.scrollTop - c.y - u.y,
784
+ width: o.width,
785
+ height: o.height
786
+ };
787
+ }
788
+ function tt(e) {
789
+ return q(e).position === "static";
790
+ }
791
+ function nt(e, t) {
792
+ if (!H(e) || q(e).position === "fixed") return null;
793
+ if (t) return t(e);
794
+ let n = e.offsetParent;
795
+ return B(e) === n && (n = n.ownerDocument.body), n;
796
+ }
797
+ function rt(e, t) {
798
+ let n = z(e);
799
+ if (W(e)) return n;
800
+ if (!H(e)) {
801
+ let t = Y(e);
802
+ for (; t && !K(t);) {
803
+ if (V(t) && !tt(t)) return t;
804
+ t = Y(t);
805
+ }
806
+ return n;
807
+ }
808
+ let r = nt(e, t);
809
+ for (; r && Te(r) && tt(r);) r = nt(r, t);
810
+ return r && K(r) && tt(r) && !G(r) ? n : r || Ae(e) || n;
811
+ }
812
+ var it = async function(e) {
813
+ let t = this.getOffsetParent || rt, n = this.getDimensions, r = await n(e.floating);
814
+ return {
815
+ reference: et(e.reference, await t(e.floating), e.strategy),
816
+ floating: {
817
+ x: 0,
818
+ y: 0,
819
+ width: r.width,
820
+ height: r.height
821
+ }
822
+ };
823
+ };
824
+ function at(e) {
825
+ return q(e).direction === "rtl";
826
+ }
827
+ var ot = {
828
+ convertOffsetParentRelativeRectToViewportRelativeRect: He,
829
+ getDocumentElement: B,
830
+ getClippingRect: Qe,
831
+ getOffsetParent: rt,
832
+ getElementRects: it,
833
+ getClientRects: Ue,
834
+ getDimensions: $e,
835
+ getScale: Z,
836
+ isElement: V,
837
+ isRTL: at
838
+ };
839
+ function st(e, t) {
840
+ return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
841
+ }
842
+ function ct(e, t) {
843
+ let n = null, r, i = B(e);
844
+ function a() {
845
+ var e;
846
+ clearTimeout(r), (e = n) == null || e.disconnect(), n = null;
847
+ }
848
+ function o(s, c) {
849
+ s === void 0 && (s = !1), c === void 0 && (c = 1), a();
850
+ let l = e.getBoundingClientRect(), { left: u, top: d, width: f, height: p } = l;
851
+ if (s || t(), !f || !p) return;
852
+ let m = S(d), h = S(i.clientWidth - (u + f)), g = S(i.clientHeight - (d + p)), _ = S(u), v = {
853
+ rootMargin: -m + "px " + -h + "px " + -g + "px " + -_ + "px",
854
+ threshold: b(0, y(1, c)) || 1
855
+ }, x = !0;
856
+ function C(t) {
857
+ let n = t[0].intersectionRatio;
858
+ if (n !== c) {
859
+ if (!x) return o();
860
+ n ? o(!1, n) : r = setTimeout(() => {
861
+ o(!1, 1e-7);
862
+ }, 1e3);
863
+ }
864
+ n === 1 && !st(l, e.getBoundingClientRect()) && o(), x = !1;
865
+ }
866
+ try {
867
+ n = new IntersectionObserver(C, {
868
+ ...v,
869
+ root: i.ownerDocument
870
+ });
871
+ } catch {
872
+ n = new IntersectionObserver(C, v);
873
+ }
874
+ n.observe(e);
875
+ }
876
+ return o(!0), a;
877
+ }
878
+ function lt(e, t, n, r) {
879
+ r === void 0 && (r = {});
880
+ let { ancestorScroll: i = !0, ancestorResize: a = !0, elementResize: o = typeof ResizeObserver == "function", layoutShift: s = typeof IntersectionObserver == "function", animationFrame: c = !1 } = r, l = Ie(e), u = i || a ? [...l ? X(l) : [], ...X(t)] : [];
881
+ u.forEach((e) => {
882
+ i && e.addEventListener("scroll", n, { passive: !0 }), a && e.addEventListener("resize", n);
883
+ });
884
+ let d = l && s ? ct(l, n) : null, f = -1, p = null;
885
+ o && (p = new ResizeObserver((e) => {
886
+ let [r] = e;
887
+ r && r.target === l && p && (p.unobserve(t), cancelAnimationFrame(f), f = requestAnimationFrame(() => {
888
+ var e;
889
+ (e = p) == null || e.observe(t);
890
+ })), n();
891
+ }), l && !c && p.observe(l), p.observe(t));
892
+ let m, h = c ? Q(e) : null;
893
+ c && g();
894
+ function g() {
895
+ let t = Q(e);
896
+ h && !st(h, t) && n(), h = t, m = requestAnimationFrame(g);
897
+ }
898
+ return n(), () => {
899
+ var e;
900
+ u.forEach((e) => {
901
+ i && e.removeEventListener("scroll", n), a && e.removeEventListener("resize", n);
902
+ }), d?.(), (e = p) == null || e.disconnect(), p = null, c && cancelAnimationFrame(m);
903
+ };
904
+ }
905
+ var ut = ve, dt = ye, ft = he, pt = be, mt = me, ht = (e, t, n) => {
906
+ let r = /* @__PURE__ */ new Map(), i = {
907
+ platform: ot,
908
+ ...n
909
+ }, a = {
910
+ ...i.platform,
911
+ _c: r
912
+ };
913
+ return fe(e, t, {
914
+ ...i,
915
+ platform: a
916
+ });
917
+ };
918
+ //#endregion
919
+ //#region node_modules/composed-offset-position/dist/composed-offset-position.browser.min.mjs
920
+ function gt(e) {
921
+ return vt(e);
922
+ }
923
+ function _t(e) {
924
+ return e.assignedSlot ? e.assignedSlot : e.parentNode instanceof ShadowRoot ? e.parentNode.host : e.parentNode;
925
+ }
926
+ function vt(e) {
927
+ for (let t = e; t; t = _t(t)) if (t instanceof Element && getComputedStyle(t).display === "none") return null;
928
+ for (let t = _t(e); t; t = _t(t)) {
929
+ if (!(t instanceof Element)) continue;
930
+ let e = getComputedStyle(t);
931
+ if (e.display !== "contents" && (e.position !== "static" || G(e) || t.tagName === "BODY")) return t;
932
+ }
933
+ return null;
934
+ }
935
+ //#endregion
936
+ //#region node_modules/@shoelace-style/shoelace/dist/chunks/chunk.5JY5FUCG.js
937
+ function yt(e) {
938
+ return typeof e == "object" && !!e && "getBoundingClientRect" in e && ("contextElement" in e ? e.contextElement instanceof Element : !0);
939
+ }
940
+ var $ = class extends a {
941
+ constructor() {
942
+ super(...arguments), this.localize = new p(this), this.active = !1, this.placement = "top", this.strategy = "absolute", this.distance = 0, this.skidding = 0, this.arrow = !1, this.arrowPlacement = "anchor", this.arrowPadding = 10, this.flip = !1, this.flipFallbackPlacements = "", this.flipFallbackStrategy = "best-fit", this.flipPadding = 0, this.shift = !1, this.shiftPadding = 0, this.autoSizePadding = 0, this.hoverBridge = !1, this.updateHoverBridge = () => {
943
+ if (this.hoverBridge && this.anchorEl) {
944
+ let e = this.anchorEl.getBoundingClientRect(), t = this.popup.getBoundingClientRect(), n = this.placement.includes("top") || this.placement.includes("bottom"), r = 0, i = 0, a = 0, o = 0, s = 0, c = 0, l = 0, u = 0;
945
+ n ? e.top < t.top ? (r = e.left, i = e.bottom, a = e.right, o = e.bottom, s = t.left, c = t.top, l = t.right, u = t.top) : (r = t.left, i = t.bottom, a = t.right, o = t.bottom, s = e.left, c = e.top, l = e.right, u = e.top) : e.left < t.left ? (r = e.right, i = e.top, a = t.left, o = t.top, s = e.right, c = e.bottom, l = t.left, u = t.bottom) : (r = t.right, i = t.top, a = e.left, o = e.top, s = t.right, c = t.bottom, l = e.left, u = e.bottom), this.style.setProperty("--hover-bridge-top-left-x", `${r}px`), this.style.setProperty("--hover-bridge-top-left-y", `${i}px`), this.style.setProperty("--hover-bridge-top-right-x", `${a}px`), this.style.setProperty("--hover-bridge-top-right-y", `${o}px`), this.style.setProperty("--hover-bridge-bottom-left-x", `${s}px`), this.style.setProperty("--hover-bridge-bottom-left-y", `${c}px`), this.style.setProperty("--hover-bridge-bottom-right-x", `${l}px`), this.style.setProperty("--hover-bridge-bottom-right-y", `${u}px`);
946
+ }
947
+ };
948
+ }
949
+ async connectedCallback() {
950
+ super.connectedCallback(), await this.updateComplete, this.start();
951
+ }
952
+ disconnectedCallback() {
953
+ super.disconnectedCallback(), this.stop();
954
+ }
955
+ async updated(e) {
956
+ super.updated(e), e.has("active") && (this.active ? this.start() : this.stop()), e.has("anchor") && this.handleAnchorChange(), this.active && (await this.updateComplete, this.reposition());
957
+ }
958
+ async handleAnchorChange() {
959
+ if (await this.stop(), this.anchor && typeof this.anchor == "string") {
960
+ let e = this.getRootNode();
961
+ this.anchorEl = e.getElementById(this.anchor);
962
+ } else this.anchor instanceof Element || yt(this.anchor) ? this.anchorEl = this.anchor : this.anchorEl = this.querySelector("[slot=\"anchor\"]");
963
+ this.anchorEl instanceof HTMLSlotElement && (this.anchorEl = this.anchorEl.assignedElements({ flatten: !0 })[0]), this.anchorEl && this.active && this.start();
964
+ }
965
+ start() {
966
+ !this.anchorEl || !this.active || (this.cleanup = lt(this.anchorEl, this.popup, () => {
967
+ this.reposition();
968
+ }));
969
+ }
970
+ async stop() {
971
+ return new Promise((e) => {
972
+ this.cleanup ? (this.cleanup(), this.cleanup = void 0, this.removeAttribute("data-current-placement"), this.style.removeProperty("--auto-size-available-width"), this.style.removeProperty("--auto-size-available-height"), requestAnimationFrame(() => e())) : e();
973
+ });
974
+ }
975
+ reposition() {
976
+ if (!this.active || !this.anchorEl) return;
977
+ let e = [ut({
978
+ mainAxis: this.distance,
979
+ crossAxis: this.skidding
980
+ })];
981
+ this.sync ? e.push(pt({ apply: ({ rects: e }) => {
982
+ let t = this.sync === "width" || this.sync === "both", n = this.sync === "height" || this.sync === "both";
983
+ this.popup.style.width = t ? `${e.reference.width}px` : "", this.popup.style.height = n ? `${e.reference.height}px` : "";
984
+ } })) : (this.popup.style.width = "", this.popup.style.height = ""), this.flip && e.push(ft({
985
+ boundary: this.flipBoundary,
986
+ fallbackPlacements: this.flipFallbackPlacements,
987
+ fallbackStrategy: this.flipFallbackStrategy === "best-fit" ? "bestFit" : "initialPlacement",
988
+ padding: this.flipPadding
989
+ })), this.shift && e.push(dt({
990
+ boundary: this.shiftBoundary,
991
+ padding: this.shiftPadding
992
+ })), this.autoSize ? e.push(pt({
993
+ boundary: this.autoSizeBoundary,
994
+ padding: this.autoSizePadding,
995
+ apply: ({ availableWidth: e, availableHeight: t }) => {
996
+ this.autoSize === "vertical" || this.autoSize === "both" ? this.style.setProperty("--auto-size-available-height", `${t}px`) : this.style.removeProperty("--auto-size-available-height"), this.autoSize === "horizontal" || this.autoSize === "both" ? this.style.setProperty("--auto-size-available-width", `${e}px`) : this.style.removeProperty("--auto-size-available-width");
997
+ }
998
+ })) : (this.style.removeProperty("--auto-size-available-width"), this.style.removeProperty("--auto-size-available-height")), this.arrow && e.push(mt({
999
+ element: this.arrowEl,
1000
+ padding: this.arrowPadding
1001
+ }));
1002
+ let t = this.strategy === "absolute" ? (e) => ot.getOffsetParent(e, gt) : ot.getOffsetParent;
1003
+ ht(this.anchorEl, this.popup, {
1004
+ placement: this.placement,
1005
+ middleware: e,
1006
+ strategy: this.strategy,
1007
+ platform: s(o({}, ot), { getOffsetParent: t })
1008
+ }).then(({ x: e, y: t, middlewareData: n, placement: r }) => {
1009
+ let i = this.localize.dir() === "rtl", a = {
1010
+ top: "bottom",
1011
+ right: "left",
1012
+ bottom: "top",
1013
+ left: "right"
1014
+ }[r.split("-")[0]];
1015
+ if (this.setAttribute("data-current-placement", r), Object.assign(this.popup.style, {
1016
+ left: `${e}px`,
1017
+ top: `${t}px`
1018
+ }), this.arrow) {
1019
+ let e = n.arrow.x, t = n.arrow.y, r = "", o = "", s = "", c = "";
1020
+ if (this.arrowPlacement === "start") {
1021
+ let n = typeof e == "number" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : "";
1022
+ r = typeof t == "number" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : "", o = i ? n : "", c = i ? "" : n;
1023
+ } else if (this.arrowPlacement === "end") {
1024
+ let n = typeof e == "number" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : "";
1025
+ o = i ? "" : n, c = i ? n : "", s = typeof t == "number" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : "";
1026
+ } else this.arrowPlacement === "center" ? (c = typeof e == "number" ? "calc(50% - var(--arrow-size-diagonal))" : "", r = typeof t == "number" ? "calc(50% - var(--arrow-size-diagonal))" : "") : (c = typeof e == "number" ? `${e}px` : "", r = typeof t == "number" ? `${t}px` : "");
1027
+ Object.assign(this.arrowEl.style, {
1028
+ top: r,
1029
+ right: o,
1030
+ bottom: s,
1031
+ left: c,
1032
+ [a]: "calc(var(--arrow-size-diagonal) * -1)"
1033
+ });
1034
+ }
1035
+ }), requestAnimationFrame(() => this.updateHoverBridge()), this.emit("sl-reposition");
1036
+ }
1037
+ render() {
1038
+ return h`
1039
+ <slot name="anchor" @slotchange=${this.handleAnchorChange}></slot>
1040
+
1041
+ <span
1042
+ part="hover-bridge"
1043
+ class=${l({
1044
+ "popup-hover-bridge": !0,
1045
+ "popup-hover-bridge--visible": this.hoverBridge && this.active
1046
+ })}
1047
+ ></span>
1048
+
1049
+ <div
1050
+ part="popup"
1051
+ class=${l({
1052
+ popup: !0,
1053
+ "popup--active": this.active,
1054
+ "popup--fixed": this.strategy === "fixed",
1055
+ "popup--has-arrow": this.arrow
1056
+ })}
1057
+ >
1058
+ <slot></slot>
1059
+ ${this.arrow ? h`<div part="arrow" class="popup__arrow" role="presentation"></div>` : ""}
1060
+ </div>
1061
+ `;
1062
+ }
1063
+ };
1064
+ $.styles = [c, v], r([t(".popup")], $.prototype, "popup", 2), r([t(".popup__arrow")], $.prototype, "arrowEl", 2), r([e()], $.prototype, "anchor", 2), r([e({
1065
+ type: Boolean,
1066
+ reflect: !0
1067
+ })], $.prototype, "active", 2), r([e({ reflect: !0 })], $.prototype, "placement", 2), r([e({ reflect: !0 })], $.prototype, "strategy", 2), r([e({ type: Number })], $.prototype, "distance", 2), r([e({ type: Number })], $.prototype, "skidding", 2), r([e({ type: Boolean })], $.prototype, "arrow", 2), r([e({ attribute: "arrow-placement" })], $.prototype, "arrowPlacement", 2), r([e({
1068
+ attribute: "arrow-padding",
1069
+ type: Number
1070
+ })], $.prototype, "arrowPadding", 2), r([e({ type: Boolean })], $.prototype, "flip", 2), r([e({
1071
+ attribute: "flip-fallback-placements",
1072
+ converter: {
1073
+ fromAttribute: (e) => e.split(" ").map((e) => e.trim()).filter((e) => e !== ""),
1074
+ toAttribute: (e) => e.join(" ")
1075
+ }
1076
+ })], $.prototype, "flipFallbackPlacements", 2), r([e({ attribute: "flip-fallback-strategy" })], $.prototype, "flipFallbackStrategy", 2), r([e({ type: Object })], $.prototype, "flipBoundary", 2), r([e({
1077
+ attribute: "flip-padding",
1078
+ type: Number
1079
+ })], $.prototype, "flipPadding", 2), r([e({ type: Boolean })], $.prototype, "shift", 2), r([e({ type: Object })], $.prototype, "shiftBoundary", 2), r([e({
1080
+ attribute: "shift-padding",
1081
+ type: Number
1082
+ })], $.prototype, "shiftPadding", 2), r([e({ attribute: "auto-size" })], $.prototype, "autoSize", 2), r([e()], $.prototype, "sync", 2), r([e({ type: Object })], $.prototype, "autoSizeBoundary", 2), r([e({
1083
+ attribute: "auto-size-padding",
1084
+ type: Number
1085
+ })], $.prototype, "autoSizePadding", 2), r([e({
1086
+ attribute: "hover-bridge",
1087
+ type: Boolean
1088
+ })], $.prototype, "hoverBridge", 2);
1089
+ //#endregion
1090
+ export { _ as n, $ as t };