@svgrid/grid-wc 3.0.1 → 3.0.2

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 (92) hide show
  1. package/README.md +20 -0
  2. package/dist/GridMenus-B1mC1aPp.js +1077 -0
  3. package/dist/SvChartMenu-CBMKm7Xb.js +413 -0
  4. package/dist/SvDateRangeInput-BrYTQEMM.js +197 -0
  5. package/dist/SvDateTimePicker-CnLlqNDQ.js +766 -0
  6. package/dist/SvField-Bmzp3ObZ.js +147 -0
  7. package/dist/SvGridCellEditor-B005dmV1.js +560 -0
  8. package/dist/SvGridChart-4TcL9Rj2.js +3702 -0
  9. package/dist/SvGridChartBuilder-C4OL4XYx.js +1165 -0
  10. package/dist/SvGridChartPanel-CfHA8Ioq.js +1743 -0
  11. package/dist/SvGridChartView-Ci-9_EJ0.js +45 -0
  12. package/dist/SvGridDropdown-BlA6iw9m.js +257 -0
  13. package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs +178 -7
  14. package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs.map +1 -1
  15. package/dist/angular/types/svgrid-grid-wc-angular.d.ts +77 -2
  16. package/dist/chart/SvChartMenu-C-sbGNk8.js +586 -0
  17. package/dist/chart/chart-export-BHGuh_kZ.js +127 -0
  18. package/dist/chart/chart-export-pdf-BjkkIEkE.js +104 -0
  19. package/dist/chart/chart-summary-B86RFA3M.js +137 -0
  20. package/dist/chart/chart-trend-DP6DSsBa.js +56 -0
  21. package/dist/chart/chart-validate-CD6ptiwg.js +180 -0
  22. package/dist/chart/client-BuB0wIgc.js +2757 -0
  23. package/dist/chart/sv-chart-element.d.ts +98 -0
  24. package/dist/chart/sv-chart-element.js +7282 -0
  25. package/dist/chart-DoqdUoGg.js +4398 -0
  26. package/dist/chart-export-pdf-BirUdchl.js +104 -0
  27. package/dist/chart-summary-BP9i-v8M.js +137 -0
  28. package/dist/chart-validate-CD6ptiwg.js +180 -0
  29. package/dist/{shadow/client-DjwUji8D.js → client-DEF0GRjE.js} +1 -1
  30. package/dist/{column-resize-DvCRUrN3.js → column-resize-DUPgynvc.js} +3 -3
  31. package/dist/date-format-DMTwV8NC.js +1128 -0
  32. package/dist/focus-trap-DvlOlOGM.js +65 -0
  33. package/dist/list-option-DrRyivWp.js +82 -0
  34. package/dist/react/chart.d.ts +99 -0
  35. package/dist/react/chart.js +49 -0
  36. package/dist/react/index.d.ts +28 -0
  37. package/dist/react/index.js +4 -1
  38. package/dist/{row-resize-D-8s3cqT.js → row-resize-Cf8qPLbi.js} +44 -36
  39. package/dist/shadow/GridMenus-B1mC1aPp.js +1077 -0
  40. package/dist/shadow/SvChartMenu-CBMKm7Xb.js +413 -0
  41. package/dist/shadow/SvDateRangeInput-BrYTQEMM.js +197 -0
  42. package/dist/shadow/SvDateTimePicker-CnLlqNDQ.js +766 -0
  43. package/dist/shadow/SvField-Bmzp3ObZ.js +147 -0
  44. package/dist/shadow/SvGridCellEditor-B005dmV1.js +560 -0
  45. package/dist/shadow/SvGridChart-4TcL9Rj2.js +3702 -0
  46. package/dist/shadow/SvGridChartBuilder-C4OL4XYx.js +1165 -0
  47. package/dist/shadow/SvGridChartPanel-CfHA8Ioq.js +1743 -0
  48. package/dist/shadow/SvGridChartView-Ci-9_EJ0.js +45 -0
  49. package/dist/shadow/SvGridDropdown-BlA6iw9m.js +257 -0
  50. package/dist/shadow/chart-DoqdUoGg.js +4398 -0
  51. package/dist/shadow/chart-export-pdf-BirUdchl.js +104 -0
  52. package/dist/shadow/chart-summary-BP9i-v8M.js +137 -0
  53. package/dist/shadow/chart-validate-CD6ptiwg.js +180 -0
  54. package/dist/{client-DjwUji8D.js → shadow/client-DEF0GRjE.js} +1 -1
  55. package/dist/shadow/{column-resize-DvCRUrN3.js → column-resize-DUPgynvc.js} +3 -3
  56. package/dist/shadow/date-format-DMTwV8NC.js +1128 -0
  57. package/dist/shadow/focus-trap-DvlOlOGM.js +65 -0
  58. package/dist/shadow/list-option-DrRyivWp.js +82 -0
  59. package/dist/shadow/{row-resize-D-8s3cqT.js → row-resize-Cf8qPLbi.js} +44 -36
  60. package/dist/shadow/sv-grid-shadow-element.d.ts +15 -0
  61. package/dist/shadow/sv-grid-shadow-element.js +4688 -3621
  62. package/dist/shadow/{svelte-virtualizer.svelte-DZ9UcyfT.js → svelte-virtualizer.svelte-CnGhFGDc.js} +37 -34
  63. package/dist/sv-grid-element.d.ts +15 -0
  64. package/dist/sv-grid-element.js +4646 -3609
  65. package/dist/{svelte-virtualizer.svelte-DZ9UcyfT.js → svelte-virtualizer.svelte-CnGhFGDc.js} +37 -34
  66. package/dist/vue/chart.d.ts +64 -0
  67. package/dist/vue/chart.js +41 -0
  68. package/dist/vue/index.d.ts +11 -2
  69. package/dist/vue/index.js +4 -1
  70. package/package.json +18 -5
  71. package/dist/GridMenus-YwTw9Upd.js +0 -1123
  72. package/dist/SvDateRangeInput-CrxeppBV.js +0 -196
  73. package/dist/SvDateTimePicker-xAO-Pb4S.js +0 -765
  74. package/dist/SvField-CE345DyF.js +0 -146
  75. package/dist/SvGridCellEditor-D7SyHtff.js +0 -550
  76. package/dist/SvGridChart-CMaVmlso.js +0 -1477
  77. package/dist/SvGridChartPanel-Pc_IW0eA.js +0 -833
  78. package/dist/SvGridChartView-DLhhzmFy.js +0 -52
  79. package/dist/SvGridDropdown-DUncHqM-.js +0 -256
  80. package/dist/chart-GRBAgN1M.js +0 -1658
  81. package/dist/date-format-D_oQ5Yw0.js +0 -1127
  82. package/dist/shadow/GridMenus-YwTw9Upd.js +0 -1123
  83. package/dist/shadow/SvDateRangeInput-CrxeppBV.js +0 -196
  84. package/dist/shadow/SvDateTimePicker-xAO-Pb4S.js +0 -765
  85. package/dist/shadow/SvField-CE345DyF.js +0 -146
  86. package/dist/shadow/SvGridCellEditor-D7SyHtff.js +0 -550
  87. package/dist/shadow/SvGridChart-CMaVmlso.js +0 -1477
  88. package/dist/shadow/SvGridChartPanel-Pc_IW0eA.js +0 -833
  89. package/dist/shadow/SvGridChartView-DLhhzmFy.js +0 -52
  90. package/dist/shadow/SvGridDropdown-DUncHqM-.js +0 -256
  91. package/dist/shadow/chart-GRBAgN1M.js +0 -1658
  92. package/dist/shadow/date-format-D_oQ5Yw0.js +0 -1127
@@ -0,0 +1,586 @@
1
+ (function(){try{var c=".sv-menu__list.svelte-tumeci{flex-direction:column;min-width:180px;padding:4px;display:flex}.sv-menu__sep.svelte-tumeci{background:var(--sg-border,#e2e8f0);height:1px;margin:4px 6px}.sv-menu__itemwrap.svelte-tumeci{position:relative}.sv-menu__item.svelte-tumeci{box-sizing:border-box;cursor:pointer;width:100%;font:inherit;color:var(--sg-fg,#0f172a);text-align:start;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:7px 10px;font-size:13px;transition:background .1s;display:flex}.sv-menu__item.is-active.svelte-tumeci:not([disabled]),.sv-menu__item.svelte-tumeci:hover:not([disabled]){background:var(--sg-row-hover-bg,#f1f5f9)}.sv-menu__item.svelte-tumeci:focus-visible{outline:2px solid var(--sg-focus-ring,var(--sg-accent,#2563eb));outline-offset:-2px}.sv-menu__item[disabled].svelte-tumeci{opacity:.45;cursor:default}.sv-menu__icon.svelte-tumeci{width:16px;color:var(--sg-muted,#64748b);flex:none;display:inline-flex}.sv-menu__icon.svelte-tumeci:empty{width:0}.sv-menu__label.svelte-tumeci{white-space:nowrap;flex:1}.sv-menu__shortcut.svelte-tumeci{color:var(--sg-muted,#94a3b8);margin-inline-start:12px;font-size:11.5px}.sv-menu__chev.svelte-tumeci{color:var(--sg-muted,#94a3b8);flex:none}.sv-menu[dir=rtl].svelte-tumeci .sv-menu__chev:where(.svelte-tumeci),.sv-menu__list.is-submenu.svelte-tumeci .sv-menu__chev:where(.svelte-tumeci){transform:scaleX(-1)}.sv-menu__flyout.svelte-tumeci{z-index:1;background:var(--sg-bg,#fff);border:1px solid var(--sg-border,#e2e8f0);border-radius:10px;position:absolute;top:-5px;left:100%;box-shadow:0 16px 40px -12px #0f172a52}.sv-grid-chart-menu{z-index:2147483646;background:var(--sg-bg,#fff);min-width:220px;color:var(--sg-fg,#0f172a);border:1px solid var(--sg-border,#e2e8f0);border-radius:10px;font-size:13px;box-shadow:0 16px 48px -12px #0f172a59}\n";if(typeof globalThis!=='undefined'){var f=globalThis.__SVGRID_WC_ADD_CSS__;if(typeof f==='function')f(c);else(globalThis.__SVGRID_WC_CSS_CHUNKS__=globalThis.__SVGRID_WC_CSS_CHUNKS__||[]).push(c);}if(typeof document==='undefined')return;if(document.querySelector('style[data-svgrid-grid-wc-chunk="SvChartMenu"]'))return;var s=document.createElement('style');s.setAttribute('data-svgrid-grid-wc-chunk',"SvChartMenu");s.textContent=c;document.head.appendChild(s);}catch(e){}})();
2
+ import { B as e, C as t, F as n, G as r, H as i, I as a, L as o, N as s, P as c, S as l, U as u, V as d, _ as f, a as p, b as m, c as h, d as g, f as _, g as v, k as y, l as b, m as x, n as S, v as C, w, x as T, y as E, z as D } from "./client-BuB0wIgc.js";
3
+ //#region ../grid/dist/popover.js
4
+ var O = [
5
+ "--sg-accent",
6
+ "--sg-on-accent",
7
+ "--sg-bg",
8
+ "--sg-fg",
9
+ "--sg-muted",
10
+ "--sg-border",
11
+ "--sg-header-bg",
12
+ "--sg-header-fg",
13
+ "--sg-row-hover-bg",
14
+ "--sg-row-alt-bg",
15
+ "--sg-selection-bg",
16
+ "--sg-selection-fg",
17
+ "--sg-input-bg",
18
+ "--sg-input-border",
19
+ "--sg-danger",
20
+ "--sg-focus-ring",
21
+ "--sg-radius",
22
+ "--sg-font",
23
+ "--sg-invalid-bg",
24
+ "--sg-invalid-border",
25
+ "--sg-invalid-fg",
26
+ "--sg-rating-on",
27
+ "--sg-rating-empty",
28
+ "--sg-rating-hover"
29
+ ];
30
+ function k(e, t = O) {
31
+ let n = getComputedStyle(e);
32
+ for (let r of t) {
33
+ let t = n.getPropertyValue(r).trim();
34
+ t && e.style.setProperty(r, t);
35
+ }
36
+ return document.body.appendChild(e), { destroy() {
37
+ e.parentNode === document.body && document.body.removeChild(e);
38
+ } };
39
+ }
40
+ function A(e, t = {}) {
41
+ if (typeof e.animate != "function" || typeof matchMedia == "function" && matchMedia("(prefers-reduced-motion: reduce)").matches) return;
42
+ let n = t.up ? 6 : -6, r = t.scale ?? .97;
43
+ return e.animate([{
44
+ opacity: 0,
45
+ transform: `translateY(${n}px) scale(${r})`
46
+ }, {
47
+ opacity: 1,
48
+ transform: "translateY(0) scale(1)"
49
+ }], {
50
+ duration: t.duration ?? 140,
51
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)"
52
+ }), {};
53
+ }
54
+ //#endregion
55
+ //#region ../grid/dist/a11y/dismissable.js
56
+ function j(e, t) {
57
+ return t ? (Array.isArray(e) ? e : [e]).some((e) => e != null && e.contains(t)) : !1;
58
+ }
59
+ var M = [], N = !1;
60
+ function P() {
61
+ N || typeof document > "u" || (N = !0, document.addEventListener("keydown", (e) => {
62
+ if (e.key !== "Escape") return;
63
+ let t = M[M.length - 1];
64
+ t?.closeOnEscape && (e.stopPropagation(), t.onDismiss("escape"));
65
+ }, !0), document.addEventListener("pointerdown", (e) => {
66
+ let t = M[M.length - 1];
67
+ t?.closeOnOutside && (j(t.element(), e.target) || t.onDismiss("outside"));
68
+ }, !0));
69
+ }
70
+ function F(e) {
71
+ let t = {
72
+ element: e.element,
73
+ onDismiss: e.onDismiss,
74
+ closeOnEscape: e.closeOnEscape ?? !0,
75
+ closeOnOutside: e.closeOnOutside ?? !0
76
+ };
77
+ return {
78
+ activate() {
79
+ P(), M.includes(t) || M.push(t);
80
+ },
81
+ release() {
82
+ let e = M.indexOf(t);
83
+ e >= 0 && M.splice(e, 1);
84
+ }
85
+ };
86
+ }
87
+ function I(e, t) {
88
+ if (typeof window > "u") return () => {};
89
+ let n = (n) => {
90
+ j(e(), n.target) || t();
91
+ };
92
+ return window.addEventListener("scroll", n, !0), () => window.removeEventListener("scroll", n, !0);
93
+ }
94
+ //#endregion
95
+ //#region ../grid/dist/a11y/focus-trap.js
96
+ var L = [
97
+ "a[href]",
98
+ "area[href]",
99
+ "button:not([disabled])",
100
+ "input:not([disabled])",
101
+ "select:not([disabled])",
102
+ "textarea:not([disabled])",
103
+ "iframe",
104
+ "audio[controls]",
105
+ "video[controls]",
106
+ "[contenteditable]:not([contenteditable=\"false\"])",
107
+ "[tabindex]"
108
+ ].join(",");
109
+ function R(e) {
110
+ if (e.hasAttribute("disabled") || e.getAttribute("aria-hidden") === "true" || e.hidden || e.closest("[hidden]")) return !1;
111
+ let t = e.style;
112
+ return !(t.display === "none" || t.visibility === "hidden" || typeof e.getClientRects == "function" && e.getClientRects().length === 0 && document.body.getClientRects().length > 0);
113
+ }
114
+ function z(e) {
115
+ return Array.from(e.querySelectorAll(L)).filter((e) => {
116
+ let t = e.getAttribute("tabindex");
117
+ return t !== null && Number(t) < 0 ? !1 : R(e);
118
+ });
119
+ }
120
+ function B(e, t = {}) {
121
+ let { initialFocus: n = "first", returnFocus: r = !0 } = t, i = null, a = !1;
122
+ function o() {
123
+ let t = n;
124
+ return t === "container" ? e : t === "first" ? z(e)[0] ?? e : typeof t == "function" ? t() : t;
125
+ }
126
+ function s(n) {
127
+ if (!a) return;
128
+ if (n.key === "Escape" && t.onEscape) {
129
+ t.onEscape(n);
130
+ return;
131
+ }
132
+ if (n.key !== "Tab") return;
133
+ let r = z(e);
134
+ if (!r.length) {
135
+ n.preventDefault(), e.focus();
136
+ return;
137
+ }
138
+ let i = r[0], o = r[r.length - 1], s = document.activeElement;
139
+ if (!e.contains(s)) {
140
+ n.preventDefault(), i.focus();
141
+ return;
142
+ }
143
+ n.shiftKey && s === i ? (n.preventDefault(), o.focus()) : !n.shiftKey && s === o && (n.preventDefault(), i.focus());
144
+ }
145
+ function c() {
146
+ a || (a = !0, i = document.activeElement, e.hasAttribute("tabindex") || e.setAttribute("tabindex", "-1"), document.addEventListener("keydown", s, !0), queueMicrotask(() => {
147
+ a && o()?.focus();
148
+ }));
149
+ }
150
+ function l() {
151
+ a && (a = !1, document.removeEventListener("keydown", s, !0), r && i?.focus?.(), i = null);
152
+ }
153
+ return {
154
+ activate: c,
155
+ release: l
156
+ };
157
+ }
158
+ //#endregion
159
+ //#region ../grid/dist/list-option.js
160
+ function V(e = 600) {
161
+ let t = "", n;
162
+ return {
163
+ get value() {
164
+ return t;
165
+ },
166
+ push(r) {
167
+ return t += r, n && clearTimeout(n), n = setTimeout(() => {
168
+ t = "";
169
+ }, e), t;
170
+ },
171
+ clear() {
172
+ t = "", n && clearTimeout(n);
173
+ }
174
+ };
175
+ }
176
+ function H(e) {
177
+ return e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey && e.key !== " ";
178
+ }
179
+ //#endregion
180
+ //#region ../grid/dist/list-nav.js
181
+ function U(e, t) {
182
+ let n = [];
183
+ for (let r = 0; r < e; r++) t?.(r) || n.push(r);
184
+ return n;
185
+ }
186
+ function W(e, t, n) {
187
+ let r = e.length;
188
+ return r === 0 ? -1 : e[(e.indexOf(t) + n + r) % r];
189
+ }
190
+ //#endregion
191
+ //#region ../grid/dist/createMenu.svelte.js
192
+ function G(t) {
193
+ let n = () => t.items(), r = () => t.submenu?.() ?? !1, i = () => (t.dir?.() ?? "ltr") === "rtl", a = e(-1), o = e(-1), s = V();
194
+ function c(e) {
195
+ let t = e.trim().toLowerCase();
196
+ if (!t) return -1;
197
+ let r = n(), i = r.length;
198
+ for (let e = 1; e <= i; e++) {
199
+ let n = (y(a) + e + i) % i, o = r[n];
200
+ if (o && !o.disabled && !o.separator && (o.label ?? "").toLowerCase().startsWith(t)) return n;
201
+ }
202
+ return -1;
203
+ }
204
+ let l = d(() => U(n().length, (e) => {
205
+ let t = n()[e];
206
+ return !t || t.separator === !0 || t.disabled === !0;
207
+ }));
208
+ function u(e) {
209
+ D(a, e, !0), D(o, -1), t.focusItem?.(e);
210
+ }
211
+ function f(e) {
212
+ let t = W(y(l), y(a), e);
213
+ t >= 0 && u(t);
214
+ }
215
+ function p() {
216
+ let e = y(l)[0];
217
+ e != null && u(e);
218
+ }
219
+ function m() {
220
+ let e = y(l).at(-1);
221
+ e != null && u(e);
222
+ }
223
+ function h(e) {
224
+ let t = n()[e];
225
+ !t || t.disabled || t.separator || (D(a, e, !0), D(o, t.children?.length ? e : -1, !0));
226
+ }
227
+ function g(e) {
228
+ if (!(e.disabled || e.separator)) {
229
+ if (e.children?.length) {
230
+ D(o, n().indexOf(e), !0);
231
+ return;
232
+ }
233
+ e.onSelect?.(), t.onSelect(e), t.onClose();
234
+ }
235
+ }
236
+ function _(e, a) {
237
+ let l = n()[a], d = () => {
238
+ l?.children?.length && (e.preventDefault(), D(o, a, !0));
239
+ }, h = () => {
240
+ r() && (e.preventDefault(), t.onCollapse?.());
241
+ };
242
+ switch (e.key) {
243
+ case "ArrowDown":
244
+ e.preventDefault(), f(1);
245
+ break;
246
+ case "ArrowUp":
247
+ e.preventDefault(), f(-1);
248
+ break;
249
+ case "Home":
250
+ e.preventDefault(), p();
251
+ break;
252
+ case "End":
253
+ e.preventDefault(), m();
254
+ break;
255
+ case "ArrowRight":
256
+ (i() ? h : d)();
257
+ break;
258
+ case "ArrowLeft":
259
+ (i() ? d : h)();
260
+ break;
261
+ case "Enter":
262
+ case " ":
263
+ e.preventDefault(), l && g(l);
264
+ break;
265
+ case "Escape":
266
+ e.preventDefault(), t.onClose();
267
+ break;
268
+ case "Tab":
269
+ t.onClose();
270
+ break;
271
+ default: if (H(e)) {
272
+ let t = c(s.push(e.key));
273
+ t >= 0 && (e.preventDefault(), u(t));
274
+ }
275
+ }
276
+ }
277
+ function v(e) {
278
+ return y(a) === e || y(a) === -1 && e === y(l)[0] ? 0 : -1;
279
+ }
280
+ return {
281
+ get active() {
282
+ return y(a);
283
+ },
284
+ get openSub() {
285
+ return y(o);
286
+ },
287
+ get focusables() {
288
+ return y(l);
289
+ },
290
+ isActive: (e) => e === y(a),
291
+ isSubOpen: (e) => e === y(o),
292
+ itemTabIndex: v,
293
+ move: f,
294
+ first: p,
295
+ last: m,
296
+ focus: u,
297
+ hover: h,
298
+ choose: g,
299
+ onItemKeydown: _,
300
+ listProps: () => ({ role: "menu" }),
301
+ itemProps: (e) => {
302
+ let t = n()[e], r = !!t?.children?.length;
303
+ return {
304
+ role: "menuitem",
305
+ "data-mi": e,
306
+ tabindex: v(e),
307
+ "aria-haspopup": r ? "menu" : void 0,
308
+ "aria-expanded": r ? y(o) === e : void 0,
309
+ "aria-disabled": t?.disabled ? !0 : void 0,
310
+ disabled: t?.disabled,
311
+ onkeydown: (t) => _(t, e),
312
+ onpointerenter: () => h(e),
313
+ onclick: () => {
314
+ t && g(t);
315
+ }
316
+ };
317
+ }
318
+ };
319
+ }
320
+ //#endregion
321
+ //#region ../grid/dist/positioning.js
322
+ var K = {
323
+ top: "bottom",
324
+ bottom: "top",
325
+ left: "right",
326
+ right: "left"
327
+ };
328
+ function q(e) {
329
+ let [t, n] = e.split("-");
330
+ return {
331
+ side: t,
332
+ align: n ?? "center"
333
+ };
334
+ }
335
+ function J(e) {
336
+ let { side: t, align: n } = q(e);
337
+ return n === "center" ? K[t] : `${K[t]}-${n}`;
338
+ }
339
+ function Y(e, t, n) {
340
+ return n < t || e < t ? t : e > n ? n : e;
341
+ }
342
+ function X(e, t, n, r, i) {
343
+ if (e === "top" || e === "bottom") {
344
+ let a = e === "top" ? n.y - r.height - i : n.y + n.height + i;
345
+ return {
346
+ x: t === "start" ? n.x : t === "end" ? n.x + n.width - r.width : n.x + n.width / 2 - r.width / 2,
347
+ y: a
348
+ };
349
+ }
350
+ return {
351
+ x: e === "left" ? n.x - r.width - i : n.x + n.width + i,
352
+ y: t === "start" ? n.y : t === "end" ? n.y + n.height - r.height : n.y + n.height / 2 - r.height / 2
353
+ };
354
+ }
355
+ function Z(e, t, n, r, i, a) {
356
+ switch (e) {
357
+ case "top": return a - n;
358
+ case "bottom": return n + r.height - (i.height - a);
359
+ case "left": return a - t;
360
+ default: return t + r.width - (i.width - a);
361
+ }
362
+ }
363
+ function Q(e) {
364
+ return e || (typeof window < "u" ? {
365
+ width: window.innerWidth,
366
+ height: window.innerHeight
367
+ } : {
368
+ width: 0,
369
+ height: 0
370
+ });
371
+ }
372
+ function ee(e, t, n = {}) {
373
+ let r = n.offset ?? 6, i = n.padding ?? 8, a = n.flip !== !1, o = n.shift !== !1, s = Q(n.viewport), c = n.placement ?? "bottom-start", l = [c];
374
+ if (a) {
375
+ l.push(J(c));
376
+ for (let e of n.fallbackPlacements ?? []) l.push(e);
377
+ }
378
+ let u = c, d = Infinity;
379
+ for (let n of l) {
380
+ let { side: a, align: o } = q(n), { x: c, y: l } = X(a, o, e, t, r), f = Z(a, c, l, t, s, i);
381
+ if (f <= 0) {
382
+ u = n, d = f;
383
+ break;
384
+ }
385
+ f < d && (d = f, u = n);
386
+ }
387
+ let { side: f, align: p } = q(u), { x: m, y: h } = X(f, p, e, t, r);
388
+ o && (f === "top" || f === "bottom" ? m = Y(m, i, s.width - i - t.width) : h = Y(h, i, s.height - i - t.height));
389
+ let g = n.minMainAxis ?? 0, _, v;
390
+ if (f === "top" || f === "bottom") {
391
+ let t = f === "top" ? e.y - r - i : s.height - i - (e.y + e.height + r);
392
+ v = Math.max(g, Math.floor(t)), _ = Math.max(0, s.width - 2 * i);
393
+ } else {
394
+ let t = f === "left" ? e.x - r - i : s.width - i - (e.x + e.width + r);
395
+ _ = Math.max(g, Math.floor(t)), v = Math.max(0, s.height - 2 * i);
396
+ }
397
+ let y = {
398
+ x: m,
399
+ y: h,
400
+ placement: u,
401
+ side: f,
402
+ align: p,
403
+ maxWidth: _,
404
+ maxHeight: v
405
+ };
406
+ if (n.arrow) {
407
+ let r = n.arrow.size;
408
+ y.arrow = f === "top" || f === "bottom" ? { x: Y(e.x + e.width / 2 - m - r / 2, i, t.width - r - i) } : { y: Y(e.y + e.height / 2 - h - r / 2, i, t.height - r - i) };
409
+ }
410
+ return y;
411
+ }
412
+ function te(e) {
413
+ let t = [], n = e.parentElement;
414
+ for (; n;) {
415
+ let e = getComputedStyle(n);
416
+ /(auto|scroll|overlay|hidden)/.test(e.overflow + e.overflowY + e.overflowX) && t.push(n), n = n.parentElement;
417
+ }
418
+ return t;
419
+ }
420
+ function ne(e, t, n) {
421
+ if (typeof window > "u") return () => {};
422
+ let r = te(e);
423
+ for (let e of r) e.addEventListener("scroll", n, { passive: !0 });
424
+ window.addEventListener("scroll", n, { passive: !0 }), window.addEventListener("resize", n);
425
+ let i;
426
+ return typeof ResizeObserver == "function" && (i = new ResizeObserver(n), i.observe(e), i.observe(t)), n(), () => {
427
+ for (let e of r) e.removeEventListener("scroll", n);
428
+ window.removeEventListener("scroll", n), window.removeEventListener("resize", n), i?.disconnect();
429
+ };
430
+ }
431
+ //#endregion
432
+ //#region ../grid/dist/SvMenuList.svelte
433
+ var re = t("<div class=\"sv-menu__sep svelte-tumeci\" role=\"separator\"></div>"), ie = t("<span class=\"sv-menu__shortcut svelte-tumeci\"> </span>"), ae = w("<svg class=\"sv-menu__chev svelte-tumeci\" viewBox=\"0 0 24 24\" width=\"13\" height=\"13\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 18 6-6-6-6\"></path></svg>"), oe = t("<div class=\"sv-menu__flyout svelte-tumeci\"><!></div>"), se = t("<div class=\"sv-menu__itemwrap svelte-tumeci\"><button><span class=\"sv-menu__icon svelte-tumeci\"><!></span> <span class=\"sv-menu__label svelte-tumeci\"> </span> <!> <!></button> <!></div>"), ce = t("<div></div>");
434
+ function $(t, c) {
435
+ u(c, !0);
436
+ let g = S(c, "submenu", 3, !1), _ = e(null), w = G({
437
+ items: () => c.items,
438
+ onSelect: (e) => c.onselect(e),
439
+ onClose: () => c.onclose(),
440
+ submenu: () => g(),
441
+ onCollapse: () => c.oncollapse?.(),
442
+ dir: () => c.dir,
443
+ focusItem: (e) => queueMicrotask(() => y(_)?.querySelector(`[data-mi="${e}"]`)?.focus())
444
+ }), O = c.dir === "rtl" ? "left-start" : "right-start";
445
+ function k(e) {
446
+ let t = e.parentElement, n = t?.querySelector(":scope > .sv-menu__item") ?? null, r = () => {
447
+ if (!n || !t) return;
448
+ let r = n.getBoundingClientRect(), i = t.getBoundingClientRect(), a = {
449
+ width: e.offsetWidth || 200,
450
+ height: e.offsetHeight || 120
451
+ }, o = ee({
452
+ x: r.left,
453
+ y: r.top,
454
+ width: r.width,
455
+ height: r.height
456
+ }, a, {
457
+ placement: O,
458
+ offset: 2,
459
+ padding: 8
460
+ });
461
+ e.style.left = `${o.x - i.left}px`, e.style.top = `${o.y - i.top}px`;
462
+ };
463
+ if (!n) return r(), {};
464
+ let i = ne(n, e, r);
465
+ return { destroy() {
466
+ i();
467
+ } };
468
+ }
469
+ var A = ce();
470
+ b(A, (e) => ({
471
+ class: "sv-menu__list",
472
+ ...e,
473
+ [h]: { "is-submenu": g() }
474
+ }), [() => w.listProps()], void 0, void 0, "svelte-tumeci"), v(A, 21, () => c.items, f, (e, t, i) => {
475
+ var u = l(), f = a(u), p = (e) => {
476
+ var t = re();
477
+ T(e, t);
478
+ }, g = (e) => {
479
+ var u = se(), f = n(u);
480
+ b(f, (e, t) => ({
481
+ type: "button",
482
+ class: "sv-menu__item",
483
+ ...e,
484
+ [h]: t
485
+ }), [() => w.itemProps(i), () => ({ "is-active": w.isActive(i) })], void 0, void 0, "svelte-tumeci");
486
+ var p = n(f), g = n(p), _ = (e) => {
487
+ var n = l(), r = a(n);
488
+ E(r, () => y(t).icon), T(e, n);
489
+ };
490
+ C(g, (e) => {
491
+ y(t).icon && e(_);
492
+ }), r(p);
493
+ var v = o(p, 2), S = n(v, !0);
494
+ r(v);
495
+ var D = o(v, 2), O = (e) => {
496
+ var i = ie(), a = n(i, !0);
497
+ r(i), s(() => m(a, y(t).shortcut)), T(e, i);
498
+ };
499
+ C(D, (e) => {
500
+ y(t).shortcut && e(O);
501
+ });
502
+ var A = o(D, 2), j = (e) => {
503
+ var t = ae();
504
+ T(e, t);
505
+ };
506
+ C(A, (e) => {
507
+ y(t).children?.length && e(j);
508
+ }), r(f);
509
+ var M = o(f, 2), N = (e) => {
510
+ var a = oe();
511
+ $(n(a), {
512
+ get items() {
513
+ return y(t).children;
514
+ },
515
+ get onclose() {
516
+ return c.onclose;
517
+ },
518
+ get onselect() {
519
+ return c.onselect;
520
+ },
521
+ oncollapse: () => w.focus(i),
522
+ get dir() {
523
+ return c.dir;
524
+ },
525
+ submenu: !0
526
+ }), r(a), x(a, (e) => k?.(e)), T(e, a);
527
+ }, P = d(() => y(t).children?.length && w.isSubOpen(i));
528
+ C(M, (e) => {
529
+ y(P) && e(N);
530
+ }), r(u), s(() => m(S, y(t).label)), T(e, u);
531
+ };
532
+ C(f, (e) => {
533
+ y(t).separator ? e(p) : e(g, -1);
534
+ }), T(e, u);
535
+ }), r(A), p(A, (e) => D(_, e), () => y(_)), T(t, A), i();
536
+ }
537
+ //#endregion
538
+ //#region ../grid/dist/SvChartMenu.svelte
539
+ var le = t("<div class=\"sv-ctx sv-grid-chart-menu\"><!></div>");
540
+ function ue(t, a) {
541
+ u(a, !0);
542
+ let o = S(a, "ariaLabel", 3, "Chart menu"), l = e(null), f = d(() => {
543
+ if (typeof window > "u") return {
544
+ x: a.x,
545
+ y: a.y
546
+ };
547
+ let e = Math.min(a.items.length, 12) * 34 + 8;
548
+ return {
549
+ x: Math.max(6, Math.min(a.x, window.innerWidth - 220 - 6)),
550
+ y: Math.max(6, Math.min(a.y, window.innerHeight - e - 6))
551
+ };
552
+ });
553
+ c(() => {
554
+ if (!y(l)) return;
555
+ let e = B(y(l), { initialFocus: () => y(l)?.querySelector("[role=\"menuitem\"]:not([disabled])") ?? null });
556
+ e.activate();
557
+ let t = F({
558
+ element: () => y(l),
559
+ onDismiss: a.onClose
560
+ });
561
+ t.activate();
562
+ let n = I(() => y(l), a.onClose);
563
+ return () => {
564
+ t.release(), e.release(), n();
565
+ };
566
+ });
567
+ var m = le();
568
+ let h;
569
+ $(n(m), {
570
+ get items() {
571
+ return a.items;
572
+ },
573
+ get onclose() {
574
+ return a.onClose;
575
+ },
576
+ onselect: () => a.onClose()
577
+ }), r(m), p(m, (e) => D(l, e), () => y(l)), x(m, (e) => k?.(e)), x(m, (e, t) => A?.(e, t), () => ({})), s(() => {
578
+ g(m, "aria-label", o()), h = _(m, "", h, {
579
+ position: "fixed",
580
+ top: `${y(f).y}px`,
581
+ left: `${y(f).x}px`
582
+ });
583
+ }), T(t, m), i();
584
+ }
585
+ //#endregion
586
+ export { ue as default };