@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,198 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { F as t, G as n, H as r, L as i, V as a, X as o, Y as s, _ as ee, at as c, b as l, d as u, et as d, i as f, it as p, k as m, l as h, lt as g, m as _, nt as v, pt as y, rt as b, st as x, t as S, tt as C, u as w, ut as T, v as E, x as D } from "./disclose-version-Dr7rEVv-.js";
3
+ import { F as te, R as O, g as k, i as ne, k as A, m as re, t as ie, z as ae } from "./date-format-BNii4zeD.js";
4
+ import { i as oe, n as se, r as ce } from "./popover-P-9P2YYn.js";
5
+ //#region src/SvDateRangeInput.svelte
6
+ var j = /* @__PURE__ */ e({ default: () => M }), le = i("<button type=\"button\" class=\"sv-dri__clear svelte-6hjfap\">&times;</button>"), ue = i("<div class=\"sv-dri__panel\" role=\"dialog\"><!></div>"), de = i("<input type=\"hidden\"/> <input type=\"hidden\"/>", 1), fe = i("<div><div><svg class=\"sv-dri__icon svelte-6hjfap\" viewBox=\"0 0 24 24\" width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"></rect><path d=\"M16 2v4M8 2v4M3 10h18\"></path></svg> <input/> <!></div> <!> <!></div>"), pe = {
7
+ hash: "svelte-6hjfap",
8
+ code: ".sv-dri.svelte-6hjfap {--_accent: var(--sg-accent, #2563eb);--_border: var(--sg-input-border, var(--sg-border, #cbd5e1));--_radius: var(--sg-radius, 8px);display:inline-block;position:relative;color:var(--sg-fg, #0f172a);}.sv-dri--disabled.svelte-6hjfap {opacity:0.6;}.sv-dri__field.svelte-6hjfap {display:flex;align-items:center;gap:6px;width:260px;background:var(--sg-input-bg, #fff);border:1px solid var(--_border);border-radius:var(--_radius);padding-inline:10px 4px;}.sv-dri__field.svelte-6hjfap:focus-within {border-color:var(--_accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent);}.sv-dri__field.is-invalid.svelte-6hjfap {border-color:var(--sg-danger, #dc2626);}.sv-dri__field.is-invalid.svelte-6hjfap:focus-within {box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-danger, #dc2626) 22%, transparent);}.sv-dri__field--sm.svelte-6hjfap {height:28px;font-size:12px;}.sv-dri__field--md.svelte-6hjfap {height:34px;font-size:13px;}.sv-dri__field--lg.svelte-6hjfap {height:40px;font-size:15px;}.sv-dri__icon.svelte-6hjfap {color:var(--sg-muted, #64748b);flex:none;}.sv-dri__input.svelte-6hjfap {flex:1;min-width:0;border:0;background:none;outline:none;color:inherit;font:inherit;cursor:pointer;text-overflow:ellipsis;}.sv-dri__input.svelte-6hjfap::placeholder {color:var(--sg-muted, #94a3b8);}.sv-dri__clear.svelte-6hjfap {display:grid;place-items:center;width:24px;height:24px;flex:none;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;border-radius:6px;font-size:17px;line-height:1;}.sv-dri__clear.svelte-6hjfap:hover {color:var(--_accent);background:color-mix(in srgb, var(--_accent) 10%, transparent);}.sv-dri__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);}\n /* Fill the container - see `block` in SvEditorProps. */.sv-dri.is-block.svelte-6hjfap, .sv-dri.is-block.svelte-6hjfap .sv-dri__field:where(.svelte-6hjfap) {width:100%;max-width:100%;}"
9
+ };
10
+ function M(e, i) {
11
+ T(i, !0), D(e, pe);
12
+ let a = {
13
+ dialog: "Choose a date range",
14
+ clear: "Clear",
15
+ open: "Open calendar",
16
+ to: "to"
17
+ }, j = S(i, "value", 3, null), M = S(i, "formatString", 3, "yyyy-MM-dd"), me = S(i, "min", 3, null), he = S(i, "max", 3, null), ge = S(i, "months", 3, 2), N = S(i, "firstDayOfWeek", 3, 0), P = S(i, "weekNumbers", 3, !1), F = S(i, "locale", 19, () => typeof navigator < "u" ? navigator.language : "en-US"), I = S(i, "placeholder", 3, "Select date range"), L = S(i, "animate", 3, !1), _e = S(i, "autoOpen", 3, !1), R = S(i, "disabled", 3, !1), ve = S(i, "readonly", 3, !1), ye = S(i, "size", 3, "md"), z = S(i, "invalid", 3, !1), be = S(i, "block", 3, !1), B = S(i, "required", 3, !1), xe = O("sv-daterange"), V = x(() => i.id ?? xe), H = x(() => ae(a, i.messages)), U = x(() => i.dir === "ltr" || i.dir === "rtl" ? i.dir : void 0), W = x(() => !R() && !ve()), G = (e) => ie(e, M(), F()), Se = x(() => {
18
+ if (!j()) return "";
19
+ let [e, t] = j();
20
+ return e && t ? `${G(e)} ${n(H).to} ${G(t)}` : e ? G(e) : "";
21
+ }), Ce = x(() => j() ? re(j()[0], j()[1]) : null), K = c(!1);
22
+ function q() {
23
+ n(W) && !n(K) && p(K, !0);
24
+ }
25
+ function J() {
26
+ p(K, !1);
27
+ }
28
+ function we() {
29
+ n(K) ? J() : q();
30
+ }
31
+ function Te() {
32
+ i.onChange?.(null);
33
+ }
34
+ function Ee(e) {
35
+ if (!e.length) return;
36
+ let t = e[0], n = e[e.length - 1];
37
+ i.onChange?.([A(t), A(n)]), e.length >= 1 && t !== n && J();
38
+ }
39
+ let Y = c(null), X = c(null), Z = c(null), Q = c(b({
40
+ top: 0,
41
+ left: 0,
42
+ width: 0,
43
+ openUpward: !1,
44
+ maxHeight: 0,
45
+ availHeight: 0
46
+ }));
47
+ function $() {
48
+ n(Y) && p(Q, se(n(Y).getBoundingClientRect(), {
49
+ estimatedHeight: 360,
50
+ minWidth: 300
51
+ }), !0);
52
+ }
53
+ o(() => {
54
+ if (!n(K)) return;
55
+ $();
56
+ let e = () => $();
57
+ window.addEventListener("scroll", e, !0), window.addEventListener("resize", e);
58
+ let t = (e) => {
59
+ let t = e.target;
60
+ t && (n(Y)?.contains(t) || n(Z)?.contains(t) || J());
61
+ };
62
+ return document.addEventListener("pointerdown", t, !0), () => {
63
+ window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e), document.removeEventListener("pointerdown", t, !0);
64
+ };
65
+ });
66
+ function De(e) {
67
+ e.key === "Escape" ? J() : e.key === "ArrowDown" && (e.altKey || !j()) && (e.preventDefault(), q());
68
+ }
69
+ function Oe(e) {
70
+ _e() && (e.focus(), q());
71
+ }
72
+ k(e, {
73
+ get id() {
74
+ return n(V);
75
+ },
76
+ get label() {
77
+ return i.label;
78
+ },
79
+ get hint() {
80
+ return i.hint;
81
+ },
82
+ get error() {
83
+ return i.error;
84
+ },
85
+ get required() {
86
+ return B();
87
+ },
88
+ get dir() {
89
+ return i.dir;
90
+ },
91
+ children: (e, a) => {
92
+ var o = fe();
93
+ let c;
94
+ var g = d(o);
95
+ let b;
96
+ var x = v(d(g), 2);
97
+ h(x, (e) => ({
98
+ id: n(V),
99
+ class: "sv-dri__input",
100
+ type: "text",
101
+ readonly: !0,
102
+ placeholder: I(),
103
+ value: n(Se),
104
+ disabled: R(),
105
+ ...e,
106
+ "aria-haspopup": "dialog",
107
+ "aria-expanded": n(K),
108
+ onkeydown: De
109
+ }), [() => te({
110
+ id: n(V),
111
+ invalid: z(),
112
+ required: B(),
113
+ error: i.error,
114
+ hint: i.hint,
115
+ ariaLabel: i.ariaLabel
116
+ })], void 0, void 0, "svelte-6hjfap", !0), f(x, (e) => p(X, e), () => n(X)), l(x, (e) => Oe?.(e));
117
+ var S = v(x, 2), T = (e) => {
118
+ var i = le();
119
+ s(() => u(i, "aria-label", n(H).clear)), r("click", i, (e) => {
120
+ e.stopPropagation(), Te();
121
+ }), t(e, i);
122
+ };
123
+ m(S, (e) => {
124
+ j() && n(W) && e(T);
125
+ }), y(g), f(g, (e) => p(Y, e), () => n(Y));
126
+ var D = v(g, 2), O = (e) => {
127
+ var r = ue();
128
+ let a;
129
+ var o = d(r);
130
+ ne(o, {
131
+ get value() {
132
+ return n(Ce);
133
+ },
134
+ selectionMode: "range",
135
+ get min() {
136
+ return me();
137
+ },
138
+ get max() {
139
+ return he();
140
+ },
141
+ get months() {
142
+ return ge();
143
+ },
144
+ get firstDayOfWeek() {
145
+ return N();
146
+ },
147
+ get weekNumbers() {
148
+ return P();
149
+ },
150
+ get locale() {
151
+ return F();
152
+ },
153
+ get presets() {
154
+ return i.presets;
155
+ },
156
+ get animate() {
157
+ return L();
158
+ },
159
+ get dir() {
160
+ return n(U);
161
+ },
162
+ onChange: Ee
163
+ }), y(r), f(r, (e) => p(Z, e), () => n(Z)), l(r, (e) => oe?.(e)), l(r, (e, t) => ce?.(e, t), () => ({ up: n(Q).openUpward })), s(() => {
164
+ u(r, "aria-label", n(H).dialog), u(r, "dir", n(U)), a = ee(r, "", a, {
165
+ position: "fixed",
166
+ top: `${n(Q).top}px`,
167
+ left: `${n(Q).left}px`
168
+ }), r.dir = r.dir;
169
+ }), t(e, r);
170
+ };
171
+ m(D, (e) => {
172
+ n(K) && e(O);
173
+ });
174
+ var k = v(D, 2), A = (e) => {
175
+ var n = de(), r = C(n);
176
+ w(r);
177
+ var a = v(r, 2);
178
+ w(a), s((e, t) => {
179
+ u(r, "name", `${i.name}_start`), _(r, e), u(a, "name", `${i.name}_end`), _(a, t);
180
+ }, [() => j()?.[0] ? j()[0].toISOString() : "", () => j()?.[1] ? j()[1].toISOString() : ""]), t(e, n);
181
+ };
182
+ m(k, (e) => {
183
+ i.name && e(A);
184
+ }), y(o), s(() => {
185
+ c = E(o, 1, "sv-dri svelte-6hjfap", null, c, {
186
+ "is-block": be(),
187
+ "sv-dri--disabled": R()
188
+ }), b = E(g, 1, `sv-dri__field sv-dri__field--${ye() ?? ""}`, "svelte-6hjfap", b, { "is-invalid": z() }), u(g, "dir", n(U)), g.dir = g.dir;
189
+ }), r("click", g, () => {
190
+ n(W) && (n(X)?.focus(), we());
191
+ }), t(e, o);
192
+ },
193
+ $$slots: { default: !0 }
194
+ }), g();
195
+ }
196
+ a(["click"]);
197
+ //#endregion
198
+ export { j as n, M as t };
@@ -0,0 +1,199 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { F as t, R as n, g as r, i, k as a, m as o, t as s, z as c } from "./date-format-BnnHlqGw.js";
3
+ import { i as ee, n as l, r as u } from "./popover-P-9P2YYn.js";
4
+ import * as d from "svelte/internal/client";
5
+ import "svelte/internal/disclose-version";
6
+ //#region src/SvDateRangeInput.svelte
7
+ var f = /* @__PURE__ */ e({ default: () => v }), p = d.from_html("<button type=\"button\" class=\"sv-dri__clear svelte-6hjfap\">&times;</button>"), m = d.from_html("<div class=\"sv-dri__panel\" role=\"dialog\"><!></div>"), h = d.from_html("<input type=\"hidden\"/> <input type=\"hidden\"/>", 1), g = d.from_html("<div><div><svg class=\"sv-dri__icon svelte-6hjfap\" viewBox=\"0 0 24 24\" width=\"15\" height=\"15\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"></rect><path d=\"M16 2v4M8 2v4M3 10h18\"></path></svg> <input/> <!></div> <!> <!></div>"), _ = {
8
+ hash: "svelte-6hjfap",
9
+ code: ".sv-dri.svelte-6hjfap {--_accent: var(--sg-accent, #2563eb);--_border: var(--sg-input-border, var(--sg-border, #cbd5e1));--_radius: var(--sg-radius, 8px);display:inline-block;position:relative;color:var(--sg-fg, #0f172a);}.sv-dri--disabled.svelte-6hjfap {opacity:0.6;}.sv-dri__field.svelte-6hjfap {display:flex;align-items:center;gap:6px;width:260px;background:var(--sg-input-bg, #fff);border:1px solid var(--_border);border-radius:var(--_radius);padding-inline:10px 4px;}.sv-dri__field.svelte-6hjfap:focus-within {border-color:var(--_accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--_accent) 22%, transparent);}.sv-dri__field.is-invalid.svelte-6hjfap {border-color:var(--sg-danger, #dc2626);}.sv-dri__field.is-invalid.svelte-6hjfap:focus-within {box-shadow:0 0 0 2px color-mix(in srgb, var(--sg-danger, #dc2626) 22%, transparent);}.sv-dri__field--sm.svelte-6hjfap {height:28px;font-size:12px;}.sv-dri__field--md.svelte-6hjfap {height:34px;font-size:13px;}.sv-dri__field--lg.svelte-6hjfap {height:40px;font-size:15px;}.sv-dri__icon.svelte-6hjfap {color:var(--sg-muted, #64748b);flex:none;}.sv-dri__input.svelte-6hjfap {flex:1;min-width:0;border:0;background:none;outline:none;color:inherit;font:inherit;cursor:pointer;text-overflow:ellipsis;}.sv-dri__input.svelte-6hjfap::placeholder {color:var(--sg-muted, #94a3b8);}.sv-dri__clear.svelte-6hjfap {display:grid;place-items:center;width:24px;height:24px;flex:none;background:none;border:0;color:var(--sg-muted, #64748b);cursor:pointer;border-radius:6px;font-size:17px;line-height:1;}.sv-dri__clear.svelte-6hjfap:hover {color:var(--_accent);background:color-mix(in srgb, var(--_accent) 10%, transparent);}.sv-dri__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);}\n /* Fill the container - see `block` in SvEditorProps. */.sv-dri.is-block.svelte-6hjfap, .sv-dri.is-block.svelte-6hjfap .sv-dri__field:where(.svelte-6hjfap) {width:100%;max-width:100%;}"
10
+ };
11
+ function v(e, f) {
12
+ d.push(f, !0), d.append_styles(e, _);
13
+ let v = {
14
+ dialog: "Choose a date range",
15
+ clear: "Clear",
16
+ open: "Open calendar",
17
+ to: "to"
18
+ }, y = d.prop(f, "value", 3, null), b = d.prop(f, "formatString", 3, "yyyy-MM-dd"), x = d.prop(f, "min", 3, null), S = d.prop(f, "max", 3, null), C = d.prop(f, "months", 3, 2), w = d.prop(f, "firstDayOfWeek", 3, 0), T = d.prop(f, "weekNumbers", 3, !1), E = d.prop(f, "locale", 19, () => typeof navigator < "u" ? navigator.language : "en-US"), D = d.prop(f, "placeholder", 3, "Select date range"), O = d.prop(f, "animate", 3, !1), k = d.prop(f, "autoOpen", 3, !1), A = d.prop(f, "disabled", 3, !1), j = d.prop(f, "readonly", 3, !1), te = d.prop(f, "size", 3, "md"), M = d.prop(f, "invalid", 3, !1), N = d.prop(f, "block", 3, !1), P = d.prop(f, "required", 3, !1), F = n("sv-daterange"), I = d.derived(() => f.id ?? F), L = d.derived(() => c(v, f.messages)), R = d.derived(() => f.dir === "ltr" || f.dir === "rtl" ? f.dir : void 0), z = d.derived(() => !A() && !j()), B = (e) => s(e, b(), E()), V = d.derived(() => {
19
+ if (!y()) return "";
20
+ let [e, t] = y();
21
+ return e && t ? `${B(e)} ${d.get(L).to} ${B(t)}` : e ? B(e) : "";
22
+ }), H = d.derived(() => y() ? o(y()[0], y()[1]) : null), U = d.state(!1);
23
+ function W() {
24
+ d.get(z) && !d.get(U) && d.set(U, !0);
25
+ }
26
+ function G() {
27
+ d.set(U, !1);
28
+ }
29
+ function K() {
30
+ d.get(U) ? G() : W();
31
+ }
32
+ function q() {
33
+ f.onChange?.(null);
34
+ }
35
+ function J(e) {
36
+ if (!e.length) return;
37
+ let t = e[0], n = e[e.length - 1];
38
+ f.onChange?.([a(t), a(n)]), e.length >= 1 && t !== n && G();
39
+ }
40
+ let Y = d.state(null), X = d.state(null), Z = d.state(null), Q = d.state(d.proxy({
41
+ top: 0,
42
+ left: 0,
43
+ width: 0,
44
+ openUpward: !1,
45
+ maxHeight: 0,
46
+ availHeight: 0
47
+ }));
48
+ function $() {
49
+ d.get(Y) && d.set(Q, l(d.get(Y).getBoundingClientRect(), {
50
+ estimatedHeight: 360,
51
+ minWidth: 300
52
+ }), !0);
53
+ }
54
+ d.user_effect(() => {
55
+ if (!d.get(U)) return;
56
+ $();
57
+ let e = () => $();
58
+ window.addEventListener("scroll", e, !0), window.addEventListener("resize", e);
59
+ let t = (e) => {
60
+ let t = e.target;
61
+ t && (d.get(Y)?.contains(t) || d.get(Z)?.contains(t) || G());
62
+ };
63
+ return document.addEventListener("pointerdown", t, !0), () => {
64
+ window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e), document.removeEventListener("pointerdown", t, !0);
65
+ };
66
+ });
67
+ function ne(e) {
68
+ e.key === "Escape" ? G() : e.key === "ArrowDown" && (e.altKey || !y()) && (e.preventDefault(), W());
69
+ }
70
+ function re(e) {
71
+ k() && (e.focus(), W());
72
+ }
73
+ r(e, {
74
+ get id() {
75
+ return d.get(I);
76
+ },
77
+ get label() {
78
+ return f.label;
79
+ },
80
+ get hint() {
81
+ return f.hint;
82
+ },
83
+ get error() {
84
+ return f.error;
85
+ },
86
+ get required() {
87
+ return P();
88
+ },
89
+ get dir() {
90
+ return f.dir;
91
+ },
92
+ children: (e, n) => {
93
+ var r = g();
94
+ let a;
95
+ var o = d.child(r);
96
+ let s;
97
+ var c = d.sibling(d.child(o), 2);
98
+ d.attribute_effect(c, (e) => ({
99
+ id: d.get(I),
100
+ class: "sv-dri__input",
101
+ type: "text",
102
+ readonly: !0,
103
+ placeholder: D(),
104
+ value: d.get(V),
105
+ disabled: A(),
106
+ ...e,
107
+ "aria-haspopup": "dialog",
108
+ "aria-expanded": d.get(U),
109
+ onkeydown: ne
110
+ }), [() => t({
111
+ id: d.get(I),
112
+ invalid: M(),
113
+ required: P(),
114
+ error: f.error,
115
+ hint: f.hint,
116
+ ariaLabel: f.ariaLabel
117
+ })], void 0, void 0, "svelte-6hjfap", !0), d.bind_this(c, (e) => d.set(X, e), () => d.get(X)), d.action(c, (e) => re?.(e));
118
+ var l = d.sibling(c, 2), _ = (e) => {
119
+ var t = p();
120
+ d.template_effect(() => d.set_attribute(t, "aria-label", d.get(L).clear)), d.delegated("click", t, (e) => {
121
+ e.stopPropagation(), q();
122
+ }), d.append(e, t);
123
+ };
124
+ d.if(l, (e) => {
125
+ y() && d.get(z) && e(_);
126
+ }), d.reset(o), d.bind_this(o, (e) => d.set(Y, e), () => d.get(Y));
127
+ var v = d.sibling(o, 2), b = (e) => {
128
+ var t = m();
129
+ let n;
130
+ var r = d.child(t);
131
+ i(r, {
132
+ get value() {
133
+ return d.get(H);
134
+ },
135
+ selectionMode: "range",
136
+ get min() {
137
+ return x();
138
+ },
139
+ get max() {
140
+ return S();
141
+ },
142
+ get months() {
143
+ return C();
144
+ },
145
+ get firstDayOfWeek() {
146
+ return w();
147
+ },
148
+ get weekNumbers() {
149
+ return T();
150
+ },
151
+ get locale() {
152
+ return E();
153
+ },
154
+ get presets() {
155
+ return f.presets;
156
+ },
157
+ get animate() {
158
+ return O();
159
+ },
160
+ get dir() {
161
+ return d.get(R);
162
+ },
163
+ onChange: J
164
+ }), d.reset(t), d.bind_this(t, (e) => d.set(Z, e), () => d.get(Z)), d.action(t, (e) => ee?.(e)), d.action(t, (e, t) => u?.(e, t), () => ({ up: d.get(Q).openUpward })), d.template_effect(() => {
165
+ d.set_attribute(t, "aria-label", d.get(L).dialog), d.set_attribute(t, "dir", d.get(R)), n = d.set_style(t, "", n, {
166
+ position: "fixed",
167
+ top: `${d.get(Q).top}px`,
168
+ left: `${d.get(Q).left}px`
169
+ }), t.dir = t.dir;
170
+ }), d.append(e, t);
171
+ };
172
+ d.if(v, (e) => {
173
+ d.get(U) && e(b);
174
+ });
175
+ var k = d.sibling(v, 2), j = (e) => {
176
+ var t = h(), n = d.first_child(t);
177
+ d.remove_input_defaults(n);
178
+ var r = d.sibling(n, 2);
179
+ d.remove_input_defaults(r), d.template_effect((e, t) => {
180
+ d.set_attribute(n, "name", `${f.name}_start`), d.set_value(n, e), d.set_attribute(r, "name", `${f.name}_end`), d.set_value(r, t);
181
+ }, [() => y()?.[0] ? y()[0].toISOString() : "", () => y()?.[1] ? y()[1].toISOString() : ""]), d.append(e, t);
182
+ };
183
+ d.if(k, (e) => {
184
+ f.name && e(j);
185
+ }), d.reset(r), d.template_effect(() => {
186
+ a = d.set_class(r, 1, "sv-dri svelte-6hjfap", null, a, {
187
+ "is-block": N(),
188
+ "sv-dri--disabled": A()
189
+ }), s = d.set_class(o, 1, `sv-dri__field sv-dri__field--${te() ?? ""}`, "svelte-6hjfap", s, { "is-invalid": M() }), d.set_attribute(o, "dir", d.get(R)), o.dir = o.dir;
190
+ }), d.delegated("click", o, () => {
191
+ d.get(z) && (d.get(X)?.focus(), K());
192
+ }), d.append(e, r);
193
+ },
194
+ $$slots: { default: !0 }
195
+ }), d.pop();
196
+ }
197
+ d.delegate(["click"]);
198
+ //#endregion
199
+ export { f as n, v as t };