@g4rcez/components 3.0.1 → 4.0.0

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 (176) hide show
  1. package/dist/CaretDown.es-Cj7klWI3.js +33 -0
  2. package/dist/CaretDown.es-Cj7klWI3.js.map +1 -0
  3. package/dist/CaretRight.es-0-M8D9y8.js +33 -0
  4. package/dist/CaretRight.es-0-M8D9y8.js.map +1 -0
  5. package/dist/CheckCircle.es-C6QWLfk_.js +33 -0
  6. package/dist/CheckCircle.es-C6QWLfk_.js.map +1 -0
  7. package/dist/File.es-CA-vuPED.js +33 -0
  8. package/dist/File.es-CA-vuPED.js.map +1 -0
  9. package/dist/IconBase.es-DJ1oCtpo.js +50 -0
  10. package/dist/IconBase.es-DJ1oCtpo.js.map +1 -0
  11. package/dist/Info.es-CrZKs4q4.js +33 -0
  12. package/dist/Info.es-CrZKs4q4.js.map +1 -0
  13. package/dist/MotionConfigContext-C7MqlSdv.js +2713 -0
  14. package/dist/MotionConfigContext-C7MqlSdv.js.map +1 -0
  15. package/dist/Warning.es-D_eI6tLe.js +39 -0
  16. package/dist/Warning.es-D_eI6tLe.js.map +1 -0
  17. package/dist/X.es-BJ1O93El.js +39 -0
  18. package/dist/X.es-BJ1O93El.js.map +1 -0
  19. package/dist/ai/docs/Alert.md +1 -1
  20. package/dist/ai/docs/AnimatedList.md +3 -3
  21. package/dist/ai/docs/Button.md +1 -1
  22. package/dist/ai/docs/CommandPalette.md +7 -7
  23. package/dist/ai/docs/Dropdown.md +4 -4
  24. package/dist/ai/docs/Empty.md +9 -9
  25. package/dist/ai/docs/Expand.md +1 -1
  26. package/dist/ai/docs/FileUpload.md +2 -2
  27. package/dist/ai/docs/Input.md +2 -2
  28. package/dist/ai/docs/InputField.md +2 -2
  29. package/dist/ai/docs/List.md +3 -3
  30. package/dist/ai/docs/Menu.md +3 -3
  31. package/dist/ai/docs/MultiSelect.md +1 -1
  32. package/dist/ai/docs/PageCalendar.md +1 -1
  33. package/dist/ai/docs/Select.md +1 -1
  34. package/dist/ai/docs/Slot.md +1 -1
  35. package/dist/ai/docs/Stats.md +11 -11
  36. package/dist/ai/docs/Table.md +1 -1
  37. package/dist/ai/docs/Tag.md +2 -2
  38. package/dist/ai/docs/Timeline.md +5 -5
  39. package/dist/ai/docs/Toolbar.md +2 -2
  40. package/dist/ai/docs/Tooltip.md +3 -3
  41. package/dist/ai/docs/TransferList.md +2 -2
  42. package/dist/autocomplete-Cn9Z2hLq.js +375 -0
  43. package/dist/autocomplete-Cn9Z2hLq.js.map +1 -0
  44. package/dist/calendar-B5lSd0ID.js +1747 -0
  45. package/dist/calendar-B5lSd0ID.js.map +1 -0
  46. package/dist/components/core/button.js +76 -0
  47. package/dist/components/core/button.js.map +1 -0
  48. package/dist/components/core/tag.js +67 -0
  49. package/dist/components/core/tag.js.map +1 -0
  50. package/dist/components/display/alert.js +94 -0
  51. package/dist/components/display/alert.js.map +1 -0
  52. package/dist/components/display/calendar.js +15 -0
  53. package/dist/components/display/calendar.js.map +1 -0
  54. package/dist/components/display/card.d.ts +2 -2
  55. package/dist/components/display/card.d.ts.map +1 -1
  56. package/dist/components/display/card.js +84 -0
  57. package/dist/components/display/card.js.map +1 -0
  58. package/dist/components/display/empty.d.ts +2 -2
  59. package/dist/components/display/empty.d.ts.map +1 -1
  60. package/dist/components/display/list.js +93 -0
  61. package/dist/components/display/list.js.map +1 -0
  62. package/dist/components/display/notifications.js +15 -0
  63. package/dist/components/display/notifications.js.map +1 -0
  64. package/dist/components/display/stats.js +16 -0
  65. package/dist/components/display/stats.js.map +1 -0
  66. package/dist/components/display/tabs.js +12 -0
  67. package/dist/components/display/tabs.js.map +1 -0
  68. package/dist/components/display/timeline.js +29 -0
  69. package/dist/components/display/timeline.js.map +1 -0
  70. package/dist/components/floating/command-palette.d.ts +3 -3
  71. package/dist/components/floating/command-palette.d.ts.map +1 -1
  72. package/dist/components/floating/dropdown.js +58 -0
  73. package/dist/components/floating/dropdown.js.map +1 -0
  74. package/dist/components/floating/expand.js +41 -0
  75. package/dist/components/floating/expand.js.map +1 -0
  76. package/dist/components/floating/menu.d.ts +2 -2
  77. package/dist/components/floating/menu.d.ts.map +1 -1
  78. package/dist/components/floating/menu.js +177 -0
  79. package/dist/components/floating/menu.js.map +1 -0
  80. package/dist/components/floating/modal.js +297 -0
  81. package/dist/components/floating/modal.js.map +1 -0
  82. package/dist/components/floating/tooltip.js +73 -0
  83. package/dist/components/floating/tooltip.js.map +1 -0
  84. package/dist/components/form/autocomplete.js +16 -0
  85. package/dist/components/form/autocomplete.js.map +1 -0
  86. package/dist/components/form/checkbox.js +44 -0
  87. package/dist/components/form/checkbox.js.map +1 -0
  88. package/dist/components/form/date-picker.js +12 -0
  89. package/dist/components/form/date-picker.js.map +1 -0
  90. package/dist/components/form/file-upload.d.ts.map +1 -1
  91. package/dist/components/form/file-upload.js +11 -0
  92. package/dist/components/form/file-upload.js.map +1 -0
  93. package/dist/components/form/form.js +8 -0
  94. package/dist/components/form/form.js.map +1 -0
  95. package/dist/components/form/input-field.d.ts.map +1 -1
  96. package/dist/components/form/input.js +5 -0
  97. package/dist/components/form/input.js.map +1 -0
  98. package/dist/components/form/radiobox.js +30 -0
  99. package/dist/components/form/radiobox.js.map +1 -0
  100. package/dist/components/form/select.js +106 -0
  101. package/dist/components/form/select.js.map +1 -0
  102. package/dist/components/form/switch.js +65 -0
  103. package/dist/components/form/switch.js.map +1 -0
  104. package/dist/components/form/task-list.js +68 -0
  105. package/dist/components/form/task-list.js.map +1 -0
  106. package/dist/components/form/transfer-list.js +55 -0
  107. package/dist/components/form/transfer-list.js.map +1 -0
  108. package/dist/components/page-calendar/calendar-header.d.ts.map +1 -1
  109. package/dist/components/table/table.js +10 -0
  110. package/dist/components/table/table.js.map +1 -0
  111. package/dist/config/context.d.ts +2 -0
  112. package/dist/config/context.d.ts.map +1 -1
  113. package/dist/constants-r-AHn273.js +6 -0
  114. package/dist/constants-r-AHn273.js.map +1 -0
  115. package/dist/context-BFXNJVn2.js +161 -0
  116. package/dist/context-BFXNJVn2.js.map +1 -0
  117. package/dist/date-picker-DwNo22lx.js +1626 -0
  118. package/dist/date-picker-DwNo22lx.js.map +1 -0
  119. package/dist/dom-Dl8XH0CK.js +2833 -0
  120. package/dist/dom-Dl8XH0CK.js.map +1 -0
  121. package/dist/file-upload-Brf2NkLr.js +3245 -0
  122. package/dist/file-upload-Brf2NkLr.js.map +1 -0
  123. package/dist/floating-ui.react-QNHG9W4N.js +3706 -0
  124. package/dist/floating-ui.react-QNHG9W4N.js.map +1 -0
  125. package/dist/fns-D2eyJKd5.js +33 -0
  126. package/dist/fns-D2eyJKd5.js.map +1 -0
  127. package/dist/hooks/use-components-provider.d.ts.map +1 -1
  128. package/dist/index-0YMC-_Lt.js +20 -0
  129. package/dist/index-0YMC-_Lt.js.map +1 -0
  130. package/dist/index-BelDtX5M.js +1821 -0
  131. package/dist/index-BelDtX5M.js.map +1 -0
  132. package/dist/index-C-PuFUZi.js +3416 -0
  133. package/dist/index-C-PuFUZi.js.map +1 -0
  134. package/dist/index-DJSMaZR4.js +35 -0
  135. package/dist/index-DJSMaZR4.js.map +1 -0
  136. package/dist/index-Z-fZHxfJ.js +335 -0
  137. package/dist/index-Z-fZHxfJ.js.map +1 -0
  138. package/dist/index-t1qLJTt5.js +351 -0
  139. package/dist/index-t1qLJTt5.js.map +1 -0
  140. package/dist/index.esm-BaIwleSE.js +343 -0
  141. package/dist/index.esm-BaIwleSE.js.map +1 -0
  142. package/dist/index.js +8125 -27
  143. package/dist/index.js.map +1 -1
  144. package/dist/input-CrGrSnUt.js +441 -0
  145. package/dist/input-CrGrSnUt.js.map +1 -0
  146. package/dist/input-field-5vYcz5tT.js +166 -0
  147. package/dist/input-field-5vYcz5tT.js.map +1 -0
  148. package/dist/notifications-cUdVPs-B.js +2786 -0
  149. package/dist/notifications-cUdVPs-B.js.map +1 -0
  150. package/dist/polymorph-B5n9fs_K.js +10 -0
  151. package/dist/polymorph-B5n9fs_K.js.map +1 -0
  152. package/dist/proxy-BZcQiBrp.js +2495 -0
  153. package/dist/proxy-BZcQiBrp.js.map +1 -0
  154. package/dist/skeleton-D75GFBV6.js +10 -0
  155. package/dist/skeleton-D75GFBV6.js.map +1 -0
  156. package/dist/slot-CRyweuj0.js +79 -0
  157. package/dist/slot-CRyweuj0.js.map +1 -0
  158. package/dist/styles/common.js +29 -0
  159. package/dist/styles/dark.js +214 -0
  160. package/dist/styles/design-tokens.js +98 -0
  161. package/dist/styles/light.js +214 -0
  162. package/dist/styles/theme.js +4 -0
  163. package/dist/styles/theme.types.js +1 -0
  164. package/dist/tabs-S00a8qq8.js +106 -0
  165. package/dist/tabs-S00a8qq8.js.map +1 -0
  166. package/dist/use-motion-value-eGwNuWuw.js +14 -0
  167. package/dist/use-motion-value-eGwNuWuw.js.map +1 -0
  168. package/dist/use-stable-ref-CYh-YkID.js +11 -0
  169. package/dist/use-stable-ref-CYh-YkID.js.map +1 -0
  170. package/dist/use-translations-BwLKTrZv.js +10 -0
  171. package/dist/use-translations-BwLKTrZv.js.map +1 -0
  172. package/package.json +4 -5
  173. package/dist/index.mjs +0 -37108
  174. package/dist/index.mjs.map +0 -1
  175. package/dist/index.umd.js +0 -28
  176. package/dist/index.umd.js.map +0 -1
@@ -0,0 +1,1747 @@
1
+ import { jsx as h, jsxs as Y } from "react/jsx-runtime";
2
+ import * as b from "react";
3
+ import { useContext as Ft, useRef as R, useEffect as Ct } from "react";
4
+ import { p as At } from "./IconBase.es-DJ1oCtpo.js";
5
+ import { e as It } from "./CaretRight.es-0-M8D9y8.js";
6
+ import { c as X, I as C } from "./dom-Dl8XH0CK.js";
7
+ import { a as _t, I as qt } from "./input-CrGrSnUt.js";
8
+ import { u as Ht } from "./index-Z-fZHxfJ.js";
9
+ import { C as Lt } from "./context-BFXNJVn2.js";
10
+ import { u as yt } from "./use-translations-BwLKTrZv.js";
11
+ import { u as Rt, a as Xt } from "./fns-D2eyJKd5.js";
12
+ import { A as jt, m as E } from "./proxy-BZcQiBrp.js";
13
+ import { M as Vt } from "./index-0YMC-_Lt.js";
14
+ const Qt = /* @__PURE__ */ new Map([
15
+ [
16
+ "bold",
17
+ /* @__PURE__ */ b.createElement(b.Fragment, null, /* @__PURE__ */ b.createElement("path", { d: "M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z" }))
18
+ ],
19
+ [
20
+ "duotone",
21
+ /* @__PURE__ */ b.createElement(b.Fragment, null, /* @__PURE__ */ b.createElement("path", { d: "M160,48V208L80,128Z", opacity: "0.2" }), /* @__PURE__ */ b.createElement("path", { d: "M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z" }))
22
+ ],
23
+ [
24
+ "fill",
25
+ /* @__PURE__ */ b.createElement(b.Fragment, null, /* @__PURE__ */ b.createElement("path", { d: "M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z" }))
26
+ ],
27
+ [
28
+ "light",
29
+ /* @__PURE__ */ b.createElement(b.Fragment, null, /* @__PURE__ */ b.createElement("path", { d: "M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z" }))
30
+ ],
31
+ [
32
+ "regular",
33
+ /* @__PURE__ */ b.createElement(b.Fragment, null, /* @__PURE__ */ b.createElement("path", { d: "M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z" }))
34
+ ],
35
+ [
36
+ "thin",
37
+ /* @__PURE__ */ b.createElement(b.Fragment, null, /* @__PURE__ */ b.createElement("path", { d: "M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z" }))
38
+ ]
39
+ ]), wt = b.forwardRef((t, e) => /* @__PURE__ */ b.createElement(At, { ref: e, ...t, weights: Qt }));
40
+ wt.displayName = "CaretLeftIcon";
41
+ const $t = (t) => {
42
+ const e = Ft(Lt);
43
+ if (t) return t;
44
+ if (e)
45
+ return e.locale || t;
46
+ }, bt = 6048e5, Bt = 864e5, In = 6e4, _n = 36e5, qn = 1e3, it = /* @__PURE__ */ Symbol.for("constructDateFrom");
47
+ function M(t, e) {
48
+ return typeof t == "function" ? t(e) : t && typeof t == "object" && it in t ? t[it](e) : t instanceof Date ? new t.constructor(e) : new Date(e);
49
+ }
50
+ function y(t, e) {
51
+ return M(e || t, t);
52
+ }
53
+ function Mt(t, e, n) {
54
+ const a = y(t, n?.in);
55
+ return isNaN(e) ? M(n?.in || t, NaN) : (e && a.setDate(a.getDate() + e), a);
56
+ }
57
+ function pt(t, e, n) {
58
+ const a = y(t, n?.in);
59
+ if (isNaN(e)) return M(t, NaN);
60
+ if (!e)
61
+ return a;
62
+ const r = a.getDate(), o = M(t, a.getTime());
63
+ o.setMonth(a.getMonth() + e + 1, 0);
64
+ const s = o.getDate();
65
+ return r >= s ? o : (a.setFullYear(
66
+ o.getFullYear(),
67
+ o.getMonth(),
68
+ r
69
+ ), a);
70
+ }
71
+ function F(t, e, n) {
72
+ const {
73
+ years: a = 0,
74
+ months: r = 0,
75
+ weeks: o = 0,
76
+ days: s = 0,
77
+ hours: c = 0,
78
+ minutes: g = 0,
79
+ seconds: w = 0
80
+ } = e, l = y(t, n?.in), f = r || a ? pt(l, r + a * 12) : l, S = s || o ? Mt(f, s + o * 7) : f, V = g + c * 60, J = (w + V * 60) * 1e3;
81
+ return M(t, +S + J);
82
+ }
83
+ let Gt = {};
84
+ function j() {
85
+ return Gt;
86
+ }
87
+ function N(t, e) {
88
+ const n = j(), a = e?.weekStartsOn ?? e?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, r = y(t, e?.in), o = r.getDay(), s = (o < a ? 7 : 0) + o - a;
89
+ return r.setDate(r.getDate() - s), r.setHours(0, 0, 0, 0), r;
90
+ }
91
+ function G(t, e) {
92
+ return N(t, { ...e, weekStartsOn: 1 });
93
+ }
94
+ function Dt(t, e) {
95
+ const n = y(t, e?.in), a = n.getFullYear(), r = M(n, 0);
96
+ r.setFullYear(a + 1, 0, 4), r.setHours(0, 0, 0, 0);
97
+ const o = G(r), s = M(n, 0);
98
+ s.setFullYear(a, 0, 4), s.setHours(0, 0, 0, 0);
99
+ const c = G(s);
100
+ return n.getTime() >= o.getTime() ? a + 1 : n.getTime() >= c.getTime() ? a : a - 1;
101
+ }
102
+ function ct(t) {
103
+ const e = y(t), n = new Date(
104
+ Date.UTC(
105
+ e.getFullYear(),
106
+ e.getMonth(),
107
+ e.getDate(),
108
+ e.getHours(),
109
+ e.getMinutes(),
110
+ e.getSeconds(),
111
+ e.getMilliseconds()
112
+ )
113
+ );
114
+ return n.setUTCFullYear(e.getFullYear()), +t - +n;
115
+ }
116
+ function z(t, ...e) {
117
+ const n = M.bind(
118
+ null,
119
+ e.find((a) => typeof a == "object")
120
+ );
121
+ return e.map(n);
122
+ }
123
+ function A(t, e) {
124
+ const n = y(t, e?.in);
125
+ return n.setHours(0, 0, 0, 0), n;
126
+ }
127
+ function zt(t, e, n) {
128
+ const [a, r] = z(
129
+ n?.in,
130
+ t,
131
+ e
132
+ ), o = A(a), s = A(r), c = +o - ct(o), g = +s - ct(s);
133
+ return Math.round((c - g) / Bt);
134
+ }
135
+ function Jt(t, e) {
136
+ const n = Dt(t, e), a = M(t, 0);
137
+ return a.setFullYear(n, 0, 4), a.setHours(0, 0, 0, 0), G(a);
138
+ }
139
+ function Kt(t) {
140
+ return M(t, Date.now());
141
+ }
142
+ function Zt(t, e, n) {
143
+ const [a, r] = z(
144
+ n?.in,
145
+ t,
146
+ e
147
+ );
148
+ return +A(a) == +A(r);
149
+ }
150
+ function Ut(t) {
151
+ return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]";
152
+ }
153
+ function te(t) {
154
+ return !(!Ut(t) && typeof t != "number" || isNaN(+y(t)));
155
+ }
156
+ function ee(t, e) {
157
+ const [n, a] = z(t, e.start, e.end);
158
+ return { start: n, end: a };
159
+ }
160
+ function xt(t, e) {
161
+ const { start: n, end: a } = ee(e?.in, t);
162
+ let r = +n > +a;
163
+ const o = r ? +n : +a, s = r ? a : n;
164
+ s.setHours(0, 0, 0, 0);
165
+ let c = 1;
166
+ const g = [];
167
+ for (; +s <= o; )
168
+ g.push(M(n, s)), s.setDate(s.getDate() + c), s.setHours(0, 0, 0, 0);
169
+ return r ? g.reverse() : g;
170
+ }
171
+ function vt(t, e) {
172
+ const n = y(t, e?.in);
173
+ return n.setDate(1), n.setHours(0, 0, 0, 0), n;
174
+ }
175
+ function ne(t, e) {
176
+ const n = y(t, e?.in);
177
+ return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n;
178
+ }
179
+ function ae(t, e) {
180
+ const n = j(), a = n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, r = y(t, e?.in), o = r.getDay(), s = (o < a ? -7 : 0) + 6 - (o - a);
181
+ return r.setDate(r.getDate() + s), r.setHours(23, 59, 59, 999), r;
182
+ }
183
+ const re = {
184
+ lessThanXSeconds: {
185
+ one: "less than a second",
186
+ other: "less than {{count}} seconds"
187
+ },
188
+ xSeconds: {
189
+ one: "1 second",
190
+ other: "{{count}} seconds"
191
+ },
192
+ halfAMinute: "half a minute",
193
+ lessThanXMinutes: {
194
+ one: "less than a minute",
195
+ other: "less than {{count}} minutes"
196
+ },
197
+ xMinutes: {
198
+ one: "1 minute",
199
+ other: "{{count}} minutes"
200
+ },
201
+ aboutXHours: {
202
+ one: "about 1 hour",
203
+ other: "about {{count}} hours"
204
+ },
205
+ xHours: {
206
+ one: "1 hour",
207
+ other: "{{count}} hours"
208
+ },
209
+ xDays: {
210
+ one: "1 day",
211
+ other: "{{count}} days"
212
+ },
213
+ aboutXWeeks: {
214
+ one: "about 1 week",
215
+ other: "about {{count}} weeks"
216
+ },
217
+ xWeeks: {
218
+ one: "1 week",
219
+ other: "{{count}} weeks"
220
+ },
221
+ aboutXMonths: {
222
+ one: "about 1 month",
223
+ other: "about {{count}} months"
224
+ },
225
+ xMonths: {
226
+ one: "1 month",
227
+ other: "{{count}} months"
228
+ },
229
+ aboutXYears: {
230
+ one: "about 1 year",
231
+ other: "about {{count}} years"
232
+ },
233
+ xYears: {
234
+ one: "1 year",
235
+ other: "{{count}} years"
236
+ },
237
+ overXYears: {
238
+ one: "over 1 year",
239
+ other: "over {{count}} years"
240
+ },
241
+ almostXYears: {
242
+ one: "almost 1 year",
243
+ other: "almost {{count}} years"
244
+ }
245
+ }, oe = (t, e, n) => {
246
+ let a;
247
+ const r = re[t];
248
+ return typeof r == "string" ? a = r : e === 1 ? a = r.one : a = r.other.replace("{{count}}", e.toString()), n?.addSuffix ? n.comparison && n.comparison > 0 ? "in " + a : a + " ago" : a;
249
+ };
250
+ function at(t) {
251
+ return (e = {}) => {
252
+ const n = e.width ? String(e.width) : t.defaultWidth;
253
+ return t.formats[n] || t.formats[t.defaultWidth];
254
+ };
255
+ }
256
+ const se = {
257
+ full: "EEEE, MMMM do, y",
258
+ long: "MMMM do, y",
259
+ medium: "MMM d, y",
260
+ short: "MM/dd/yyyy"
261
+ }, ie = {
262
+ full: "h:mm:ss a zzzz",
263
+ long: "h:mm:ss a z",
264
+ medium: "h:mm:ss a",
265
+ short: "h:mm a"
266
+ }, ce = {
267
+ full: "{{date}} 'at' {{time}}",
268
+ long: "{{date}} 'at' {{time}}",
269
+ medium: "{{date}}, {{time}}",
270
+ short: "{{date}}, {{time}}"
271
+ }, ue = {
272
+ date: at({
273
+ formats: se,
274
+ defaultWidth: "full"
275
+ }),
276
+ time: at({
277
+ formats: ie,
278
+ defaultWidth: "full"
279
+ }),
280
+ dateTime: at({
281
+ formats: ce,
282
+ defaultWidth: "full"
283
+ })
284
+ }, de = {
285
+ lastWeek: "'last' eeee 'at' p",
286
+ yesterday: "'yesterday at' p",
287
+ today: "'today at' p",
288
+ tomorrow: "'tomorrow at' p",
289
+ nextWeek: "eeee 'at' p",
290
+ other: "P"
291
+ }, le = (t, e, n, a) => de[t];
292
+ function q(t) {
293
+ return (e, n) => {
294
+ const a = n?.context ? String(n.context) : "standalone";
295
+ let r;
296
+ if (a === "formatting" && t.formattingValues) {
297
+ const s = t.defaultFormattingWidth || t.defaultWidth, c = n?.width ? String(n.width) : s;
298
+ r = t.formattingValues[c] || t.formattingValues[s];
299
+ } else {
300
+ const s = t.defaultWidth, c = n?.width ? String(n.width) : t.defaultWidth;
301
+ r = t.values[c] || t.values[s];
302
+ }
303
+ const o = t.argumentCallback ? t.argumentCallback(e) : e;
304
+ return r[o];
305
+ };
306
+ }
307
+ const me = {
308
+ narrow: ["B", "A"],
309
+ abbreviated: ["BC", "AD"],
310
+ wide: ["Before Christ", "Anno Domini"]
311
+ }, fe = {
312
+ narrow: ["1", "2", "3", "4"],
313
+ abbreviated: ["Q1", "Q2", "Q3", "Q4"],
314
+ wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
315
+ }, he = {
316
+ narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
317
+ abbreviated: [
318
+ "Jan",
319
+ "Feb",
320
+ "Mar",
321
+ "Apr",
322
+ "May",
323
+ "Jun",
324
+ "Jul",
325
+ "Aug",
326
+ "Sep",
327
+ "Oct",
328
+ "Nov",
329
+ "Dec"
330
+ ],
331
+ wide: [
332
+ "January",
333
+ "February",
334
+ "March",
335
+ "April",
336
+ "May",
337
+ "June",
338
+ "July",
339
+ "August",
340
+ "September",
341
+ "October",
342
+ "November",
343
+ "December"
344
+ ]
345
+ }, ge = {
346
+ narrow: ["S", "M", "T", "W", "T", "F", "S"],
347
+ short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
348
+ abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
349
+ wide: [
350
+ "Sunday",
351
+ "Monday",
352
+ "Tuesday",
353
+ "Wednesday",
354
+ "Thursday",
355
+ "Friday",
356
+ "Saturday"
357
+ ]
358
+ }, ye = {
359
+ narrow: {
360
+ am: "a",
361
+ pm: "p",
362
+ midnight: "mi",
363
+ noon: "n",
364
+ morning: "morning",
365
+ afternoon: "afternoon",
366
+ evening: "evening",
367
+ night: "night"
368
+ },
369
+ abbreviated: {
370
+ am: "AM",
371
+ pm: "PM",
372
+ midnight: "midnight",
373
+ noon: "noon",
374
+ morning: "morning",
375
+ afternoon: "afternoon",
376
+ evening: "evening",
377
+ night: "night"
378
+ },
379
+ wide: {
380
+ am: "a.m.",
381
+ pm: "p.m.",
382
+ midnight: "midnight",
383
+ noon: "noon",
384
+ morning: "morning",
385
+ afternoon: "afternoon",
386
+ evening: "evening",
387
+ night: "night"
388
+ }
389
+ }, we = {
390
+ narrow: {
391
+ am: "a",
392
+ pm: "p",
393
+ midnight: "mi",
394
+ noon: "n",
395
+ morning: "in the morning",
396
+ afternoon: "in the afternoon",
397
+ evening: "in the evening",
398
+ night: "at night"
399
+ },
400
+ abbreviated: {
401
+ am: "AM",
402
+ pm: "PM",
403
+ midnight: "midnight",
404
+ noon: "noon",
405
+ morning: "in the morning",
406
+ afternoon: "in the afternoon",
407
+ evening: "in the evening",
408
+ night: "at night"
409
+ },
410
+ wide: {
411
+ am: "a.m.",
412
+ pm: "p.m.",
413
+ midnight: "midnight",
414
+ noon: "noon",
415
+ morning: "in the morning",
416
+ afternoon: "in the afternoon",
417
+ evening: "in the evening",
418
+ night: "at night"
419
+ }
420
+ }, be = (t, e) => {
421
+ const n = Number(t), a = n % 100;
422
+ if (a > 20 || a < 10)
423
+ switch (a % 10) {
424
+ case 1:
425
+ return n + "st";
426
+ case 2:
427
+ return n + "nd";
428
+ case 3:
429
+ return n + "rd";
430
+ }
431
+ return n + "th";
432
+ }, Me = {
433
+ ordinalNumber: be,
434
+ era: q({
435
+ values: me,
436
+ defaultWidth: "wide"
437
+ }),
438
+ quarter: q({
439
+ values: fe,
440
+ defaultWidth: "wide",
441
+ argumentCallback: (t) => t - 1
442
+ }),
443
+ month: q({
444
+ values: he,
445
+ defaultWidth: "wide"
446
+ }),
447
+ day: q({
448
+ values: ge,
449
+ defaultWidth: "wide"
450
+ }),
451
+ dayPeriod: q({
452
+ values: ye,
453
+ defaultWidth: "wide",
454
+ formattingValues: we,
455
+ defaultFormattingWidth: "wide"
456
+ })
457
+ };
458
+ function H(t) {
459
+ return (e, n = {}) => {
460
+ const a = n.width, r = a && t.matchPatterns[a] || t.matchPatterns[t.defaultMatchWidth], o = e.match(r);
461
+ if (!o)
462
+ return null;
463
+ const s = o[0], c = a && t.parsePatterns[a] || t.parsePatterns[t.defaultParseWidth], g = Array.isArray(c) ? De(c, (f) => f.test(s)) : (
464
+ // [TODO] -- I challenge you to fix the type
465
+ pe(c, (f) => f.test(s))
466
+ );
467
+ let w;
468
+ w = t.valueCallback ? t.valueCallback(g) : g, w = n.valueCallback ? (
469
+ // [TODO] -- I challenge you to fix the type
470
+ n.valueCallback(w)
471
+ ) : w;
472
+ const l = e.slice(s.length);
473
+ return { value: w, rest: l };
474
+ };
475
+ }
476
+ function pe(t, e) {
477
+ for (const n in t)
478
+ if (Object.prototype.hasOwnProperty.call(t, n) && e(t[n]))
479
+ return n;
480
+ }
481
+ function De(t, e) {
482
+ for (let n = 0; n < t.length; n++)
483
+ if (e(t[n]))
484
+ return n;
485
+ }
486
+ function xe(t) {
487
+ return (e, n = {}) => {
488
+ const a = e.match(t.matchPattern);
489
+ if (!a) return null;
490
+ const r = a[0], o = e.match(t.parsePattern);
491
+ if (!o) return null;
492
+ let s = t.valueCallback ? t.valueCallback(o[0]) : o[0];
493
+ s = n.valueCallback ? n.valueCallback(s) : s;
494
+ const c = e.slice(r.length);
495
+ return { value: s, rest: c };
496
+ };
497
+ }
498
+ const ve = /^(\d+)(th|st|nd|rd)?/i, Se = /\d+/i, ke = {
499
+ narrow: /^(b|a)/i,
500
+ abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
501
+ wide: /^(before christ|before common era|anno domini|common era)/i
502
+ }, Oe = {
503
+ any: [/^b/i, /^(a|c)/i]
504
+ }, Pe = {
505
+ narrow: /^[1234]/i,
506
+ abbreviated: /^q[1234]/i,
507
+ wide: /^[1234](th|st|nd|rd)? quarter/i
508
+ }, Te = {
509
+ any: [/1/i, /2/i, /3/i, /4/i]
510
+ }, Ye = {
511
+ narrow: /^[jfmasond]/i,
512
+ abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
513
+ wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
514
+ }, Ne = {
515
+ narrow: [
516
+ /^j/i,
517
+ /^f/i,
518
+ /^m/i,
519
+ /^a/i,
520
+ /^m/i,
521
+ /^j/i,
522
+ /^j/i,
523
+ /^a/i,
524
+ /^s/i,
525
+ /^o/i,
526
+ /^n/i,
527
+ /^d/i
528
+ ],
529
+ any: [
530
+ /^ja/i,
531
+ /^f/i,
532
+ /^mar/i,
533
+ /^ap/i,
534
+ /^may/i,
535
+ /^jun/i,
536
+ /^jul/i,
537
+ /^au/i,
538
+ /^s/i,
539
+ /^o/i,
540
+ /^n/i,
541
+ /^d/i
542
+ ]
543
+ }, We = {
544
+ narrow: /^[smtwf]/i,
545
+ short: /^(su|mo|tu|we|th|fr|sa)/i,
546
+ abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
547
+ wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
548
+ }, Ee = {
549
+ narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
550
+ any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
551
+ }, Fe = {
552
+ narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
553
+ any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
554
+ }, Ce = {
555
+ any: {
556
+ am: /^a/i,
557
+ pm: /^p/i,
558
+ midnight: /^mi/i,
559
+ noon: /^no/i,
560
+ morning: /morning/i,
561
+ afternoon: /afternoon/i,
562
+ evening: /evening/i,
563
+ night: /night/i
564
+ }
565
+ }, Ae = {
566
+ ordinalNumber: xe({
567
+ matchPattern: ve,
568
+ parsePattern: Se,
569
+ valueCallback: (t) => parseInt(t, 10)
570
+ }),
571
+ era: H({
572
+ matchPatterns: ke,
573
+ defaultMatchWidth: "wide",
574
+ parsePatterns: Oe,
575
+ defaultParseWidth: "any"
576
+ }),
577
+ quarter: H({
578
+ matchPatterns: Pe,
579
+ defaultMatchWidth: "wide",
580
+ parsePatterns: Te,
581
+ defaultParseWidth: "any",
582
+ valueCallback: (t) => t + 1
583
+ }),
584
+ month: H({
585
+ matchPatterns: Ye,
586
+ defaultMatchWidth: "wide",
587
+ parsePatterns: Ne,
588
+ defaultParseWidth: "any"
589
+ }),
590
+ day: H({
591
+ matchPatterns: We,
592
+ defaultMatchWidth: "wide",
593
+ parsePatterns: Ee,
594
+ defaultParseWidth: "any"
595
+ }),
596
+ dayPeriod: H({
597
+ matchPatterns: Fe,
598
+ defaultMatchWidth: "any",
599
+ parsePatterns: Ce,
600
+ defaultParseWidth: "any"
601
+ })
602
+ }, Ie = {
603
+ code: "en-US",
604
+ formatDistance: oe,
605
+ formatLong: ue,
606
+ formatRelative: le,
607
+ localize: Me,
608
+ match: Ae,
609
+ options: {
610
+ weekStartsOn: 0,
611
+ firstWeekContainsDate: 1
612
+ }
613
+ };
614
+ function _e(t, e) {
615
+ const n = y(t, e?.in);
616
+ return zt(n, ne(n)) + 1;
617
+ }
618
+ function qe(t, e) {
619
+ const n = y(t, e?.in), a = +G(n) - +Jt(n);
620
+ return Math.round(a / bt) + 1;
621
+ }
622
+ function St(t, e) {
623
+ const n = y(t, e?.in), a = n.getFullYear(), r = j(), o = e?.firstWeekContainsDate ?? e?.locale?.options?.firstWeekContainsDate ?? r.firstWeekContainsDate ?? r.locale?.options?.firstWeekContainsDate ?? 1, s = M(e?.in || t, 0);
624
+ s.setFullYear(a + 1, 0, o), s.setHours(0, 0, 0, 0);
625
+ const c = N(s, e), g = M(e?.in || t, 0);
626
+ g.setFullYear(a, 0, o), g.setHours(0, 0, 0, 0);
627
+ const w = N(g, e);
628
+ return +n >= +c ? a + 1 : +n >= +w ? a : a - 1;
629
+ }
630
+ function He(t, e) {
631
+ const n = j(), a = e?.firstWeekContainsDate ?? e?.locale?.options?.firstWeekContainsDate ?? n.firstWeekContainsDate ?? n.locale?.options?.firstWeekContainsDate ?? 1, r = St(t, e), o = M(e?.in || t, 0);
632
+ return o.setFullYear(r, 0, a), o.setHours(0, 0, 0, 0), N(o, e);
633
+ }
634
+ function Le(t, e) {
635
+ const n = y(t, e?.in), a = +N(n, e) - +He(n, e);
636
+ return Math.round(a / bt) + 1;
637
+ }
638
+ function m(t, e) {
639
+ const n = t < 0 ? "-" : "", a = Math.abs(t).toString().padStart(e, "0");
640
+ return n + a;
641
+ }
642
+ const O = {
643
+ // Year
644
+ y(t, e) {
645
+ const n = t.getFullYear(), a = n > 0 ? n : 1 - n;
646
+ return m(e === "yy" ? a % 100 : a, e.length);
647
+ },
648
+ // Month
649
+ M(t, e) {
650
+ const n = t.getMonth();
651
+ return e === "M" ? String(n + 1) : m(n + 1, 2);
652
+ },
653
+ // Day of the month
654
+ d(t, e) {
655
+ return m(t.getDate(), e.length);
656
+ },
657
+ // AM or PM
658
+ a(t, e) {
659
+ const n = t.getHours() / 12 >= 1 ? "pm" : "am";
660
+ switch (e) {
661
+ case "a":
662
+ case "aa":
663
+ return n.toUpperCase();
664
+ case "aaa":
665
+ return n;
666
+ case "aaaaa":
667
+ return n[0];
668
+ default:
669
+ return n === "am" ? "a.m." : "p.m.";
670
+ }
671
+ },
672
+ // Hour [1-12]
673
+ h(t, e) {
674
+ return m(t.getHours() % 12 || 12, e.length);
675
+ },
676
+ // Hour [0-23]
677
+ H(t, e) {
678
+ return m(t.getHours(), e.length);
679
+ },
680
+ // Minute
681
+ m(t, e) {
682
+ return m(t.getMinutes(), e.length);
683
+ },
684
+ // Second
685
+ s(t, e) {
686
+ return m(t.getSeconds(), e.length);
687
+ },
688
+ // Fraction of second
689
+ S(t, e) {
690
+ const n = e.length, a = t.getMilliseconds(), r = Math.trunc(
691
+ a * Math.pow(10, n - 3)
692
+ );
693
+ return m(r, e.length);
694
+ }
695
+ }, W = {
696
+ midnight: "midnight",
697
+ noon: "noon",
698
+ morning: "morning",
699
+ afternoon: "afternoon",
700
+ evening: "evening",
701
+ night: "night"
702
+ }, ut = {
703
+ // Era
704
+ G: function(t, e, n) {
705
+ const a = t.getFullYear() > 0 ? 1 : 0;
706
+ switch (e) {
707
+ // AD, BC
708
+ case "G":
709
+ case "GG":
710
+ case "GGG":
711
+ return n.era(a, { width: "abbreviated" });
712
+ // A, B
713
+ case "GGGGG":
714
+ return n.era(a, { width: "narrow" });
715
+ default:
716
+ return n.era(a, { width: "wide" });
717
+ }
718
+ },
719
+ // Year
720
+ y: function(t, e, n) {
721
+ if (e === "yo") {
722
+ const a = t.getFullYear(), r = a > 0 ? a : 1 - a;
723
+ return n.ordinalNumber(r, { unit: "year" });
724
+ }
725
+ return O.y(t, e);
726
+ },
727
+ // Local week-numbering year
728
+ Y: function(t, e, n, a) {
729
+ const r = St(t, a), o = r > 0 ? r : 1 - r;
730
+ if (e === "YY") {
731
+ const s = o % 100;
732
+ return m(s, 2);
733
+ }
734
+ return e === "Yo" ? n.ordinalNumber(o, { unit: "year" }) : m(o, e.length);
735
+ },
736
+ // ISO week-numbering year
737
+ R: function(t, e) {
738
+ const n = Dt(t);
739
+ return m(n, e.length);
740
+ },
741
+ // Extended year. This is a single number designating the year of this calendar system.
742
+ // The main difference between `y` and `u` localizers are B.C. years:
743
+ // | Year | `y` | `u` |
744
+ // |------|-----|-----|
745
+ // | AC 1 | 1 | 1 |
746
+ // | BC 1 | 1 | 0 |
747
+ // | BC 2 | 2 | -1 |
748
+ // Also `yy` always returns the last two digits of a year,
749
+ // while `uu` pads single digit years to 2 characters and returns other years unchanged.
750
+ u: function(t, e) {
751
+ const n = t.getFullYear();
752
+ return m(n, e.length);
753
+ },
754
+ // Quarter
755
+ Q: function(t, e, n) {
756
+ const a = Math.ceil((t.getMonth() + 1) / 3);
757
+ switch (e) {
758
+ // 1, 2, 3, 4
759
+ case "Q":
760
+ return String(a);
761
+ // 01, 02, 03, 04
762
+ case "QQ":
763
+ return m(a, 2);
764
+ // 1st, 2nd, 3rd, 4th
765
+ case "Qo":
766
+ return n.ordinalNumber(a, { unit: "quarter" });
767
+ // Q1, Q2, Q3, Q4
768
+ case "QQQ":
769
+ return n.quarter(a, {
770
+ width: "abbreviated",
771
+ context: "formatting"
772
+ });
773
+ // 1, 2, 3, 4 (narrow quarter; could be not numerical)
774
+ case "QQQQQ":
775
+ return n.quarter(a, {
776
+ width: "narrow",
777
+ context: "formatting"
778
+ });
779
+ default:
780
+ return n.quarter(a, {
781
+ width: "wide",
782
+ context: "formatting"
783
+ });
784
+ }
785
+ },
786
+ // Stand-alone quarter
787
+ q: function(t, e, n) {
788
+ const a = Math.ceil((t.getMonth() + 1) / 3);
789
+ switch (e) {
790
+ // 1, 2, 3, 4
791
+ case "q":
792
+ return String(a);
793
+ // 01, 02, 03, 04
794
+ case "qq":
795
+ return m(a, 2);
796
+ // 1st, 2nd, 3rd, 4th
797
+ case "qo":
798
+ return n.ordinalNumber(a, { unit: "quarter" });
799
+ // Q1, Q2, Q3, Q4
800
+ case "qqq":
801
+ return n.quarter(a, {
802
+ width: "abbreviated",
803
+ context: "standalone"
804
+ });
805
+ // 1, 2, 3, 4 (narrow quarter; could be not numerical)
806
+ case "qqqqq":
807
+ return n.quarter(a, {
808
+ width: "narrow",
809
+ context: "standalone"
810
+ });
811
+ default:
812
+ return n.quarter(a, {
813
+ width: "wide",
814
+ context: "standalone"
815
+ });
816
+ }
817
+ },
818
+ // Month
819
+ M: function(t, e, n) {
820
+ const a = t.getMonth();
821
+ switch (e) {
822
+ case "M":
823
+ case "MM":
824
+ return O.M(t, e);
825
+ // 1st, 2nd, ..., 12th
826
+ case "Mo":
827
+ return n.ordinalNumber(a + 1, { unit: "month" });
828
+ // Jan, Feb, ..., Dec
829
+ case "MMM":
830
+ return n.month(a, {
831
+ width: "abbreviated",
832
+ context: "formatting"
833
+ });
834
+ // J, F, ..., D
835
+ case "MMMMM":
836
+ return n.month(a, {
837
+ width: "narrow",
838
+ context: "formatting"
839
+ });
840
+ default:
841
+ return n.month(a, { width: "wide", context: "formatting" });
842
+ }
843
+ },
844
+ // Stand-alone month
845
+ L: function(t, e, n) {
846
+ const a = t.getMonth();
847
+ switch (e) {
848
+ // 1, 2, ..., 12
849
+ case "L":
850
+ return String(a + 1);
851
+ // 01, 02, ..., 12
852
+ case "LL":
853
+ return m(a + 1, 2);
854
+ // 1st, 2nd, ..., 12th
855
+ case "Lo":
856
+ return n.ordinalNumber(a + 1, { unit: "month" });
857
+ // Jan, Feb, ..., Dec
858
+ case "LLL":
859
+ return n.month(a, {
860
+ width: "abbreviated",
861
+ context: "standalone"
862
+ });
863
+ // J, F, ..., D
864
+ case "LLLLL":
865
+ return n.month(a, {
866
+ width: "narrow",
867
+ context: "standalone"
868
+ });
869
+ default:
870
+ return n.month(a, { width: "wide", context: "standalone" });
871
+ }
872
+ },
873
+ // Local week of year
874
+ w: function(t, e, n, a) {
875
+ const r = Le(t, a);
876
+ return e === "wo" ? n.ordinalNumber(r, { unit: "week" }) : m(r, e.length);
877
+ },
878
+ // ISO week of year
879
+ I: function(t, e, n) {
880
+ const a = qe(t);
881
+ return e === "Io" ? n.ordinalNumber(a, { unit: "week" }) : m(a, e.length);
882
+ },
883
+ // Day of the month
884
+ d: function(t, e, n) {
885
+ return e === "do" ? n.ordinalNumber(t.getDate(), { unit: "date" }) : O.d(t, e);
886
+ },
887
+ // Day of year
888
+ D: function(t, e, n) {
889
+ const a = _e(t);
890
+ return e === "Do" ? n.ordinalNumber(a, { unit: "dayOfYear" }) : m(a, e.length);
891
+ },
892
+ // Day of week
893
+ E: function(t, e, n) {
894
+ const a = t.getDay();
895
+ switch (e) {
896
+ // Tue
897
+ case "E":
898
+ case "EE":
899
+ case "EEE":
900
+ return n.day(a, {
901
+ width: "abbreviated",
902
+ context: "formatting"
903
+ });
904
+ // T
905
+ case "EEEEE":
906
+ return n.day(a, {
907
+ width: "narrow",
908
+ context: "formatting"
909
+ });
910
+ // Tu
911
+ case "EEEEEE":
912
+ return n.day(a, {
913
+ width: "short",
914
+ context: "formatting"
915
+ });
916
+ default:
917
+ return n.day(a, {
918
+ width: "wide",
919
+ context: "formatting"
920
+ });
921
+ }
922
+ },
923
+ // Local day of week
924
+ e: function(t, e, n, a) {
925
+ const r = t.getDay(), o = (r - a.weekStartsOn + 8) % 7 || 7;
926
+ switch (e) {
927
+ // Numerical value (Nth day of week with current locale or weekStartsOn)
928
+ case "e":
929
+ return String(o);
930
+ // Padded numerical value
931
+ case "ee":
932
+ return m(o, 2);
933
+ // 1st, 2nd, ..., 7th
934
+ case "eo":
935
+ return n.ordinalNumber(o, { unit: "day" });
936
+ case "eee":
937
+ return n.day(r, {
938
+ width: "abbreviated",
939
+ context: "formatting"
940
+ });
941
+ // T
942
+ case "eeeee":
943
+ return n.day(r, {
944
+ width: "narrow",
945
+ context: "formatting"
946
+ });
947
+ // Tu
948
+ case "eeeeee":
949
+ return n.day(r, {
950
+ width: "short",
951
+ context: "formatting"
952
+ });
953
+ default:
954
+ return n.day(r, {
955
+ width: "wide",
956
+ context: "formatting"
957
+ });
958
+ }
959
+ },
960
+ // Stand-alone local day of week
961
+ c: function(t, e, n, a) {
962
+ const r = t.getDay(), o = (r - a.weekStartsOn + 8) % 7 || 7;
963
+ switch (e) {
964
+ // Numerical value (same as in `e`)
965
+ case "c":
966
+ return String(o);
967
+ // Padded numerical value
968
+ case "cc":
969
+ return m(o, e.length);
970
+ // 1st, 2nd, ..., 7th
971
+ case "co":
972
+ return n.ordinalNumber(o, { unit: "day" });
973
+ case "ccc":
974
+ return n.day(r, {
975
+ width: "abbreviated",
976
+ context: "standalone"
977
+ });
978
+ // T
979
+ case "ccccc":
980
+ return n.day(r, {
981
+ width: "narrow",
982
+ context: "standalone"
983
+ });
984
+ // Tu
985
+ case "cccccc":
986
+ return n.day(r, {
987
+ width: "short",
988
+ context: "standalone"
989
+ });
990
+ default:
991
+ return n.day(r, {
992
+ width: "wide",
993
+ context: "standalone"
994
+ });
995
+ }
996
+ },
997
+ // ISO day of week
998
+ i: function(t, e, n) {
999
+ const a = t.getDay(), r = a === 0 ? 7 : a;
1000
+ switch (e) {
1001
+ // 2
1002
+ case "i":
1003
+ return String(r);
1004
+ // 02
1005
+ case "ii":
1006
+ return m(r, e.length);
1007
+ // 2nd
1008
+ case "io":
1009
+ return n.ordinalNumber(r, { unit: "day" });
1010
+ // Tue
1011
+ case "iii":
1012
+ return n.day(a, {
1013
+ width: "abbreviated",
1014
+ context: "formatting"
1015
+ });
1016
+ // T
1017
+ case "iiiii":
1018
+ return n.day(a, {
1019
+ width: "narrow",
1020
+ context: "formatting"
1021
+ });
1022
+ // Tu
1023
+ case "iiiiii":
1024
+ return n.day(a, {
1025
+ width: "short",
1026
+ context: "formatting"
1027
+ });
1028
+ default:
1029
+ return n.day(a, {
1030
+ width: "wide",
1031
+ context: "formatting"
1032
+ });
1033
+ }
1034
+ },
1035
+ // AM or PM
1036
+ a: function(t, e, n) {
1037
+ const r = t.getHours() / 12 >= 1 ? "pm" : "am";
1038
+ switch (e) {
1039
+ case "a":
1040
+ case "aa":
1041
+ return n.dayPeriod(r, {
1042
+ width: "abbreviated",
1043
+ context: "formatting"
1044
+ });
1045
+ case "aaa":
1046
+ return n.dayPeriod(r, {
1047
+ width: "abbreviated",
1048
+ context: "formatting"
1049
+ }).toLowerCase();
1050
+ case "aaaaa":
1051
+ return n.dayPeriod(r, {
1052
+ width: "narrow",
1053
+ context: "formatting"
1054
+ });
1055
+ default:
1056
+ return n.dayPeriod(r, {
1057
+ width: "wide",
1058
+ context: "formatting"
1059
+ });
1060
+ }
1061
+ },
1062
+ // AM, PM, midnight, noon
1063
+ b: function(t, e, n) {
1064
+ const a = t.getHours();
1065
+ let r;
1066
+ switch (a === 12 ? r = W.noon : a === 0 ? r = W.midnight : r = a / 12 >= 1 ? "pm" : "am", e) {
1067
+ case "b":
1068
+ case "bb":
1069
+ return n.dayPeriod(r, {
1070
+ width: "abbreviated",
1071
+ context: "formatting"
1072
+ });
1073
+ case "bbb":
1074
+ return n.dayPeriod(r, {
1075
+ width: "abbreviated",
1076
+ context: "formatting"
1077
+ }).toLowerCase();
1078
+ case "bbbbb":
1079
+ return n.dayPeriod(r, {
1080
+ width: "narrow",
1081
+ context: "formatting"
1082
+ });
1083
+ default:
1084
+ return n.dayPeriod(r, {
1085
+ width: "wide",
1086
+ context: "formatting"
1087
+ });
1088
+ }
1089
+ },
1090
+ // in the morning, in the afternoon, in the evening, at night
1091
+ B: function(t, e, n) {
1092
+ const a = t.getHours();
1093
+ let r;
1094
+ switch (a >= 17 ? r = W.evening : a >= 12 ? r = W.afternoon : a >= 4 ? r = W.morning : r = W.night, e) {
1095
+ case "B":
1096
+ case "BB":
1097
+ case "BBB":
1098
+ return n.dayPeriod(r, {
1099
+ width: "abbreviated",
1100
+ context: "formatting"
1101
+ });
1102
+ case "BBBBB":
1103
+ return n.dayPeriod(r, {
1104
+ width: "narrow",
1105
+ context: "formatting"
1106
+ });
1107
+ default:
1108
+ return n.dayPeriod(r, {
1109
+ width: "wide",
1110
+ context: "formatting"
1111
+ });
1112
+ }
1113
+ },
1114
+ // Hour [1-12]
1115
+ h: function(t, e, n) {
1116
+ if (e === "ho") {
1117
+ let a = t.getHours() % 12;
1118
+ return a === 0 && (a = 12), n.ordinalNumber(a, { unit: "hour" });
1119
+ }
1120
+ return O.h(t, e);
1121
+ },
1122
+ // Hour [0-23]
1123
+ H: function(t, e, n) {
1124
+ return e === "Ho" ? n.ordinalNumber(t.getHours(), { unit: "hour" }) : O.H(t, e);
1125
+ },
1126
+ // Hour [0-11]
1127
+ K: function(t, e, n) {
1128
+ const a = t.getHours() % 12;
1129
+ return e === "Ko" ? n.ordinalNumber(a, { unit: "hour" }) : m(a, e.length);
1130
+ },
1131
+ // Hour [1-24]
1132
+ k: function(t, e, n) {
1133
+ let a = t.getHours();
1134
+ return a === 0 && (a = 24), e === "ko" ? n.ordinalNumber(a, { unit: "hour" }) : m(a, e.length);
1135
+ },
1136
+ // Minute
1137
+ m: function(t, e, n) {
1138
+ return e === "mo" ? n.ordinalNumber(t.getMinutes(), { unit: "minute" }) : O.m(t, e);
1139
+ },
1140
+ // Second
1141
+ s: function(t, e, n) {
1142
+ return e === "so" ? n.ordinalNumber(t.getSeconds(), { unit: "second" }) : O.s(t, e);
1143
+ },
1144
+ // Fraction of second
1145
+ S: function(t, e) {
1146
+ return O.S(t, e);
1147
+ },
1148
+ // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
1149
+ X: function(t, e, n) {
1150
+ const a = t.getTimezoneOffset();
1151
+ if (a === 0)
1152
+ return "Z";
1153
+ switch (e) {
1154
+ // Hours and optional minutes
1155
+ case "X":
1156
+ return lt(a);
1157
+ // Hours, minutes and optional seconds without `:` delimiter
1158
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1159
+ // so this token always has the same output as `XX`
1160
+ case "XXXX":
1161
+ case "XX":
1162
+ return T(a);
1163
+ // Hours and minutes with `:` delimiter
1164
+ default:
1165
+ return T(a, ":");
1166
+ }
1167
+ },
1168
+ // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
1169
+ x: function(t, e, n) {
1170
+ const a = t.getTimezoneOffset();
1171
+ switch (e) {
1172
+ // Hours and optional minutes
1173
+ case "x":
1174
+ return lt(a);
1175
+ // Hours, minutes and optional seconds without `:` delimiter
1176
+ // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
1177
+ // so this token always has the same output as `xx`
1178
+ case "xxxx":
1179
+ case "xx":
1180
+ return T(a);
1181
+ // Hours and minutes with `:` delimiter
1182
+ default:
1183
+ return T(a, ":");
1184
+ }
1185
+ },
1186
+ // Timezone (GMT)
1187
+ O: function(t, e, n) {
1188
+ const a = t.getTimezoneOffset();
1189
+ switch (e) {
1190
+ // Short
1191
+ case "O":
1192
+ case "OO":
1193
+ case "OOO":
1194
+ return "GMT" + dt(a, ":");
1195
+ default:
1196
+ return "GMT" + T(a, ":");
1197
+ }
1198
+ },
1199
+ // Timezone (specific non-location)
1200
+ z: function(t, e, n) {
1201
+ const a = t.getTimezoneOffset();
1202
+ switch (e) {
1203
+ // Short
1204
+ case "z":
1205
+ case "zz":
1206
+ case "zzz":
1207
+ return "GMT" + dt(a, ":");
1208
+ default:
1209
+ return "GMT" + T(a, ":");
1210
+ }
1211
+ },
1212
+ // Seconds timestamp
1213
+ t: function(t, e, n) {
1214
+ const a = Math.trunc(+t / 1e3);
1215
+ return m(a, e.length);
1216
+ },
1217
+ // Milliseconds timestamp
1218
+ T: function(t, e, n) {
1219
+ return m(+t, e.length);
1220
+ }
1221
+ };
1222
+ function dt(t, e = "") {
1223
+ const n = t > 0 ? "-" : "+", a = Math.abs(t), r = Math.trunc(a / 60), o = a % 60;
1224
+ return o === 0 ? n + String(r) : n + String(r) + e + m(o, 2);
1225
+ }
1226
+ function lt(t, e) {
1227
+ return t % 60 === 0 ? (t > 0 ? "-" : "+") + m(Math.abs(t) / 60, 2) : T(t, e);
1228
+ }
1229
+ function T(t, e = "") {
1230
+ const n = t > 0 ? "-" : "+", a = Math.abs(t), r = m(Math.trunc(a / 60), 2), o = m(a % 60, 2);
1231
+ return n + r + e + o;
1232
+ }
1233
+ const mt = (t, e) => {
1234
+ switch (t) {
1235
+ case "P":
1236
+ return e.date({ width: "short" });
1237
+ case "PP":
1238
+ return e.date({ width: "medium" });
1239
+ case "PPP":
1240
+ return e.date({ width: "long" });
1241
+ default:
1242
+ return e.date({ width: "full" });
1243
+ }
1244
+ }, kt = (t, e) => {
1245
+ switch (t) {
1246
+ case "p":
1247
+ return e.time({ width: "short" });
1248
+ case "pp":
1249
+ return e.time({ width: "medium" });
1250
+ case "ppp":
1251
+ return e.time({ width: "long" });
1252
+ default:
1253
+ return e.time({ width: "full" });
1254
+ }
1255
+ }, Re = (t, e) => {
1256
+ const n = t.match(/(P+)(p+)?/) || [], a = n[1], r = n[2];
1257
+ if (!r)
1258
+ return mt(t, e);
1259
+ let o;
1260
+ switch (a) {
1261
+ case "P":
1262
+ o = e.dateTime({ width: "short" });
1263
+ break;
1264
+ case "PP":
1265
+ o = e.dateTime({ width: "medium" });
1266
+ break;
1267
+ case "PPP":
1268
+ o = e.dateTime({ width: "long" });
1269
+ break;
1270
+ default:
1271
+ o = e.dateTime({ width: "full" });
1272
+ break;
1273
+ }
1274
+ return o.replace("{{date}}", mt(a, e)).replace("{{time}}", kt(r, e));
1275
+ }, Xe = {
1276
+ p: kt,
1277
+ P: Re
1278
+ }, je = /^D+$/, Ve = /^Y+$/, Qe = ["D", "DD", "YY", "YYYY"];
1279
+ function $e(t) {
1280
+ return je.test(t);
1281
+ }
1282
+ function Be(t) {
1283
+ return Ve.test(t);
1284
+ }
1285
+ function Ge(t, e, n) {
1286
+ const a = ze(t, e, n);
1287
+ if (console.warn(a), Qe.includes(t)) throw new RangeError(a);
1288
+ }
1289
+ function ze(t, e, n) {
1290
+ const a = t[0] === "Y" ? "years" : "days of the month";
1291
+ return `Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${e}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
1292
+ }
1293
+ const Je = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, Ke = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Ze = /^'([^]*?)'?$/, Ue = /''/g, tn = /[a-zA-Z]/;
1294
+ function en(t, e, n) {
1295
+ const a = j(), r = a.locale ?? Ie, o = a.firstWeekContainsDate ?? a.locale?.options?.firstWeekContainsDate ?? 1, s = a.weekStartsOn ?? a.locale?.options?.weekStartsOn ?? 0, c = y(t, n?.in);
1296
+ if (!te(c))
1297
+ throw new RangeError("Invalid time value");
1298
+ let g = e.match(Ke).map((l) => {
1299
+ const f = l[0];
1300
+ if (f === "p" || f === "P") {
1301
+ const S = Xe[f];
1302
+ return S(l, r.formatLong);
1303
+ }
1304
+ return l;
1305
+ }).join("").match(Je).map((l) => {
1306
+ if (l === "''")
1307
+ return { isToken: !1, value: "'" };
1308
+ const f = l[0];
1309
+ if (f === "'")
1310
+ return { isToken: !1, value: nn(l) };
1311
+ if (ut[f])
1312
+ return { isToken: !0, value: l };
1313
+ if (f.match(tn))
1314
+ throw new RangeError(
1315
+ "Format string contains an unescaped latin alphabet character `" + f + "`"
1316
+ );
1317
+ return { isToken: !1, value: l };
1318
+ });
1319
+ r.localize.preprocessor && (g = r.localize.preprocessor(c, g));
1320
+ const w = {
1321
+ firstWeekContainsDate: o,
1322
+ weekStartsOn: s,
1323
+ locale: r
1324
+ };
1325
+ return g.map((l) => {
1326
+ if (!l.isToken) return l.value;
1327
+ const f = l.value;
1328
+ (Be(f) || $e(f)) && Ge(f, e, String(t));
1329
+ const S = ut[f[0]];
1330
+ return S(c, f, r.localize, w);
1331
+ }).join("");
1332
+ }
1333
+ function nn(t) {
1334
+ const e = t.match(Ze);
1335
+ return e ? e[1].replace(Ue, "'") : t;
1336
+ }
1337
+ function an(t, e) {
1338
+ const n = y(t, e?.in), a = n.getFullYear(), r = n.getMonth(), o = M(n, 0);
1339
+ return o.setFullYear(a, r + 1, 0), o.setHours(0, 0, 0, 0), o.getDate();
1340
+ }
1341
+ function rn(t, e) {
1342
+ return +y(t) > +y(e);
1343
+ }
1344
+ function on(t, e) {
1345
+ return +y(t) < +y(e);
1346
+ }
1347
+ function sn(t, e, n) {
1348
+ const [a, r] = z(
1349
+ n?.in,
1350
+ t,
1351
+ e
1352
+ );
1353
+ return a.getFullYear() === r.getFullYear() && a.getMonth() === r.getMonth();
1354
+ }
1355
+ function cn(t, e) {
1356
+ return Zt(
1357
+ M(t, t),
1358
+ Kt(t)
1359
+ );
1360
+ }
1361
+ function un(t, e, n) {
1362
+ return Mt(t, -e, n);
1363
+ }
1364
+ function dn(t, e, n) {
1365
+ const a = y(t, n?.in), r = a.getFullYear(), o = a.getDate(), s = M(t, 0);
1366
+ s.setFullYear(r, e, 15), s.setHours(0, 0, 0, 0);
1367
+ const c = an(s);
1368
+ return a.setMonth(e, Math.min(o, c)), a;
1369
+ }
1370
+ function ln(t, e, n) {
1371
+ let a = y(t, n?.in);
1372
+ return isNaN(+a) ? M(t, NaN) : (e.year != null && a.setFullYear(e.year), e.month != null && (a = dn(a, e.month)), e.date != null && a.setDate(e.date), e.hours != null && a.setHours(e.hours), e.minutes != null && a.setMinutes(e.minutes), e.seconds != null && a.setSeconds(e.seconds), e.milliseconds != null && a.setMilliseconds(e.milliseconds), a);
1373
+ }
1374
+ function mn(t, e, n) {
1375
+ const a = y(t, n?.in);
1376
+ return isNaN(+a) ? M(t, NaN) : (a.setFullYear(e), a);
1377
+ }
1378
+ function fn(t, e, n) {
1379
+ return pt(t, -e, n);
1380
+ }
1381
+ function L(t, e, n) {
1382
+ const {
1383
+ years: a = 0,
1384
+ months: r = 0,
1385
+ weeks: o = 0,
1386
+ days: s = 0,
1387
+ hours: c = 0,
1388
+ minutes: g = 0,
1389
+ seconds: w = 0
1390
+ } = e, l = fn(t, r + a * 12, n), f = un(l, s + o * 7, n), S = g + c * 60, Q = (w + S * 60) * 1e3;
1391
+ return M(t, +f - Q);
1392
+ }
1393
+ const hn = (t, e = 0) => {
1394
+ let n;
1395
+ return function(...r) {
1396
+ clearTimeout(n), n = setTimeout(() => t(...r), e);
1397
+ };
1398
+ };
1399
+ function gn(t, e) {
1400
+ return R(hn(t, e)).current;
1401
+ }
1402
+ function yn(t, e) {
1403
+ const n = R(null);
1404
+ return { onTouchStart: (o) => n.current = o.touches[0].clientX, onTouchEnd: (o) => {
1405
+ if (n.current === null) return;
1406
+ const c = o.changedTouches[0].clientX - n.current;
1407
+ Math.abs(c) > e && t(o, c > 0 ? "right" : "left"), n.current = null;
1408
+ } };
1409
+ }
1410
+ const wn = /^(?<hour>\d\d):(?<min>\d\d)$/, bn = { type: "spring", bounce: 0.3, duration: 0.6 }, ft = (t) => (e = 1) => ({ x: `${100 * t * e}%`, opacity: 0.25 }), Ot = {
1411
+ enter: ft(1),
1412
+ exit: ft(-1),
1413
+ middle: { x: "0%", opacity: 1 }
1414
+ }, ht = { exit: { visibility: "hidden" } }, Mn = (t) => {
1415
+ const e = N(vt(t));
1416
+ return xt({ start: e, end: F(e, { days: 41 }) });
1417
+ }, Pt = (t, e) => t.toLocaleDateString(e, { month: "long" }), pn = (t, e, n) => Array.from({ length: 12 }).map((a, r) => {
1418
+ const o = vt(new Date(1970, r, 1).setMonth(r)), s = Pt(o, n);
1419
+ return /* @__PURE__ */ h("option", { value: s, "data-index": r, children: s }, `${t}-${s}`);
1420
+ }), rt = {
1421
+ ArrowLeft: (t, e) => e === "days" ? L(t, { days: 1 }) : L(t, { months: 1 }),
1422
+ ArrowRight: (t, e) => e === "days" ? F(t, { days: 1 }) : F(t, { months: 1 }),
1423
+ ArrowUp: (t, e) => e === "days" ? L(t, { weeks: 1 }) : L(t, { years: 1 }),
1424
+ ArrowDown: (t, e) => e === "days" ? F(t, { weeks: 1 }) : F(t, { years: 1 })
1425
+ }, gt = (t, e, n, a = 0) => {
1426
+ const r = n.toISOString(), o = () => {
1427
+ if (t?.dataset.focustrap) {
1428
+ const s = e.current?.querySelector(`button[data-focustrap="${t?.dataset.focustrap}"]`);
1429
+ return setTimeout(() => s?.focus({ preventScroll: !0 }), a);
1430
+ }
1431
+ if (e.current) {
1432
+ const s = e.current.querySelector(`button[data-date="${r}"]`);
1433
+ if (s) return s.focus({ preventScroll: !0 });
1434
+ }
1435
+ };
1436
+ a === 0 && o(), setTimeout(o, a);
1437
+ }, P = (t) => t.getFullYear().toString().padStart(4, "0"), Dn = (t, e, n) => t === void 0 || n === void 0 ? !1 : rn(e, t) && on(e, n), xn = (t) => {
1438
+ const e = yt();
1439
+ return /* @__PURE__ */ h(E.tbody, { layout: !0, variants: Ot, custom: t.direction, onKeyDown: t.onKeyDown, className: X(t.styles?.week), children: t.zip.map((n, a) => {
1440
+ const r = C.function(t.styles?.week) ? t.styles?.week(n) : t.styles?.week;
1441
+ return /* @__PURE__ */ h("tr", { className: r, children: n.map((o) => {
1442
+ const s = o.toISOString(), c = t.rangeMode ? s === t.range?.to?.toISOString() || s === t.range?.from?.toISOString() : s === (t.date ? A(t.date).toISOString() : void 0), g = cn(o) && t.markToday, w = t.disabledDate?.(o) || !1, l = sn(o, t.stateDate), f = !l || w, S = t.rangeMode ? Dn(t.range?.from, o, t.range?.to) : !1;
1443
+ return /* @__PURE__ */ Y(
1444
+ "td",
1445
+ {
1446
+ align: "center",
1447
+ className: X(
1448
+ "relative p-1",
1449
+ C.function(t.styles?.dayFrame) ? t.styles?.dayFrame(o) : t.styles?.dayFrame
1450
+ ),
1451
+ children: [
1452
+ /* @__PURE__ */ Y(
1453
+ "button",
1454
+ {
1455
+ type: "button",
1456
+ "data-date": s,
1457
+ disabled: w,
1458
+ "data-samemonth": l,
1459
+ "data-range": t.rangeMode,
1460
+ onClick: t.dispatch.onSelectDate,
1461
+ "data-view": t.stateDate.getMonth().toString(),
1462
+ className: X(
1463
+ `relative flex size-9 items-center justify-center rounded-full proportional-nums disabled:cursor-not-allowed ${g ? "text-emphasis" : ""} ${f ? "text-disabled" : ""} ${c ? "bg-primary text-primary-foreground" : ""}`,
1464
+ S && t.markRange ? "size-9 border border-dashed border-card-border" : "",
1465
+ C.function(t.styles?.day) ? t.styles?.day(o) : t.styles?.day
1466
+ ),
1467
+ children: [
1468
+ /* @__PURE__ */ h("div", {}),
1469
+ o.getDate(),
1470
+ c && t.stateRange.from?.toISOString() === s ? /* @__PURE__ */ h("span", { className: "absolute -top-2 left-0 h-full w-full", children: /* @__PURE__ */ h("span", { className: "text-xs text-foreground", children: t.labelRange?.from ?? e.calendarFromDate }) }) : null,
1471
+ c && t.stateRange.to?.toISOString() === s ? /* @__PURE__ */ h("span", { className: "absolute -top-2 left-0 h-full w-full", children: /* @__PURE__ */ h("span", { className: "text-xs text-foreground", children: t.labelRange?.to ?? e.calendarToDate }) }) : null
1472
+ ]
1473
+ }
1474
+ ),
1475
+ t.RenderOnDay ? /* @__PURE__ */ h(t.RenderOnDay, { date: o }) : null
1476
+ ]
1477
+ },
1478
+ s
1479
+ );
1480
+ }) }, `week-${n.length}-${a}`);
1481
+ }) });
1482
+ }, vn = () => A(/* @__PURE__ */ new Date()), Hn = ({
1483
+ RenderOnDay: t,
1484
+ changeOnlyOnClick: e = !1,
1485
+ labelRange: n,
1486
+ disabledDate: a,
1487
+ locale: r,
1488
+ markToday: o = !0,
1489
+ onChangeMonth: s,
1490
+ onChangeYear: c,
1491
+ rangeMode: g = !1,
1492
+ onChange: w,
1493
+ styles: l,
1494
+ markRange: f = !0,
1495
+ type: S = "date",
1496
+ datetimeTitle: V,
1497
+ ...Q
1498
+ }) => {
1499
+ const J = R(Rt()), I = yt(), K = $t(r), Z = R(null), { date: $, range: U } = Q, _ = $ || /* @__PURE__ */ new Date(), B = R(null), [x, v] = Ht(
1500
+ {
1501
+ date: _,
1502
+ isAnimating: !1,
1503
+ year: P(_),
1504
+ direction: void 0,
1505
+ range: { from: U?.from, to: U?.to },
1506
+ months: pn(J.current, _, K),
1507
+ selectMode: g ? "from" : void 0,
1508
+ week: xt({ start: N(_), end: ae(_) })
1509
+ },
1510
+ (u) => ({
1511
+ onChangeYear: (d) => ({ year: d }),
1512
+ onExitComplete: () => (gt(B.current || null, Z, u.state().date, 200), B.current = null, { isAnimating: !1 }),
1513
+ date: (d) => {
1514
+ const i = d(u.state().date);
1515
+ return { date: i, year: P(i) };
1516
+ },
1517
+ nextMonth: (d) => {
1518
+ d && (B.current = d.currentTarget);
1519
+ const i = u.state();
1520
+ if (i.isAnimating) return i;
1521
+ const p = F(i.date, { months: 1 });
1522
+ return { date: p, isAnimating: !0, direction: 1, year: P(p) };
1523
+ },
1524
+ previousMonth: (d) => {
1525
+ d && (B.current = d.currentTarget);
1526
+ const i = u.state();
1527
+ if (i.isAnimating) return i;
1528
+ const p = L(i.date, { months: 1 });
1529
+ return { date: p, isAnimating: !0, direction: -1, year: P(p) };
1530
+ },
1531
+ onSelectDate: (d) => {
1532
+ const i = u.state(), p = d.currentTarget.dataset.range === "true", k = d.currentTarget.dataset.date || "", D = new Date(k);
1533
+ return {
1534
+ date: D,
1535
+ year: P(D),
1536
+ selectMode: i.selectMode === void 0 ? void 0 : i.selectMode === "from" ? "to" : "from",
1537
+ range: p ? {
1538
+ from: i.selectMode === "from" ? D : i.range.from,
1539
+ to: i.selectMode === "to" ? D : i.range.to
1540
+ } : i.range
1541
+ };
1542
+ },
1543
+ onChangeMonth: (d) => {
1544
+ const i = d.target.value, k = Array.from(d.target.options).find((et) => et.value === i), D = u.state();
1545
+ if (k) {
1546
+ const et = k.dataset.index || "", nt = new Date(u.state().date);
1547
+ return nt.setMonth(+et), { ...D, date: nt, year: P(nt) };
1548
+ }
1549
+ return D;
1550
+ },
1551
+ onKeyDown: (d) => {
1552
+ const i = d.key, p = u.state();
1553
+ if (i in rt) {
1554
+ (i === "ArrowUp" || i === "ArrowDown") && d.preventDefault();
1555
+ const k = u.state().date, D = C.keyof(rt, i) ? rt[i](k, d.shiftKey ? "month" : "days") : null;
1556
+ if (D !== null)
1557
+ return gt(d.target, Z, D), { ...p, date: D, year: P(D) };
1558
+ }
1559
+ return u.state();
1560
+ }
1561
+ }),
1562
+ {
1563
+ props: { onChangeMonth: s, onChangeYear: c },
1564
+ postMiddleware: [
1565
+ (u, d, i) => ((i.method === "onChangeMonth" || i.method === "previousMonth" || i.method === "nextMonth") && i.props.onChangeMonth?.(u.date), u),
1566
+ (u, d, i) => (i.method === "onChangeYear" && i.props.onChangeYear?.(u.date), u),
1567
+ (u, d, i) => {
1568
+ const p = i.method === "onSelectDate" || i.method === "setToday" || i.method === "onKeyDown";
1569
+ return g && p && e ? (w?.(u.range), u) : (p && e && w?.(u.date), u);
1570
+ }
1571
+ ]
1572
+ }
1573
+ ), ot = Mn(x.date), Tt = Xt(ot, 7), Yt = x.date.toISOString(), tt = Pt(x.date, K);
1574
+ Ct(() => {
1575
+ e || w?.(x.date);
1576
+ }, [Yt, e]);
1577
+ const Nt = gn((u) => v.date((d) => mn(new Date(d), +u)), 1200), Wt = (u) => {
1578
+ const d = u.currentTarget.value;
1579
+ v.onChangeYear(d), c?.(new Date(d)), Nt(d);
1580
+ }, st = yn((u, d) => (u.preventDefault(), d === "right" ? v.previousMonth() : v.nextMonth()), 10), Et = () => {
1581
+ const u = vn();
1582
+ v.date(() => u), w?.(u);
1583
+ };
1584
+ return /* @__PURE__ */ h(Vt, { transition: bn, children: /* @__PURE__ */ Y(
1585
+ "div",
1586
+ {
1587
+ ref: Z,
1588
+ "data-component": "calendar",
1589
+ onTouchEnd: st.onTouchEnd,
1590
+ onTouchStart: st.onTouchStart,
1591
+ className: X("relative overflow-hidden", C.function(l?.calendar) ? l?.calendar(ot) : l?.calendar),
1592
+ children: [
1593
+ /* @__PURE__ */ h("div", { className: "flex flex-col justify-center rounded text-center", children: /* @__PURE__ */ h(jt, { initial: !1, mode: "popLayout", custom: x.direction, onExitComplete: v.onExitComplete, children: /* @__PURE__ */ Y(E.div, { initial: "enter", animate: "middle", exit: "exit", children: [
1594
+ /* @__PURE__ */ Y("header", { className: "relative flex justify-between", children: [
1595
+ /* @__PURE__ */ h(
1596
+ E.button,
1597
+ {
1598
+ layout: !0,
1599
+ type: "button",
1600
+ "data-focustrap": "prev",
1601
+ variants: ht,
1602
+ onClick: v.previousMonth,
1603
+ title: I.calendarBackMonth,
1604
+ className: "z-calendar rounded-full p-1.5 hover:bg-primary hover:text-primary-foreground",
1605
+ children: /* @__PURE__ */ h(wt, { className: "h-4 w-4" })
1606
+ }
1607
+ ),
1608
+ /* @__PURE__ */ h(
1609
+ E.span,
1610
+ {
1611
+ layout: !0,
1612
+ variants: Ot,
1613
+ custom: x.direction,
1614
+ className: "absolute inset-0 isolate z-normal flex items-center justify-center font-semibold",
1615
+ children: /* @__PURE__ */ Y("span", { className: "flex w-fit items-center justify-center gap-0.5 py-1", children: [
1616
+ /* @__PURE__ */ h(
1617
+ "select",
1618
+ {
1619
+ value: tt,
1620
+ onChange: v.onChangeMonth,
1621
+ "aria-label": I.calendarMonthLabel,
1622
+ style: { width: `${tt.length + 1}ch` },
1623
+ className: "cursor-pointer appearance-none bg-transparent capitalize proportional-nums hover:text-primary",
1624
+ children: x.months
1625
+ }
1626
+ ),
1627
+ /* @__PURE__ */ h(
1628
+ _t,
1629
+ {
1630
+ mask: "int",
1631
+ maxLength: 4,
1632
+ placeholder: "YYYY",
1633
+ value: x.year,
1634
+ onChange: Wt,
1635
+ style: { width: `${x.year.length}ch` },
1636
+ className: "w-16 cursor-pointer appearance-none bg-transparent hover:text-primary"
1637
+ }
1638
+ )
1639
+ ] })
1640
+ }
1641
+ ),
1642
+ /* @__PURE__ */ h(
1643
+ E.button,
1644
+ {
1645
+ layout: !0,
1646
+ type: "button",
1647
+ "data-focustrap": "next",
1648
+ variants: ht,
1649
+ onClick: v.nextMonth,
1650
+ title: I.calendarNextMonth,
1651
+ className: "z-calendar rounded-full p-1.5 hover:bg-primary hover:text-primary-foreground",
1652
+ children: /* @__PURE__ */ h(It, { className: "h-4 w-4" })
1653
+ }
1654
+ )
1655
+ ] }),
1656
+ /* @__PURE__ */ Y(E.table, { className: "mt-2 table min-w-full table-auto border-0", children: [
1657
+ /* @__PURE__ */ h("thead", { children: /* @__PURE__ */ h("tr", { children: x.week.map((u) => /* @__PURE__ */ h(
1658
+ "th",
1659
+ {
1660
+ role: "columnheader",
1661
+ className: X(
1662
+ "py-2 text-sm font-medium capitalize",
1663
+ C.function(l?.weekDay) ? l.weekDay(u) : l?.weekDay
1664
+ ),
1665
+ children: u.toLocaleDateString(K, { weekday: "short" })
1666
+ },
1667
+ u.toString()
1668
+ )) }) }),
1669
+ /* @__PURE__ */ h(
1670
+ xn,
1671
+ {
1672
+ zip: Tt,
1673
+ range: U,
1674
+ styles: l,
1675
+ date: $ || null,
1676
+ dispatch: v,
1677
+ markRange: f,
1678
+ markToday: o,
1679
+ rangeMode: g,
1680
+ stateDate: x.date,
1681
+ labelRange: n,
1682
+ stateRange: x.range,
1683
+ RenderOnDay: t,
1684
+ direction: x.direction,
1685
+ disabledDate: a,
1686
+ onKeyDown: v.onKeyDown
1687
+ }
1688
+ )
1689
+ ] })
1690
+ ] }, tt) }) }),
1691
+ S === "datetime" ? /* @__PURE__ */ h("section", { className: "my-4 grid items-center", children: /* @__PURE__ */ h(
1692
+ qt,
1693
+ {
1694
+ info: null,
1695
+ mask: "time",
1696
+ optionalText: " ",
1697
+ container: "w-full",
1698
+ reportStatus: !1,
1699
+ defaultValue: $ ? en($, "HH:mm") : void 0,
1700
+ title: V || I.calendarDatetimeTitle,
1701
+ onChange: (u) => {
1702
+ const d = u.target.value, i = wn.exec(d);
1703
+ if (!i) return;
1704
+ const p = i.groups.hour, k = i.groups.min, D = ln(x.date, { hours: Number(p), minutes: Number(k), seconds: 0 });
1705
+ v.date(() => D), w?.(D);
1706
+ }
1707
+ }
1708
+ ) }) : null,
1709
+ /* @__PURE__ */ h("footer", { className: "mt-2 text-center text-primary", children: /* @__PURE__ */ h("button", { type: "button", onClick: Et, className: "transition-transform duration-300 hover:scale-105", children: I.calendarToday }) })
1710
+ ]
1711
+ }
1712
+ ) });
1713
+ };
1714
+ export {
1715
+ Ge as A,
1716
+ $e as B,
1717
+ Hn as C,
1718
+ en as D,
1719
+ A as E,
1720
+ Mt as a,
1721
+ N as b,
1722
+ fn as c,
1723
+ un as d,
1724
+ pt as e,
1725
+ sn as f,
1726
+ qe as g,
1727
+ te as h,
1728
+ cn as i,
1729
+ yn as j,
1730
+ j as k,
1731
+ y as l,
1732
+ M as m,
1733
+ _n as n,
1734
+ In as o,
1735
+ qn as p,
1736
+ St as q,
1737
+ G as r,
1738
+ vt as s,
1739
+ wt as t,
1740
+ $t as u,
1741
+ Le as v,
1742
+ ct as w,
1743
+ Ie as x,
1744
+ Xe as y,
1745
+ Be as z
1746
+ };
1747
+ //# sourceMappingURL=calendar-B5lSd0ID.js.map