@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
@@ -0,0 +1,1393 @@
1
+ import { D as e, E as t, F as n, G as r, H as i, I as a, L as o, N as s, V as c, X as l, Y as u, _ as d, at as f, b as p, d as m, et as h, i as g, it as _, j as v, k as y, l as b, lt as x, m as ee, nt as S, ot as C, pt as w, q as T, rt as E, s as D, st as O, t as k, tt as te, u as ne, ut as re, v as ie, x as A } from "./disclose-version-Dr7rEVv-.js";
2
+ //#region src/editor-contract.ts
3
+ var j = (e) => e ? `${e}__error` : void 0, M = (e) => e ? `${e}__hint` : void 0, N = 0, P = (e = "sv-ed") => `${e}-${N++}`;
4
+ function F(e) {
5
+ let t = [e.error ? j(e.id) : void 0, e.hint ? M(e.id) : void 0].filter(Boolean);
6
+ return {
7
+ "aria-invalid": e.invalid ? "true" : void 0,
8
+ "aria-required": e.required ? "true" : void 0,
9
+ "aria-describedby": t.length ? t.join(" ") : void 0,
10
+ "aria-label": e.ariaLabel
11
+ };
12
+ }
13
+ function I(e, t) {
14
+ if (!t) return e;
15
+ let n = { ...e };
16
+ for (let e in t) {
17
+ let r = t[e];
18
+ r != null && r !== "" && (n[e] = r);
19
+ }
20
+ return n;
21
+ }
22
+ //#endregion
23
+ //#region src/datetime/date-core.ts
24
+ function L(e) {
25
+ if (e == null) return null;
26
+ let t = e instanceof Date ? new Date(e.getTime()) : new Date(e);
27
+ return isNaN(t.getTime()) ? null : t;
28
+ }
29
+ function R(e) {
30
+ return new Date(e.getFullYear(), e.getMonth(), e.getDate());
31
+ }
32
+ function z(e) {
33
+ return new Date(e.getFullYear(), e.getMonth(), 1);
34
+ }
35
+ function B(e) {
36
+ return new Date(e.getFullYear(), e.getMonth() + 1, 0);
37
+ }
38
+ function V(e) {
39
+ return B(e).getDate();
40
+ }
41
+ function H(e, t = 0) {
42
+ let n = R(e), r = (n.getDay() - t + 7) % 7;
43
+ return n.setDate(n.getDate() - r), n;
44
+ }
45
+ function U(e, t) {
46
+ return !e || !t ? !1 : e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate();
47
+ }
48
+ function ae(e, t) {
49
+ return !e || !t ? !1 : e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth();
50
+ }
51
+ function W(e, t) {
52
+ let n = R(e).getTime(), r = R(t).getTime();
53
+ return n < r ? -1 : +(n > r);
54
+ }
55
+ function G(e, t) {
56
+ let n = new Date(e.getTime());
57
+ return n.setDate(n.getDate() + t), n;
58
+ }
59
+ function K(e, t) {
60
+ let n = e.getDate(), r = new Date(e.getFullYear(), e.getMonth() + t, 1, e.getHours(), e.getMinutes(), e.getSeconds(), e.getMilliseconds());
61
+ return r.setDate(Math.min(n, V(r))), r;
62
+ }
63
+ function q(e, t) {
64
+ return K(e, t * 12);
65
+ }
66
+ function oe(e, t, n) {
67
+ return t && e.getTime() < t.getTime() ? new Date(t.getTime()) : n && e.getTime() > n.getTime() ? new Date(n.getTime()) : e;
68
+ }
69
+ function J(e) {
70
+ let t = R(e), n = (t.getDay() + 6) % 7;
71
+ t.setDate(t.getDate() - n + 3);
72
+ let r = new Date(t.getFullYear(), 0, 4), i = (r.getDay() + 6) % 7;
73
+ r.setDate(r.getDate() - i + 3);
74
+ let a = t.getTime() - r.getTime();
75
+ return 1 + Math.round(a / 6048e5);
76
+ }
77
+ function se(e) {
78
+ let t = Math.floor(e / 10) * 10;
79
+ return {
80
+ start: t,
81
+ end: t + 9
82
+ };
83
+ }
84
+ function ce(e, t = 0, n = 6) {
85
+ let r = z(e), i = H(r, t), a = [], o = i;
86
+ for (let e = 0; e < n; e++) {
87
+ let e = [], t = J(o);
88
+ for (let n = 0; n < 7; n++) e.push({
89
+ date: o,
90
+ inMonth: o.getMonth() === r.getMonth() && o.getFullYear() === r.getFullYear(),
91
+ week: t
92
+ }), o = G(o, 1);
93
+ a.push(e);
94
+ }
95
+ return a;
96
+ }
97
+ function le(e = 0) {
98
+ return Array.from({ length: 7 }, (t, n) => (e + n) % 7);
99
+ }
100
+ function ue(e, t) {
101
+ return new Date(e.getFullYear(), e.getMonth(), e.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds());
102
+ }
103
+ function de(e, t) {
104
+ let n = Math.max(1, Math.floor(t));
105
+ return Math.floor(e / n) * n;
106
+ }
107
+ //#endregion
108
+ //#region src/recurrence.ts
109
+ var fe = 864e5, pe = (e) => Math.round(R(e).getTime() / fe), Y = (e) => new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate();
110
+ function X(e, t) {
111
+ return t === -1 ? e.getDate() + 7 > Y(e) : Math.floor((e.getDate() - 1) / 7) + 1 === t;
112
+ }
113
+ function me(e, t) {
114
+ let n = t.count && t.count >= 1 && t.from != null ? Z(t) : t, r = R(e), i = n.from == null ? null : R(L(n.from) ?? r), a = n.until == null ? null : R(L(n.until) ?? r);
115
+ if (i && r < i || a && r > a) return !1;
116
+ let o = Math.max(1, Math.floor(n.interval ?? 1));
117
+ switch (n.freq) {
118
+ case "daily": return !i || (pe(r) - pe(i)) % o === 0;
119
+ case "weekly": {
120
+ let e = n.weekdays && n.weekdays.length ? n.weekdays : i ? [i.getDay()] : null;
121
+ return !(!e || !e.includes(r.getDay()) || o > 1 && i && Math.round((H(r, 0).getTime() - H(i, 0).getTime()) / (fe * 7)) % o !== 0);
122
+ }
123
+ case "monthly": return he(r, n) ? !i || ((r.getFullYear() - i.getFullYear()) * 12 + (r.getMonth() - i.getMonth())) % o === 0 : !1;
124
+ case "yearly": return n.month != null && r.getMonth() !== n.month || !he(r, n) ? !1 : i ? (r.getFullYear() - i.getFullYear()) % o === 0 : n.month != null || n.day != null || n.weekOfMonth != null;
125
+ }
126
+ }
127
+ function he(e, t) {
128
+ if (t.weekOfMonth != null && t.weekdays && t.weekdays.length) return t.weekdays.includes(e.getDay()) && X(e, t.weekOfMonth);
129
+ let n = t.from == null ? null : (L(t.from) ?? e).getDate(), r = t.day ?? n;
130
+ if (r == null) return !1;
131
+ let i = r < 0 ? Y(e) + r + 1 : r;
132
+ return e.getDate() === i;
133
+ }
134
+ function Z(e) {
135
+ let t = L(e.from);
136
+ if (!t) return {
137
+ ...e,
138
+ count: void 0
139
+ };
140
+ let n = {
141
+ ...e,
142
+ count: void 0
143
+ }, r = R(t), i = 0, a = r, o = 0;
144
+ for (; o++ < 48e3 && !(me(r, n) && (i++, a = r, i >= e.count));) r = new Date(r.getFullYear(), r.getMonth(), r.getDate() + 1);
145
+ let s = a, c = e.until == null ? null : R(L(e.until) ?? s), l = c && c < s ? c : s;
146
+ return {
147
+ ...n,
148
+ until: l
149
+ };
150
+ }
151
+ function ge(e, t) {
152
+ return t ? (Array.isArray(t) ? t : [t]).some((t) => me(e, t)) : !1;
153
+ }
154
+ function Q(e, t, n) {
155
+ if (!e) return [];
156
+ let r = (Array.isArray(e) ? e : [e]).map((e) => e.count && e.count >= 1 && e.from != null ? Z(e) : e), i = [], a = R(n), o = R(t), s = 0;
157
+ for (; o <= a && s++ < 4e3;) ge(o, r) && i.push(o), o = new Date(o.getFullYear(), o.getMonth(), o.getDate() + 1);
158
+ return i;
159
+ }
160
+ var _e = [
161
+ "Sun",
162
+ "Mon",
163
+ "Tue",
164
+ "Wed",
165
+ "Thu",
166
+ "Fri",
167
+ "Sat"
168
+ ], ve = [
169
+ "Jan",
170
+ "Feb",
171
+ "Mar",
172
+ "Apr",
173
+ "May",
174
+ "Jun",
175
+ "Jul",
176
+ "Aug",
177
+ "Sep",
178
+ "Oct",
179
+ "Nov",
180
+ "Dec"
181
+ ], ye = {
182
+ 1: "first",
183
+ 2: "second",
184
+ 3: "third",
185
+ 4: "fourth",
186
+ 5: "fifth",
187
+ [-1]: "last"
188
+ };
189
+ function be(e, t, n) {
190
+ let r = e.weekdays?.[0];
191
+ 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}`;
192
+ }
193
+ function xe(e, t) {
194
+ let n = Math.max(1, Math.floor(e.interval ?? 1)), r = "";
195
+ switch (e.freq) {
196
+ case "daily":
197
+ r = n === 1 ? "Daily" : `Every ${n} days`;
198
+ break;
199
+ case "weekly": {
200
+ r = n === 1 ? "Weekly" : `Every ${n} weeks`;
201
+ let i = e.weekdays && e.weekdays.length ? [...e.weekdays].sort((e, t) => e - t) : [];
202
+ if (i.length) {
203
+ let e = i.length === 5 && [
204
+ 1,
205
+ 2,
206
+ 3,
207
+ 4,
208
+ 5
209
+ ].every((e) => i.includes(e)), n = i.length === 2 && i.includes(0) && i.includes(6);
210
+ r += e ? " on weekdays" : n ? " on weekends" : ` on ${i.map((e) => t.weekdays[e]).join(", ")}`;
211
+ }
212
+ break;
213
+ }
214
+ case "monthly": {
215
+ r = n === 1 ? "Monthly" : `Every ${n} months`;
216
+ let i = be(e, t.weekdays, t.ordinals);
217
+ i && (r += ` on ${i}`);
218
+ break;
219
+ }
220
+ case "yearly": {
221
+ r = n === 1 ? "Yearly" : `Every ${n} years`;
222
+ let i = be(e, t.weekdays, t.ordinals);
223
+ 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]}`;
224
+ break;
225
+ }
226
+ }
227
+ if (e.count && e.count >= 1) r += `, ${e.count} time${e.count === 1 ? "" : "s"}`;
228
+ else if (e.until) {
229
+ let n = L(e.until);
230
+ n && (r += ` until ${t.months[n.getMonth()]} ${n.getDate()}, ${n.getFullYear()}`);
231
+ }
232
+ return r;
233
+ }
234
+ function Se(e, t) {
235
+ let n = {
236
+ weekdays: t?.weekdays ?? _e,
237
+ months: t?.months ?? ve,
238
+ ordinals: t?.ordinals ?? ye,
239
+ never: t?.never ?? ""
240
+ };
241
+ if (!e) return n.never;
242
+ let r = (Array.isArray(e) ? e : [e]).filter((e) => e && e.freq);
243
+ return r.length ? r.map((e) => xe(e, n)).join("; ") : n.never;
244
+ }
245
+ //#endregion
246
+ //#region src/SvField.svelte
247
+ var Ce = o("<span class=\"sv-field__req svelte-1uhr4tm\" aria-hidden=\"true\">*</span>"), we = o("<label class=\"sv-field__label svelte-1uhr4tm\"> <!></label>"), Te = o("<span class=\"sv-field__spinner svelte-1uhr4tm\" role=\"status\" aria-label=\"Loading\"></span>"), Ee = o("<span class=\"sv-field__labelrow svelte-1uhr4tm\"><!> <!></span>"), De = o("<span class=\"sv-field__req svelte-1uhr4tm\" aria-hidden=\"true\">*</span>"), Oe = o("<label class=\"sv-field__float-label svelte-1uhr4tm\"> <!></label>"), ke = o("<span class=\"sv-field__adorn sv-field__adorn--lead svelte-1uhr4tm\"><!></span>"), Ae = o("<span class=\"sv-field__affix sv-field__affix--pre svelte-1uhr4tm\"> </span>"), je = o("<span class=\"sv-field__affix sv-field__affix--suf svelte-1uhr4tm\"> </span>"), Me = o("<span class=\"sv-field__adorn sv-field__adorn--trail svelte-1uhr4tm\"><!></span>"), Ne = o("<span class=\"sv-field__action-txt svelte-1uhr4tm\"> </span>"), Pe = o("<button class=\"sv-field__action svelte-1uhr4tm\" type=\"button\" tabindex=\"-1\"><!></button>"), Fe = o("<button class=\"sv-field__clear svelte-1uhr4tm\" type=\"button\" tabindex=\"-1\">&times;</button>"), Ie = o("<div><!> <!> <!> <span class=\"sv-field__slot svelte-1uhr4tm\"><!></span> <!> <!> <!> <!></div>"), Le = o("<span class=\"sv-field__error svelte-1uhr4tm\" role=\"alert\"> </span>"), Re = o("<span class=\"sv-field__hint svelte-1uhr4tm\"> </span>"), ze = o("<div><!> <!> <!></div>"), Be = {
248
+ hash: "svelte-1uhr4tm",
249
+ 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;}"
250
+ };
251
+ function Ve(e, o) {
252
+ re(o, !0), A(e, Be);
253
+ let c = k(o, "required", 3, !1), l = k(o, "block", 3, !1), f = k(o, "loading", 3, !1), p = k(o, "frame", 3, !1), g = k(o, "invalid", 3, !1), _ = k(o, "size", 3, "md"), b = k(o, "disabled", 3, !1), ee = k(o, "readonly", 3, !1), C = k(o, "clearable", 3, !1), T = k(o, "showClear", 3, !1), E = k(o, "clearLabel", 3, "Clear"), D = k(o, "labelMode", 3, "static"), ne = k(o, "filled", 3, !1), N = O(() => o.width == null ? void 0 : typeof o.width == "number" ? `${o.width}px` : o.width), P = O(() => D() === "floating" && p() && !!o.label), F = O(() => o.dir === "ltr" || o.dir === "rtl" ? o.dir : void 0);
254
+ var I = ze();
255
+ let L;
256
+ var R = h(I), z = (e) => {
257
+ var t = Ee(), i = h(t), a = (e) => {
258
+ var t = we(), r = h(t, !0), i = S(r), a = (e) => {
259
+ var t = Ce();
260
+ n(e, t);
261
+ };
262
+ y(i, (e) => {
263
+ c() && e(a);
264
+ }), w(t), u(() => {
265
+ m(t, "for", o.id), s(r, o.label);
266
+ }), n(e, t);
267
+ };
268
+ y(i, (e) => {
269
+ o.label && !r(P) && e(a);
270
+ });
271
+ var l = S(i, 2), d = (e) => {
272
+ var t = Te();
273
+ n(e, t);
274
+ };
275
+ y(l, (e) => {
276
+ f() && e(d);
277
+ }), w(t), n(e, t);
278
+ };
279
+ y(R, (e) => {
280
+ (o.label && !r(P) || f()) && e(z);
281
+ });
282
+ var B = S(R, 2), V = (e) => {
283
+ var f = Ie();
284
+ let p, x;
285
+ var D = h(f), O = (e) => {
286
+ var t = Oe(), r = h(t, !0), i = S(r), a = (e) => {
287
+ var t = De();
288
+ n(e, t);
289
+ };
290
+ y(i, (e) => {
291
+ c() && e(a);
292
+ }), w(t), u(() => {
293
+ m(t, "for", o.id), s(r, o.label);
294
+ }), n(e, t);
295
+ };
296
+ y(D, (e) => {
297
+ r(P) && e(O);
298
+ });
299
+ var k = S(D, 2), re = (e) => {
300
+ var t = ke(), r = h(t);
301
+ v(r, () => o.leading), w(t), n(e, t);
302
+ };
303
+ y(k, (e) => {
304
+ o.leading && e(re);
305
+ });
306
+ var A = S(k, 2), j = (e) => {
307
+ var t = Ae(), r = h(t, !0);
308
+ w(t), u(() => s(r, o.prefix)), n(e, t);
309
+ };
310
+ y(A, (e) => {
311
+ o.prefix && e(j);
312
+ });
313
+ var M = S(A, 2), F = h(M);
314
+ v(F, () => o.children), w(M);
315
+ var I = S(M, 2), L = (e) => {
316
+ var t = je(), r = h(t, !0);
317
+ w(t), u(() => s(r, o.suffix)), n(e, t);
318
+ };
319
+ y(I, (e) => {
320
+ o.suffix && e(L);
321
+ });
322
+ var R = S(I, 2), z = (e) => {
323
+ var t = Me(), r = h(t);
324
+ v(r, () => o.trailing), w(t), n(e, t);
325
+ };
326
+ y(R, (e) => {
327
+ o.trailing && e(z);
328
+ });
329
+ var B = S(R, 2), V = (e) => {
330
+ var c = a(), l = te(c);
331
+ t(l, 17, () => o.actions, (e) => e.label, (e, t) => {
332
+ var o = Pe(), c = h(o), l = (e) => {
333
+ var i = a(), o = te(i);
334
+ v(o, () => r(t).icon), n(e, i);
335
+ }, d = (e) => {
336
+ var i = Ne(), a = h(i, !0);
337
+ w(i), u(() => s(a, r(t).label)), n(e, i);
338
+ };
339
+ y(c, (e) => {
340
+ r(t).icon ? e(l) : e(d, -1);
341
+ }), w(o), u(() => {
342
+ m(o, "aria-label", r(t).label), m(o, "title", r(t).label), o.disabled = b() || r(t).disabled;
343
+ }), i("click", o, () => r(t).onClick()), n(e, o);
344
+ }), n(e, c);
345
+ };
346
+ y(B, (e) => {
347
+ o.actions?.length && e(V);
348
+ });
349
+ var H = S(B, 2), U = (e) => {
350
+ var t = Fe();
351
+ u(() => m(t, "aria-label", E())), i("click", t, () => o.onclear?.()), n(e, t);
352
+ };
353
+ y(H, (e) => {
354
+ C() && T() && !b() && !ee() && e(U);
355
+ }), w(f), u(() => {
356
+ p = ie(f, 1, `sv-field__control sv-field--${_() ?? ""}`, "svelte-1uhr4tm", p, {
357
+ "is-invalid": g(),
358
+ "is-disabled": b(),
359
+ "is-readonly": ee(),
360
+ "is-filled": ne()
361
+ }), x = d(f, "", x, { width: l() ? void 0 : r(N) });
362
+ }), n(e, f);
363
+ }, H = (e) => {
364
+ var t = a(), r = te(t);
365
+ v(r, () => o.children), n(e, t);
366
+ };
367
+ y(B, (e) => {
368
+ p() ? e(V) : e(H, -1);
369
+ });
370
+ var U = S(B, 2), ae = (e) => {
371
+ var t = Le(), r = h(t, !0);
372
+ w(t), u((e) => {
373
+ m(t, "id", e), s(r, o.error);
374
+ }, [() => j(o.id)]), n(e, t);
375
+ }, W = (e) => {
376
+ var t = Re(), r = h(t, !0);
377
+ w(t), u((e) => {
378
+ m(t, "id", e), s(r, o.hint);
379
+ }, [() => M(o.id)]), n(e, t);
380
+ };
381
+ y(U, (e) => {
382
+ o.error ? e(ae) : o.hint && e(W, 1);
383
+ }), w(I), u(() => {
384
+ L = ie(I, 1, "sv-field svelte-1uhr4tm", null, L, {
385
+ "sv-field--block": l(),
386
+ "sv-field--floating": r(P)
387
+ }), m(I, "dir", r(F)), I.dir = I.dir;
388
+ }), n(e, I), x();
389
+ }
390
+ c(["click"]);
391
+ //#endregion
392
+ //#region src/datetime/date-selection.ts
393
+ var He = () => ({
394
+ dates: [],
395
+ anchor: null,
396
+ rangeStart: null
397
+ });
398
+ function Ue(e, t) {
399
+ return e.some((e) => U(e, t));
400
+ }
401
+ function We(e, t) {
402
+ let n = W(e, t) <= 0 ? R(e) : R(t), r = W(e, t) <= 0 ? R(t) : R(e), i = [], a = n;
403
+ for (; W(a, r) <= 0;) i.push(a), a = G(a, 1);
404
+ return i;
405
+ }
406
+ function Ge(e) {
407
+ let t = [];
408
+ for (let n of e) t.some((e) => U(e, n)) || t.push(R(n));
409
+ return t.sort((e, t) => e.getTime() - t.getTime()), t;
410
+ }
411
+ function Ke(e, t) {
412
+ return Ue(e, t) ? e.filter((e) => !U(e, t)) : [...e, R(t)];
413
+ }
414
+ function qe(e, t, n, r = {}, i = 0) {
415
+ let a = R(t), o = () => ({
416
+ dates: [a],
417
+ anchor: a,
418
+ rangeStart: null
419
+ });
420
+ switch (n) {
421
+ case "none": return { ...e };
422
+ case "default":
423
+ case "one": return o();
424
+ case "zeroOrOne": return Ue(e.dates, a) && e.dates.length === 1 ? He() : o();
425
+ case "many":
426
+ case "zeroOrMany": return {
427
+ dates: Ge(Ke(e.dates, a)),
428
+ anchor: a,
429
+ rangeStart: null
430
+ };
431
+ case "oneOrMany": {
432
+ let t = Ke(e.dates, a);
433
+ return {
434
+ dates: Ge(t.length === 0 ? [a] : t),
435
+ anchor: a,
436
+ rangeStart: null
437
+ };
438
+ }
439
+ case "oneExtended": return r.shift && e.anchor ? {
440
+ dates: We(e.anchor, a),
441
+ anchor: e.anchor,
442
+ rangeStart: null
443
+ } : r.ctrl ? {
444
+ dates: Ge(Ke(e.dates, a)),
445
+ anchor: a,
446
+ rangeStart: null
447
+ } : o();
448
+ case "week": {
449
+ let e = H(a, i);
450
+ return {
451
+ dates: Array.from({ length: 7 }, (t, n) => G(e, n)),
452
+ anchor: e,
453
+ rangeStart: null
454
+ };
455
+ }
456
+ case "range": return e.rangeStart ? {
457
+ dates: We(e.rangeStart, a),
458
+ anchor: e.rangeStart,
459
+ rangeStart: null
460
+ } : {
461
+ dates: [a],
462
+ anchor: a,
463
+ rangeStart: a
464
+ };
465
+ default: return o();
466
+ }
467
+ }
468
+ function Je(e) {
469
+ return e === "many" || e === "zeroOrMany" || e === "oneOrMany" || e === "oneExtended" || e === "week" || e === "range";
470
+ }
471
+ //#endregion
472
+ //#region src/datetime/date-restrict.ts
473
+ function Ye(e) {
474
+ if (!e) return [];
475
+ let t = [];
476
+ for (let n of e) {
477
+ let e = L(n);
478
+ e && t.push(e);
479
+ }
480
+ return t;
481
+ }
482
+ function Xe(e, t, n) {
483
+ let r = L(t ?? null), i = L(n ?? null);
484
+ return !!(r && W(e, r) < 0 || i && W(e, i) > 0);
485
+ }
486
+ function Ze(e, t) {
487
+ return t ? typeof t == "function" ? t(e) : Ye(t).some((t) => U(t, e)) : !1;
488
+ }
489
+ function Qe(e, t) {
490
+ return Xe(e, t.min, t.max) || Ze(e, t.restrictedDates);
491
+ }
492
+ function $e(e, t) {
493
+ return t ? typeof t == "function" ? t(e) : Ye(t).some((t) => U(t, e)) : !1;
494
+ }
495
+ //#endregion
496
+ //#region src/createCalendar.svelte.ts
497
+ var et = () => typeof navigator < "u" ? navigator.language : "en-US";
498
+ function tt(e) {
499
+ if (e == null) return [];
500
+ let t = Array.isArray(e) ? e : [e], n = [];
501
+ for (let e of t) {
502
+ let t = L(e);
503
+ t && n.push(R(t));
504
+ }
505
+ return n;
506
+ }
507
+ function nt(e) {
508
+ let t = () => e.selectionMode?.() ?? "one", n = () => e.firstDayOfWeek?.() ?? 0, i = () => e.weeks?.() ?? 6, a = () => Math.max(1, e.months?.() ?? 1), o = () => e.displayMode?.() ?? "month", s = () => e.disabled?.() ?? !1, c = () => e.readonly?.() ?? !1, u = () => e.locale?.() ?? et(), d = () => e.dayNameFormat?.() ?? "short", p = () => e.monthNameFormat?.() ?? "long", m = f(E(He())), h = f(E(R(/* @__PURE__ */ new Date()))), g = f("month"), v = f(E(R(/* @__PURE__ */ new Date()))), y = f(null), b = "fade", x = f(0), ee = O(() => ({
509
+ min: e.min?.() ?? null,
510
+ max: e.max?.() ?? null,
511
+ restrictedDates: e.restrictedDates?.() ?? null
512
+ })), S = O(() => !s() && !c()), w = "￿", T = !1;
513
+ l(() => {
514
+ let t = tt(e.value()), n = t.map((e) => e.getTime()).join(",");
515
+ if (n !== w && (w = n, _(m, {
516
+ dates: t,
517
+ anchor: t[t.length - 1] ?? null,
518
+ rangeStart: null
519
+ }, !0), !T)) {
520
+ T = !0;
521
+ let e = t[0] ?? R(/* @__PURE__ */ new Date());
522
+ _(h, R(e), !0), _(v, R(e), !0), _(g, o(), !0);
523
+ }
524
+ });
525
+ let D = O(() => new Intl.DateTimeFormat(u(), { weekday: d() })), k = O(() => new Intl.DateTimeFormat(u(), {
526
+ month: p(),
527
+ year: "numeric"
528
+ })), te = O(() => new Intl.DateTimeFormat(u(), { month: "short" })), ne = O(() => new Intl.DateTimeFormat(u(), {
529
+ weekday: "long",
530
+ year: "numeric",
531
+ month: "long",
532
+ day: "numeric"
533
+ })), re = O(() => le(n()).map((e) => {
534
+ let t = new Date(2021, 7, 1 + e);
535
+ return {
536
+ label: r(D).format(t),
537
+ weekday: e
538
+ };
539
+ })), ie = O(() => Array.from({ length: a() }, (e, t) => {
540
+ let a = K(r(h), t);
541
+ return {
542
+ month: a,
543
+ title: r(k).format(a),
544
+ matrix: ce(a, n(), i())
545
+ };
546
+ })), A = O(() => {
547
+ if (t() !== "range") return null;
548
+ let e = r(m).rangeStart;
549
+ return !e || !r(y) ? null : We(e, r(y));
550
+ }), j = (e) => !!r(A) && r(A).some((t) => U(t, e));
551
+ function M(t, n) {
552
+ return {
553
+ disabled: Qe(t, r(ee)),
554
+ selected: Ue(r(m).dates, t),
555
+ important: $e(t, e.importantDates?.() ?? null),
556
+ today: U(t, /* @__PURE__ */ new Date()),
557
+ outside: !ae(t, n),
558
+ focused: U(t, r(v)),
559
+ preview: j(t),
560
+ recurring: ge(t, e.recurrence?.() ?? null)
561
+ };
562
+ }
563
+ let N = O(() => r(g) === "month" ? r(k).format(r(h)) : r(g) === "year" ? String(r(h).getFullYear()) : (() => {
564
+ let { start: e, end: t } = se(r(h).getFullYear());
565
+ return `${e} - ${t}`;
566
+ })()), P = O(() => Array.from({ length: 12 }, (e, t) => ({
567
+ index: t,
568
+ label: r(te).format(new Date(r(h).getFullYear(), t, 1)),
569
+ current: t === (/* @__PURE__ */ new Date()).getMonth() && r(h).getFullYear() === (/* @__PURE__ */ new Date()).getFullYear(),
570
+ selected: r(m).dates.some((e) => e.getMonth() === t && e.getFullYear() === r(h).getFullYear())
571
+ }))), F = O(() => {
572
+ let { start: e } = se(r(h).getFullYear());
573
+ return Array.from({ length: 12 }, (t, n) => {
574
+ let i = e - 1 + n;
575
+ return {
576
+ year: i,
577
+ outside: n === 0 || n === 11,
578
+ current: i === (/* @__PURE__ */ new Date()).getFullYear(),
579
+ selected: r(m).dates.some((e) => e.getFullYear() === i)
580
+ };
581
+ });
582
+ }), I = O(() => t() === "zeroOrOne" || t() === "zeroOrMany" || t() === "none");
583
+ function z(t) {
584
+ _(m, t, !0), w = t.dates.map((e) => e.getTime()).join(","), e.onChange?.(t.dates.map((e) => new Date(e.getTime())));
585
+ }
586
+ function B(e, i) {
587
+ !r(S) || Qe(e, r(ee)) || (_(v, R(e), !0), z(qe(r(m), e, t(), {
588
+ ctrl: i?.ctrlKey || i?.metaKey,
589
+ shift: i?.shiftKey
590
+ }, n())));
591
+ }
592
+ function V(t, n = r(g)) {
593
+ _(h, R(t), !0), _(g, n, !0), C(x), e.onNavigate?.(r(h), r(g));
594
+ }
595
+ function H() {
596
+ b = "drillUp", r(g) === "month" ? V(r(h), "year") : r(g) === "year" && V(r(h), "decade");
597
+ }
598
+ function W(e) {
599
+ b = e === 1 ? "next" : "prev", r(g) === "month" ? V(K(r(h), e)) : r(g) === "year" ? V(q(r(h), e)) : V(q(r(h), e * 10));
600
+ }
601
+ function oe(e) {
602
+ b = "drillDown", V(new Date(r(h).getFullYear(), e, 1), "month"), _(v, new Date(r(h).getFullYear(), e, Math.min(r(v).getDate(), 28)), !0);
603
+ }
604
+ function J(e) {
605
+ b = "drillDown", V(new Date(e, r(h).getMonth(), 1), "year");
606
+ }
607
+ function ue() {
608
+ b = "fade";
609
+ let e = /* @__PURE__ */ new Date();
610
+ V(e, "month"), _(v, R(e), !0), r(S) && B(e);
611
+ }
612
+ let de = (e) => new Date(e.getFullYear(), e.getMonth(), 1);
613
+ function fe(e) {
614
+ if (!r(S)) return;
615
+ let t = typeof e.value == "function" ? e.value() : e.value, n = Array.isArray(t), i = n ? t : [t, t], a = L(i[0]), o = L(i[1]);
616
+ a && (_(v, R(a), !0), b = "fade", _(h, de(a), !0), C(x), z(n && o ? {
617
+ dates: We(a, o),
618
+ anchor: R(o),
619
+ rangeStart: null
620
+ } : {
621
+ dates: [R(a)],
622
+ anchor: R(a),
623
+ rangeStart: null
624
+ }));
625
+ }
626
+ function pe() {
627
+ r(S) && z(He());
628
+ }
629
+ let Y = (e) => _(y, e, !0);
630
+ function X(e) {
631
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), r(g) === "year" ? oe(r(v).getMonth()) : J(r(v).getFullYear()));
632
+ }
633
+ function me(e) {
634
+ if (r(g) !== "month") return X(e);
635
+ let t = null;
636
+ switch (e.key) {
637
+ case "ArrowLeft":
638
+ t = G(r(v), -1);
639
+ break;
640
+ case "ArrowRight":
641
+ t = G(r(v), 1);
642
+ break;
643
+ case "ArrowUp":
644
+ t = G(r(v), -7);
645
+ break;
646
+ case "ArrowDown":
647
+ t = G(r(v), 7);
648
+ break;
649
+ case "Home":
650
+ t = G(r(v), -((r(v).getDay() - n() + 7) % 7));
651
+ break;
652
+ case "End":
653
+ t = G(r(v), 6 - (r(v).getDay() - n() + 7) % 7);
654
+ break;
655
+ case "PageUp":
656
+ t = e.shiftKey ? q(r(v), -1) : K(r(v), -1);
657
+ break;
658
+ case "PageDown":
659
+ t = e.shiftKey ? q(r(v), 1) : K(r(v), 1);
660
+ break;
661
+ case "Enter":
662
+ case " ":
663
+ e.preventDefault(), B(r(v), e);
664
+ return;
665
+ default: return;
666
+ }
667
+ t && (e.preventDefault(), _(v, R(t), !0), ae(r(v), r(h)) || V(r(v), "month"));
668
+ }
669
+ return {
670
+ get view() {
671
+ return r(h);
672
+ },
673
+ get mode() {
674
+ return r(g);
675
+ },
676
+ get title() {
677
+ return r(N);
678
+ },
679
+ get panels() {
680
+ return r(ie);
681
+ },
682
+ get weekdayHeaders() {
683
+ return r(re);
684
+ },
685
+ get yearCells() {
686
+ return r(P);
687
+ },
688
+ get decadeCells() {
689
+ return r(F);
690
+ },
691
+ get selectedDates() {
692
+ return r(m).dates;
693
+ },
694
+ get previewRange() {
695
+ return r(A);
696
+ },
697
+ get focusDate() {
698
+ return r(v);
699
+ },
700
+ get hoverDate() {
701
+ return r(y);
702
+ },
703
+ get canClear() {
704
+ return r(I);
705
+ },
706
+ get isInteractive() {
707
+ return r(S);
708
+ },
709
+ get navToken() {
710
+ return r(x);
711
+ },
712
+ get navDir() {
713
+ return b;
714
+ },
715
+ dayState: M,
716
+ inPreview: j,
717
+ formatFullDate: (e) => r(ne).format(e),
718
+ formatMonthTitle: (e) => r(k).format(e),
719
+ pickDay: B,
720
+ step: W,
721
+ drillUp: H,
722
+ pickMonth: oe,
723
+ pickYear: J,
724
+ goToday: ue,
725
+ applyPreset: fe,
726
+ clearSelection: pe,
727
+ setHover: Y,
728
+ onKeydown: me,
729
+ navProps(e) {
730
+ return {
731
+ type: "button",
732
+ disabled: s(),
733
+ "aria-label": e === 1 ? "Next" : "Previous",
734
+ onclick: () => W(e)
735
+ };
736
+ },
737
+ titleProps() {
738
+ return {
739
+ type: "button",
740
+ disabled: s() || r(g) === "decade",
741
+ "aria-live": "polite",
742
+ onclick: H
743
+ };
744
+ },
745
+ gridProps() {
746
+ return {
747
+ role: "grid",
748
+ "aria-label": r(N),
749
+ tabindex: -1,
750
+ onkeydown: me
751
+ };
752
+ },
753
+ dayProps(t, n) {
754
+ let i = M(t.date, n);
755
+ return {
756
+ type: "button",
757
+ role: "gridcell",
758
+ "aria-selected": i.selected,
759
+ "aria-disabled": i.disabled,
760
+ "aria-current": i.today ? "date" : void 0,
761
+ "aria-label": r(ne).format(t.date),
762
+ title: e.dateTooltip?.()?.(t.date) ?? void 0,
763
+ tabindex: i.focused ? 0 : -1,
764
+ disabled: i.disabled || s(),
765
+ onclick: (e) => B(t.date, e),
766
+ onpointerenter: () => Y(t.date),
767
+ onpointerleave: () => Y(null)
768
+ };
769
+ },
770
+ monthCellProps(e) {
771
+ return {
772
+ type: "button",
773
+ disabled: s(),
774
+ onclick: () => oe(e)
775
+ };
776
+ },
777
+ yearCellProps(e) {
778
+ return {
779
+ type: "button",
780
+ disabled: s(),
781
+ onclick: () => J(e)
782
+ };
783
+ },
784
+ presetProps(e) {
785
+ return {
786
+ type: "button",
787
+ disabled: !r(S),
788
+ onclick: () => fe(e)
789
+ };
790
+ }
791
+ };
792
+ }
793
+ //#endregion
794
+ //#region src/SvCalendar.svelte
795
+ var rt = o("<button> </button>"), it = o("<div class=\"sv-cal__presets svelte-md3oew\" role=\"group\"></div>"), at = o("<div class=\"sv-cal__panel-title svelte-md3oew\"> </div>"), ot = o("<span class=\"sv-cal__wk-head svelte-md3oew\" aria-hidden=\"true\">#</span>"), st = o("<span class=\"sv-cal__weekday svelte-md3oew\" role=\"columnheader\"> </span>"), ct = o("<div class=\"sv-cal__weekdays svelte-md3oew\" role=\"row\"><!> <!></div>"), lt = o("<span class=\"sv-cal__wk svelte-md3oew\" aria-hidden=\"true\"> </span>"), ut = o("<span class=\"sv-cal__day sv-cal__day--empty svelte-md3oew\" role=\"gridcell\" aria-hidden=\"true\"></span>"), dt = o("<span class=\"sv-cal__daybody svelte-md3oew\"><!></span>"), ft = o("<button><span class=\"sv-cal__daynum svelte-md3oew\"> </span><!></button>"), pt = o("<div class=\"sv-cal__week svelte-md3oew\" role=\"row\"><!> <!></div>"), mt = o("<div class=\"sv-cal__panel\"><!> <!> <!></div>"), ht = o("<div></div>"), gt = o("<button> </button>"), _t = o("<div></div>"), vt = o("<button> </button>"), yt = o("<div></div>"), bt = o("<button type=\"button\" class=\"sv-cal__foot-btn svelte-md3oew\"> </button>"), xt = o("<div class=\"sv-cal__footer svelte-md3oew\"><button type=\"button\" class=\"sv-cal__foot-btn svelte-md3oew\"> </button> <!></div>"), St = o("<input type=\"hidden\"/>"), Ct = o("<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>"), wt = {
796
+ hash: "svelte-md3oew",
797
+ 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);}"
798
+ };
799
+ function Tt(o, c) {
800
+ re(c, !0), A(o, wt);
801
+ let d = (o) => {
802
+ var l = Ct();
803
+ let d;
804
+ var f = h(l), x = (i) => {
805
+ var a = it();
806
+ t(a, 21, () => c.presets, e, (e, t) => {
807
+ var i = rt();
808
+ b(i, (e) => ({
809
+ class: "sv-cal__preset",
810
+ ...e
811
+ }), [() => Z.presetProps(r(t))], void 0, void 0, "svelte-md3oew");
812
+ var a = h(i, !0);
813
+ w(i), u(() => s(a, r(t).label)), n(e, i);
814
+ }), w(a), u(() => m(a, "aria-label", r(X).shortcuts)), n(i, a);
815
+ };
816
+ y(f, (e) => {
817
+ c.presets && c.presets.length && e(x);
818
+ });
819
+ var C = S(f, 2), T = h(C), E = h(T);
820
+ b(E, (e) => ({
821
+ class: "sv-cal__nav",
822
+ ...e
823
+ }), [() => Z.navProps(-1)], void 0, void 0, "svelte-md3oew");
824
+ var k = S(E, 2);
825
+ b(k, (e) => ({
826
+ class: "sv-cal__title",
827
+ ...e
828
+ }), [() => Z.titleProps()], void 0, void 0, "svelte-md3oew");
829
+ var re = h(k, !0);
830
+ w(k);
831
+ var A = S(k, 2);
832
+ b(A, (e) => ({
833
+ class: "sv-cal__nav",
834
+ ...e
835
+ }), [() => Z.navProps(1)], void 0, void 0, "svelte-md3oew"), w(T);
836
+ var M = S(T, 2), N = h(M), P = (i) => {
837
+ var o = ht();
838
+ b(o, (e) => ({
839
+ class: "sv-cal__panels",
840
+ ...e
841
+ }), [() => Z.gridProps()], void 0, void 0, "svelte-md3oew"), t(o, 21, () => Z.panels, (e) => e.month.getTime(), (i, o) => {
842
+ var l = mt(), d = h(l), f = (e) => {
843
+ var t = at(), i = h(t, !0);
844
+ w(t), u(() => s(i, r(o).title)), n(e, t);
845
+ };
846
+ y(d, (e) => {
847
+ V() > 1 && e(f);
848
+ });
849
+ var p = S(d, 2), m = (e) => {
850
+ var i = ct(), a = h(i), o = (e) => {
851
+ var t = ot();
852
+ n(e, t);
853
+ };
854
+ y(a, (e) => {
855
+ B() && e(o);
856
+ });
857
+ var c = S(a, 2);
858
+ t(c, 17, () => Z.weekdayHeaders, (e) => e.weekday, (e, t) => {
859
+ var i = st(), a = h(i, !0);
860
+ w(i), u(() => s(a, r(t).label)), n(e, i);
861
+ }), w(i), n(e, i);
862
+ };
863
+ y(p, (e) => {
864
+ H() || e(m);
865
+ });
866
+ var g = S(p, 2);
867
+ t(g, 17, () => r(o).matrix, e, (e, i) => {
868
+ var l = pt(), d = h(l), f = (e) => {
869
+ var t = lt(), a = h(t, !0);
870
+ w(t), u(() => s(a, r(i)[0]?.week)), n(e, t);
871
+ };
872
+ y(d, (e) => {
873
+ B() && e(f);
874
+ });
875
+ var p = S(d, 2);
876
+ t(p, 17, () => r(i), (e) => e.date.getTime(), (e, t) => {
877
+ let i = O(() => Z.dayState(r(t).date, r(o).month));
878
+ var l = a(), d = te(l), f = (e) => {
879
+ var t = ut();
880
+ n(e, t);
881
+ }, p = (e) => {
882
+ var a = ft();
883
+ b(a, (e) => ({
884
+ class: "sv-cal__day",
885
+ ...e,
886
+ [D]: {
887
+ "is-selected": r(i).selected,
888
+ "is-today": r(i).today,
889
+ "is-outside": r(i).outside,
890
+ "is-important": r(i).important,
891
+ "is-preview": r(i).preview,
892
+ "is-focused": r(i).focused,
893
+ "is-recurring": r(i).recurring
894
+ }
895
+ }), [() => Z.dayProps(r(t), r(o).month)], void 0, void 0, "svelte-md3oew");
896
+ var l = h(a), d = h(l, !0);
897
+ w(l);
898
+ var f = S(l), p = (e) => {
899
+ var a = dt(), o = h(a);
900
+ v(o, () => c.day, () => r(t).date, () => r(i)), w(a), n(e, a);
901
+ };
902
+ y(f, (e) => {
903
+ c.day && e(p);
904
+ }), w(a), u((e) => s(d, e), [() => r(t).date.getDate()]), n(e, a);
905
+ };
906
+ y(d, (e) => {
907
+ r(i).outside && r(he) ? e(f) : e(p, -1);
908
+ }), n(e, l);
909
+ }), w(l), n(e, l);
910
+ }), w(l), n(i, l);
911
+ }), w(o), n(i, o);
912
+ }, F = (e) => {
913
+ var i = _t();
914
+ b(i, (e) => ({
915
+ class: "sv-cal__grid-mode",
916
+ ...e
917
+ }), [() => Z.gridProps()], void 0, void 0, "svelte-md3oew"), t(i, 21, () => Z.yearCells, (e) => e.index, (e, t) => {
918
+ var i = gt();
919
+ b(i, (e) => ({
920
+ class: "sv-cal__cell",
921
+ ...e,
922
+ [D]: {
923
+ "is-today": r(t).current,
924
+ "is-selected": r(t).selected
925
+ }
926
+ }), [() => Z.monthCellProps(r(t).index)], void 0, void 0, "svelte-md3oew");
927
+ var a = h(i, !0);
928
+ w(i), u(() => s(a, r(t).label)), n(e, i);
929
+ }), w(i), n(e, i);
930
+ }, I = (e) => {
931
+ var i = yt();
932
+ b(i, (e) => ({
933
+ class: "sv-cal__grid-mode",
934
+ ...e
935
+ }), [() => Z.gridProps()], void 0, void 0, "svelte-md3oew"), t(i, 21, () => Z.decadeCells, (e) => e.year, (e, t) => {
936
+ var i = vt();
937
+ b(i, (e) => ({
938
+ class: "sv-cal__cell",
939
+ ...e,
940
+ [D]: {
941
+ "is-outside": r(t).outside,
942
+ "is-today": r(t).current,
943
+ "is-selected": r(t).selected
944
+ }
945
+ }), [() => Z.yearCellProps(r(t).year)], void 0, void 0, "svelte-md3oew");
946
+ var a = h(i, !0);
947
+ w(i), u(() => s(a, r(t).year)), n(e, i);
948
+ }), w(i), n(e, i);
949
+ };
950
+ y(N, (e) => {
951
+ Z.mode === "month" ? e(P) : Z.mode === "year" ? e(F, 1) : e(I, -1);
952
+ }), w(M), g(M, (e) => _(Q, e), () => r(Q));
953
+ var L = S(M, 2), R = (e) => {
954
+ var t = xt(), a = h(t), o = h(a, !0);
955
+ w(a);
956
+ var c = S(a, 2), l = (e) => {
957
+ var t = bt(), a = h(t, !0);
958
+ w(t), u(() => {
959
+ t.disabled = K(), s(a, r(X).clear);
960
+ }), i("click", t, function(...e) {
961
+ Z.clearSelection?.apply(this, e);
962
+ }), n(e, t);
963
+ };
964
+ y(c, (e) => {
965
+ Z.canClear && e(l);
966
+ }), w(t), u(() => {
967
+ a.disabled = K(), s(o, r(X).today);
968
+ }), i("click", a, function(...e) {
969
+ Z.goToday?.apply(this, e);
970
+ }), n(e, t);
971
+ };
972
+ y(L, (e) => {
973
+ G() && e(R);
974
+ }), w(C), p(C, (e) => ye?.(e));
975
+ var z = S(C, 2), U = (e) => {
976
+ var t = St();
977
+ ne(t), u((e) => {
978
+ m(t, "name", c.name), ee(t, e);
979
+ }, [() => Z.selectedDates.map((e) => e.toISOString()).join(",")]), n(e, t);
980
+ };
981
+ y(z, (e) => {
982
+ c.name && e(U);
983
+ }), w(l), u(() => {
984
+ d = ie(l, 1, "sv-cal svelte-md3oew", null, d, {
985
+ "sv-cal--disabled": K(),
986
+ "sv-cal--invalid": de(),
987
+ "sv-cal--with-presets": c.presets && c.presets.length,
988
+ "sv-cal--band": j() === "range" || j() === "week",
989
+ "sv-cal--rich": !!c.day
990
+ }), m(l, "id", r(pe)), m(l, "aria-label", c.label ?? r(X).label), m(l, "aria-disabled", K()), m(l, "dir", r(me)), s(re, Z.title), l.dir = l.dir;
991
+ }), n(o, l);
992
+ }, C = {
993
+ label: "Calendar",
994
+ shortcuts: "Shortcuts",
995
+ today: "Today",
996
+ clear: "Clear",
997
+ prev: "Previous",
998
+ next: "Next"
999
+ }, E = k(c, "value", 3, null), j = k(c, "selectionMode", 3, "one"), M = k(c, "min", 3, null), N = k(c, "max", 3, null), F = k(c, "restrictedDates", 3, null), L = k(c, "importantDates", 3, null), R = k(c, "firstDayOfWeek", 3, 0), z = k(c, "weeks", 3, 6), B = k(c, "weekNumbers", 3, !1), V = k(c, "months", 3, 1), H = k(c, "hideDayNames", 3, !1), U = k(c, "hideOtherMonthDays", 3, !1), ae = k(c, "dayNameFormat", 3, "short"), W = k(c, "monthNameFormat", 3, "long"), G = k(c, "footer", 3, !1), K = k(c, "disabled", 3, !1), q = k(c, "readonly", 3, !1), oe = k(c, "locale", 19, () => typeof navigator < "u" ? navigator.language : "en-US"), J = k(c, "displayMode", 3, "month"), se = k(c, "animate", 3, !1), ce = k(c, "wheelNavigation", 3, !1), le = k(c, "recurrence", 3, null), ue = k(c, "required", 3, !1), de = k(c, "invalid", 3, !1), fe = P("sv-cal"), pe = O(() => c.id ?? fe), Y = O(() => !!(c.label || c.hint || c.error)), X = O(() => I(C, c.messages)), me = O(() => c.dir === "ltr" || c.dir === "rtl" ? c.dir : void 0), he = O(() => U() || V() > 1), Z = nt({
1000
+ value: () => E(),
1001
+ onChange: (e) => c.onChange?.(e),
1002
+ onNavigate: (e, t) => c.onNavigate?.(e, t),
1003
+ selectionMode: () => j(),
1004
+ min: () => M(),
1005
+ max: () => N(),
1006
+ restrictedDates: () => F(),
1007
+ importantDates: () => L(),
1008
+ firstDayOfWeek: () => R(),
1009
+ weeks: () => z(),
1010
+ months: () => V(),
1011
+ displayMode: () => J(),
1012
+ disabled: () => K(),
1013
+ readonly: () => q(),
1014
+ locale: () => oe(),
1015
+ dayNameFormat: () => ae(),
1016
+ monthNameFormat: () => W(),
1017
+ dateTooltip: () => c.dateTooltip,
1018
+ recurrence: () => le()
1019
+ }), ge = O(() => se() === !0 ? "slide" : se() || "none"), Q = f(void 0), _e = !1;
1020
+ function ve() {
1021
+ if (r(ge) === "none" || !r(Q) || typeof r(Q).animate != "function") return;
1022
+ let e = r(ge) === "slide", t = Z.navDir, n = e ? t === "next" ? {
1023
+ transform: "translateX(34px)",
1024
+ opacity: 0
1025
+ } : t === "prev" ? {
1026
+ transform: "translateX(-34px)",
1027
+ opacity: 0
1028
+ } : t === "drillDown" ? {
1029
+ transform: "scale(0.85)",
1030
+ opacity: 0
1031
+ } : t === "drillUp" ? {
1032
+ transform: "scale(1.14)",
1033
+ opacity: 0
1034
+ } : { opacity: 0 } : {
1035
+ opacity: 0,
1036
+ transform: "scale(0.98)"
1037
+ };
1038
+ r(Q).animate([n, {
1039
+ transform: "none",
1040
+ opacity: 1
1041
+ }], {
1042
+ duration: e && (t === "next" || t === "prev") ? 300 : 220,
1043
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)"
1044
+ });
1045
+ }
1046
+ l(() => {
1047
+ if (Z.navToken, !_e) {
1048
+ _e = !0;
1049
+ return;
1050
+ }
1051
+ T(ve);
1052
+ });
1053
+ function ye(e) {
1054
+ let t = (e) => {
1055
+ !ce() || K() || (e.preventDefault(), Z.step(e.deltaY > 0 || e.deltaX > 0 ? 1 : -1));
1056
+ };
1057
+ return e.addEventListener("wheel", t, { passive: !1 }), { destroy: () => e.removeEventListener("wheel", t) };
1058
+ }
1059
+ var be = a(), xe = te(be), Se = (e) => {
1060
+ Ve(e, {
1061
+ get id() {
1062
+ return r(pe);
1063
+ },
1064
+ get label() {
1065
+ return c.label;
1066
+ },
1067
+ get hint() {
1068
+ return c.hint;
1069
+ },
1070
+ get error() {
1071
+ return c.error;
1072
+ },
1073
+ get required() {
1074
+ return ue();
1075
+ },
1076
+ get dir() {
1077
+ return c.dir;
1078
+ },
1079
+ children: (e, t) => {
1080
+ d(e);
1081
+ },
1082
+ $$slots: { default: !0 }
1083
+ });
1084
+ }, Ce = (e) => {
1085
+ d(e);
1086
+ };
1087
+ y(xe, (e) => {
1088
+ r(Y) ? e(Se) : e(Ce, -1);
1089
+ }), n(o, be), x();
1090
+ }
1091
+ c(["click"]);
1092
+ //#endregion
1093
+ //#region src/datetime/date-format.ts
1094
+ var Et = [
1095
+ "dddd",
1096
+ "ddd",
1097
+ "dd",
1098
+ "d",
1099
+ "MMMM",
1100
+ "MMM",
1101
+ "MM",
1102
+ "M",
1103
+ "yyyy",
1104
+ "yy",
1105
+ "HH",
1106
+ "H",
1107
+ "hh",
1108
+ "h",
1109
+ "mm",
1110
+ "m",
1111
+ "ss",
1112
+ "s",
1113
+ "fff",
1114
+ "ff",
1115
+ "f",
1116
+ "tt",
1117
+ "t"
1118
+ ];
1119
+ function Dt(e) {
1120
+ let t = [], n = 0;
1121
+ for (; n < e.length;) {
1122
+ let r = e[n];
1123
+ if (r === "\\" && n + 1 < e.length) {
1124
+ t.push({ literal: e[n + 1] }), n += 2;
1125
+ continue;
1126
+ }
1127
+ if (r === "'") {
1128
+ let r = n + 1, i = "";
1129
+ for (; r < e.length && e[r] !== "'";) i += e[r], r++;
1130
+ t.push({ literal: i }), n = r + 1;
1131
+ continue;
1132
+ }
1133
+ let i = null;
1134
+ for (let t of Et) if (e.startsWith(t, n)) {
1135
+ i = t;
1136
+ break;
1137
+ }
1138
+ i ? (t.push({ token: i }), n += i.length) : (t.push({ literal: r }), n += 1);
1139
+ }
1140
+ return t;
1141
+ }
1142
+ var $ = (e, t) => String(Math.abs(e)).padStart(t, "0"), Ot = /* @__PURE__ */ new Map(), kt = /* @__PURE__ */ new Map(), At = /* @__PURE__ */ new Map();
1143
+ function jt(e) {
1144
+ let t = Ot.get(e);
1145
+ if (!t) {
1146
+ let n = new Intl.DateTimeFormat(e, { month: "long" }), r = new Intl.DateTimeFormat(e, { month: "short" });
1147
+ t = {
1148
+ long: Array.from({ length: 12 }, (e, t) => n.format(new Date(2021, t, 1))),
1149
+ short: Array.from({ length: 12 }, (e, t) => r.format(new Date(2021, t, 1)))
1150
+ }, Ot.set(e, t);
1151
+ }
1152
+ return t;
1153
+ }
1154
+ function Mt(e) {
1155
+ let t = kt.get(e);
1156
+ if (!t) {
1157
+ let n = new Intl.DateTimeFormat(e, { weekday: "long" }), r = new Intl.DateTimeFormat(e, { weekday: "short" });
1158
+ t = {
1159
+ long: Array.from({ length: 7 }, (e, t) => n.format(new Date(2021, 7, 1 + t))),
1160
+ short: Array.from({ length: 7 }, (e, t) => r.format(new Date(2021, 7, 1 + t)))
1161
+ }, kt.set(e, t);
1162
+ }
1163
+ return t;
1164
+ }
1165
+ function Nt(e) {
1166
+ let t = At.get(e);
1167
+ if (!t) {
1168
+ let n = new Intl.DateTimeFormat(e, {
1169
+ hour: "numeric",
1170
+ hour12: !0
1171
+ });
1172
+ t = {
1173
+ am: n.formatToParts(new Date(2021, 0, 1, 9)).find((e) => e.type === "dayPeriod")?.value ?? "AM",
1174
+ pm: n.formatToParts(new Date(2021, 0, 1, 21)).find((e) => e.type === "dayPeriod")?.value ?? "PM"
1175
+ }, At.set(e, t);
1176
+ }
1177
+ return t;
1178
+ }
1179
+ function Pt(e, t, n = "en-US") {
1180
+ let r = Dt(t), i = e.getHours(), a = i % 12 == 0 ? 12 : i % 12, o = e.getMilliseconds(), s = "";
1181
+ for (let t of r) {
1182
+ if ("literal" in t) {
1183
+ s += t.literal;
1184
+ continue;
1185
+ }
1186
+ switch (t.token) {
1187
+ case "d":
1188
+ s += String(e.getDate());
1189
+ break;
1190
+ case "dd":
1191
+ s += $(e.getDate(), 2);
1192
+ break;
1193
+ case "ddd":
1194
+ s += Mt(n).short[e.getDay()];
1195
+ break;
1196
+ case "dddd":
1197
+ s += Mt(n).long[e.getDay()];
1198
+ break;
1199
+ case "M":
1200
+ s += String(e.getMonth() + 1);
1201
+ break;
1202
+ case "MM":
1203
+ s += $(e.getMonth() + 1, 2);
1204
+ break;
1205
+ case "MMM":
1206
+ s += jt(n).short[e.getMonth()];
1207
+ break;
1208
+ case "MMMM":
1209
+ s += jt(n).long[e.getMonth()];
1210
+ break;
1211
+ case "yy":
1212
+ s += $(e.getFullYear() % 100, 2);
1213
+ break;
1214
+ case "yyyy":
1215
+ s += $(e.getFullYear(), 4);
1216
+ break;
1217
+ case "H":
1218
+ s += String(i);
1219
+ break;
1220
+ case "HH":
1221
+ s += $(i, 2);
1222
+ break;
1223
+ case "h":
1224
+ s += String(a);
1225
+ break;
1226
+ case "hh":
1227
+ s += $(a, 2);
1228
+ break;
1229
+ case "m":
1230
+ s += String(e.getMinutes());
1231
+ break;
1232
+ case "mm":
1233
+ s += $(e.getMinutes(), 2);
1234
+ break;
1235
+ case "s":
1236
+ s += String(e.getSeconds());
1237
+ break;
1238
+ case "ss":
1239
+ s += $(e.getSeconds(), 2);
1240
+ break;
1241
+ case "f":
1242
+ s += $(o, 3).slice(0, 1);
1243
+ break;
1244
+ case "ff":
1245
+ s += $(o, 3).slice(0, 2);
1246
+ break;
1247
+ case "fff":
1248
+ s += $(o, 3);
1249
+ break;
1250
+ case "t":
1251
+ s += (i < 12 ? Nt(n).am : Nt(n).pm).slice(0, 1);
1252
+ break;
1253
+ case "tt":
1254
+ s += i < 12 ? Nt(n).am : Nt(n).pm;
1255
+ break;
1256
+ default: s += t.token;
1257
+ }
1258
+ }
1259
+ return s;
1260
+ }
1261
+ var Ft = {
1262
+ d: 2,
1263
+ dd: 2,
1264
+ M: 2,
1265
+ MM: 2,
1266
+ yy: 2,
1267
+ yyyy: 4,
1268
+ H: 2,
1269
+ HH: 2,
1270
+ h: 2,
1271
+ hh: 2,
1272
+ m: 2,
1273
+ mm: 2,
1274
+ s: 2,
1275
+ ss: 2,
1276
+ f: 1,
1277
+ ff: 2,
1278
+ fff: 3
1279
+ };
1280
+ function It(e, t, n) {
1281
+ let r = 0;
1282
+ for (; r < n && t + r < e.length && e[t + r] >= "0" && e[t + r] <= "9";) r++;
1283
+ return r === 0 ? null : {
1284
+ value: parseInt(e.slice(t, t + r), 10),
1285
+ len: r
1286
+ };
1287
+ }
1288
+ function Lt(e, t, n) {
1289
+ let r = n.map((e, t) => ({
1290
+ name: e,
1291
+ index: t
1292
+ })).sort((e, t) => t.name.length - e.name.length), i = e.slice(t).toLowerCase();
1293
+ for (let { name: e, index: t } of r) if (e && i.startsWith(e.toLowerCase())) return {
1294
+ index: t,
1295
+ len: e.length
1296
+ };
1297
+ return null;
1298
+ }
1299
+ function Rt(e, t, n = "en-US", r = 2029, i) {
1300
+ let a = Dt(t), o = {}, s = 0, c = e;
1301
+ for (let e of a) {
1302
+ if ("literal" in e) {
1303
+ for (let t of e.literal) {
1304
+ if (t === " ") {
1305
+ for (; c[s] === " ";) s++;
1306
+ continue;
1307
+ }
1308
+ if (c[s] !== t) return null;
1309
+ s++;
1310
+ }
1311
+ continue;
1312
+ }
1313
+ let t = e.token;
1314
+ switch (t) {
1315
+ case "ddd":
1316
+ case "dddd": {
1317
+ let e = Lt(c, s, Mt(n)[t === "ddd" ? "short" : "long"]);
1318
+ if (!e) return null;
1319
+ s += e.len;
1320
+ break;
1321
+ }
1322
+ case "MMM":
1323
+ case "MMMM": {
1324
+ let e = Lt(c, s, jt(n)[t === "MMM" ? "short" : "long"]);
1325
+ if (!e) return null;
1326
+ o.month = e.index, s += e.len;
1327
+ break;
1328
+ }
1329
+ case "t":
1330
+ case "tt": {
1331
+ let e = Nt(n), t = c.slice(s).toLowerCase();
1332
+ if (t.startsWith(e.pm.toLowerCase())) o.isPm = !0, s += e.pm.length;
1333
+ else if (t.startsWith(e.am.toLowerCase())) o.isPm = !1, s += e.am.length;
1334
+ else if (t.startsWith(e.pm.slice(0, 1).toLowerCase())) o.isPm = !0, s += 1;
1335
+ else if (t.startsWith(e.am.slice(0, 1).toLowerCase())) o.isPm = !1, s += 1;
1336
+ else return null;
1337
+ break;
1338
+ }
1339
+ default: {
1340
+ let e = It(c, s, Ft[t] ?? 2);
1341
+ if (!e) return null;
1342
+ s += e.len;
1343
+ let n = e.value;
1344
+ switch (t) {
1345
+ case "d":
1346
+ case "dd":
1347
+ o.day = n;
1348
+ break;
1349
+ case "M":
1350
+ case "MM":
1351
+ o.month = n - 1;
1352
+ break;
1353
+ case "yy":
1354
+ o.year = n <= r % 100 ? 2e3 + n : 1900 + n;
1355
+ break;
1356
+ case "yyyy":
1357
+ o.year = n;
1358
+ break;
1359
+ case "H":
1360
+ case "HH":
1361
+ o.hour = n;
1362
+ break;
1363
+ case "h":
1364
+ case "hh":
1365
+ o.hour12 = n;
1366
+ break;
1367
+ case "m":
1368
+ case "mm":
1369
+ o.minute = n;
1370
+ break;
1371
+ case "s":
1372
+ case "ss":
1373
+ o.second = n;
1374
+ break;
1375
+ case "f":
1376
+ o.ms = n * 100;
1377
+ break;
1378
+ case "ff":
1379
+ o.ms = n * 10;
1380
+ break;
1381
+ case "fff": o.ms = n;
1382
+ }
1383
+ }
1384
+ }
1385
+ }
1386
+ if (s !== c.length && c.slice(s).trim() !== "") return null;
1387
+ let l = i ?? new Date(1970, 0, 1), u = o.hour;
1388
+ u == null && o.hour12 != null && (u = o.hour12 % 12, o.isPm && (u += 12));
1389
+ 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());
1390
+ return o.day != null && m.getDate() !== p || o.month != null && m.getMonth() !== f || isNaN(m.getTime()) ? null : m;
1391
+ }
1392
+ //#endregion
1393
+ export { z as A, oe as C, ce as D, J as E, F, j as I, M as L, L as M, le as N, de as O, ue as P, P as R, q as S, U as T, Se as _, nt as a, G as b, $e as c, He as d, Je as f, Ve as g, qe as h, Tt as i, H as j, R as k, Xe as l, We as m, Rt as n, tt as o, Ue as p, Dt as r, Qe as s, Pt as t, Ze as u, Q as v, se as w, K as x, ge as y, I as z };