ics-ui-kit 1.0.0-alpha.1 → 1.0.0-alpha.2

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.
@@ -0,0 +1,2964 @@
1
+ import f, { createContext as xn, useContext as Tn, useCallback as $, useRef as Ce, useLayoutEffect as Pn, useState as Qe, useEffect as En, useMemo as Ne } from "react";
2
+ import { jsx as R, jsxs as ut } from "react/jsx-runtime";
3
+ import { T as Ve } from "./index-BVqs-uqP.js";
4
+ import { C as _n } from "./chevron-left-D6FtXcdU.js";
5
+ import { C as Fn } from "./chevron-right-D3juAhA-.js";
6
+ import { C as Bn } from "./chevron-up-UDiVTHo0.js";
7
+ import { C as In } from "./chevron-down-CAOItu8X.js";
8
+ import { B as vt } from "./Button-_qdP4hSf.js";
9
+ const Se = Ve({
10
+ base: "size-4"
11
+ }), Ot = ({ className: e, orientation: t, ...n }) => t === "left" ? /* @__PURE__ */ R(_n, { className: Se({ className: e }), ...n }) : t === "right" ? /* @__PURE__ */ R(Fn, { className: Se({ className: e }), ...n }) : t === "up" ? /* @__PURE__ */ R(Bn, { className: Se({ className: e }), ...n }) : /* @__PURE__ */ R(In, { className: Se({ className: e }), ...n });
12
+ Ot.displayName = "CalendarChevron";
13
+ function Hn(e, t, n = "long") {
14
+ return new Intl.DateTimeFormat("en-US", {
15
+ // Enforces engine to render the time. Without the option JavaScriptCore omits it.
16
+ hour: "numeric",
17
+ timeZone: e,
18
+ timeZoneName: n
19
+ }).format(t).split(/\s/g).slice(2).join(" ");
20
+ }
21
+ const qe = {}, ge = {};
22
+ function ie(e, t) {
23
+ try {
24
+ const r = (qe[e] || (qe[e] = new Intl.DateTimeFormat("en-US", {
25
+ timeZone: e,
26
+ timeZoneName: "longOffset"
27
+ }).format))(t).split("GMT")[1];
28
+ return r in ge ? ge[r] : lt(r, r.split(":"));
29
+ } catch {
30
+ if (e in ge) return ge[e];
31
+ const n = e?.match(An);
32
+ return n ? lt(e, n.slice(1)) : NaN;
33
+ }
34
+ }
35
+ const An = /([+-]\d\d):?(\d\d)?/;
36
+ function lt(e, t) {
37
+ const n = +(t[0] || 0), r = +(t[1] || 0), o = +(t[2] || 0) / 60;
38
+ return ge[e] = n * 60 + r > 0 ? n * 60 + r + o : n * 60 - r - o;
39
+ }
40
+ class J extends Date {
41
+ //#region static
42
+ constructor(...t) {
43
+ super(), t.length > 1 && typeof t[t.length - 1] == "string" && (this.timeZone = t.pop()), this.internal = /* @__PURE__ */ new Date(), isNaN(ie(this.timeZone, this)) ? this.setTime(NaN) : t.length ? typeof t[0] == "number" && (t.length === 1 || t.length === 2 && typeof t[1] != "number") ? this.setTime(t[0]) : typeof t[0] == "string" ? this.setTime(+new Date(t[0])) : t[0] instanceof Date ? this.setTime(+t[0]) : (this.setTime(+new Date(...t)), Wt(this), Ue(this)) : this.setTime(Date.now());
44
+ }
45
+ static tz(t, ...n) {
46
+ return n.length ? new J(...n, t) : new J(Date.now(), t);
47
+ }
48
+ //#endregion
49
+ //#region time zone
50
+ withTimeZone(t) {
51
+ return new J(+this, t);
52
+ }
53
+ getTimezoneOffset() {
54
+ const t = -ie(this.timeZone, this);
55
+ return t > 0 ? Math.floor(t) : Math.ceil(t);
56
+ }
57
+ //#endregion
58
+ //#region time
59
+ setTime(t) {
60
+ return Date.prototype.setTime.apply(this, arguments), Ue(this), +this;
61
+ }
62
+ //#endregion
63
+ //#region date-fns integration
64
+ [Symbol.for("constructDateFrom")](t) {
65
+ return new J(+new Date(t), this.timeZone);
66
+ }
67
+ //#endregion
68
+ }
69
+ const dt = /^(get|set)(?!UTC)/;
70
+ Object.getOwnPropertyNames(Date.prototype).forEach((e) => {
71
+ if (!dt.test(e)) return;
72
+ const t = e.replace(dt, "$1UTC");
73
+ J.prototype[t] && (e.startsWith("get") ? J.prototype[e] = function() {
74
+ return this.internal[t]();
75
+ } : (J.prototype[e] = function() {
76
+ return Date.prototype[t].apply(this.internal, arguments), qn(this), +this;
77
+ }, J.prototype[t] = function() {
78
+ return Date.prototype[t].apply(this, arguments), Ue(this), +this;
79
+ }));
80
+ });
81
+ function Ue(e) {
82
+ e.internal.setTime(+e), e.internal.setUTCSeconds(e.internal.getUTCSeconds() - Math.round(-ie(e.timeZone, e) * 60));
83
+ }
84
+ function qn(e) {
85
+ Date.prototype.setFullYear.call(e, e.internal.getUTCFullYear(), e.internal.getUTCMonth(), e.internal.getUTCDate()), Date.prototype.setHours.call(e, e.internal.getUTCHours(), e.internal.getUTCMinutes(), e.internal.getUTCSeconds(), e.internal.getUTCMilliseconds()), Wt(e);
86
+ }
87
+ function Wt(e) {
88
+ const t = ie(e.timeZone, e), n = t > 0 ? Math.floor(t) : Math.ceil(t), r = /* @__PURE__ */ new Date(+e);
89
+ r.setUTCHours(r.getUTCHours() - 1);
90
+ const o = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset(), a = -(/* @__PURE__ */ new Date(+r)).getTimezoneOffset(), i = o - a, s = Date.prototype.getHours.apply(e) !== e.internal.getUTCHours();
91
+ i && s && e.internal.setUTCMinutes(e.internal.getUTCMinutes() + i);
92
+ const c = o - n;
93
+ c && Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + c);
94
+ const u = /* @__PURE__ */ new Date(+e);
95
+ u.setUTCSeconds(0);
96
+ const d = o > 0 ? u.getSeconds() : (u.getSeconds() - 60) % 60, l = Math.round(-(ie(e.timeZone, e) * 60)) % 60;
97
+ (l || d) && (e.internal.setUTCSeconds(e.internal.getUTCSeconds() + l), Date.prototype.setUTCSeconds.call(e, Date.prototype.getUTCSeconds.call(e) + l + d));
98
+ const h = ie(e.timeZone, e), g = h > 0 ? Math.floor(h) : Math.ceil(h), C = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset() - g, v = g !== n, x = C - c;
99
+ if (v && x) {
100
+ Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + x);
101
+ const M = ie(e.timeZone, e), w = M > 0 ? Math.floor(M) : Math.ceil(M), D = g - w;
102
+ D && (e.internal.setUTCMinutes(e.internal.getUTCMinutes() + D), Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + D));
103
+ }
104
+ }
105
+ class H extends J {
106
+ //#region static
107
+ static tz(t, ...n) {
108
+ return n.length ? new H(...n, t) : new H(Date.now(), t);
109
+ }
110
+ //#endregion
111
+ //#region representation
112
+ toISOString() {
113
+ const [t, n, r] = this.tzComponents(), o = `${t}${n}:${r}`;
114
+ return this.internal.toISOString().slice(0, -1) + o;
115
+ }
116
+ toString() {
117
+ return `${this.toDateString()} ${this.toTimeString()}`;
118
+ }
119
+ toDateString() {
120
+ const [t, n, r, o] = this.internal.toUTCString().split(" ");
121
+ return `${t?.slice(0, -1)} ${r} ${n} ${o}`;
122
+ }
123
+ toTimeString() {
124
+ const t = this.internal.toUTCString().split(" ")[4], [n, r, o] = this.tzComponents();
125
+ return `${t} GMT${n}${r}${o} (${Hn(this.timeZone, this)})`;
126
+ }
127
+ toLocaleString(t, n) {
128
+ return Date.prototype.toLocaleString.call(this, t, {
129
+ ...n,
130
+ timeZone: n?.timeZone || this.timeZone
131
+ });
132
+ }
133
+ toLocaleDateString(t, n) {
134
+ return Date.prototype.toLocaleDateString.call(this, t, {
135
+ ...n,
136
+ timeZone: n?.timeZone || this.timeZone
137
+ });
138
+ }
139
+ toLocaleTimeString(t, n) {
140
+ return Date.prototype.toLocaleTimeString.call(this, t, {
141
+ ...n,
142
+ timeZone: n?.timeZone || this.timeZone
143
+ });
144
+ }
145
+ //#endregion
146
+ //#region private
147
+ tzComponents() {
148
+ const t = this.getTimezoneOffset(), n = t > 0 ? "-" : "+", r = String(Math.floor(Math.abs(t) / 60)).padStart(2, "0"), o = String(Math.abs(t) % 60).padStart(2, "0");
149
+ return [n, r, o];
150
+ }
151
+ //#endregion
152
+ withTimeZone(t) {
153
+ return new H(+this, t);
154
+ }
155
+ //#region date-fns integration
156
+ [Symbol.for("constructDateFrom")](t) {
157
+ return new H(+new Date(t), this.timeZone);
158
+ }
159
+ //#endregion
160
+ }
161
+ const St = 6048e5, jn = 864e5, ft = Symbol.for("constructDateFrom");
162
+ function B(e, t) {
163
+ return typeof e == "function" ? e(t) : e && typeof e == "object" && ft in e ? e[ft](t) : e instanceof Date ? new e.constructor(t) : new Date(t);
164
+ }
165
+ function P(e, t) {
166
+ return B(t || e, e);
167
+ }
168
+ function Ct(e, t, n) {
169
+ const r = P(e, n?.in);
170
+ return isNaN(t) ? B(e, NaN) : (t && r.setDate(r.getDate() + t), r);
171
+ }
172
+ function Nt(e, t, n) {
173
+ const r = P(e, n?.in);
174
+ if (isNaN(t)) return B(e, NaN);
175
+ if (!t)
176
+ return r;
177
+ const o = r.getDate(), a = B(e, r.getTime());
178
+ a.setMonth(r.getMonth() + t + 1, 0);
179
+ const i = a.getDate();
180
+ return o >= i ? a : (r.setFullYear(
181
+ a.getFullYear(),
182
+ a.getMonth(),
183
+ o
184
+ ), r);
185
+ }
186
+ let Gn = {};
187
+ function Me() {
188
+ return Gn;
189
+ }
190
+ function fe(e, t) {
191
+ const n = Me(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, o = P(e, t?.in), a = o.getDay(), i = (a < r ? 7 : 0) + a - r;
192
+ return o.setDate(o.getDate() - i), o.setHours(0, 0, 0, 0), o;
193
+ }
194
+ function we(e, t) {
195
+ return fe(e, { ...t, weekStartsOn: 1 });
196
+ }
197
+ function Yt(e, t) {
198
+ const n = P(e, t?.in), r = n.getFullYear(), o = B(n, 0);
199
+ o.setFullYear(r + 1, 0, 4), o.setHours(0, 0, 0, 0);
200
+ const a = we(o), i = B(n, 0);
201
+ i.setFullYear(r, 0, 4), i.setHours(0, 0, 0, 0);
202
+ const s = we(i);
203
+ return n.getTime() >= a.getTime() ? r + 1 : n.getTime() >= s.getTime() ? r : r - 1;
204
+ }
205
+ function ht(e) {
206
+ const t = P(e), n = new Date(
207
+ Date.UTC(
208
+ t.getFullYear(),
209
+ t.getMonth(),
210
+ t.getDate(),
211
+ t.getHours(),
212
+ t.getMinutes(),
213
+ t.getSeconds(),
214
+ t.getMilliseconds()
215
+ )
216
+ );
217
+ return n.setUTCFullYear(t.getFullYear()), +e - +n;
218
+ }
219
+ function he(e, ...t) {
220
+ const n = B.bind(
221
+ null,
222
+ t.find((r) => typeof r == "object")
223
+ );
224
+ return t.map(n);
225
+ }
226
+ function pe(e, t) {
227
+ const n = P(e, t?.in);
228
+ return n.setHours(0, 0, 0, 0), n;
229
+ }
230
+ function Xe(e, t, n) {
231
+ const [r, o] = he(
232
+ n?.in,
233
+ e,
234
+ t
235
+ ), a = pe(r), i = pe(o), s = +a - ht(a), c = +i - ht(i);
236
+ return Math.round((s - c) / jn);
237
+ }
238
+ function $n(e, t) {
239
+ const n = Yt(e, t), r = B(e, 0);
240
+ return r.setFullYear(n, 0, 4), r.setHours(0, 0, 0, 0), we(r);
241
+ }
242
+ function zn(e, t, n) {
243
+ return Ct(e, t * 7, n);
244
+ }
245
+ function Rn(e, t, n) {
246
+ return Nt(e, t * 12, n);
247
+ }
248
+ function Qn(e, t) {
249
+ let n, r = t?.in;
250
+ return e.forEach((o) => {
251
+ !r && typeof o == "object" && (r = B.bind(null, o));
252
+ const a = P(o, r);
253
+ (!n || n < a || isNaN(+a)) && (n = a);
254
+ }), B(r, n || NaN);
255
+ }
256
+ function Un(e, t) {
257
+ let n, r = t?.in;
258
+ return e.forEach((o) => {
259
+ !r && typeof o == "object" && (r = B.bind(null, o));
260
+ const a = P(o, r);
261
+ (!n || n > a || isNaN(+a)) && (n = a);
262
+ }), B(r, n || NaN);
263
+ }
264
+ function Vn(e, t, n) {
265
+ const [r, o] = he(
266
+ n?.in,
267
+ e,
268
+ t
269
+ );
270
+ return +pe(r) == +pe(o);
271
+ }
272
+ function xt(e) {
273
+ return e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]";
274
+ }
275
+ function Xn(e) {
276
+ return !(!xt(e) && typeof e != "number" || isNaN(+P(e)));
277
+ }
278
+ function Tt(e, t, n) {
279
+ const [r, o] = he(
280
+ n?.in,
281
+ e,
282
+ t
283
+ ), a = r.getFullYear() - o.getFullYear(), i = r.getMonth() - o.getMonth();
284
+ return a * 12 + i;
285
+ }
286
+ function Kn(e, t) {
287
+ const n = P(e, t?.in), r = n.getMonth();
288
+ return n.setFullYear(n.getFullYear(), r + 1, 0), n.setHours(23, 59, 59, 999), n;
289
+ }
290
+ function Pt(e, t) {
291
+ const [n, r] = he(e, t.start, t.end);
292
+ return { start: n, end: r };
293
+ }
294
+ function Zn(e, t) {
295
+ const { start: n, end: r } = Pt(t?.in, e);
296
+ let o = +n > +r;
297
+ const a = o ? +n : +r, i = o ? r : n;
298
+ i.setHours(0, 0, 0, 0), i.setDate(1);
299
+ let s = 1;
300
+ const c = [];
301
+ for (; +i <= a; )
302
+ c.push(B(n, i)), i.setMonth(i.getMonth() + s);
303
+ return o ? c.reverse() : c;
304
+ }
305
+ function Jn(e, t) {
306
+ const n = P(e, t?.in);
307
+ return n.setDate(1), n.setHours(0, 0, 0, 0), n;
308
+ }
309
+ function Ln(e, t) {
310
+ const n = P(e, t?.in), r = n.getFullYear();
311
+ return n.setFullYear(r + 1, 0, 0), n.setHours(23, 59, 59, 999), n;
312
+ }
313
+ function Et(e, t) {
314
+ const n = P(e, t?.in);
315
+ return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n;
316
+ }
317
+ function er(e, t) {
318
+ const { start: n, end: r } = Pt(t?.in, e);
319
+ let o = +n > +r;
320
+ const a = o ? +n : +r, i = o ? r : n;
321
+ i.setHours(0, 0, 0, 0), i.setMonth(0, 1);
322
+ let s = 1;
323
+ const c = [];
324
+ for (; +i <= a; )
325
+ c.push(B(n, i)), i.setFullYear(i.getFullYear() + s);
326
+ return o ? c.reverse() : c;
327
+ }
328
+ function _t(e, t) {
329
+ const n = Me(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, o = P(e, t?.in), a = o.getDay(), i = (a < r ? -7 : 0) + 6 - (a - r);
330
+ return o.setDate(o.getDate() + i), o.setHours(23, 59, 59, 999), o;
331
+ }
332
+ function tr(e, t) {
333
+ return _t(e, { ...t, weekStartsOn: 1 });
334
+ }
335
+ const nr = {
336
+ lessThanXSeconds: {
337
+ one: "less than a second",
338
+ other: "less than {{count}} seconds"
339
+ },
340
+ xSeconds: {
341
+ one: "1 second",
342
+ other: "{{count}} seconds"
343
+ },
344
+ halfAMinute: "half a minute",
345
+ lessThanXMinutes: {
346
+ one: "less than a minute",
347
+ other: "less than {{count}} minutes"
348
+ },
349
+ xMinutes: {
350
+ one: "1 minute",
351
+ other: "{{count}} minutes"
352
+ },
353
+ aboutXHours: {
354
+ one: "about 1 hour",
355
+ other: "about {{count}} hours"
356
+ },
357
+ xHours: {
358
+ one: "1 hour",
359
+ other: "{{count}} hours"
360
+ },
361
+ xDays: {
362
+ one: "1 day",
363
+ other: "{{count}} days"
364
+ },
365
+ aboutXWeeks: {
366
+ one: "about 1 week",
367
+ other: "about {{count}} weeks"
368
+ },
369
+ xWeeks: {
370
+ one: "1 week",
371
+ other: "{{count}} weeks"
372
+ },
373
+ aboutXMonths: {
374
+ one: "about 1 month",
375
+ other: "about {{count}} months"
376
+ },
377
+ xMonths: {
378
+ one: "1 month",
379
+ other: "{{count}} months"
380
+ },
381
+ aboutXYears: {
382
+ one: "about 1 year",
383
+ other: "about {{count}} years"
384
+ },
385
+ xYears: {
386
+ one: "1 year",
387
+ other: "{{count}} years"
388
+ },
389
+ overXYears: {
390
+ one: "over 1 year",
391
+ other: "over {{count}} years"
392
+ },
393
+ almostXYears: {
394
+ one: "almost 1 year",
395
+ other: "almost {{count}} years"
396
+ }
397
+ }, rr = (e, t, n) => {
398
+ let r;
399
+ const o = nr[e];
400
+ return typeof o == "string" ? r = o : t === 1 ? r = o.one : r = o.other.replace("{{count}}", t.toString()), n?.addSuffix ? n.comparison && n.comparison > 0 ? "in " + r : r + " ago" : r;
401
+ };
402
+ function je(e) {
403
+ return (t = {}) => {
404
+ const n = t.width ? String(t.width) : e.defaultWidth;
405
+ return e.formats[n] || e.formats[e.defaultWidth];
406
+ };
407
+ }
408
+ const or = {
409
+ full: "EEEE, MMMM do, y",
410
+ long: "MMMM do, y",
411
+ medium: "MMM d, y",
412
+ short: "MM/dd/yyyy"
413
+ }, sr = {
414
+ full: "h:mm:ss a zzzz",
415
+ long: "h:mm:ss a z",
416
+ medium: "h:mm:ss a",
417
+ short: "h:mm a"
418
+ }, ar = {
419
+ full: "{{date}} 'at' {{time}}",
420
+ long: "{{date}} 'at' {{time}}",
421
+ medium: "{{date}}, {{time}}",
422
+ short: "{{date}}, {{time}}"
423
+ }, ir = {
424
+ date: je({
425
+ formats: or,
426
+ defaultWidth: "full"
427
+ }),
428
+ time: je({
429
+ formats: sr,
430
+ defaultWidth: "full"
431
+ }),
432
+ dateTime: je({
433
+ formats: ar,
434
+ defaultWidth: "full"
435
+ })
436
+ }, cr = {
437
+ lastWeek: "'last' eeee 'at' p",
438
+ yesterday: "'yesterday at' p",
439
+ today: "'today at' p",
440
+ tomorrow: "'tomorrow at' p",
441
+ nextWeek: "eeee 'at' p",
442
+ other: "P"
443
+ }, ur = (e, t, n, r) => cr[e];
444
+ function me(e) {
445
+ return (t, n) => {
446
+ const r = n?.context ? String(n.context) : "standalone";
447
+ let o;
448
+ if (r === "formatting" && e.formattingValues) {
449
+ const i = e.defaultFormattingWidth || e.defaultWidth, s = n?.width ? String(n.width) : i;
450
+ o = e.formattingValues[s] || e.formattingValues[i];
451
+ } else {
452
+ const i = e.defaultWidth, s = n?.width ? String(n.width) : e.defaultWidth;
453
+ o = e.values[s] || e.values[i];
454
+ }
455
+ const a = e.argumentCallback ? e.argumentCallback(t) : t;
456
+ return o[a];
457
+ };
458
+ }
459
+ const lr = {
460
+ narrow: ["B", "A"],
461
+ abbreviated: ["BC", "AD"],
462
+ wide: ["Before Christ", "Anno Domini"]
463
+ }, dr = {
464
+ narrow: ["1", "2", "3", "4"],
465
+ abbreviated: ["Q1", "Q2", "Q3", "Q4"],
466
+ wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
467
+ }, fr = {
468
+ narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
469
+ abbreviated: [
470
+ "Jan",
471
+ "Feb",
472
+ "Mar",
473
+ "Apr",
474
+ "May",
475
+ "Jun",
476
+ "Jul",
477
+ "Aug",
478
+ "Sep",
479
+ "Oct",
480
+ "Nov",
481
+ "Dec"
482
+ ],
483
+ wide: [
484
+ "January",
485
+ "February",
486
+ "March",
487
+ "April",
488
+ "May",
489
+ "June",
490
+ "July",
491
+ "August",
492
+ "September",
493
+ "October",
494
+ "November",
495
+ "December"
496
+ ]
497
+ }, hr = {
498
+ narrow: ["S", "M", "T", "W", "T", "F", "S"],
499
+ short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
500
+ abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
501
+ wide: [
502
+ "Sunday",
503
+ "Monday",
504
+ "Tuesday",
505
+ "Wednesday",
506
+ "Thursday",
507
+ "Friday",
508
+ "Saturday"
509
+ ]
510
+ }, mr = {
511
+ narrow: {
512
+ am: "a",
513
+ pm: "p",
514
+ midnight: "mi",
515
+ noon: "n",
516
+ morning: "morning",
517
+ afternoon: "afternoon",
518
+ evening: "evening",
519
+ night: "night"
520
+ },
521
+ abbreviated: {
522
+ am: "AM",
523
+ pm: "PM",
524
+ midnight: "midnight",
525
+ noon: "noon",
526
+ morning: "morning",
527
+ afternoon: "afternoon",
528
+ evening: "evening",
529
+ night: "night"
530
+ },
531
+ wide: {
532
+ am: "a.m.",
533
+ pm: "p.m.",
534
+ midnight: "midnight",
535
+ noon: "noon",
536
+ morning: "morning",
537
+ afternoon: "afternoon",
538
+ evening: "evening",
539
+ night: "night"
540
+ }
541
+ }, yr = {
542
+ narrow: {
543
+ am: "a",
544
+ pm: "p",
545
+ midnight: "mi",
546
+ noon: "n",
547
+ morning: "in the morning",
548
+ afternoon: "in the afternoon",
549
+ evening: "in the evening",
550
+ night: "at night"
551
+ },
552
+ abbreviated: {
553
+ am: "AM",
554
+ pm: "PM",
555
+ midnight: "midnight",
556
+ noon: "noon",
557
+ morning: "in the morning",
558
+ afternoon: "in the afternoon",
559
+ evening: "in the evening",
560
+ night: "at night"
561
+ },
562
+ wide: {
563
+ am: "a.m.",
564
+ pm: "p.m.",
565
+ midnight: "midnight",
566
+ noon: "noon",
567
+ morning: "in the morning",
568
+ afternoon: "in the afternoon",
569
+ evening: "in the evening",
570
+ night: "at night"
571
+ }
572
+ }, gr = (e, t) => {
573
+ const n = Number(e), r = n % 100;
574
+ if (r > 20 || r < 10)
575
+ switch (r % 10) {
576
+ case 1:
577
+ return n + "st";
578
+ case 2:
579
+ return n + "nd";
580
+ case 3:
581
+ return n + "rd";
582
+ }
583
+ return n + "th";
584
+ }, br = {
585
+ ordinalNumber: gr,
586
+ era: me({
587
+ values: lr,
588
+ defaultWidth: "wide"
589
+ }),
590
+ quarter: me({
591
+ values: dr,
592
+ defaultWidth: "wide",
593
+ argumentCallback: (e) => e - 1
594
+ }),
595
+ month: me({
596
+ values: fr,
597
+ defaultWidth: "wide"
598
+ }),
599
+ day: me({
600
+ values: hr,
601
+ defaultWidth: "wide"
602
+ }),
603
+ dayPeriod: me({
604
+ values: mr,
605
+ defaultWidth: "wide",
606
+ formattingValues: yr,
607
+ defaultFormattingWidth: "wide"
608
+ })
609
+ };
610
+ function ye(e) {
611
+ return (t, n = {}) => {
612
+ const r = n.width, o = r && e.matchPatterns[r] || e.matchPatterns[e.defaultMatchWidth], a = t.match(o);
613
+ if (!a)
614
+ return null;
615
+ const i = a[0], s = r && e.parsePatterns[r] || e.parsePatterns[e.defaultParseWidth], c = Array.isArray(s) ? pr(s, (l) => l.test(i)) : (
616
+ // [TODO] -- I challenge you to fix the type
617
+ wr(s, (l) => l.test(i))
618
+ );
619
+ let u;
620
+ u = e.valueCallback ? e.valueCallback(c) : c, u = n.valueCallback ? (
621
+ // [TODO] -- I challenge you to fix the type
622
+ n.valueCallback(u)
623
+ ) : u;
624
+ const d = t.slice(i.length);
625
+ return { value: u, rest: d };
626
+ };
627
+ }
628
+ function wr(e, t) {
629
+ for (const n in e)
630
+ if (Object.prototype.hasOwnProperty.call(e, n) && t(e[n]))
631
+ return n;
632
+ }
633
+ function pr(e, t) {
634
+ for (let n = 0; n < e.length; n++)
635
+ if (t(e[n]))
636
+ return n;
637
+ }
638
+ function Mr(e) {
639
+ return (t, n = {}) => {
640
+ const r = t.match(e.matchPattern);
641
+ if (!r) return null;
642
+ const o = r[0], a = t.match(e.parsePattern);
643
+ if (!a) return null;
644
+ let i = e.valueCallback ? e.valueCallback(a[0]) : a[0];
645
+ i = n.valueCallback ? n.valueCallback(i) : i;
646
+ const s = t.slice(o.length);
647
+ return { value: i, rest: s };
648
+ };
649
+ }
650
+ const Dr = /^(\d+)(th|st|nd|rd)?/i, kr = /\d+/i, vr = {
651
+ narrow: /^(b|a)/i,
652
+ abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
653
+ wide: /^(before christ|before common era|anno domini|common era)/i
654
+ }, Or = {
655
+ any: [/^b/i, /^(a|c)/i]
656
+ }, Wr = {
657
+ narrow: /^[1234]/i,
658
+ abbreviated: /^q[1234]/i,
659
+ wide: /^[1234](th|st|nd|rd)? quarter/i
660
+ }, Sr = {
661
+ any: [/1/i, /2/i, /3/i, /4/i]
662
+ }, Cr = {
663
+ narrow: /^[jfmasond]/i,
664
+ abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
665
+ wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
666
+ }, Nr = {
667
+ narrow: [
668
+ /^j/i,
669
+ /^f/i,
670
+ /^m/i,
671
+ /^a/i,
672
+ /^m/i,
673
+ /^j/i,
674
+ /^j/i,
675
+ /^a/i,
676
+ /^s/i,
677
+ /^o/i,
678
+ /^n/i,
679
+ /^d/i
680
+ ],
681
+ any: [
682
+ /^ja/i,
683
+ /^f/i,
684
+ /^mar/i,
685
+ /^ap/i,
686
+ /^may/i,
687
+ /^jun/i,
688
+ /^jul/i,
689
+ /^au/i,
690
+ /^s/i,
691
+ /^o/i,
692
+ /^n/i,
693
+ /^d/i
694
+ ]
695
+ }, Yr = {
696
+ narrow: /^[smtwf]/i,
697
+ short: /^(su|mo|tu|we|th|fr|sa)/i,
698
+ abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
699
+ wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
700
+ }, xr = {
701
+ narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
702
+ any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
703
+ }, Tr = {
704
+ narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
705
+ any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
706
+ }, Pr = {
707
+ any: {
708
+ am: /^a/i,
709
+ pm: /^p/i,
710
+ midnight: /^mi/i,
711
+ noon: /^no/i,
712
+ morning: /morning/i,
713
+ afternoon: /afternoon/i,
714
+ evening: /evening/i,
715
+ night: /night/i
716
+ }
717
+ }, Er = {
718
+ ordinalNumber: Mr({
719
+ matchPattern: Dr,
720
+ parsePattern: kr,
721
+ valueCallback: (e) => parseInt(e, 10)
722
+ }),
723
+ era: ye({
724
+ matchPatterns: vr,
725
+ defaultMatchWidth: "wide",
726
+ parsePatterns: Or,
727
+ defaultParseWidth: "any"
728
+ }),
729
+ quarter: ye({
730
+ matchPatterns: Wr,
731
+ defaultMatchWidth: "wide",
732
+ parsePatterns: Sr,
733
+ defaultParseWidth: "any",
734
+ valueCallback: (e) => e + 1
735
+ }),
736
+ month: ye({
737
+ matchPatterns: Cr,
738
+ defaultMatchWidth: "wide",
739
+ parsePatterns: Nr,
740
+ defaultParseWidth: "any"
741
+ }),
742
+ day: ye({
743
+ matchPatterns: Yr,
744
+ defaultMatchWidth: "wide",
745
+ parsePatterns: xr,
746
+ defaultParseWidth: "any"
747
+ }),
748
+ dayPeriod: ye({
749
+ matchPatterns: Tr,
750
+ defaultMatchWidth: "any",
751
+ parsePatterns: Pr,
752
+ defaultParseWidth: "any"
753
+ })
754
+ }, de = {
755
+ code: "en-US",
756
+ formatDistance: rr,
757
+ formatLong: ir,
758
+ formatRelative: ur,
759
+ localize: br,
760
+ match: Er,
761
+ options: {
762
+ weekStartsOn: 0,
763
+ firstWeekContainsDate: 1
764
+ }
765
+ };
766
+ function _r(e, t) {
767
+ const n = P(e, t?.in);
768
+ return Xe(n, Et(n)) + 1;
769
+ }
770
+ function Ke(e, t) {
771
+ const n = P(e, t?.in), r = +we(n) - +$n(n);
772
+ return Math.round(r / St) + 1;
773
+ }
774
+ function Ft(e, t) {
775
+ const n = P(e, t?.in), r = n.getFullYear(), o = Me(), a = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? o.firstWeekContainsDate ?? o.locale?.options?.firstWeekContainsDate ?? 1, i = B(t?.in || e, 0);
776
+ i.setFullYear(r + 1, 0, a), i.setHours(0, 0, 0, 0);
777
+ const s = fe(i, t), c = B(t?.in || e, 0);
778
+ c.setFullYear(r, 0, a), c.setHours(0, 0, 0, 0);
779
+ const u = fe(c, t);
780
+ return +n >= +s ? r + 1 : +n >= +u ? r : r - 1;
781
+ }
782
+ function Fr(e, t) {
783
+ const n = Me(), r = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? n.firstWeekContainsDate ?? n.locale?.options?.firstWeekContainsDate ?? 1, o = Ft(e, t), a = B(t?.in || e, 0);
784
+ return a.setFullYear(o, 0, r), a.setHours(0, 0, 0, 0), fe(a, t);
785
+ }
786
+ function Ze(e, t) {
787
+ const n = P(e, t?.in), r = +fe(n, t) - +Fr(n, t);
788
+ return Math.round(r / St) + 1;
789
+ }
790
+ function T(e, t) {
791
+ const n = e < 0 ? "-" : "", r = Math.abs(e).toString().padStart(t, "0");
792
+ return n + r;
793
+ }
794
+ const se = {
795
+ // Year
796
+ y(e, t) {
797
+ const n = e.getFullYear(), r = n > 0 ? n : 1 - n;
798
+ return T(t === "yy" ? r % 100 : r, t.length);
799
+ },
800
+ // Month
801
+ M(e, t) {
802
+ const n = e.getMonth();
803
+ return t === "M" ? String(n + 1) : T(n + 1, 2);
804
+ },
805
+ // Day of the month
806
+ d(e, t) {
807
+ return T(e.getDate(), t.length);
808
+ },
809
+ // AM or PM
810
+ a(e, t) {
811
+ const n = e.getHours() / 12 >= 1 ? "pm" : "am";
812
+ switch (t) {
813
+ case "a":
814
+ case "aa":
815
+ return n.toUpperCase();
816
+ case "aaa":
817
+ return n;
818
+ case "aaaaa":
819
+ return n[0];
820
+ case "aaaa":
821
+ default:
822
+ return n === "am" ? "a.m." : "p.m.";
823
+ }
824
+ },
825
+ // Hour [1-12]
826
+ h(e, t) {
827
+ return T(e.getHours() % 12 || 12, t.length);
828
+ },
829
+ // Hour [0-23]
830
+ H(e, t) {
831
+ return T(e.getHours(), t.length);
832
+ },
833
+ // Minute
834
+ m(e, t) {
835
+ return T(e.getMinutes(), t.length);
836
+ },
837
+ // Second
838
+ s(e, t) {
839
+ return T(e.getSeconds(), t.length);
840
+ },
841
+ // Fraction of second
842
+ S(e, t) {
843
+ const n = t.length, r = e.getMilliseconds(), o = Math.trunc(
844
+ r * Math.pow(10, n - 3)
845
+ );
846
+ return T(o, t.length);
847
+ }
848
+ }, ue = {
849
+ midnight: "midnight",
850
+ noon: "noon",
851
+ morning: "morning",
852
+ afternoon: "afternoon",
853
+ evening: "evening",
854
+ night: "night"
855
+ }, mt = {
856
+ // Era
857
+ G: function(e, t, n) {
858
+ const r = e.getFullYear() > 0 ? 1 : 0;
859
+ switch (t) {
860
+ case "G":
861
+ case "GG":
862
+ case "GGG":
863
+ return n.era(r, { width: "abbreviated" });
864
+ case "GGGGG":
865
+ return n.era(r, { width: "narrow" });
866
+ case "GGGG":
867
+ default:
868
+ return n.era(r, { width: "wide" });
869
+ }
870
+ },
871
+ // Year
872
+ y: function(e, t, n) {
873
+ if (t === "yo") {
874
+ const r = e.getFullYear(), o = r > 0 ? r : 1 - r;
875
+ return n.ordinalNumber(o, { unit: "year" });
876
+ }
877
+ return se.y(e, t);
878
+ },
879
+ // Local week-numbering year
880
+ Y: function(e, t, n, r) {
881
+ const o = Ft(e, r), a = o > 0 ? o : 1 - o;
882
+ if (t === "YY") {
883
+ const i = a % 100;
884
+ return T(i, 2);
885
+ }
886
+ return t === "Yo" ? n.ordinalNumber(a, { unit: "year" }) : T(a, t.length);
887
+ },
888
+ // ISO week-numbering year
889
+ R: function(e, t) {
890
+ const n = Yt(e);
891
+ return T(n, t.length);
892
+ },
893
+ // Extended year. This is a single number designating the year of this calendar system.
894
+ // The main difference between `y` and `u` localizers are B.C. years:
895
+ // | Year | `y` | `u` |
896
+ // |------|-----|-----|
897
+ // | AC 1 | 1 | 1 |
898
+ // | BC 1 | 1 | 0 |
899
+ // | BC 2 | 2 | -1 |
900
+ // Also `yy` always returns the last two digits of a year,
901
+ // while `uu` pads single digit years to 2 characters and returns other years unchanged.
902
+ u: function(e, t) {
903
+ const n = e.getFullYear();
904
+ return T(n, t.length);
905
+ },
906
+ // Quarter
907
+ Q: function(e, t, n) {
908
+ const r = Math.ceil((e.getMonth() + 1) / 3);
909
+ switch (t) {
910
+ case "Q":
911
+ return String(r);
912
+ case "QQ":
913
+ return T(r, 2);
914
+ case "Qo":
915
+ return n.ordinalNumber(r, { unit: "quarter" });
916
+ case "QQQ":
917
+ return n.quarter(r, {
918
+ width: "abbreviated",
919
+ context: "formatting"
920
+ });
921
+ case "QQQQQ":
922
+ return n.quarter(r, {
923
+ width: "narrow",
924
+ context: "formatting"
925
+ });
926
+ case "QQQQ":
927
+ default:
928
+ return n.quarter(r, {
929
+ width: "wide",
930
+ context: "formatting"
931
+ });
932
+ }
933
+ },
934
+ // Stand-alone quarter
935
+ q: function(e, t, n) {
936
+ const r = Math.ceil((e.getMonth() + 1) / 3);
937
+ switch (t) {
938
+ case "q":
939
+ return String(r);
940
+ case "qq":
941
+ return T(r, 2);
942
+ case "qo":
943
+ return n.ordinalNumber(r, { unit: "quarter" });
944
+ case "qqq":
945
+ return n.quarter(r, {
946
+ width: "abbreviated",
947
+ context: "standalone"
948
+ });
949
+ case "qqqqq":
950
+ return n.quarter(r, {
951
+ width: "narrow",
952
+ context: "standalone"
953
+ });
954
+ case "qqqq":
955
+ default:
956
+ return n.quarter(r, {
957
+ width: "wide",
958
+ context: "standalone"
959
+ });
960
+ }
961
+ },
962
+ // Month
963
+ M: function(e, t, n) {
964
+ const r = e.getMonth();
965
+ switch (t) {
966
+ case "M":
967
+ case "MM":
968
+ return se.M(e, t);
969
+ case "Mo":
970
+ return n.ordinalNumber(r + 1, { unit: "month" });
971
+ case "MMM":
972
+ return n.month(r, {
973
+ width: "abbreviated",
974
+ context: "formatting"
975
+ });
976
+ case "MMMMM":
977
+ return n.month(r, {
978
+ width: "narrow",
979
+ context: "formatting"
980
+ });
981
+ case "MMMM":
982
+ default:
983
+ return n.month(r, { width: "wide", context: "formatting" });
984
+ }
985
+ },
986
+ // Stand-alone month
987
+ L: function(e, t, n) {
988
+ const r = e.getMonth();
989
+ switch (t) {
990
+ case "L":
991
+ return String(r + 1);
992
+ case "LL":
993
+ return T(r + 1, 2);
994
+ case "Lo":
995
+ return n.ordinalNumber(r + 1, { unit: "month" });
996
+ case "LLL":
997
+ return n.month(r, {
998
+ width: "abbreviated",
999
+ context: "standalone"
1000
+ });
1001
+ case "LLLLL":
1002
+ return n.month(r, {
1003
+ width: "narrow",
1004
+ context: "standalone"
1005
+ });
1006
+ case "LLLL":
1007
+ default:
1008
+ return n.month(r, { width: "wide", context: "standalone" });
1009
+ }
1010
+ },
1011
+ // Local week of year
1012
+ w: function(e, t, n, r) {
1013
+ const o = Ze(e, r);
1014
+ return t === "wo" ? n.ordinalNumber(o, { unit: "week" }) : T(o, t.length);
1015
+ },
1016
+ // ISO week of year
1017
+ I: function(e, t, n) {
1018
+ const r = Ke(e);
1019
+ return t === "Io" ? n.ordinalNumber(r, { unit: "week" }) : T(r, t.length);
1020
+ },
1021
+ // Day of the month
1022
+ d: function(e, t, n) {
1023
+ return t === "do" ? n.ordinalNumber(e.getDate(), { unit: "date" }) : se.d(e, t);
1024
+ },
1025
+ // Day of year
1026
+ D: function(e, t, n) {
1027
+ const r = _r(e);
1028
+ return t === "Do" ? n.ordinalNumber(r, { unit: "dayOfYear" }) : T(r, t.length);
1029
+ },
1030
+ // Day of week
1031
+ E: function(e, t, n) {
1032
+ const r = e.getDay();
1033
+ switch (t) {
1034
+ case "E":
1035
+ case "EE":
1036
+ case "EEE":
1037
+ return n.day(r, {
1038
+ width: "abbreviated",
1039
+ context: "formatting"
1040
+ });
1041
+ case "EEEEE":
1042
+ return n.day(r, {
1043
+ width: "narrow",
1044
+ context: "formatting"
1045
+ });
1046
+ case "EEEEEE":
1047
+ return n.day(r, {
1048
+ width: "short",
1049
+ context: "formatting"
1050
+ });
1051
+ case "EEEE":
1052
+ default:
1053
+ return n.day(r, {
1054
+ width: "wide",
1055
+ context: "formatting"
1056
+ });
1057
+ }
1058
+ },
1059
+ // Local day of week
1060
+ e: function(e, t, n, r) {
1061
+ const o = e.getDay(), a = (o - r.weekStartsOn + 8) % 7 || 7;
1062
+ switch (t) {
1063
+ case "e":
1064
+ return String(a);
1065
+ case "ee":
1066
+ return T(a, 2);
1067
+ case "eo":
1068
+ return n.ordinalNumber(a, { unit: "day" });
1069
+ case "eee":
1070
+ return n.day(o, {
1071
+ width: "abbreviated",
1072
+ context: "formatting"
1073
+ });
1074
+ case "eeeee":
1075
+ return n.day(o, {
1076
+ width: "narrow",
1077
+ context: "formatting"
1078
+ });
1079
+ case "eeeeee":
1080
+ return n.day(o, {
1081
+ width: "short",
1082
+ context: "formatting"
1083
+ });
1084
+ case "eeee":
1085
+ default:
1086
+ return n.day(o, {
1087
+ width: "wide",
1088
+ context: "formatting"
1089
+ });
1090
+ }
1091
+ },
1092
+ // Stand-alone local day of week
1093
+ c: function(e, t, n, r) {
1094
+ const o = e.getDay(), a = (o - r.weekStartsOn + 8) % 7 || 7;
1095
+ switch (t) {
1096
+ case "c":
1097
+ return String(a);
1098
+ case "cc":
1099
+ return T(a, t.length);
1100
+ case "co":
1101
+ return n.ordinalNumber(a, { unit: "day" });
1102
+ case "ccc":
1103
+ return n.day(o, {
1104
+ width: "abbreviated",
1105
+ context: "standalone"
1106
+ });
1107
+ case "ccccc":
1108
+ return n.day(o, {
1109
+ width: "narrow",
1110
+ context: "standalone"
1111
+ });
1112
+ case "cccccc":
1113
+ return n.day(o, {
1114
+ width: "short",
1115
+ context: "standalone"
1116
+ });
1117
+ case "cccc":
1118
+ default:
1119
+ return n.day(o, {
1120
+ width: "wide",
1121
+ context: "standalone"
1122
+ });
1123
+ }
1124
+ },
1125
+ // ISO day of week
1126
+ i: function(e, t, n) {
1127
+ const r = e.getDay(), o = r === 0 ? 7 : r;
1128
+ switch (t) {
1129
+ case "i":
1130
+ return String(o);
1131
+ case "ii":
1132
+ return T(o, t.length);
1133
+ case "io":
1134
+ return n.ordinalNumber(o, { unit: "day" });
1135
+ case "iii":
1136
+ return n.day(r, {
1137
+ width: "abbreviated",
1138
+ context: "formatting"
1139
+ });
1140
+ case "iiiii":
1141
+ return n.day(r, {
1142
+ width: "narrow",
1143
+ context: "formatting"
1144
+ });
1145
+ case "iiiiii":
1146
+ return n.day(r, {
1147
+ width: "short",
1148
+ context: "formatting"
1149
+ });
1150
+ case "iiii":
1151
+ default:
1152
+ return n.day(r, {
1153
+ width: "wide",
1154
+ context: "formatting"
1155
+ });
1156
+ }
1157
+ },
1158
+ // AM or PM
1159
+ a: function(e, t, n) {
1160
+ const o = e.getHours() / 12 >= 1 ? "pm" : "am";
1161
+ switch (t) {
1162
+ case "a":
1163
+ case "aa":
1164
+ return n.dayPeriod(o, {
1165
+ width: "abbreviated",
1166
+ context: "formatting"
1167
+ });
1168
+ case "aaa":
1169
+ return n.dayPeriod(o, {
1170
+ width: "abbreviated",
1171
+ context: "formatting"
1172
+ }).toLowerCase();
1173
+ case "aaaaa":
1174
+ return n.dayPeriod(o, {
1175
+ width: "narrow",
1176
+ context: "formatting"
1177
+ });
1178
+ case "aaaa":
1179
+ default:
1180
+ return n.dayPeriod(o, {
1181
+ width: "wide",
1182
+ context: "formatting"
1183
+ });
1184
+ }
1185
+ },
1186
+ // AM, PM, midnight, noon
1187
+ b: function(e, t, n) {
1188
+ const r = e.getHours();
1189
+ let o;
1190
+ switch (r === 12 ? o = ue.noon : r === 0 ? o = ue.midnight : o = r / 12 >= 1 ? "pm" : "am", t) {
1191
+ case "b":
1192
+ case "bb":
1193
+ return n.dayPeriod(o, {
1194
+ width: "abbreviated",
1195
+ context: "formatting"
1196
+ });
1197
+ case "bbb":
1198
+ return n.dayPeriod(o, {
1199
+ width: "abbreviated",
1200
+ context: "formatting"
1201
+ }).toLowerCase();
1202
+ case "bbbbb":
1203
+ return n.dayPeriod(o, {
1204
+ width: "narrow",
1205
+ context: "formatting"
1206
+ });
1207
+ case "bbbb":
1208
+ default:
1209
+ return n.dayPeriod(o, {
1210
+ width: "wide",
1211
+ context: "formatting"
1212
+ });
1213
+ }
1214
+ },
1215
+ // in the morning, in the afternoon, in the evening, at night
1216
+ B: function(e, t, n) {
1217
+ const r = e.getHours();
1218
+ let o;
1219
+ switch (r >= 17 ? o = ue.evening : r >= 12 ? o = ue.afternoon : r >= 4 ? o = ue.morning : o = ue.night, t) {
1220
+ case "B":
1221
+ case "BB":
1222
+ case "BBB":
1223
+ return n.dayPeriod(o, {
1224
+ width: "abbreviated",
1225
+ context: "formatting"
1226
+ });
1227
+ case "BBBBB":
1228
+ return n.dayPeriod(o, {
1229
+ width: "narrow",
1230
+ context: "formatting"
1231
+ });
1232
+ case "BBBB":
1233
+ default:
1234
+ return n.dayPeriod(o, {
1235
+ width: "wide",
1236
+ context: "formatting"
1237
+ });
1238
+ }
1239
+ },
1240
+ // Hour [1-12]
1241
+ h: function(e, t, n) {
1242
+ if (t === "ho") {
1243
+ let r = e.getHours() % 12;
1244
+ return r === 0 && (r = 12), n.ordinalNumber(r, { unit: "hour" });
1245
+ }
1246
+ return se.h(e, t);
1247
+ },
1248
+ // Hour [0-23]
1249
+ H: function(e, t, n) {
1250
+ return t === "Ho" ? n.ordinalNumber(e.getHours(), { unit: "hour" }) : se.H(e, t);
1251
+ },
1252
+ // Hour [0-11]
1253
+ K: function(e, t, n) {
1254
+ const r = e.getHours() % 12;
1255
+ return t === "Ko" ? n.ordinalNumber(r, { unit: "hour" }) : T(r, t.length);
1256
+ },
1257
+ // Hour [1-24]
1258
+ k: function(e, t, n) {
1259
+ let r = e.getHours();
1260
+ return r === 0 && (r = 24), t === "ko" ? n.ordinalNumber(r, { unit: "hour" }) : T(r, t.length);
1261
+ },
1262
+ // Minute
1263
+ m: function(e, t, n) {
1264
+ return t === "mo" ? n.ordinalNumber(e.getMinutes(), { unit: "minute" }) : se.m(e, t);
1265
+ },
1266
+ // Second
1267
+ s: function(e, t, n) {
1268
+ return t === "so" ? n.ordinalNumber(e.getSeconds(), { unit: "second" }) : se.s(e, t);
1269
+ },
1270
+ // Fraction of second
1271
+ S: function(e, t) {
1272
+ return se.S(e, t);
1273
+ },
1274
+ // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
1275
+ X: function(e, t, n) {
1276
+ const r = e.getTimezoneOffset();
1277
+ if (r === 0)
1278
+ return "Z";
1279
+ switch (t) {
1280
+ case "X":
1281
+ return gt(r);
1282
+ case "XXXX":
1283
+ case "XX":
1284
+ return ae(r);
1285
+ case "XXXXX":
1286
+ case "XXX":
1287
+ default:
1288
+ return ae(r, ":");
1289
+ }
1290
+ },
1291
+ // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
1292
+ x: function(e, t, n) {
1293
+ const r = e.getTimezoneOffset();
1294
+ switch (t) {
1295
+ case "x":
1296
+ return gt(r);
1297
+ case "xxxx":
1298
+ case "xx":
1299
+ return ae(r);
1300
+ case "xxxxx":
1301
+ case "xxx":
1302
+ default:
1303
+ return ae(r, ":");
1304
+ }
1305
+ },
1306
+ // Timezone (GMT)
1307
+ O: function(e, t, n) {
1308
+ const r = e.getTimezoneOffset();
1309
+ switch (t) {
1310
+ case "O":
1311
+ case "OO":
1312
+ case "OOO":
1313
+ return "GMT" + yt(r, ":");
1314
+ case "OOOO":
1315
+ default:
1316
+ return "GMT" + ae(r, ":");
1317
+ }
1318
+ },
1319
+ // Timezone (specific non-location)
1320
+ z: function(e, t, n) {
1321
+ const r = e.getTimezoneOffset();
1322
+ switch (t) {
1323
+ case "z":
1324
+ case "zz":
1325
+ case "zzz":
1326
+ return "GMT" + yt(r, ":");
1327
+ case "zzzz":
1328
+ default:
1329
+ return "GMT" + ae(r, ":");
1330
+ }
1331
+ },
1332
+ // Seconds timestamp
1333
+ t: function(e, t, n) {
1334
+ const r = Math.trunc(+e / 1e3);
1335
+ return T(r, t.length);
1336
+ },
1337
+ // Milliseconds timestamp
1338
+ T: function(e, t, n) {
1339
+ return T(+e, t.length);
1340
+ }
1341
+ };
1342
+ function yt(e, t = "") {
1343
+ const n = e > 0 ? "-" : "+", r = Math.abs(e), o = Math.trunc(r / 60), a = r % 60;
1344
+ return a === 0 ? n + String(o) : n + String(o) + t + T(a, 2);
1345
+ }
1346
+ function gt(e, t) {
1347
+ return e % 60 === 0 ? (e > 0 ? "-" : "+") + T(Math.abs(e) / 60, 2) : ae(e, t);
1348
+ }
1349
+ function ae(e, t = "") {
1350
+ const n = e > 0 ? "-" : "+", r = Math.abs(e), o = T(Math.trunc(r / 60), 2), a = T(r % 60, 2);
1351
+ return n + o + t + a;
1352
+ }
1353
+ const bt = (e, t) => {
1354
+ switch (e) {
1355
+ case "P":
1356
+ return t.date({ width: "short" });
1357
+ case "PP":
1358
+ return t.date({ width: "medium" });
1359
+ case "PPP":
1360
+ return t.date({ width: "long" });
1361
+ case "PPPP":
1362
+ default:
1363
+ return t.date({ width: "full" });
1364
+ }
1365
+ }, Bt = (e, t) => {
1366
+ switch (e) {
1367
+ case "p":
1368
+ return t.time({ width: "short" });
1369
+ case "pp":
1370
+ return t.time({ width: "medium" });
1371
+ case "ppp":
1372
+ return t.time({ width: "long" });
1373
+ case "pppp":
1374
+ default:
1375
+ return t.time({ width: "full" });
1376
+ }
1377
+ }, Br = (e, t) => {
1378
+ const n = e.match(/(P+)(p+)?/) || [], r = n[1], o = n[2];
1379
+ if (!o)
1380
+ return bt(e, t);
1381
+ let a;
1382
+ switch (r) {
1383
+ case "P":
1384
+ a = t.dateTime({ width: "short" });
1385
+ break;
1386
+ case "PP":
1387
+ a = t.dateTime({ width: "medium" });
1388
+ break;
1389
+ case "PPP":
1390
+ a = t.dateTime({ width: "long" });
1391
+ break;
1392
+ case "PPPP":
1393
+ default:
1394
+ a = t.dateTime({ width: "full" });
1395
+ break;
1396
+ }
1397
+ return a.replace("{{date}}", bt(r, t)).replace("{{time}}", Bt(o, t));
1398
+ }, Ir = {
1399
+ p: Bt,
1400
+ P: Br
1401
+ }, Hr = /^D+$/, Ar = /^Y+$/, qr = ["D", "DD", "YY", "YYYY"];
1402
+ function jr(e) {
1403
+ return Hr.test(e);
1404
+ }
1405
+ function Gr(e) {
1406
+ return Ar.test(e);
1407
+ }
1408
+ function $r(e, t, n) {
1409
+ const r = zr(e, t, n);
1410
+ if (console.warn(r), qr.includes(e)) throw new RangeError(r);
1411
+ }
1412
+ function zr(e, t, n) {
1413
+ const r = e[0] === "Y" ? "years" : "days of the month";
1414
+ return `Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
1415
+ }
1416
+ const Rr = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, Qr = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Ur = /^'([^]*?)'?$/, Vr = /''/g, Xr = /[a-zA-Z]/;
1417
+ function be(e, t, n) {
1418
+ const r = Me(), o = n?.locale ?? r.locale ?? de, a = n?.firstWeekContainsDate ?? n?.locale?.options?.firstWeekContainsDate ?? r.firstWeekContainsDate ?? r.locale?.options?.firstWeekContainsDate ?? 1, i = n?.weekStartsOn ?? n?.locale?.options?.weekStartsOn ?? r.weekStartsOn ?? r.locale?.options?.weekStartsOn ?? 0, s = P(e, n?.in);
1419
+ if (!Xn(s))
1420
+ throw new RangeError("Invalid time value");
1421
+ let c = t.match(Qr).map((d) => {
1422
+ const l = d[0];
1423
+ if (l === "p" || l === "P") {
1424
+ const h = Ir[l];
1425
+ return h(d, o.formatLong);
1426
+ }
1427
+ return d;
1428
+ }).join("").match(Rr).map((d) => {
1429
+ if (d === "''")
1430
+ return { isToken: !1, value: "'" };
1431
+ const l = d[0];
1432
+ if (l === "'")
1433
+ return { isToken: !1, value: Kr(d) };
1434
+ if (mt[l])
1435
+ return { isToken: !0, value: d };
1436
+ if (l.match(Xr))
1437
+ throw new RangeError(
1438
+ "Format string contains an unescaped latin alphabet character `" + l + "`"
1439
+ );
1440
+ return { isToken: !1, value: d };
1441
+ });
1442
+ o.localize.preprocessor && (c = o.localize.preprocessor(s, c));
1443
+ const u = {
1444
+ firstWeekContainsDate: a,
1445
+ weekStartsOn: i,
1446
+ locale: o
1447
+ };
1448
+ return c.map((d) => {
1449
+ if (!d.isToken) return d.value;
1450
+ const l = d.value;
1451
+ (!n?.useAdditionalWeekYearTokens && Gr(l) || !n?.useAdditionalDayOfYearTokens && jr(l)) && $r(l, t, String(e));
1452
+ const h = mt[l[0]];
1453
+ return h(s, l, o.localize, u);
1454
+ }).join("");
1455
+ }
1456
+ function Kr(e) {
1457
+ const t = e.match(Ur);
1458
+ return t ? t[1].replace(Vr, "'") : e;
1459
+ }
1460
+ function Zr(e, t) {
1461
+ const n = P(e, t?.in), r = n.getFullYear(), o = n.getMonth(), a = B(n, 0);
1462
+ return a.setFullYear(r, o + 1, 0), a.setHours(0, 0, 0, 0), a.getDate();
1463
+ }
1464
+ function Jr(e, t) {
1465
+ return P(e, t?.in).getMonth();
1466
+ }
1467
+ function Lr(e, t) {
1468
+ return P(e, t?.in).getFullYear();
1469
+ }
1470
+ function eo(e, t) {
1471
+ return +P(e) > +P(t);
1472
+ }
1473
+ function to(e, t) {
1474
+ return +P(e) < +P(t);
1475
+ }
1476
+ function no(e, t, n) {
1477
+ const [r, o] = he(
1478
+ n?.in,
1479
+ e,
1480
+ t
1481
+ );
1482
+ return r.getFullYear() === o.getFullYear() && r.getMonth() === o.getMonth();
1483
+ }
1484
+ function ro(e, t, n) {
1485
+ const [r, o] = he(
1486
+ n?.in,
1487
+ e,
1488
+ t
1489
+ );
1490
+ return r.getFullYear() === o.getFullYear();
1491
+ }
1492
+ function oo(e, t, n) {
1493
+ const r = P(e, n?.in), o = r.getFullYear(), a = r.getDate(), i = B(e, 0);
1494
+ i.setFullYear(o, t, 15), i.setHours(0, 0, 0, 0);
1495
+ const s = Zr(i);
1496
+ return r.setMonth(t, Math.min(a, s)), r;
1497
+ }
1498
+ function so(e, t, n) {
1499
+ const r = P(e, n?.in);
1500
+ return isNaN(+r) ? B(e, NaN) : (r.setFullYear(t), r);
1501
+ }
1502
+ const wt = 5, ao = 4;
1503
+ function io(e, t) {
1504
+ const n = t.startOfMonth(e), r = n.getDay() > 0 ? n.getDay() : 7, o = t.addDays(e, -r + 1), a = t.addDays(o, wt * 7 - 1);
1505
+ return t.getMonth(e) === t.getMonth(a) ? wt : ao;
1506
+ }
1507
+ function It(e, t) {
1508
+ const n = t.startOfMonth(e), r = n.getDay();
1509
+ return r === 1 ? n : r === 0 ? t.addDays(n, -1 * 6) : t.addDays(n, -1 * (r - 1));
1510
+ }
1511
+ function co(e, t) {
1512
+ const n = It(e, t), r = io(e, t);
1513
+ return t.addDays(n, r * 7 - 1);
1514
+ }
1515
+ const Ht = {
1516
+ ...de,
1517
+ labels: {
1518
+ labelDayButton: (e, t, n, r) => {
1519
+ let o;
1520
+ r && typeof r.format == "function" ? o = r.format.bind(r) : o = (i, s) => be(i, s, { locale: de, ...n });
1521
+ let a = o(e, "PPPP");
1522
+ return t.today && (a = `Today, ${a}`), t.selected && (a = `${a}, selected`), a;
1523
+ },
1524
+ labelMonthDropdown: "Choose the Month",
1525
+ labelNext: "Go to the Next Month",
1526
+ labelPrevious: "Go to the Previous Month",
1527
+ labelWeekNumber: (e) => `Week ${e}`,
1528
+ labelYearDropdown: "Choose the Year",
1529
+ labelGrid: (e, t, n) => {
1530
+ let r;
1531
+ return n && typeof n.format == "function" ? r = n.format.bind(n) : r = (o, a) => be(o, a, { locale: de, ...t }), r(e, "LLLL yyyy");
1532
+ },
1533
+ labelGridcell: (e, t, n, r) => {
1534
+ let o;
1535
+ r && typeof r.format == "function" ? o = r.format.bind(r) : o = (i, s) => be(i, s, { locale: de, ...n });
1536
+ let a = o(e, "PPPP");
1537
+ return t?.today && (a = `Today, ${a}`), a;
1538
+ },
1539
+ labelNav: "Navigation bar",
1540
+ labelWeekNumberHeader: "Week Number",
1541
+ labelWeekday: (e, t, n) => {
1542
+ let r;
1543
+ return n && typeof n.format == "function" ? r = n.format.bind(n) : r = (o, a) => be(o, a, { locale: de, ...t }), r(e, "cccc");
1544
+ }
1545
+ }
1546
+ };
1547
+ class j {
1548
+ /**
1549
+ * Creates an instance of `DateLib`.
1550
+ *
1551
+ * @param options Configuration options for the date library.
1552
+ * @param overrides Custom overrides for the date library functions.
1553
+ */
1554
+ constructor(t, n) {
1555
+ this.Date = Date, this.today = () => this.overrides?.today ? this.overrides.today() : this.options.timeZone ? H.tz(this.options.timeZone) : new this.Date(), this.newDate = (r, o, a) => this.overrides?.newDate ? this.overrides.newDate(r, o, a) : this.options.timeZone ? new H(r, o, a, this.options.timeZone) : new Date(r, o, a), this.addDays = (r, o) => this.overrides?.addDays ? this.overrides.addDays(r, o) : Ct(r, o), this.addMonths = (r, o) => this.overrides?.addMonths ? this.overrides.addMonths(r, o) : Nt(r, o), this.addWeeks = (r, o) => this.overrides?.addWeeks ? this.overrides.addWeeks(r, o) : zn(r, o), this.addYears = (r, o) => this.overrides?.addYears ? this.overrides.addYears(r, o) : Rn(r, o), this.differenceInCalendarDays = (r, o) => this.overrides?.differenceInCalendarDays ? this.overrides.differenceInCalendarDays(r, o) : Xe(r, o), this.differenceInCalendarMonths = (r, o) => this.overrides?.differenceInCalendarMonths ? this.overrides.differenceInCalendarMonths(r, o) : Tt(r, o), this.eachMonthOfInterval = (r) => this.overrides?.eachMonthOfInterval ? this.overrides.eachMonthOfInterval(r) : Zn(r), this.eachYearOfInterval = (r) => {
1556
+ const o = this.overrides?.eachYearOfInterval ? this.overrides.eachYearOfInterval(r) : er(r), a = new Set(o.map((s) => this.getYear(s)));
1557
+ if (a.size === o.length)
1558
+ return o;
1559
+ const i = [];
1560
+ return a.forEach((s) => {
1561
+ i.push(new Date(s, 0, 1));
1562
+ }), i;
1563
+ }, this.endOfBroadcastWeek = (r) => this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(r) : co(r, this), this.endOfISOWeek = (r) => this.overrides?.endOfISOWeek ? this.overrides.endOfISOWeek(r) : tr(r), this.endOfMonth = (r) => this.overrides?.endOfMonth ? this.overrides.endOfMonth(r) : Kn(r), this.endOfWeek = (r, o) => this.overrides?.endOfWeek ? this.overrides.endOfWeek(r, o) : _t(r, this.options), this.endOfYear = (r) => this.overrides?.endOfYear ? this.overrides.endOfYear(r) : Ln(r), this.format = (r, o, a) => {
1564
+ const i = this.overrides?.format ? this.overrides.format(r, o, this.options) : be(r, o, this.options);
1565
+ return this.options.numerals && this.options.numerals !== "latn" ? this.replaceDigits(i) : i;
1566
+ }, this.getISOWeek = (r) => this.overrides?.getISOWeek ? this.overrides.getISOWeek(r) : Ke(r), this.getMonth = (r, o) => this.overrides?.getMonth ? this.overrides.getMonth(r, this.options) : Jr(r, this.options), this.getYear = (r, o) => this.overrides?.getYear ? this.overrides.getYear(r, this.options) : Lr(r, this.options), this.getWeek = (r, o) => this.overrides?.getWeek ? this.overrides.getWeek(r, this.options) : Ze(r, this.options), this.isAfter = (r, o) => this.overrides?.isAfter ? this.overrides.isAfter(r, o) : eo(r, o), this.isBefore = (r, o) => this.overrides?.isBefore ? this.overrides.isBefore(r, o) : to(r, o), this.isDate = (r) => this.overrides?.isDate ? this.overrides.isDate(r) : xt(r), this.isSameDay = (r, o) => this.overrides?.isSameDay ? this.overrides.isSameDay(r, o) : Vn(r, o), this.isSameMonth = (r, o) => this.overrides?.isSameMonth ? this.overrides.isSameMonth(r, o) : no(r, o), this.isSameYear = (r, o) => this.overrides?.isSameYear ? this.overrides.isSameYear(r, o) : ro(r, o), this.max = (r) => this.overrides?.max ? this.overrides.max(r) : Qn(r), this.min = (r) => this.overrides?.min ? this.overrides.min(r) : Un(r), this.setMonth = (r, o) => this.overrides?.setMonth ? this.overrides.setMonth(r, o) : oo(r, o), this.setYear = (r, o) => this.overrides?.setYear ? this.overrides.setYear(r, o) : so(r, o), this.startOfBroadcastWeek = (r, o) => this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(r, this) : It(r, this), this.startOfDay = (r) => this.overrides?.startOfDay ? this.overrides.startOfDay(r) : pe(r), this.startOfISOWeek = (r) => this.overrides?.startOfISOWeek ? this.overrides.startOfISOWeek(r) : we(r), this.startOfMonth = (r) => this.overrides?.startOfMonth ? this.overrides.startOfMonth(r) : Jn(r), this.startOfWeek = (r, o) => this.overrides?.startOfWeek ? this.overrides.startOfWeek(r, this.options) : fe(r, this.options), this.startOfYear = (r) => this.overrides?.startOfYear ? this.overrides.startOfYear(r) : Et(r), this.options = { locale: Ht, ...t }, this.overrides = n;
1567
+ }
1568
+ /**
1569
+ * Generates a mapping of Arabic digits (0-9) to the target numbering system
1570
+ * digits.
1571
+ *
1572
+ * @since 9.5.0
1573
+ * @returns A record mapping Arabic digits to the target numerals.
1574
+ */
1575
+ getDigitMap() {
1576
+ const { numerals: t = "latn" } = this.options, n = new Intl.NumberFormat("en-US", {
1577
+ numberingSystem: t
1578
+ }), r = {};
1579
+ for (let o = 0; o < 10; o++)
1580
+ r[o.toString()] = n.format(o);
1581
+ return r;
1582
+ }
1583
+ /**
1584
+ * Replaces Arabic digits in a string with the target numbering system digits.
1585
+ *
1586
+ * @since 9.5.0
1587
+ * @param input The string containing Arabic digits.
1588
+ * @returns The string with digits replaced.
1589
+ */
1590
+ replaceDigits(t) {
1591
+ const n = this.getDigitMap();
1592
+ return t.replace(/\d/g, (r) => n[r] || r);
1593
+ }
1594
+ /**
1595
+ * Formats a number using the configured numbering system.
1596
+ *
1597
+ * @since 9.5.0
1598
+ * @param value The number to format.
1599
+ * @returns The formatted number as a string.
1600
+ */
1601
+ formatNumber(t) {
1602
+ return this.replaceDigits(t.toString());
1603
+ }
1604
+ /**
1605
+ * Returns the preferred ordering for month and year labels for the current
1606
+ * locale.
1607
+ */
1608
+ getMonthYearOrder() {
1609
+ const t = this.options.locale?.code;
1610
+ return t && j.yearFirstLocales.has(t) ? "year-first" : "month-first";
1611
+ }
1612
+ /**
1613
+ * Formats the month/year pair respecting locale conventions.
1614
+ *
1615
+ * @since 9.11.0
1616
+ */
1617
+ formatMonthYear(t) {
1618
+ const { locale: n, timeZone: r, numerals: o } = this.options, a = n?.code;
1619
+ if (a && j.yearFirstLocales.has(a))
1620
+ try {
1621
+ return new Intl.DateTimeFormat(a, {
1622
+ month: "long",
1623
+ year: "numeric",
1624
+ timeZone: r,
1625
+ numberingSystem: o
1626
+ }).format(t);
1627
+ } catch {
1628
+ }
1629
+ const i = this.getMonthYearOrder() === "year-first" ? "y LLLL" : "LLLL y";
1630
+ return this.format(t, i);
1631
+ }
1632
+ }
1633
+ j.yearFirstLocales = /* @__PURE__ */ new Set([
1634
+ "eu",
1635
+ "hu",
1636
+ "ja",
1637
+ "ja-Hira",
1638
+ "ja-JP",
1639
+ "ko",
1640
+ "ko-KR",
1641
+ "lt",
1642
+ "lt-LT",
1643
+ "lv",
1644
+ "lv-LV",
1645
+ "mn",
1646
+ "mn-MN",
1647
+ "zh",
1648
+ "zh-CN",
1649
+ "zh-HK",
1650
+ "zh-TW"
1651
+ ]);
1652
+ const L = new j();
1653
+ class At {
1654
+ constructor(t, n, r = L) {
1655
+ this.date = t, this.displayMonth = n, this.outside = !!(n && !r.isSameMonth(t, n)), this.dateLib = r, this.isoDate = r.format(t, "yyyy-MM-dd"), this.displayMonthId = r.format(n, "yyyy-MM"), this.dateMonthId = r.format(t, "yyyy-MM");
1656
+ }
1657
+ /**
1658
+ * Checks if this day is equal to another `CalendarDay`, considering both the
1659
+ * date and the displayed month.
1660
+ *
1661
+ * @param day The `CalendarDay` to compare with.
1662
+ * @returns `true` if the days are equal, otherwise `false`.
1663
+ */
1664
+ isEqualTo(t) {
1665
+ return this.dateLib.isSameDay(t.date, this.date) && this.dateLib.isSameMonth(t.displayMonth, this.displayMonth);
1666
+ }
1667
+ }
1668
+ class uo {
1669
+ constructor(t, n) {
1670
+ this.date = t, this.weeks = n;
1671
+ }
1672
+ }
1673
+ class lo {
1674
+ constructor(t, n) {
1675
+ this.days = n, this.weekNumber = t;
1676
+ }
1677
+ }
1678
+ function fo(e) {
1679
+ return f.createElement("button", { ...e });
1680
+ }
1681
+ function ho(e) {
1682
+ return f.createElement("span", { ...e });
1683
+ }
1684
+ function mo(e) {
1685
+ const { size: t = 24, orientation: n = "left", className: r } = e;
1686
+ return (
1687
+ // biome-ignore lint/a11y/noSvgWithoutTitle: handled by the parent component
1688
+ f.createElement(
1689
+ "svg",
1690
+ { className: r, width: t, height: t, viewBox: "0 0 24 24" },
1691
+ n === "up" && f.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }),
1692
+ n === "down" && f.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }),
1693
+ n === "left" && f.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }),
1694
+ n === "right" && f.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" })
1695
+ )
1696
+ );
1697
+ }
1698
+ function yo(e) {
1699
+ const { day: t, modifiers: n, ...r } = e;
1700
+ return f.createElement("td", { ...r });
1701
+ }
1702
+ function qt(e) {
1703
+ const { day: t, modifiers: n, ...r } = e, o = f.useRef(null);
1704
+ return f.useEffect(() => {
1705
+ n.focused && o.current?.focus();
1706
+ }, [n.focused]), f.createElement("button", { ref: o, ...r });
1707
+ }
1708
+ var y;
1709
+ (function(e) {
1710
+ e.Root = "root", e.Chevron = "chevron", e.Day = "day", e.DayButton = "day_button", e.CaptionLabel = "caption_label", e.Dropdowns = "dropdowns", e.Dropdown = "dropdown", e.DropdownRoot = "dropdown_root", e.Footer = "footer", e.MonthGrid = "month_grid", e.MonthCaption = "month_caption", e.MonthsDropdown = "months_dropdown", e.Month = "month", e.Months = "months", e.Nav = "nav", e.NextMonthButton = "button_next", e.PreviousMonthButton = "button_previous", e.Week = "week", e.Weeks = "weeks", e.Weekday = "weekday", e.Weekdays = "weekdays", e.WeekNumber = "week_number", e.WeekNumberHeader = "week_number_header", e.YearsDropdown = "years_dropdown";
1711
+ })(y || (y = {}));
1712
+ var _;
1713
+ (function(e) {
1714
+ e.disabled = "disabled", e.hidden = "hidden", e.outside = "outside", e.focused = "focused", e.today = "today";
1715
+ })(_ || (_ = {}));
1716
+ var X;
1717
+ (function(e) {
1718
+ e.range_end = "range_end", e.range_middle = "range_middle", e.range_start = "range_start", e.selected = "selected";
1719
+ })(X || (X = {}));
1720
+ var q;
1721
+ (function(e) {
1722
+ e.weeks_before_enter = "weeks_before_enter", e.weeks_before_exit = "weeks_before_exit", e.weeks_after_enter = "weeks_after_enter", e.weeks_after_exit = "weeks_after_exit", e.caption_after_enter = "caption_after_enter", e.caption_after_exit = "caption_after_exit", e.caption_before_enter = "caption_before_enter", e.caption_before_exit = "caption_before_exit";
1723
+ })(q || (q = {}));
1724
+ function go(e) {
1725
+ const { options: t, className: n, components: r, classNames: o, ...a } = e, i = [o[y.Dropdown], n].join(" "), s = t?.find(({ value: c }) => c === a.value);
1726
+ return f.createElement(
1727
+ "span",
1728
+ { "data-disabled": a.disabled, className: o[y.DropdownRoot] },
1729
+ f.createElement(r.Select, { className: i, ...a }, t?.map(({ value: c, label: u, disabled: d }) => f.createElement(r.Option, { key: c, value: c, disabled: d }, u))),
1730
+ f.createElement(
1731
+ "span",
1732
+ { className: o[y.CaptionLabel], "aria-hidden": !0 },
1733
+ s?.label,
1734
+ f.createElement(r.Chevron, { orientation: "down", size: 18, className: o[y.Chevron] })
1735
+ )
1736
+ );
1737
+ }
1738
+ function bo(e) {
1739
+ return f.createElement("div", { ...e });
1740
+ }
1741
+ function wo(e) {
1742
+ return f.createElement("div", { ...e });
1743
+ }
1744
+ function po(e) {
1745
+ const { calendarMonth: t, displayIndex: n, ...r } = e;
1746
+ return f.createElement("div", { ...r }, e.children);
1747
+ }
1748
+ function Mo(e) {
1749
+ const { calendarMonth: t, displayIndex: n, ...r } = e;
1750
+ return f.createElement("div", { ...r });
1751
+ }
1752
+ function Do(e) {
1753
+ return f.createElement("table", { ...e });
1754
+ }
1755
+ function ko(e) {
1756
+ return f.createElement("div", { ...e });
1757
+ }
1758
+ const jt = xn(void 0);
1759
+ function De() {
1760
+ const e = Tn(jt);
1761
+ if (e === void 0)
1762
+ throw new Error("useDayPicker() must be used within a custom component.");
1763
+ return e;
1764
+ }
1765
+ function vo(e) {
1766
+ const { components: t } = De();
1767
+ return f.createElement(t.Dropdown, { ...e });
1768
+ }
1769
+ function Oo(e) {
1770
+ const { onPreviousClick: t, onNextClick: n, previousMonth: r, nextMonth: o, ...a } = e, { components: i, classNames: s, labels: { labelPrevious: c, labelNext: u } } = De(), d = $((h) => {
1771
+ o && n?.(h);
1772
+ }, [o, n]), l = $((h) => {
1773
+ r && t?.(h);
1774
+ }, [r, t]);
1775
+ return f.createElement(
1776
+ "nav",
1777
+ { ...a },
1778
+ f.createElement(
1779
+ i.PreviousMonthButton,
1780
+ { type: "button", className: s[y.PreviousMonthButton], tabIndex: r ? void 0 : -1, "aria-disabled": r ? void 0 : !0, "aria-label": c(r), onClick: l },
1781
+ f.createElement(i.Chevron, { disabled: r ? void 0 : !0, className: s[y.Chevron], orientation: "left" })
1782
+ ),
1783
+ f.createElement(
1784
+ i.NextMonthButton,
1785
+ { type: "button", className: s[y.NextMonthButton], tabIndex: o ? void 0 : -1, "aria-disabled": o ? void 0 : !0, "aria-label": u(o), onClick: d },
1786
+ f.createElement(i.Chevron, { disabled: o ? void 0 : !0, orientation: "right", className: s[y.Chevron] })
1787
+ )
1788
+ );
1789
+ }
1790
+ function Wo(e) {
1791
+ const { components: t } = De();
1792
+ return f.createElement(t.Button, { ...e });
1793
+ }
1794
+ function So(e) {
1795
+ return f.createElement("option", { ...e });
1796
+ }
1797
+ function Co(e) {
1798
+ const { components: t } = De();
1799
+ return f.createElement(t.Button, { ...e });
1800
+ }
1801
+ function No(e) {
1802
+ const { rootRef: t, ...n } = e;
1803
+ return f.createElement("div", { ...n, ref: t });
1804
+ }
1805
+ function Yo(e) {
1806
+ return f.createElement("select", { ...e });
1807
+ }
1808
+ function xo(e) {
1809
+ const { week: t, ...n } = e;
1810
+ return f.createElement("tr", { ...n });
1811
+ }
1812
+ function To(e) {
1813
+ return f.createElement("th", { ...e });
1814
+ }
1815
+ function Po(e) {
1816
+ return f.createElement(
1817
+ "thead",
1818
+ { "aria-hidden": !0 },
1819
+ f.createElement("tr", { ...e })
1820
+ );
1821
+ }
1822
+ function Eo(e) {
1823
+ const { week: t, ...n } = e;
1824
+ return f.createElement("th", { ...n });
1825
+ }
1826
+ function _o(e) {
1827
+ return f.createElement("th", { ...e });
1828
+ }
1829
+ function Fo(e) {
1830
+ return f.createElement("tbody", { ...e });
1831
+ }
1832
+ function Bo(e) {
1833
+ const { components: t } = De();
1834
+ return f.createElement(t.Dropdown, { ...e });
1835
+ }
1836
+ const Io = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1837
+ __proto__: null,
1838
+ Button: fo,
1839
+ CaptionLabel: ho,
1840
+ Chevron: mo,
1841
+ Day: yo,
1842
+ DayButton: qt,
1843
+ Dropdown: go,
1844
+ DropdownNav: bo,
1845
+ Footer: wo,
1846
+ Month: po,
1847
+ MonthCaption: Mo,
1848
+ MonthGrid: Do,
1849
+ Months: ko,
1850
+ MonthsDropdown: vo,
1851
+ Nav: Oo,
1852
+ NextMonthButton: Wo,
1853
+ Option: So,
1854
+ PreviousMonthButton: Co,
1855
+ Root: No,
1856
+ Select: Yo,
1857
+ Week: xo,
1858
+ WeekNumber: Eo,
1859
+ WeekNumberHeader: _o,
1860
+ Weekday: To,
1861
+ Weekdays: Po,
1862
+ Weeks: Fo,
1863
+ YearsDropdown: Bo
1864
+ }, Symbol.toStringTag, { value: "Module" }));
1865
+ function ne(e, t, n = !1, r = L) {
1866
+ let { from: o, to: a } = e;
1867
+ const { differenceInCalendarDays: i, isSameDay: s } = r;
1868
+ return o && a ? (i(a, o) < 0 && ([o, a] = [a, o]), i(t, o) >= (n ? 1 : 0) && i(a, t) >= (n ? 1 : 0)) : !n && a ? s(a, t) : !n && o ? s(o, t) : !1;
1869
+ }
1870
+ function Je(e) {
1871
+ return !!(e && typeof e == "object" && "before" in e && "after" in e);
1872
+ }
1873
+ function Ye(e) {
1874
+ return !!(e && typeof e == "object" && "from" in e);
1875
+ }
1876
+ function Le(e) {
1877
+ return !!(e && typeof e == "object" && "after" in e);
1878
+ }
1879
+ function et(e) {
1880
+ return !!(e && typeof e == "object" && "before" in e);
1881
+ }
1882
+ function Gt(e) {
1883
+ return !!(e && typeof e == "object" && "dayOfWeek" in e);
1884
+ }
1885
+ function $t(e, t) {
1886
+ return Array.isArray(e) && e.every(t.isDate);
1887
+ }
1888
+ function re(e, t, n = L) {
1889
+ const r = Array.isArray(t) ? t : [t], { isSameDay: o, differenceInCalendarDays: a, isAfter: i } = n;
1890
+ return r.some((s) => {
1891
+ if (typeof s == "boolean")
1892
+ return s;
1893
+ if (n.isDate(s))
1894
+ return o(e, s);
1895
+ if ($t(s, n))
1896
+ return s.some((c) => o(e, c));
1897
+ if (Ye(s))
1898
+ return ne(s, e, !1, n);
1899
+ if (Gt(s))
1900
+ return Array.isArray(s.dayOfWeek) ? s.dayOfWeek.includes(e.getDay()) : s.dayOfWeek === e.getDay();
1901
+ if (Je(s)) {
1902
+ const c = a(s.before, e), u = a(s.after, e), d = c > 0, l = u < 0;
1903
+ return i(s.before, s.after) ? l && d : d || l;
1904
+ }
1905
+ return Le(s) ? a(e, s.after) > 0 : et(s) ? a(s.before, e) > 0 : typeof s == "function" ? s(e) : !1;
1906
+ });
1907
+ }
1908
+ function Ho(e, t, n, r, o) {
1909
+ const { disabled: a, hidden: i, modifiers: s, showOutsideDays: c, broadcastCalendar: u, today: d = o.today() } = t, { isSameDay: l, isSameMonth: h, startOfMonth: g, isBefore: O, endOfMonth: C, isAfter: v } = o, x = n && g(n), M = r && C(r), w = {
1910
+ [_.focused]: [],
1911
+ [_.outside]: [],
1912
+ [_.disabled]: [],
1913
+ [_.hidden]: [],
1914
+ [_.today]: []
1915
+ }, D = {};
1916
+ for (const b of e) {
1917
+ const { date: m, displayMonth: W } = b, E = !!(W && !h(m, W)), I = !!(x && O(m, x)), F = !!(M && v(m, M)), K = !!(a && re(m, a, o)), oe = !!(i && re(m, i, o)) || I || F || // Broadcast calendar will show outside days as default
1918
+ !u && !c && E || u && c === !1 && E, ee = l(m, d);
1919
+ E && w.outside.push(b), K && w.disabled.push(b), oe && w.hidden.push(b), ee && w.today.push(b), s && Object.keys(s).forEach((G) => {
1920
+ const ce = s?.[G];
1921
+ ce && re(m, ce, o) && (D[G] ? D[G].push(b) : D[G] = [b]);
1922
+ });
1923
+ }
1924
+ return (b) => {
1925
+ const m = {
1926
+ [_.focused]: !1,
1927
+ [_.disabled]: !1,
1928
+ [_.hidden]: !1,
1929
+ [_.outside]: !1,
1930
+ [_.today]: !1
1931
+ }, W = {};
1932
+ for (const E in w) {
1933
+ const I = w[E];
1934
+ m[E] = I.some((F) => F === b);
1935
+ }
1936
+ for (const E in D)
1937
+ W[E] = D[E].some((I) => I === b);
1938
+ return {
1939
+ ...m,
1940
+ // custom modifiers should override all the previous ones
1941
+ ...W
1942
+ };
1943
+ };
1944
+ }
1945
+ function Ao(e, t, n = {}) {
1946
+ return Object.entries(e).filter(([, o]) => o === !0).reduce((o, [a]) => (n[a] ? o.push(n[a]) : t[_[a]] ? o.push(t[_[a]]) : t[X[a]] && o.push(t[X[a]]), o), [t[y.Day]]);
1947
+ }
1948
+ function qo(e) {
1949
+ return {
1950
+ ...Io,
1951
+ ...e
1952
+ };
1953
+ }
1954
+ function jo(e) {
1955
+ const t = {
1956
+ "data-mode": e.mode ?? void 0,
1957
+ "data-required": "required" in e ? e.required : void 0,
1958
+ "data-multiple-months": e.numberOfMonths && e.numberOfMonths > 1 || void 0,
1959
+ "data-week-numbers": e.showWeekNumber || void 0,
1960
+ "data-broadcast-calendar": e.broadcastCalendar || void 0,
1961
+ "data-nav-layout": e.navLayout || void 0
1962
+ };
1963
+ return Object.entries(e).forEach(([n, r]) => {
1964
+ n.startsWith("data-") && (t[n] = r);
1965
+ }), t;
1966
+ }
1967
+ function Go() {
1968
+ const e = {};
1969
+ for (const t in y)
1970
+ e[y[t]] = `rdp-${y[t]}`;
1971
+ for (const t in _)
1972
+ e[_[t]] = `rdp-${_[t]}`;
1973
+ for (const t in X)
1974
+ e[X[t]] = `rdp-${X[t]}`;
1975
+ for (const t in q)
1976
+ e[q[t]] = `rdp-${q[t]}`;
1977
+ return e;
1978
+ }
1979
+ function zt(e, t, n) {
1980
+ return (n ?? new j(t)).formatMonthYear(e);
1981
+ }
1982
+ const $o = zt;
1983
+ function zo(e, t, n) {
1984
+ return (n ?? new j(t)).format(e, "d");
1985
+ }
1986
+ function Ro(e, t = L) {
1987
+ return t.format(e, "LLLL");
1988
+ }
1989
+ function Qo(e, t, n) {
1990
+ return (n ?? new j(t)).format(e, "cccccc");
1991
+ }
1992
+ function Uo(e, t = L) {
1993
+ return e < 10 ? t.formatNumber(`0${e.toLocaleString()}`) : t.formatNumber(`${e.toLocaleString()}`);
1994
+ }
1995
+ function Vo() {
1996
+ return "";
1997
+ }
1998
+ function Rt(e, t = L) {
1999
+ return t.format(e, "yyyy");
2000
+ }
2001
+ const Xo = Rt, Ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2002
+ __proto__: null,
2003
+ formatCaption: zt,
2004
+ formatDay: zo,
2005
+ formatMonthCaption: $o,
2006
+ formatMonthDropdown: Ro,
2007
+ formatWeekNumber: Uo,
2008
+ formatWeekNumberHeader: Vo,
2009
+ formatWeekdayName: Qo,
2010
+ formatYearCaption: Xo,
2011
+ formatYearDropdown: Rt
2012
+ }, Symbol.toStringTag, { value: "Module" }));
2013
+ function Zo(e) {
2014
+ return e?.formatMonthCaption && !e.formatCaption && (e.formatCaption = e.formatMonthCaption), e?.formatYearCaption && !e.formatYearDropdown && (e.formatYearDropdown = e.formatYearCaption), {
2015
+ ...Ko,
2016
+ ...e
2017
+ };
2018
+ }
2019
+ function tt(e, t, n, r) {
2020
+ let o = (r ?? new j(n)).format(e, "PPPP");
2021
+ return t.today && (o = `Today, ${o}`), t.selected && (o = `${o}, selected`), o;
2022
+ }
2023
+ const Jo = tt;
2024
+ function nt(e, t, n) {
2025
+ return (n ?? new j(t)).formatMonthYear(e);
2026
+ }
2027
+ const Lo = nt;
2028
+ function Qt(e, t, n, r) {
2029
+ let o = (r ?? new j(n)).format(e, "PPPP");
2030
+ return t?.today && (o = `Today, ${o}`), o;
2031
+ }
2032
+ function Ut(e) {
2033
+ return "Choose the Month";
2034
+ }
2035
+ function Vt() {
2036
+ return "";
2037
+ }
2038
+ const es = "Go to the Next Month";
2039
+ function Xt(e, t) {
2040
+ return es;
2041
+ }
2042
+ function Kt(e) {
2043
+ return "Go to the Previous Month";
2044
+ }
2045
+ function Zt(e, t, n) {
2046
+ return (n ?? new j(t)).format(e, "cccc");
2047
+ }
2048
+ function Jt(e, t) {
2049
+ return `Week ${e}`;
2050
+ }
2051
+ function Lt(e) {
2052
+ return "Week Number";
2053
+ }
2054
+ function en(e) {
2055
+ return "Choose the Year";
2056
+ }
2057
+ const ts = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2058
+ __proto__: null,
2059
+ labelCaption: Lo,
2060
+ labelDay: Jo,
2061
+ labelDayButton: tt,
2062
+ labelGrid: nt,
2063
+ labelGridcell: Qt,
2064
+ labelMonthDropdown: Ut,
2065
+ labelNav: Vt,
2066
+ labelNext: Xt,
2067
+ labelPrevious: Kt,
2068
+ labelWeekNumber: Jt,
2069
+ labelWeekNumberHeader: Lt,
2070
+ labelWeekday: Zt,
2071
+ labelYearDropdown: en
2072
+ }, Symbol.toStringTag, { value: "Module" })), V = (e, t, n) => t || (n ? typeof n == "function" ? n : (...r) => n : e);
2073
+ function ns(e, t) {
2074
+ const n = t.locale?.labels ?? {};
2075
+ return {
2076
+ ...ts,
2077
+ ...e ?? {},
2078
+ labelDayButton: V(tt, e?.labelDayButton, n.labelDayButton),
2079
+ labelMonthDropdown: V(Ut, e?.labelMonthDropdown, n.labelMonthDropdown),
2080
+ labelNext: V(Xt, e?.labelNext, n.labelNext),
2081
+ labelPrevious: V(Kt, e?.labelPrevious, n.labelPrevious),
2082
+ labelWeekNumber: V(Jt, e?.labelWeekNumber, n.labelWeekNumber),
2083
+ labelYearDropdown: V(en, e?.labelYearDropdown, n.labelYearDropdown),
2084
+ labelGrid: V(nt, e?.labelGrid, n.labelGrid),
2085
+ labelGridcell: V(Qt, e?.labelGridcell, n.labelGridcell),
2086
+ labelNav: V(Vt, e?.labelNav, n.labelNav),
2087
+ labelWeekNumberHeader: V(Lt, e?.labelWeekNumberHeader, n.labelWeekNumberHeader),
2088
+ labelWeekday: V(Zt, e?.labelWeekday, n.labelWeekday)
2089
+ };
2090
+ }
2091
+ function rs(e, t, n, r, o) {
2092
+ const { startOfMonth: a, startOfYear: i, endOfYear: s, eachMonthOfInterval: c, getMonth: u } = o;
2093
+ return c({
2094
+ start: i(e),
2095
+ end: s(e)
2096
+ }).map((h) => {
2097
+ const g = r.formatMonthDropdown(h, o), O = u(h), C = t && h < a(t) || n && h > a(n) || !1;
2098
+ return { value: O, label: g, disabled: C };
2099
+ });
2100
+ }
2101
+ function os(e, t = {}, n = {}) {
2102
+ let r = { ...t?.[y.Day] };
2103
+ return Object.entries(e).filter(([, o]) => o === !0).forEach(([o]) => {
2104
+ r = {
2105
+ ...r,
2106
+ ...n?.[o]
2107
+ };
2108
+ }), r;
2109
+ }
2110
+ function ss(e, t, n, r) {
2111
+ const o = r ?? e.today(), a = n ? e.startOfBroadcastWeek(o, e) : t ? e.startOfISOWeek(o) : e.startOfWeek(o), i = [];
2112
+ for (let s = 0; s < 7; s++) {
2113
+ const c = e.addDays(a, s);
2114
+ i.push(c);
2115
+ }
2116
+ return i;
2117
+ }
2118
+ function as(e, t, n, r, o = !1) {
2119
+ if (!e || !t)
2120
+ return;
2121
+ const { startOfYear: a, endOfYear: i, eachYearOfInterval: s, getYear: c } = r, u = a(e), d = i(t), l = s({ start: u, end: d });
2122
+ return o && l.reverse(), l.map((h) => {
2123
+ const g = n.formatYearDropdown(h, r);
2124
+ return {
2125
+ value: c(h),
2126
+ label: g,
2127
+ disabled: !1
2128
+ };
2129
+ });
2130
+ }
2131
+ function is(e, t = {}) {
2132
+ const { weekStartsOn: n, locale: r } = t, o = n ?? r?.options?.weekStartsOn ?? 0, a = (s) => {
2133
+ const c = typeof s == "number" || typeof s == "string" ? new Date(s) : s;
2134
+ return new H(c.getFullYear(), c.getMonth(), c.getDate(), 12, 0, 0, e);
2135
+ }, i = (s) => {
2136
+ const c = a(s);
2137
+ return new Date(c.getFullYear(), c.getMonth(), c.getDate(), 0, 0, 0, 0);
2138
+ };
2139
+ return {
2140
+ today: () => a(H.tz(e)),
2141
+ newDate: (s, c, u) => new H(s, c, u, 12, 0, 0, e),
2142
+ startOfDay: (s) => a(s),
2143
+ startOfWeek: (s, c) => {
2144
+ const u = a(s), d = c?.weekStartsOn ?? o, l = (u.getDay() - d + 7) % 7;
2145
+ return u.setDate(u.getDate() - l), u;
2146
+ },
2147
+ startOfISOWeek: (s) => {
2148
+ const c = a(s), u = (c.getDay() - 1 + 7) % 7;
2149
+ return c.setDate(c.getDate() - u), c;
2150
+ },
2151
+ startOfMonth: (s) => {
2152
+ const c = a(s);
2153
+ return c.setDate(1), c;
2154
+ },
2155
+ startOfYear: (s) => {
2156
+ const c = a(s);
2157
+ return c.setMonth(0, 1), c;
2158
+ },
2159
+ endOfWeek: (s, c) => {
2160
+ const u = a(s), h = (((c?.weekStartsOn ?? o) + 6) % 7 - u.getDay() + 7) % 7;
2161
+ return u.setDate(u.getDate() + h), u;
2162
+ },
2163
+ endOfISOWeek: (s) => {
2164
+ const c = a(s), u = (7 - c.getDay()) % 7;
2165
+ return c.setDate(c.getDate() + u), c;
2166
+ },
2167
+ endOfMonth: (s) => {
2168
+ const c = a(s);
2169
+ return c.setMonth(c.getMonth() + 1, 0), c;
2170
+ },
2171
+ endOfYear: (s) => {
2172
+ const c = a(s);
2173
+ return c.setMonth(11, 31), c;
2174
+ },
2175
+ eachMonthOfInterval: (s) => {
2176
+ const c = a(s.start), u = a(s.end), d = [], l = new H(c.getFullYear(), c.getMonth(), 1, 12, 0, 0, e), h = u.getFullYear() * 12 + u.getMonth();
2177
+ for (; l.getFullYear() * 12 + l.getMonth() <= h; )
2178
+ d.push(new H(l, e)), l.setMonth(l.getMonth() + 1, 1);
2179
+ return d;
2180
+ },
2181
+ // Normalize to noon once before arithmetic (avoid DST/midnight edge cases),
2182
+ // mutate the same TZDate, and return it.
2183
+ addDays: (s, c) => {
2184
+ const u = a(s);
2185
+ return u.setDate(u.getDate() + c), u;
2186
+ },
2187
+ addWeeks: (s, c) => {
2188
+ const u = a(s);
2189
+ return u.setDate(u.getDate() + c * 7), u;
2190
+ },
2191
+ addMonths: (s, c) => {
2192
+ const u = a(s);
2193
+ return u.setMonth(u.getMonth() + c), u;
2194
+ },
2195
+ addYears: (s, c) => {
2196
+ const u = a(s);
2197
+ return u.setFullYear(u.getFullYear() + c), u;
2198
+ },
2199
+ eachYearOfInterval: (s) => {
2200
+ const c = a(s.start), u = a(s.end), d = [], l = new H(c.getFullYear(), 0, 1, 12, 0, 0, e);
2201
+ for (; l.getFullYear() <= u.getFullYear(); )
2202
+ d.push(new H(l, e)), l.setFullYear(l.getFullYear() + 1, 0, 1);
2203
+ return d;
2204
+ },
2205
+ getWeek: (s, c) => {
2206
+ const u = i(s);
2207
+ return Ze(u, {
2208
+ weekStartsOn: c?.weekStartsOn ?? o,
2209
+ firstWeekContainsDate: c?.firstWeekContainsDate ?? r?.options?.firstWeekContainsDate ?? 1
2210
+ });
2211
+ },
2212
+ getISOWeek: (s) => {
2213
+ const c = i(s);
2214
+ return Ke(c);
2215
+ },
2216
+ differenceInCalendarDays: (s, c) => {
2217
+ const u = i(s), d = i(c);
2218
+ return Xe(u, d);
2219
+ },
2220
+ differenceInCalendarMonths: (s, c) => {
2221
+ const u = i(s), d = i(c);
2222
+ return Tt(u, d);
2223
+ }
2224
+ };
2225
+ }
2226
+ const ke = (e) => e instanceof HTMLElement ? e : null, Ge = (e) => [
2227
+ ...e.querySelectorAll("[data-animated-month]") ?? []
2228
+ ], cs = (e) => ke(e.querySelector("[data-animated-month]")), $e = (e) => ke(e.querySelector("[data-animated-caption]")), ze = (e) => ke(e.querySelector("[data-animated-weeks]")), us = (e) => ke(e.querySelector("[data-animated-nav]")), ls = (e) => ke(e.querySelector("[data-animated-weekdays]"));
2229
+ function ds(e, t, { classNames: n, months: r, focused: o, dateLib: a }) {
2230
+ const i = Ce(null), s = Ce(r), c = Ce(!1);
2231
+ Pn(() => {
2232
+ const u = s.current;
2233
+ if (s.current = r, !t || !e.current || // safety check because the ref can be set to anything by consumers
2234
+ !(e.current instanceof HTMLElement) || // validation required for the animation to work as expected
2235
+ r.length === 0 || u.length === 0 || r.length !== u.length)
2236
+ return;
2237
+ const d = a.isSameMonth(r[0].date, u[0].date), l = a.isAfter(r[0].date, u[0].date), h = l ? n[q.caption_after_enter] : n[q.caption_before_enter], g = l ? n[q.weeks_after_enter] : n[q.weeks_before_enter], O = i.current, C = e.current.cloneNode(!0);
2238
+ if (C instanceof HTMLElement ? (Ge(C).forEach((w) => {
2239
+ if (!(w instanceof HTMLElement))
2240
+ return;
2241
+ const D = cs(w);
2242
+ D && w.contains(D) && w.removeChild(D);
2243
+ const b = $e(w);
2244
+ b && b.classList.remove(h);
2245
+ const m = ze(w);
2246
+ m && m.classList.remove(g);
2247
+ }), i.current = C) : i.current = null, c.current || d || // skip animation if a day is focused because it can cause issues to the animation and is better for a11y
2248
+ o)
2249
+ return;
2250
+ const v = O instanceof HTMLElement ? Ge(O) : [], x = Ge(e.current);
2251
+ if (x?.every((M) => M instanceof HTMLElement) && v && v.every((M) => M instanceof HTMLElement)) {
2252
+ c.current = !0, e.current.style.isolation = "isolate";
2253
+ const M = us(e.current);
2254
+ M && (M.style.zIndex = "1"), x.forEach((w, D) => {
2255
+ const b = v[D];
2256
+ if (!b)
2257
+ return;
2258
+ w.style.position = "relative", w.style.overflow = "hidden";
2259
+ const m = $e(w);
2260
+ m && m.classList.add(h);
2261
+ const W = ze(w);
2262
+ W && W.classList.add(g);
2263
+ const E = () => {
2264
+ c.current = !1, e.current && (e.current.style.isolation = ""), M && (M.style.zIndex = ""), m && m.classList.remove(h), W && W.classList.remove(g), w.style.position = "", w.style.overflow = "", w.contains(b) && w.removeChild(b);
2265
+ };
2266
+ b.style.pointerEvents = "none", b.style.position = "absolute", b.style.overflow = "hidden", b.setAttribute("aria-hidden", "true");
2267
+ const I = ls(b);
2268
+ I && (I.style.opacity = "0");
2269
+ const F = $e(b);
2270
+ F && (F.classList.add(l ? n[q.caption_before_exit] : n[q.caption_after_exit]), F.addEventListener("animationend", E));
2271
+ const K = ze(b);
2272
+ K && K.classList.add(l ? n[q.weeks_before_exit] : n[q.weeks_after_exit]), w.insertBefore(b, w.firstChild);
2273
+ });
2274
+ }
2275
+ });
2276
+ }
2277
+ function fs(e, t, n, r) {
2278
+ const o = e[0], a = e[e.length - 1], { ISOWeek: i, fixedWeeks: s, broadcastCalendar: c } = n ?? {}, { addDays: u, differenceInCalendarDays: d, differenceInCalendarMonths: l, endOfBroadcastWeek: h, endOfISOWeek: g, endOfMonth: O, endOfWeek: C, isAfter: v, startOfBroadcastWeek: x, startOfISOWeek: M, startOfWeek: w } = r, D = c ? x(o, r) : i ? M(o) : w(o), b = c ? h(a) : i ? g(O(a)) : C(O(a)), m = t && (c ? h(t) : i ? g(t) : C(t)), W = m && v(b, m) ? m : b, E = d(W, D), I = l(a, o) + 1, F = [];
2279
+ for (let ee = 0; ee <= E; ee++) {
2280
+ const G = u(D, ee);
2281
+ F.push(G);
2282
+ }
2283
+ const oe = (c ? 35 : 42) * I;
2284
+ if (s && F.length < oe) {
2285
+ const ee = oe - F.length;
2286
+ for (let G = 0; G < ee; G++) {
2287
+ const ce = u(F[F.length - 1], 1);
2288
+ F.push(ce);
2289
+ }
2290
+ }
2291
+ return F;
2292
+ }
2293
+ function hs(e) {
2294
+ const t = [];
2295
+ return e.reduce((n, r) => {
2296
+ const o = r.weeks.reduce((a, i) => a.concat(i.days.slice()), t.slice());
2297
+ return n.concat(o.slice());
2298
+ }, t.slice());
2299
+ }
2300
+ function ms(e, t, n, r) {
2301
+ const { numberOfMonths: o = 1 } = n, a = [];
2302
+ for (let i = 0; i < o; i++) {
2303
+ const s = r.addMonths(e, i);
2304
+ if (t && s > t)
2305
+ break;
2306
+ a.push(s);
2307
+ }
2308
+ return a;
2309
+ }
2310
+ function pt(e, t, n, r) {
2311
+ const { month: o, defaultMonth: a, today: i = r.today(), numberOfMonths: s = 1 } = e;
2312
+ let c = o || a || i;
2313
+ const { differenceInCalendarMonths: u, addMonths: d, startOfMonth: l } = r;
2314
+ if (n && u(n, c) < s - 1) {
2315
+ const h = -1 * (s - 1);
2316
+ c = d(n, h);
2317
+ }
2318
+ return t && u(c, t) < 0 && (c = t), l(c);
2319
+ }
2320
+ function ys(e, t, n, r) {
2321
+ const { addDays: o, endOfBroadcastWeek: a, endOfISOWeek: i, endOfMonth: s, endOfWeek: c, getISOWeek: u, getWeek: d, startOfBroadcastWeek: l, startOfISOWeek: h, startOfWeek: g } = r, O = e.reduce((C, v) => {
2322
+ const x = n.broadcastCalendar ? l(v, r) : n.ISOWeek ? h(v) : g(v), M = n.broadcastCalendar ? a(v) : n.ISOWeek ? i(s(v)) : c(s(v)), w = t.filter((W) => W >= x && W <= M), D = n.broadcastCalendar ? 35 : 42;
2323
+ if (n.fixedWeeks && w.length < D) {
2324
+ const W = t.filter((E) => {
2325
+ const I = D - w.length;
2326
+ return E > M && E <= o(M, I);
2327
+ });
2328
+ w.push(...W);
2329
+ }
2330
+ const b = w.reduce((W, E) => {
2331
+ const I = n.ISOWeek ? u(E) : d(E), F = W.find((oe) => oe.weekNumber === I), K = new At(E, v, r);
2332
+ return F ? F.days.push(K) : W.push(new lo(I, [K])), W;
2333
+ }, []), m = new uo(v, b);
2334
+ return C.push(m), C;
2335
+ }, []);
2336
+ return n.reverseMonths ? O.reverse() : O;
2337
+ }
2338
+ function gs(e, t) {
2339
+ let { startMonth: n, endMonth: r } = e;
2340
+ const { startOfYear: o, startOfDay: a, startOfMonth: i, endOfMonth: s, addYears: c, endOfYear: u, newDate: d, today: l } = t, { fromYear: h, toYear: g, fromMonth: O, toMonth: C } = e;
2341
+ !n && O && (n = O), !n && h && (n = t.newDate(h, 0, 1)), !r && C && (r = C), !r && g && (r = d(g, 11, 31));
2342
+ const v = e.captionLayout === "dropdown" || e.captionLayout === "dropdown-years";
2343
+ return n ? n = i(n) : h ? n = d(h, 0, 1) : !n && v && (n = o(c(e.today ?? l(), -100))), r ? r = s(r) : g ? r = d(g, 11, 31) : !r && v && (r = u(e.today ?? l())), [
2344
+ n && a(n),
2345
+ r && a(r)
2346
+ ];
2347
+ }
2348
+ function bs(e, t, n, r) {
2349
+ if (n.disableNavigation)
2350
+ return;
2351
+ const { pagedNavigation: o, numberOfMonths: a = 1 } = n, { startOfMonth: i, addMonths: s, differenceInCalendarMonths: c } = r, u = o ? a : 1, d = i(e);
2352
+ if (!t)
2353
+ return s(d, u);
2354
+ if (!(c(t, e) < a))
2355
+ return s(d, u);
2356
+ }
2357
+ function ws(e, t, n, r) {
2358
+ if (n.disableNavigation)
2359
+ return;
2360
+ const { pagedNavigation: o, numberOfMonths: a } = n, { startOfMonth: i, addMonths: s, differenceInCalendarMonths: c } = r, u = o ? a ?? 1 : 1, d = i(e);
2361
+ if (!t)
2362
+ return s(d, -u);
2363
+ if (!(c(d, t) <= 0))
2364
+ return s(d, -u);
2365
+ }
2366
+ function ps(e) {
2367
+ const t = [];
2368
+ return e.reduce((n, r) => n.concat(r.weeks.slice()), t.slice());
2369
+ }
2370
+ function xe(e, t) {
2371
+ const [n, r] = Qe(e);
2372
+ return [t === void 0 ? n : t, r];
2373
+ }
2374
+ function Ms(e, t) {
2375
+ const [n, r] = gs(e, t), { startOfMonth: o, endOfMonth: a } = t, i = pt(e, n, r, t), [s, c] = xe(
2376
+ i,
2377
+ // initialMonth is always computed from props.month if provided
2378
+ e.month ? i : void 0
2379
+ );
2380
+ En(() => {
2381
+ const D = pt(e, n, r, t);
2382
+ c(D);
2383
+ }, [e.timeZone]);
2384
+ const { months: u, weeks: d, days: l, previousMonth: h, nextMonth: g } = Ne(() => {
2385
+ const D = ms(s, r, { numberOfMonths: e.numberOfMonths }, t), b = fs(D, e.endMonth ? a(e.endMonth) : void 0, {
2386
+ ISOWeek: e.ISOWeek,
2387
+ fixedWeeks: e.fixedWeeks,
2388
+ broadcastCalendar: e.broadcastCalendar
2389
+ }, t), m = ys(D, b, {
2390
+ broadcastCalendar: e.broadcastCalendar,
2391
+ fixedWeeks: e.fixedWeeks,
2392
+ ISOWeek: e.ISOWeek,
2393
+ reverseMonths: e.reverseMonths
2394
+ }, t), W = ps(m), E = hs(m), I = ws(s, n, e, t), F = bs(s, r, e, t);
2395
+ return {
2396
+ months: m,
2397
+ weeks: W,
2398
+ days: E,
2399
+ previousMonth: I,
2400
+ nextMonth: F
2401
+ };
2402
+ }, [
2403
+ t,
2404
+ s.getTime(),
2405
+ r?.getTime(),
2406
+ n?.getTime(),
2407
+ e.disableNavigation,
2408
+ e.broadcastCalendar,
2409
+ e.endMonth?.getTime(),
2410
+ e.fixedWeeks,
2411
+ e.ISOWeek,
2412
+ e.numberOfMonths,
2413
+ e.pagedNavigation,
2414
+ e.reverseMonths
2415
+ ]), { disableNavigation: O, onMonthChange: C } = e, v = (D) => d.some((b) => b.days.some((m) => m.isEqualTo(D))), x = (D) => {
2416
+ if (O)
2417
+ return;
2418
+ let b = o(D);
2419
+ n && b < o(n) && (b = o(n)), r && b > o(r) && (b = o(r)), c(b), C?.(b);
2420
+ };
2421
+ return {
2422
+ months: u,
2423
+ weeks: d,
2424
+ days: l,
2425
+ navStart: n,
2426
+ navEnd: r,
2427
+ previousMonth: h,
2428
+ nextMonth: g,
2429
+ goToMonth: x,
2430
+ goToDay: (D) => {
2431
+ v(D) || x(D.date);
2432
+ }
2433
+ };
2434
+ }
2435
+ var Z;
2436
+ (function(e) {
2437
+ e[e.Today = 0] = "Today", e[e.Selected = 1] = "Selected", e[e.LastFocused = 2] = "LastFocused", e[e.FocusedModifier = 3] = "FocusedModifier";
2438
+ })(Z || (Z = {}));
2439
+ function Mt(e) {
2440
+ return !e[_.disabled] && !e[_.hidden] && !e[_.outside];
2441
+ }
2442
+ function Ds(e, t, n, r) {
2443
+ let o, a = -1;
2444
+ for (const i of e) {
2445
+ const s = t(i);
2446
+ Mt(s) && (s[_.focused] && a < Z.FocusedModifier ? (o = i, a = Z.FocusedModifier) : r?.isEqualTo(i) && a < Z.LastFocused ? (o = i, a = Z.LastFocused) : n(i.date) && a < Z.Selected ? (o = i, a = Z.Selected) : s[_.today] && a < Z.Today && (o = i, a = Z.Today));
2447
+ }
2448
+ return o || (o = e.find((i) => Mt(t(i)))), o;
2449
+ }
2450
+ function ks(e, t, n, r, o, a, i) {
2451
+ const { ISOWeek: s, broadcastCalendar: c } = a, { addDays: u, addMonths: d, addWeeks: l, addYears: h, endOfBroadcastWeek: g, endOfISOWeek: O, endOfWeek: C, max: v, min: x, startOfBroadcastWeek: M, startOfISOWeek: w, startOfWeek: D } = i;
2452
+ let m = {
2453
+ day: u,
2454
+ week: l,
2455
+ month: d,
2456
+ year: h,
2457
+ startOfWeek: (W) => c ? M(W, i) : s ? w(W) : D(W),
2458
+ endOfWeek: (W) => c ? g(W) : s ? O(W) : C(W)
2459
+ }[e](n, t === "after" ? 1 : -1);
2460
+ return t === "before" && r ? m = v([r, m]) : t === "after" && o && (m = x([o, m])), m;
2461
+ }
2462
+ function tn(e, t, n, r, o, a, i, s = 0) {
2463
+ if (s > 365)
2464
+ return;
2465
+ const c = ks(e, t, n.date, r, o, a, i), u = !!(a.disabled && re(c, a.disabled, i)), d = !!(a.hidden && re(c, a.hidden, i)), l = c, h = new At(c, l, i);
2466
+ return !u && !d ? h : tn(e, t, h, r, o, a, i, s + 1);
2467
+ }
2468
+ function vs(e, t, n, r, o) {
2469
+ const { autoFocus: a } = e, [i, s] = Qe(), c = Ds(t.days, n, r || (() => !1), i), [u, d] = Qe(a ? c : void 0);
2470
+ return {
2471
+ isFocusTarget: (C) => !!c?.isEqualTo(C),
2472
+ setFocused: d,
2473
+ focused: u,
2474
+ blur: () => {
2475
+ s(u), d(void 0);
2476
+ },
2477
+ moveFocus: (C, v) => {
2478
+ if (!u)
2479
+ return;
2480
+ const x = tn(C, v, u, t.navStart, t.navEnd, e, o);
2481
+ x && (e.disableNavigation && !t.days.some((w) => w.isEqualTo(x)) || (t.goToDay(x), d(x)));
2482
+ }
2483
+ };
2484
+ }
2485
+ function Os(e, t) {
2486
+ const { selected: n, required: r, onSelect: o } = e, [a, i] = xe(n, o ? n : void 0), s = o ? n : a, { isSameDay: c } = t, u = (g) => s?.some((O) => c(O, g)) ?? !1, { min: d, max: l } = e;
2487
+ return {
2488
+ selected: s,
2489
+ select: (g, O, C) => {
2490
+ let v = [...s ?? []];
2491
+ if (u(g)) {
2492
+ if (s?.length === d || r && s?.length === 1)
2493
+ return;
2494
+ v = s?.filter((x) => !c(x, g));
2495
+ } else
2496
+ s?.length === l ? v = [g] : v = [...v, g];
2497
+ return o || i(v), o?.(v, g, O, C), v;
2498
+ },
2499
+ isSelected: u
2500
+ };
2501
+ }
2502
+ function Ws(e, t, n = 0, r = 0, o = !1, a = L) {
2503
+ const { from: i, to: s } = t || {}, { isSameDay: c, isAfter: u, isBefore: d } = a;
2504
+ let l;
2505
+ if (!i && !s)
2506
+ l = { from: e, to: n > 0 ? void 0 : e };
2507
+ else if (i && !s)
2508
+ c(i, e) ? n === 0 ? l = { from: i, to: e } : o ? l = { from: i, to: void 0 } : l = void 0 : d(e, i) ? l = { from: e, to: i } : l = { from: i, to: e };
2509
+ else if (i && s)
2510
+ if (c(i, e) && c(s, e))
2511
+ o ? l = { from: i, to: s } : l = void 0;
2512
+ else if (c(i, e))
2513
+ l = { from: i, to: n > 0 ? void 0 : e };
2514
+ else if (c(s, e))
2515
+ l = { from: e, to: n > 0 ? void 0 : e };
2516
+ else if (d(e, i))
2517
+ l = { from: e, to: s };
2518
+ else if (u(e, i))
2519
+ l = { from: i, to: e };
2520
+ else if (u(e, s))
2521
+ l = { from: i, to: e };
2522
+ else
2523
+ throw new Error("Invalid range");
2524
+ if (l?.from && l?.to) {
2525
+ const h = a.differenceInCalendarDays(l.to, l.from);
2526
+ r > 0 && h > r ? l = { from: e, to: void 0 } : n > 1 && h < n && (l = { from: e, to: void 0 });
2527
+ }
2528
+ return l;
2529
+ }
2530
+ function Ss(e, t, n = L) {
2531
+ const r = Array.isArray(t) ? t : [t];
2532
+ let o = e.from;
2533
+ const a = n.differenceInCalendarDays(e.to, e.from), i = Math.min(a, 6);
2534
+ for (let s = 0; s <= i; s++) {
2535
+ if (r.includes(o.getDay()))
2536
+ return !0;
2537
+ o = n.addDays(o, 1);
2538
+ }
2539
+ return !1;
2540
+ }
2541
+ function Dt(e, t, n = L) {
2542
+ return ne(e, t.from, !1, n) || ne(e, t.to, !1, n) || ne(t, e.from, !1, n) || ne(t, e.to, !1, n);
2543
+ }
2544
+ function Cs(e, t, n = L) {
2545
+ const r = Array.isArray(t) ? t : [t];
2546
+ if (r.filter((s) => typeof s != "function").some((s) => typeof s == "boolean" ? s : n.isDate(s) ? ne(e, s, !1, n) : $t(s, n) ? s.some((c) => ne(e, c, !1, n)) : Ye(s) ? s.from && s.to ? Dt(e, { from: s.from, to: s.to }, n) : !1 : Gt(s) ? Ss(e, s.dayOfWeek, n) : Je(s) ? n.isAfter(s.before, s.after) ? Dt(e, {
2547
+ from: n.addDays(s.after, 1),
2548
+ to: n.addDays(s.before, -1)
2549
+ }, n) : re(e.from, s, n) || re(e.to, s, n) : Le(s) || et(s) ? re(e.from, s, n) || re(e.to, s, n) : !1))
2550
+ return !0;
2551
+ const i = r.filter((s) => typeof s == "function");
2552
+ if (i.length) {
2553
+ let s = e.from;
2554
+ const c = n.differenceInCalendarDays(e.to, e.from);
2555
+ for (let u = 0; u <= c; u++) {
2556
+ if (i.some((d) => d(s)))
2557
+ return !0;
2558
+ s = n.addDays(s, 1);
2559
+ }
2560
+ }
2561
+ return !1;
2562
+ }
2563
+ function Ns(e, t) {
2564
+ const { disabled: n, excludeDisabled: r, resetOnSelect: o, selected: a, required: i, onSelect: s } = e, [c, u] = xe(a, s ? a : void 0), d = s ? a : c;
2565
+ return {
2566
+ selected: d,
2567
+ select: (g, O, C) => {
2568
+ const { min: v, max: x } = e;
2569
+ let M;
2570
+ if (g) {
2571
+ const w = d?.from, D = d?.to, b = !!w && !!D, m = !!w && !!D && t.isSameDay(w, D) && t.isSameDay(g, w);
2572
+ o && (b || !d?.from) ? !i && m ? M = void 0 : M = { from: g, to: void 0 } : M = Ws(g, d, v, x, i, t);
2573
+ }
2574
+ return r && n && M?.from && M.to && Cs({ from: M.from, to: M.to }, n, t) && (M.from = g, M.to = void 0), s || u(M), s?.(M, g, O, C), M;
2575
+ },
2576
+ isSelected: (g) => d && ne(d, g, !1, t)
2577
+ };
2578
+ }
2579
+ function Ys(e, t) {
2580
+ const { selected: n, required: r, onSelect: o } = e, [a, i] = xe(n, o ? n : void 0), s = o ? n : a, { isSameDay: c } = t;
2581
+ return {
2582
+ selected: s,
2583
+ select: (l, h, g) => {
2584
+ let O = l;
2585
+ return !r && s && s && c(l, s) && (O = void 0), o || i(O), o?.(O, l, h, g), O;
2586
+ },
2587
+ isSelected: (l) => s ? c(s, l) : !1
2588
+ };
2589
+ }
2590
+ function xs(e, t) {
2591
+ const n = Ys(e, t), r = Os(e, t), o = Ns(e, t);
2592
+ switch (e.mode) {
2593
+ case "single":
2594
+ return n;
2595
+ case "multiple":
2596
+ return r;
2597
+ case "range":
2598
+ return o;
2599
+ default:
2600
+ return;
2601
+ }
2602
+ }
2603
+ function z(e, t) {
2604
+ return e instanceof H && e.timeZone === t ? e : new H(e, t);
2605
+ }
2606
+ function le(e, t, n) {
2607
+ return z(e, t);
2608
+ }
2609
+ function kt(e, t, n) {
2610
+ return typeof e == "boolean" || typeof e == "function" ? e : e instanceof Date ? le(e, t) : Array.isArray(e) ? e.map((r) => r instanceof Date ? le(r, t) : r) : Ye(e) ? {
2611
+ ...e,
2612
+ from: e.from ? z(e.from, t) : e.from,
2613
+ to: e.to ? z(e.to, t) : e.to
2614
+ } : Je(e) ? {
2615
+ before: le(e.before, t),
2616
+ after: le(e.after, t)
2617
+ } : Le(e) ? {
2618
+ after: le(e.after, t)
2619
+ } : et(e) ? {
2620
+ before: le(e.before, t)
2621
+ } : e;
2622
+ }
2623
+ function Re(e, t, n) {
2624
+ return e && (Array.isArray(e) ? e.map((r) => kt(r, t)) : kt(e, t));
2625
+ }
2626
+ function Rs(e) {
2627
+ let t = e;
2628
+ const n = t.timeZone;
2629
+ if (n && (t = {
2630
+ ...e,
2631
+ timeZone: n
2632
+ }, t.today && (t.today = z(t.today, n)), t.month && (t.month = z(t.month, n)), t.defaultMonth && (t.defaultMonth = z(t.defaultMonth, n)), t.startMonth && (t.startMonth = z(t.startMonth, n)), t.endMonth && (t.endMonth = z(t.endMonth, n)), t.mode === "single" && t.selected ? t.selected = z(t.selected, n) : t.mode === "multiple" && t.selected ? t.selected = t.selected?.map((k) => z(k, n)) : t.mode === "range" && t.selected && (t.selected = {
2633
+ from: t.selected.from ? z(t.selected.from, n) : t.selected.from,
2634
+ to: t.selected.to ? z(t.selected.to, n) : t.selected.to
2635
+ }), t.disabled !== void 0 && (t.disabled = Re(t.disabled, n)), t.hidden !== void 0 && (t.hidden = Re(t.hidden, n)), t.modifiers)) {
2636
+ const k = {};
2637
+ Object.keys(t.modifiers).forEach((Y) => {
2638
+ k[Y] = Re(t.modifiers?.[Y], n);
2639
+ }), t.modifiers = k;
2640
+ }
2641
+ const { components: r, formatters: o, labels: a, dateLib: i, locale: s, classNames: c } = Ne(() => {
2642
+ const k = { ...Ht, ...t.locale }, Y = t.broadcastCalendar ? 1 : t.weekStartsOn, p = t.noonSafe && t.timeZone ? is(t.timeZone, {
2643
+ weekStartsOn: Y,
2644
+ locale: k
2645
+ }) : void 0, N = t.dateLib && p ? { ...p, ...t.dateLib } : t.dateLib ?? p, A = new j({
2646
+ locale: k,
2647
+ weekStartsOn: Y,
2648
+ firstWeekContainsDate: t.firstWeekContainsDate,
2649
+ useAdditionalWeekYearTokens: t.useAdditionalWeekYearTokens,
2650
+ useAdditionalDayOfYearTokens: t.useAdditionalDayOfYearTokens,
2651
+ timeZone: t.timeZone,
2652
+ numerals: t.numerals
2653
+ }, N);
2654
+ return {
2655
+ dateLib: A,
2656
+ components: qo(t.components),
2657
+ formatters: Zo(t.formatters),
2658
+ labels: ns(t.labels, A.options),
2659
+ locale: k,
2660
+ classNames: { ...Go(), ...t.classNames }
2661
+ };
2662
+ }, [
2663
+ t.locale,
2664
+ t.broadcastCalendar,
2665
+ t.weekStartsOn,
2666
+ t.firstWeekContainsDate,
2667
+ t.useAdditionalWeekYearTokens,
2668
+ t.useAdditionalDayOfYearTokens,
2669
+ t.timeZone,
2670
+ t.numerals,
2671
+ t.dateLib,
2672
+ t.noonSafe,
2673
+ t.components,
2674
+ t.formatters,
2675
+ t.labels,
2676
+ t.classNames
2677
+ ]);
2678
+ t.today || (t = { ...t, today: i.today() });
2679
+ const { captionLayout: u, mode: d, navLayout: l, numberOfMonths: h = 1, onDayBlur: g, onDayClick: O, onDayFocus: C, onDayKeyDown: v, onDayMouseEnter: x, onDayMouseLeave: M, onNextClick: w, onPrevClick: D, showWeekNumber: b, styles: m } = t, { formatCaption: W, formatDay: E, formatMonthDropdown: I, formatWeekNumber: F, formatWeekNumberHeader: K, formatWeekdayName: oe, formatYearDropdown: ee } = o, G = Ms(t, i), { days: ce, months: ve, navStart: Te, navEnd: Pe, previousMonth: Q, nextMonth: U, goToMonth: te } = G, Ee = Ho(ce, t, Te, Pe, i), { isSelected: _e, select: Fe, selected: Oe } = xs(t, i) ?? {}, { blur: rt, focused: ot, isFocusTarget: nn, moveFocus: st, setFocused: We } = vs(t, G, Ee, _e ?? (() => !1), i), { labelDayButton: rn, labelGridcell: on, labelGrid: sn, labelMonthDropdown: an, labelNav: at, labelPrevious: cn, labelNext: un, labelWeekday: ln, labelWeekNumber: dn, labelWeekNumberHeader: fn, labelYearDropdown: hn } = a, mn = Ne(() => ss(i, t.ISOWeek, t.broadcastCalendar, t.today), [i, t.ISOWeek, t.broadcastCalendar, t.today]), it = d !== void 0 || O !== void 0, Be = $(() => {
2680
+ Q && (te(Q), D?.(Q));
2681
+ }, [Q, te, D]), Ie = $(() => {
2682
+ U && (te(U), w?.(U));
2683
+ }, [te, U, w]), yn = $((k, Y) => (p) => {
2684
+ p.preventDefault(), p.stopPropagation(), We(k), !Y.disabled && (Fe?.(k.date, Y, p), O?.(k.date, Y, p));
2685
+ }, [Fe, O, We]), gn = $((k, Y) => (p) => {
2686
+ We(k), C?.(k.date, Y, p);
2687
+ }, [C, We]), bn = $((k, Y) => (p) => {
2688
+ rt(), g?.(k.date, Y, p);
2689
+ }, [rt, g]), wn = $((k, Y) => (p) => {
2690
+ const N = {
2691
+ ArrowLeft: [
2692
+ p.shiftKey ? "month" : "day",
2693
+ t.dir === "rtl" ? "after" : "before"
2694
+ ],
2695
+ ArrowRight: [
2696
+ p.shiftKey ? "month" : "day",
2697
+ t.dir === "rtl" ? "before" : "after"
2698
+ ],
2699
+ ArrowDown: [p.shiftKey ? "year" : "week", "after"],
2700
+ ArrowUp: [p.shiftKey ? "year" : "week", "before"],
2701
+ PageUp: [p.shiftKey ? "year" : "month", "before"],
2702
+ PageDown: [p.shiftKey ? "year" : "month", "after"],
2703
+ Home: ["startOfWeek", "before"],
2704
+ End: ["endOfWeek", "after"]
2705
+ };
2706
+ if (N[p.key]) {
2707
+ p.preventDefault(), p.stopPropagation();
2708
+ const [A, S] = N[p.key];
2709
+ st(A, S);
2710
+ }
2711
+ v?.(k.date, Y, p);
2712
+ }, [st, v, t.dir]), pn = $((k, Y) => (p) => {
2713
+ x?.(k.date, Y, p);
2714
+ }, [x]), Mn = $((k, Y) => (p) => {
2715
+ M?.(k.date, Y, p);
2716
+ }, [M]), Dn = $((k) => (Y) => {
2717
+ const p = Number(Y.target.value), N = i.setMonth(i.startOfMonth(k), p);
2718
+ te(N);
2719
+ }, [i, te]), kn = $((k) => (Y) => {
2720
+ const p = Number(Y.target.value), N = i.setYear(i.startOfMonth(k), p);
2721
+ te(N);
2722
+ }, [i, te]), { className: vn, style: On } = Ne(() => ({
2723
+ className: [c[y.Root], t.className].filter(Boolean).join(" "),
2724
+ style: { ...m?.[y.Root], ...t.style }
2725
+ }), [c, t.className, t.style, m]), Wn = jo(t), ct = Ce(null);
2726
+ ds(ct, !!t.animate, {
2727
+ classNames: c,
2728
+ months: ve,
2729
+ focused: ot,
2730
+ dateLib: i
2731
+ });
2732
+ const Sn = {
2733
+ dayPickerProps: t,
2734
+ selected: Oe,
2735
+ select: Fe,
2736
+ isSelected: _e,
2737
+ months: ve,
2738
+ nextMonth: U,
2739
+ previousMonth: Q,
2740
+ goToMonth: te,
2741
+ getModifiers: Ee,
2742
+ components: r,
2743
+ classNames: c,
2744
+ styles: m,
2745
+ labels: a,
2746
+ formatters: o
2747
+ };
2748
+ return f.createElement(
2749
+ jt.Provider,
2750
+ { value: Sn },
2751
+ f.createElement(
2752
+ r.Root,
2753
+ { rootRef: t.animate ? ct : void 0, className: vn, style: On, dir: t.dir, id: t.id, lang: t.lang ?? s.code, nonce: t.nonce, title: t.title, role: t.role, "aria-label": t["aria-label"], "aria-labelledby": t["aria-labelledby"], ...Wn },
2754
+ f.createElement(
2755
+ r.Months,
2756
+ { className: c[y.Months], style: m?.[y.Months] },
2757
+ !t.hideNavigation && !l && f.createElement(r.Nav, { "data-animated-nav": t.animate ? "true" : void 0, className: c[y.Nav], style: m?.[y.Nav], "aria-label": at(), onPreviousClick: Be, onNextClick: Ie, previousMonth: Q, nextMonth: U }),
2758
+ ve.map((k, Y) => f.createElement(
2759
+ r.Month,
2760
+ {
2761
+ "data-animated-month": t.animate ? "true" : void 0,
2762
+ className: c[y.Month],
2763
+ style: m?.[y.Month],
2764
+ // biome-ignore lint/suspicious/noArrayIndexKey: breaks animation
2765
+ key: Y,
2766
+ displayIndex: Y,
2767
+ calendarMonth: k
2768
+ },
2769
+ l === "around" && !t.hideNavigation && Y === 0 && f.createElement(
2770
+ r.PreviousMonthButton,
2771
+ { type: "button", className: c[y.PreviousMonthButton], tabIndex: Q ? void 0 : -1, "aria-disabled": Q ? void 0 : !0, "aria-label": cn(Q), onClick: Be, "data-animated-button": t.animate ? "true" : void 0 },
2772
+ f.createElement(r.Chevron, { disabled: Q ? void 0 : !0, className: c[y.Chevron], orientation: t.dir === "rtl" ? "right" : "left" })
2773
+ ),
2774
+ f.createElement(r.MonthCaption, { "data-animated-caption": t.animate ? "true" : void 0, className: c[y.MonthCaption], style: m?.[y.MonthCaption], calendarMonth: k, displayIndex: Y }, u?.startsWith("dropdown") ? f.createElement(
2775
+ r.DropdownNav,
2776
+ { className: c[y.Dropdowns], style: m?.[y.Dropdowns] },
2777
+ (() => {
2778
+ const p = u === "dropdown" || u === "dropdown-months" ? f.createElement(r.MonthsDropdown, { key: "month", className: c[y.MonthsDropdown], "aria-label": an(), classNames: c, components: r, disabled: !!t.disableNavigation, onChange: Dn(k.date), options: rs(k.date, Te, Pe, o, i), style: m?.[y.Dropdown], value: i.getMonth(k.date) }) : f.createElement("span", { key: "month" }, I(k.date, i)), N = u === "dropdown" || u === "dropdown-years" ? f.createElement(r.YearsDropdown, { key: "year", className: c[y.YearsDropdown], "aria-label": hn(i.options), classNames: c, components: r, disabled: !!t.disableNavigation, onChange: kn(k.date), options: as(Te, Pe, o, i, !!t.reverseYears), style: m?.[y.Dropdown], value: i.getYear(k.date) }) : f.createElement("span", { key: "year" }, ee(k.date, i));
2779
+ return i.getMonthYearOrder() === "year-first" ? [N, p] : [p, N];
2780
+ })(),
2781
+ f.createElement("span", { role: "status", "aria-live": "polite", style: {
2782
+ border: 0,
2783
+ clip: "rect(0 0 0 0)",
2784
+ height: "1px",
2785
+ margin: "-1px",
2786
+ overflow: "hidden",
2787
+ padding: 0,
2788
+ position: "absolute",
2789
+ width: "1px",
2790
+ whiteSpace: "nowrap",
2791
+ wordWrap: "normal"
2792
+ } }, W(k.date, i.options, i))
2793
+ ) : f.createElement(r.CaptionLabel, { className: c[y.CaptionLabel], role: "status", "aria-live": "polite" }, W(k.date, i.options, i))),
2794
+ l === "around" && !t.hideNavigation && Y === h - 1 && f.createElement(
2795
+ r.NextMonthButton,
2796
+ { type: "button", className: c[y.NextMonthButton], tabIndex: U ? void 0 : -1, "aria-disabled": U ? void 0 : !0, "aria-label": un(U), onClick: Ie, "data-animated-button": t.animate ? "true" : void 0 },
2797
+ f.createElement(r.Chevron, { disabled: U ? void 0 : !0, className: c[y.Chevron], orientation: t.dir === "rtl" ? "left" : "right" })
2798
+ ),
2799
+ Y === h - 1 && l === "after" && !t.hideNavigation && f.createElement(r.Nav, { "data-animated-nav": t.animate ? "true" : void 0, className: c[y.Nav], style: m?.[y.Nav], "aria-label": at(), onPreviousClick: Be, onNextClick: Ie, previousMonth: Q, nextMonth: U }),
2800
+ f.createElement(
2801
+ r.MonthGrid,
2802
+ { role: "grid", "aria-multiselectable": d === "multiple" || d === "range", "aria-label": sn(k.date, i.options, i) || void 0, className: c[y.MonthGrid], style: m?.[y.MonthGrid] },
2803
+ !t.hideWeekdays && f.createElement(
2804
+ r.Weekdays,
2805
+ { "data-animated-weekdays": t.animate ? "true" : void 0, className: c[y.Weekdays], style: m?.[y.Weekdays] },
2806
+ b && f.createElement(r.WeekNumberHeader, { "aria-label": fn(i.options), className: c[y.WeekNumberHeader], style: m?.[y.WeekNumberHeader], scope: "col" }, K()),
2807
+ mn.map((p) => f.createElement(r.Weekday, { "aria-label": ln(p, i.options, i), className: c[y.Weekday], key: String(p), style: m?.[y.Weekday], scope: "col" }, oe(p, i.options, i)))
2808
+ ),
2809
+ f.createElement(r.Weeks, { "data-animated-weeks": t.animate ? "true" : void 0, className: c[y.Weeks], style: m?.[y.Weeks] }, k.weeks.map((p) => f.createElement(
2810
+ r.Week,
2811
+ { className: c[y.Week], key: p.weekNumber, style: m?.[y.Week], week: p },
2812
+ b && f.createElement(r.WeekNumber, { week: p, style: m?.[y.WeekNumber], "aria-label": dn(p.weekNumber, {
2813
+ locale: s
2814
+ }), className: c[y.WeekNumber], scope: "row", role: "rowheader" }, F(p.weekNumber, i)),
2815
+ p.days.map((N) => {
2816
+ const { date: A } = N, S = Ee(N);
2817
+ if (S[_.focused] = !S.hidden && !!ot?.isEqualTo(N), S[X.selected] = _e?.(A) || S.selected, Ye(Oe)) {
2818
+ const { from: He, to: Ae } = Oe;
2819
+ S[X.range_start] = !!(He && Ae && i.isSameDay(A, He)), S[X.range_end] = !!(He && Ae && i.isSameDay(A, Ae)), S[X.range_middle] = ne(Oe, A, !0, i);
2820
+ }
2821
+ const Cn = os(S, m, t.modifiersStyles), Nn = Ao(S, c, t.modifiersClassNames), Yn = !it && !S.hidden ? on(A, S, i.options, i) : void 0;
2822
+ return f.createElement(r.Day, { key: `${N.isoDate}_${N.displayMonthId}`, day: N, modifiers: S, className: Nn.join(" "), style: Cn, role: "gridcell", "aria-selected": S.selected || void 0, "aria-label": Yn, "data-day": N.isoDate, "data-month": N.outside ? N.dateMonthId : void 0, "data-selected": S.selected || void 0, "data-disabled": S.disabled || void 0, "data-hidden": S.hidden || void 0, "data-outside": N.outside || void 0, "data-focused": S.focused || void 0, "data-today": S.today || void 0 }, !S.hidden && it ? f.createElement(r.DayButton, { className: c[y.DayButton], style: m?.[y.DayButton], type: "button", day: N, modifiers: S, disabled: !S.focused && S.disabled || void 0, "aria-disabled": S.focused && S.disabled || void 0, tabIndex: nn(N) ? 0 : -1, "aria-label": rn(A, S, i.options, i), onClick: yn(N, S), onBlur: bn(N, S), onFocus: gn(N, S), onKeyDown: wn(N, S), onMouseEnter: pn(N, S), onMouseLeave: Mn(N, S) }, E(A, i.options, i)) : !S.hidden && E(N.date, i.options, i));
2823
+ })
2824
+ )))
2825
+ )
2826
+ ))
2827
+ ),
2828
+ t.footer && f.createElement(r.Footer, { className: c[y.Footer], style: m?.[y.Footer], role: "status", "aria-live": "polite" }, t.footer)
2829
+ )
2830
+ );
2831
+ }
2832
+ const Ts = Ve({
2833
+ base: [
2834
+ "inline-flex items-center justify-center gap-2",
2835
+ "aspect-square h-9 shrink-0 p-2.5",
2836
+ "text-xs font-medium text-foreground transition-all",
2837
+ "cursor-pointer select-none",
2838
+ "disabled:pointer-events-none disabled:text-muted-foreground disabled:opacity-50",
2839
+ "focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-primary",
2840
+ "focus-visible:rounded-md"
2841
+ ],
2842
+ variants: {
2843
+ selected: {
2844
+ true: "bg-primary text-primary-foreground"
2845
+ },
2846
+ range_middle: {
2847
+ true: "bg-secondary-bg-hover text-card-foreground"
2848
+ },
2849
+ outside: {
2850
+ true: "text-muted-foreground"
2851
+ },
2852
+ today: {
2853
+ true: "relative after:absolute after:bottom-1 after:left-1/2 after:h-1 after:w-1 after:-translate-x-1/2 after:rounded-full after:bg-primary"
2854
+ }
2855
+ },
2856
+ compoundVariants: [
2857
+ {
2858
+ selected: !1,
2859
+ className: "hover:bg-secondary-bg-hover"
2860
+ },
2861
+ {
2862
+ selected: !0,
2863
+ range_start: !1,
2864
+ range_end: !1,
2865
+ range_middle: !1,
2866
+ className: "rounded-md"
2867
+ },
2868
+ {
2869
+ selected: !0,
2870
+ range_start: !0,
2871
+ className: "rounded-l-md"
2872
+ },
2873
+ {
2874
+ selected: !0,
2875
+ range_end: !0,
2876
+ className: "rounded-r-md"
2877
+ },
2878
+ {
2879
+ today: !0,
2880
+ selected: !0,
2881
+ range_middle: !1,
2882
+ className: "after:bg-primary-foreground"
2883
+ },
2884
+ {
2885
+ outside: !0,
2886
+ selected: !1,
2887
+ className: "hover:text-primary-fg"
2888
+ }
2889
+ ]
2890
+ }), Ps = ({ modifiers: e, className: t, ...n }) => /* @__PURE__ */ R(
2891
+ qt,
2892
+ {
2893
+ modifiers: e,
2894
+ className: Ts({ ...e, className: t }),
2895
+ ...n,
2896
+ disabled: e.disabled
2897
+ }
2898
+ );
2899
+ Ps.displayName = "CalendarDayButton";
2900
+ const Es = Ve({
2901
+ slots: {
2902
+ root: [
2903
+ "has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px]",
2904
+ "shadow-xs relative rounded-md border border-input"
2905
+ ],
2906
+ select: "absolute inset-0 bg-background opacity-0",
2907
+ label: [
2908
+ "flex h-8 select-none items-center gap-1 rounded-md pl-2 pr-1 text-sm font-medium tabular-nums",
2909
+ "[&>svg]:size-3.5 [&>svg]:text-muted-foreground"
2910
+ ],
2911
+ // Все подписи в одной grid-ячейке: ширина = самая длинная, видна только выбранная
2912
+ sizer: "grid",
2913
+ sizerItem: "[grid-area:1/1]",
2914
+ sizerItemHidden: "invisible [grid-area:1/1]"
2915
+ }
2916
+ }), _s = ({
2917
+ options: e = [],
2918
+ className: t,
2919
+ classNames: n,
2920
+ components: r,
2921
+ ...o
2922
+ }) => {
2923
+ const a = Es(), i = r?.Chevron ?? Ot, s = String(o.value);
2924
+ return /* @__PURE__ */ ut("span", { "data-disabled": o.disabled, className: n?.[y.DropdownRoot] ?? a.root(), children: [
2925
+ /* @__PURE__ */ R("select", { ...o, className: a.select({ className: [n?.[y.Dropdown], t] }), children: e.map((c) => /* @__PURE__ */ R("option", { value: c.value, disabled: c.disabled, children: c.label }, c.value)) }),
2926
+ /* @__PURE__ */ ut("span", { className: n?.[y.CaptionLabel] ?? a.label(), "aria-hidden": "true", children: [
2927
+ /* @__PURE__ */ R("span", { className: a.sizer(), children: e.map((c) => /* @__PURE__ */ R(
2928
+ "span",
2929
+ {
2930
+ className: String(c.value) === s ? a.sizerItem() : a.sizerItemHidden(),
2931
+ children: c.label
2932
+ },
2933
+ c.value
2934
+ )) }),
2935
+ /* @__PURE__ */ R(i, { orientation: "down" })
2936
+ ] })
2937
+ ] });
2938
+ };
2939
+ _s.displayName = "CalendarDropdown";
2940
+ const Fs = ({ className: e, ...t }) => /* @__PURE__ */ R(vt, { ...t, variant: "ghost", className: e });
2941
+ Fs.displayName = "CalendarNextMonthButton";
2942
+ const Bs = ({ className: e, ...t }) => /* @__PURE__ */ R(vt, { ...t, variant: "ghost", className: e });
2943
+ Bs.displayName = "CalendarPreviousMonthButton";
2944
+ export {
2945
+ Bs as C,
2946
+ Rs as D,
2947
+ ko as M,
2948
+ No as R,
2949
+ To as W,
2950
+ Ct as a,
2951
+ Ot as b,
2952
+ _s as c,
2953
+ Ut as d,
2954
+ Ht as e,
2955
+ be as f,
2956
+ en as g,
2957
+ Fs as h,
2958
+ Xt as i,
2959
+ Ps as j,
2960
+ Es as k,
2961
+ Kt as l,
2962
+ fe as s
2963
+ };
2964
+ //# sourceMappingURL=CalendarPreviousMonthButton-CHMp8bkd.js.map