@svgrid/grid 2.2.16 → 2.2.18

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