@svgrid/grid-wc 2.6.2 → 3.0.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 (58) hide show
  1. package/dist/GridMenus-DpmS1pzo.js +1121 -0
  2. package/dist/SvDateRangeInput-u4ibte8S.js +196 -0
  3. package/dist/SvDateTimePicker-DVFiDxUq.js +765 -0
  4. package/dist/{dismissable-xj_k_fnZ.js → SvField-ChCI-O2O.js} +44 -84
  5. package/dist/{SvGrid.helpers-CgUd39VT.js → SvGrid.helpers-BdVDtjUm.js} +37 -11
  6. package/dist/SvGridCellEditor-DvsQyE9a.js +550 -0
  7. package/dist/{SvGridChart-BztTavvw.js → SvGridChart-yK5Zv85y.js} +158 -158
  8. package/dist/{SvGridChartPanel-Ca5HWIZ3.js → SvGridChartPanel-B38_VjXM.js} +52 -52
  9. package/dist/{SvGridChartView-AcWj_tcs.js → SvGridChartView-ScXTF6t-.js} +4 -4
  10. package/dist/{SvGridDropdown-BXqvR1cs.js → SvGridDropdown-DnAESFDu.js} +29 -29
  11. package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs +358 -0
  12. package/dist/angular/fesm2022/svgrid-grid-wc-angular.mjs.map +1 -0
  13. package/dist/angular/package.json +25 -0
  14. package/dist/angular/types/svgrid-grid-wc-angular.d.ts +161 -0
  15. package/dist/{client-DoXxrq8q.js → client-DjwUji8D.js} +1 -1
  16. package/dist/column-resize-DvCRUrN3.js +101 -0
  17. package/dist/date-format-CPHqTHN6.js +1127 -0
  18. package/dist/dismissable-DvhBKm3q.js +41 -0
  19. package/dist/react/index.d.ts +313 -0
  20. package/dist/react/index.js +72 -0
  21. package/dist/{row-drag-touch-Ddaa-QeB.js → row-drag-touch-CycRR65n.js} +12 -10
  22. package/dist/row-resize-D-8s3cqT.js +94 -0
  23. package/dist/shadow/GridMenus-DpmS1pzo.js +1121 -0
  24. package/dist/shadow/SvDateRangeInput-u4ibte8S.js +196 -0
  25. package/dist/shadow/SvDateTimePicker-DVFiDxUq.js +765 -0
  26. package/dist/shadow/SvField-ChCI-O2O.js +146 -0
  27. package/dist/shadow/SvGrid.helpers-BdVDtjUm.js +135 -0
  28. package/dist/shadow/SvGridCellEditor-DvsQyE9a.js +550 -0
  29. package/dist/shadow/SvGridChart-yK5Zv85y.js +1199 -0
  30. package/dist/shadow/SvGridChartPanel-B38_VjXM.js +584 -0
  31. package/dist/shadow/SvGridChartView-ScXTF6t-.js +50 -0
  32. package/dist/shadow/SvGridDropdown-DnAESFDu.js +256 -0
  33. package/dist/shadow/cell-formatting-C0OsDmi_.js +86 -0
  34. package/dist/shadow/chart-uvs3sFJA.js +1220 -0
  35. package/dist/shadow/client-DjwUji8D.js +2960 -0
  36. package/dist/shadow/column-resize-DvCRUrN3.js +101 -0
  37. package/dist/shadow/date-format-CPHqTHN6.js +1127 -0
  38. package/dist/shadow/dismissable-DvhBKm3q.js +41 -0
  39. package/dist/shadow/editor-contract-peBDxir_.js +22 -0
  40. package/dist/shadow/editor-registry-DxGKqcvx.js +24 -0
  41. package/dist/shadow/export-format-C8kZGZfz.js +161 -0
  42. package/dist/shadow/popover-WsGlvtQv.js +69 -0
  43. package/dist/shadow/row-drag-touch-CycRR65n.js +93 -0
  44. package/dist/shadow/row-resize-D-8s3cqT.js +94 -0
  45. package/dist/shadow/sv-grid-shadow-element.d.ts +246 -0
  46. package/dist/shadow/sv-grid-shadow-element.js +10175 -0
  47. package/dist/{svelte-virtualizer.svelte-CFoYP2Ls.js → shadow/svelte-virtualizer.svelte-DZ9UcyfT.js} +35 -30
  48. package/dist/shadow/validate-CgmAtX1A.js +75 -0
  49. package/dist/sv-grid-element.d.ts +246 -0
  50. package/dist/sv-grid-element.js +3655 -2620
  51. package/dist/svelte-virtualizer.svelte-DZ9UcyfT.js +527 -0
  52. package/dist/validate-CgmAtX1A.js +75 -0
  53. package/dist/vue/index.d.ts +147 -0
  54. package/dist/vue/index.js +72 -0
  55. package/package.json +71 -6
  56. package/dist/GridMenus-CU_-Ks4f.js +0 -1001
  57. package/dist/SvDateTimePicker-Ch1Vug8H.js +0 -1885
  58. package/dist/SvGridCellEditor-CBJUbAsR.js +0 -523
@@ -0,0 +1,765 @@
1
+ import { $ as e, A as t, B as n, E as r, F as i, H as a, I as o, J as s, K as c, M as l, O as u, R as d, V as f, X as p, Y as m, Z as h, a as g, c as _, d as v, et as y, f as b, h as x, j as S, k as C, n as w, q as T, rt as E, s as D, tt as O, u as k, v as A, w as j, x as M, y as N } from "./client-DjwUji8D.js";
2
+ import { a as P, i as F, t as I } from "./editor-contract-peBDxir_.js";
3
+ import { a as ee, c as L, n as R, o as z, r as B, s as V, t as H } from "./date-format-CPHqTHN6.js";
4
+ import { n as U, r as W, t as G } from "./popover-WsGlvtQv.js";
5
+ import { t as te } from "./SvField-ChCI-O2O.js";
6
+ import { t as ne } from "./dismissable-DvhBKm3q.js";
7
+ //#region ../grid/dist/createTimePicker.svelte.js
8
+ var re = 240, K = re / 2, q = 98, ie = 62;
9
+ function J(e, t) {
10
+ let n = (e - 90) * Math.PI / 180;
11
+ return {
12
+ x: K + t * Math.cos(n),
13
+ y: K + t * Math.sin(n)
14
+ };
15
+ }
16
+ function ae(e) {
17
+ if (e == null) {
18
+ let e = /* @__PURE__ */ new Date();
19
+ return {
20
+ h: e.getHours(),
21
+ m: e.getMinutes()
22
+ };
23
+ }
24
+ if (typeof e == "string") {
25
+ let t = e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?/);
26
+ if (t) return {
27
+ h: Math.min(23, +t[1]),
28
+ m: Math.min(59, +t[2])
29
+ };
30
+ let n = new Date(e);
31
+ if (!isNaN(n.getTime())) return {
32
+ h: n.getHours(),
33
+ m: n.getMinutes()
34
+ };
35
+ let r = /* @__PURE__ */ new Date();
36
+ return {
37
+ h: r.getHours(),
38
+ m: r.getMinutes()
39
+ };
40
+ }
41
+ let t = new Date(e);
42
+ return {
43
+ h: t.getHours(),
44
+ m: t.getMinutes()
45
+ };
46
+ }
47
+ function oe(t) {
48
+ let n = () => t.format?.() ?? "24-hour", r = () => t.minuteInterval?.() ?? 1, i = () => t.autoSwitchToMinutes?.() ?? !0, o = () => t.disabled?.() ?? !1, s = () => t.readonly?.() ?? !1, c = e(() => n() === "12-hour"), l = e(() => !o() && !s()), u = h(0), f = h(0), m = h("hour"), g = !1, _ = "￿";
49
+ a(() => {
50
+ let { h: e, m: n } = ae(t.value()), r = `${e}:${n}`;
51
+ r !== _ && (_ = r, p(u, e, !0), p(f, n, !0), g || (g = !0, p(m, t.selection?.() ?? "hour", !0)));
52
+ });
53
+ let v = e(() => d(c) ? d(u) % 12 == 0 ? 12 : d(u) % 12 : d(u)), y = e(() => d(u) >= 12), b = e(() => String(d(f)).padStart(2, "0")), x = e(() => {
54
+ let e = [];
55
+ if (d(c)) for (let t = 0; t < 12; t++) {
56
+ let n = t === 0 ? 12 : t, r = J(t * 30, q);
57
+ e.push({
58
+ label: String(n),
59
+ x: r.x,
60
+ y: r.y,
61
+ value: n,
62
+ ring: "outer"
63
+ });
64
+ }
65
+ else for (let t = 0; t < 12; t++) {
66
+ let n = J(t * 30, q), r = J(t * 30, ie), i = t + 12, a = t;
67
+ e.push({
68
+ label: String(i).padStart(2, "0"),
69
+ x: n.x,
70
+ y: n.y,
71
+ value: i,
72
+ ring: "outer"
73
+ }), e.push({
74
+ label: a === 0 ? "00" : String(a).padStart(2, "0"),
75
+ x: r.x,
76
+ y: r.y,
77
+ value: a,
78
+ ring: "inner"
79
+ });
80
+ }
81
+ return e;
82
+ }), S = e(() => Array.from({ length: 12 }, (e, t) => {
83
+ let n = t * 5, r = J(t * 30, q);
84
+ return {
85
+ label: String(n).padStart(2, "0"),
86
+ x: r.x,
87
+ y: r.y,
88
+ value: n,
89
+ ring: "outer"
90
+ };
91
+ })), C = e(() => d(m) === "hour" ? d(c) ? d(v) % 12 * 30 : d(u) % 12 * 30 : d(f) * 6), w = e(() => d(m) === "hour" && !d(c) && d(u) % 12 === d(u) && d(u) < 12 ? ie : q), T = e(() => J(d(C), d(w)));
92
+ function E() {
93
+ let e = /* @__PURE__ */ new Date();
94
+ e.setHours(d(u), d(f), 0, 0), t.onChange?.(e);
95
+ }
96
+ let D = (e) => {
97
+ let t = Math.max(1, Math.floor(r()));
98
+ return Math.round(e / t) * t % 60;
99
+ };
100
+ function O(e) {
101
+ p(m, e, !0);
102
+ }
103
+ function k(e) {
104
+ p(f, D(e), !0), _ = `${d(u)}:${d(f)}`, E();
105
+ }
106
+ function A(e) {
107
+ e !== d(y) && (p(u, e ? d(u) % 12 + 12 : d(u) % 12, !0), _ = `${d(u)}:${d(f)}`, E());
108
+ }
109
+ function j(e, t) {
110
+ if (d(l)) {
111
+ if (d(m) === "hour") {
112
+ let n = Math.round(e / 30) % 12;
113
+ if (d(c)) {
114
+ let e = (n === 0 ? 12 : n) % 12;
115
+ p(u, d(y) ? e + 12 : e, !0);
116
+ } else p(u, t < 80 ? n : n + 12, !0);
117
+ _ = `${d(u)}:${d(f)}`, E();
118
+ } else k(Math.round(e / 6) % 60);
119
+ }
120
+ }
121
+ function M() {
122
+ d(m) === "hour" && i() && p(m, "minute");
123
+ }
124
+ function N(e) {
125
+ if (!d(l)) return;
126
+ let t = d(m) === "minute" ? Math.max(1, Math.floor(r())) : 1;
127
+ e.key === "ArrowUp" || e.key === "ArrowRight" ? (e.preventDefault(), d(m) === "hour" ? p(u, (d(u) + 1) % 24) : p(f, (d(f) + t) % 60), _ = `${d(u)}:${d(f)}`, E()) : e.key === "ArrowDown" || e.key === "ArrowLeft" ? (e.preventDefault(), d(m) === "hour" ? p(u, (d(u) + 23) % 24) : p(f, (d(f) - t + 60) % 60), _ = `${d(u)}:${d(f)}`, E()) : e.key === "Tab" && !e.shiftKey && d(m) === "hour" && p(m, "minute");
128
+ }
129
+ function P() {
130
+ let e = /* @__PURE__ */ new Date();
131
+ p(u, e.getHours(), !0), p(f, e.getMinutes(), !0), _ = `${d(u)}:${d(f)}`, E();
132
+ }
133
+ function F(e) {
134
+ return d(c) ? e.value === d(v) : e.value === d(u);
135
+ }
136
+ return {
137
+ SIZE: re,
138
+ C: K,
139
+ get hours() {
140
+ return d(u);
141
+ },
142
+ get minutes() {
143
+ return d(f);
144
+ },
145
+ get selection() {
146
+ return d(m);
147
+ },
148
+ get is12() {
149
+ return d(c);
150
+ },
151
+ get isInteractive() {
152
+ return d(l);
153
+ },
154
+ get displayHour() {
155
+ return d(v);
156
+ },
157
+ get isPm() {
158
+ return d(y);
159
+ },
160
+ get mm() {
161
+ return d(b);
162
+ },
163
+ get hourTicks() {
164
+ return d(x);
165
+ },
166
+ get minuteTicks() {
167
+ return d(S);
168
+ },
169
+ get handEnd() {
170
+ return d(T);
171
+ },
172
+ isActiveHour: F,
173
+ setSelection: O,
174
+ setMinute: k,
175
+ setAmPm: A,
176
+ pointerSelect: j,
177
+ endPointer: M,
178
+ onKeydown: N,
179
+ now: P,
180
+ segProps(e) {
181
+ return {
182
+ type: "button",
183
+ disabled: o(),
184
+ onclick: () => O(e)
185
+ };
186
+ },
187
+ ampmProps(e) {
188
+ return {
189
+ type: "button",
190
+ disabled: o(),
191
+ onclick: () => A(e)
192
+ };
193
+ },
194
+ dialProps() {
195
+ return {
196
+ role: "slider",
197
+ tabindex: o() ? -1 : 0,
198
+ "aria-label": d(m) === "hour" ? "Hour" : "Minute",
199
+ "aria-valuenow": d(m) === "hour" ? d(u) : d(f),
200
+ "aria-valuemin": 0,
201
+ "aria-valuemax": d(m) === "hour" ? 23 : 59,
202
+ onkeydown: N
203
+ };
204
+ },
205
+ nowProps() {
206
+ return {
207
+ type: "button",
208
+ disabled: o(),
209
+ onclick: P
210
+ };
211
+ }
212
+ };
213
+ }
214
+ //#endregion
215
+ //#region ../grid/dist/SvTimePicker.svelte
216
+ var se = S("<div class=\"sv-tp__ampm svelte-qdm31c\"><button> </button> <button> </button></div>"), ce = l("<text dominant-baseline=\"central\" text-anchor=\"middle\"> </text>"), le = l("<text dominant-baseline=\"central\" text-anchor=\"middle\"> </text>"), ue = S("<div class=\"sv-tp__footer svelte-qdm31c\"><button> </button></div>"), de = S("<input type=\"hidden\"/>"), fe = S("<div role=\"group\"><div class=\"sv-tp__head svelte-qdm31c\"><button> </button> <span class=\"sv-tp__colon svelte-qdm31c\">:</span> <button> </button> <!></div> <svg><circle class=\"sv-tp__face svelte-qdm31c\"></circle><line class=\"sv-tp__hand svelte-qdm31c\"></line><circle class=\"sv-tp__hub svelte-qdm31c\" r=\"3\"></circle><circle class=\"sv-tp__knob svelte-qdm31c\" r=\"15\"></circle><!></svg> <!> <!></div>");
217
+ function pe(n, i) {
218
+ O(i, !0);
219
+ let a = (e) => {
220
+ var n = fe();
221
+ let a;
222
+ var o = c(n), l = c(o);
223
+ k(l, (e) => ({
224
+ class: "sv-tp__seg",
225
+ ...e,
226
+ [_]: { "is-active": H.selection === "hour" }
227
+ }), [() => H.segProps("hour")], void 0, void 0, "svelte-qdm31c");
228
+ var p = c(l, !0);
229
+ E(l);
230
+ var m = s(l, 4);
231
+ k(m, (e) => ({
232
+ class: "sv-tp__seg",
233
+ ...e,
234
+ [_]: { "is-active": H.selection === "minute" }
235
+ }), [() => H.segProps("minute")], void 0, void 0, "svelte-qdm31c");
236
+ var h = c(m, !0);
237
+ E(m);
238
+ var y = s(m, 2), w = (e) => {
239
+ var t = se(), n = c(t);
240
+ k(n, (e) => ({
241
+ ...e,
242
+ [_]: { "is-active": !H.isPm }
243
+ }), [() => H.ampmProps(!1)], void 0, void 0, "svelte-qdm31c");
244
+ var r = c(n, !0);
245
+ E(n);
246
+ var i = s(n, 2);
247
+ k(i, (e) => ({
248
+ ...e,
249
+ [_]: { "is-active": H.isPm }
250
+ }), [() => H.ampmProps(!0)], void 0, void 0, "svelte-qdm31c");
251
+ var a = c(i, !0);
252
+ E(i), E(t), f(() => {
253
+ u(r, d(B).am), u(a, d(B).pm);
254
+ }), C(e, t);
255
+ };
256
+ r(y, (e) => {
257
+ H.is12 && e(w);
258
+ }), E(o);
259
+ var O = s(o, 2);
260
+ k(O, (e) => ({
261
+ class: "sv-tp__dial",
262
+ viewBox: `0 0 ${H.SIZE} ${H.SIZE}`,
263
+ width: "100%",
264
+ ...e,
265
+ onpointerdown: ne,
266
+ onpointermove: re,
267
+ onpointerup: K,
268
+ onpointercancel: K
269
+ }), [() => H.dialProps()], void 0, void 0, "svelte-qdm31c");
270
+ var A = c(O), M = s(A), P = s(M), F = s(P), I = s(F), L = (e) => {
271
+ var n = t(), r = T(n);
272
+ j(r, 17, () => H.hourTicks, (e) => e.ring + "-" + e.value, (e, t) => {
273
+ var n = ce();
274
+ let r;
275
+ var i = c(n, !0);
276
+ E(n), f((e) => {
277
+ r = N(n, 0, "sv-tp__num svelte-qdm31c", null, r, e), b(n, "x", d(t).x), b(n, "y", d(t).y), u(i, d(t).label);
278
+ }, [() => ({
279
+ "is-active": H.isActiveHour(d(t)),
280
+ "is-inner": d(t).ring === "inner"
281
+ })]), C(e, n);
282
+ }), C(e, n);
283
+ }, z = (e) => {
284
+ var n = t(), r = T(n);
285
+ j(r, 17, () => H.minuteTicks, (e) => e.value, (e, t) => {
286
+ var n = le();
287
+ let r;
288
+ var i = c(n, !0);
289
+ E(n), f(() => {
290
+ r = N(n, 0, "sv-tp__num svelte-qdm31c", null, r, { "is-active": d(t).value === H.minutes }), b(n, "x", d(t).x), b(n, "y", d(t).y), u(i, d(t).label);
291
+ }), C(e, n);
292
+ }), C(e, n);
293
+ };
294
+ r(I, (e) => {
295
+ H.selection === "hour" ? e(L) : e(z, -1);
296
+ }), E(O), g(O, (e) => U = e, () => U);
297
+ var W = s(O, 2), G = (e) => {
298
+ var t = ue(), n = c(t);
299
+ k(n, (e) => ({
300
+ class: "sv-tp__now",
301
+ ...e
302
+ }), [() => H.nowProps()], void 0, void 0, "svelte-qdm31c");
303
+ var r = c(n, !0);
304
+ E(n), E(t), f(() => u(r, d(B).now)), C(e, t);
305
+ };
306
+ r(W, (e) => {
307
+ S() && e(G);
308
+ });
309
+ var te = s(W, 2), q = (e) => {
310
+ var t = de();
311
+ v(t), f((e) => {
312
+ b(t, "name", i.name), x(t, e);
313
+ }, [() => `${String(H.hours).padStart(2, "0")}:${H.mm}`]), C(e, t);
314
+ };
315
+ r(te, (e) => {
316
+ i.name && e(q);
317
+ }), E(n), f((e) => {
318
+ a = N(n, 1, "sv-tp svelte-qdm31c", null, a, {
319
+ "sv-tp--disabled": D(),
320
+ "sv-tp--invalid": ee()
321
+ }), b(n, "id", d(R)), b(n, "aria-label", i.label ?? d(B).label), b(n, "dir", d(V)), u(p, e), u(h, H.mm), b(A, "cx", H.C), b(A, "cy", H.C), b(A, "r", H.C - 4), b(M, "x1", H.C), b(M, "y1", H.C), b(M, "x2", H.handEnd.x), b(M, "y2", H.handEnd.y), b(P, "cx", H.C), b(P, "cy", H.C), b(F, "cx", H.handEnd.x), b(F, "cy", H.handEnd.y), n.dir = n.dir;
322
+ }, [() => String(H.displayHour).padStart(2, "0")]), C(e, n);
323
+ }, o = {
324
+ label: "Time picker",
325
+ am: "AM",
326
+ pm: "PM",
327
+ now: "Now"
328
+ }, l = w(i, "value", 3, null), p = w(i, "format", 3, "24-hour"), m = w(i, "minuteInterval", 3, 1), h = w(i, "autoSwitchToMinutes", 3, !0), S = w(i, "footer", 3, !1), D = w(i, "disabled", 3, !1), A = w(i, "readonly", 3, !1), M = w(i, "selection", 3, "hour"), I = w(i, "required", 3, !1), ee = w(i, "invalid", 3, !1), L = F("sv-tp"), R = e(() => i.id ?? L), z = e(() => !!(i.label || i.hint || i.error)), B = e(() => P(o, i.messages)), V = e(() => i.dir === "ltr" || i.dir === "rtl" ? i.dir : void 0), H = oe({
329
+ value: () => l(),
330
+ onChange: (e) => i.onChange?.(e),
331
+ format: () => p(),
332
+ minuteInterval: () => m(),
333
+ autoSwitchToMinutes: () => h(),
334
+ disabled: () => D(),
335
+ readonly: () => A(),
336
+ selection: () => M()
337
+ }), U = null, W = !1;
338
+ function G(e) {
339
+ let t = U.getBoundingClientRect(), n = H.SIZE / t.width, r = (e.clientX - t.left) * n - H.C, i = (e.clientY - t.top) * n - H.C, a = Math.atan2(i, r) * 180 / Math.PI + 90;
340
+ return a < 0 && (a += 360), {
341
+ angle: a,
342
+ dist: Math.hypot(r, i)
343
+ };
344
+ }
345
+ function ne(e) {
346
+ if (!H.isInteractive) return;
347
+ W = !0, U?.setPointerCapture(e.pointerId);
348
+ let { angle: t, dist: n } = G(e);
349
+ H.pointerSelect(t, n);
350
+ }
351
+ function re(e) {
352
+ if (!W) return;
353
+ let { angle: t, dist: n } = G(e);
354
+ H.pointerSelect(t, n);
355
+ }
356
+ function K(e) {
357
+ W && (W = !1, U?.releasePointerCapture(e.pointerId), H.endPointer());
358
+ }
359
+ var q = t(), ie = T(q), J = (e) => {
360
+ te(e, {
361
+ get id() {
362
+ return d(R);
363
+ },
364
+ get label() {
365
+ return i.label;
366
+ },
367
+ get hint() {
368
+ return i.hint;
369
+ },
370
+ get error() {
371
+ return i.error;
372
+ },
373
+ get required() {
374
+ return I();
375
+ },
376
+ get dir() {
377
+ return i.dir;
378
+ },
379
+ children: (e, t) => {
380
+ a(e);
381
+ },
382
+ $$slots: { default: !0 }
383
+ });
384
+ }, ae = (e) => {
385
+ a(e);
386
+ };
387
+ r(ie, (e) => {
388
+ d(z) ? e(J) : e(ae, -1);
389
+ }), C(n, q), y();
390
+ }
391
+ //#endregion
392
+ //#region ../grid/dist/createDateTimePicker.svelte.js
393
+ var Y = () => typeof navigator < "u" ? navigator.language : "en-US";
394
+ function me(t) {
395
+ let n = () => t.formatString?.() ?? "yyyy-MM-dd HH:mm", r = () => t.nullable?.() ?? !0, i = () => t.locale?.() ?? Y(), o = () => t.dropDownDisplayMode?.() ?? "both", s = () => t.spinButtons?.() ?? !1, c = () => t.stepMinutes?.() ?? 1, l = () => t.disabled?.() ?? !1, u = () => t.readonly?.() ?? !1, f = e(() => !l() && !u()), m = e(() => V(t.min?.() ?? null)), g = e(() => V(t.max?.() ?? null)), _ = h(null), v = h(""), y = "￿";
396
+ a(() => {
397
+ let e = V(t.value()), r = e ? String(e.getTime()) : "null";
398
+ r !== y && (y = r, p(_, e, !0), p(v, e ? H(e, n(), i()) : "", !0));
399
+ });
400
+ let b = h(!1), x = h("date"), S = e(() => o() !== "time"), C = e(() => o() !== "calendar");
401
+ function w(e) {
402
+ let r = e ? ee(e, d(m), d(g)) : null;
403
+ p(_, r, !0), y = r ? String(r.getTime()) : "null", p(v, r ? H(r, n(), i()) : "", !0), t.onChange?.(r);
404
+ }
405
+ function T() {
406
+ let e = d(v).trim();
407
+ if (!e) {
408
+ r() ? w(null) : p(v, d(_) ? H(d(_), n(), i()) : "", !0);
409
+ return;
410
+ }
411
+ let t = R(e, n(), i(), 2029, d(_) ?? /* @__PURE__ */ new Date());
412
+ t ? w(t) : p(v, d(_) ? H(d(_), n(), i()) : "", !0);
413
+ }
414
+ function E(e) {
415
+ let t = d(_) ?? /* @__PURE__ */ new Date();
416
+ w(new Date(t.getTime() + e * 6e4));
417
+ }
418
+ function D(e) {
419
+ let n = e[0];
420
+ n && (w(L(n, d(_) ?? z(n))), o() === "calendar" ? (p(b, !1), t.onCommit?.(d(_))) : o() === "both" && p(x, "time"));
421
+ }
422
+ function O(e) {
423
+ let t = d(_) ?? /* @__PURE__ */ new Date();
424
+ w(L(t, e));
425
+ }
426
+ function k() {
427
+ !d(f) || d(b) || (p(x, o() === "time" ? "time" : "date", !0), p(b, !0));
428
+ }
429
+ function A() {
430
+ p(b, !1);
431
+ }
432
+ function j() {
433
+ (d(b) ? A : k)();
434
+ }
435
+ function M(e) {
436
+ p(x, e, !0);
437
+ }
438
+ function N(e) {
439
+ e.key === "Enter" ? (e.preventDefault(), T(), A(), t.onCommit?.(d(_))) : e.key === "Escape" ? (A(), t.onCancel?.()) : e.key === "ArrowDown" && (e.altKey || !d(v)) ? (e.preventDefault(), k()) : s() && e.key === "ArrowUp" ? (e.preventDefault(), E(c())) : s() && e.key === "ArrowDown" && (e.preventDefault(), E(-c()));
440
+ }
441
+ return {
442
+ get current() {
443
+ return d(_);
444
+ },
445
+ get text() {
446
+ return d(v);
447
+ },
448
+ set text(e) {
449
+ p(v, e, !0);
450
+ },
451
+ get open() {
452
+ return d(b);
453
+ },
454
+ get tab() {
455
+ return d(x);
456
+ },
457
+ get isInteractive() {
458
+ return d(f);
459
+ },
460
+ get showDateTab() {
461
+ return d(S);
462
+ },
463
+ get showTimeTab() {
464
+ return d(C);
465
+ },
466
+ commit: w,
467
+ commitFromText: T,
468
+ bump: E,
469
+ onCalendarChange: D,
470
+ onTimeChange: O,
471
+ openPanel: k,
472
+ closePanel: A,
473
+ toggle: j,
474
+ setTab: M,
475
+ onInputKeydown: N,
476
+ inputProps() {
477
+ return {
478
+ id: t.id?.(),
479
+ type: "text",
480
+ disabled: l(),
481
+ readonly: u(),
482
+ ...I({
483
+ id: t.id?.(),
484
+ invalid: t.invalid?.(),
485
+ required: t.required?.(),
486
+ error: t.error?.(),
487
+ hint: t.hint?.(),
488
+ ariaLabel: t.ariaLabel?.()
489
+ }),
490
+ onblur: T,
491
+ onkeydown: N
492
+ };
493
+ },
494
+ toggleProps() {
495
+ return {
496
+ type: "button",
497
+ "aria-label": t.toggleLabel?.() ?? "Open picker",
498
+ "aria-haspopup": "dialog",
499
+ "aria-expanded": d(b),
500
+ disabled: !d(f),
501
+ tabindex: -1,
502
+ onclick: j
503
+ };
504
+ },
505
+ clearProps() {
506
+ return {
507
+ type: "button",
508
+ "aria-label": t.clearLabel?.() ?? "Clear",
509
+ onclick: () => w(null)
510
+ };
511
+ },
512
+ spinProps(e) {
513
+ return {
514
+ type: "button",
515
+ tabindex: -1,
516
+ "aria-label": e === 1 ? "Increment" : "Decrement",
517
+ disabled: !d(f),
518
+ onclick: () => E(e * c())
519
+ };
520
+ },
521
+ tabProps(e) {
522
+ return {
523
+ type: "button",
524
+ role: "tab",
525
+ "aria-selected": d(x) === e,
526
+ onclick: () => M(e)
527
+ };
528
+ }
529
+ };
530
+ }
531
+ //#endregion
532
+ //#region ../grid/dist/SvDateTimePicker.svelte
533
+ var he = S("<div class=\"sv-dtp__spin svelte-8dgo1g\"><button>▲</button> <button>▼</button></div>"), ge = S("<button>&times;</button>"), _e = S("<div class=\"sv-dtp__tabs\" role=\"tablist\"><button> </button> <button> </button></div>"), ve = S("<div class=\"sv-dtp__panel\" role=\"dialog\"><!> <div class=\"sv-dtp__body\"><!></div></div>"), ye = S("<input type=\"hidden\"/>"), be = S("<div><div><!> <input/> <!> <button><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"></rect><path d=\"M16 2v4M8 2v4M3 10h18\"></path></svg></button></div> <!> <!></div>");
534
+ function X(t, i) {
535
+ O(i, !0);
536
+ let l = {
537
+ dialog: "Choose date and time",
538
+ date: "DATE",
539
+ time: "TIME",
540
+ clear: "Clear",
541
+ open: "Open picker"
542
+ }, S = w(i, "value", 3, null), T = w(i, "formatString", 3, "yyyy-MM-dd HH:mm"), j = w(i, "min", 3, null), I = w(i, "max", 3, null), ee = w(i, "nullable", 3, !0), L = w(i, "placeholder", 3, "Select date & time"), R = w(i, "disabled", 3, !1), z = w(i, "readonly", 3, !1), V = w(i, "locale", 19, () => typeof navigator < "u" ? navigator.language : "en-US"), H = w(i, "firstDayOfWeek", 3, 0), re = w(i, "weekNumbers", 3, !1), K = w(i, "hourFormat", 3, "24-hour"), q = w(i, "minuteInterval", 3, 1), ie = w(i, "dropDownDisplayMode", 3, "both"), J = w(i, "spinButtons", 3, !1), ae = w(i, "stepMinutes", 3, 1), oe = w(i, "autoOpen", 3, !1), se = w(i, "block", 3, !1), ce = w(i, "animate", 3, !1), le = w(i, "invalid", 3, !1), ue = w(i, "required", 3, !1), de = F("sv-dtp"), fe = e(() => i.id ?? de), Y = e(() => P(l, i.messages)), X = e(() => i.dir === "ltr" || i.dir === "rtl" ? i.dir : void 0), Z = me({
543
+ value: () => S(),
544
+ onChange: (e) => i.onChange?.(e),
545
+ onCommit: (e) => i.onCommit?.(e),
546
+ onCancel: () => i.onCancel?.(),
547
+ formatString: () => T(),
548
+ min: () => j(),
549
+ max: () => I(),
550
+ nullable: () => ee(),
551
+ locale: () => V(),
552
+ dropDownDisplayMode: () => ie(),
553
+ spinButtons: () => J(),
554
+ stepMinutes: () => ae(),
555
+ disabled: () => R(),
556
+ readonly: () => z(),
557
+ toggleLabel: () => d(Y).open,
558
+ clearLabel: () => d(Y).clear,
559
+ id: () => d(fe),
560
+ invalid: () => le(),
561
+ required: () => ue(),
562
+ error: () => i.error,
563
+ hint: () => i.hint,
564
+ ariaLabel: () => i.ariaLabel
565
+ }), Q = h(null), $ = h(null), xe = h(m({
566
+ top: 0,
567
+ left: 0,
568
+ width: 0,
569
+ openUpward: !1,
570
+ maxHeight: 0,
571
+ availHeight: 0
572
+ }));
573
+ function Se() {
574
+ d(Q) && p(xe, G(d(Q).getBoundingClientRect(), {
575
+ estimatedHeight: 360,
576
+ minWidth: 300
577
+ }), !0);
578
+ }
579
+ a(() => {
580
+ if (!Z.open) return;
581
+ Se();
582
+ let e = () => Se();
583
+ window.addEventListener("scroll", e, !0), window.addEventListener("resize", e);
584
+ let t = ne({
585
+ element: () => [d(Q), d($)],
586
+ onDismiss: () => Z.closePanel(),
587
+ closeOnEscape: !1
588
+ });
589
+ return t.activate(), () => {
590
+ window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e), t.release();
591
+ };
592
+ });
593
+ function Ce(e) {
594
+ oe() && (e.focus(), Z.openPanel());
595
+ }
596
+ function we(e) {
597
+ let t = e.relatedTarget;
598
+ t && (d(Q)?.contains(t) || d($)?.contains(t)) || i.onCommit?.(Z.current);
599
+ }
600
+ te(t, {
601
+ get id() {
602
+ return d(fe);
603
+ },
604
+ get label() {
605
+ return i.label;
606
+ },
607
+ get hint() {
608
+ return i.hint;
609
+ },
610
+ get error() {
611
+ return i.error;
612
+ },
613
+ get required() {
614
+ return ue();
615
+ },
616
+ get dir() {
617
+ return i.dir;
618
+ },
619
+ get block() {
620
+ return se();
621
+ },
622
+ children: (e, t) => {
623
+ var a = be();
624
+ let l;
625
+ var m = c(a);
626
+ let h;
627
+ var y = c(m), S = (e) => {
628
+ var t = he(), n = c(t);
629
+ k(n, (e) => ({ ...e }), [() => Z.spinProps(1)], void 0, void 0, "svelte-8dgo1g");
630
+ var r = s(n, 2);
631
+ k(r, (e) => ({ ...e }), [() => Z.spinProps(-1)], void 0, void 0, "svelte-8dgo1g"), E(t), C(e, t);
632
+ };
633
+ r(y, (e) => {
634
+ J() && e(S);
635
+ });
636
+ var w = s(y, 2);
637
+ k(w, (e) => ({
638
+ class: "sv-dtp__input",
639
+ placeholder: L(),
640
+ ...e
641
+ }), [() => Z.inputProps()], void 0, void 0, "svelte-8dgo1g", !0), n(() => D(w, () => Z.text, (e) => Z.text = e)), M(w, (e) => Ce?.(e));
642
+ var T = s(w, 2), O = (e) => {
643
+ var t = ge();
644
+ k(t, (e) => ({
645
+ class: "sv-dtp__clear",
646
+ ...e
647
+ }), [() => Z.clearProps()], void 0, void 0, "svelte-8dgo1g"), C(e, t);
648
+ };
649
+ r(T, (e) => {
650
+ ee() && Z.current && Z.isInteractive && e(O);
651
+ });
652
+ var P = s(T, 2);
653
+ k(P, (e) => ({
654
+ class: "sv-dtp__toggle",
655
+ ...e
656
+ }), [() => Z.toggleProps()], void 0, void 0, "svelte-8dgo1g"), E(m), g(m, (e) => p(Q, e), () => d(Q));
657
+ var F = s(m, 2), z = (e) => {
658
+ var t = ve();
659
+ let n;
660
+ var i = c(t), a = (e) => {
661
+ var t = _e(), n = c(t);
662
+ k(n, (e) => ({
663
+ ...e,
664
+ [_]: { "is-active": Z.tab === "date" }
665
+ }), [() => Z.tabProps("date")], void 0, void 0, "svelte-8dgo1g");
666
+ var r = c(n, !0);
667
+ E(n);
668
+ var i = s(n, 2);
669
+ k(i, (e) => ({
670
+ ...e,
671
+ [_]: { "is-active": Z.tab === "time" }
672
+ }), [() => Z.tabProps("time")], void 0, void 0, "svelte-8dgo1g");
673
+ var a = c(i, !0);
674
+ E(i), E(t), f(() => {
675
+ u(r, d(Y).date), u(a, d(Y).time);
676
+ }), C(e, t);
677
+ };
678
+ r(i, (e) => {
679
+ Z.showDateTab && Z.showTimeTab && e(a);
680
+ });
681
+ var o = s(i, 2), l = c(o), m = (e) => {
682
+ B(e, {
683
+ get value() {
684
+ return Z.current;
685
+ },
686
+ selectionMode: "one",
687
+ get min() {
688
+ return j();
689
+ },
690
+ get max() {
691
+ return I();
692
+ },
693
+ get firstDayOfWeek() {
694
+ return H();
695
+ },
696
+ get weekNumbers() {
697
+ return re();
698
+ },
699
+ get locale() {
700
+ return V();
701
+ },
702
+ get animate() {
703
+ return ce();
704
+ },
705
+ get dir() {
706
+ return d(X);
707
+ },
708
+ get onChange() {
709
+ return Z.onCalendarChange;
710
+ }
711
+ });
712
+ }, h = (e) => {
713
+ pe(e, {
714
+ get value() {
715
+ return Z.current;
716
+ },
717
+ get format() {
718
+ return K();
719
+ },
720
+ get minuteInterval() {
721
+ return q();
722
+ },
723
+ footer: !0,
724
+ get dir() {
725
+ return d(X);
726
+ },
727
+ get onChange() {
728
+ return Z.onTimeChange;
729
+ }
730
+ });
731
+ };
732
+ r(l, (e) => {
733
+ Z.tab === "date" && Z.showDateTab ? e(m) : Z.showTimeTab && e(h, 1);
734
+ }), E(o), E(t), g(t, (e) => p($, e), () => d($)), M(t, (e) => W?.(e)), M(t, (e, t) => U?.(e, t), () => ({ up: d(xe).openUpward })), f(() => {
735
+ b(t, "aria-label", d(Y).dialog), b(t, "dir", d(X)), n = A(t, "", n, {
736
+ position: "fixed",
737
+ top: `${d(xe).top}px`,
738
+ left: `${d(xe).left}px`
739
+ }), t.dir = t.dir;
740
+ }), C(e, t);
741
+ };
742
+ r(F, (e) => {
743
+ Z.open && e(z);
744
+ });
745
+ var G = s(F, 2), te = (e) => {
746
+ var t = ye();
747
+ v(t), f((e) => {
748
+ b(t, "name", i.name), x(t, e);
749
+ }, [() => Z.current ? Z.current.toISOString() : ""]), C(e, t);
750
+ };
751
+ r(G, (e) => {
752
+ i.name && e(te);
753
+ }), E(a), f(() => {
754
+ l = N(a, 1, "sv-dtp svelte-8dgo1g", null, l, {
755
+ "sv-dtp--disabled": R(),
756
+ "sv-dtp--block": se()
757
+ }), b(a, "dir", d(X)), h = N(m, 1, "sv-dtp__field svelte-8dgo1g", null, h, { "is-invalid": le() }), a.dir = a.dir;
758
+ }), o("focusout", a, we), C(e, a);
759
+ },
760
+ $$slots: { default: !0 }
761
+ }), y();
762
+ }
763
+ i(["focusout"]);
764
+ //#endregion
765
+ export { X as default };