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