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.
@@ -1,2914 +1,15 @@
1
- import { jsx as Z } from "react/jsx-runtime";
2
- import f, { createContext as Bn, useContext as In, useCallback as R, useRef as xe, useLayoutEffect as Hn, useState as Ve, useEffect as An, useMemo as ce } from "react";
3
- import { T as me } from "../index-BVqs-uqP.js";
4
- import { C as qn } from "../chevron-left-D6FtXcdU.js";
5
- import { C as jn } from "../chevron-right-D3juAhA-.js";
6
- import { C as Gn } from "../chevron-up-UDiVTHo0.js";
7
- import { C as Rn } from "../chevron-down-CAOItu8X.js";
8
- import { B as Dt } from "../Button-_qdP4hSf.js";
9
- const Ne = me({
10
- base: "size-4"
11
- }), vt = ({ className: e, orientation: t, ...n }) => t === "left" ? /* @__PURE__ */ Z(qn, { className: Ne({ className: e }), ...n }) : t === "right" ? /* @__PURE__ */ Z(jn, { className: Ne({ className: e }), ...n }) : t === "up" ? /* @__PURE__ */ Z(Gn, { className: Ne({ className: e }), ...n }) : /* @__PURE__ */ Z(Rn, { className: Ne({ className: e }), ...n });
12
- vt.displayName = "CalendarChevron";
13
- function $n(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 je = {}, pe = {};
22
- function ie(e, t) {
23
- try {
24
- const r = (je[e] || (je[e] = new Intl.DateTimeFormat("en-US", {
25
- timeZone: e,
26
- timeZoneName: "longOffset"
27
- }).format))(t).split("GMT")[1];
28
- return r in pe ? pe[r] : ut(r, r.split(":"));
29
- } catch {
30
- if (e in pe) return pe[e];
31
- const n = e?.match(zn);
32
- return n ? ut(e, n.slice(1)) : NaN;
33
- }
34
- }
35
- const zn = /([+-]\d\d):?(\d\d)?/;
36
- function ut(e, t) {
37
- const n = +(t[0] || 0), r = +(t[1] || 0), o = +(t[2] || 0) / 60;
38
- return pe[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)), Ot(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 lt = /^(get|set)(?!UTC)/;
70
- Object.getOwnPropertyNames(Date.prototype).forEach((e) => {
71
- if (!lt.test(e)) return;
72
- const t = e.replace(lt, "$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()), Ot(e);
86
- }
87
- function Ot(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(), i = -(/* @__PURE__ */ new Date(+r)).getTimezoneOffset(), a = o - i, s = Date.prototype.getHours.apply(e) !== e.internal.getUTCHours();
91
- a && s && e.internal.setUTCMinutes(e.internal.getUTCMinutes() + a);
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, Y = C - c;
99
- if (v && Y) {
100
- Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + Y);
101
- const M = ie(e.timeZone, e), p = M > 0 ? Math.floor(M) : Math.ceil(M), k = g - p;
102
- k && (e.internal.setUTCMinutes(e.internal.getUTCMinutes() + k), Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + k));
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} (${$n(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 Wt = 6048e5, Vn = 864e5, dt = Symbol.for("constructDateFrom");
162
- function B(e, t) {
163
- return typeof e == "function" ? e(t) : e && typeof e == "object" && dt in e ? e[dt](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 St(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 Ct(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(), i = B(e, r.getTime());
178
- i.setMonth(r.getMonth() + t + 1, 0);
179
- const a = i.getDate();
180
- return o >= a ? i : (r.setFullYear(
181
- i.getFullYear(),
182
- i.getMonth(),
183
- o
184
- ), r);
185
- }
186
- let Un = {};
187
- function De() {
188
- return Un;
189
- }
190
- function he(e, t) {
191
- const n = De(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, o = P(e, t?.in), i = o.getDay(), a = (i < r ? 7 : 0) + i - r;
192
- return o.setDate(o.getDate() - a), o.setHours(0, 0, 0, 0), o;
193
- }
194
- function Me(e, t) {
195
- return he(e, { ...t, weekStartsOn: 1 });
196
- }
197
- function Nt(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 i = Me(o), a = B(n, 0);
201
- a.setFullYear(r, 0, 4), a.setHours(0, 0, 0, 0);
202
- const s = Me(a);
203
- return n.getTime() >= i.getTime() ? r + 1 : n.getTime() >= s.getTime() ? r : r - 1;
204
- }
205
- function ft(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 ye(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 ke(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] = ye(
232
- n?.in,
233
- e,
234
- t
235
- ), i = ke(r), a = ke(o), s = +i - ft(i), c = +a - ft(a);
236
- return Math.round((s - c) / Vn);
237
- }
238
- function Xn(e, t) {
239
- const n = Nt(e, t), r = B(e, 0);
240
- return r.setFullYear(n, 0, 4), r.setHours(0, 0, 0, 0), Me(r);
241
- }
242
- function Kn(e, t, n) {
243
- return St(e, t * 7, n);
244
- }
245
- function Zn(e, t, n) {
246
- return Ct(e, t * 12, n);
247
- }
248
- function Jn(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 i = P(o, r);
253
- (!n || n < i || isNaN(+i)) && (n = i);
254
- }), B(r, n || NaN);
255
- }
256
- function Ln(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 i = P(o, r);
261
- (!n || n > i || isNaN(+i)) && (n = i);
262
- }), B(r, n || NaN);
263
- }
264
- function er(e, t, n) {
265
- const [r, o] = ye(
266
- n?.in,
267
- e,
268
- t
269
- );
270
- return +ke(r) == +ke(o);
271
- }
272
- function xt(e) {
273
- return e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]";
274
- }
275
- function tr(e) {
276
- return !(!xt(e) && typeof e != "number" || isNaN(+P(e)));
277
- }
278
- function Yt(e, t, n) {
279
- const [r, o] = ye(
280
- n?.in,
281
- e,
282
- t
283
- ), i = r.getFullYear() - o.getFullYear(), a = r.getMonth() - o.getMonth();
284
- return i * 12 + a;
285
- }
286
- function nr(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 Tt(e, t) {
291
- const [n, r] = ye(e, t.start, t.end);
292
- return { start: n, end: r };
293
- }
294
- function rr(e, t) {
295
- const { start: n, end: r } = Tt(t?.in, e);
296
- let o = +n > +r;
297
- const i = o ? +n : +r, a = o ? r : n;
298
- a.setHours(0, 0, 0, 0), a.setDate(1);
299
- let s = 1;
300
- const c = [];
301
- for (; +a <= i; )
302
- c.push(B(n, a)), a.setMonth(a.getMonth() + s);
303
- return o ? c.reverse() : c;
304
- }
305
- function or(e, t) {
306
- const n = P(e, t?.in);
307
- return n.setDate(1), n.setHours(0, 0, 0, 0), n;
308
- }
309
- function sr(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 Pt(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 ar(e, t) {
318
- const { start: n, end: r } = Tt(t?.in, e);
319
- let o = +n > +r;
320
- const i = o ? +n : +r, a = o ? r : n;
321
- a.setHours(0, 0, 0, 0), a.setMonth(0, 1);
322
- let s = 1;
323
- const c = [];
324
- for (; +a <= i; )
325
- c.push(B(n, a)), a.setFullYear(a.getFullYear() + s);
326
- return o ? c.reverse() : c;
327
- }
328
- function Et(e, t) {
329
- const n = De(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, o = P(e, t?.in), i = o.getDay(), a = (i < r ? -7 : 0) + 6 - (i - r);
330
- return o.setDate(o.getDate() + a), o.setHours(23, 59, 59, 999), o;
331
- }
332
- function ir(e, t) {
333
- return Et(e, { ...t, weekStartsOn: 1 });
334
- }
335
- const cr = {
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
- }, ur = (e, t, n) => {
398
- let r;
399
- const o = cr[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 Ge(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 lr = {
409
- full: "EEEE, MMMM do, y",
410
- long: "MMMM do, y",
411
- medium: "MMM d, y",
412
- short: "MM/dd/yyyy"
413
- }, dr = {
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
- }, fr = {
419
- full: "{{date}} 'at' {{time}}",
420
- long: "{{date}} 'at' {{time}}",
421
- medium: "{{date}}, {{time}}",
422
- short: "{{date}}, {{time}}"
423
- }, hr = {
424
- date: Ge({
425
- formats: lr,
426
- defaultWidth: "full"
427
- }),
428
- time: Ge({
429
- formats: dr,
430
- defaultWidth: "full"
431
- }),
432
- dateTime: Ge({
433
- formats: fr,
434
- defaultWidth: "full"
435
- })
436
- }, mr = {
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
- }, yr = (e, t, n, r) => mr[e];
444
- function ge(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 a = e.defaultFormattingWidth || e.defaultWidth, s = n?.width ? String(n.width) : a;
450
- o = e.formattingValues[s] || e.formattingValues[a];
451
- } else {
452
- const a = e.defaultWidth, s = n?.width ? String(n.width) : e.defaultWidth;
453
- o = e.values[s] || e.values[a];
454
- }
455
- const i = e.argumentCallback ? e.argumentCallback(t) : t;
456
- return o[i];
457
- };
458
- }
459
- const gr = {
460
- narrow: ["B", "A"],
461
- abbreviated: ["BC", "AD"],
462
- wide: ["Before Christ", "Anno Domini"]
463
- }, br = {
464
- narrow: ["1", "2", "3", "4"],
465
- abbreviated: ["Q1", "Q2", "Q3", "Q4"],
466
- wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
467
- }, pr = {
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
- }, wr = {
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
- }, kr = {
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
- }, Dr = (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
- }, vr = {
585
- ordinalNumber: Dr,
586
- era: ge({
587
- values: gr,
588
- defaultWidth: "wide"
589
- }),
590
- quarter: ge({
591
- values: br,
592
- defaultWidth: "wide",
593
- argumentCallback: (e) => e - 1
594
- }),
595
- month: ge({
596
- values: pr,
597
- defaultWidth: "wide"
598
- }),
599
- day: ge({
600
- values: wr,
601
- defaultWidth: "wide"
602
- }),
603
- dayPeriod: ge({
604
- values: Mr,
605
- defaultWidth: "wide",
606
- formattingValues: kr,
607
- defaultFormattingWidth: "wide"
608
- })
609
- };
610
- function be(e) {
611
- return (t, n = {}) => {
612
- const r = n.width, o = r && e.matchPatterns[r] || e.matchPatterns[e.defaultMatchWidth], i = t.match(o);
613
- if (!i)
614
- return null;
615
- const a = i[0], s = r && e.parsePatterns[r] || e.parsePatterns[e.defaultParseWidth], c = Array.isArray(s) ? Wr(s, (l) => l.test(a)) : (
616
- // [TODO] -- I challenge you to fix the type
617
- Or(s, (l) => l.test(a))
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(a.length);
625
- return { value: u, rest: d };
626
- };
627
- }
628
- function Or(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 Wr(e, t) {
634
- for (let n = 0; n < e.length; n++)
635
- if (t(e[n]))
636
- return n;
637
- }
638
- function Sr(e) {
639
- return (t, n = {}) => {
640
- const r = t.match(e.matchPattern);
641
- if (!r) return null;
642
- const o = r[0], i = t.match(e.parsePattern);
643
- if (!i) return null;
644
- let a = e.valueCallback ? e.valueCallback(i[0]) : i[0];
645
- a = n.valueCallback ? n.valueCallback(a) : a;
646
- const s = t.slice(o.length);
647
- return { value: a, rest: s };
648
- };
649
- }
650
- const Cr = /^(\d+)(th|st|nd|rd)?/i, Nr = /\d+/i, xr = {
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
- }, Yr = {
655
- any: [/^b/i, /^(a|c)/i]
656
- }, Tr = {
657
- narrow: /^[1234]/i,
658
- abbreviated: /^q[1234]/i,
659
- wide: /^[1234](th|st|nd|rd)? quarter/i
660
- }, Pr = {
661
- any: [/1/i, /2/i, /3/i, /4/i]
662
- }, Er = {
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
- }, _r = {
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
- }, Fr = {
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
- }, Br = {
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
- }, Ir = {
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
- }, Hr = {
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
- }, Ar = {
718
- ordinalNumber: Sr({
719
- matchPattern: Cr,
720
- parsePattern: Nr,
721
- valueCallback: (e) => parseInt(e, 10)
722
- }),
723
- era: be({
724
- matchPatterns: xr,
725
- defaultMatchWidth: "wide",
726
- parsePatterns: Yr,
727
- defaultParseWidth: "any"
728
- }),
729
- quarter: be({
730
- matchPatterns: Tr,
731
- defaultMatchWidth: "wide",
732
- parsePatterns: Pr,
733
- defaultParseWidth: "any",
734
- valueCallback: (e) => e + 1
735
- }),
736
- month: be({
737
- matchPatterns: Er,
738
- defaultMatchWidth: "wide",
739
- parsePatterns: _r,
740
- defaultParseWidth: "any"
741
- }),
742
- day: be({
743
- matchPatterns: Fr,
744
- defaultMatchWidth: "wide",
745
- parsePatterns: Br,
746
- defaultParseWidth: "any"
747
- }),
748
- dayPeriod: be({
749
- matchPatterns: Ir,
750
- defaultMatchWidth: "any",
751
- parsePatterns: Hr,
752
- defaultParseWidth: "any"
753
- })
754
- }, fe = {
755
- code: "en-US",
756
- formatDistance: ur,
757
- formatLong: hr,
758
- formatRelative: yr,
759
- localize: vr,
760
- match: Ar,
761
- options: {
762
- weekStartsOn: 0,
763
- firstWeekContainsDate: 1
764
- }
765
- };
766
- function qr(e, t) {
767
- const n = P(e, t?.in);
768
- return Xe(n, Pt(n)) + 1;
769
- }
770
- function Ke(e, t) {
771
- const n = P(e, t?.in), r = +Me(n) - +Xn(n);
772
- return Math.round(r / Wt) + 1;
773
- }
774
- function _t(e, t) {
775
- const n = P(e, t?.in), r = n.getFullYear(), o = De(), i = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? o.firstWeekContainsDate ?? o.locale?.options?.firstWeekContainsDate ?? 1, a = B(t?.in || e, 0);
776
- a.setFullYear(r + 1, 0, i), a.setHours(0, 0, 0, 0);
777
- const s = he(a, t), c = B(t?.in || e, 0);
778
- c.setFullYear(r, 0, i), c.setHours(0, 0, 0, 0);
779
- const u = he(c, t);
780
- return +n >= +s ? r + 1 : +n >= +u ? r : r - 1;
781
- }
782
- function jr(e, t) {
783
- const n = De(), r = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? n.firstWeekContainsDate ?? n.locale?.options?.firstWeekContainsDate ?? 1, o = _t(e, t), i = B(t?.in || e, 0);
784
- return i.setFullYear(o, 0, r), i.setHours(0, 0, 0, 0), he(i, t);
785
- }
786
- function Ze(e, t) {
787
- const n = P(e, t?.in), r = +he(n, t) - +jr(n, t);
788
- return Math.round(r / Wt) + 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
- }, le = {
849
- midnight: "midnight",
850
- noon: "noon",
851
- morning: "morning",
852
- afternoon: "afternoon",
853
- evening: "evening",
854
- night: "night"
855
- }, ht = {
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 = _t(e, r), i = o > 0 ? o : 1 - o;
882
- if (t === "YY") {
883
- const a = i % 100;
884
- return T(a, 2);
885
- }
886
- return t === "Yo" ? n.ordinalNumber(i, { unit: "year" }) : T(i, t.length);
887
- },
888
- // ISO week-numbering year
889
- R: function(e, t) {
890
- const n = Nt(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 = qr(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(), i = (o - r.weekStartsOn + 8) % 7 || 7;
1062
- switch (t) {
1063
- case "e":
1064
- return String(i);
1065
- case "ee":
1066
- return T(i, 2);
1067
- case "eo":
1068
- return n.ordinalNumber(i, { 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(), i = (o - r.weekStartsOn + 8) % 7 || 7;
1095
- switch (t) {
1096
- case "c":
1097
- return String(i);
1098
- case "cc":
1099
- return T(i, t.length);
1100
- case "co":
1101
- return n.ordinalNumber(i, { 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 = le.noon : r === 0 ? o = le.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 = le.evening : r >= 12 ? o = le.afternoon : r >= 4 ? o = le.morning : o = le.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 yt(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 yt(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" + mt(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" + mt(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 mt(e, t = "") {
1343
- const n = e > 0 ? "-" : "+", r = Math.abs(e), o = Math.trunc(r / 60), i = r % 60;
1344
- return i === 0 ? n + String(o) : n + String(o) + t + T(i, 2);
1345
- }
1346
- function yt(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), i = T(r % 60, 2);
1351
- return n + o + t + i;
1352
- }
1353
- const gt = (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
- }, Ft = (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
- }, Gr = (e, t) => {
1378
- const n = e.match(/(P+)(p+)?/) || [], r = n[1], o = n[2];
1379
- if (!o)
1380
- return gt(e, t);
1381
- let i;
1382
- switch (r) {
1383
- case "P":
1384
- i = t.dateTime({ width: "short" });
1385
- break;
1386
- case "PP":
1387
- i = t.dateTime({ width: "medium" });
1388
- break;
1389
- case "PPP":
1390
- i = t.dateTime({ width: "long" });
1391
- break;
1392
- case "PPPP":
1393
- default:
1394
- i = t.dateTime({ width: "full" });
1395
- break;
1396
- }
1397
- return i.replace("{{date}}", gt(r, t)).replace("{{time}}", Ft(o, t));
1398
- }, Rr = {
1399
- p: Ft,
1400
- P: Gr
1401
- }, $r = /^D+$/, zr = /^Y+$/, Qr = ["D", "DD", "YY", "YYYY"];
1402
- function Vr(e) {
1403
- return $r.test(e);
1404
- }
1405
- function Ur(e) {
1406
- return zr.test(e);
1407
- }
1408
- function Xr(e, t, n) {
1409
- const r = Kr(e, t, n);
1410
- if (console.warn(r), Qr.includes(e)) throw new RangeError(r);
1411
- }
1412
- function Kr(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 Zr = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, Jr = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Lr = /^'([^]*?)'?$/, eo = /''/g, to = /[a-zA-Z]/;
1417
- function we(e, t, n) {
1418
- const r = De(), o = n?.locale ?? r.locale ?? fe, i = n?.firstWeekContainsDate ?? n?.locale?.options?.firstWeekContainsDate ?? r.firstWeekContainsDate ?? r.locale?.options?.firstWeekContainsDate ?? 1, a = n?.weekStartsOn ?? n?.locale?.options?.weekStartsOn ?? r.weekStartsOn ?? r.locale?.options?.weekStartsOn ?? 0, s = P(e, n?.in);
1419
- if (!tr(s))
1420
- throw new RangeError("Invalid time value");
1421
- let c = t.match(Jr).map((d) => {
1422
- const l = d[0];
1423
- if (l === "p" || l === "P") {
1424
- const h = Rr[l];
1425
- return h(d, o.formatLong);
1426
- }
1427
- return d;
1428
- }).join("").match(Zr).map((d) => {
1429
- if (d === "''")
1430
- return { isToken: !1, value: "'" };
1431
- const l = d[0];
1432
- if (l === "'")
1433
- return { isToken: !1, value: no(d) };
1434
- if (ht[l])
1435
- return { isToken: !0, value: d };
1436
- if (l.match(to))
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: i,
1445
- weekStartsOn: a,
1446
- locale: o
1447
- };
1448
- return c.map((d) => {
1449
- if (!d.isToken) return d.value;
1450
- const l = d.value;
1451
- (!n?.useAdditionalWeekYearTokens && Ur(l) || !n?.useAdditionalDayOfYearTokens && Vr(l)) && Xr(l, t, String(e));
1452
- const h = ht[l[0]];
1453
- return h(s, l, o.localize, u);
1454
- }).join("");
1455
- }
1456
- function no(e) {
1457
- const t = e.match(Lr);
1458
- return t ? t[1].replace(eo, "'") : e;
1459
- }
1460
- function ro(e, t) {
1461
- const n = P(e, t?.in), r = n.getFullYear(), o = n.getMonth(), i = B(n, 0);
1462
- return i.setFullYear(r, o + 1, 0), i.setHours(0, 0, 0, 0), i.getDate();
1463
- }
1464
- function oo(e, t) {
1465
- return P(e, t?.in).getMonth();
1466
- }
1467
- function so(e, t) {
1468
- return P(e, t?.in).getFullYear();
1469
- }
1470
- function ao(e, t) {
1471
- return +P(e) > +P(t);
1472
- }
1473
- function io(e, t) {
1474
- return +P(e) < +P(t);
1475
- }
1476
- function co(e, t, n) {
1477
- const [r, o] = ye(
1478
- n?.in,
1479
- e,
1480
- t
1481
- );
1482
- return r.getFullYear() === o.getFullYear() && r.getMonth() === o.getMonth();
1483
- }
1484
- function uo(e, t, n) {
1485
- const [r, o] = ye(
1486
- n?.in,
1487
- e,
1488
- t
1489
- );
1490
- return r.getFullYear() === o.getFullYear();
1491
- }
1492
- function lo(e, t, n) {
1493
- const r = P(e, n?.in), o = r.getFullYear(), i = r.getDate(), a = B(e, 0);
1494
- a.setFullYear(o, t, 15), a.setHours(0, 0, 0, 0);
1495
- const s = ro(a);
1496
- return r.setMonth(t, Math.min(i, s)), r;
1497
- }
1498
- function fo(e, t, n) {
1499
- const r = P(e, n?.in);
1500
- return isNaN(+r) ? B(e, NaN) : (r.setFullYear(t), r);
1501
- }
1502
- const bt = 5, ho = 4;
1503
- function mo(e, t) {
1504
- const n = t.startOfMonth(e), r = n.getDay() > 0 ? n.getDay() : 7, o = t.addDays(e, -r + 1), i = t.addDays(o, bt * 7 - 1);
1505
- return t.getMonth(e) === t.getMonth(i) ? bt : ho;
1506
- }
1507
- function Bt(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 yo(e, t) {
1512
- const n = Bt(e, t), r = mo(e, t);
1513
- return t.addDays(n, r * 7 - 1);
1514
- }
1515
- const It = {
1516
- ...fe,
1517
- labels: {
1518
- labelDayButton: (e, t, n, r) => {
1519
- let o;
1520
- r && typeof r.format == "function" ? o = r.format.bind(r) : o = (a, s) => we(a, s, { locale: fe, ...n });
1521
- let i = o(e, "PPPP");
1522
- return t.today && (i = `Today, ${i}`), t.selected && (i = `${i}, selected`), i;
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, i) => we(o, i, { locale: fe, ...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 = (a, s) => we(a, s, { locale: fe, ...n });
1536
- let i = o(e, "PPPP");
1537
- return t?.today && (i = `Today, ${i}`), i;
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, i) => we(o, i, { locale: fe, ...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, i) => this.overrides?.newDate ? this.overrides.newDate(r, o, i) : this.options.timeZone ? new H(r, o, i, this.options.timeZone) : new Date(r, o, i), this.addDays = (r, o) => this.overrides?.addDays ? this.overrides.addDays(r, o) : St(r, o), this.addMonths = (r, o) => this.overrides?.addMonths ? this.overrides.addMonths(r, o) : Ct(r, o), this.addWeeks = (r, o) => this.overrides?.addWeeks ? this.overrides.addWeeks(r, o) : Kn(r, o), this.addYears = (r, o) => this.overrides?.addYears ? this.overrides.addYears(r, o) : Zn(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) : Yt(r, o), this.eachMonthOfInterval = (r) => this.overrides?.eachMonthOfInterval ? this.overrides.eachMonthOfInterval(r) : rr(r), this.eachYearOfInterval = (r) => {
1556
- const o = this.overrides?.eachYearOfInterval ? this.overrides.eachYearOfInterval(r) : ar(r), i = new Set(o.map((s) => this.getYear(s)));
1557
- if (i.size === o.length)
1558
- return o;
1559
- const a = [];
1560
- return i.forEach((s) => {
1561
- a.push(new Date(s, 0, 1));
1562
- }), a;
1563
- }, this.endOfBroadcastWeek = (r) => this.overrides?.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(r) : yo(r, this), this.endOfISOWeek = (r) => this.overrides?.endOfISOWeek ? this.overrides.endOfISOWeek(r) : ir(r), this.endOfMonth = (r) => this.overrides?.endOfMonth ? this.overrides.endOfMonth(r) : nr(r), this.endOfWeek = (r, o) => this.overrides?.endOfWeek ? this.overrides.endOfWeek(r, o) : Et(r, this.options), this.endOfYear = (r) => this.overrides?.endOfYear ? this.overrides.endOfYear(r) : sr(r), this.format = (r, o, i) => {
1564
- const a = this.overrides?.format ? this.overrides.format(r, o, this.options) : we(r, o, this.options);
1565
- return this.options.numerals && this.options.numerals !== "latn" ? this.replaceDigits(a) : a;
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) : oo(r, this.options), this.getYear = (r, o) => this.overrides?.getYear ? this.overrides.getYear(r, this.options) : so(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) : ao(r, o), this.isBefore = (r, o) => this.overrides?.isBefore ? this.overrides.isBefore(r, o) : io(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) : er(r, o), this.isSameMonth = (r, o) => this.overrides?.isSameMonth ? this.overrides.isSameMonth(r, o) : co(r, o), this.isSameYear = (r, o) => this.overrides?.isSameYear ? this.overrides.isSameYear(r, o) : uo(r, o), this.max = (r) => this.overrides?.max ? this.overrides.max(r) : Jn(r), this.min = (r) => this.overrides?.min ? this.overrides.min(r) : Ln(r), this.setMonth = (r, o) => this.overrides?.setMonth ? this.overrides.setMonth(r, o) : lo(r, o), this.setYear = (r, o) => this.overrides?.setYear ? this.overrides.setYear(r, o) : fo(r, o), this.startOfBroadcastWeek = (r, o) => this.overrides?.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(r, this) : Bt(r, this), this.startOfDay = (r) => this.overrides?.startOfDay ? this.overrides.startOfDay(r) : ke(r), this.startOfISOWeek = (r) => this.overrides?.startOfISOWeek ? this.overrides.startOfISOWeek(r) : Me(r), this.startOfMonth = (r) => this.overrides?.startOfMonth ? this.overrides.startOfMonth(r) : or(r), this.startOfWeek = (r, o) => this.overrides?.startOfWeek ? this.overrides.startOfWeek(r, this.options) : he(r, this.options), this.startOfYear = (r) => this.overrides?.startOfYear ? this.overrides.startOfYear(r) : Pt(r), this.options = { locale: It, ...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, i = n?.code;
1619
- if (i && j.yearFirstLocales.has(i))
1620
- try {
1621
- return new Intl.DateTimeFormat(i, {
1622
- month: "long",
1623
- year: "numeric",
1624
- timeZone: r,
1625
- numberingSystem: o
1626
- }).format(t);
1627
- } catch {
1628
- }
1629
- const a = this.getMonthYearOrder() === "year-first" ? "y LLLL" : "LLLL y";
1630
- return this.format(t, a);
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 Ht {
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 go {
1669
- constructor(t, n) {
1670
- this.date = t, this.weeks = n;
1671
- }
1672
- }
1673
- class bo {
1674
- constructor(t, n) {
1675
- this.days = n, this.weekNumber = t;
1676
- }
1677
- }
1678
- function po(e) {
1679
- return f.createElement("button", { ...e });
1680
- }
1681
- function wo(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 ko(e) {
1699
- const { day: t, modifiers: n, ...r } = e;
1700
- return f.createElement("td", { ...r });
1701
- }
1702
- function At(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 U;
1717
- (function(e) {
1718
- e.range_end = "range_end", e.range_middle = "range_middle", e.range_start = "range_start", e.selected = "selected";
1719
- })(U || (U = {}));
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 Do(e) {
1725
- const { options: t, className: n, components: r, classNames: o, ...i } = e, a = [o[y.Dropdown], n].join(" "), s = t?.find(({ value: c }) => c === i.value);
1726
- return f.createElement(
1727
- "span",
1728
- { "data-disabled": i.disabled, className: o[y.DropdownRoot] },
1729
- f.createElement(r.Select, { className: a, ...i }, 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 vo(e) {
1739
- return f.createElement("div", { ...e });
1740
- }
1741
- function Oo(e) {
1742
- return f.createElement("div", { ...e });
1743
- }
1744
- function Wo(e) {
1745
- const { calendarMonth: t, displayIndex: n, ...r } = e;
1746
- return f.createElement("div", { ...r }, e.children);
1747
- }
1748
- function So(e) {
1749
- const { calendarMonth: t, displayIndex: n, ...r } = e;
1750
- return f.createElement("div", { ...r });
1751
- }
1752
- function Co(e) {
1753
- return f.createElement("table", { ...e });
1754
- }
1755
- function No(e) {
1756
- return f.createElement("div", { ...e });
1757
- }
1758
- const qt = Bn(void 0);
1759
- function ve() {
1760
- const e = In(qt);
1761
- if (e === void 0)
1762
- throw new Error("useDayPicker() must be used within a custom component.");
1763
- return e;
1764
- }
1765
- function xo(e) {
1766
- const { components: t } = ve();
1767
- return f.createElement(t.Dropdown, { ...e });
1768
- }
1769
- function Yo(e) {
1770
- const { onPreviousClick: t, onNextClick: n, previousMonth: r, nextMonth: o, ...i } = e, { components: a, classNames: s, labels: { labelPrevious: c, labelNext: u } } = ve(), d = R((h) => {
1771
- o && n?.(h);
1772
- }, [o, n]), l = R((h) => {
1773
- r && t?.(h);
1774
- }, [r, t]);
1775
- return f.createElement(
1776
- "nav",
1777
- { ...i },
1778
- f.createElement(
1779
- a.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(a.Chevron, { disabled: r ? void 0 : !0, className: s[y.Chevron], orientation: "left" })
1782
- ),
1783
- f.createElement(
1784
- a.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(a.Chevron, { disabled: o ? void 0 : !0, orientation: "right", className: s[y.Chevron] })
1787
- )
1788
- );
1789
- }
1790
- function To(e) {
1791
- const { components: t } = ve();
1792
- return f.createElement(t.Button, { ...e });
1793
- }
1794
- function Po(e) {
1795
- return f.createElement("option", { ...e });
1796
- }
1797
- function Eo(e) {
1798
- const { components: t } = ve();
1799
- return f.createElement(t.Button, { ...e });
1800
- }
1801
- function jt(e) {
1802
- const { rootRef: t, ...n } = e;
1803
- return f.createElement("div", { ...n, ref: t });
1804
- }
1805
- function _o(e) {
1806
- return f.createElement("select", { ...e });
1807
- }
1808
- function Fo(e) {
1809
- const { week: t, ...n } = e;
1810
- return f.createElement("tr", { ...n });
1811
- }
1812
- function Gt(e) {
1813
- return f.createElement("th", { ...e });
1814
- }
1815
- function Bo(e) {
1816
- return f.createElement(
1817
- "thead",
1818
- { "aria-hidden": !0 },
1819
- f.createElement("tr", { ...e })
1820
- );
1821
- }
1822
- function Io(e) {
1823
- const { week: t, ...n } = e;
1824
- return f.createElement("th", { ...n });
1825
- }
1826
- function Ho(e) {
1827
- return f.createElement("th", { ...e });
1828
- }
1829
- function Ao(e) {
1830
- return f.createElement("tbody", { ...e });
1831
- }
1832
- function qo(e) {
1833
- const { components: t } = ve();
1834
- return f.createElement(t.Dropdown, { ...e });
1835
- }
1836
- const jo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1837
- __proto__: null,
1838
- Button: po,
1839
- CaptionLabel: wo,
1840
- Chevron: Mo,
1841
- Day: ko,
1842
- DayButton: At,
1843
- Dropdown: Do,
1844
- DropdownNav: vo,
1845
- Footer: Oo,
1846
- Month: Wo,
1847
- MonthCaption: So,
1848
- MonthGrid: Co,
1849
- Months: No,
1850
- MonthsDropdown: xo,
1851
- Nav: Yo,
1852
- NextMonthButton: To,
1853
- Option: Po,
1854
- PreviousMonthButton: Eo,
1855
- Root: jt,
1856
- Select: _o,
1857
- Week: Fo,
1858
- WeekNumber: Io,
1859
- WeekNumberHeader: Ho,
1860
- Weekday: Gt,
1861
- Weekdays: Bo,
1862
- Weeks: Ao,
1863
- YearsDropdown: qo
1864
- }, Symbol.toStringTag, { value: "Module" }));
1865
- function ne(e, t, n = !1, r = L) {
1866
- let { from: o, to: i } = e;
1867
- const { differenceInCalendarDays: a, isSameDay: s } = r;
1868
- return o && i ? (a(i, o) < 0 && ([o, i] = [i, o]), a(t, o) >= (n ? 1 : 0) && a(i, t) >= (n ? 1 : 0)) : !n && i ? s(i, 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 Rt(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: i, isAfter: a } = 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 (Rt(s))
1900
- return Array.isArray(s.dayOfWeek) ? s.dayOfWeek.includes(e.getDay()) : s.dayOfWeek === e.getDay();
1901
- if (Je(s)) {
1902
- const c = i(s.before, e), u = i(s.after, e), d = c > 0, l = u < 0;
1903
- return a(s.before, s.after) ? l && d : d || l;
1904
- }
1905
- return Le(s) ? i(e, s.after) > 0 : et(s) ? i(s.before, e) > 0 : typeof s == "function" ? s(e) : !1;
1906
- });
1907
- }
1908
- function Go(e, t, n, r, o) {
1909
- const { disabled: i, hidden: a, modifiers: s, showOutsideDays: c, broadcastCalendar: u, today: d = o.today() } = t, { isSameDay: l, isSameMonth: h, startOfMonth: g, isBefore: O, endOfMonth: C, isAfter: v } = o, Y = n && g(n), M = r && C(r), p = {
1910
- [_.focused]: [],
1911
- [_.outside]: [],
1912
- [_.disabled]: [],
1913
- [_.hidden]: [],
1914
- [_.today]: []
1915
- }, k = {};
1916
- for (const b of e) {
1917
- const { date: m, displayMonth: W } = b, E = !!(W && !h(m, W)), I = !!(Y && O(m, Y)), F = !!(M && v(m, M)), X = !!(i && re(m, i, o)), oe = !!(a && re(m, a, 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 && p.outside.push(b), X && p.disabled.push(b), oe && p.hidden.push(b), ee && p.today.push(b), s && Object.keys(s).forEach((G) => {
1920
- const ue = s?.[G];
1921
- ue && re(m, ue, o) && (k[G] ? k[G].push(b) : k[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 p) {
1933
- const I = p[E];
1934
- m[E] = I.some((F) => F === b);
1935
- }
1936
- for (const E in k)
1937
- W[E] = k[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 Ro(e, t, n = {}) {
1946
- return Object.entries(e).filter(([, o]) => o === !0).reduce((o, [i]) => (n[i] ? o.push(n[i]) : t[_[i]] ? o.push(t[_[i]]) : t[U[i]] && o.push(t[U[i]]), o), [t[y.Day]]);
1947
- }
1948
- function $o(e) {
1949
- return {
1950
- ...jo,
1951
- ...e
1952
- };
1953
- }
1954
- function zo(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 Qo() {
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 U)
1974
- e[U[t]] = `rdp-${U[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 Vo = zt;
1983
- function Uo(e, t, n) {
1984
- return (n ?? new j(t)).format(e, "d");
1985
- }
1986
- function Xo(e, t = L) {
1987
- return t.format(e, "LLLL");
1988
- }
1989
- function Ko(e, t, n) {
1990
- return (n ?? new j(t)).format(e, "cccccc");
1991
- }
1992
- function Zo(e, t = L) {
1993
- return e < 10 ? t.formatNumber(`0${e.toLocaleString()}`) : t.formatNumber(`${e.toLocaleString()}`);
1994
- }
1995
- function Jo() {
1996
- return "";
1997
- }
1998
- function Qt(e, t = L) {
1999
- return t.format(e, "yyyy");
2000
- }
2001
- const Lo = Qt, es = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2002
- __proto__: null,
2003
- formatCaption: zt,
2004
- formatDay: Uo,
2005
- formatMonthCaption: Vo,
2006
- formatMonthDropdown: Xo,
2007
- formatWeekNumber: Zo,
2008
- formatWeekNumberHeader: Jo,
2009
- formatWeekdayName: Ko,
2010
- formatYearCaption: Lo,
2011
- formatYearDropdown: Qt
2012
- }, Symbol.toStringTag, { value: "Module" }));
2013
- function ts(e) {
2014
- return e?.formatMonthCaption && !e.formatCaption && (e.formatCaption = e.formatMonthCaption), e?.formatYearCaption && !e.formatYearDropdown && (e.formatYearDropdown = e.formatYearCaption), {
2015
- ...es,
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 ns = tt;
2024
- function nt(e, t, n) {
2025
- return (n ?? new j(t)).formatMonthYear(e);
2026
- }
2027
- const rs = nt;
2028
- function Vt(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 Xt() {
2036
- return "";
2037
- }
2038
- const os = "Go to the Next Month";
2039
- function Kt(e, t) {
2040
- return os;
2041
- }
2042
- function Zt(e) {
2043
- return "Go to the Previous Month";
2044
- }
2045
- function Jt(e, t, n) {
2046
- return (n ?? new j(t)).format(e, "cccc");
2047
- }
2048
- function Lt(e, t) {
2049
- return `Week ${e}`;
2050
- }
2051
- function en(e) {
2052
- return "Week Number";
2053
- }
2054
- function tn(e) {
2055
- return "Choose the Year";
2056
- }
2057
- const ss = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2058
- __proto__: null,
2059
- labelCaption: rs,
2060
- labelDay: ns,
2061
- labelDayButton: tt,
2062
- labelGrid: nt,
2063
- labelGridcell: Vt,
2064
- labelMonthDropdown: Ut,
2065
- labelNav: Xt,
2066
- labelNext: Kt,
2067
- labelPrevious: Zt,
2068
- labelWeekNumber: Lt,
2069
- labelWeekNumberHeader: en,
2070
- labelWeekday: Jt,
2071
- labelYearDropdown: tn
2072
- }, Symbol.toStringTag, { value: "Module" })), V = (e, t, n) => t || (n ? typeof n == "function" ? n : (...r) => n : e);
2073
- function as(e, t) {
2074
- const n = t.locale?.labels ?? {};
2075
- return {
2076
- ...ss,
2077
- ...e ?? {},
2078
- labelDayButton: V(tt, e?.labelDayButton, n.labelDayButton),
2079
- labelMonthDropdown: V(Ut, e?.labelMonthDropdown, n.labelMonthDropdown),
2080
- labelNext: V(Kt, e?.labelNext, n.labelNext),
2081
- labelPrevious: V(Zt, e?.labelPrevious, n.labelPrevious),
2082
- labelWeekNumber: V(Lt, e?.labelWeekNumber, n.labelWeekNumber),
2083
- labelYearDropdown: V(tn, e?.labelYearDropdown, n.labelYearDropdown),
2084
- labelGrid: V(nt, e?.labelGrid, n.labelGrid),
2085
- labelGridcell: V(Vt, e?.labelGridcell, n.labelGridcell),
2086
- labelNav: V(Xt, e?.labelNav, n.labelNav),
2087
- labelWeekNumberHeader: V(en, e?.labelWeekNumberHeader, n.labelWeekNumberHeader),
2088
- labelWeekday: V(Jt, e?.labelWeekday, n.labelWeekday)
2089
- };
2090
- }
2091
- function is(e, t, n, r, o) {
2092
- const { startOfMonth: i, startOfYear: a, endOfYear: s, eachMonthOfInterval: c, getMonth: u } = o;
2093
- return c({
2094
- start: a(e),
2095
- end: s(e)
2096
- }).map((h) => {
2097
- const g = r.formatMonthDropdown(h, o), O = u(h), C = t && h < i(t) || n && h > i(n) || !1;
2098
- return { value: O, label: g, disabled: C };
2099
- });
2100
- }
2101
- function cs(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 us(e, t, n, r) {
2111
- const o = r ?? e.today(), i = n ? e.startOfBroadcastWeek(o, e) : t ? e.startOfISOWeek(o) : e.startOfWeek(o), a = [];
2112
- for (let s = 0; s < 7; s++) {
2113
- const c = e.addDays(i, s);
2114
- a.push(c);
2115
- }
2116
- return a;
2117
- }
2118
- function ls(e, t, n, r, o = !1) {
2119
- if (!e || !t)
2120
- return;
2121
- const { startOfYear: i, endOfYear: a, eachYearOfInterval: s, getYear: c } = r, u = i(e), d = a(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 ds(e, t = {}) {
2132
- const { weekStartsOn: n, locale: r } = t, o = n ?? r?.options?.weekStartsOn ?? 0, i = (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
- }, a = (s) => {
2136
- const c = i(s);
2137
- return new Date(c.getFullYear(), c.getMonth(), c.getDate(), 0, 0, 0, 0);
2138
- };
2139
- return {
2140
- today: () => i(H.tz(e)),
2141
- newDate: (s, c, u) => new H(s, c, u, 12, 0, 0, e),
2142
- startOfDay: (s) => i(s),
2143
- startOfWeek: (s, c) => {
2144
- const u = i(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 = i(s), u = (c.getDay() - 1 + 7) % 7;
2149
- return c.setDate(c.getDate() - u), c;
2150
- },
2151
- startOfMonth: (s) => {
2152
- const c = i(s);
2153
- return c.setDate(1), c;
2154
- },
2155
- startOfYear: (s) => {
2156
- const c = i(s);
2157
- return c.setMonth(0, 1), c;
2158
- },
2159
- endOfWeek: (s, c) => {
2160
- const u = i(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 = i(s), u = (7 - c.getDay()) % 7;
2165
- return c.setDate(c.getDate() + u), c;
2166
- },
2167
- endOfMonth: (s) => {
2168
- const c = i(s);
2169
- return c.setMonth(c.getMonth() + 1, 0), c;
2170
- },
2171
- endOfYear: (s) => {
2172
- const c = i(s);
2173
- return c.setMonth(11, 31), c;
2174
- },
2175
- eachMonthOfInterval: (s) => {
2176
- const c = i(s.start), u = i(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 = i(s);
2185
- return u.setDate(u.getDate() + c), u;
2186
- },
2187
- addWeeks: (s, c) => {
2188
- const u = i(s);
2189
- return u.setDate(u.getDate() + c * 7), u;
2190
- },
2191
- addMonths: (s, c) => {
2192
- const u = i(s);
2193
- return u.setMonth(u.getMonth() + c), u;
2194
- },
2195
- addYears: (s, c) => {
2196
- const u = i(s);
2197
- return u.setFullYear(u.getFullYear() + c), u;
2198
- },
2199
- eachYearOfInterval: (s) => {
2200
- const c = i(s.start), u = i(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 = a(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 = a(s);
2214
- return Ke(c);
2215
- },
2216
- differenceInCalendarDays: (s, c) => {
2217
- const u = a(s), d = a(c);
2218
- return Xe(u, d);
2219
- },
2220
- differenceInCalendarMonths: (s, c) => {
2221
- const u = a(s), d = a(c);
2222
- return Yt(u, d);
2223
- }
2224
- };
2225
- }
2226
- const Oe = (e) => e instanceof HTMLElement ? e : null, Re = (e) => [
2227
- ...e.querySelectorAll("[data-animated-month]") ?? []
2228
- ], fs = (e) => Oe(e.querySelector("[data-animated-month]")), $e = (e) => Oe(e.querySelector("[data-animated-caption]")), ze = (e) => Oe(e.querySelector("[data-animated-weeks]")), hs = (e) => Oe(e.querySelector("[data-animated-nav]")), ms = (e) => Oe(e.querySelector("[data-animated-weekdays]"));
2229
- function ys(e, t, { classNames: n, months: r, focused: o, dateLib: i }) {
2230
- const a = xe(null), s = xe(r), c = xe(!1);
2231
- Hn(() => {
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 = i.isSameMonth(r[0].date, u[0].date), l = i.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 = a.current, C = e.current.cloneNode(!0);
2238
- if (C instanceof HTMLElement ? (Re(C).forEach((p) => {
2239
- if (!(p instanceof HTMLElement))
2240
- return;
2241
- const k = fs(p);
2242
- k && p.contains(k) && p.removeChild(k);
2243
- const b = $e(p);
2244
- b && b.classList.remove(h);
2245
- const m = ze(p);
2246
- m && m.classList.remove(g);
2247
- }), a.current = C) : a.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 ? Re(O) : [], Y = Re(e.current);
2251
- if (Y?.every((M) => M instanceof HTMLElement) && v && v.every((M) => M instanceof HTMLElement)) {
2252
- c.current = !0, e.current.style.isolation = "isolate";
2253
- const M = hs(e.current);
2254
- M && (M.style.zIndex = "1"), Y.forEach((p, k) => {
2255
- const b = v[k];
2256
- if (!b)
2257
- return;
2258
- p.style.position = "relative", p.style.overflow = "hidden";
2259
- const m = $e(p);
2260
- m && m.classList.add(h);
2261
- const W = ze(p);
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), p.style.position = "", p.style.overflow = "", p.contains(b) && p.removeChild(b);
2265
- };
2266
- b.style.pointerEvents = "none", b.style.position = "absolute", b.style.overflow = "hidden", b.setAttribute("aria-hidden", "true");
2267
- const I = ms(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 X = ze(b);
2272
- X && X.classList.add(l ? n[q.weeks_before_exit] : n[q.weeks_after_exit]), p.insertBefore(b, p.firstChild);
2273
- });
2274
- }
2275
- });
2276
- }
2277
- function gs(e, t, n, r) {
2278
- const o = e[0], i = e[e.length - 1], { ISOWeek: a, fixedWeeks: s, broadcastCalendar: c } = n ?? {}, { addDays: u, differenceInCalendarDays: d, differenceInCalendarMonths: l, endOfBroadcastWeek: h, endOfISOWeek: g, endOfMonth: O, endOfWeek: C, isAfter: v, startOfBroadcastWeek: Y, startOfISOWeek: M, startOfWeek: p } = r, k = c ? Y(o, r) : a ? M(o) : p(o), b = c ? h(i) : a ? g(O(i)) : C(O(i)), m = t && (c ? h(t) : a ? g(t) : C(t)), W = m && v(b, m) ? m : b, E = d(W, k), I = l(i, o) + 1, F = [];
2279
- for (let ee = 0; ee <= E; ee++) {
2280
- const G = u(k, 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 ue = u(F[F.length - 1], 1);
2288
- F.push(ue);
2289
- }
2290
- }
2291
- return F;
2292
- }
2293
- function bs(e) {
2294
- const t = [];
2295
- return e.reduce((n, r) => {
2296
- const o = r.weeks.reduce((i, a) => i.concat(a.days.slice()), t.slice());
2297
- return n.concat(o.slice());
2298
- }, t.slice());
2299
- }
2300
- function ps(e, t, n, r) {
2301
- const { numberOfMonths: o = 1 } = n, i = [];
2302
- for (let a = 0; a < o; a++) {
2303
- const s = r.addMonths(e, a);
2304
- if (t && s > t)
2305
- break;
2306
- i.push(s);
2307
- }
2308
- return i;
2309
- }
2310
- function pt(e, t, n, r) {
2311
- const { month: o, defaultMonth: i, today: a = r.today(), numberOfMonths: s = 1 } = e;
2312
- let c = o || i || a;
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 ws(e, t, n, r) {
2321
- const { addDays: o, endOfBroadcastWeek: i, endOfISOWeek: a, endOfMonth: s, endOfWeek: c, getISOWeek: u, getWeek: d, startOfBroadcastWeek: l, startOfISOWeek: h, startOfWeek: g } = r, O = e.reduce((C, v) => {
2322
- const Y = n.broadcastCalendar ? l(v, r) : n.ISOWeek ? h(v) : g(v), M = n.broadcastCalendar ? i(v) : n.ISOWeek ? a(s(v)) : c(s(v)), p = t.filter((W) => W >= Y && W <= M), k = n.broadcastCalendar ? 35 : 42;
2323
- if (n.fixedWeeks && p.length < k) {
2324
- const W = t.filter((E) => {
2325
- const I = k - p.length;
2326
- return E > M && E <= o(M, I);
2327
- });
2328
- p.push(...W);
2329
- }
2330
- const b = p.reduce((W, E) => {
2331
- const I = n.ISOWeek ? u(E) : d(E), F = W.find((oe) => oe.weekNumber === I), X = new Ht(E, v, r);
2332
- return F ? F.days.push(X) : W.push(new bo(I, [X])), W;
2333
- }, []), m = new go(v, b);
2334
- return C.push(m), C;
2335
- }, []);
2336
- return n.reverseMonths ? O.reverse() : O;
2337
- }
2338
- function Ms(e, t) {
2339
- let { startMonth: n, endMonth: r } = e;
2340
- const { startOfYear: o, startOfDay: i, startOfMonth: a, 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 = a(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 && i(n),
2345
- r && i(r)
2346
- ];
2347
- }
2348
- function ks(e, t, n, r) {
2349
- if (n.disableNavigation)
2350
- return;
2351
- const { pagedNavigation: o, numberOfMonths: i = 1 } = n, { startOfMonth: a, addMonths: s, differenceInCalendarMonths: c } = r, u = o ? i : 1, d = a(e);
2352
- if (!t)
2353
- return s(d, u);
2354
- if (!(c(t, e) < i))
2355
- return s(d, u);
2356
- }
2357
- function Ds(e, t, n, r) {
2358
- if (n.disableNavigation)
2359
- return;
2360
- const { pagedNavigation: o, numberOfMonths: i } = n, { startOfMonth: a, addMonths: s, differenceInCalendarMonths: c } = r, u = o ? i ?? 1 : 1, d = a(e);
2361
- if (!t)
2362
- return s(d, -u);
2363
- if (!(c(d, t) <= 0))
2364
- return s(d, -u);
2365
- }
2366
- function vs(e) {
2367
- const t = [];
2368
- return e.reduce((n, r) => n.concat(r.weeks.slice()), t.slice());
2369
- }
2370
- function Te(e, t) {
2371
- const [n, r] = Ve(e);
2372
- return [t === void 0 ? n : t, r];
2373
- }
2374
- function Os(e, t) {
2375
- const [n, r] = Ms(e, t), { startOfMonth: o, endOfMonth: i } = t, a = pt(e, n, r, t), [s, c] = Te(
2376
- a,
2377
- // initialMonth is always computed from props.month if provided
2378
- e.month ? a : void 0
2379
- );
2380
- An(() => {
2381
- const k = pt(e, n, r, t);
2382
- c(k);
2383
- }, [e.timeZone]);
2384
- const { months: u, weeks: d, days: l, previousMonth: h, nextMonth: g } = ce(() => {
2385
- const k = ps(s, r, { numberOfMonths: e.numberOfMonths }, t), b = gs(k, e.endMonth ? i(e.endMonth) : void 0, {
2386
- ISOWeek: e.ISOWeek,
2387
- fixedWeeks: e.fixedWeeks,
2388
- broadcastCalendar: e.broadcastCalendar
2389
- }, t), m = ws(k, b, {
2390
- broadcastCalendar: e.broadcastCalendar,
2391
- fixedWeeks: e.fixedWeeks,
2392
- ISOWeek: e.ISOWeek,
2393
- reverseMonths: e.reverseMonths
2394
- }, t), W = vs(m), E = bs(m), I = Ds(s, n, e, t), F = ks(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 = (k) => d.some((b) => b.days.some((m) => m.isEqualTo(k))), Y = (k) => {
2416
- if (O)
2417
- return;
2418
- let b = o(k);
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: Y,
2430
- goToDay: (k) => {
2431
- v(k) || Y(k.date);
2432
- }
2433
- };
2434
- }
2435
- var K;
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
- })(K || (K = {}));
2439
- function wt(e) {
2440
- return !e[_.disabled] && !e[_.hidden] && !e[_.outside];
2441
- }
2442
- function Ws(e, t, n, r) {
2443
- let o, i = -1;
2444
- for (const a of e) {
2445
- const s = t(a);
2446
- wt(s) && (s[_.focused] && i < K.FocusedModifier ? (o = a, i = K.FocusedModifier) : r?.isEqualTo(a) && i < K.LastFocused ? (o = a, i = K.LastFocused) : n(a.date) && i < K.Selected ? (o = a, i = K.Selected) : s[_.today] && i < K.Today && (o = a, i = K.Today));
2447
- }
2448
- return o || (o = e.find((a) => wt(t(a)))), o;
2449
- }
2450
- function Ss(e, t, n, r, o, i, a) {
2451
- const { ISOWeek: s, broadcastCalendar: c } = i, { addDays: u, addMonths: d, addWeeks: l, addYears: h, endOfBroadcastWeek: g, endOfISOWeek: O, endOfWeek: C, max: v, min: Y, startOfBroadcastWeek: M, startOfISOWeek: p, startOfWeek: k } = a;
2452
- let m = {
2453
- day: u,
2454
- week: l,
2455
- month: d,
2456
- year: h,
2457
- startOfWeek: (W) => c ? M(W, a) : s ? p(W) : k(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 = Y([o, m])), m;
2461
- }
2462
- function nn(e, t, n, r, o, i, a, s = 0) {
2463
- if (s > 365)
2464
- return;
2465
- const c = Ss(e, t, n.date, r, o, i, a), u = !!(i.disabled && re(c, i.disabled, a)), d = !!(i.hidden && re(c, i.hidden, a)), l = c, h = new Ht(c, l, a);
2466
- return !u && !d ? h : nn(e, t, h, r, o, i, a, s + 1);
2467
- }
2468
- function Cs(e, t, n, r, o) {
2469
- const { autoFocus: i } = e, [a, s] = Ve(), c = Ws(t.days, n, r || (() => !1), a), [u, d] = Ve(i ? 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 Y = nn(C, v, u, t.navStart, t.navEnd, e, o);
2481
- Y && (e.disableNavigation && !t.days.some((p) => p.isEqualTo(Y)) || (t.goToDay(Y), d(Y)));
2482
- }
2483
- };
2484
- }
2485
- function Ns(e, t) {
2486
- const { selected: n, required: r, onSelect: o } = e, [i, a] = Te(n, o ? n : void 0), s = o ? n : i, { 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((Y) => !c(Y, g));
2495
- } else
2496
- s?.length === l ? v = [g] : v = [...v, g];
2497
- return o || a(v), o?.(v, g, O, C), v;
2498
- },
2499
- isSelected: u
2500
- };
2501
- }
2502
- function xs(e, t, n = 0, r = 0, o = !1, i = L) {
2503
- const { from: a, to: s } = t || {}, { isSameDay: c, isAfter: u, isBefore: d } = i;
2504
- let l;
2505
- if (!a && !s)
2506
- l = { from: e, to: n > 0 ? void 0 : e };
2507
- else if (a && !s)
2508
- c(a, e) ? n === 0 ? l = { from: a, to: e } : o ? l = { from: a, to: void 0 } : l = void 0 : d(e, a) ? l = { from: e, to: a } : l = { from: a, to: e };
2509
- else if (a && s)
2510
- if (c(a, e) && c(s, e))
2511
- o ? l = { from: a, to: s } : l = void 0;
2512
- else if (c(a, e))
2513
- l = { from: a, 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, a))
2517
- l = { from: e, to: s };
2518
- else if (u(e, a))
2519
- l = { from: a, to: e };
2520
- else if (u(e, s))
2521
- l = { from: a, to: e };
2522
- else
2523
- throw new Error("Invalid range");
2524
- if (l?.from && l?.to) {
2525
- const h = i.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 Ys(e, t, n = L) {
2531
- const r = Array.isArray(t) ? t : [t];
2532
- let o = e.from;
2533
- const i = n.differenceInCalendarDays(e.to, e.from), a = Math.min(i, 6);
2534
- for (let s = 0; s <= a; s++) {
2535
- if (r.includes(o.getDay()))
2536
- return !0;
2537
- o = n.addDays(o, 1);
2538
- }
2539
- return !1;
2540
- }
2541
- function Mt(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 Ts(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 ? Mt(e, { from: s.from, to: s.to }, n) : !1 : Rt(s) ? Ys(e, s.dayOfWeek, n) : Je(s) ? n.isAfter(s.before, s.after) ? Mt(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 a = r.filter((s) => typeof s == "function");
2552
- if (a.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 (a.some((d) => d(s)))
2557
- return !0;
2558
- s = n.addDays(s, 1);
2559
- }
2560
- }
2561
- return !1;
2562
- }
2563
- function Ps(e, t) {
2564
- const { disabled: n, excludeDisabled: r, resetOnSelect: o, selected: i, required: a, onSelect: s } = e, [c, u] = Te(i, s ? i : void 0), d = s ? i : c;
2565
- return {
2566
- selected: d,
2567
- select: (g, O, C) => {
2568
- const { min: v, max: Y } = e;
2569
- let M;
2570
- if (g) {
2571
- const p = d?.from, k = d?.to, b = !!p && !!k, m = !!p && !!k && t.isSameDay(p, k) && t.isSameDay(g, p);
2572
- o && (b || !d?.from) ? !a && m ? M = void 0 : M = { from: g, to: void 0 } : M = xs(g, d, v, Y, a, t);
2573
- }
2574
- return r && n && M?.from && M.to && Ts({ 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 Es(e, t) {
2580
- const { selected: n, required: r, onSelect: o } = e, [i, a] = Te(n, o ? n : void 0), s = o ? n : i, { 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 || a(O), o?.(O, l, h, g), O;
2586
- },
2587
- isSelected: (l) => s ? c(s, l) : !1
2588
- };
2589
- }
2590
- function _s(e, t) {
2591
- const n = Es(e, t), r = Ns(e, t), o = Ps(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 $(e, t) {
2604
- return e instanceof H && e.timeZone === t ? e : new H(e, t);
2605
- }
2606
- function de(e, t, n) {
2607
- return $(e, t);
2608
- }
2609
- function kt(e, t, n) {
2610
- return typeof e == "boolean" || typeof e == "function" ? e : e instanceof Date ? de(e, t) : Array.isArray(e) ? e.map((r) => r instanceof Date ? de(r, t) : r) : Ye(e) ? {
2611
- ...e,
2612
- from: e.from ? $(e.from, t) : e.from,
2613
- to: e.to ? $(e.to, t) : e.to
2614
- } : Je(e) ? {
2615
- before: de(e.before, t),
2616
- after: de(e.after, t)
2617
- } : Le(e) ? {
2618
- after: de(e.after, t)
2619
- } : et(e) ? {
2620
- before: de(e.before, t)
2621
- } : e;
2622
- }
2623
- function Qe(e, t, n) {
2624
- return e && (Array.isArray(e) ? e.map((r) => kt(r, t)) : kt(e, t));
2625
- }
2626
- function Fs(e) {
2627
- let t = e;
2628
- const n = t.timeZone;
2629
- if (n && (t = {
2630
- ...e,
2631
- timeZone: n
2632
- }, t.today && (t.today = $(t.today, n)), t.month && (t.month = $(t.month, n)), t.defaultMonth && (t.defaultMonth = $(t.defaultMonth, n)), t.startMonth && (t.startMonth = $(t.startMonth, n)), t.endMonth && (t.endMonth = $(t.endMonth, n)), t.mode === "single" && t.selected ? t.selected = $(t.selected, n) : t.mode === "multiple" && t.selected ? t.selected = t.selected?.map((D) => $(D, n)) : t.mode === "range" && t.selected && (t.selected = {
2633
- from: t.selected.from ? $(t.selected.from, n) : t.selected.from,
2634
- to: t.selected.to ? $(t.selected.to, n) : t.selected.to
2635
- }), t.disabled !== void 0 && (t.disabled = Qe(t.disabled, n)), t.hidden !== void 0 && (t.hidden = Qe(t.hidden, n)), t.modifiers)) {
2636
- const D = {};
2637
- Object.keys(t.modifiers).forEach((x) => {
2638
- D[x] = Qe(t.modifiers?.[x], n);
2639
- }), t.modifiers = D;
2640
- }
2641
- const { components: r, formatters: o, labels: i, dateLib: a, locale: s, classNames: c } = ce(() => {
2642
- const D = { ...It, ...t.locale }, x = t.broadcastCalendar ? 1 : t.weekStartsOn, w = t.noonSafe && t.timeZone ? ds(t.timeZone, {
2643
- weekStartsOn: x,
2644
- locale: D
2645
- }) : void 0, N = t.dateLib && w ? { ...w, ...t.dateLib } : t.dateLib ?? w, A = new j({
2646
- locale: D,
2647
- weekStartsOn: x,
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: $o(t.components),
2657
- formatters: ts(t.formatters),
2658
- labels: as(t.labels, A.options),
2659
- locale: D,
2660
- classNames: { ...Qo(), ...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: a.today() });
2679
- const { captionLayout: u, mode: d, navLayout: l, numberOfMonths: h = 1, onDayBlur: g, onDayClick: O, onDayFocus: C, onDayKeyDown: v, onDayMouseEnter: Y, onDayMouseLeave: M, onNextClick: p, onPrevClick: k, showWeekNumber: b, styles: m } = t, { formatCaption: W, formatDay: E, formatMonthDropdown: I, formatWeekNumber: F, formatWeekNumberHeader: X, formatWeekdayName: oe, formatYearDropdown: ee } = o, G = Os(t, a), { days: ue, months: We, navStart: Pe, navEnd: Ee, previousMonth: z, nextMonth: Q, goToMonth: te } = G, _e = Go(ue, t, Pe, Ee, a), { isSelected: Fe, select: Be, selected: Se } = _s(t, a) ?? {}, { blur: rt, focused: ot, isFocusTarget: un, moveFocus: st, setFocused: Ce } = Cs(t, G, _e, Fe ?? (() => !1), a), { labelDayButton: ln, labelGridcell: dn, labelGrid: fn, labelMonthDropdown: hn, labelNav: at, labelPrevious: mn, labelNext: yn, labelWeekday: gn, labelWeekNumber: bn, labelWeekNumberHeader: pn, labelYearDropdown: wn } = i, Mn = ce(() => us(a, t.ISOWeek, t.broadcastCalendar, t.today), [a, t.ISOWeek, t.broadcastCalendar, t.today]), it = d !== void 0 || O !== void 0, Ie = R(() => {
2680
- z && (te(z), k?.(z));
2681
- }, [z, te, k]), He = R(() => {
2682
- Q && (te(Q), p?.(Q));
2683
- }, [te, Q, p]), kn = R((D, x) => (w) => {
2684
- w.preventDefault(), w.stopPropagation(), Ce(D), !x.disabled && (Be?.(D.date, x, w), O?.(D.date, x, w));
2685
- }, [Be, O, Ce]), Dn = R((D, x) => (w) => {
2686
- Ce(D), C?.(D.date, x, w);
2687
- }, [C, Ce]), vn = R((D, x) => (w) => {
2688
- rt(), g?.(D.date, x, w);
2689
- }, [rt, g]), On = R((D, x) => (w) => {
2690
- const N = {
2691
- ArrowLeft: [
2692
- w.shiftKey ? "month" : "day",
2693
- t.dir === "rtl" ? "after" : "before"
2694
- ],
2695
- ArrowRight: [
2696
- w.shiftKey ? "month" : "day",
2697
- t.dir === "rtl" ? "before" : "after"
2698
- ],
2699
- ArrowDown: [w.shiftKey ? "year" : "week", "after"],
2700
- ArrowUp: [w.shiftKey ? "year" : "week", "before"],
2701
- PageUp: [w.shiftKey ? "year" : "month", "before"],
2702
- PageDown: [w.shiftKey ? "year" : "month", "after"],
2703
- Home: ["startOfWeek", "before"],
2704
- End: ["endOfWeek", "after"]
2705
- };
2706
- if (N[w.key]) {
2707
- w.preventDefault(), w.stopPropagation();
2708
- const [A, S] = N[w.key];
2709
- st(A, S);
2710
- }
2711
- v?.(D.date, x, w);
2712
- }, [st, v, t.dir]), Wn = R((D, x) => (w) => {
2713
- Y?.(D.date, x, w);
2714
- }, [Y]), Sn = R((D, x) => (w) => {
2715
- M?.(D.date, x, w);
2716
- }, [M]), Cn = R((D) => (x) => {
2717
- const w = Number(x.target.value), N = a.setMonth(a.startOfMonth(D), w);
2718
- te(N);
2719
- }, [a, te]), Nn = R((D) => (x) => {
2720
- const w = Number(x.target.value), N = a.setYear(a.startOfMonth(D), w);
2721
- te(N);
2722
- }, [a, te]), { className: xn, style: Yn } = ce(() => ({
2723
- className: [c[y.Root], t.className].filter(Boolean).join(" "),
2724
- style: { ...m?.[y.Root], ...t.style }
2725
- }), [c, t.className, t.style, m]), Tn = zo(t), ct = xe(null);
2726
- ys(ct, !!t.animate, {
2727
- classNames: c,
2728
- months: We,
2729
- focused: ot,
2730
- dateLib: a
2731
- });
2732
- const Pn = {
2733
- dayPickerProps: t,
2734
- selected: Se,
2735
- select: Be,
2736
- isSelected: Fe,
2737
- months: We,
2738
- nextMonth: Q,
2739
- previousMonth: z,
2740
- goToMonth: te,
2741
- getModifiers: _e,
2742
- components: r,
2743
- classNames: c,
2744
- styles: m,
2745
- labels: i,
2746
- formatters: o
2747
- };
2748
- return f.createElement(
2749
- qt.Provider,
2750
- { value: Pn },
2751
- f.createElement(
2752
- r.Root,
2753
- { rootRef: t.animate ? ct : void 0, className: xn, style: Yn, 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"], ...Tn },
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: Ie, onNextClick: He, previousMonth: z, nextMonth: Q }),
2758
- We.map((D, x) => 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: x,
2766
- displayIndex: x,
2767
- calendarMonth: D
2768
- },
2769
- l === "around" && !t.hideNavigation && x === 0 && f.createElement(
2770
- r.PreviousMonthButton,
2771
- { type: "button", className: c[y.PreviousMonthButton], tabIndex: z ? void 0 : -1, "aria-disabled": z ? void 0 : !0, "aria-label": mn(z), onClick: Ie, "data-animated-button": t.animate ? "true" : void 0 },
2772
- f.createElement(r.Chevron, { disabled: z ? 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: D, displayIndex: x }, u?.startsWith("dropdown") ? f.createElement(
2775
- r.DropdownNav,
2776
- { className: c[y.Dropdowns], style: m?.[y.Dropdowns] },
2777
- (() => {
2778
- const w = u === "dropdown" || u === "dropdown-months" ? f.createElement(r.MonthsDropdown, { key: "month", className: c[y.MonthsDropdown], "aria-label": hn(), classNames: c, components: r, disabled: !!t.disableNavigation, onChange: Cn(D.date), options: is(D.date, Pe, Ee, o, a), style: m?.[y.Dropdown], value: a.getMonth(D.date) }) : f.createElement("span", { key: "month" }, I(D.date, a)), N = u === "dropdown" || u === "dropdown-years" ? f.createElement(r.YearsDropdown, { key: "year", className: c[y.YearsDropdown], "aria-label": wn(a.options), classNames: c, components: r, disabled: !!t.disableNavigation, onChange: Nn(D.date), options: ls(Pe, Ee, o, a, !!t.reverseYears), style: m?.[y.Dropdown], value: a.getYear(D.date) }) : f.createElement("span", { key: "year" }, ee(D.date, a));
2779
- return a.getMonthYearOrder() === "year-first" ? [N, w] : [w, 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(D.date, a.options, a))
2793
- ) : f.createElement(r.CaptionLabel, { className: c[y.CaptionLabel], role: "status", "aria-live": "polite" }, W(D.date, a.options, a))),
2794
- l === "around" && !t.hideNavigation && x === h - 1 && f.createElement(
2795
- r.NextMonthButton,
2796
- { type: "button", className: c[y.NextMonthButton], tabIndex: Q ? void 0 : -1, "aria-disabled": Q ? void 0 : !0, "aria-label": yn(Q), onClick: He, "data-animated-button": t.animate ? "true" : void 0 },
2797
- f.createElement(r.Chevron, { disabled: Q ? void 0 : !0, className: c[y.Chevron], orientation: t.dir === "rtl" ? "left" : "right" })
2798
- ),
2799
- x === 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: Ie, onNextClick: He, previousMonth: z, nextMonth: Q }),
2800
- f.createElement(
2801
- r.MonthGrid,
2802
- { role: "grid", "aria-multiselectable": d === "multiple" || d === "range", "aria-label": fn(D.date, a.options, a) || 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": pn(a.options), className: c[y.WeekNumberHeader], style: m?.[y.WeekNumberHeader], scope: "col" }, X()),
2807
- Mn.map((w) => f.createElement(r.Weekday, { "aria-label": gn(w, a.options, a), className: c[y.Weekday], key: String(w), style: m?.[y.Weekday], scope: "col" }, oe(w, a.options, a)))
2808
- ),
2809
- f.createElement(r.Weeks, { "data-animated-weeks": t.animate ? "true" : void 0, className: c[y.Weeks], style: m?.[y.Weeks] }, D.weeks.map((w) => f.createElement(
2810
- r.Week,
2811
- { className: c[y.Week], key: w.weekNumber, style: m?.[y.Week], week: w },
2812
- b && f.createElement(r.WeekNumber, { week: w, style: m?.[y.WeekNumber], "aria-label": bn(w.weekNumber, {
2813
- locale: s
2814
- }), className: c[y.WeekNumber], scope: "row", role: "rowheader" }, F(w.weekNumber, a)),
2815
- w.days.map((N) => {
2816
- const { date: A } = N, S = _e(N);
2817
- if (S[_.focused] = !S.hidden && !!ot?.isEqualTo(N), S[U.selected] = Fe?.(A) || S.selected, Ye(Se)) {
2818
- const { from: Ae, to: qe } = Se;
2819
- S[U.range_start] = !!(Ae && qe && a.isSameDay(A, Ae)), S[U.range_end] = !!(Ae && qe && a.isSameDay(A, qe)), S[U.range_middle] = ne(Se, A, !0, a);
2820
- }
2821
- const En = cs(S, m, t.modifiersStyles), _n = Ro(S, c, t.modifiersClassNames), Fn = !it && !S.hidden ? dn(A, S, a.options, a) : void 0;
2822
- return f.createElement(r.Day, { key: `${N.isoDate}_${N.displayMonthId}`, day: N, modifiers: S, className: _n.join(" "), style: En, role: "gridcell", "aria-selected": S.selected || void 0, "aria-label": Fn, "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: un(N) ? 0 : -1, "aria-label": ln(A, S, a.options, a), onClick: kn(N, S), onBlur: vn(N, S), onFocus: Dn(N, S), onKeyDown: On(N, S), onMouseEnter: Wn(N, S), onMouseLeave: Sn(N, S) }, E(A, a.options, a)) : !S.hidden && E(N.date, a.options, a));
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 Bs = me({
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
- }), rn = ({ modifiers: e, className: t, ...n }) => /* @__PURE__ */ Z(
2891
- At,
2892
- {
2893
- modifiers: e,
2894
- className: Bs({ ...e, className: t }),
2895
- ...n,
2896
- disabled: e.disabled
2897
- }
2898
- );
2899
- rn.displayName = "CalendarDayButton";
2900
- const on = ({ className: e, ...t }) => /* @__PURE__ */ Z(Dt, { ...t, variant: "ghost", className: e });
2901
- on.displayName = "CalendarNextMonthButton";
2902
- const sn = ({ className: e, ...t }) => /* @__PURE__ */ Z(Dt, { ...t, variant: "ghost", className: e });
2903
- sn.displayName = "CalendarPreviousMonthButton";
2904
- const Is = me({
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { useMemo as r } from "react";
3
+ import { T as n } from "../index-BVqs-uqP.js";
4
+ import { R as y, W as w, k as h, h as x, C as k, c as C, j as g, b as D, D as v } from "../CalendarPreviousMonthButton-CHMp8bkd.js";
5
+ const N = n({
2905
6
  base: [
2906
7
  "w-fit rounded-md border bg-background",
2907
8
  "border border-solid border-secondary-border bg-secondary-bg shadow-soft-sm"
2908
9
  ]
2909
- }), an = ({ className: e, ...t }) => /* @__PURE__ */ Z(jt, { ...t, className: Is({ className: e }) });
2910
- an.displayName = "CalendarRoot";
2911
- const Hs = me({
10
+ }), c = ({ className: o, ...t }) => /* @__PURE__ */ s(y, { ...t, className: N({ className: o }) });
11
+ c.displayName = "CalendarRoot";
12
+ const M = n({
2912
13
  base: [
2913
14
  "inline-flex items-center justify-center gap-2",
2914
15
  "transition-all",
@@ -2916,9 +17,9 @@ const Hs = me({
2916
17
  "w-9 shrink-0 rounded p-0",
2917
18
  "opacity-70"
2918
19
  ]
2919
- }), cn = ({ className: e, ...t }) => /* @__PURE__ */ Z(Gt, { className: Hs({ className: e }), ...t });
2920
- cn.displayName = "CalendarWeekDay";
2921
- const As = me({
20
+ }), i = ({ className: o, ...t }) => /* @__PURE__ */ s(w, { className: M({ className: o }), ...t });
21
+ i.displayName = "CalendarWeekDay";
22
+ const _ = n({
2922
23
  base: [
2923
24
  "bg-background p-3 [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent"
2924
25
  ],
@@ -2928,77 +29,62 @@ const As = me({
2928
29
  nav: "absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",
2929
30
  month_caption: "flex h-9 w-full items-center justify-center px-2 capitalize",
2930
31
  dropdowns: "flex h-9 w-full items-center justify-center gap-1.5 text-sm font-medium",
2931
- dropdown_root: [
2932
- "has-focus:border-ring has-focus:ring-ring/50 has-focus:ring-[3px]",
2933
- "shadow-xs relative rounded-md border border-input"
2934
- ],
2935
- dropdown: "absolute inset-0 bg-background opacity-0",
2936
32
  table: "w-full border-collapse",
2937
33
  weekdays: "flex",
2938
34
  week: "mt-1 flex",
2939
35
  hidden: "invisible",
2940
36
  day: "border-0 p-0"
2941
37
  }
2942
- }), qs = me({
2943
- base: "select-none font-medium",
2944
- variants: {
2945
- layout: {
2946
- label: "text-sm",
2947
- dropdown: "flex h-8 items-center gap-1 rounded-md pl-2 pr-1 text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground"
2948
- }
2949
- },
2950
- defaultVariants: {
2951
- layout: "label"
2952
- }
2953
- }), js = ({
2954
- className: e,
38
+ }), j = n({
39
+ base: "select-none text-sm font-medium"
40
+ }), B = ({
41
+ className: o,
2955
42
  classNames: t,
2956
- showOutsideDays: n = !0,
2957
- captionLayout: r = "dropdown",
2958
- components: o,
2959
- ...i
43
+ showOutsideDays: m = !0,
44
+ captionLayout: d = "dropdown",
45
+ components: l,
46
+ ...p
2960
47
  }) => {
2961
- const a = As(), s = ce(() => new Date(2100, 11, 31), []), c = ce(() => ({
2962
- months: a.months(),
2963
- month: a.month(),
2964
- nav: a.nav(),
2965
- month_caption: a.month_caption(),
2966
- dropdowns: a.dropdowns(),
2967
- dropdown_root: a.dropdown_root(),
2968
- dropdown: a.dropdown(),
2969
- caption_label: qs({
2970
- layout: r === "label" ? r : "dropdown"
2971
- }),
2972
- table: a.table(),
2973
- weekdays: a.weekdays(),
2974
- week: a.week(),
2975
- hidden: a.hidden(),
2976
- day: a.day(),
48
+ const e = _(), a = h(), u = r(() => new Date(2100, 11, 31), []), b = r(() => ({
49
+ months: e.months(),
50
+ month: e.month(),
51
+ nav: e.nav(),
52
+ month_caption: e.month_caption(),
53
+ dropdowns: e.dropdowns(),
54
+ dropdown_root: a.root(),
55
+ dropdown: a.select(),
56
+ caption_label: d === "label" ? j() : a.label(),
57
+ table: e.table(),
58
+ weekdays: e.weekdays(),
59
+ week: e.week(),
60
+ hidden: e.hidden(),
61
+ day: e.day(),
2977
62
  ...t
2978
- }), [t]), u = ce(() => ({
2979
- Root: an,
2980
- Chevron: vt,
2981
- DayButton: rn,
2982
- Weekday: cn,
2983
- PreviousMonthButton: sn,
2984
- NextMonthButton: on,
2985
- ...o
2986
- }), [o]);
2987
- return /* @__PURE__ */ Z(
2988
- Fs,
63
+ }), [t]), f = r(() => ({
64
+ Root: c,
65
+ Chevron: D,
66
+ DayButton: g,
67
+ Dropdown: C,
68
+ Weekday: i,
69
+ PreviousMonthButton: k,
70
+ NextMonthButton: x,
71
+ ...l
72
+ }), [l]);
73
+ return /* @__PURE__ */ s(
74
+ v,
2989
75
  {
2990
- endMonth: s,
2991
- showOutsideDays: n,
2992
- className: a.base({ className: e }),
2993
- captionLayout: r,
2994
- classNames: c,
2995
- components: u,
2996
- ...i
76
+ endMonth: u,
77
+ showOutsideDays: m,
78
+ className: e.base({ className: o }),
79
+ captionLayout: d,
80
+ classNames: b,
81
+ components: f,
82
+ ...p
2997
83
  }
2998
84
  );
2999
85
  };
3000
- js.displayName = "Calendar";
86
+ B.displayName = "Calendar";
3001
87
  export {
3002
- js as Calendar
88
+ B as Calendar
3003
89
  };
3004
90
  //# sourceMappingURL=calendar.js.map