@svgrid/grid 2.6.22 → 2.6.23

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 (115) hide show
  1. package/dist/GridMenus.svelte +184 -6
  2. package/dist/SvAutoComplete.svelte +4 -0
  3. package/dist/SvComboBox.svelte +5 -1
  4. package/dist/SvDateRangeInput.svelte +25 -3
  5. package/dist/SvDropDownList.svelte +4 -0
  6. package/dist/SvForm.svelte +8 -8
  7. package/dist/SvGrid.controller.svelte.d.ts +48 -1
  8. package/dist/SvGrid.controller.svelte.js +214 -52
  9. package/dist/SvGrid.css +221 -0
  10. package/dist/SvGrid.helpers.d.ts +55 -0
  11. package/dist/SvGrid.helpers.js +83 -0
  12. package/dist/SvGrid.svelte +145 -0
  13. package/dist/SvGrid.types.d.ts +105 -0
  14. package/dist/SvGridCellEditor.svelte +99 -17
  15. package/dist/SvGridSelect.svelte +6 -2
  16. package/dist/SvGridSelect.svelte.d.ts +1 -1
  17. package/dist/SvListBox.svelte +8 -0
  18. package/dist/SvMultiSelect.svelte +6 -2
  19. package/dist/SvMultiSelect.svelte.d.ts +1 -1
  20. package/dist/SvNumberInput.svelte +4 -0
  21. package/dist/SvRichCell.svelte +125 -0
  22. package/dist/SvRichCell.svelte.d.ts +15 -0
  23. package/dist/SvTextArea.svelte +5 -1
  24. package/dist/SvTreeSelect.svelte +6 -2
  25. package/dist/SvTreeSelect.svelte.d.ts +1 -1
  26. package/dist/builtin-editors.d.ts +2 -2
  27. package/dist/builtin-editors.js +19 -3
  28. package/dist/cdn/GridMenus-BzWXQjv3.js +600 -0
  29. package/dist/cdn/GridMenus-xr_rHx8F.js +601 -0
  30. package/dist/cdn/SvDateRangeInput-CaOuMs8O.js +198 -0
  31. package/dist/cdn/SvDateRangeInput-DMLKmGEc.js +199 -0
  32. package/dist/cdn/SvDateTimePicker-CCbDZNZB.js +816 -0
  33. package/dist/cdn/SvDateTimePicker-sonaH0oh.js +812 -0
  34. package/dist/cdn/SvGridCellEditor-BAPSC7EL.js +550 -0
  35. package/dist/cdn/SvGridCellEditor-BwzmUWtL.js +549 -0
  36. package/dist/cdn/date-format-BNii4zeD.js +1393 -0
  37. package/dist/cdn/date-format-BnnHlqGw.js +1395 -0
  38. package/dist/cdn/{editor-registry-CiI0xlKg.js → editor-registry-BhgE3S84.js} +51 -25
  39. package/dist/cdn/{src-D1lXwq1l.js → src-DGo7IHug.js} +5730 -5198
  40. package/dist/cdn/{src-C9Hihx1W.js → src-skQN5eqh.js} +7216 -6684
  41. package/dist/cdn/svgrid.js +14 -12
  42. package/dist/cdn/svgrid.svelte-external.js +14 -12
  43. package/dist/cell-values.d.ts +16 -0
  44. package/dist/cell-values.js +28 -0
  45. package/dist/clipboard.d.ts +22 -0
  46. package/dist/clipboard.js +405 -27
  47. package/dist/editing.js +12 -7
  48. package/dist/editors/cell-editors.d.ts +11 -0
  49. package/dist/editors/cell-editors.js +18 -1
  50. package/dist/grid-messages.d.ts +15 -0
  51. package/dist/grid-messages.js +15 -0
  52. package/dist/index.d.ts +4 -0
  53. package/dist/index.js +4 -0
  54. package/dist/list-option.d.ts +6 -0
  55. package/dist/menus.js +40 -7
  56. package/dist/sanitize-html.d.ts +37 -0
  57. package/dist/sanitize-html.js +234 -0
  58. package/dist/selection-bar-view.svelte.d.ts +25 -0
  59. package/dist/selection-bar-view.svelte.js +13 -0
  60. package/dist/selection.d.ts +2 -1
  61. package/dist/selection.js +129 -13
  62. package/package.json +1 -1
  63. package/src/GridMenus.svelte +184 -6
  64. package/src/SvAutoComplete.svelte +4 -0
  65. package/src/SvComboBox.svelte +5 -1
  66. package/src/SvDateRangeInput.svelte +25 -3
  67. package/src/SvDropDownList.svelte +4 -0
  68. package/src/SvForm.svelte +8 -8
  69. package/src/SvGrid.controller.svelte.ts +251 -61
  70. package/src/SvGrid.css +221 -0
  71. package/src/SvGrid.helpers.ts +87 -0
  72. package/src/SvGrid.svelte +145 -0
  73. package/src/SvGrid.types.ts +112 -0
  74. package/src/SvGridCellEditor.svelte +99 -17
  75. package/src/SvGridSelect.svelte +6 -2
  76. package/src/SvListBox.svelte +8 -0
  77. package/src/SvMultiSelect.svelte +6 -2
  78. package/src/SvNumberInput.svelte +4 -0
  79. package/src/SvRichCell.svelte +125 -0
  80. package/src/SvTextArea.svelte +5 -1
  81. package/src/SvTreeSelect.svelte +6 -2
  82. package/src/builtin-editors.test.ts +18 -1
  83. package/src/builtin-editors.ts +19 -3
  84. package/src/cell-values.ts +30 -0
  85. package/src/clipboard.test.ts +93 -20
  86. package/src/clipboard.ts +433 -33
  87. package/src/date-string-column.test.ts +87 -0
  88. package/src/editing.test.ts +25 -0
  89. package/src/editing.ts +12 -9
  90. package/src/editor-block-prop.test.ts +132 -0
  91. package/src/editors/cell-editors.ts +27 -1
  92. package/src/grid-messages.ts +34 -0
  93. package/src/index.ts +13 -0
  94. package/src/list-option.ts +6 -0
  95. package/src/menus.test.ts +43 -0
  96. package/src/menus.ts +37 -7
  97. package/src/move-cells.test.ts +850 -0
  98. package/src/number-editor-literal.test.ts +84 -0
  99. package/src/number-editor.grid.test.ts +160 -0
  100. package/src/sanitize-html.test.ts +182 -0
  101. package/src/sanitize-html.ts +235 -0
  102. package/src/selection-bar-view.svelte.ts +36 -0
  103. package/src/selection.test.ts +157 -0
  104. package/src/selection.ts +131 -13
  105. package/src/svgrid.filter-menu-listbox.svelte.test.ts +56 -10
  106. package/src/svgrid.in-suggest-snapshot.svelte.test.ts +91 -0
  107. package/src/svgrid.menu-scroll-close.test.ts +204 -0
  108. package/src/svgrid.selection-bar-seam.test.ts +185 -0
  109. package/src/svgrid.upsell-license.test.ts +117 -0
  110. package/dist/cdn/GridMenus-BuoBPqxx.js +0 -493
  111. package/dist/cdn/GridMenus-n4llxoOI.js +0 -494
  112. package/dist/cdn/SvDateTimePicker-CHnUkWcH.js +0 -2206
  113. package/dist/cdn/SvDateTimePicker-CRQH_U7E.js +0 -2201
  114. package/dist/cdn/SvGridCellEditor-BGUCzuPB.js +0 -523
  115. package/dist/cdn/SvGridCellEditor-G8IMWIws.js +0 -522
@@ -1,2201 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { D as t, E as n, F as r, G as i, H as a, I as o, J as s, L as c, N as l, R as u, V as d, X as f, Y as p, _ as m, at as h, b as g, d as _, et as v, i as y, it as b, j as x, k as S, l as C, lt as w, m as T, nt as E, o as D, ot as O, pt as k, q as A, rt as j, s as M, st as N, t as P, tt as F, u as I, ut as ee, v as te, x as L } from "./disclose-version-Dr7rEVv-.js";
3
- import { i as R, n as ne, r as z } from "./popover-P-9P2YYn.js";
4
- //#region src/editor-contract.ts
5
- var B = (e) => e ? `${e}__error` : void 0, V = (e) => e ? `${e}__hint` : void 0, H = 0, re = (e = "sv-ed") => `${e}-${H++}`;
6
- function U(e) {
7
- let t = [e.error ? B(e.id) : void 0, e.hint ? V(e.id) : void 0].filter(Boolean);
8
- return {
9
- "aria-invalid": e.invalid ? "true" : void 0,
10
- "aria-required": e.required ? "true" : void 0,
11
- "aria-describedby": t.length ? t.join(" ") : void 0,
12
- "aria-label": e.ariaLabel
13
- };
14
- }
15
- function W(e, t) {
16
- if (!t) return e;
17
- let n = { ...e };
18
- for (let e in t) {
19
- let r = t[e];
20
- r != null && r !== "" && (n[e] = r);
21
- }
22
- return n;
23
- }
24
- //#endregion
25
- //#region src/datetime/date-core.ts
26
- function G(e) {
27
- if (e == null) return null;
28
- let t = e instanceof Date ? new Date(e.getTime()) : new Date(e);
29
- return isNaN(t.getTime()) ? null : t;
30
- }
31
- function K(e) {
32
- return new Date(e.getFullYear(), e.getMonth(), e.getDate());
33
- }
34
- function ie(e) {
35
- return new Date(e.getFullYear(), e.getMonth(), 1);
36
- }
37
- function ae(e) {
38
- return new Date(e.getFullYear(), e.getMonth() + 1, 0);
39
- }
40
- function oe(e) {
41
- return ae(e).getDate();
42
- }
43
- function se(e, t = 0) {
44
- let n = K(e), r = (n.getDay() - t + 7) % 7;
45
- return n.setDate(n.getDate() - r), n;
46
- }
47
- function q(e, t) {
48
- return !e || !t ? !1 : e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
49
- }
50
- function ce(e, t) {
51
- return !e || !t ? !1 : e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth();
52
- }
53
- function J(e, t) {
54
- let n = K(e).getTime(), r = K(t).getTime();
55
- return n < r ? -1 : +(n > r);
56
- }
57
- function Y(e, t) {
58
- let n = new Date(e.getTime());
59
- return n.setDate(n.getDate() + t), n;
60
- }
61
- function le(e, t) {
62
- let n = e.getDate(), r = new Date(e.getFullYear(), e.getMonth() + t, 1, e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds());
63
- return r.setDate(Math.min(n, oe(r))), r;
64
- }
65
- function X(e, t) {
66
- return le(e, t * 12);
67
- }
68
- function ue(e, t, n) {
69
- return t && e.getTime() < t.getTime() ? new Date(t.getTime()) : n && e.getTime() > n.getTime() ? new Date(n.getTime()) : e;
70
- }
71
- function Z(e) {
72
- let t = K(e), n = (t.getDay() + 6) % 7;
73
- t.setDate(t.getDate() - n + 3);
74
- let r = new Date(t.getFullYear(), 0, 4), i = (r.getDay() + 6) % 7;
75
- r.setDate(r.getDate() - i + 3);
76
- let a = t.getTime() - r.getTime();
77
- return 1 + Math.round(a / 6048e5);
78
- }
79
- function de(e) {
80
- let t = Math.floor(e / 10) * 10;
81
- return {
82
- start: t,
83
- end: t + 9
84
- };
85
- }
86
- function fe(e, t = 0, n = 6) {
87
- let r = ie(e), i = se(r, t), a = [], o = i;
88
- for (let e = 0; e < n; e++) {
89
- let e = [], t = Z(o);
90
- for (let n = 0; n < 7; n++) e.push({
91
- date: o,
92
- inMonth: o.getMonth() === r.getMonth() && o.getFullYear() === r.getFullYear(),
93
- week: t
94
- }), o = Y(o, 1);
95
- a.push(e);
96
- }
97
- return a;
98
- }
99
- function pe(e = 0) {
100
- return Array.from({ length: 7 }, (t, n) => (e + n) % 7);
101
- }
102
- function me(e, t) {
103
- return new Date(e.getFullYear(), e.getMonth(), e.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds());
104
- }
105
- function Q(e, t) {
106
- let n = Math.max(1, Math.floor(t));
107
- return Math.floor(e / n) * n;
108
- }
109
- //#endregion
110
- //#region src/recurrence.ts
111
- var he = 864e5, ge = (e) => Math.round(K(e).getTime() / he), _e = (e) => new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate();
112
- function ve(e, t) {
113
- return t === -1 ? e.getDate() + 7 > _e(e) : Math.floor((e.getDate() - 1) / 7) + 1 === t;
114
- }
115
- function ye(e, t) {
116
- let n = t.count && t.count >= 1 && t.from != null ? xe(t) : t, r = K(e), i = n.from == null ? null : K(G(n.from) ?? r), a = n.until == null ? null : K(G(n.until) ?? r);
117
- if (i && r < i || a && r > a) return !1;
118
- let o = Math.max(1, Math.floor(n.interval ?? 1));
119
- switch (n.freq) {
120
- case "daily": return !i || (ge(r) - ge(i)) % o === 0;
121
- case "weekly": {
122
- let e = n.weekdays && n.weekdays.length ? n.weekdays : i ? [i.getDay()] : null;
123
- return !(!e || !e.includes(r.getDay()) || o > 1 && i && Math.round((se(r, 0).getTime() - se(i, 0).getTime()) / (he * 7)) % o !== 0);
124
- }
125
- case "monthly": return be(r, n) ? !i || ((r.getFullYear() - i.getFullYear()) * 12 + (r.getMonth() - i.getMonth())) % o === 0 : !1;
126
- case "yearly": return n.month != null && r.getMonth() !== n.month || !be(r, n) ? !1 : i ? (r.getFullYear() - i.getFullYear()) % o === 0 : n.month != null || n.day != null || n.weekOfMonth != null;
127
- }
128
- }
129
- function be(e, t) {
130
- if (t.weekOfMonth != null && t.weekdays && t.weekdays.length) return t.weekdays.includes(e.getDay()) && ve(e, t.weekOfMonth);
131
- let n = t.from == null ? null : (G(t.from) ?? e).getDate(), r = t.day ?? n;
132
- if (r == null) return !1;
133
- let i = r < 0 ? _e(e) + r + 1 : r;
134
- return e.getDate() === i;
135
- }
136
- function xe(e) {
137
- let t = G(e.from);
138
- if (!t) return {
139
- ...e,
140
- count: void 0
141
- };
142
- let n = {
143
- ...e,
144
- count: void 0
145
- }, r = K(t), i = 0, a = r, o = 0;
146
- for (; o++ < 48e3 && !(ye(r, n) && (i++, a = r, i >= e.count));) r = new Date(r.getFullYear(), r.getMonth(), r.getDate() + 1);
147
- let s = a, c = e.until == null ? null : K(G(e.until) ?? s), l = c && c < s ? c : s;
148
- return {
149
- ...n,
150
- until: l
151
- };
152
- }
153
- function Se(e, t) {
154
- return t ? (Array.isArray(t) ? t : [t]).some((t) => ye(e, t)) : !1;
155
- }
156
- function Ce(e, t, n) {
157
- if (!e) return [];
158
- let r = (Array.isArray(e) ? e : [e]).map((e) => e.count && e.count >= 1 && e.from != null ? xe(e) : e), i = [], a = K(n), o = K(t), s = 0;
159
- for (; o <= a && s++ < 4e3;) Se(o, r) && i.push(o), o = new Date(o.getFullYear(), o.getMonth(), o.getDate() + 1);
160
- return i;
161
- }
162
- var we = [
163
- "Sun",
164
- "Mon",
165
- "Tue",
166
- "Wed",
167
- "Thu",
168
- "Fri",
169
- "Sat"
170
- ], Te = [
171
- "Jan",
172
- "Feb",
173
- "Mar",
174
- "Apr",
175
- "May",
176
- "Jun",
177
- "Jul",
178
- "Aug",
179
- "Sep",
180
- "Oct",
181
- "Nov",
182
- "Dec"
183
- ], Ee = {
184
- 1: "first",
185
- 2: "second",
186
- 3: "third",
187
- 4: "fourth",
188
- 5: "fifth",
189
- [-1]: "last"
190
- };
191
- function De(e, t, n) {
192
- let r = e.weekdays?.[0];
193
- return e.weekOfMonth != null && r != null ? `the ${n[e.weekOfMonth] ?? e.weekOfMonth} ${t[r]}` : e.day === -1 ? "the last day" : e.day != null && e.day < 0 ? `the ${-e.day} day(s) from the end` : e.day == null ? "" : `day ${e.day}`;
194
- }
195
- function Oe(e, t) {
196
- let n = Math.max(1, Math.floor(e.interval ?? 1)), r = "";
197
- switch (e.freq) {
198
- case "daily":
199
- r = n === 1 ? "Daily" : `Every ${n} days`;
200
- break;
201
- case "weekly": {
202
- r = n === 1 ? "Weekly" : `Every ${n} weeks`;
203
- let i = e.weekdays && e.weekdays.length ? [...e.weekdays].sort((e, t) => e - t) : [];
204
- if (i.length) {
205
- let e = i.length === 5 && [
206
- 1,
207
- 2,
208
- 3,
209
- 4,
210
- 5
211
- ].every((e) => i.includes(e)), n = i.length === 2 && i.includes(0) && i.includes(6);
212
- r += e ? " on weekdays" : n ? " on weekends" : ` on ${i.map((e) => t.weekdays[e]).join(", ")}`;
213
- }
214
- break;
215
- }
216
- case "monthly": {
217
- r = n === 1 ? "Monthly" : `Every ${n} months`;
218
- let i = De(e, t.weekdays, t.ordinals);
219
- i && (r += ` on ${i}`);
220
- break;
221
- }
222
- case "yearly": {
223
- r = n === 1 ? "Yearly" : `Every ${n} years`;
224
- let i = De(e, t.weekdays, t.ordinals);
225
- e.month != null && i ? r += ` on ${i} of ${t.months[e.month]}` : e.month == null ? i && (r += ` on ${i}`) : r += ` in ${t.months[e.month]}`;
226
- break;
227
- }
228
- }
229
- if (e.count && e.count >= 1) r += `, ${e.count} time${e.count === 1 ? "" : "s"}`;
230
- else if (e.until) {
231
- let n = G(e.until);
232
- n && (r += ` until ${t.months[n.getMonth()]} ${n.getDate()}, ${n.getFullYear()}`);
233
- }
234
- return r;
235
- }
236
- function ke(e, t) {
237
- let n = {
238
- weekdays: t?.weekdays ?? we,
239
- months: t?.months ?? Te,
240
- ordinals: t?.ordinals ?? Ee,
241
- never: t?.never ?? ""
242
- };
243
- if (!e) return n.never;
244
- let r = (Array.isArray(e) ? e : [e]).filter((e) => e && e.freq);
245
- return r.length ? r.map((e) => Oe(e, n)).join("; ") : n.never;
246
- }
247
- //#endregion
248
- //#region src/SvField.svelte
249
- var Ae = c("<span class=\"sv-field__req svelte-1uhr4tm\" aria-hidden=\"true\">*</span>"), je = c("<label class=\"sv-field__label svelte-1uhr4tm\"> <!></label>"), Me = c("<span class=\"sv-field__spinner svelte-1uhr4tm\" role=\"status\" aria-label=\"Loading\"></span>"), Ne = c("<span class=\"sv-field__labelrow svelte-1uhr4tm\"><!> <!></span>"), Pe = c("<span class=\"sv-field__req svelte-1uhr4tm\" aria-hidden=\"true\">*</span>"), Fe = c("<label class=\"sv-field__float-label svelte-1uhr4tm\"> <!></label>"), Ie = c("<span class=\"sv-field__adorn sv-field__adorn--lead svelte-1uhr4tm\"><!></span>"), Le = c("<span class=\"sv-field__affix sv-field__affix--pre svelte-1uhr4tm\"> </span>"), Re = c("<span class=\"sv-field__affix sv-field__affix--suf svelte-1uhr4tm\"> </span>"), ze = c("<span class=\"sv-field__adorn sv-field__adorn--trail svelte-1uhr4tm\"><!></span>"), Be = c("<span class=\"sv-field__action-txt svelte-1uhr4tm\"> </span>"), Ve = c("<button class=\"sv-field__action svelte-1uhr4tm\" type=\"button\" tabindex=\"-1\"><!></button>"), He = c("<button class=\"sv-field__clear svelte-1uhr4tm\" type=\"button\" tabindex=\"-1\">&times;</button>"), Ue = c("<div><!> <!> <!> <span class=\"sv-field__slot svelte-1uhr4tm\"><!></span> <!> <!> <!> <!></div>"), We = c("<span class=\"sv-field__error svelte-1uhr4tm\" role=\"alert\"> </span>"), Ge = c("<span class=\"sv-field__hint svelte-1uhr4tm\"> </span>"), Ke = c("<div><!> <!> <!></div>"), qe = {
250
- hash: "svelte-1uhr4tm",
251
- code: ".sv-field.svelte-1uhr4tm {display:inline-flex;flex-direction:column;gap:3px;text-align:start;}.sv-field--block.svelte-1uhr4tm {display:flex;width:100%;}.sv-field__labelrow.svelte-1uhr4tm {display:inline-flex;align-items:center;gap:6px;}.sv-field__label.svelte-1uhr4tm {font-size:12.5px;font-weight:550;color:var(--sg-fg, #0f172a);line-height:1.3;}.sv-field__spinner.svelte-1uhr4tm {width:12px;height:12px;flex:none;border-radius:50%;border:2px solid color-mix(in srgb, var(--sg-accent, #2563eb) 30%, transparent);border-top-color:var(--sg-accent, #2563eb);\n animation: svelte-1uhr4tm-sv-field-spin 0.6s linear infinite;}\n @keyframes svelte-1uhr4tm-sv-field-spin { to { transform: rotate(360deg); } }\n @media (prefers-reduced-motion: reduce) {.sv-field__spinner.svelte-1uhr4tm { animation: none;} }.sv-field__req.svelte-1uhr4tm {color:var(--sg-danger, #dc2626);margin-inline-start:2px;}.sv-field__hint.svelte-1uhr4tm {font-size:11.5px;color:var(--sg-muted, #64748b);line-height:1.35;}.sv-field__error.svelte-1uhr4tm {font-size:11.5px;font-weight:500;color:var(--sg-danger, #dc2626);line-height:1.35;}\n\n /* ---- Framed mode: the shared control box (opt-in via `frame`) ---- */.sv-field__control.svelte-1uhr4tm {--_accent: var(--sg-accent, #2563eb);display:flex;align-items:center;width:220px;background:var(--sg-input-bg, #fff);color:var(--sg-fg, #0f172a);border:1px solid var(--sg-input-border, var(--sg-border, #cbd5e1));border-radius:var(--sg-radius, 8px);}.sv-field--block.svelte-1uhr4tm .sv-field__control:where(.svelte-1uhr4tm) {width:100%;}.sv-field__control.svelte-1uhr4tm:focus-within {border-color:var(--_accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent);}.sv-field__control.is-invalid.svelte-1uhr4tm {border-color:var(--sg-danger, #dc2626);}.sv-field__control.is-invalid.svelte-1uhr4tm:focus-within {box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-danger, #dc2626) 22%, transparent);}.sv-field__control.is-disabled.svelte-1uhr4tm {opacity:0.6;}.sv-field__control.is-readonly.svelte-1uhr4tm {background:var(--sg-muted-bg, color-mix(in srgb, var(--sg-fg, #0f172a) 4%, var(--sg-input-bg, #fff)));}\n\n /* ---- Floating label ---- */.sv-field--floating.svelte-1uhr4tm .sv-field__control:where(.svelte-1uhr4tm) {position:relative;}.sv-field__float-label.svelte-1uhr4tm {position:absolute;inset-inline-start:11px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--sg-muted, #64748b);pointer-events:none;background:var(--sg-input-bg, #fff);padding:0 4px;max-width:calc(100% - 24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1;transition:top 0.14s ease, font-size 0.14s ease, color 0.14s ease;}.sv-field__control.svelte-1uhr4tm:focus-within .sv-field__float-label:where(.svelte-1uhr4tm),\n .sv-field__control.is-filled.svelte-1uhr4tm .sv-field__float-label:where(.svelte-1uhr4tm) {top:0;font-size:10.5px;color:var(--_accent, var(--sg-accent, #2563eb));}.sv-field__control.is-invalid.svelte-1uhr4tm .sv-field__float-label:where(.svelte-1uhr4tm) {color:var(--sg-danger, #dc2626);}\n @media (prefers-reduced-motion: reduce) {.sv-field__float-label.svelte-1uhr4tm {transition:none;} }.sv-field__slot.svelte-1uhr4tm {display:flex;flex:1;min-width:0;}\n /* Bare form controls passed as children inherit borderless chrome so editors\n no longer re-implement the box. Scoped to the framed control only. */.sv-field__slot.svelte-1uhr4tm input,\n .sv-field__slot.svelte-1uhr4tm textarea,\n .sv-field__slot.svelte-1uhr4tm select {flex:1;min-width:0;width:100%;border:0;background:none;outline:none;color:inherit;font:inherit;padding:0 10px;}.sv-field__adorn.svelte-1uhr4tm {display:inline-flex;align-items:center;color:var(--sg-muted, #64748b);}.sv-field__adorn--lead.svelte-1uhr4tm {padding-inline-start:10px;}.sv-field__adorn--trail.svelte-1uhr4tm {padding-inline-end:10px;}.sv-field__affix.svelte-1uhr4tm {display:inline-flex;align-items:center;color:var(--sg-muted, #64748b);white-space:nowrap;}.sv-field__affix--pre.svelte-1uhr4tm {padding-inline-start:10px;}.sv-field__affix--suf.svelte-1uhr4tm {padding-inline-end:10px;}\n /* When an affix/adornment sits next to the control, drop the control's own\n edge padding so text hugs the affix. */.sv-field__adorn--lead.svelte-1uhr4tm + .sv-field__slot:where(.svelte-1uhr4tm) input,\n .sv-field__affix--pre.svelte-1uhr4tm + .sv-field__slot:where(.svelte-1uhr4tm) input {padding-inline-start:6px;}.sv-field__clear.svelte-1uhr4tm {display:grid;place-items:center;width:28px;align-self:stretch;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;font-size:17px;line-height:1;}.sv-field__clear.svelte-1uhr4tm:hover {color:var(--sg-fg, #0f172a);}.sv-field__action.svelte-1uhr4tm {display:inline-grid;place-items:center;align-self:center;flex:none;min-width:24px;height:24px;margin-inline-end:3px;padding:0 5px;background:none;border:0;border-radius:5px;color:var(--sg-muted, #64748b);cursor:pointer;font:inherit;font-size:12px;}.sv-field__action.svelte-1uhr4tm:hover:not([disabled]) {background:var(--sg-row-hover-bg, #f1f5f9);color:var(--sg-accent, #2563eb);}.sv-field__action[disabled].svelte-1uhr4tm {opacity:0.5;cursor:default;}.sv-field__action-txt.svelte-1uhr4tm {font-weight:600;white-space:nowrap;}\n .sv-field__control.sv-field--sm.svelte-1uhr4tm {height:28px;font-size:12px;}\n .sv-field__control.sv-field--md.svelte-1uhr4tm {height:34px;font-size:13px;}\n .sv-field__control.sv-field--lg.svelte-1uhr4tm {height:40px;font-size:15px;}"
252
- };
253
- function Je(e, t) {
254
- ee(t, !0), L(e, qe);
255
- let s = P(t, "required", 3, !1), c = P(t, "block", 3, !1), u = P(t, "loading", 3, !1), d = P(t, "frame", 3, !1), f = P(t, "invalid", 3, !1), h = P(t, "size", 3, "md"), g = P(t, "disabled", 3, !1), y = P(t, "readonly", 3, !1), b = P(t, "clearable", 3, !1), C = P(t, "showClear", 3, !1), T = P(t, "clearLabel", 3, "Clear"), D = P(t, "labelMode", 3, "static"), O = P(t, "filled", 3, !1), A = N(() => t.width == null ? void 0 : typeof t.width == "number" ? `${t.width}px` : t.width), j = N(() => D() === "floating" && d() && !!t.label), M = N(() => t.dir === "ltr" || t.dir === "rtl" ? t.dir : void 0);
256
- var I = Ke();
257
- let R;
258
- var ne = v(I), z = (e) => {
259
- var n = Ne(), a = v(n), o = (e) => {
260
- var n = je(), i = v(n, !0), a = E(i), o = (e) => {
261
- var t = Ae();
262
- r(e, t);
263
- };
264
- S(a, (e) => {
265
- s() && e(o);
266
- }), k(n), p(() => {
267
- _(n, "for", t.id), l(i, t.label);
268
- }), r(e, n);
269
- };
270
- S(a, (e) => {
271
- t.label && !i(j) && e(o);
272
- });
273
- var c = E(a, 2), d = (e) => {
274
- var t = Me();
275
- r(e, t);
276
- };
277
- S(c, (e) => {
278
- u() && e(d);
279
- }), k(n), r(e, n);
280
- };
281
- S(ne, (e) => {
282
- (t.label && !i(j) || u()) && e(z);
283
- });
284
- var H = E(ne, 2), re = (e) => {
285
- var u = Ue();
286
- let d, w;
287
- var D = v(u), M = (e) => {
288
- var n = Fe(), i = v(n, !0), a = E(i), o = (e) => {
289
- var t = Pe();
290
- r(e, t);
291
- };
292
- S(a, (e) => {
293
- s() && e(o);
294
- }), k(n), p(() => {
295
- _(n, "for", t.id), l(i, t.label);
296
- }), r(e, n);
297
- };
298
- S(D, (e) => {
299
- i(j) && e(M);
300
- });
301
- var N = E(D, 2), P = (e) => {
302
- var n = Ie(), i = v(n);
303
- x(i, () => t.leading), k(n), r(e, n);
304
- };
305
- S(N, (e) => {
306
- t.leading && e(P);
307
- });
308
- var I = E(N, 2), ee = (e) => {
309
- var n = Le(), i = v(n, !0);
310
- k(n), p(() => l(i, t.prefix)), r(e, n);
311
- };
312
- S(I, (e) => {
313
- t.prefix && e(ee);
314
- });
315
- var L = E(I, 2), R = v(L);
316
- x(R, () => t.children), k(L);
317
- var ne = E(L, 2), z = (e) => {
318
- var n = Re(), i = v(n, !0);
319
- k(n), p(() => l(i, t.suffix)), r(e, n);
320
- };
321
- S(ne, (e) => {
322
- t.suffix && e(z);
323
- });
324
- var B = E(ne, 2), V = (e) => {
325
- var n = ze(), i = v(n);
326
- x(i, () => t.trailing), k(n), r(e, n);
327
- };
328
- S(B, (e) => {
329
- t.trailing && e(V);
330
- });
331
- var H = E(B, 2), re = (e) => {
332
- var s = o(), c = F(s);
333
- n(c, 17, () => t.actions, (e) => e.label, (e, t) => {
334
- var n = Ve(), s = v(n), c = (e) => {
335
- var n = o(), a = F(n);
336
- x(a, () => i(t).icon), r(e, n);
337
- }, u = (e) => {
338
- var n = Be(), a = v(n, !0);
339
- k(n), p(() => l(a, i(t).label)), r(e, n);
340
- };
341
- S(s, (e) => {
342
- i(t).icon ? e(c) : e(u, -1);
343
- }), k(n), p(() => {
344
- _(n, "aria-label", i(t).label), _(n, "title", i(t).label), n.disabled = g() || i(t).disabled;
345
- }), a("click", n, () => i(t).onClick()), r(e, n);
346
- }), r(e, s);
347
- };
348
- S(H, (e) => {
349
- t.actions?.length && e(re);
350
- });
351
- var U = E(H, 2), W = (e) => {
352
- var n = He();
353
- p(() => _(n, "aria-label", T())), a("click", n, () => t.onclear?.()), r(e, n);
354
- };
355
- S(U, (e) => {
356
- b() && C() && !g() && !y() && e(W);
357
- }), k(u), p(() => {
358
- d = te(u, 1, `sv-field__control sv-field--${h() ?? ""}`, "svelte-1uhr4tm", d, {
359
- "is-invalid": f(),
360
- "is-disabled": g(),
361
- "is-readonly": y(),
362
- "is-filled": O()
363
- }), w = m(u, "", w, { width: c() ? void 0 : i(A) });
364
- }), r(e, u);
365
- }, U = (e) => {
366
- var n = o(), i = F(n);
367
- x(i, () => t.children), r(e, n);
368
- };
369
- S(H, (e) => {
370
- d() ? e(re) : e(U, -1);
371
- });
372
- var W = E(H, 2), G = (e) => {
373
- var n = We(), i = v(n, !0);
374
- k(n), p((e) => {
375
- _(n, "id", e), l(i, t.error);
376
- }, [() => B(t.id)]), r(e, n);
377
- }, K = (e) => {
378
- var n = Ge(), i = v(n, !0);
379
- k(n), p((e) => {
380
- _(n, "id", e), l(i, t.hint);
381
- }, [() => V(t.id)]), r(e, n);
382
- };
383
- S(W, (e) => {
384
- t.error ? e(G) : t.hint && e(K, 1);
385
- }), k(I), p(() => {
386
- R = te(I, 1, "sv-field svelte-1uhr4tm", null, R, {
387
- "sv-field--block": c(),
388
- "sv-field--floating": i(j)
389
- }), _(I, "dir", i(M)), I.dir = I.dir;
390
- }), r(e, I), w();
391
- }
392
- d(["click"]);
393
- //#endregion
394
- //#region src/datetime/date-selection.ts
395
- var Ye = () => ({
396
- dates: [],
397
- anchor: null,
398
- rangeStart: null
399
- });
400
- function Xe(e, t) {
401
- return e.some((e) => q(e, t));
402
- }
403
- function Ze(e, t) {
404
- let n = J(e, t) <= 0 ? K(e) : K(t), r = J(e, t) <= 0 ? K(t) : K(e), i = [], a = n;
405
- for (; J(a, r) <= 0;) i.push(a), a = Y(a, 1);
406
- return i;
407
- }
408
- function Qe(e) {
409
- let t = [];
410
- for (let n of e) t.some((e) => q(e, n)) || t.push(K(n));
411
- return t.sort((e, t) => e.getTime() - t.getTime()), t;
412
- }
413
- function $e(e, t) {
414
- return Xe(e, t) ? e.filter((e) => !q(e, t)) : [...e, K(t)];
415
- }
416
- function et(e, t, n, r = {}, i = 0) {
417
- let a = K(t), o = () => ({
418
- dates: [a],
419
- anchor: a,
420
- rangeStart: null
421
- });
422
- switch (n) {
423
- case "none": return { ...e };
424
- case "default":
425
- case "one": return o();
426
- case "zeroOrOne": return Xe(e.dates, a) && e.dates.length === 1 ? Ye() : o();
427
- case "many":
428
- case "zeroOrMany": return {
429
- dates: Qe($e(e.dates, a)),
430
- anchor: a,
431
- rangeStart: null
432
- };
433
- case "oneOrMany": {
434
- let t = $e(e.dates, a);
435
- return {
436
- dates: Qe(t.length === 0 ? [a] : t),
437
- anchor: a,
438
- rangeStart: null
439
- };
440
- }
441
- case "oneExtended": return r.shift && e.anchor ? {
442
- dates: Ze(e.anchor, a),
443
- anchor: e.anchor,
444
- rangeStart: null
445
- } : r.ctrl ? {
446
- dates: Qe($e(e.dates, a)),
447
- anchor: a,
448
- rangeStart: null
449
- } : o();
450
- case "week": {
451
- let e = se(a, i);
452
- return {
453
- dates: Array.from({ length: 7 }, (t, n) => Y(e, n)),
454
- anchor: e,
455
- rangeStart: null
456
- };
457
- }
458
- case "range": return e.rangeStart ? {
459
- dates: Ze(e.rangeStart, a),
460
- anchor: e.rangeStart,
461
- rangeStart: null
462
- } : {
463
- dates: [a],
464
- anchor: a,
465
- rangeStart: a
466
- };
467
- default: return o();
468
- }
469
- }
470
- function tt(e) {
471
- return e === "many" || e === "zeroOrMany" || e === "oneOrMany" || e === "oneExtended" || e === "week" || e === "range";
472
- }
473
- //#endregion
474
- //#region src/datetime/date-restrict.ts
475
- function nt(e) {
476
- if (!e) return [];
477
- let t = [];
478
- for (let n of e) {
479
- let e = G(n);
480
- e && t.push(e);
481
- }
482
- return t;
483
- }
484
- function rt(e, t, n) {
485
- let r = G(t ?? null), i = G(n ?? null);
486
- return !!(r && J(e, r) < 0 || i && J(e, i) > 0);
487
- }
488
- function it(e, t) {
489
- return t ? typeof t == "function" ? t(e) : nt(t).some((t) => q(t, e)) : !1;
490
- }
491
- function at(e, t) {
492
- return rt(e, t.min, t.max) || it(e, t.restrictedDates);
493
- }
494
- function ot(e, t) {
495
- return t ? typeof t == "function" ? t(e) : nt(t).some((t) => q(t, e)) : !1;
496
- }
497
- //#endregion
498
- //#region src/createCalendar.svelte.ts
499
- var st = () => typeof navigator < "u" ? navigator.language : "en-US";
500
- function ct(e) {
501
- if (e == null) return [];
502
- let t = Array.isArray(e) ? e : [e], n = [];
503
- for (let e of t) {
504
- let t = G(e);
505
- t && n.push(K(t));
506
- }
507
- return n;
508
- }
509
- function lt(e) {
510
- let t = () => e.selectionMode?.() ?? "one", n = () => e.firstDayOfWeek?.() ?? 0, r = () => e.weeks?.() ?? 6, a = () => Math.max(1, e.months?.() ?? 1), o = () => e.displayMode?.() ?? "month", s = () => e.disabled?.() ?? !1, c = () => e.readonly?.() ?? !1, l = () => e.locale?.() ?? st(), u = () => e.dayNameFormat?.() ?? "short", d = () => e.monthNameFormat?.() ?? "long", p = h(j(Ye())), m = h(j(K(/* @__PURE__ */ new Date()))), g = h("month"), _ = h(j(K(/* @__PURE__ */ new Date()))), v = h(null), y = "fade", x = h(0), S = N(() => ({
511
- min: e.min?.() ?? null,
512
- max: e.max?.() ?? null,
513
- restrictedDates: e.restrictedDates?.() ?? null
514
- })), C = N(() => !s() && !c()), w = "￿", T = !1;
515
- f(() => {
516
- let t = ct(e.value()), n = t.map((e) => e.getTime()).join(",");
517
- if (n !== w && (w = n, b(p, {
518
- dates: t,
519
- anchor: t[t.length - 1] ?? null,
520
- rangeStart: null
521
- }, !0), !T)) {
522
- T = !0;
523
- let e = t[0] ?? K(/* @__PURE__ */ new Date());
524
- b(m, K(e), !0), b(_, K(e), !0), b(g, o(), !0);
525
- }
526
- });
527
- let E = N(() => new Intl.DateTimeFormat(l(), { weekday: u() })), D = N(() => new Intl.DateTimeFormat(l(), {
528
- month: d(),
529
- year: "numeric"
530
- })), k = N(() => new Intl.DateTimeFormat(l(), { month: "short" })), A = N(() => new Intl.DateTimeFormat(l(), {
531
- weekday: "long",
532
- year: "numeric",
533
- month: "long",
534
- day: "numeric"
535
- })), M = N(() => pe(n()).map((e) => {
536
- let t = new Date(2021, 7, 1 + e);
537
- return {
538
- label: i(E).format(t),
539
- weekday: e
540
- };
541
- })), P = N(() => Array.from({ length: a() }, (e, t) => {
542
- let a = le(i(m), t);
543
- return {
544
- month: a,
545
- title: i(D).format(a),
546
- matrix: fe(a, n(), r())
547
- };
548
- })), F = N(() => {
549
- if (t() !== "range") return null;
550
- let e = i(p).rangeStart;
551
- return !e || !i(v) ? null : Ze(e, i(v));
552
- }), I = (e) => !!i(F) && i(F).some((t) => q(t, e));
553
- function ee(t, n) {
554
- return {
555
- disabled: at(t, i(S)),
556
- selected: Xe(i(p).dates, t),
557
- important: ot(t, e.importantDates?.() ?? null),
558
- today: q(t, /* @__PURE__ */ new Date()),
559
- outside: !ce(t, n),
560
- focused: q(t, i(_)),
561
- preview: I(t),
562
- recurring: Se(t, e.recurrence?.() ?? null)
563
- };
564
- }
565
- let te = N(() => i(g) === "month" ? i(D).format(i(m)) : i(g) === "year" ? String(i(m).getFullYear()) : (() => {
566
- let { start: e, end: t } = de(i(m).getFullYear());
567
- return `${e} - ${t}`;
568
- })()), L = N(() => Array.from({ length: 12 }, (e, t) => ({
569
- index: t,
570
- label: i(k).format(new Date(i(m).getFullYear(), t, 1)),
571
- current: t === (/* @__PURE__ */ new Date()).getMonth() && i(m).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear(),
572
- selected: i(p).dates.some((e) => e.getMonth() === t && e.getFullYear() === i(m).getFullYear())
573
- }))), R = N(() => {
574
- let { start: e } = de(i(m).getFullYear());
575
- return Array.from({ length: 12 }, (t, n) => {
576
- let r = e - 1 + n;
577
- return {
578
- year: r,
579
- outside: n === 0 || n === 11,
580
- current: r === (/* @__PURE__ */ new Date()).getFullYear(),
581
- selected: i(p).dates.some((e) => e.getFullYear() === r)
582
- };
583
- });
584
- }), ne = N(() => t() === "zeroOrOne" || t() === "zeroOrMany" || t() === "none");
585
- function z(t) {
586
- b(p, t, !0), w = t.dates.map((e) => e.getTime()).join(","), e.onChange?.(t.dates.map((e) => new Date(e.getTime())));
587
- }
588
- function B(e, r) {
589
- !i(C) || at(e, i(S)) || (b(_, K(e), !0), z(et(i(p), e, t(), {
590
- ctrl: r?.ctrlKey || r?.metaKey,
591
- shift: r?.shiftKey
592
- }, n())));
593
- }
594
- function V(t, n = i(g)) {
595
- b(m, K(t), !0), b(g, n, !0), O(x), e.onNavigate?.(i(m), i(g));
596
- }
597
- function H() {
598
- y = "drillUp", i(g) === "month" ? V(i(m), "year") : i(g) === "year" && V(i(m), "decade");
599
- }
600
- function re(e) {
601
- y = e === 1 ? "next" : "prev", i(g) === "month" ? V(le(i(m), e)) : i(g) === "year" ? V(X(i(m), e)) : V(X(i(m), e * 10));
602
- }
603
- function U(e) {
604
- y = "drillDown", V(new Date(i(m).getFullYear(), e, 1), "month"), b(_, new Date(i(m).getFullYear(), e, Math.min(i(_).getDate(), 28)), !0);
605
- }
606
- function W(e) {
607
- y = "drillDown", V(new Date(e, i(m).getMonth(), 1), "year");
608
- }
609
- function ie() {
610
- y = "fade";
611
- let e = /* @__PURE__ */ new Date();
612
- V(e, "month"), b(_, K(e), !0), i(C) && B(e);
613
- }
614
- let ae = (e) => new Date(e.getFullYear(), e.getMonth(), 1);
615
- function oe(e) {
616
- if (!i(C)) return;
617
- let t = typeof e.value == "function" ? e.value() : e.value, n = Array.isArray(t), r = n ? t : [t, t], a = G(r[0]), o = G(r[1]);
618
- a && (b(_, K(a), !0), y = "fade", b(m, ae(a), !0), O(x), z(n && o ? {
619
- dates: Ze(a, o),
620
- anchor: K(o),
621
- rangeStart: null
622
- } : {
623
- dates: [K(a)],
624
- anchor: K(a),
625
- rangeStart: null
626
- }));
627
- }
628
- function se() {
629
- i(C) && z(Ye());
630
- }
631
- let J = (e) => b(v, e, !0);
632
- function ue(e) {
633
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), i(g) === "year" ? U(i(_).getMonth()) : W(i(_).getFullYear()));
634
- }
635
- function Z(e) {
636
- if (i(g) !== "month") return ue(e);
637
- let t = null;
638
- switch (e.key) {
639
- case "ArrowLeft":
640
- t = Y(i(_), -1);
641
- break;
642
- case "ArrowRight":
643
- t = Y(i(_), 1);
644
- break;
645
- case "ArrowUp":
646
- t = Y(i(_), -7);
647
- break;
648
- case "ArrowDown":
649
- t = Y(i(_), 7);
650
- break;
651
- case "Home":
652
- t = Y(i(_), -((i(_).getDay() - n() + 7) % 7));
653
- break;
654
- case "End":
655
- t = Y(i(_), 6 - (i(_).getDay() - n() + 7) % 7);
656
- break;
657
- case "PageUp":
658
- t = e.shiftKey ? X(i(_), -1) : le(i(_), -1);
659
- break;
660
- case "PageDown":
661
- t = e.shiftKey ? X(i(_), 1) : le(i(_), 1);
662
- break;
663
- case "Enter":
664
- case " ":
665
- e.preventDefault(), B(i(_), e);
666
- return;
667
- default: return;
668
- }
669
- t && (e.preventDefault(), b(_, K(t), !0), ce(i(_), i(m)) || V(i(_), "month"));
670
- }
671
- return {
672
- get view() {
673
- return i(m);
674
- },
675
- get mode() {
676
- return i(g);
677
- },
678
- get title() {
679
- return i(te);
680
- },
681
- get panels() {
682
- return i(P);
683
- },
684
- get weekdayHeaders() {
685
- return i(M);
686
- },
687
- get yearCells() {
688
- return i(L);
689
- },
690
- get decadeCells() {
691
- return i(R);
692
- },
693
- get selectedDates() {
694
- return i(p).dates;
695
- },
696
- get previewRange() {
697
- return i(F);
698
- },
699
- get focusDate() {
700
- return i(_);
701
- },
702
- get hoverDate() {
703
- return i(v);
704
- },
705
- get canClear() {
706
- return i(ne);
707
- },
708
- get isInteractive() {
709
- return i(C);
710
- },
711
- get navToken() {
712
- return i(x);
713
- },
714
- get navDir() {
715
- return y;
716
- },
717
- dayState: ee,
718
- inPreview: I,
719
- formatFullDate: (e) => i(A).format(e),
720
- formatMonthTitle: (e) => i(D).format(e),
721
- pickDay: B,
722
- step: re,
723
- drillUp: H,
724
- pickMonth: U,
725
- pickYear: W,
726
- goToday: ie,
727
- applyPreset: oe,
728
- clearSelection: se,
729
- setHover: J,
730
- onKeydown: Z,
731
- navProps(e) {
732
- return {
733
- type: "button",
734
- disabled: s(),
735
- "aria-label": e === 1 ? "Next" : "Previous",
736
- onclick: () => re(e)
737
- };
738
- },
739
- titleProps() {
740
- return {
741
- type: "button",
742
- disabled: s() || i(g) === "decade",
743
- "aria-live": "polite",
744
- onclick: H
745
- };
746
- },
747
- gridProps() {
748
- return {
749
- role: "grid",
750
- "aria-label": i(te),
751
- tabindex: -1,
752
- onkeydown: Z
753
- };
754
- },
755
- dayProps(t, n) {
756
- let r = ee(t.date, n);
757
- return {
758
- type: "button",
759
- role: "gridcell",
760
- "aria-selected": r.selected,
761
- "aria-disabled": r.disabled,
762
- "aria-current": r.today ? "date" : void 0,
763
- "aria-label": i(A).format(t.date),
764
- title: e.dateTooltip?.()?.(t.date) ?? void 0,
765
- tabindex: r.focused ? 0 : -1,
766
- disabled: r.disabled || s(),
767
- onclick: (e) => B(t.date, e),
768
- onpointerenter: () => J(t.date),
769
- onpointerleave: () => J(null)
770
- };
771
- },
772
- monthCellProps(e) {
773
- return {
774
- type: "button",
775
- disabled: s(),
776
- onclick: () => U(e)
777
- };
778
- },
779
- yearCellProps(e) {
780
- return {
781
- type: "button",
782
- disabled: s(),
783
- onclick: () => W(e)
784
- };
785
- },
786
- presetProps(e) {
787
- return {
788
- type: "button",
789
- disabled: !i(C),
790
- onclick: () => oe(e)
791
- };
792
- }
793
- };
794
- }
795
- //#endregion
796
- //#region src/SvCalendar.svelte
797
- var ut = c("<button> </button>"), dt = c("<div class=\"sv-cal__presets svelte-md3oew\" role=\"group\"></div>"), ft = c("<div class=\"sv-cal__panel-title svelte-md3oew\"> </div>"), pt = c("<span class=\"sv-cal__wk-head svelte-md3oew\" aria-hidden=\"true\">#</span>"), mt = c("<span class=\"sv-cal__weekday svelte-md3oew\" role=\"columnheader\"> </span>"), ht = c("<div class=\"sv-cal__weekdays svelte-md3oew\" role=\"row\"><!> <!></div>"), gt = c("<span class=\"sv-cal__wk svelte-md3oew\" aria-hidden=\"true\"> </span>"), _t = c("<span class=\"sv-cal__day sv-cal__day--empty svelte-md3oew\" role=\"gridcell\" aria-hidden=\"true\"></span>"), vt = c("<span class=\"sv-cal__daybody svelte-md3oew\"><!></span>"), yt = c("<button><span class=\"sv-cal__daynum svelte-md3oew\"> </span><!></button>"), bt = c("<div class=\"sv-cal__week svelte-md3oew\" role=\"row\"><!> <!></div>"), xt = c("<div class=\"sv-cal__panel\"><!> <!> <!></div>"), St = c("<div></div>"), Ct = c("<button> </button>"), wt = c("<div></div>"), Tt = c("<button> </button>"), Et = c("<div></div>"), Dt = c("<button type=\"button\" class=\"sv-cal__foot-btn svelte-md3oew\"> </button>"), Ot = c("<div class=\"sv-cal__footer svelte-md3oew\"><button type=\"button\" class=\"sv-cal__foot-btn svelte-md3oew\"> </button> <!></div>"), kt = c("<input type=\"hidden\"/>"), At = c("<div role=\"group\"><!> <div class=\"sv-cal__main svelte-md3oew\"><div class=\"sv-cal__header svelte-md3oew\"><button><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-md3oew\"><path d=\"M15 18l-6-6 6-6\"></path></svg></button> <button> </button> <button><svg viewBox=\"0 0 24 24\" width=\"16\" height=\"16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"svelte-md3oew\"><path d=\"M9 18l6-6-6-6\"></path></svg></button></div> <div class=\"sv-cal__view svelte-md3oew\"><!></div> <!></div> <!></div>"), jt = {
798
- hash: "svelte-md3oew",
799
- code: ".sv-cal.svelte-md3oew {--_accent: var(--sg-accent, #2563eb);--_bg: var(--sg-bg, #fff);--_fg: var(--sg-fg, #0f172a);--_muted: var(--sg-muted, #64748b);--_border: var(--sg-border, #e2e8f0);--_hover: var(--sg-row-hover-bg, rgba(37, 99, 235, 0.08));--_radius: var(--sg-radius, 8px);display:inline-flex;gap:10px;padding:10px;width:max-content;background:var(--_bg);color:var(--_fg);border:1px solid var(--_border);border-radius:calc(var(--_radius) + 4px);font-size:13px;user-select:none;}.sv-cal--disabled.svelte-md3oew {opacity:0.55;pointer-events:none;}.sv-cal--invalid.svelte-md3oew {border-color:var(--sg-danger, #dc2626);}.sv-cal__main.svelte-md3oew {display:flex;flex-direction:column;gap:6px;min-width:0;}\n /* Clip so animated content slides in from the edge (not past the border). Day\n focus outlines use outline-offset:-2px, so they stay inside and aren't clipped. */.sv-cal__view.svelte-md3oew {display:block;overflow:hidden;}\n /* Quick-shortcut rail (Today / Last 7 days / ...) shown when `presets` is set. */.sv-cal__presets.svelte-md3oew {display:flex;flex-direction:column;gap:2px;padding-inline-end:10px;border-inline-end:1px solid var(--_border);min-width:118px;align-self:stretch;}.sv-cal__preset.svelte-md3oew {text-align:start;padding:6px 10px;font:inherit;font-size:12px;font-weight:550;background:none;border:0;border-radius:var(--_radius);color:inherit;cursor:pointer;white-space:nowrap;}\n /* Under RTL the prev/next chevron glyphs must point the other way. */.sv-cal[dir='rtl'].svelte-md3oew .sv-cal__nav:where(.svelte-md3oew) svg:where(.svelte-md3oew) {transform:scaleX(-1);}.sv-cal__preset.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);color:var(--_accent);}.sv-cal__preset.svelte-md3oew:disabled {opacity:0.5;cursor:default;}.sv-cal__header.svelte-md3oew {display:flex;align-items:center;gap:4px;}.sv-cal__title.svelte-md3oew {flex:1;text-align:center;font-weight:650;font-size:13.5px;background:none;border:0;color:inherit;cursor:pointer;padding:6px 8px;border-radius:var(--_radius);}.sv-cal__title.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);}.sv-cal__title.svelte-md3oew:disabled {cursor:default;}.sv-cal__nav.svelte-md3oew {display:grid;place-items:center;width:30px;height:30px;background:none;border:0;color:var(--_muted);cursor:pointer;border-radius:var(--_radius);}.sv-cal__nav.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);color:var(--_fg);}.sv-cal__nav.svelte-md3oew:disabled {opacity:0.4;cursor:default;}.sv-cal__panels.svelte-md3oew {display:flex;gap:14px;}.sv-cal__panel-title.svelte-md3oew {text-align:center;font-weight:600;font-size:12.5px;margin-bottom:4px;color:var(--_muted);}.sv-cal__weekdays.svelte-md3oew, .sv-cal__week.svelte-md3oew {display:grid;grid-template-columns:repeat(7, 34px);}.sv-cal__weekdays.svelte-md3oew:has(.sv-cal__wk-head:where(.svelte-md3oew)), .sv-cal__week.svelte-md3oew:has(.sv-cal__wk:where(.svelte-md3oew)) {grid-template-columns:26px repeat(7, 34px);}.sv-cal__weekday.svelte-md3oew, .sv-cal__wk-head.svelte-md3oew {display:grid;place-items:center;height:28px;font-size:11px;font-weight:600;color:var(--_muted);text-transform:uppercase;letter-spacing:0.02em;}.sv-cal__wk.svelte-md3oew {display:grid;place-items:center;height:34px;font-size:10.5px;color:var(--_muted);opacity:0.7;}.sv-cal__day.svelte-md3oew {display:grid;place-items:center;width:34px;height:34px;box-sizing:border-box;background:none;border:0;color:inherit;cursor:pointer;border-radius:var(--_radius);font-size:12.5px;position:relative;}.sv-cal__day--empty.svelte-md3oew {visibility:hidden;}\n /* Hover only NON-selected days with the neutral hover fill; hovering a selected\n day keeps the accent (a bare :hover would swap in the neutral bg while the\n text stays --sg-on-accent -> invisible on themes like shadcn). */.sv-cal__day.svelte-md3oew:hover:not(:disabled):not(.is-selected) {background:var(--_hover);}.sv-cal__day.is-selected.svelte-md3oew:hover:not(:disabled) {background:color-mix(in srgb, var(--_accent) 86%, var(--_fg));}.sv-cal__day.is-outside.svelte-md3oew {color:var(--_muted);opacity:0.55;}.sv-cal__day.is-today.svelte-md3oew {font-weight:750;box-shadow:inset 0 0 0 1px var(--_accent);}.sv-cal__day.is-important.svelte-md3oew::after {content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--sg-danger, #dc2626);}\n /* Repeat-pattern indicator: a small ring in the top-inline-end corner\n (distinct from the is-important bottom dot). */.sv-cal__day.is-recurring.svelte-md3oew::before {content:'';position:absolute;top:4px;inset-inline-end:4px;width:5px;height:5px;border-radius:50%;pointer-events:none;border:1.5px solid color-mix(in srgb, var(--_accent) 75%, transparent);}.sv-cal.svelte-md3oew:not(.sv-cal--rich) .sv-cal__day.is-selected.is-recurring:where(.svelte-md3oew)::before {border-color:var(--sg-on-accent, #fff);}\n\n /* --- Rich month grid: enabled by a `day` snippet. Cells fill the column width\n and become taller / top-aligned so the snippet content (events, badges) has\n room - turning the picker into an event-calendar surface. --- */.sv-cal--rich.svelte-md3oew .sv-cal__weekdays:where(.svelte-md3oew), .sv-cal--rich.svelte-md3oew .sv-cal__week:where(.svelte-md3oew) {grid-template-columns:repeat(7, minmax(0, 1fr));}.sv-cal--rich.svelte-md3oew .sv-cal__weekdays:where(.svelte-md3oew):has(.sv-cal__wk-head:where(.svelte-md3oew)), .sv-cal--rich.svelte-md3oew .sv-cal__week:where(.svelte-md3oew):has(.sv-cal__wk:where(.svelte-md3oew)) {grid-template-columns:26px repeat(7, minmax(0, 1fr));}.sv-cal--rich.svelte-md3oew .sv-cal__weekday:where(.svelte-md3oew) {justify-items:start;padding-inline-start:6px;}.sv-cal--rich.svelte-md3oew .sv-cal__day:where(.svelte-md3oew) {width:auto;height:auto;min-height:90px;display:flex;flex-direction:column;align-items:stretch;gap:3px;padding:4px 5px 6px;text-align:start;border-radius:8px;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-today:where(.svelte-md3oew) {box-shadow:none;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-selected:where(.svelte-md3oew) {background:color-mix(in srgb, var(--_accent) 9%, transparent);color:inherit;}.sv-cal--rich.svelte-md3oew .sv-cal__daynum:where(.svelte-md3oew) {align-self:flex-start;flex:none;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:12.5px;font-weight:600;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-today:where(.svelte-md3oew) .sv-cal__daynum:where(.svelte-md3oew) {background:var(--_accent);color:var(--sg-on-accent, #fff);}.sv-cal--rich.svelte-md3oew .sv-cal__daybody:where(.svelte-md3oew) {flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow:hidden;}.sv-cal--rich.svelte-md3oew .sv-cal__day.is-important:where(.svelte-md3oew)::after {display:none;}.sv-cal__day.is-preview.svelte-md3oew {background:color-mix(in srgb, var(--_accent) 16%, transparent);border-radius:0;}.sv-cal__day.is-selected.svelte-md3oew {background:var(--_accent);color:var(--sg-on-accent, #fff);font-weight:650;}\n /* Discrete selection (single / many / ...): inset each selected pill so adjacent\n picked days keep a visible gap. Range / week modes stay a connected band. */.sv-cal.svelte-md3oew:not(.sv-cal--band) .sv-cal__day.is-selected:where(.svelte-md3oew) {background-clip:content-box;padding:2px;}.sv-cal__day.is-selected.is-important.svelte-md3oew::after {background:var(--sg-on-accent, #fff);}.sv-cal__day.svelte-md3oew:disabled {color:var(--_muted);opacity:0.35;cursor:default;text-decoration:line-through;}.sv-cal__day.is-focused.svelte-md3oew:focus-visible,\n .sv-cal__day.svelte-md3oew:focus-visible,\n .sv-cal__cell.svelte-md3oew:focus-visible {outline:2px solid var(--sg-focus-ring, var(--_accent));outline-offset:-2px;}.sv-cal__grid-mode.svelte-md3oew {display:grid;grid-template-columns:repeat(3, 1fr);gap:4px;min-width:252px;}.sv-cal__cell.svelte-md3oew {height:44px;display:grid;place-items:center;background:none;border:0;color:inherit;cursor:pointer;border-radius:var(--_radius);font-size:12.5px;}.sv-cal__cell.svelte-md3oew:hover:not(:disabled):not(.is-selected) {background:var(--_hover);}.sv-cal__cell.is-selected.svelte-md3oew:hover:not(:disabled) {background:color-mix(in srgb, var(--_accent) 86%, var(--_fg));}.sv-cal__cell.is-outside.svelte-md3oew {color:var(--_muted);opacity:0.5;}.sv-cal__cell.is-today.svelte-md3oew {box-shadow:inset 0 0 0 1px var(--_accent);font-weight:700;}.sv-cal__cell.is-selected.svelte-md3oew {background:var(--_accent);color:var(--sg-on-accent, #fff);font-weight:650;}.sv-cal__footer.svelte-md3oew {display:flex;justify-content:center;gap:8px;border-top:1px solid var(--_border);padding-top:8px;margin-top:2px;}.sv-cal__foot-btn.svelte-md3oew {padding:5px 12px;font:inherit;font-size:12px;font-weight:600;background:none;border:1px solid var(--_border);border-radius:var(--_radius);color:var(--_accent);cursor:pointer;}.sv-cal__foot-btn.svelte-md3oew:hover:not(:disabled) {background:var(--_hover);}"
800
- };
801
- function Mt(e, s) {
802
- ee(s, !0), L(e, jt);
803
- let c = (e) => {
804
- var c = At();
805
- let u;
806
- var d = v(c), f = (e) => {
807
- var a = dt();
808
- n(a, 21, () => s.presets, t, (e, t) => {
809
- var n = ut();
810
- C(n, (e) => ({
811
- class: "sv-cal__preset",
812
- ...e
813
- }), [() => Q.presetProps(i(t))], void 0, void 0, "svelte-md3oew");
814
- var a = v(n, !0);
815
- k(n), p(() => l(a, i(t).label)), r(e, n);
816
- }), k(a), p(() => _(a, "aria-label", i(fe).shortcuts)), r(e, a);
817
- };
818
- S(d, (e) => {
819
- s.presets && s.presets.length && e(f);
820
- });
821
- var h = E(d, 2), w = v(h), D = v(w);
822
- C(D, (e) => ({
823
- class: "sv-cal__nav",
824
- ...e
825
- }), [() => Q.navProps(-1)], void 0, void 0, "svelte-md3oew");
826
- var O = E(D, 2);
827
- C(O, (e) => ({
828
- class: "sv-cal__title",
829
- ...e
830
- }), [() => Q.titleProps()], void 0, void 0, "svelte-md3oew");
831
- var A = v(O, !0);
832
- k(O);
833
- var j = E(O, 2);
834
- C(j, (e) => ({
835
- class: "sv-cal__nav",
836
- ...e
837
- }), [() => Q.navProps(1)], void 0, void 0, "svelte-md3oew"), k(w);
838
- var P = E(w, 2), ee = v(P), L = (e) => {
839
- var a = St();
840
- C(a, (e) => ({
841
- class: "sv-cal__panels",
842
- ...e
843
- }), [() => Q.gridProps()], void 0, void 0, "svelte-md3oew"), n(a, 21, () => Q.panels, (e) => e.month.getTime(), (e, a) => {
844
- var c = xt(), u = v(c), d = (e) => {
845
- var t = ft(), n = v(t, !0);
846
- k(t), p(() => l(n, i(a).title)), r(e, t);
847
- };
848
- S(u, (e) => {
849
- V() > 1 && e(d);
850
- });
851
- var f = E(u, 2), m = (e) => {
852
- var t = ht(), a = v(t), o = (e) => {
853
- var t = pt();
854
- r(e, t);
855
- };
856
- S(a, (e) => {
857
- B() && e(o);
858
- });
859
- var s = E(a, 2);
860
- n(s, 17, () => Q.weekdayHeaders, (e) => e.weekday, (e, t) => {
861
- var n = mt(), a = v(n, !0);
862
- k(n), p(() => l(a, i(t).label)), r(e, n);
863
- }), k(t), r(e, t);
864
- };
865
- S(f, (e) => {
866
- H() || e(m);
867
- });
868
- var h = E(f, 2);
869
- n(h, 17, () => i(a).matrix, t, (e, t) => {
870
- var c = bt(), u = v(c), d = (e) => {
871
- var n = gt(), a = v(n, !0);
872
- k(n), p(() => l(a, i(t)[0]?.week)), r(e, n);
873
- };
874
- S(u, (e) => {
875
- B() && e(d);
876
- });
877
- var f = E(u, 2);
878
- n(f, 17, () => i(t), (e) => e.date.getTime(), (e, t) => {
879
- let n = N(() => Q.dayState(i(t).date, i(a).month));
880
- var c = o(), u = F(c), d = (e) => {
881
- var t = _t();
882
- r(e, t);
883
- }, f = (e) => {
884
- var o = yt();
885
- C(o, (e) => ({
886
- class: "sv-cal__day",
887
- ...e,
888
- [M]: {
889
- "is-selected": i(n).selected,
890
- "is-today": i(n).today,
891
- "is-outside": i(n).outside,
892
- "is-important": i(n).important,
893
- "is-preview": i(n).preview,
894
- "is-focused": i(n).focused,
895
- "is-recurring": i(n).recurring
896
- }
897
- }), [() => Q.dayProps(i(t), i(a).month)], void 0, void 0, "svelte-md3oew");
898
- var c = v(o), u = v(c, !0);
899
- k(c);
900
- var d = E(c), f = (e) => {
901
- var a = vt(), o = v(a);
902
- x(o, () => s.day, () => i(t).date, () => i(n)), k(a), r(e, a);
903
- };
904
- S(d, (e) => {
905
- s.day && e(f);
906
- }), k(o), p((e) => l(u, e), [() => i(t).date.getDate()]), r(e, o);
907
- };
908
- S(u, (e) => {
909
- i(n).outside && i(me) ? e(d) : e(f, -1);
910
- }), r(e, c);
911
- }), k(c), r(e, c);
912
- }), k(c), r(e, c);
913
- }), k(a), r(e, a);
914
- }, R = (e) => {
915
- var t = wt();
916
- C(t, (e) => ({
917
- class: "sv-cal__grid-mode",
918
- ...e
919
- }), [() => Q.gridProps()], void 0, void 0, "svelte-md3oew"), n(t, 21, () => Q.yearCells, (e) => e.index, (e, t) => {
920
- var n = Ct();
921
- C(n, (e) => ({
922
- class: "sv-cal__cell",
923
- ...e,
924
- [M]: {
925
- "is-today": i(t).current,
926
- "is-selected": i(t).selected
927
- }
928
- }), [() => Q.monthCellProps(i(t).index)], void 0, void 0, "svelte-md3oew");
929
- var a = v(n, !0);
930
- k(n), p(() => l(a, i(t).label)), r(e, n);
931
- }), k(t), r(e, t);
932
- }, ne = (e) => {
933
- var t = Et();
934
- C(t, (e) => ({
935
- class: "sv-cal__grid-mode",
936
- ...e
937
- }), [() => Q.gridProps()], void 0, void 0, "svelte-md3oew"), n(t, 21, () => Q.decadeCells, (e) => e.year, (e, t) => {
938
- var n = Tt();
939
- C(n, (e) => ({
940
- class: "sv-cal__cell",
941
- ...e,
942
- [M]: {
943
- "is-outside": i(t).outside,
944
- "is-today": i(t).current,
945
- "is-selected": i(t).selected
946
- }
947
- }), [() => Q.yearCellProps(i(t).year)], void 0, void 0, "svelte-md3oew");
948
- var a = v(n, !0);
949
- k(n), p(() => l(a, i(t).year)), r(e, n);
950
- }), k(t), r(e, t);
951
- };
952
- S(ee, (e) => {
953
- Q.mode === "month" ? e(L) : Q.mode === "year" ? e(R, 1) : e(ne, -1);
954
- }), k(P), y(P, (e) => b(ge, e), () => i(ge));
955
- var z = E(P, 2), re = (e) => {
956
- var t = Ot(), n = v(t), o = v(n, !0);
957
- k(n);
958
- var s = E(n, 2), c = (e) => {
959
- var t = Dt(), n = v(t, !0);
960
- k(t), p(() => {
961
- t.disabled = ae(), l(n, i(fe).clear);
962
- }), a("click", t, function(...e) {
963
- Q.clearSelection?.apply(this, e);
964
- }), r(e, t);
965
- };
966
- S(s, (e) => {
967
- Q.canClear && e(c);
968
- }), k(t), p(() => {
969
- n.disabled = ae(), l(o, i(fe).today);
970
- }), a("click", n, function(...e) {
971
- Q.goToday?.apply(this, e);
972
- }), r(e, t);
973
- };
974
- S(z, (e) => {
975
- ie() && e(re);
976
- }), k(h), g(h, (e) => ye?.(e));
977
- var U = E(h, 2), W = (e) => {
978
- var t = kt();
979
- I(t), p((e) => {
980
- _(t, "name", s.name), T(t, e);
981
- }, [() => Q.selectedDates.map((e) => e.toISOString()).join(",")]), r(e, t);
982
- };
983
- S(U, (e) => {
984
- s.name && e(W);
985
- }), k(c), p(() => {
986
- u = te(c, 1, "sv-cal svelte-md3oew", null, u, {
987
- "sv-cal--disabled": ae(),
988
- "sv-cal--invalid": X(),
989
- "sv-cal--with-presets": s.presets && s.presets.length,
990
- "sv-cal--band": m() === "range" || m() === "week",
991
- "sv-cal--rich": !!s.day
992
- }), _(c, "id", i(Z)), _(c, "aria-label", s.label ?? i(fe).label), _(c, "aria-disabled", ae()), _(c, "dir", i(pe)), l(A, Q.title), c.dir = c.dir;
993
- }), r(e, c);
994
- }, u = {
995
- label: "Calendar",
996
- shortcuts: "Shortcuts",
997
- today: "Today",
998
- clear: "Clear",
999
- prev: "Previous",
1000
- next: "Next"
1001
- }, d = P(s, "value", 3, null), m = P(s, "selectionMode", 3, "one"), D = P(s, "min", 3, null), O = P(s, "max", 3, null), j = P(s, "restrictedDates", 3, null), R = P(s, "importantDates", 3, null), ne = P(s, "firstDayOfWeek", 3, 0), z = P(s, "weeks", 3, 6), B = P(s, "weekNumbers", 3, !1), V = P(s, "months", 3, 1), H = P(s, "hideDayNames", 3, !1), U = P(s, "hideOtherMonthDays", 3, !1), G = P(s, "dayNameFormat", 3, "short"), K = P(s, "monthNameFormat", 3, "long"), ie = P(s, "footer", 3, !1), ae = P(s, "disabled", 3, !1), oe = P(s, "readonly", 3, !1), se = P(s, "locale", 19, () => typeof navigator < "u" ? navigator.language : "en-US"), q = P(s, "displayMode", 3, "month"), ce = P(s, "animate", 3, !1), J = P(s, "wheelNavigation", 3, !1), Y = P(s, "recurrence", 3, null), le = P(s, "required", 3, !1), X = P(s, "invalid", 3, !1), ue = re("sv-cal"), Z = N(() => s.id ?? ue), de = N(() => !!(s.label || s.hint || s.error)), fe = N(() => W(u, s.messages)), pe = N(() => s.dir === "ltr" || s.dir === "rtl" ? s.dir : void 0), me = N(() => U() || V() > 1), Q = lt({
1002
- value: () => d(),
1003
- onChange: (e) => s.onChange?.(e),
1004
- onNavigate: (e, t) => s.onNavigate?.(e, t),
1005
- selectionMode: () => m(),
1006
- min: () => D(),
1007
- max: () => O(),
1008
- restrictedDates: () => j(),
1009
- importantDates: () => R(),
1010
- firstDayOfWeek: () => ne(),
1011
- weeks: () => z(),
1012
- months: () => V(),
1013
- displayMode: () => q(),
1014
- disabled: () => ae(),
1015
- readonly: () => oe(),
1016
- locale: () => se(),
1017
- dayNameFormat: () => G(),
1018
- monthNameFormat: () => K(),
1019
- dateTooltip: () => s.dateTooltip,
1020
- recurrence: () => Y()
1021
- }), he = N(() => ce() === !0 ? "slide" : ce() || "none"), ge = h(void 0), _e = !1;
1022
- function ve() {
1023
- if (i(he) === "none" || !i(ge) || typeof i(ge).animate != "function") return;
1024
- let e = i(he) === "slide", t = Q.navDir, n = e ? t === "next" ? {
1025
- transform: "translateX(34px)",
1026
- opacity: 0
1027
- } : t === "prev" ? {
1028
- transform: "translateX(-34px)",
1029
- opacity: 0
1030
- } : t === "drillDown" ? {
1031
- transform: "scale(0.85)",
1032
- opacity: 0
1033
- } : t === "drillUp" ? {
1034
- transform: "scale(1.14)",
1035
- opacity: 0
1036
- } : { opacity: 0 } : {
1037
- opacity: 0,
1038
- transform: "scale(0.98)"
1039
- };
1040
- i(ge).animate([n, {
1041
- transform: "none",
1042
- opacity: 1
1043
- }], {
1044
- duration: e && (t === "next" || t === "prev") ? 300 : 220,
1045
- easing: "cubic-bezier(0.16, 1, 0.3, 1)"
1046
- });
1047
- }
1048
- f(() => {
1049
- if (Q.navToken, !_e) {
1050
- _e = !0;
1051
- return;
1052
- }
1053
- A(ve);
1054
- });
1055
- function ye(e) {
1056
- let t = (e) => {
1057
- !J() || ae() || (e.preventDefault(), Q.step(e.deltaY > 0 || e.deltaX > 0 ? 1 : -1));
1058
- };
1059
- return e.addEventListener("wheel", t, { passive: !1 }), { destroy: () => e.removeEventListener("wheel", t) };
1060
- }
1061
- var be = o(), xe = F(be), Se = (e) => {
1062
- Je(e, {
1063
- get id() {
1064
- return i(Z);
1065
- },
1066
- get label() {
1067
- return s.label;
1068
- },
1069
- get hint() {
1070
- return s.hint;
1071
- },
1072
- get error() {
1073
- return s.error;
1074
- },
1075
- get required() {
1076
- return le();
1077
- },
1078
- get dir() {
1079
- return s.dir;
1080
- },
1081
- children: (e, t) => {
1082
- c(e);
1083
- },
1084
- $$slots: { default: !0 }
1085
- });
1086
- }, Ce = (e) => {
1087
- c(e);
1088
- };
1089
- S(xe, (e) => {
1090
- i(de) ? e(Se) : e(Ce, -1);
1091
- }), r(e, be), w();
1092
- }
1093
- d(["click"]);
1094
- //#endregion
1095
- //#region src/createTimePicker.svelte.ts
1096
- var Nt = 240, Pt = Nt / 2, Ft = 98, It = 62;
1097
- function Lt(e, t) {
1098
- let n = (e - 90) * Math.PI / 180;
1099
- return {
1100
- x: Pt + t * Math.cos(n),
1101
- y: Pt + t * Math.sin(n)
1102
- };
1103
- }
1104
- function Rt(e) {
1105
- if (e == null) {
1106
- let e = /* @__PURE__ */ new Date();
1107
- return {
1108
- h: e.getHours(),
1109
- m: e.getMinutes()
1110
- };
1111
- }
1112
- if (typeof e == "string") {
1113
- let t = e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?/);
1114
- if (t) return {
1115
- h: Math.min(23, +t[1]),
1116
- m: Math.min(59, +t[2])
1117
- };
1118
- let n = new Date(e);
1119
- if (!isNaN(n.getTime())) return {
1120
- h: n.getHours(),
1121
- m: n.getMinutes()
1122
- };
1123
- let r = /* @__PURE__ */ new Date();
1124
- return {
1125
- h: r.getHours(),
1126
- m: r.getMinutes()
1127
- };
1128
- }
1129
- let t = new Date(e);
1130
- return {
1131
- h: t.getHours(),
1132
- m: t.getMinutes()
1133
- };
1134
- }
1135
- function zt(e) {
1136
- let t = () => e.format?.() ?? "24-hour", n = () => e.minuteInterval?.() ?? 1, r = () => e.autoSwitchToMinutes?.() ?? !0, a = () => e.disabled?.() ?? !1, o = () => e.readonly?.() ?? !1, s = N(() => t() === "12-hour"), c = N(() => !a() && !o()), l = h(0), u = h(0), d = h("hour"), p = !1, m = "￿";
1137
- f(() => {
1138
- let { h: t, m: n } = Rt(e.value()), r = `${t}:${n}`;
1139
- r !== m && (m = r, b(l, t, !0), b(u, n, !0), p || (p = !0, b(d, e.selection?.() ?? "hour", !0)));
1140
- });
1141
- let g = N(() => i(s) ? i(l) % 12 == 0 ? 12 : i(l) % 12 : i(l)), _ = N(() => i(l) >= 12), v = N(() => String(i(u)).padStart(2, "0")), y = N(() => {
1142
- let e = [];
1143
- if (i(s)) for (let t = 0; t < 12; t++) {
1144
- let n = t === 0 ? 12 : t, r = Lt(t * 30, Ft);
1145
- e.push({
1146
- label: String(n),
1147
- x: r.x,
1148
- y: r.y,
1149
- value: n,
1150
- ring: "outer"
1151
- });
1152
- }
1153
- else for (let t = 0; t < 12; t++) {
1154
- let n = Lt(t * 30, Ft), r = Lt(t * 30, It), i = t + 12, a = t;
1155
- e.push({
1156
- label: String(i).padStart(2, "0"),
1157
- x: n.x,
1158
- y: n.y,
1159
- value: i,
1160
- ring: "outer"
1161
- }), e.push({
1162
- label: a === 0 ? "00" : String(a).padStart(2, "0"),
1163
- x: r.x,
1164
- y: r.y,
1165
- value: a,
1166
- ring: "inner"
1167
- });
1168
- }
1169
- return e;
1170
- }), x = N(() => Array.from({ length: 12 }, (e, t) => {
1171
- let n = t * 5, r = Lt(t * 30, Ft);
1172
- return {
1173
- label: String(n).padStart(2, "0"),
1174
- x: r.x,
1175
- y: r.y,
1176
- value: n,
1177
- ring: "outer"
1178
- };
1179
- })), S = N(() => i(d) === "hour" ? i(s) ? i(g) % 12 * 30 : i(l) % 12 * 30 : i(u) * 6), C = N(() => i(d) === "hour" && !i(s) && i(l) % 12 === i(l) && i(l) < 12 ? It : Ft), w = N(() => Lt(i(S), i(C)));
1180
- function T() {
1181
- let t = /* @__PURE__ */ new Date();
1182
- t.setHours(i(l), i(u), 0, 0), e.onChange?.(t);
1183
- }
1184
- let E = (e) => {
1185
- let t = Math.max(1, Math.floor(n()));
1186
- return Math.round(e / t) * t % 60;
1187
- };
1188
- function D(e) {
1189
- b(d, e, !0);
1190
- }
1191
- function O(e) {
1192
- b(u, E(e), !0), m = `${i(l)}:${i(u)}`, T();
1193
- }
1194
- function k(e) {
1195
- e !== i(_) && (b(l, e ? i(l) % 12 + 12 : i(l) % 12, !0), m = `${i(l)}:${i(u)}`, T());
1196
- }
1197
- function A(e, t) {
1198
- if (i(c)) {
1199
- if (i(d) === "hour") {
1200
- let n = Math.round(e / 30) % 12;
1201
- if (i(s)) {
1202
- let e = (n === 0 ? 12 : n) % 12;
1203
- b(l, i(_) ? e + 12 : e, !0);
1204
- } else b(l, t < 80 ? n : n + 12, !0);
1205
- m = `${i(l)}:${i(u)}`, T();
1206
- } else O(Math.round(e / 6) % 60);
1207
- }
1208
- }
1209
- function j() {
1210
- i(d) === "hour" && r() && b(d, "minute");
1211
- }
1212
- function M(e) {
1213
- if (!i(c)) return;
1214
- let t = i(d) === "minute" ? Math.max(1, Math.floor(n())) : 1;
1215
- e.key === "ArrowUp" || e.key === "ArrowRight" ? (e.preventDefault(), i(d) === "hour" ? b(l, (i(l) + 1) % 24) : b(u, (i(u) + t) % 60), m = `${i(l)}:${i(u)}`, T()) : e.key === "ArrowDown" || e.key === "ArrowLeft" ? (e.preventDefault(), i(d) === "hour" ? b(l, (i(l) + 23) % 24) : b(u, (i(u) - t + 60) % 60), m = `${i(l)}:${i(u)}`, T()) : e.key === "Tab" && !e.shiftKey && i(d) === "hour" && b(d, "minute");
1216
- }
1217
- function P() {
1218
- let e = /* @__PURE__ */ new Date();
1219
- b(l, e.getHours(), !0), b(u, e.getMinutes(), !0), m = `${i(l)}:${i(u)}`, T();
1220
- }
1221
- function F(e) {
1222
- return i(s) ? e.value === i(g) : e.value === i(l);
1223
- }
1224
- return {
1225
- SIZE: Nt,
1226
- C: Pt,
1227
- get hours() {
1228
- return i(l);
1229
- },
1230
- get minutes() {
1231
- return i(u);
1232
- },
1233
- get selection() {
1234
- return i(d);
1235
- },
1236
- get is12() {
1237
- return i(s);
1238
- },
1239
- get isInteractive() {
1240
- return i(c);
1241
- },
1242
- get displayHour() {
1243
- return i(g);
1244
- },
1245
- get isPm() {
1246
- return i(_);
1247
- },
1248
- get mm() {
1249
- return i(v);
1250
- },
1251
- get hourTicks() {
1252
- return i(y);
1253
- },
1254
- get minuteTicks() {
1255
- return i(x);
1256
- },
1257
- get handEnd() {
1258
- return i(w);
1259
- },
1260
- isActiveHour: F,
1261
- setSelection: D,
1262
- setMinute: O,
1263
- setAmPm: k,
1264
- pointerSelect: A,
1265
- endPointer: j,
1266
- onKeydown: M,
1267
- now: P,
1268
- segProps(e) {
1269
- return {
1270
- type: "button",
1271
- disabled: a(),
1272
- onclick: () => D(e)
1273
- };
1274
- },
1275
- ampmProps(e) {
1276
- return {
1277
- type: "button",
1278
- disabled: a(),
1279
- onclick: () => k(e)
1280
- };
1281
- },
1282
- dialProps() {
1283
- return {
1284
- role: "slider",
1285
- tabindex: a() ? -1 : 0,
1286
- "aria-label": i(d) === "hour" ? "Hour" : "Minute",
1287
- "aria-valuenow": i(d) === "hour" ? i(l) : i(u),
1288
- "aria-valuemin": 0,
1289
- "aria-valuemax": i(d) === "hour" ? 23 : 59,
1290
- onkeydown: M
1291
- };
1292
- },
1293
- nowProps() {
1294
- return {
1295
- type: "button",
1296
- disabled: a(),
1297
- onclick: P
1298
- };
1299
- }
1300
- };
1301
- }
1302
- //#endregion
1303
- //#region src/SvTimePicker.svelte
1304
- var Bt = c("<div class=\"sv-tp__ampm svelte-1r061pp\"><button> </button> <button> </button></div>"), Vt = u("<text dominant-baseline=\"central\" text-anchor=\"middle\"> </text>"), Ht = u("<text dominant-baseline=\"central\" text-anchor=\"middle\"> </text>"), Ut = c("<div class=\"sv-tp__footer svelte-1r061pp\"><button> </button></div>"), Wt = c("<input type=\"hidden\"/>"), Gt = c("<div role=\"group\"><div class=\"sv-tp__head svelte-1r061pp\"><button> </button> <span class=\"sv-tp__colon svelte-1r061pp\">:</span> <button> </button> <!></div> <svg><circle class=\"sv-tp__face svelte-1r061pp\"></circle><line class=\"sv-tp__hand svelte-1r061pp\"></line><circle class=\"sv-tp__hub svelte-1r061pp\" r=\"3\"></circle><circle class=\"sv-tp__knob svelte-1r061pp\" r=\"15\"></circle><!></svg> <!> <!></div>"), Kt = {
1305
- hash: "svelte-1r061pp",
1306
- code: ".sv-tp.svelte-1r061pp {--_accent: var(--sg-accent, #2563eb);--_bg: var(--sg-bg, #fff);--_fg: var(--sg-fg, #0f172a);--_muted: var(--sg-muted, #64748b);--_border: var(--sg-border, #e2e8f0);--_face: var(--sg-header-bg, #f1f5f9);--_radius: var(--sg-radius, 8px);display:inline-flex;flex-direction:column;gap:10px;align-items:center;width:260px;padding:12px;background:var(--_bg);color:var(--_fg);border:1px solid var(--_border);border-radius:calc(var(--_radius) + 4px);user-select:none;}.sv-tp--invalid.svelte-1r061pp {border-color:var(--sg-danger, #dc2626);}.sv-tp--disabled.svelte-1r061pp {opacity:0.55;pointer-events:none;}.sv-tp__head.svelte-1r061pp {display:flex;align-items:center;gap:2px;font-variant-numeric:tabular-nums;}.sv-tp__seg.svelte-1r061pp {font-size:30px;font-weight:700;line-height:1;background:none;border:0;color:var(--_muted);cursor:pointer;padding:2px 6px;border-radius:var(--_radius);}.sv-tp__seg.is-active.svelte-1r061pp {color:var(--_accent);background:color-mix(in srgb, var(--_accent) 12%, transparent);}.sv-tp__colon.svelte-1r061pp {font-size:28px;font-weight:700;color:var(--_muted);}.sv-tp__ampm.svelte-1r061pp {display:flex;flex-direction:column;margin-inline-start:8px;gap:2px;}.sv-tp__ampm.svelte-1r061pp button:where(.svelte-1r061pp) {font-size:11px;font-weight:700;padding:3px 8px;background:none;border:1px solid var(--_border);border-radius:6px;color:var(--_muted);cursor:pointer;}.sv-tp__ampm.svelte-1r061pp button.is-active:where(.svelte-1r061pp) {background:var(--_accent);color:var(--sg-on-accent, #fff);border-color:var(--_accent);}.sv-tp__dial.svelte-1r061pp {touch-action:none;cursor:pointer;outline:none;display:block;width:100%;height:auto;aspect-ratio:1;}.sv-tp__dial.svelte-1r061pp:focus-visible {outline:2px solid var(--sg-focus-ring, var(--_accent));outline-offset:2px;border-radius:50%;}.sv-tp__face.svelte-1r061pp {fill:var(--_face);}.sv-tp__hand.svelte-1r061pp {stroke:var(--_accent);stroke-width:2;}.sv-tp__hub.svelte-1r061pp {fill:var(--_accent);}.sv-tp__knob.svelte-1r061pp {fill:var(--_accent);opacity:0.9;}.sv-tp__num.svelte-1r061pp {font-size:13px;fill:var(--_fg);pointer-events:none;font-family:inherit;}.sv-tp__num.is-inner.svelte-1r061pp {font-size:11px;fill:var(--_muted);}.sv-tp__num.is-active.svelte-1r061pp {fill:var(--sg-on-accent, #fff);font-weight:700;}.sv-tp__footer.svelte-1r061pp {width:100%;display:flex;justify-content:center;border-top:1px solid var(--_border);padding-top:8px;}.sv-tp__now.svelte-1r061pp {padding:5px 14px;font:inherit;font-size:12px;font-weight:600;background:none;border:1px solid var(--_border);border-radius:var(--_radius);color:var(--_accent);cursor:pointer;}.sv-tp__now.svelte-1r061pp:hover {background:color-mix(in srgb, var(--_accent) 10%, transparent);}"
1307
- };
1308
- function qt(e, t) {
1309
- ee(t, !0), L(e, Kt);
1310
- let a = (e) => {
1311
- var a = Gt();
1312
- let s;
1313
- var c = v(a), u = v(c);
1314
- C(u, (e) => ({
1315
- class: "sv-tp__seg",
1316
- ...e,
1317
- [M]: { "is-active": z.selection === "hour" }
1318
- }), [() => z.segProps("hour")], void 0, void 0, "svelte-1r061pp");
1319
- var d = v(u, !0);
1320
- k(u);
1321
- var f = E(u, 4);
1322
- C(f, (e) => ({
1323
- class: "sv-tp__seg",
1324
- ...e,
1325
- [M]: { "is-active": z.selection === "minute" }
1326
- }), [() => z.segProps("minute")], void 0, void 0, "svelte-1r061pp");
1327
- var g = v(f, !0);
1328
- k(f);
1329
- var b = E(f, 2), x = (e) => {
1330
- var t = Bt(), n = v(t);
1331
- C(n, (e) => ({
1332
- ...e,
1333
- [M]: { "is-active": !z.isPm }
1334
- }), [() => z.ampmProps(!1)], void 0, void 0, "svelte-1r061pp");
1335
- var a = v(n, !0);
1336
- k(n);
1337
- var o = E(n, 2);
1338
- C(o, (e) => ({
1339
- ...e,
1340
- [M]: { "is-active": z.isPm }
1341
- }), [() => z.ampmProps(!0)], void 0, void 0, "svelte-1r061pp");
1342
- var s = v(o, !0);
1343
- k(o), k(t), p(() => {
1344
- l(a, i(R).am), l(s, i(R).pm);
1345
- }), r(e, t);
1346
- };
1347
- S(b, (e) => {
1348
- z.is12 && e(x);
1349
- }), k(c);
1350
- var w = E(c, 2);
1351
- C(w, (e) => ({
1352
- class: "sv-tp__dial",
1353
- viewBox: `0 0 ${z.SIZE} ${z.SIZE}`,
1354
- width: "100%",
1355
- ...e,
1356
- onpointerdown: U,
1357
- onpointermove: G,
1358
- onpointerup: K,
1359
- onpointercancel: K
1360
- }), [() => z.dialProps()], void 0, void 0, "svelte-1r061pp");
1361
- var O = v(w), j = E(O), N = E(j), P = E(N), ee = E(P), L = (e) => {
1362
- var t = o(), a = F(t);
1363
- n(a, 17, () => z.hourTicks, (e) => e.ring + "-" + e.value, (e, t) => {
1364
- var n = Vt();
1365
- let a;
1366
- var o = v(n, !0);
1367
- k(n), p((e) => {
1368
- a = te(n, 0, "sv-tp__num svelte-1r061pp", null, a, e), _(n, "x", i(t).x), _(n, "y", i(t).y), l(o, i(t).label);
1369
- }, [() => ({
1370
- "is-active": z.isActiveHour(i(t)),
1371
- "is-inner": i(t).ring === "inner"
1372
- })]), r(e, n);
1373
- }), r(e, t);
1374
- }, V = (e) => {
1375
- var t = o(), a = F(t);
1376
- n(a, 17, () => z.minuteTicks, (e) => e.value, (e, t) => {
1377
- var n = Ht();
1378
- let a;
1379
- var o = v(n, !0);
1380
- k(n), p(() => {
1381
- a = te(n, 0, "sv-tp__num svelte-1r061pp", null, a, { "is-active": i(t).value === z.minutes }), _(n, "x", i(t).x), _(n, "y", i(t).y), l(o, i(t).label);
1382
- }), r(e, n);
1383
- }), r(e, t);
1384
- };
1385
- S(ee, (e) => {
1386
- z.selection === "hour" ? e(L) : e(V, -1);
1387
- }), k(w), y(w, (e) => B = e, () => B);
1388
- var H = E(w, 2), re = (e) => {
1389
- var t = Ut(), n = v(t);
1390
- C(n, (e) => ({
1391
- class: "sv-tp__now",
1392
- ...e
1393
- }), [() => z.nowProps()], void 0, void 0, "svelte-1r061pp");
1394
- var a = v(n, !0);
1395
- k(n), k(t), p(() => l(a, i(R).now)), r(e, t);
1396
- };
1397
- S(H, (e) => {
1398
- m() && e(re);
1399
- });
1400
- var W = E(H, 2), ie = (e) => {
1401
- var n = Wt();
1402
- I(n), p((e) => {
1403
- _(n, "name", t.name), T(n, e);
1404
- }, [() => `${String(z.hours).padStart(2, "0")}:${z.mm}`]), r(e, n);
1405
- };
1406
- S(W, (e) => {
1407
- t.name && e(ie);
1408
- }), k(a), p((e) => {
1409
- s = te(a, 1, "sv-tp svelte-1r061pp", null, s, {
1410
- "sv-tp--disabled": h(),
1411
- "sv-tp--invalid": D()
1412
- }), _(a, "id", i(A)), _(a, "aria-label", t.label ?? i(R).label), _(a, "dir", i(ne)), l(d, e), l(g, z.mm), _(O, "cx", z.C), _(O, "cy", z.C), _(O, "r", z.C - 4), _(j, "x1", z.C), _(j, "y1", z.C), _(j, "x2", z.handEnd.x), _(j, "y2", z.handEnd.y), _(N, "cx", z.C), _(N, "cy", z.C), _(P, "cx", z.handEnd.x), _(P, "cy", z.handEnd.y), a.dir = a.dir;
1413
- }, [() => String(z.displayHour).padStart(2, "0")]), r(e, a);
1414
- }, s = {
1415
- label: "Time picker",
1416
- am: "AM",
1417
- pm: "PM",
1418
- now: "Now"
1419
- }, c = P(t, "value", 3, null), u = P(t, "format", 3, "24-hour"), d = P(t, "minuteInterval", 3, 1), f = P(t, "autoSwitchToMinutes", 3, !0), m = P(t, "footer", 3, !1), h = P(t, "disabled", 3, !1), g = P(t, "readonly", 3, !1), b = P(t, "selection", 3, "hour"), x = P(t, "required", 3, !1), D = P(t, "invalid", 3, !1), O = re("sv-tp"), A = N(() => t.id ?? O), j = N(() => !!(t.label || t.hint || t.error)), R = N(() => W(s, t.messages)), ne = N(() => t.dir === "ltr" || t.dir === "rtl" ? t.dir : void 0), z = zt({
1420
- value: () => c(),
1421
- onChange: (e) => t.onChange?.(e),
1422
- format: () => u(),
1423
- minuteInterval: () => d(),
1424
- autoSwitchToMinutes: () => f(),
1425
- disabled: () => h(),
1426
- readonly: () => g(),
1427
- selection: () => b()
1428
- }), B = null, V = !1;
1429
- function H(e) {
1430
- let t = B.getBoundingClientRect(), n = z.SIZE / t.width, r = (e.clientX - t.left) * n - z.C, i = (e.clientY - t.top) * n - z.C, a = Math.atan2(i, r) * 180 / Math.PI + 90;
1431
- return a < 0 && (a += 360), {
1432
- angle: a,
1433
- dist: Math.hypot(r, i)
1434
- };
1435
- }
1436
- function U(e) {
1437
- if (!z.isInteractive) return;
1438
- V = !0, B?.setPointerCapture(e.pointerId);
1439
- let { angle: t, dist: n } = H(e);
1440
- z.pointerSelect(t, n);
1441
- }
1442
- function G(e) {
1443
- if (!V) return;
1444
- let { angle: t, dist: n } = H(e);
1445
- z.pointerSelect(t, n);
1446
- }
1447
- function K(e) {
1448
- V && (V = !1, B?.releasePointerCapture(e.pointerId), z.endPointer());
1449
- }
1450
- var ie = o(), ae = F(ie), oe = (e) => {
1451
- Je(e, {
1452
- get id() {
1453
- return i(A);
1454
- },
1455
- get label() {
1456
- return t.label;
1457
- },
1458
- get hint() {
1459
- return t.hint;
1460
- },
1461
- get error() {
1462
- return t.error;
1463
- },
1464
- get required() {
1465
- return x();
1466
- },
1467
- get dir() {
1468
- return t.dir;
1469
- },
1470
- children: (e, t) => {
1471
- a(e);
1472
- },
1473
- $$slots: { default: !0 }
1474
- });
1475
- }, se = (e) => {
1476
- a(e);
1477
- };
1478
- S(ae, (e) => {
1479
- i(j) ? e(oe) : e(se, -1);
1480
- }), r(e, ie), w();
1481
- }
1482
- //#endregion
1483
- //#region src/a11y/dismissable.ts
1484
- function Jt(e, t) {
1485
- return t ? (Array.isArray(e) ? e : [e]).some((e) => e != null && e.contains(t)) : !1;
1486
- }
1487
- var Yt = [], Xt = !1;
1488
- function Zt() {
1489
- Xt || typeof document > "u" || (Xt = !0, document.addEventListener("keydown", (e) => {
1490
- if (e.key !== "Escape") return;
1491
- let t = Yt[Yt.length - 1];
1492
- t?.closeOnEscape && (e.stopPropagation(), t.onDismiss("escape"));
1493
- }, !0), document.addEventListener("pointerdown", (e) => {
1494
- let t = Yt[Yt.length - 1];
1495
- t?.closeOnOutside && (Jt(t.element(), e.target) || t.onDismiss("outside"));
1496
- }, !0));
1497
- }
1498
- function Qt(e) {
1499
- let t = {
1500
- element: e.element,
1501
- onDismiss: e.onDismiss,
1502
- closeOnEscape: e.closeOnEscape ?? !0,
1503
- closeOnOutside: e.closeOnOutside ?? !0
1504
- };
1505
- return {
1506
- activate() {
1507
- Zt(), Yt.includes(t) || Yt.push(t);
1508
- },
1509
- release() {
1510
- let e = Yt.indexOf(t);
1511
- e >= 0 && Yt.splice(e, 1);
1512
- }
1513
- };
1514
- }
1515
- function $t() {
1516
- return Yt.length;
1517
- }
1518
- function en(e, t) {
1519
- if (typeof window > "u") return () => {};
1520
- let n = (n) => {
1521
- Jt(e(), n.target) || t();
1522
- };
1523
- return window.addEventListener("scroll", n, !0), () => window.removeEventListener("scroll", n, !0);
1524
- }
1525
- //#endregion
1526
- //#region src/datetime/date-format.ts
1527
- var tn = [
1528
- "dddd",
1529
- "ddd",
1530
- "dd",
1531
- "d",
1532
- "MMMM",
1533
- "MMM",
1534
- "MM",
1535
- "M",
1536
- "yyyy",
1537
- "yy",
1538
- "HH",
1539
- "H",
1540
- "hh",
1541
- "h",
1542
- "mm",
1543
- "m",
1544
- "ss",
1545
- "s",
1546
- "fff",
1547
- "ff",
1548
- "f",
1549
- "tt",
1550
- "t"
1551
- ];
1552
- function nn(e) {
1553
- let t = [], n = 0;
1554
- for (; n < e.length;) {
1555
- let r = e[n];
1556
- if (r === "\\" && n + 1 < e.length) {
1557
- t.push({ literal: e[n + 1] }), n += 2;
1558
- continue;
1559
- }
1560
- if (r === "'") {
1561
- let r = n + 1, i = "";
1562
- for (; r < e.length && e[r] !== "'";) i += e[r], r++;
1563
- t.push({ literal: i }), n = r + 1;
1564
- continue;
1565
- }
1566
- let i = null;
1567
- for (let t of tn) if (e.startsWith(t, n)) {
1568
- i = t;
1569
- break;
1570
- }
1571
- i ? (t.push({ token: i }), n += i.length) : (t.push({ literal: r }), n += 1);
1572
- }
1573
- return t;
1574
- }
1575
- var $ = (e, t) => String(Math.abs(e)).padStart(t, "0"), rn = /* @__PURE__ */ new Map(), an = /* @__PURE__ */ new Map(), on = /* @__PURE__ */ new Map();
1576
- function sn(e) {
1577
- let t = rn.get(e);
1578
- if (!t) {
1579
- let n = new Intl.DateTimeFormat(e, { month: "long" }), r = new Intl.DateTimeFormat(e, { month: "short" });
1580
- t = {
1581
- long: Array.from({ length: 12 }, (e, t) => n.format(new Date(2021, t, 1))),
1582
- short: Array.from({ length: 12 }, (e, t) => r.format(new Date(2021, t, 1)))
1583
- }, rn.set(e, t);
1584
- }
1585
- return t;
1586
- }
1587
- function cn(e) {
1588
- let t = an.get(e);
1589
- if (!t) {
1590
- let n = new Intl.DateTimeFormat(e, { weekday: "long" }), r = new Intl.DateTimeFormat(e, { weekday: "short" });
1591
- t = {
1592
- long: Array.from({ length: 7 }, (e, t) => n.format(new Date(2021, 7, 1 + t))),
1593
- short: Array.from({ length: 7 }, (e, t) => r.format(new Date(2021, 7, 1 + t)))
1594
- }, an.set(e, t);
1595
- }
1596
- return t;
1597
- }
1598
- function ln(e) {
1599
- let t = on.get(e);
1600
- if (!t) {
1601
- let n = new Intl.DateTimeFormat(e, {
1602
- hour: "numeric",
1603
- hour12: !0
1604
- });
1605
- t = {
1606
- am: n.formatToParts(new Date(2021, 0, 1, 9)).find((e) => e.type === "dayPeriod")?.value ?? "AM",
1607
- pm: n.formatToParts(new Date(2021, 0, 1, 21)).find((e) => e.type === "dayPeriod")?.value ?? "PM"
1608
- }, on.set(e, t);
1609
- }
1610
- return t;
1611
- }
1612
- function un(e, t, n = "en-US") {
1613
- let r = nn(t), i = e.getHours(), a = i % 12 == 0 ? 12 : i % 12, o = e.getMilliseconds(), s = "";
1614
- for (let t of r) {
1615
- if ("literal" in t) {
1616
- s += t.literal;
1617
- continue;
1618
- }
1619
- switch (t.token) {
1620
- case "d":
1621
- s += String(e.getDate());
1622
- break;
1623
- case "dd":
1624
- s += $(e.getDate(), 2);
1625
- break;
1626
- case "ddd":
1627
- s += cn(n).short[e.getDay()];
1628
- break;
1629
- case "dddd":
1630
- s += cn(n).long[e.getDay()];
1631
- break;
1632
- case "M":
1633
- s += String(e.getMonth() + 1);
1634
- break;
1635
- case "MM":
1636
- s += $(e.getMonth() + 1, 2);
1637
- break;
1638
- case "MMM":
1639
- s += sn(n).short[e.getMonth()];
1640
- break;
1641
- case "MMMM":
1642
- s += sn(n).long[e.getMonth()];
1643
- break;
1644
- case "yy":
1645
- s += $(e.getFullYear() % 100, 2);
1646
- break;
1647
- case "yyyy":
1648
- s += $(e.getFullYear(), 4);
1649
- break;
1650
- case "H":
1651
- s += String(i);
1652
- break;
1653
- case "HH":
1654
- s += $(i, 2);
1655
- break;
1656
- case "h":
1657
- s += String(a);
1658
- break;
1659
- case "hh":
1660
- s += $(a, 2);
1661
- break;
1662
- case "m":
1663
- s += String(e.getMinutes());
1664
- break;
1665
- case "mm":
1666
- s += $(e.getMinutes(), 2);
1667
- break;
1668
- case "s":
1669
- s += String(e.getSeconds());
1670
- break;
1671
- case "ss":
1672
- s += $(e.getSeconds(), 2);
1673
- break;
1674
- case "f":
1675
- s += $(o, 3).slice(0, 1);
1676
- break;
1677
- case "ff":
1678
- s += $(o, 3).slice(0, 2);
1679
- break;
1680
- case "fff":
1681
- s += $(o, 3);
1682
- break;
1683
- case "t":
1684
- s += (i < 12 ? ln(n).am : ln(n).pm).slice(0, 1);
1685
- break;
1686
- case "tt":
1687
- s += i < 12 ? ln(n).am : ln(n).pm;
1688
- break;
1689
- default: s += t.token;
1690
- }
1691
- }
1692
- return s;
1693
- }
1694
- var dn = {
1695
- d: 2,
1696
- dd: 2,
1697
- M: 2,
1698
- MM: 2,
1699
- yy: 2,
1700
- yyyy: 4,
1701
- H: 2,
1702
- HH: 2,
1703
- h: 2,
1704
- hh: 2,
1705
- m: 2,
1706
- mm: 2,
1707
- s: 2,
1708
- ss: 2,
1709
- f: 1,
1710
- ff: 2,
1711
- fff: 3
1712
- };
1713
- function fn(e, t, n) {
1714
- let r = 0;
1715
- for (; r < n && t + r < e.length && e[t + r] >= "0" && e[t + r] <= "9";) r++;
1716
- return r === 0 ? null : {
1717
- value: parseInt(e.slice(t, t + r), 10),
1718
- len: r
1719
- };
1720
- }
1721
- function pn(e, t, n) {
1722
- let r = n.map((e, t) => ({
1723
- name: e,
1724
- index: t
1725
- })).sort((e, t) => t.name.length - e.name.length), i = e.slice(t).toLowerCase();
1726
- for (let { name: e, index: t } of r) if (e && i.startsWith(e.toLowerCase())) return {
1727
- index: t,
1728
- len: e.length
1729
- };
1730
- return null;
1731
- }
1732
- function mn(e, t, n = "en-US", r = 2029, i) {
1733
- let a = nn(t), o = {}, s = 0, c = e;
1734
- for (let e of a) {
1735
- if ("literal" in e) {
1736
- for (let t of e.literal) {
1737
- if (t === " ") {
1738
- for (; c[s] === " ";) s++;
1739
- continue;
1740
- }
1741
- if (c[s] !== t) return null;
1742
- s++;
1743
- }
1744
- continue;
1745
- }
1746
- let t = e.token;
1747
- switch (t) {
1748
- case "ddd":
1749
- case "dddd": {
1750
- let e = pn(c, s, cn(n)[t === "ddd" ? "short" : "long"]);
1751
- if (!e) return null;
1752
- s += e.len;
1753
- break;
1754
- }
1755
- case "MMM":
1756
- case "MMMM": {
1757
- let e = pn(c, s, sn(n)[t === "MMM" ? "short" : "long"]);
1758
- if (!e) return null;
1759
- o.month = e.index, s += e.len;
1760
- break;
1761
- }
1762
- case "t":
1763
- case "tt": {
1764
- let e = ln(n), t = c.slice(s).toLowerCase();
1765
- if (t.startsWith(e.pm.toLowerCase())) o.isPm = !0, s += e.pm.length;
1766
- else if (t.startsWith(e.am.toLowerCase())) o.isPm = !1, s += e.am.length;
1767
- else if (t.startsWith(e.pm.slice(0, 1).toLowerCase())) o.isPm = !0, s += 1;
1768
- else if (t.startsWith(e.am.slice(0, 1).toLowerCase())) o.isPm = !1, s += 1;
1769
- else return null;
1770
- break;
1771
- }
1772
- default: {
1773
- let e = fn(c, s, dn[t] ?? 2);
1774
- if (!e) return null;
1775
- s += e.len;
1776
- let n = e.value;
1777
- switch (t) {
1778
- case "d":
1779
- case "dd":
1780
- o.day = n;
1781
- break;
1782
- case "M":
1783
- case "MM":
1784
- o.month = n - 1;
1785
- break;
1786
- case "yy":
1787
- o.year = n <= r % 100 ? 2e3 + n : 1900 + n;
1788
- break;
1789
- case "yyyy":
1790
- o.year = n;
1791
- break;
1792
- case "H":
1793
- case "HH":
1794
- o.hour = n;
1795
- break;
1796
- case "h":
1797
- case "hh":
1798
- o.hour12 = n;
1799
- break;
1800
- case "m":
1801
- case "mm":
1802
- o.minute = n;
1803
- break;
1804
- case "s":
1805
- case "ss":
1806
- o.second = n;
1807
- break;
1808
- case "f":
1809
- o.ms = n * 100;
1810
- break;
1811
- case "ff":
1812
- o.ms = n * 10;
1813
- break;
1814
- case "fff": o.ms = n;
1815
- }
1816
- }
1817
- }
1818
- }
1819
- if (s !== c.length && c.slice(s).trim() !== "") return null;
1820
- let l = i ?? new Date(1970, 0, 1), u = o.hour;
1821
- u == null && o.hour12 != null && (u = o.hour12 % 12, o.isPm && (u += 12));
1822
- let d = o.year ?? l.getFullYear(), f = o.month ?? l.getMonth(), p = o.day ?? l.getDate(), m = new Date(d, f, p, u ?? l.getHours(), o.minute ?? l.getMinutes(), o.second ?? l.getSeconds(), o.ms ?? l.getMilliseconds());
1823
- return o.day != null && m.getDate() !== p || o.month != null && m.getMonth() !== f || isNaN(m.getTime()) ? null : m;
1824
- }
1825
- //#endregion
1826
- //#region src/createDateTimePicker.svelte.ts
1827
- var hn = () => typeof navigator < "u" ? navigator.language : "en-US";
1828
- function gn(e) {
1829
- let t = () => e.formatString?.() ?? "yyyy-MM-dd HH:mm", n = () => e.nullable?.() ?? !0, r = () => e.locale?.() ?? hn(), a = () => e.dropDownDisplayMode?.() ?? "both", o = () => e.spinButtons?.() ?? !1, s = () => e.stepMinutes?.() ?? 1, c = () => e.disabled?.() ?? !1, l = () => e.readonly?.() ?? !1, u = N(() => !c() && !l()), d = N(() => G(e.min?.() ?? null)), p = N(() => G(e.max?.() ?? null)), m = h(null), g = h(""), _ = "￿";
1830
- f(() => {
1831
- let n = G(e.value()), i = n ? String(n.getTime()) : "null";
1832
- i !== _ && (_ = i, b(m, n, !0), b(g, n ? un(n, t(), r()) : "", !0));
1833
- });
1834
- let v = h(!1), y = h("date"), x = N(() => a() !== "time"), S = N(() => a() !== "calendar");
1835
- function C(n) {
1836
- let a = n ? ue(n, i(d), i(p)) : null;
1837
- b(m, a, !0), _ = a ? String(a.getTime()) : "null", b(g, a ? un(a, t(), r()) : "", !0), e.onChange?.(a);
1838
- }
1839
- function w() {
1840
- let e = i(g).trim();
1841
- if (!e) {
1842
- n() ? C(null) : b(g, i(m) ? un(i(m), t(), r()) : "", !0);
1843
- return;
1844
- }
1845
- let a = mn(e, t(), r(), 2029, i(m) ?? /* @__PURE__ */ new Date());
1846
- a ? C(a) : b(g, i(m) ? un(i(m), t(), r()) : "", !0);
1847
- }
1848
- function T(e) {
1849
- let t = i(m) ?? /* @__PURE__ */ new Date();
1850
- C(new Date(t.getTime() + e * 6e4));
1851
- }
1852
- function E(t) {
1853
- let n = t[0];
1854
- n && (C(me(n, i(m) ?? K(n))), a() === "calendar" ? (b(v, !1), e.onCommit?.(i(m))) : a() === "both" && b(y, "time"));
1855
- }
1856
- function D(e) {
1857
- C(me(i(m) ?? /* @__PURE__ */ new Date(), e));
1858
- }
1859
- function O() {
1860
- !i(u) || i(v) || (b(y, a() === "time" ? "time" : "date", !0), b(v, !0));
1861
- }
1862
- function k() {
1863
- b(v, !1);
1864
- }
1865
- function A() {
1866
- (i(v) ? k : O)();
1867
- }
1868
- function j(e) {
1869
- b(y, e, !0);
1870
- }
1871
- function M(t) {
1872
- t.key === "Enter" ? (t.preventDefault(), w(), k(), e.onCommit?.(i(m))) : t.key === "Escape" ? (k(), e.onCancel?.()) : t.key === "ArrowDown" && (t.altKey || !i(g)) ? (t.preventDefault(), O()) : o() && t.key === "ArrowUp" ? (t.preventDefault(), T(s())) : o() && t.key === "ArrowDown" && (t.preventDefault(), T(-s()));
1873
- }
1874
- return {
1875
- get current() {
1876
- return i(m);
1877
- },
1878
- get text() {
1879
- return i(g);
1880
- },
1881
- set text(e) {
1882
- b(g, e, !0);
1883
- },
1884
- get open() {
1885
- return i(v);
1886
- },
1887
- get tab() {
1888
- return i(y);
1889
- },
1890
- get isInteractive() {
1891
- return i(u);
1892
- },
1893
- get showDateTab() {
1894
- return i(x);
1895
- },
1896
- get showTimeTab() {
1897
- return i(S);
1898
- },
1899
- commit: C,
1900
- commitFromText: w,
1901
- bump: T,
1902
- onCalendarChange: E,
1903
- onTimeChange: D,
1904
- openPanel: O,
1905
- closePanel: k,
1906
- toggle: A,
1907
- setTab: j,
1908
- onInputKeydown: M,
1909
- inputProps() {
1910
- return {
1911
- id: e.id?.(),
1912
- type: "text",
1913
- disabled: c(),
1914
- readonly: l(),
1915
- ...U({
1916
- id: e.id?.(),
1917
- invalid: e.invalid?.(),
1918
- required: e.required?.(),
1919
- error: e.error?.(),
1920
- hint: e.hint?.(),
1921
- ariaLabel: e.ariaLabel?.()
1922
- }),
1923
- onblur: w,
1924
- onkeydown: M
1925
- };
1926
- },
1927
- toggleProps() {
1928
- return {
1929
- type: "button",
1930
- "aria-label": e.toggleLabel?.() ?? "Open picker",
1931
- "aria-haspopup": "dialog",
1932
- "aria-expanded": i(v),
1933
- disabled: !i(u),
1934
- tabindex: -1,
1935
- onclick: A
1936
- };
1937
- },
1938
- clearProps() {
1939
- return {
1940
- type: "button",
1941
- "aria-label": e.clearLabel?.() ?? "Clear",
1942
- onclick: () => C(null)
1943
- };
1944
- },
1945
- spinProps(e) {
1946
- return {
1947
- type: "button",
1948
- tabindex: -1,
1949
- "aria-label": e === 1 ? "Increment" : "Decrement",
1950
- disabled: !i(u),
1951
- onclick: () => T(e * s())
1952
- };
1953
- },
1954
- tabProps(e) {
1955
- return {
1956
- type: "button",
1957
- role: "tab",
1958
- "aria-selected": i(y) === e,
1959
- onclick: () => j(e)
1960
- };
1961
- }
1962
- };
1963
- }
1964
- //#endregion
1965
- //#region src/SvDateTimePicker.svelte
1966
- var _n = /* @__PURE__ */ e({ default: () => Tn }), vn = c("<div class=\"sv-dtp__spin svelte-pd5igp\"><button>▲</button> <button>▼</button></div>"), yn = c("<button>&times;</button>"), bn = c("<div class=\"sv-dtp__tabs\" role=\"tablist\"><button> </button> <button> </button></div>"), xn = c("<div class=\"sv-dtp__panel\" role=\"dialog\"><!> <div class=\"sv-dtp__body\"><!></div></div>"), Sn = c("<input type=\"hidden\"/>"), Cn = c("<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>"), wn = {
1967
- hash: "svelte-pd5igp",
1968
- code: ".sv-dtp.svelte-pd5igp {--_accent: var(--sg-accent, #2563eb);--_bg: var(--sg-input-bg, var(--sg-bg, #fff));--_fg: var(--sg-fg, #0f172a);--_muted: var(--sg-muted, #64748b);--_border: var(--sg-input-border, var(--sg-border, #cbd5e1));--_radius: var(--sg-radius, 8px);display:inline-block;position:relative;width:240px;color:var(--_fg);}\n /* Fill the container (grid cell editor) instead of the fixed default width. */.sv-dtp--block.svelte-pd5igp {display:block;width:100%;}.sv-dtp--disabled.svelte-pd5igp {opacity:0.6;}.sv-dtp__field.svelte-pd5igp {display:flex;align-items:center;gap:2px;background:var(--_bg);border:1px solid var(--_border);border-radius:var(--_radius);padding-block:0;padding-inline:0 4px;height:34px;}.sv-dtp__field.svelte-pd5igp:focus-within {border-color:var(--_accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent);}.sv-dtp__field.is-invalid.svelte-pd5igp {border-color:var(--sg-danger, #dc2626);}.sv-dtp__field.is-invalid.svelte-pd5igp:focus-within {box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-danger, #dc2626) 22%, transparent);}.sv-dtp__input.svelte-pd5igp {flex:1;min-width:0;border:0;background:none;outline:none;color:inherit;font:inherit;font-size:13px;padding:0 8px;height:100%;}.sv-dtp__spin.svelte-pd5igp {display:flex;flex-direction:column;border-inline-end:1px solid var(--_border);}.sv-dtp__spin.svelte-pd5igp button:where(.svelte-pd5igp) {flex:1;width:20px;border:0;background:none;color:var(--_muted);cursor:pointer;font-size:7px;line-height:1;padding:0;}.sv-dtp__spin.svelte-pd5igp button:where(.svelte-pd5igp):hover:not(:disabled) {color:var(--_accent);}.sv-dtp__clear.svelte-pd5igp, .sv-dtp__toggle.svelte-pd5igp {display:grid;place-items:center;width:26px;height:26px;flex:none;background:none;border:0;color:var(--_muted);cursor:pointer;border-radius:6px;}.sv-dtp__clear.svelte-pd5igp {font-size:17px;line-height:1;}.sv-dtp__clear.svelte-pd5igp:hover, .sv-dtp__toggle.svelte-pd5igp:hover {color:var(--_accent);background:color-mix(in srgb, var(--_accent) 10%, transparent);}\n\n /* Portalled panel - lives under <body>, styled globally. */.sv-dtp__panel {z-index:2147483647;background:var(--sg-bg, #fff);border:1px solid var(--sg-border, #e2e8f0);border-radius:12px;box-shadow:0 16px 48px -12px rgba(15, 23, 42, 0.35);overflow:hidden;}.sv-dtp__tabs {display:flex;border-bottom:1px solid var(--sg-border, #e2e8f0);}.sv-dtp__tabs button {flex:1;padding:9px;font:inherit;font-size:11px;font-weight:700;letter-spacing:0.04em;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;border-bottom:2px solid transparent;}.sv-dtp__tabs button.is-active {color:var(--sg-accent, #2563eb);border-bottom-color:var(--sg-accent, #2563eb);}.sv-dtp__body {display:grid;place-items:center;padding:8px;}"
1969
- };
1970
- function Tn(e, t) {
1971
- ee(t, !0), L(e, wn);
1972
- let n = {
1973
- dialog: "Choose date and time",
1974
- date: "DATE",
1975
- time: "TIME",
1976
- clear: "Clear",
1977
- open: "Open picker"
1978
- }, o = P(t, "value", 3, null), c = P(t, "formatString", 3, "yyyy-MM-dd HH:mm"), u = P(t, "min", 3, null), d = P(t, "max", 3, null), x = P(t, "nullable", 3, !0), O = P(t, "placeholder", 3, "Select date & time"), A = P(t, "disabled", 3, !1), F = P(t, "readonly", 3, !1), B = P(t, "locale", 19, () => typeof navigator < "u" ? navigator.language : "en-US"), V = P(t, "firstDayOfWeek", 3, 0), H = P(t, "weekNumbers", 3, !1), U = P(t, "hourFormat", 3, "24-hour"), G = P(t, "minuteInterval", 3, 1), K = P(t, "dropDownDisplayMode", 3, "both"), ie = P(t, "spinButtons", 3, !1), ae = P(t, "stepMinutes", 3, 1), oe = P(t, "autoOpen", 3, !1), se = P(t, "block", 3, !1), q = P(t, "animate", 3, !1), ce = P(t, "invalid", 3, !1), J = P(t, "required", 3, !1), Y = re("sv-dtp"), le = N(() => t.id ?? Y), X = N(() => W(n, t.messages)), ue = N(() => t.dir === "ltr" || t.dir === "rtl" ? t.dir : void 0), Z = gn({
1979
- value: () => o(),
1980
- onChange: (e) => t.onChange?.(e),
1981
- onCommit: (e) => t.onCommit?.(e),
1982
- onCancel: () => t.onCancel?.(),
1983
- formatString: () => c(),
1984
- min: () => u(),
1985
- max: () => d(),
1986
- nullable: () => x(),
1987
- locale: () => B(),
1988
- dropDownDisplayMode: () => K(),
1989
- spinButtons: () => ie(),
1990
- stepMinutes: () => ae(),
1991
- disabled: () => A(),
1992
- readonly: () => F(),
1993
- toggleLabel: () => i(X).open,
1994
- clearLabel: () => i(X).clear,
1995
- id: () => i(le),
1996
- invalid: () => ce(),
1997
- required: () => J(),
1998
- error: () => t.error,
1999
- hint: () => t.hint,
2000
- ariaLabel: () => t.ariaLabel
2001
- }), de = h(null), fe = h(null), pe = h(j({
2002
- top: 0,
2003
- left: 0,
2004
- width: 0,
2005
- openUpward: !1,
2006
- maxHeight: 0,
2007
- availHeight: 0
2008
- }));
2009
- function me() {
2010
- i(de) && b(pe, ne(i(de).getBoundingClientRect(), {
2011
- estimatedHeight: 360,
2012
- minWidth: 300
2013
- }), !0);
2014
- }
2015
- f(() => {
2016
- if (!Z.open) return;
2017
- me();
2018
- let e = () => me();
2019
- window.addEventListener("scroll", e, !0), window.addEventListener("resize", e);
2020
- let t = Qt({
2021
- element: () => [i(de), i(fe)],
2022
- onDismiss: () => Z.closePanel(),
2023
- closeOnEscape: !1
2024
- });
2025
- return t.activate(), () => {
2026
- window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e), t.release();
2027
- };
2028
- });
2029
- function Q(e) {
2030
- oe() && (e.focus(), Z.openPanel());
2031
- }
2032
- function he(e) {
2033
- let n = e.relatedTarget;
2034
- n && (i(de)?.contains(n) || i(fe)?.contains(n)) || t.onCommit?.(Z.current);
2035
- }
2036
- Je(e, {
2037
- get id() {
2038
- return i(le);
2039
- },
2040
- get label() {
2041
- return t.label;
2042
- },
2043
- get hint() {
2044
- return t.hint;
2045
- },
2046
- get error() {
2047
- return t.error;
2048
- },
2049
- get required() {
2050
- return J();
2051
- },
2052
- get dir() {
2053
- return t.dir;
2054
- },
2055
- get block() {
2056
- return se();
2057
- },
2058
- children: (e, n) => {
2059
- var o = Cn();
2060
- let c;
2061
- var f = v(o);
2062
- let h;
2063
- var w = v(f), j = (e) => {
2064
- var t = vn(), n = v(t);
2065
- C(n, (e) => ({ ...e }), [() => Z.spinProps(1)], void 0, void 0, "svelte-pd5igp");
2066
- var i = E(n, 2);
2067
- C(i, (e) => ({ ...e }), [() => Z.spinProps(-1)], void 0, void 0, "svelte-pd5igp"), k(t), r(e, t);
2068
- };
2069
- S(w, (e) => {
2070
- ie() && e(j);
2071
- });
2072
- var N = E(w, 2);
2073
- C(N, (e) => ({
2074
- class: "sv-dtp__input",
2075
- placeholder: O(),
2076
- ...e
2077
- }), [() => Z.inputProps()], void 0, void 0, "svelte-pd5igp", !0), s(() => D(N, () => Z.text, (e) => Z.text = e)), g(N, (e) => Q?.(e));
2078
- var P = E(N, 2), F = (e) => {
2079
- var t = yn();
2080
- C(t, (e) => ({
2081
- class: "sv-dtp__clear",
2082
- ...e
2083
- }), [() => Z.clearProps()], void 0, void 0, "svelte-pd5igp"), r(e, t);
2084
- };
2085
- S(P, (e) => {
2086
- x() && Z.current && Z.isInteractive && e(F);
2087
- });
2088
- var ee = E(P, 2);
2089
- C(ee, (e) => ({
2090
- class: "sv-dtp__toggle",
2091
- ...e
2092
- }), [() => Z.toggleProps()], void 0, void 0, "svelte-pd5igp"), k(f), y(f, (e) => b(de, e), () => i(de));
2093
- var L = E(f, 2), ne = (e) => {
2094
- var t = xn();
2095
- let n;
2096
- var a = v(t), o = (e) => {
2097
- var t = bn(), n = v(t);
2098
- C(n, (e) => ({
2099
- ...e,
2100
- [M]: { "is-active": Z.tab === "date" }
2101
- }), [() => Z.tabProps("date")], void 0, void 0, "svelte-pd5igp");
2102
- var a = v(n, !0);
2103
- k(n);
2104
- var o = E(n, 2);
2105
- C(o, (e) => ({
2106
- ...e,
2107
- [M]: { "is-active": Z.tab === "time" }
2108
- }), [() => Z.tabProps("time")], void 0, void 0, "svelte-pd5igp");
2109
- var s = v(o, !0);
2110
- k(o), k(t), p(() => {
2111
- l(a, i(X).date), l(s, i(X).time);
2112
- }), r(e, t);
2113
- };
2114
- S(a, (e) => {
2115
- Z.showDateTab && Z.showTimeTab && e(o);
2116
- });
2117
- var s = E(a, 2), c = v(s), f = (e) => {
2118
- Mt(e, {
2119
- get value() {
2120
- return Z.current;
2121
- },
2122
- selectionMode: "one",
2123
- get min() {
2124
- return u();
2125
- },
2126
- get max() {
2127
- return d();
2128
- },
2129
- get firstDayOfWeek() {
2130
- return V();
2131
- },
2132
- get weekNumbers() {
2133
- return H();
2134
- },
2135
- get locale() {
2136
- return B();
2137
- },
2138
- get animate() {
2139
- return q();
2140
- },
2141
- get dir() {
2142
- return i(ue);
2143
- },
2144
- get onChange() {
2145
- return Z.onCalendarChange;
2146
- }
2147
- });
2148
- }, h = (e) => {
2149
- qt(e, {
2150
- get value() {
2151
- return Z.current;
2152
- },
2153
- get format() {
2154
- return U();
2155
- },
2156
- get minuteInterval() {
2157
- return G();
2158
- },
2159
- footer: !0,
2160
- get dir() {
2161
- return i(ue);
2162
- },
2163
- get onChange() {
2164
- return Z.onTimeChange;
2165
- }
2166
- });
2167
- };
2168
- S(c, (e) => {
2169
- Z.tab === "date" && Z.showDateTab ? e(f) : Z.showTimeTab && e(h, 1);
2170
- }), k(s), k(t), y(t, (e) => b(fe, e), () => i(fe)), g(t, (e) => R?.(e)), g(t, (e, t) => z?.(e, t), () => ({ up: i(pe).openUpward })), p(() => {
2171
- _(t, "aria-label", i(X).dialog), _(t, "dir", i(ue)), n = m(t, "", n, {
2172
- position: "fixed",
2173
- top: `${i(pe).top}px`,
2174
- left: `${i(pe).left}px`
2175
- }), t.dir = t.dir;
2176
- }), r(e, t);
2177
- };
2178
- S(L, (e) => {
2179
- Z.open && e(ne);
2180
- });
2181
- var re = E(L, 2), W = (e) => {
2182
- var n = Sn();
2183
- I(n), p((e) => {
2184
- _(n, "name", t.name), T(n, e);
2185
- }, [() => Z.current ? Z.current.toISOString() : ""]), r(e, n);
2186
- };
2187
- S(re, (e) => {
2188
- t.name && e(W);
2189
- }), k(o), p(() => {
2190
- c = te(o, 1, "sv-dtp svelte-pd5igp", null, c, {
2191
- "sv-dtp--disabled": A(),
2192
- "sv-dtp--block": se()
2193
- }), _(o, "dir", i(ue)), h = te(f, 1, "sv-dtp__field svelte-pd5igp", null, h, { "is-invalid": ce() }), o.dir = o.dir;
2194
- }), a("focusout", o, he), r(e, o);
2195
- },
2196
- $$slots: { default: !0 }
2197
- }), w();
2198
- }
2199
- d(["focusout"]);
2200
- //#endregion
2201
- export { le as A, se as B, Ze as C, Ce as D, ke as E, Z as F, B as G, pe as H, fe as I, W as J, V as K, Q as L, ue as M, de as N, Se as O, q as P, K as R, Xe as S, Je as T, me as U, G as V, U as W, ot as _, mn as a, Ye as b, $t as c, zt as d, Rt as f, at as g, ct as h, un as i, X as j, Y as k, en as l, lt as m, _n as n, nn as o, Mt as p, re as q, gn as r, Qt as s, Tn as t, qt as u, rt as v, et as w, tt as x, it as y, ie as z };