dgz-ui-shared
Version:
Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library
3,887 lines • 136 kB
JavaScript
import { j as ce } from "./jsx-runtime-DS1N_tNq.js";
import Y, { forwardRef as Wn, useState as me, useCallback as ne, useMemo as We, useEffect as Je, useRef as Xe, createContext as Cn, useLayoutEffect as Yn, useContext as Tn } from "react";
import { a as Z } from "./index-BL59b1Bz-C9bJE_xn.js";
import { u as pe, g as mt } from "./button-CdZDBhmr-BT_j3ig5.js";
import { c as _n, m as be } from "./utils-B6fNqzRf-B1_jG1K7.js";
import { J as _t, o as Lt, c as Et, z as vt, n as Ln } from "./react-select-DVPHHTAP-D2u3DqGr.js";
import { k as En } from "./createLucideIcon-B950nf2d-9wLYOF5y.js";
import { g as Pn } from "./_commonjsHelpers-DaMA6jEr.js";
import { _ as jn, w as Fn, u as Hn } from "./popover-OZcfKDD9-C2PVWPLS.js";
import { u as In } from "./useTranslation-dH-uwymc.js";
import { c as zn } from "./createLucideIcon-B950nf2d.js";
/**
* @license lucide-react v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const Bn = [
["path", { d: "M8 2v4", key: "1cmpym" }],
["path", { d: "M16 2v4", key: "4m81vk" }],
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
["path", { d: "M3 10h18", key: "8toen8" }]
];
En("calendar", Bn);
const yt = {}, Ie = {};
function ze(e, n) {
try {
const t = (yt[e] || (yt[e] = new Intl.DateTimeFormat("en-GB", {
timeZone: e,
hour: "numeric",
timeZoneName: "longOffset"
}).format))(n).split("GMT")[1] || "";
return t in Ie ? Ie[t] : gt(t, t.split(":"));
} catch {
if (e in Ie) return Ie[e];
const t = e == null ? void 0 : e.match(An);
return t ? gt(e, t.slice(1)) : NaN;
}
}
const An = /([+-]\d\d):?(\d\d)?/;
function gt(e, n) {
const t = +n[0], r = +(n[1] || 0);
return Ie[e] = t > 0 ? t * 60 + r : t * 60 - r;
}
class we extends Date {
//#region static
constructor(...n) {
super(), n.length > 1 && typeof n[n.length - 1] == "string" && (this.timeZone = n.pop()), this.internal = /* @__PURE__ */ new Date(), isNaN(ze(this.timeZone, this)) ? this.setTime(NaN) : n.length ? typeof n[0] == "number" && (n.length === 1 || n.length === 2 && typeof n[1] != "number") ? this.setTime(n[0]) : typeof n[0] == "string" ? this.setTime(+new Date(n[0])) : n[0] instanceof Date ? this.setTime(+n[0]) : (this.setTime(+new Date(...n)), Pt(this), it(this)) : this.setTime(Date.now());
}
static tz(n, ...t) {
return t.length ? new we(...t, n) : new we(Date.now(), n);
}
//#endregion
//#region time zone
withTimeZone(n) {
return new we(+this, n);
}
getTimezoneOffset() {
return -ze(this.timeZone, this);
}
//#endregion
//#region time
setTime(n) {
return Date.prototype.setTime.apply(this, arguments), it(this), +this;
}
//#endregion
//#region date-fns integration
[Symbol.for("constructDateFrom")](n) {
return new we(+new Date(n), this.timeZone);
}
//#endregion
}
const pt = /^(get|set)(?!UTC)/;
Object.getOwnPropertyNames(Date.prototype).forEach((e) => {
if (!pt.test(e)) return;
const n = e.replace(pt, "$1UTC");
we.prototype[n] && (e.startsWith("get") ? we.prototype[e] = function() {
return this.internal[n]();
} : (we.prototype[e] = function() {
return Date.prototype[n].apply(this.internal, arguments), Zn(this), +this;
}, we.prototype[n] = function() {
return Date.prototype[n].apply(this, arguments), it(this), +this;
}));
});
function it(e) {
e.internal.setTime(+e), e.internal.setUTCMinutes(e.internal.getUTCMinutes() - e.getTimezoneOffset());
}
function Zn(e) {
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()), Pt(e);
}
function Pt(e) {
const n = ze(e.timeZone, e), t = /* @__PURE__ */ new Date(+e);
t.setUTCHours(t.getUTCHours() - 1);
const r = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset(), a = -(/* @__PURE__ */ new Date(+t)).getTimezoneOffset(), o = r - a, s = Date.prototype.getHours.apply(e) !== e.internal.getUTCHours();
o && s && e.internal.setUTCMinutes(e.internal.getUTCMinutes() + o);
const i = r - n;
i && Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + i);
const u = ze(e.timeZone, e), h = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset() - u, v = u !== n, l = h - i;
if (v && l) {
Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + l);
const M = ze(e.timeZone, e), O = u - M;
O && (e.internal.setUTCMinutes(e.internal.getUTCMinutes() + O), Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + O));
}
}
class ie extends we {
//#region static
static tz(n, ...t) {
return t.length ? new ie(...t, n) : new ie(Date.now(), n);
}
//#endregion
//#region representation
toISOString() {
const [n, t, r] = this.tzComponents(), a = `${n}${t}:${r}`;
return this.internal.toISOString().slice(0, -1) + a;
}
toString() {
return `${this.toDateString()} ${this.toTimeString()}`;
}
toDateString() {
const [n, t, r, a] = this.internal.toUTCString().split(" ");
return `${n == null ? void 0 : n.slice(0, -1)} ${r} ${t} ${a}`;
}
toTimeString() {
const n = this.internal.toUTCString().split(" ")[4], [t, r, a] = this.tzComponents();
return `${n} GMT${t}${r}${a} (${qn(this.timeZone, this)})`;
}
toLocaleString(n, t) {
return Date.prototype.toLocaleString.call(this, n, {
...t,
timeZone: (t == null ? void 0 : t.timeZone) || this.timeZone
});
}
toLocaleDateString(n, t) {
return Date.prototype.toLocaleDateString.call(this, n, {
...t,
timeZone: (t == null ? void 0 : t.timeZone) || this.timeZone
});
}
toLocaleTimeString(n, t) {
return Date.prototype.toLocaleTimeString.call(this, n, {
...t,
timeZone: (t == null ? void 0 : t.timeZone) || this.timeZone
});
}
//#endregion
//#region private
tzComponents() {
const n = this.getTimezoneOffset(), t = n > 0 ? "-" : "+", r = String(Math.floor(Math.abs(n) / 60)).padStart(2, "0"), a = String(Math.abs(n) % 60).padStart(2, "0");
return [t, r, a];
}
//#endregion
withTimeZone(n) {
return new ie(+this, n);
}
//#region date-fns integration
[Symbol.for("constructDateFrom")](n) {
return new ie(+new Date(n), this.timeZone);
}
//#endregion
}
function qn(e, n) {
return new Intl.DateTimeFormat("en-GB", {
timeZone: e,
timeZoneName: "long"
}).format(n).slice(12);
}
var _;
(function(e) {
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";
})(_ || (_ = {}));
var K;
(function(e) {
e.disabled = "disabled", e.hidden = "hidden", e.outside = "outside", e.focused = "focused", e.today = "today";
})(K || (K = {}));
var ve;
(function(e) {
e.range_end = "range_end", e.range_middle = "range_middle", e.range_start = "range_start", e.selected = "selected";
})(ve || (ve = {}));
var fe;
(function(e) {
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";
})(fe || (fe = {}));
const jt = 6048e5, Un = 864e5, bt = Symbol.for("constructDateFrom");
function re(e, n) {
return typeof e == "function" ? e(n) : e && typeof e == "object" && bt in e ? e[bt](n) : e instanceof Date ? new e.constructor(n) : new Date(n);
}
function X(e, n) {
return re(n || e, e);
}
function Ft(e, n, t) {
const r = X(e, void 0);
return isNaN(n) ? re(e, NaN) : (n && r.setDate(r.getDate() + n), r);
}
function Ht(e, n, t) {
const r = X(e, void 0);
if (isNaN(n)) return re(e, NaN);
if (!n)
return r;
const a = r.getDate(), o = re(e, r.getTime());
o.setMonth(r.getMonth() + n + 1, 0);
const s = o.getDate();
return a >= s ? o : (r.setFullYear(
o.getFullYear(),
o.getMonth(),
a
), r);
}
let Gn = {};
function Ze() {
return Gn;
}
function Te(e, n) {
var t, r, a, o;
const s = Ze(), i = (n == null ? void 0 : n.weekStartsOn) ?? ((r = (t = n == null ? void 0 : n.locale) == null ? void 0 : t.options) == null ? void 0 : r.weekStartsOn) ?? s.weekStartsOn ?? ((o = (a = s.locale) == null ? void 0 : a.options) == null ? void 0 : o.weekStartsOn) ?? 0, u = X(e, n == null ? void 0 : n.in), h = u.getDay(), v = (h < i ? 7 : 0) + h - i;
return u.setDate(u.getDate() - v), u.setHours(0, 0, 0, 0), u;
}
function Be(e, n) {
return Te(e, { ...n, weekStartsOn: 1 });
}
function It(e, n) {
const t = X(e, void 0), r = t.getFullYear(), a = re(t, 0);
a.setFullYear(r + 1, 0, 4), a.setHours(0, 0, 0, 0);
const o = Be(a), s = re(t, 0);
s.setFullYear(r, 0, 4), s.setHours(0, 0, 0, 0);
const i = Be(s);
return t.getTime() >= o.getTime() ? r + 1 : t.getTime() >= i.getTime() ? r : r - 1;
}
function wt(e) {
const n = X(e), t = new Date(
Date.UTC(
n.getFullYear(),
n.getMonth(),
n.getDate(),
n.getHours(),
n.getMinutes(),
n.getSeconds(),
n.getMilliseconds()
)
);
return t.setUTCFullYear(n.getFullYear()), +e - +t;
}
function _e(e, ...n) {
const t = re.bind(
null,
n.find((r) => typeof r == "object")
);
return n.map(t);
}
function Ae(e, n) {
const t = X(e, void 0);
return t.setHours(0, 0, 0, 0), t;
}
function zt(e, n, t) {
const [r, a] = _e(
void 0,
e,
n
), o = Ae(r), s = Ae(a), i = +o - wt(o), u = +s - wt(s);
return Math.round((i - u) / Un);
}
function Qn(e, n) {
const t = It(e), r = re(e, 0);
return r.setFullYear(t, 0, 4), r.setHours(0, 0, 0, 0), Be(r);
}
function Xn(e, n, t) {
return Ft(e, n * 7);
}
function Rn(e, n, t) {
return Ht(e, n * 12);
}
function Jn(e, n) {
let t, r;
return e.forEach((a) => {
!r && typeof a == "object" && (r = re.bind(null, a));
const o = X(a, r);
(!t || t < o || isNaN(+o)) && (t = o);
}), re(r, t || NaN);
}
function Kn(e, n) {
let t, r;
return e.forEach((a) => {
!r && typeof a == "object" && (r = re.bind(null, a));
const o = X(a, r);
(!t || t > o || isNaN(+o)) && (t = o);
}), re(r, t || NaN);
}
function Vn(e, n, t) {
const [r, a] = _e(
void 0,
e,
n
);
return +Ae(r) == +Ae(a);
}
function Bt(e) {
return e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]";
}
function er(e) {
return !(!Bt(e) && typeof e != "number" || isNaN(+X(e)));
}
function tr(e, n, t) {
const [r, a] = _e(
void 0,
e,
n
), o = r.getFullYear() - a.getFullYear(), s = r.getMonth() - a.getMonth();
return o * 12 + s;
}
function nr(e, n) {
const t = X(e, void 0), r = t.getMonth();
return t.setFullYear(t.getFullYear(), r + 1, 0), t.setHours(23, 59, 59, 999), t;
}
function rr(e, n) {
const [t, r] = _e(e, n.start, n.end);
return { start: t, end: r };
}
function ar(e, n) {
const { start: t, end: r } = rr(void 0, e);
let a = +t > +r;
const o = a ? +t : +r, s = a ? r : t;
s.setHours(0, 0, 0, 0), s.setDate(1);
let i = 1;
const u = [];
for (; +s <= o; )
u.push(re(t, s)), s.setMonth(s.getMonth() + i);
return a ? u.reverse() : u;
}
function or(e, n) {
const t = X(e, void 0);
return t.setDate(1), t.setHours(0, 0, 0, 0), t;
}
function sr(e, n) {
const t = X(e, void 0), r = t.getFullYear();
return t.setFullYear(r + 1, 0, 0), t.setHours(23, 59, 59, 999), t;
}
function At(e, n) {
const t = X(e, void 0);
return t.setFullYear(t.getFullYear(), 0, 1), t.setHours(0, 0, 0, 0), t;
}
function Zt(e, n) {
var t, r, a, o;
const s = Ze(), i = (n == null ? void 0 : n.weekStartsOn) ?? ((r = (t = n == null ? void 0 : n.locale) == null ? void 0 : t.options) == null ? void 0 : r.weekStartsOn) ?? s.weekStartsOn ?? ((o = (a = s.locale) == null ? void 0 : a.options) == null ? void 0 : o.weekStartsOn) ?? 0, u = X(e, n == null ? void 0 : n.in), h = u.getDay(), v = (h < i ? -7 : 0) + 6 - (h - i);
return u.setDate(u.getDate() + v), u.setHours(23, 59, 59, 999), u;
}
function ir(e, n) {
return Zt(e, { ...n, weekStartsOn: 1 });
}
const ur = {
lessThanXSeconds: {
one: "less than a second",
other: "less than {{count}} seconds"
},
xSeconds: {
one: "1 second",
other: "{{count}} seconds"
},
halfAMinute: "half a minute",
lessThanXMinutes: {
one: "less than a minute",
other: "less than {{count}} minutes"
},
xMinutes: {
one: "1 minute",
other: "{{count}} minutes"
},
aboutXHours: {
one: "about 1 hour",
other: "about {{count}} hours"
},
xHours: {
one: "1 hour",
other: "{{count}} hours"
},
xDays: {
one: "1 day",
other: "{{count}} days"
},
aboutXWeeks: {
one: "about 1 week",
other: "about {{count}} weeks"
},
xWeeks: {
one: "1 week",
other: "{{count}} weeks"
},
aboutXMonths: {
one: "about 1 month",
other: "about {{count}} months"
},
xMonths: {
one: "1 month",
other: "{{count}} months"
},
aboutXYears: {
one: "about 1 year",
other: "about {{count}} years"
},
xYears: {
one: "1 year",
other: "{{count}} years"
},
overXYears: {
one: "over 1 year",
other: "over {{count}} years"
},
almostXYears: {
one: "almost 1 year",
other: "almost {{count}} years"
}
}, lr = (e, n, t) => {
let r;
const a = ur[e];
return typeof a == "string" ? r = a : n === 1 ? r = a.one : r = a.other.replace("{{count}}", n.toString()), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "in " + r : r + " ago" : r;
};
function rt(e) {
return (n = {}) => {
const t = n.width ? String(n.width) : e.defaultWidth;
return e.formats[t] || e.formats[e.defaultWidth];
};
}
const dr = {
full: "EEEE, MMMM do, y",
long: "MMMM do, y",
medium: "MMM d, y",
short: "MM/dd/yyyy"
}, cr = {
full: "h:mm:ss a zzzz",
long: "h:mm:ss a z",
medium: "h:mm:ss a",
short: "h:mm a"
}, fr = {
full: "{{date}} 'at' {{time}}",
long: "{{date}} 'at' {{time}}",
medium: "{{date}}, {{time}}",
short: "{{date}}, {{time}}"
}, hr = {
date: rt({
formats: dr,
defaultWidth: "full"
}),
time: rt({
formats: cr,
defaultWidth: "full"
}),
dateTime: rt({
formats: fr,
defaultWidth: "full"
})
}, mr = {
lastWeek: "'last' eeee 'at' p",
yesterday: "'yesterday at' p",
today: "'today at' p",
tomorrow: "'tomorrow at' p",
nextWeek: "eeee 'at' p",
other: "P"
}, vr = (e, n, t, r) => mr[e];
function Fe(e) {
return (n, t) => {
const r = t != null && t.context ? String(t.context) : "standalone";
let a;
if (r === "formatting" && e.formattingValues) {
const s = e.defaultFormattingWidth || e.defaultWidth, i = t != null && t.width ? String(t.width) : s;
a = e.formattingValues[i] || e.formattingValues[s];
} else {
const s = e.defaultWidth, i = t != null && t.width ? String(t.width) : e.defaultWidth;
a = e.values[i] || e.values[s];
}
const o = e.argumentCallback ? e.argumentCallback(n) : n;
return a[o];
};
}
const yr = {
narrow: ["B", "A"],
abbreviated: ["BC", "AD"],
wide: ["Before Christ", "Anno Domini"]
}, gr = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
}, pr = {
narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
abbreviated: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
],
wide: [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
]
}, br = {
narrow: ["S", "M", "T", "W", "T", "F", "S"],
short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
wide: [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
]
}, wr = {
narrow: {
am: "a",
pm: "p",
midnight: "mi",
noon: "n",
morning: "morning",
afternoon: "afternoon",
evening: "evening",
night: "night"
},
abbreviated: {
am: "AM",
pm: "PM",
midnight: "midnight",
noon: "noon",
morning: "morning",
afternoon: "afternoon",
evening: "evening",
night: "night"
},
wide: {
am: "a.m.",
pm: "p.m.",
midnight: "midnight",
noon: "noon",
morning: "morning",
afternoon: "afternoon",
evening: "evening",
night: "night"
}
}, Mr = {
narrow: {
am: "a",
pm: "p",
midnight: "mi",
noon: "n",
morning: "in the morning",
afternoon: "in the afternoon",
evening: "in the evening",
night: "at night"
},
abbreviated: {
am: "AM",
pm: "PM",
midnight: "midnight",
noon: "noon",
morning: "in the morning",
afternoon: "in the afternoon",
evening: "in the evening",
night: "at night"
},
wide: {
am: "a.m.",
pm: "p.m.",
midnight: "midnight",
noon: "noon",
morning: "in the morning",
afternoon: "in the afternoon",
evening: "in the evening",
night: "at night"
}
}, Dr = (e, n) => {
const t = Number(e), r = t % 100;
if (r > 20 || r < 10)
switch (r % 10) {
case 1:
return t + "st";
case 2:
return t + "nd";
case 3:
return t + "rd";
}
return t + "th";
}, kr = {
ordinalNumber: Dr,
era: Fe({
values: yr,
defaultWidth: "wide"
}),
quarter: Fe({
values: gr,
defaultWidth: "wide",
argumentCallback: (e) => e - 1
}),
month: Fe({
values: pr,
defaultWidth: "wide"
}),
day: Fe({
values: br,
defaultWidth: "wide"
}),
dayPeriod: Fe({
values: wr,
defaultWidth: "wide",
formattingValues: Mr,
defaultFormattingWidth: "wide"
})
};
function He(e) {
return (n, t = {}) => {
const r = t.width, a = r && e.matchPatterns[r] || e.matchPatterns[e.defaultMatchWidth], o = n.match(a);
if (!o)
return null;
const s = o[0], i = r && e.parsePatterns[r] || e.parsePatterns[e.defaultParseWidth], u = Array.isArray(i) ? Or(i, (l) => l.test(s)) : (
// [TODO] -- I challenge you to fix the type
xr(i, (l) => l.test(s))
);
let h;
h = e.valueCallback ? e.valueCallback(u) : u, h = t.valueCallback ? (
// [TODO] -- I challenge you to fix the type
t.valueCallback(h)
) : h;
const v = n.slice(s.length);
return { value: h, rest: v };
};
}
function xr(e, n) {
for (const t in e)
if (Object.prototype.hasOwnProperty.call(e, t) && n(e[t]))
return t;
}
function Or(e, n) {
for (let t = 0; t < e.length; t++)
if (n(e[t]))
return t;
}
function Sr(e) {
return (n, t = {}) => {
const r = n.match(e.matchPattern);
if (!r) return null;
const a = r[0], o = n.match(e.parsePattern);
if (!o) return null;
let s = e.valueCallback ? e.valueCallback(o[0]) : o[0];
s = t.valueCallback ? t.valueCallback(s) : s;
const i = n.slice(a.length);
return { value: s, rest: i };
};
}
const $r = /^(\d+)(th|st|nd|rd)?/i, Nr = /\d+/i, Wr = {
narrow: /^(b|a)/i,
abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
wide: /^(before christ|before common era|anno domini|common era)/i
}, Cr = {
any: [/^b/i, /^(a|c)/i]
}, Yr = {
narrow: /^[1234]/i,
abbreviated: /^q[1234]/i,
wide: /^[1234](th|st|nd|rd)? quarter/i
}, Tr = {
any: [/1/i, /2/i, /3/i, /4/i]
}, _r = {
narrow: /^[jfmasond]/i,
abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
}, Lr = {
narrow: [
/^j/i,
/^f/i,
/^m/i,
/^a/i,
/^m/i,
/^j/i,
/^j/i,
/^a/i,
/^s/i,
/^o/i,
/^n/i,
/^d/i
],
any: [
/^ja/i,
/^f/i,
/^mar/i,
/^ap/i,
/^may/i,
/^jun/i,
/^jul/i,
/^au/i,
/^s/i,
/^o/i,
/^n/i,
/^d/i
]
}, Er = {
narrow: /^[smtwf]/i,
short: /^(su|mo|tu|we|th|fr|sa)/i,
abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
}, Pr = {
narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
}, jr = {
narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
}, Fr = {
any: {
am: /^a/i,
pm: /^p/i,
midnight: /^mi/i,
noon: /^no/i,
morning: /morning/i,
afternoon: /afternoon/i,
evening: /evening/i,
night: /night/i
}
}, Hr = {
ordinalNumber: Sr({
matchPattern: $r,
parsePattern: Nr,
valueCallback: (e) => parseInt(e, 10)
}),
era: He({
matchPatterns: Wr,
defaultMatchWidth: "wide",
parsePatterns: Cr,
defaultParseWidth: "any"
}),
quarter: He({
matchPatterns: Yr,
defaultMatchWidth: "wide",
parsePatterns: Tr,
defaultParseWidth: "any",
valueCallback: (e) => e + 1
}),
month: He({
matchPatterns: _r,
defaultMatchWidth: "wide",
parsePatterns: Lr,
defaultParseWidth: "any"
}),
day: He({
matchPatterns: Er,
defaultMatchWidth: "wide",
parsePatterns: Pr,
defaultParseWidth: "any"
}),
dayPeriod: He({
matchPatterns: jr,
defaultMatchWidth: "any",
parsePatterns: Fr,
defaultParseWidth: "any"
})
}, dt = {
code: "en-US",
formatDistance: lr,
formatLong: hr,
formatRelative: vr,
localize: kr,
match: Hr,
options: {
weekStartsOn: 0,
firstWeekContainsDate: 1
}
};
function Ir(e, n) {
const t = X(e, void 0);
return zt(t, At(t)) + 1;
}
function qt(e, n) {
const t = X(e, void 0), r = +Be(t) - +Qn(t);
return Math.round(r / jt) + 1;
}
function Ut(e, n) {
var t, r, a, o;
const s = X(e, n == null ? void 0 : n.in), i = s.getFullYear(), u = Ze(), h = (n == null ? void 0 : n.firstWeekContainsDate) ?? ((r = (t = n == null ? void 0 : n.locale) == null ? void 0 : t.options) == null ? void 0 : r.firstWeekContainsDate) ?? u.firstWeekContainsDate ?? ((o = (a = u.locale) == null ? void 0 : a.options) == null ? void 0 : o.firstWeekContainsDate) ?? 1, v = re((n == null ? void 0 : n.in) || e, 0);
v.setFullYear(i + 1, 0, h), v.setHours(0, 0, 0, 0);
const l = Te(v, n), M = re((n == null ? void 0 : n.in) || e, 0);
M.setFullYear(i, 0, h), M.setHours(0, 0, 0, 0);
const O = Te(M, n);
return +s >= +l ? i + 1 : +s >= +O ? i : i - 1;
}
function zr(e, n) {
var t, r, a, o;
const s = Ze(), i = (n == null ? void 0 : n.firstWeekContainsDate) ?? ((r = (t = n == null ? void 0 : n.locale) == null ? void 0 : t.options) == null ? void 0 : r.firstWeekContainsDate) ?? s.firstWeekContainsDate ?? ((o = (a = s.locale) == null ? void 0 : a.options) == null ? void 0 : o.firstWeekContainsDate) ?? 1, u = Ut(e, n), h = re((n == null ? void 0 : n.in) || e, 0);
return h.setFullYear(u, 0, i), h.setHours(0, 0, 0, 0), Te(h, n);
}
function Gt(e, n) {
const t = X(e, n == null ? void 0 : n.in), r = +Te(t, n) - +zr(t, n);
return Math.round(r / jt) + 1;
}
function G(e, n) {
const t = e < 0 ? "-" : "", r = Math.abs(e).toString().padStart(n, "0");
return t + r;
}
const Se = {
// Year
y(e, n) {
const t = e.getFullYear(), r = t > 0 ? t : 1 - t;
return G(n === "yy" ? r % 100 : r, n.length);
},
// Month
M(e, n) {
const t = e.getMonth();
return n === "M" ? String(t + 1) : G(t + 1, 2);
},
// Day of the month
d(e, n) {
return G(e.getDate(), n.length);
},
// AM or PM
a(e, n) {
const t = e.getHours() / 12 >= 1 ? "pm" : "am";
switch (n) {
case "a":
case "aa":
return t.toUpperCase();
case "aaa":
return t;
case "aaaaa":
return t[0];
case "aaaa":
default:
return t === "am" ? "a.m." : "p.m.";
}
},
// Hour [1-12]
h(e, n) {
return G(e.getHours() % 12 || 12, n.length);
},
// Hour [0-23]
H(e, n) {
return G(e.getHours(), n.length);
},
// Minute
m(e, n) {
return G(e.getMinutes(), n.length);
},
// Second
s(e, n) {
return G(e.getSeconds(), n.length);
},
// Fraction of second
S(e, n) {
const t = n.length, r = e.getMilliseconds(), a = Math.trunc(
r * Math.pow(10, t - 3)
);
return G(a, n.length);
}
}, Ye = {
midnight: "midnight",
noon: "noon",
morning: "morning",
afternoon: "afternoon",
evening: "evening",
night: "night"
}, Mt = {
// Era
G: function(e, n, t) {
const r = e.getFullYear() > 0 ? 1 : 0;
switch (n) {
// AD, BC
case "G":
case "GG":
case "GGG":
return t.era(r, { width: "abbreviated" });
// A, B
case "GGGGG":
return t.era(r, { width: "narrow" });
// Anno Domini, Before Christ
case "GGGG":
default:
return t.era(r, { width: "wide" });
}
},
// Year
y: function(e, n, t) {
if (n === "yo") {
const r = e.getFullYear(), a = r > 0 ? r : 1 - r;
return t.ordinalNumber(a, { unit: "year" });
}
return Se.y(e, n);
},
// Local week-numbering year
Y: function(e, n, t, r) {
const a = Ut(e, r), o = a > 0 ? a : 1 - a;
if (n === "YY") {
const s = o % 100;
return G(s, 2);
}
return n === "Yo" ? t.ordinalNumber(o, { unit: "year" }) : G(o, n.length);
},
// ISO week-numbering year
R: function(e, n) {
const t = It(e);
return G(t, n.length);
},
// Extended year. This is a single number designating the year of this calendar system.
// The main difference between `y` and `u` localizers are B.C. years:
// | Year | `y` | `u` |
// |------|-----|-----|
// | AC 1 | 1 | 1 |
// | BC 1 | 1 | 0 |
// | BC 2 | 2 | -1 |
// Also `yy` always returns the last two digits of a year,
// while `uu` pads single digit years to 2 characters and returns other years unchanged.
u: function(e, n) {
const t = e.getFullYear();
return G(t, n.length);
},
// Quarter
Q: function(e, n, t) {
const r = Math.ceil((e.getMonth() + 1) / 3);
switch (n) {
// 1, 2, 3, 4
case "Q":
return String(r);
// 01, 02, 03, 04
case "QQ":
return G(r, 2);
// 1st, 2nd, 3rd, 4th
case "Qo":
return t.ordinalNumber(r, { unit: "quarter" });
// Q1, Q2, Q3, Q4
case "QQQ":
return t.quarter(r, {
width: "abbreviated",
context: "formatting"
});
// 1, 2, 3, 4 (narrow quarter; could be not numerical)
case "QQQQQ":
return t.quarter(r, {
width: "narrow",
context: "formatting"
});
// 1st quarter, 2nd quarter, ...
case "QQQQ":
default:
return t.quarter(r, {
width: "wide",
context: "formatting"
});
}
},
// Stand-alone quarter
q: function(e, n, t) {
const r = Math.ceil((e.getMonth() + 1) / 3);
switch (n) {
// 1, 2, 3, 4
case "q":
return String(r);
// 01, 02, 03, 04
case "qq":
return G(r, 2);
// 1st, 2nd, 3rd, 4th
case "qo":
return t.ordinalNumber(r, { unit: "quarter" });
// Q1, Q2, Q3, Q4
case "qqq":
return t.quarter(r, {
width: "abbreviated",
context: "standalone"
});
// 1, 2, 3, 4 (narrow quarter; could be not numerical)
case "qqqqq":
return t.quarter(r, {
width: "narrow",
context: "standalone"
});
// 1st quarter, 2nd quarter, ...
case "qqqq":
default:
return t.quarter(r, {
width: "wide",
context: "standalone"
});
}
},
// Month
M: function(e, n, t) {
const r = e.getMonth();
switch (n) {
case "M":
case "MM":
return Se.M(e, n);
// 1st, 2nd, ..., 12th
case "Mo":
return t.ordinalNumber(r + 1, { unit: "month" });
// Jan, Feb, ..., Dec
case "MMM":
return t.month(r, {
width: "abbreviated",
context: "formatting"
});
// J, F, ..., D
case "MMMMM":
return t.month(r, {
width: "narrow",
context: "formatting"
});
// January, February, ..., December
case "MMMM":
default:
return t.month(r, { width: "wide", context: "formatting" });
}
},
// Stand-alone month
L: function(e, n, t) {
const r = e.getMonth();
switch (n) {
// 1, 2, ..., 12
case "L":
return String(r + 1);
// 01, 02, ..., 12
case "LL":
return G(r + 1, 2);
// 1st, 2nd, ..., 12th
case "Lo":
return t.ordinalNumber(r + 1, { unit: "month" });
// Jan, Feb, ..., Dec
case "LLL":
return t.month(r, {
width: "abbreviated",
context: "standalone"
});
// J, F, ..., D
case "LLLLL":
return t.month(r, {
width: "narrow",
context: "standalone"
});
// January, February, ..., December
case "LLLL":
default:
return t.month(r, { width: "wide", context: "standalone" });
}
},
// Local week of year
w: function(e, n, t, r) {
const a = Gt(e, r);
return n === "wo" ? t.ordinalNumber(a, { unit: "week" }) : G(a, n.length);
},
// ISO week of year
I: function(e, n, t) {
const r = qt(e);
return n === "Io" ? t.ordinalNumber(r, { unit: "week" }) : G(r, n.length);
},
// Day of the month
d: function(e, n, t) {
return n === "do" ? t.ordinalNumber(e.getDate(), { unit: "date" }) : Se.d(e, n);
},
// Day of year
D: function(e, n, t) {
const r = Ir(e);
return n === "Do" ? t.ordinalNumber(r, { unit: "dayOfYear" }) : G(r, n.length);
},
// Day of week
E: function(e, n, t) {
const r = e.getDay();
switch (n) {
// Tue
case "E":
case "EE":
case "EEE":
return t.day(r, {
width: "abbreviated",
context: "formatting"
});
// T
case "EEEEE":
return t.day(r, {
width: "narrow",
context: "formatting"
});
// Tu
case "EEEEEE":
return t.day(r, {
width: "short",
context: "formatting"
});
// Tuesday
case "EEEE":
default:
return t.day(r, {
width: "wide",
context: "formatting"
});
}
},
// Local day of week
e: function(e, n, t, r) {
const a = e.getDay(), o = (a - r.weekStartsOn + 8) % 7 || 7;
switch (n) {
// Numerical value (Nth day of week with current locale or weekStartsOn)
case "e":
return String(o);
// Padded numerical value
case "ee":
return G(o, 2);
// 1st, 2nd, ..., 7th
case "eo":
return t.ordinalNumber(o, { unit: "day" });
case "eee":
return t.day(a, {
width: "abbreviated",
context: "formatting"
});
// T
case "eeeee":
return t.day(a, {
width: "narrow",
context: "formatting"
});
// Tu
case "eeeeee":
return t.day(a, {
width: "short",
context: "formatting"
});
// Tuesday
case "eeee":
default:
return t.day(a, {
width: "wide",
context: "formatting"
});
}
},
// Stand-alone local day of week
c: function(e, n, t, r) {
const a = e.getDay(), o = (a - r.weekStartsOn + 8) % 7 || 7;
switch (n) {
// Numerical value (same as in `e`)
case "c":
return String(o);
// Padded numerical value
case "cc":
return G(o, n.length);
// 1st, 2nd, ..., 7th
case "co":
return t.ordinalNumber(o, { unit: "day" });
case "ccc":
return t.day(a, {
width: "abbreviated",
context: "standalone"
});
// T
case "ccccc":
return t.day(a, {
width: "narrow",
context: "standalone"
});
// Tu
case "cccccc":
return t.day(a, {
width: "short",
context: "standalone"
});
// Tuesday
case "cccc":
default:
return t.day(a, {
width: "wide",
context: "standalone"
});
}
},
// ISO day of week
i: function(e, n, t) {
const r = e.getDay(), a = r === 0 ? 7 : r;
switch (n) {
// 2
case "i":
return String(a);
// 02
case "ii":
return G(a, n.length);
// 2nd
case "io":
return t.ordinalNumber(a, { unit: "day" });
// Tue
case "iii":
return t.day(r, {
width: "abbreviated",
context: "formatting"
});
// T
case "iiiii":
return t.day(r, {
width: "narrow",
context: "formatting"
});
// Tu
case "iiiiii":
return t.day(r, {
width: "short",
context: "formatting"
});
// Tuesday
case "iiii":
default:
return t.day(r, {
width: "wide",
context: "formatting"
});
}
},
// AM or PM
a: function(e, n, t) {
const r = e.getHours() / 12 >= 1 ? "pm" : "am";
switch (n) {
case "a":
case "aa":
return t.dayPeriod(r, {
width: "abbreviated",
context: "formatting"
});
case "aaa":
return t.dayPeriod(r, {
width: "abbreviated",
context: "formatting"
}).toLowerCase();
case "aaaaa":
return t.dayPeriod(r, {
width: "narrow",
context: "formatting"
});
case "aaaa":
default:
return t.dayPeriod(r, {
width: "wide",
context: "formatting"
});
}
},
// AM, PM, midnight, noon
b: function(e, n, t) {
const r = e.getHours();
let a;
switch (r === 12 ? a = Ye.noon : r === 0 ? a = Ye.midnight : a = r / 12 >= 1 ? "pm" : "am", n) {
case "b":
case "bb":
return t.dayPeriod(a, {
width: "abbreviated",
context: "formatting"
});
case "bbb":
return t.dayPeriod(a, {
width: "abbreviated",
context: "formatting"
}).toLowerCase();
case "bbbbb":
return t.dayPeriod(a, {
width: "narrow",
context: "formatting"
});
case "bbbb":
default:
return t.dayPeriod(a, {
width: "wide",
context: "formatting"
});
}
},
// in the morning, in the afternoon, in the evening, at night
B: function(e, n, t) {
const r = e.getHours();
let a;
switch (r >= 17 ? a = Ye.evening : r >= 12 ? a = Ye.afternoon : r >= 4 ? a = Ye.morning : a = Ye.night, n) {
case "B":
case "BB":
case "BBB":
return t.dayPeriod(a, {
width: "abbreviated",
context: "formatting"
});
case "BBBBB":
return t.dayPeriod(a, {
width: "narrow",
context: "formatting"
});
case "BBBB":
default:
return t.dayPeriod(a, {
width: "wide",
context: "formatting"
});
}
},
// Hour [1-12]
h: function(e, n, t) {
if (n === "ho") {
let r = e.getHours() % 12;
return r === 0 && (r = 12), t.ordinalNumber(r, { unit: "hour" });
}
return Se.h(e, n);
},
// Hour [0-23]
H: function(e, n, t) {
return n === "Ho" ? t.ordinalNumber(e.getHours(), { unit: "hour" }) : Se.H(e, n);
},
// Hour [0-11]
K: function(e, n, t) {
const r = e.getHours() % 12;
return n === "Ko" ? t.ordinalNumber(r, { unit: "hour" }) : G(r, n.length);
},
// Hour [1-24]
k: function(e, n, t) {
let r = e.getHours();
return r === 0 && (r = 24), n === "ko" ? t.ordinalNumber(r, { unit: "hour" }) : G(r, n.length);
},
// Minute
m: function(e, n, t) {
return n === "mo" ? t.ordinalNumber(e.getMinutes(), { unit: "minute" }) : Se.m(e, n);
},
// Second
s: function(e, n, t) {
return n === "so" ? t.ordinalNumber(e.getSeconds(), { unit: "second" }) : Se.s(e, n);
},
// Fraction of second
S: function(e, n) {
return Se.S(e, n);
},
// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
X: function(e, n, t) {
const r = e.getTimezoneOffset();
if (r === 0)
return "Z";
switch (n) {
// Hours and optional minutes
case "X":
return kt(r);
// Hours, minutes and optional seconds without `:` delimiter
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
// so this token always has the same output as `XX`
case "XXXX":
case "XX":
return Ne(r);
// Hours, minutes and optional seconds with `:` delimiter
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
// so this token always has the same output as `XXX`
case "XXXXX":
case "XXX":
// Hours and minutes with `:` delimiter
default:
return Ne(r, ":");
}
},
// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
x: function(e, n, t) {
const r = e.getTimezoneOffset();
switch (n) {
// Hours and optional minutes
case "x":
return kt(r);
// Hours, minutes and optional seconds without `:` delimiter
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
// so this token always has the same output as `xx`
case "xxxx":
case "xx":
return Ne(r);
// Hours, minutes and optional seconds with `:` delimiter
// Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets
// so this token always has the same output as `xxx`
case "xxxxx":
case "xxx":
// Hours and minutes with `:` delimiter
default:
return Ne(r, ":");
}
},
// Timezone (GMT)
O: function(e, n, t) {
const r = e.getTimezoneOffset();
switch (n) {
// Short
case "O":
case "OO":
case "OOO":
return "GMT" + Dt(r, ":");
// Long
case "OOOO":
default:
return "GMT" + Ne(r, ":");
}
},
// Timezone (specific non-location)
z: function(e, n, t) {
const r = e.getTimezoneOffset();
switch (n) {
// Short
case "z":
case "zz":
case "zzz":
return "GMT" + Dt(r, ":");
// Long
case "zzzz":
default:
return "GMT" + Ne(r, ":");
}
},
// Seconds timestamp
t: function(e, n, t) {
const r = Math.trunc(+e / 1e3);
return G(r, n.length);
},
// Milliseconds timestamp
T: function(e, n, t) {
return G(+e, n.length);
}
};
function Dt(e, n = "") {
const t = e > 0 ? "-" : "+", r = Math.abs(e), a = Math.trunc(r / 60), o = r % 60;
return o === 0 ? t + String(a) : t + String(a) + n + G(o, 2);
}
function kt(e, n) {
return e % 60 === 0 ? (e > 0 ? "-" : "+") + G(Math.abs(e) / 60, 2) : Ne(e, n);
}
function Ne(e, n = "") {
const t = e > 0 ? "-" : "+", r = Math.abs(e), a = G(Math.trunc(r / 60), 2), o = G(r % 60, 2);
return t + a + n + o;
}
const xt = (e, n) => {
switch (e) {
case "P":
return n.date({ width: "short" });
case "PP":
return n.date({ width: "medium" });
case "PPP":
return n.date({ width: "long" });
case "PPPP":
default:
return n.date({ width: "full" });
}
}, Qt = (e, n) => {
switch (e) {
case "p":
return n.time({ width: "short" });
case "pp":
return n.time({ width: "medium" });
case "ppp":
return n.time({ width: "long" });
case "pppp":
default:
return n.time({ width: "full" });
}
}, Br = (e, n) => {
const t = e.match(/(P+)(p+)?/) || [], r = t[1], a = t[2];
if (!a)
return xt(e, n);
let o;
switch (r) {
case "P":
o = n.dateTime({ width: "short" });
break;
case "PP":
o = n.dateTime({ width: "medium" });
break;
case "PPP":
o = n.dateTime({ width: "long" });
break;
case "PPPP":
default:
o = n.dateTime({ width: "full" });
break;
}
return o.replace("{{date}}", xt(r, n)).replace("{{time}}", Qt(a, n));
}, Ar = {
p: Qt,
P: Br
}, Zr = /^D+$/, qr = /^Y+$/, Ur = ["D", "DD", "YY", "YYYY"];
function Gr(e) {
return Zr.test(e);
}
function Qr(e) {
return qr.test(e);
}
function Xr(e, n, t) {
const r = Rr(e, n, t);
if (console.warn(r), Ur.includes(e)) throw new RangeError(r);
}
function Rr(e, n, t) {
const r = e[0] === "Y" ? "years" : "days of the month";
return `Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${n}\`) for formatting ${r} to the input \`${t}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
}
const Jr = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, Kr = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Vr = /^'([^]*?)'?$/, ea = /''/g, ta = /[a-zA-Z]/;
function na(e, n, t) {
var r, a, o, s, i, u, h, v;
const l = Ze(), M = (t == null ? void 0 : t.locale) ?? l.locale ?? dt, O = (t == null ? void 0 : t.firstWeekContainsDate) ?? ((a = (r = t == null ? void 0 : t.locale) == null ? void 0 : r.options) == null ? void 0 : a.firstWeekContainsDate) ?? l.firstWeekContainsDate ?? ((s = (o = l.locale) == null ? void 0 : o.options) == null ? void 0 : s.firstWeekContainsDate) ?? 1, W = (t == null ? void 0 : t.weekStartsOn) ?? ((u = (i = t == null ? void 0 : t.locale) == null ? void 0 : i.options) == null ? void 0 : u.weekStartsOn) ?? l.weekStartsOn ?? ((v = (h = l.locale) == null ? void 0 : h.options) == null ? void 0 : v.weekStartsOn) ?? 0, w = X(e, t == null ? void 0 : t.in);
if (!er(w))
throw new RangeError("Invalid time value");
let b = n.match(Kr).map(($) => {
const k = $[0];
if (k === "p" || k === "P") {
const L = Ar[k];
return L($, M.formatLong);
}
return $;
}).join("").match(Jr).map(($) => {
if ($ === "''")
return { isToken: !1, value: "'" };
const k = $[0];
if (k === "'")
return { isToken: !1, value: ra($) };
if (Mt[k])
return { isToken: !0, value: $ };
if (k.match(ta))
throw new RangeError(
"Format string contains an unescaped latin alphabet character `" + k + "`"
);
return { isToken: !1, value: $ };
});
M.localize.preprocessor && (b = M.localize.preprocessor(w, b));
const x = {
firstWeekContainsDate: O,
weekStartsOn: W,
locale: M
};
return b.map(($) => {
if (!$.isToken) return $.value;
const k = $.value;
(!(t != null && t.useAdditionalWeekYearTokens) && Qr(k) || !(t != null && t.useAdditionalDayOfYearTokens) && Gr(k)) && Xr(k, n, String(e));
const L = Mt[k[0]];
return L(w, k, M.localize, x);
}).join("");
}
function ra(e) {
const n = e.match(Vr);
return n ? n[1].replace(ea, "'") : e;
}
function aa(e, n) {
const t = X(e, void 0), r = t.getFullYear(), a = t.getMonth(), o = re(t, 0);
return o.setFullYear(r, a + 1, 0), o.setHours(0, 0, 0, 0), o.getDate();
}
function oa(e, n) {
return X(e, n == null ? void 0 : n.in).getMonth();
}
function sa(e, n) {
return X(e, n == null ? void 0 : n.in).getFullYear();
}
function ia(e, n) {
return +X(e) > +X(n);
}
function ua(e, n) {
return +X(e) < +X(n);
}
function la(e, n, t) {
const [r, a] = _e(
void 0,
e,
n
);
return r.getFullYear() === a.getFullYear() && r.getMonth() === a.getMonth();
}
function da(e, n, t) {
const [r, a] = _e(
void 0,
e,
n
);
return r.getFullYear() === a.getFullYear();
}
function ca(e, n, t) {
const r = X(e, void 0), a = r.getFullYear(), o = r.getDate(), s = re(e, 0);
s.setFullYear(a, n, 15), s.setHours(0, 0, 0, 0);
const i = aa(s);
return r.setMonth(n, Math.min(o, i)), r;
}
function fa(e, n, t) {
const r = X(e, void 0);
return isNaN(+r) ? re(e, NaN) : (r.setFullYear(n), r);
}
const Ot = 5, ha = 4;
function ma(e, n) {
const t = n.startOfMonth(e), r = t.getDay() > 0 ? t.getDay() : 7, a = n.addDays(e, -r + 1), o = n.addDays(a, Ot * 7 - 1);
return n.getMonth(e) === n.getMonth(o) ? Ot : ha;
}
function Xt(e, n) {
const t = n.startOfMonth(e), r = t.getDay();
return r === 1 ? t : r === 0 ? n.addDays(t, -6) : n.addDays(t, -1 * (r - 1));
}
function va(e, n) {
const t = Xt(e, n), r = ma(e, n);
return n.addDays(t, r * 7 - 1);
}
class xe {
/**
* Creates an instance of `DateLib`.
*
* @param options Configuration options for the date library.
* @param overrides Custom overrides for the date library functions.
*/
constructor(n, t) {
this.Date = Date, this.today = () => {
var r;
return (r = this.overrides) != null && r.today ? this.overrides.today() : this.options.timeZone ? ie.tz(this.options.timeZone) : new this.Date();
}, this.newDate = (r, a, o) => {
var s;
return (s = this.overrides) != null && s.newDate ? this.overrides.newDate(r, a, o) : this.options.timeZone ? new ie(r, a, o, this.options.timeZone) : new Date(r, a, o);
}, this.addDays = (r, a) => {
var o;
return (o = this.overrides) != null && o.addDays ? this.overrides.addDays(r, a) : Ft(r, a);
}, this.addMonths = (r, a) => {
var o;
return (o = this.overrides) != null && o.addMonths ? this.overrides.addMonths(r, a) : Ht(r, a);
}, this.addWeeks = (r, a) => {
var o;
return (o = this.overrides) != null && o.addWeeks ? this.overrides.addWeeks(r, a) : Xn(r, a);
}, this.addYears = (r, a) => {
var o;
return (o = this.overrides) != null && o.addYears ? this.overrides.addYears(r, a) : Rn(r, a);
}, this.differenceInCalendarDays = (r, a) => {
var o;
return (o = this.overrides) != null && o.differenceInCalendarDays ? this.overrides.differenceInCalendarDays(r, a) : zt(r, a);
}, this.differenceInCalendarMonths = (r, a) => {
var o;
return (o = this.overrides) != null && o.differenceInCalendarMonths ? this.overrides.differenceInCalendarMonths(r, a) : tr(r, a);
}, this.eachMonthOfInterval = (r) => {
var a;
return (a = this.overrides) != null && a.eachMonthOfInterval ? this.overrides.eachMonthOfInterval(r) : ar(r);
}, this.endOfBroadcastWeek = (r) => {
var a;
return (a = this.overrides) != null && a.endOfBroadcastWeek ? this.overrides.endOfBroadcastWeek(r) : va(r, this);
}, this.endOfISOWeek = (r) => {
var a;
return (a = this.overrides) != null && a.endOfISOWeek ? this.overrides.endOfISOWeek(r) : ir(r);
}, this.endOfMonth = (r) => {
var a;
return (a = this.overrides) != null && a.endOfMonth ? this.overrides.endOfMonth(r) : nr(r);
}, this.endOfWeek = (r, a) => {
var o;
return (o = this.overrides) != null && o.endOfWeek ? this.overrides.endOfWeek(r, a) : Zt(r, this.options);
}, this.endOfYear = (r) => {
var a;
return (a = this.overrides) != null && a.endOfYear ? this.overrides.endOfYear(r) : sr(r);
}, this.format = (r, a, o) => {
var s;
const i = (s = this.overrides) != null && s.format ? this.overrides.format(r, a, this.options) : na(r, a, this.options);
return this.options.numerals && this.options.numerals !== "latn" ? this.replaceDigits(i) : i;
}, this.getISOWeek = (r) => {
var a;
return (a = this.overrides) != null && a.getISOWeek ? this.overrides.getISOWeek(r) : qt(r);
}, this.getMonth = (r, a) => {
var o;
return (o = this.overrides) != null && o.getMonth ? this.overrides.getMonth(r, this.options) : oa(r, this.options);
}, this.getYear = (r, a) => {
var o;
return (o = this.overrides) != null && o.getYear ? this.overrides.getYear(r, this.options) : sa(r, this.options);
}, this.getWeek = (r, a) => {
var o;
return (o = this.overrides) != null && o.getWeek ? this.overrides.getWeek(r, this.options) : Gt(r, this.options);
}, this.isAfter = (r, a) => {
var o;
return (o = this.overrides) != null && o.isAfter ? this.overrides.isAfter(r, a) : ia(r, a);
}, this.isBefore = (r, a) => {
var o;
return (o = this.overrides) != null && o.isBefore ? this.overrides.isBefore(r, a) : ua(r, a);
}, this.isDate = (r) => {
var a;
return (a = this.overrides) != null && a.isDate ? this.overrides.isDate(r) : Bt(r);
}, this.isSameDay = (r, a) => {
var o;
return (o = this.overrides) != null && o.isSameDay ? this.overrides.isSameDay(r, a) : Vn(r, a);
}, this.isSameMonth = (r, a) => {
var o;
return (o = this.overrides) != null && o.isSameMonth ? this.overrides.isSameMonth(r, a) : la(r, a);
}, this.isSameYear = (r, a) => {
var o;
return (o = this.overrides) != null && o.isSameYear ? this.overrides.isSameYear(r, a) : da(r, a);
}, this.max = (r) => {
var a;
return (a = this.overrides) != null && a.max ? this.overrides.max(r) : Jn(r);
}, this.min = (r) => {
var a;
return (a = this.overrides) != null && a.min ? this.overrides.min(r) : Kn(r);
}, this.setMonth = (r, a) => {
var o;
return (o = this.overrides) != null && o.setMonth ? this.overrides.setMonth(r, a) : ca(r, a);
}, this.setYear = (r, a) => {
var o;
return (o = this.overrides) != null && o.setYear ? this.overrides.setYear(r, a) : fa(r, a);
}, this.startOfBroadcastWeek = (r, a) => {
var o;
return (o = this.overrides) != null && o.startOfBroadcastWeek ? this.overrides.startOfBroadcastWeek(r, this) : Xt(r, this);
}, this.startOfDay = (r) => {
var a;
return (a = this.overrides) != null && a.startOfDay ? this.overrides.startOfDay(r) : Ae(r);
}, this.startOfISOWeek = (r) => {
var a;
return (a = this.overrides) != null && a.startOfISOWeek ? this.overrides.startOfISOWeek(r) : Be(r);
}, this.startOfMonth = (r) => {
var a;
return (a = this.overrides) != null && a.startOfMonth ? this.overrides.startOfMonth(r) : or(r);
}, this.startOfWeek = (r, a) => {
var o;
return (o = this.overrides) != null && o.startOfWeek ? this.overrides.startOfWeek(r, this.options) : Te(r, this.options);
}, this.startOfYear = (r) => {
var a;
return (a = this.overrides) != null && a.startOfYear ? this.overrides.startOfYear(r) : At(r);
}, this.options = { locale: dt, ...n }, this.overrides = t;
}
/**
* Generates a mapping of Arabic digits (0-9) to the target numbering system
* digits.
*
* @since 9.5.0
* @returns A record mapping Arabic digits to the target numerals.
*/
getDigitMap() {
const { numerals: n = "latn" } = this.options, t = new Intl.NumberFormat("en-US", {
numberingSystem: n
}), r = {};
for (let a = 0; a < 10; a++)
r[a.toString()] = t.format(a);
return r;
}
/**
* Replaces Arabic digits in a string with the target numbering system digits.
*
* @since 9.5.0
* @param input The string containing Arabic digits.
* @returns The string with digits replaced.
*/
replaceDigits(n) {
const t = this.getDigitMap();
return n.replace(/\d/g, (r) => t[r] || r);
}
/**
* Formats a number using the configured numbering system.
*
* @since 9.5.0
* @param value The number to format.
* @returns The formatted number as a string.
*/
formatNumber(n) {
return this.replaceDigits(n.toString());
}
}
const Me = new xe();
class Rt {
constructor(n, t, r = Me) {
this.date = n, this.displayMonth = t, this.outside = !!(t && !r.isSameMonth(n, t)), this.dateLib = r;
}
/**
* Checks if this day is equal to another `CalendarDay`, considering both the
* date and the displayed month.
*
* @param day The `CalendarDay` to compare with.
* @returns `true` if the days are equal, otherwise `false`.
*/
isEqualTo(n) {
return this.dateLib.isSameDay(n.date, this.date) && this.dateLib.isSameMonth(n.displayMonth, this.displayMonth);
}
}
class ya {
constructor(n, t) {
this.date = n, this.weeks = t;
}
}
class ga {
constructor(n, t) {
this.days = t, this.weekNumber = n;
}
}
function De(e, n, t = !1, r = Me) {
let { from: a, to: o } = e;
const { differenceInCalendarDays: s, isSameDay: i } = r;
return a && o ? (s(o, a) < 0 && ([a, o] = [o, a]), s(n, a) >= (t ? 1 : 0) && s(o, n) >= (t ? 1 : 0)) : !t && o ? i(o, n) : !t && a ? i(a, n) : !1;
}
function Jt(e) {
return !!(e && typeof e == "object" && "before" in e && "after" in e);
}
function ct(e) {
return !!(e && typeof e == "object" && "from" in e);
}
function Kt(e) {
return !!(e && typeof e == "object" && "after" in e);
}
function Vt(e) {
return !!(e && typeof e == "object" && "before" in e);
}
function en(e) {
return !!(e && typeof e == "object" && "dayOfWeek" in e);
}
function tn(e, n) {
return Array.isArray(e) && e.every(n.isDate);
}
function ke(e, n, t = Me) {
const r = Array.isArray(n) ? n : [n], { isSameDay: a, differenceInCalendarDays: o, isAfter: s } = t;
return r.some((i) => {
if (typeof i == "boolean")
return i;
if (t.isDate(i))
return a(e, i);
if (tn(i, t))
return i.includes(e);
if (ct(i))
return De(i, e, !1, t);
if (en(i))
return Array.isArray(i.dayOfWeek) ? i.dayOfWeek.includes(e.getDay()) : i.dayOfWeek === e.getDay();
if (Jt(i)) {
const u = o(i.before, e), h = o(i.after, e), v = u > 0, l = h < 0;
return s(i.before, i.after) ? l && v : v || l;
}
return Kt(i) ? o(e, i.after) > 0 : Vt(i) ? o(i.before, e) > 0 : typeof i == "function" ? i(e) : !1;
});
}
function pa(e, n, t, r, a) {
const { disabled: o, hidden: s, modifiers: i, showOutsideDays: u, broadcastCalendar: h, today: v } = n, { isSameDay: l, isSameMonth: M, startOfMonth: O, isBefore: W, endOfMonth: w, isAfter: b } = a, x = t && O(t), $ = r && w(r), k = {
[K.focused]: [],
[K.outside]: [],
[K.disabled]: [],
[K.hidden]: [],
[K.today]: []
}, L = {};
for (const C of e) {
const { date: D, displayMonth: H } = C, P = !!(H && !M(D, H)), I = !!(x && W(D, x)), T = !!($ && b(D, $)), S = !!(o && ke(D, o, a)), Q = !!(s && ke(D, s, a)) || I || T || // Broadcast calendar will show outside days as default
!h && !u && P || h && u === !1 && P, V = l(D, v ?? a.today());
P && k.outside.push(C), S && k.disabled.push(C), Q && k.hidden.push(C), V && k.today.push(C), i && Object.keys(i).forEach((y) => {
const f = i == null ? void 0 : i[y];
f && ke(D, f, a) && (L[y] ? L[y].push(C) : L[y] = [C]);
});
}
return (C) => {
const D = {
[K.focused]: !1,
[K.disabled]: !1,
[K.hidden]: !1,
[K.outside]: !1,
[K.today]: !1
}, H = {};
for (const P in k) {
const I = k[P];
D[P] = I.some((T) => T === C);
}
for (const P in L)
H[P] = L[P].some((I) => I === C);
return {
...D,
// custom modifiers should override all the previous ones
...H
};
};
}
function ba(e, n, t = {}) {
return Object.entries(e).filter(([, r]) => r === !0).reduce((r, [a]) => (t[a] ? r.push(t[a]) : n[K[a]] ? r.push(n[K[a]]) : n[ve[a]] && r.push(n[ve[a]]), r), [n[_.Day]]);
}
function wa(e) {
return Y.createElement("button", { ...e });
}
function Ma(e) {
return Y.createElement("span", { ...e });
}
function Da(e) {
const { size: n = 24, orientation: t = "left", className: r } = e;
return Y.createElement(
"svg",
{ className: r, width: n, height: n, viewBox: "0 0 24 24" },
t === "up" && Y.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }),
t === "down" && Y.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }),
t === "left" && Y.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }),
t === "right" && Y.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" })
);
}
function ka(e) {
const { day: n, modifiers: t, ...r } = e;
return Y.createElement("td", { ...r });
}
function nn(e) {
const { day: n, modifiers: t, ...r } = e, a = Y.useRef(null);
return Y.useEffect(() => {
var o;
t.focused && ((o = a.current) == null || o.focus());
}, [t.focused]), Y.createElement("button", { ref: a, ...r });
}
function xa(e) {
const { options: n, className: t, components: r, classNames: a, ...o } = e, s = [a[_.Dropdown], t].join(" "), i = n == null ? void 0 : n.find(({ value: u }) => u === o.value);
return Y.createElement(
"span",
{ "data-disabled": o.disabled, className: a[_.DropdownRoot] },
Y.createElement(r.Select, { className: s, ...o }, n == null ? void 0 : n.map(({ value: u, label: h, disabled: v }) => Y.createElement(r.Option, { key: u, value: u, disabled: v }, h))),
Y.createElement(
"span",
{ className: a[_.CaptionLabel], "aria-hidden": !0 },
i == null ? void 0 : i.label,
Y.createElement(r.Chevron, { orientation: "down", size: 18, className: a[_.Chevron] })
)
);
}
function Oa(e) {
return Y.createElement("div", { ...e });
}
function Sa(e) {
return Y.createElement("div", { ...e });
}
function $a(e) {
const { calendarMonth: n, displayIndex: t, ...r } = e;
return Y.createElement("div", { ...r }, e.children);
}
function Na(e) {
const { calendarMonth: n, displayIndex: t, ...r } = e;
return Y.createElement("div", { ...r });
}
function Wa(e) {
return Y.createElement("table", { ...e });
}
function Ca(e) {
return Y.createElement("div", { ...e });
}
const rn = Cn(void 0);
function qe() {
const e = Tn(rn);
if (e === void 0)
throw new Error("useDayPicker() must be used within a custom component.");
return e;
}
function Ya(e) {
const { components: n } = qe();
return Y.createElement(n.Dropdown, { ...e });
}
function Ta(e) {
const { onPreviousClick: n, onNextClick: t, previousMonth: r, nextMonth: a, ...o } = e, { components: s, classNames: i, labels: { labelPrevious: u, labelNext: h } } = qe(), v = ne((M) => {
a && (t == null || t(M));
}, [a, t]), l = ne((M) => {
r && (n == null || n(M));
}, [r, n]);
return Y.createElement(
"nav",
{ ...o },
Y.createElement(
s.PreviousMonthButton,
{ type: "button", className: i[_.PreviousMonthButton], tabIndex: r ? void 0 : -1, "aria-disabled": r ? void 0 : !0, "aria-label": u(r), onClick: l },
Y.createElement(s.Chevron, { disabled: r ? void 0 : !0, className: i[_.Chevron], orientation: "left" })
),
Y.createElement(
s.NextMonthButton,
{ type: "button", className: i[_.NextMonthButton], tabIndex: a ? void 0 : -1, "aria-disabled": a ? void 0 : !0, "aria-label": h(a), onClick: v },
Y.createElement(s.Chevron, { disabled: a ? void 0 : !0, orientation: "right", className: i[_.Chevron] })
)
);
}
function _a(e) {
const { components: n } = qe();
return Y.createElement(n.Button, { ...e });
}
function La(e) {
return Y.createElement("option", { ...e });
}
function Ea(e) {
const { components: n } = qe();
return Y.createElement(n.Button, { ...e });
}
function Pa(e) {
const { rootRef: n, ...t } = e;
return Y.createElement("div", { ...t, ref: n });
}
function ja(e) {
return Y.createElement("select", { ...e });
}
function Fa(e) {
const { week: n, ...t } = e;
return Y.createElement("tr", { ...t });
}
function an(e) {
return Y.createElement("th", { ...e });
}
function Ha(e) {
return Y.createElement(
"thead",
{ "aria-hidden": !0 },
Y.createElement("tr", { ...e })
);
}
function Ia(e) {
const { week: n, ...t } = e;
return Y.createElement("th", { ...t });
}
function za(e) {
return Y.createElement("th", { ...e });
}
function Ba(e) {
return Y.createElement("tbody", { ...e });
}
function Aa(e) {
const { components: n } = qe();
return Y.createElement(n.Dropdown, { ...e });
}
const Za = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
Button: wa,
CaptionLabel: Ma,
Chevron: Da,
Day: ka,
DayButton: nn,
Dropdown: xa,
DropdownNav: Oa,
Footer: Sa,
Month: $a,
MonthCaption: Na,
MonthGrid: Wa,
Months: Ca,
MonthsDropdown: Ya,
Nav: Ta,
NextMonthButton: _a,
Option: La,
PreviousMonthButton: Ea,
Root: Pa,
Select: ja,
Week: Fa,
WeekNumber: Ia,
WeekNumberHeader: za,
Weekday: an,
Weekdays: Ha,
Weeks: Ba,
YearsDropdown: Aa
}, Symbol.toStringTag, { value: "Module" }));
function qa(e) {
return {
...Za,
...e
};
}
function Ua(e) {
const n = {
"data-mode": e.mode ?? void 0,
"data-required": "required" in e ? e.required : void 0,
"data-multiple-months": e.numberOfMonths && e.numberOfMonths > 1 || void 0,
"data-week-numbers": e.showWeekNumber || void 0,
"data-broadcast-calendar": e.broadcastCalendar || void 0,
"data-nav-layout": e.navLayout || void 0
};
return Object.entries(e).forEach(([t, r]) => {
t.startsWith("data-") && (n[t] = r);
}), n;
}
function Ga() {
const e = {};
for (const n in _)
e[_[n]] = `rdp-${_[n]}`;
for (const n in K)
e[K[n]] = `rdp-${K[n]}`;
for (const n in ve)
e[ve[n]] = `rdp-${ve[n]}`;
for (const n in fe)
e[fe[n]] = `rdp-${fe[n]}`;
return e;
}
function on(e, n, t) {
return (t ?? new xe(n)).format(e, "LLLL y");
}
const Qa = on;
function Xa(e, n, t) {
return (t ?? new xe(n)).format(e, "d");
}
function Ra(e, n = Me) {
return n.format(e, "LLLL");
}
function Ja(e, n = Me) {
return e < 10 ? n.formatNumber(`0${e.toLocaleString()}`) : n.formatNumber(`${e.toLocaleString()}`);
}
function Ka() {
return "";
}
function Va(e, n, t) {
return (t ?? new xe(n)).format(e, "cccccc");
}
function sn(e, n = Me) {
return n.format(e, "yyyy");
}
const eo = sn, to = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
formatCaption: on,
formatDay: Xa,
formatMonthCaption: Qa,
formatMonthDropdown: Ra,
formatWeekNumber: Ja,
formatWeekNumberHeader: Ka,
formatWeekdayName: Va,
formatYearCaption: eo,
formatYearDropdown: sn
}, Symbol.toStringTag, { value: "Module" }));
function no(e) {
return e != null && e.formatMonthCaption && !e.formatCaption && (e.formatCaption = e.formatMonthCaption), e != null && e.formatYearCaption && !e.formatYearDropdown && (e.formatYearDropdown = e.formatYearCaption), {
...to,
...e
};
}
function ro(e, n, t, r, a) {
const { startOfMonth: o, startOfYear: s, endOfYear: i, eachMonthOfInterval: u, getMonth: h } = a;
return u({
start: s(e),
end: i(e)
}).map((v) => {
const l = r.formatMonthDropdown(v, a), M = h(v), O = n && v < o(n) || t && v > o(t) || !1;
return { value: M, label: l, disabled: O };
});
}
function ao(e, n = {}, t = {}) {
let r = { ...n == null ? void 0 : n[_.Day] };
return Object.entries(e).filter(([, a]) => a === !0).forEach(([a]) => {
r = {
...r,
...t == null ? void 0 : t[a]
};
}), r;
}
function oo(e, n, t) {
const r = e.today(), a = n ? e.startOfISOWeek(r) : e.startOfWeek(r), o = [];
for (let s = 0; s < 7; s++) {
const i = e.addDays(a, s);
o.push(i);
}
return o;
}
function so(e, n, t, r) {
if (!e || !n)
return;
const { startOfYear: a, endOfYear: o, addYears: s, getYear: i, isBefore: u, isSameYear: h } = r, v = a(e), l = o(n), M = [];
let O = v;
for (; u(O, l) || h(O, l); )
M.push(O), O = s(O, 1);
return M.map((W) => {
const w = t.formatYearDropdown(W, r);
return {
value: i(W),
label: w,
disabled: !1
};
});
}
function un(e, n, t) {
return (t ?? new xe(n)).format(e, "LLLL y");
}
const io = un;
function uo(e, n, t, r) {
let a = (r ?? new xe(t)).format(e, "PPPP");
return n != null && n.today && (a = `Today, ${a}`), a;
}
function ln(e, n, t, r) {
let a = (r ?? new xe(t)).format(e, "PPPP");
return n.today && (a = `Today, ${a}`), n.selected && (a = `${a}, selected`), a;
}
const lo = ln;
function co() {
return "";
}
function fo(e) {
return "Choose the Month";
}
function ho(e) {
return "Go to the Next Month";
}
function mo(e) {
return "Go to the Previous Month";
}
function vo(e, n, t) {
return (t ?? new xe(n)).format(e, "cccc");
}
function yo(e, n) {
return `Week ${e}`;
}
function go(e) {
return "Week Number";
}
function po(e) {
return "Choose the Year";
}
const bo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
__proto__: null,
labelCaption: io,
labelDay: lo,
labelDayButton: ln,
labelGrid: un,
labelGridcell: uo,
labelMonthDropdown: fo,
labelNav: co,
labelNext: ho,
labelPrevious: mo,
labelWeekNumber: yo,
labelWeekNumberHeader: go,
labelWeekday: vo,
labelYearDropdown: po
}, Symbol.toStringTag, { value: "Module" })), Ue = (e) => e instanceof HTMLElement ? e : null, at = (e) => [
...e.querySelectorAll("[data-animated-month]") ?? []
], wo = (e) => Ue(e.querySelector("[data-animated-month]")), ot = (e) => Ue(e.querySelector("[data-animated-caption]")), st = (e) => Ue(e.querySelector("[data-animated-weeks]")), Mo = (e) => Ue(e.querySelector("[data-animated-nav]")), Do = (e) => Ue(e.querySelector("[data-animated-weekdays]"));
function ko(e, n, { classNames: t, months: r, focused: a, dateLib: o }) {
const s = Xe(null), i = Xe(r), u = Xe(!1);
Yn(() => {
const h = i.current;
if (i.current = r, !n || !e.current || // safety check because the ref can be set to anything by consumers
!(e.current instanceof HTMLElement) || // validation required for the animation to work as expected
r.length === 0 || h.length === 0 || r.length !== h.length)
return;
const v = o.isSameMonth(r[0].date, h[0].date), l = o.isAfter(r[0].date, h[0].date), M = l ? t[fe.caption_after_enter] : t[fe.caption_before_enter], O = l ? t[fe.weeks_after_enter] : t[fe.weeks_before_enter], W = s.current, w = e.current.cloneNode(!0);
if (w instanceof HTMLElement ? (at(w).forEach(($) => {
if (!($ instanceof HTMLElement))
return;
const k = wo($);
k && $.contains(k) && $.removeChild(k);
const L = ot($);
L && L.classList.remove(M);
const C = st($);
C && C.classList.remove(O);
}), s.current = w) : s.current = null, u.current || v || // skip animation if a day is focused because it can cause issues to the animation and is better for a11y
a)
return;
const b = W instanceof HTMLElement ? at(W) : [], x = at(e.current);
if (x && x.every(($) => $ instanceof HTMLElement) && b && b.every(($) => $ instanceof HTMLElement)) {
u.current = !0, e.current.style.isolation = "isolate";
const $ = Mo(e.current);
$ && ($.style.zIndex = "1"), x.forEach((k, L) => {
const C = b[L];
if (!C)
return;
k.style.position = "relative", k.style.overflow = "hidden";
const D = ot(k);
D && D.classList.add(M);
const H = st(k);
H && H.classList.add(O);
const P = () => {
u.current = !1, e.current && (e.current.style.isolation = ""), $ && ($.style.zIndex = ""), D && D.classList.remove(M), H && H.classList.remove(O), k.style.position = "", k.style.overflow = "", k.contains(C) && k.removeChild(C);
};
C.style.pointerEvents = "none", C.style.position = "absolute", C.style.overflow = "hidden", C.setAttribute("aria-hidden", "true");
const I = Do(C);
I && (I.style.opacity = "0");
const T = ot(C);
T && (T.classList.add(l ? t[fe.caption_before_exit] : t[fe.caption_after_exit]), T.addEventListener("animationend", P));
const S = st(C);
S && S.classList.add(l ? t[fe.weeks_before_exit] : t[fe.weeks_after_exit]), k.insertBefore(C, k.firstChild);
});
}
});
}
function xo(e, n, t, r) {
const a = e[0], o = e[e.length - 1], { ISOWeek: s, fixedWeeks: i, broadcastCalendar: u } = t ?? {}, { addDays: h, differenceInCalendarDays: v, differenceInCalendarMonths: l, endOfBroadcastWeek: M, endOfISOWeek: O, endOfMonth: W, endOfWeek: w, isAfter: b, startOfBroadcastWeek: x, startOfISOWeek: $, startOfWeek: k } = r, L = u ? x(a, r) : s ? $(a) : k(a), C = u ? M(o) : s ? O(W(o)) : w(W(o)), D = v(C, L), H = l(o, a) + 1, P = [];
for (let T = 0; T <= D; T++) {
const S = h(L, T);
if (n && b(S, n))
break;
P.push(S);
}
const I = (u ? 35 : 42) * H;
if (i && P.length < I) {
const T = I - P.length;
for (let S = 0; S < T; S++) {
const Q = h(P[P.length - 1], 1);
P.push(Q);
}
}
return P;
}
function Oo(e) {
const n = [];
return e.reduce((t, r) => {
const a = r.weeks.reduce((o, s) => [...o, ...s.days], n);
return [...t, ...a];
}, n);
}
function So(e, n, t, r) {
const { numberOfMonths: a = 1 } = t, o = [];
for (let s = 0; s < a; s++) {
const i = r.addMonths(e, s);
if (n && i > n)
break;
o.push(i);
}
return o;
}
function St(e, n, t, r) {
const { month: a, defaultMonth: o, today: s = r.today(), numberOfMonths: i = 1 } = e;
let u = a || o || s;
const { differenceInCalendarMonths: h, addMonths: v, startOfMonth: l } = r;
if (t && h(t, u) < i - 1) {
const M = -1 * (i - 1);
u = v(t, M);
}
return n && h(u, n) < 0 && (u = n), l(u);
}
function $o(e, n, t, r) {
const { addDays: a, endOfBroadcastWeek: o, endOfISOWeek: s, endOfMonth: i, endOfWeek: u, getISOWeek: h, getWeek: v, startOfBroadcastWeek: l, startOfISOWeek: M, startOfWeek: O } = r, W = e.reduce((w, b) => {
const x = t.broadcastCalendar ? l(b, r) : t.ISOWeek ? M(b) : O(b), $ = t.broadcastCalendar ? o(b) : t.ISOWeek ? s(i(b)) : u(i(b)), k = n.filter((H) => H >= x && H <= $), L = t.broadcastCalendar ? 35 : 42;
if (t.fixedWeeks && k.length < L) {
const H = n.filter((P) => {
const I = L - k.length;
return P > $ && P <= a($, I);
});
k.push(...H);
}
const C = k.reduce((H, P) => {
const I = t.ISOWeek ? h(P) : v(P), T = H.find((Q) => Q.weekNumber === I), S = new Rt(P, b, r);
return T ? T.days.push(S) : H.push(new ga(I, [S])), H;
}, []), D = new ya(b, C);
return w.push(D), w;
}, []);
return t.reverseMonths ? W.reverse() : W;
}
function No(e, n) {
let { startMonth: t, endMonth: r } = e;
const { startOfYear: a, startOfDay: o, startOfMonth: s, endOfMonth: i, addYears: u, endOfYear: h, newDate: v, today: l } = n, { fromYear: M, toYear: O, fromMonth: W, toMonth: w } = e;
!t && W && (t = W), !t && M && (t = n.newDate(M, 0, 1)), !r && w && (r = w), !r && O && (r = v(O, 11, 31));
const b = e.captionLayout === "dropdown" || e.captionLayout === "dropdown-years";
return t ? t = s(t) : M ? t = v(M, 0, 1) : !t && b && (t = a(u(e.today ?? l(), -100))), r ? r = i(r) : O ? r = v(O, 11, 31) : !r && b && (r = h(e.today ?? l())), [
t && o(t),
r && o(r)
];
}
function Wo(e, n, t, r) {
if (t.disableNavigation)
return;
const { pagedNavigation: a, numberOfMonths: o = 1 } = t, { startOfMonth: s, addMonths: i, differenceInCalendarMonths: u } = r, h = a ? o : 1, v = s(e);
if (!n || !(u(n, e) < o))
return i(v, h);
}
function Co(e, n, t, r) {
if (t.disableNavigation)
return;
const { pagedNavigation: a, numberOfMonths: o } = t, { startOfMonth: s, addMonths: i, differenceInCalendarMonths: u } = r, h = a ? o ?? 1 : 1, v = s(e);
if (!n || !(u(v, n) <= 0))
return i(v, -h);
}
function Yo(e) {
const n = [];
return e.reduce((t, r) => [...t, ...r.weeks], n);
}
function Ke(e, n) {
const [t, r] = me(e);
return [n === void 0 ? t : n, r];
}
function To(e, n) {
const [t, r] = No(e, n), { startOfMonth: a, endOfMonth: o } = n, s = St(e, t, r, n), [i, u] = Ke(
s,
// initialMonth is always computed from props.month if provided
e.month ? s : void 0
);
Je(() => {
const L = St(e, t, r, n);
u(L);
}, [e.timeZone]);
const h = So(i, r, e, n), v = xo(h, e.endMonth ? o(e.endMonth) : void 0, e, n), l = $o(h, v, e, n), M = Yo(l), O = Oo(l), W = Co(i, t, e, n), w = Wo(i, r, e, n), { disableNavigation: b, onMonthChange: x } = e, $ = (L) => M.some((C) => C.days.some((D) => D.isEqualTo(L))), k = (L) => {
if (b)
return;
let C = a(L);
t && C < a(t) && (C = a(t)), r && C > a(r) && (C = a(r)), u(C), x == null || x(C);
};
return {
months: l,
weeks: M,
days: O,
navStart: t,
navEnd: r,
previousMonth: W,
nextMonth: w,
goToMonth: k,
goToDay: (L) => {
$(L) || k(L.date);
}
};
}
var ge;
(function(e) {
e[e.Today = 0] = "Today", e[e.Selected = 1] = "Selected", e[e.LastFocused = 2] = "LastFocused", e[e.FocusedModifier = 3] = "FocusedModifier";
})(ge || (ge = {}));
function $t(e) {
return !e[K.disabled] && !e[K.hidden] && !e[K.outside];
}
function _o(e, n, t, r) {
let a, o = -1;
for (const s of e) {
const i = n(s);
$t(i) && (i[K.focused] && o < ge.FocusedModifier ? (a = s, o = ge.FocusedModifier) : r != null && r.isEqualTo(s) && o < ge.LastFocused ? (a = s, o = ge.LastFocused) : t(s.date) && o < ge.Selected ? (a = s, o = ge.Selected) : i[K.today] && o < ge.Today && (a = s, o = ge.Today));
}
return a || (a = e.find((s) => $t(n(s)))), a;
}
function Lo(e, n, t, r, a, o, s) {
const { ISOWeek: i, broadcastCalendar: u } = o, { addDays: h, addMonths: v, addWeeks: l, addYears: M, endOfBroadcastWeek: O, endOfISOWeek: W, endOfWeek: w, max: b, min: x, startOfBroadcastWeek: $, startOfISOWeek: k, startOfWeek: L } = s;
let C = {
day: h,
week: l,
month: v,
year: M,
startOfWeek: (D) => u ? $(D, s) : i ? k(D) : L(D),
endOfWeek: (D) => u ? O(D) : i ? W(D) : w(D)
}[e](t, n === "after" ? 1 : -1);
return n === "before" && r ? C = b([r, C]) : n === "after" && a && (C = x([a, C])), C;
}
function dn(e, n, t, r, a, o, s, i = 0) {
if (i > 365)
return;
const u = Lo(e, n, t.date, r, a, o, s), h = !!(o.disabled && ke(u, o.disabled, s)), v = !!(o.hidden && ke(u, o.hidden, s)), l = u, M = new Rt(u, l, s);
return !h && !v ? M : dn(e, n, M, r, a, o, s, i + 1);
}
function Eo(e, n, t, r, a) {
const { autoFocus: o } = e, [s, i] = me(), u = _o(n.days, t, r || (() => !1), s), [h, v] = me(o ? u : void 0);
return {
isFocusTarget: (l) => !!(u != null && u.isEqualTo(l)),
setFocused: v,
focused: h,
blur: () => {
i(h), v(void 0);
},
moveFocus: (l, M) => {
if (!h)
return;
const O = dn(l, M, h, n.navStart, n.navEnd, e, a);
O && (n.goToDay(O), v(O));
}
};
}
function Po(e, n) {
const { selected: t, required: r, onSelect: a } = e, [o, s] = Ke(t, a ? t : void 0), i = a ? t : o, { isSameDay: u } = n, h = (M) => (i == null ? void 0 : i.some((O) => u(O, M))) ?? !1, { min: v, max: l } = e;
return {
selected: i,
select: (M, O, W) => {
let w = [...i ?? []];
if (h(M)) {
if ((i == null ? void 0 : i.length) === v || r && (i == null ? void 0 : i.length) === 1)
return;
w = i == null ? void 0 : i.filter((b) => !u(b, M));
} else
(i == null ? void 0 : i.length) === l ? w = [M] : w = [...w, M];
return a || s(w), a == null || a(w, M, O, W), w;
},
isSelected: h
};
}
function jo(e, n, t = 0, r = 0, a = !1, o = Me) {
const { from: s, to: i } = n || {}, { isSameDay: u, isAfter: h, isBefore: v } = o;
let l;
if (!s && !i)
l = { from: e, to: t > 0 ? void 0 : e };
else if (s && !i)
u(s, e) ? a ? l = { from: s, to: void 0 } : l = void 0 : v(e, s) ? l = { from: e, to: s } : l = { from: s, to: e };
else if (s && i)
if (u(s, e) && u(i, e))
a ? l = { from: s, to: i } : l = void 0;
else if (u(s, e))
l = { from: s, to: t > 0 ? void 0 : e };
else if (u(i, e))
l = { from: e, to: t > 0 ? void 0 : e };
else if (v(e, s))
l = { from: e, to: i };
else if (h(e, s))
l = { from: s, to: e };
else if (h(e, i))
l = { from: s, to: e };
else
throw new Error("Invalid range");
if (l != null && l.from && l != null && l.to) {
const M = o.differenceInCalendarDays(l.to, l.from);
r > 0 && M > r ? l = { from: e, to: void 0 } : t > 1 && M < t && (l = { from: e, to: void 0 });
}
return l;
}
function Fo(e, n, t = Me) {
const r = Array.isArray(n) ? n : [n];
let a = e.from;
const o = t.differenceInCalendarDays(e.to, e.from), s = Math.min(o, 6);
for (let i = 0; i <= s; i++) {
if (r.includes(a.getDay()))
return !0;
a = t.addDays(a, 1);
}
return !1;
}
function Nt(e, n, t = Me) {
return De(e, n.from, !1, t) || De(e, n.to, !1, t) || De(n, e.from, !1, t) || De(n, e.to, !1, t);
}
function Ho(e, n, t = Me) {
const r = Array.isArray(n) ? n : [n];
if (r.filter((o) => typeof o != "function").some((o) => typeof o == "boolean" ? o : t.isDate(o) ? De(e, o, !1, t) : tn(o, t) ? o.some((s) => De(e, s, !1, t)) : ct(o) ? o.from && o.to ? Nt(e, { from: o.from, to: o.to }, t) : !1 : en(o) ? Fo(e, o.dayOfWeek, t) : Jt(o) ? t.isAfter(o.before, o.after) ? Nt(e, {
from: t.addDays(o.after, 1),
to: t.addDays(o.before, -1)
}, t) : ke(e.from, o, t) || ke(e.to, o, t) : Kt(o) || Vt(o) ? ke(e.from, o, t) || ke(e.to, o, t) : !1))
return !0;
const a = r.filter((o) => typeof o == "function");
if (a.length) {
let o = e.from;
const s = t.differenceInCalendarDays(e.to, e.from);
for (let i = 0; i <= s; i++) {
if (a.some((u) => u(o)))
return !0;
o = t.addDays(o, 1);
}
}
return !1;
}
function Io(e, n) {
const { disabled: t, excludeDisabled: r, selected: a, required: o, onSelect: s } = e, [i, u] = Ke(a, s ? a : void 0), h = s ? a : i;
return {
selected: h,
select: (v, l, M) => {
const { min: O, max: W } = e, w = v ? jo(v, h, O, W, o, n) : void 0;
return r && t && w != null && w.from && w.to && Ho({ from: w.from, to: w.to }, t, n) && (w.from = v, w.to = void 0), s || u(w), s == null || s(w, v, l, M), w;
},
isSelected: (v) => h && De(h, v, !1, n)
};
}
function zo(e, n) {
const { selected: t, required: r, onSelect: a } = e, [o, s] = Ke(t, a ? t : void 0), i = a ? t : o, { isSameDay: u } = n;
return {
selected: i,
select: (h, v, l) => {
let M = h;
return !r && i && i && u(h, i) && (M = void 0), a || s(M), a == null || a(M, h, v, l), M;
},
isSelected: (h) => i ? u(i, h) : !1
};
}
function Bo(e, n) {
const t = zo(e, n), r = Po(e, n), a = Io(e, n);
switch (e.mode) {
case "single":
return t;
case "multiple":
return r;
case "range":
return a;
default:
return;
}
}
function Ao(e) {
var n;
let t = e;
t.timeZone && (t = {
...e
}, t.today && (t.today = new ie(t.today, t.timeZone)), t.month && (t.month = new ie(t.month, t.timeZone)), t.defaultMonth && (t.defaultMonth = new ie(t.defaultMonth, t.timeZone)), t.startMonth && (t.startMonth = new ie(t.startMonth, t.timeZone)), t.endMonth && (t.endMonth = new ie(t.endMonth, t.timeZone)), t.mode === "single" && t.selected ? t.selected = new ie(t.selected, t.timeZone) : t.mode === "multiple" && t.selected ? t.selected = (n = t.selected) == null ? void 0 : n.map((B) => new ie(B, t.timeZone)) : t.mode === "range" && t.selected && (t.selected = {
from: t.selected.from ? new ie(t.selected.from, t.timeZone) : void 0,
to: t.selected.to ? new ie(t.selected.to, t.timeZone) : void 0
}));
const { components: r, formatters: a, labels: o, dateLib: s, locale: i, classNames: u } = We(() => {
const B = { ...dt, ...t.locale };
return {
dateLib: new xe({
locale: B,
weekStartsOn: t.broadcastCalendar ? 1 : t.weekStartsOn,
firstWeekContainsDate: t.firstWeekContainsDate,
useAdditionalWeekYearTokens: t.useAdditionalWeekYearTokens,
useAdditionalDayOfYearTokens: t.useAdditionalDayOfYearTokens,
timeZone: t.timeZone,
numerals: t.numerals
}, t.dateLib),
components: qa(t.components),
formatters: no(t.formatters),
labels: { ...bo, ...t.labels },
locale: B,
classNames: { ...Ga(), ...t.classNames }
};
}, [
t.locale,
t.broadcastCalendar,
t.weekStartsOn,
t.firstWeekContainsDate,
t.useAdditionalWeekYearTokens,
t.useAdditionalDayOfYearTokens,
t.timeZone,
t.numerals,
t.dateLib,
t.components,
t.formatters,
t.labels,
t.classNames
]), { captionLayout: h, mode: v, navLayout: l, numberOfMonths: M = 1, onDayBlur: O, onDayClick: W, onDayFocus: w, onDayKeyDown: b, onDayMouseEnter: x, onDayMouseLeave: $, onNextClick: k, onPrevClick: L, showWeekNumber: C, styles: D } = t, { formatCaption: H, formatDay: P, formatMonthDropdown: I, formatWeekNumber: T, formatWeekNumberHeader: S, formatWeekdayName: Q, formatYearDropdown: V } = a, y = To(t, s), { days: f, months: d, navStart: m, navEnd: c, previousMonth: g, nextMonth: p, goToMonth: N } = y, E = pa(f, t, m, c, s), { isSelected: j, select: F, selected: A } = Bo(t, s) ?? {}, { blur: ae, focused: ee, isFocusTarget: ue, moveFocus: te, setFocused: z } = Eo(t, y, E, j ?? (() => !1), s), { labelDayButton: R, labelGridcell: oe, labelGrid: le, labelMonthDropdown: Ce, labelNav: $e, labelPrevious: Le, labelNext: Ee, labelWeekday: Pe, labelWeekNumber: je, labelWeekNumberHeader: cn, labelYearDropdown: fn } = o, hn = We(() => oo(s, t.ISOWeek), [s, t.ISOWeek]), ft = v !== void 0 || W !== void 0, Ve = ne(() => {
g && (N(g), L == null || L(g));
}, [g, N, L]), et = ne(() => {
p && (N(p), k == null || k(p));
}, [N, p, k]), mn = ne((B, J) => (q) => {
q.preventDefault(), q.stopPropagation(), z(B), F == null || F(B.date, J, q), W == null || W(B.date, J, q);
}, [F, W, z]), vn = ne((B, J) => (q) => {
z(B), w == null || w(B.date, J, q);
}, [w, z]), yn = ne((B, J) => (q) => {
ae(), O == null || O(B.date, J, q);
}, [ae, O]), gn = ne((B, J) => (q) => {
const Oe = {
ArrowLeft: [
q.shiftKey ? "month" : "day",
t.dir === "rtl" ? "after" : "before"
],
ArrowRight: [
q.shiftKey ? "month" : "day",
t.dir === "rtl" ? "before" : "after"
],
ArrowDown: [q.shiftKey ? "year" : "week", "after"],
ArrowUp: [q.shiftKey ? "year" : "week", "before"],
PageUp: [q.shiftKey ? "year" : "month", "before"],
PageDown: [q.shiftKey ? "year" : "month", "after"],
Home: ["startOfWeek", "before"],
End: ["endOfWeek", "after"]
};
if (Oe[q.key]) {
q.preventDefault(), q.stopPropagation();
const [he, Ge] = Oe[q.key];
te(he, Ge);
}
b == null || b(B.date, J, q);
}, [te, b, t.dir]), pn = ne((B, J) => (q) => {
x == null || x(B.date, J, q);
}, [x]), bn = ne((B, J) => (q) => {
$ == null || $(B.date, J, q);
}, [$]), wn = ne((B) => (J) => {
const q = Number(J.target.value), Oe = s.setMonth(s.startOfMonth(B), q);
N(Oe);
}, [s, N]), Mn = ne((B) => (J) => {
const q = Number(J.target.value), Oe = s.setYear(s.startOfMonth(B), q);
N(Oe);
}, [s, N]), { className: Dn, style: kn } = We(() => ({
className: [u[_.Root], t.className].filter(Boolean).join(" "),
style: { ...D == null ? void 0 : D[_.Root], ...t.style }
}), [u, t.className, t.style, D]), xn = Ua(t), ht = Xe(null);
ko(ht, !!t.animate, {
classNames: u,
months: d,
focused: ee,
dateLib: s
});
const On = {
dayPickerProps: t,
selected: A,
select: F,
isSelected: j,
months: d,
nextMonth: p,
previousMonth: g,
goToMonth: N,
getModifiers: E,
components: r,
classNames: u,
styles: D,
labels: o,
formatters: a
};
return Y.createElement(
rn.Provider,
{ value: On },
Y.createElement(
r.Root,
{ rootRef: t.animate ? ht : void 0, className: Dn, style: kn, dir: t.dir, id: t.id, lang: t.lang, nonce: t.nonce, title: t.title, role: t.role, "aria-label": t["aria-label"], ...xn },
Y.createElement(
r.Months,
{ className: u[_.Months], style: D == null ? void 0 : D[_.Months] },
!t.hideNavigation && !l && Y.createElement(r.Nav, { "data-animated-nav": t.animate ? "true" : void 0, className: u[_.Nav], style: D == null ? void 0 : D[_.Nav], "aria-label": $e(), onPreviousClick: Ve, onNextClick: et, previousMonth: g, nextMonth: p }),
d.map((B, J) => {
const q = ro(B.date, m, c, a, s), Oe = so(m, c, a, s);
return Y.createElement(
r.Month,
{ "data-animated-month": t.animate ? "true" : void 0, className: u[_.Month], style: D == null ? void 0 : D[_.Month], key: J, displayIndex: J, calendarMonth: B },
l === "around" && !t.hideNavigation && J === 0 && Y.createElement(
r.PreviousMonthButton,
{ type: "button", className: u[_.PreviousMonthButton], tabIndex: g ? void 0 : -1, "aria-disabled": g ? void 0 : !0, "aria-label": Le(g), onClick: Ve, "data-animated-button": t.animate ? "true" : void 0 },
Y.createElement(r.Chevron, { disabled: g ? void 0 : !0, className: u[_.Chevron], orientation: t.dir === "rtl" ? "right" : "left" })
),
Y.createElement(r.MonthCaption, { "data-animated-caption": t.animate ? "true" : void 0, className: u[_.MonthCaption], style: D == null ? void 0 : D[_.MonthCaption], calendarMonth: B, displayIndex: J }, h != null && h.startsWith("dropdown") ? Y.createElement(
r.DropdownNav,
{ className: u[_.Dropdowns], style: D == null ? void 0 : D[_.Dropdowns] },
h === "dropdown" || h === "dropdown-months" ? Y.createElement(r.MonthsDropdown, { className: u[_.MonthsDropdown], "aria-label": Ce(), classNames: u, components: r, disabled: !!t.disableNavigation, onChange: wn(B.date), options: q, style: D == null ? void 0 : D[_.Dropdown], value: s.getMonth(B.date) }) : Y.createElement("span", null, I(B.date, s)),
h === "dropdown" || h === "dropdown-years" ? Y.createElement(r.YearsDropdown, { className: u[_.YearsDropdown], "aria-label": fn(s.options), classNames: u, components: r, disabled: !!t.disableNavigation, onChange: Mn(B.date), options: Oe, style: D == null ? void 0 : D[_.Dropdown], value: s.getYear(B.date) }) : Y.createElement("span", null, V(B.date, s)),
Y.createElement("span", { role: "status", "aria-live": "polite", style: {
border: 0,
clip: "rect(0 0 0 0)",
height: "1px",
margin: "-1px",
overflow: "hidden",
padding: 0,
position: "absolute",
width: "1px",
whiteSpace: "nowrap",
wordWrap: "normal"
} }, H(B.date, s.options, s))
) : Y.createElement(r.CaptionLabel, { className: u[_.CaptionLabel], role: "status", "aria-live": "polite" }, H(B.date, s.options, s))),
l === "around" && !t.hideNavigation && J === M - 1 && Y.createElement(
r.NextMonthButton,
{ type: "button", className: u[_.NextMonthButton], tabIndex: p ? void 0 : -1, "aria-disabled": p ? void 0 : !0, "aria-label": Ee(p), onClick: et, "data-animated-button": t.animate ? "true" : void 0 },
Y.createElement(r.Chevron, { disabled: p ? void 0 : !0, className: u[_.Chevron], orientation: t.dir === "rtl" ? "left" : "right" })
),
J === M - 1 && l === "after" && !t.hideNavigation && Y.createElement(r.Nav, { "data-animated-nav": t.animate ? "true" : void 0, className: u[_.Nav], style: D == null ? void 0 : D[_.Nav], "aria-label": $e(), onPreviousClick: Ve, onNextClick: et, previousMonth: g, nextMonth: p }),
Y.createElement(
r.MonthGrid,
{ role: "grid", "aria-multiselectable": v === "multiple" || v === "range", "aria-label": le(B.date, s.options, s) || void 0, className: u[_.MonthGrid], style: D == null ? void 0 : D[_.MonthGrid] },
!t.hideWeekdays && Y.createElement(
r.Weekdays,
{ "data-animated-weekdays": t.animate ? "true" : void 0, className: u[_.Weekdays], style: D == null ? void 0 : D[_.Weekdays] },
C && Y.createElement(r.WeekNumberHeader, { "aria-label": cn(s.options), className: u[_.WeekNumberHeader], style: D == null ? void 0 : D[_.WeekNumberHeader], scope: "col" }, S()),
hn.map((he, Ge) => Y.createElement(r.Weekday, { "aria-label": Pe(he, s.options, s), className: u[_.Weekday], key: Ge, style: D == null ? void 0 : D[_.Weekday], scope: "col" }, Q(he, s.options, s)))
),
Y.createElement(r.Weeks, { "data-animated-weeks": t.animate ? "true" : void 0, className: u[_.Weeks], style: D == null ? void 0 : D[_.Weeks] }, B.weeks.map((he, Ge) => Y.createElement(
r.Week,
{ className: u[_.Week], key: he.weekNumber, style: D == null ? void 0 : D[_.Week], week: he },
C && Y.createElement(r.WeekNumber, { week: he, style: D == null ? void 0 : D[_.WeekNumber], "aria-label": je(he.weekNumber, {
locale: i
}), className: u[_.WeekNumber], scope: "row", role: "rowheader" }, T(he.weekNumber, s)),
he.days.map((se) => {
const { date: ye } = se, U = E(se);
if (U[K.focused] = !U.hidden && !!(ee != null && ee.isEqualTo(se)), U[ve.selected] = (j == null ? void 0 : j(ye)) || U.selected, ct(A)) {
const { from: tt, to: nt } = A;
U[ve.range_start] = !!(tt && nt && s.isSameDay(ye, tt)), U[ve.range_end] = !!(tt && nt && s.isSameDay(ye, nt)), U[ve.range_middle] = De(A, ye, !0, s);
}
const Sn = ao(U, D, t.modifiersStyles), $n = ba(U, u, t.modifiersClassNames), Nn = !ft && !U.hidden ? oe(ye, U, s.options, s) : void 0;
return Y.createElement(r.Day, { key: `${s.format(ye, "yyyy-MM-dd")}_${s.format(se.displayMonth, "yyyy-MM")}`, day: se, modifiers: U, className: $n.join(" "), style: Sn, role: "gridcell", "aria-selected": U.selected || void 0, "aria-label": Nn, "data-day": s.format(ye, "yyyy-MM-dd"), "data-month": se.outside ? s.format(ye, "yyyy-MM") : void 0, "data-selected": U.selected || void 0, "data-disabled": U.disabled || void 0, "data-hidden": U.hidden || void 0, "data-outside": se.outside || void 0, "data-focused": U.focused || void 0, "data-today": U.today || void 0 }, !U.hidden && ft ? Y.createElement(r.DayButton, { className: u[_.DayButton], style: D == null ? void 0 : D[_.DayButton], type: "button", day: se, modifiers: U, disabled: U.disabled || void 0, tabIndex: ue(se) ? 0 : -1, "aria-label": R(ye, U, s.options, s), onClick: mn(se, U), onBlur: yn(se, U), onFocus: vn(se, U), onKeyDown: gn(se, U), onMouseEnter: pn(se, U), onMouseLeave: bn(se, U) }, P(ye, s.options, s)) : !U.hidden && P(se.date, s.options, s));
})
)))
)
);
})
),
t.footer && Y.createElement(r.Footer, { className: u[_.Footer], style: D == null ? void 0 : D[_.Footer], role: "status", "aria-live": "polite" }, t.footer)
)
);
}
var ut = { exports: {} }, Zo = ut.exports, Wt;
function qo() {
return Wt || (Wt = 1, function(e, n) {
(function(t, r) {
e.exports = r();
})(Zo, function() {
var t = 1e3, r = 6e4, a = 36e5, o = "millisecond", s = "second", i = "minute", u = "hour", h = "day", v = "week", l = "month", M = "quarter", O = "year", W = "date", w = "Invalid Date", b = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, x = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, $ = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(y) {
var f = ["th", "st", "nd", "rd"], d = y % 100;
return "[" + y + (f[(d - 20) % 10] || f[d] || f[0]) + "]";
} }, k = function(y, f, d) {
var m = String(y);
return !m || m.length >= f ? y : "" + Array(f + 1 - m.length).join(d) + y;
}, L = { s: k, z: function(y) {
var f = -y.utcOffset(), d = Math.abs(f), m = Math.floor(d / 60), c = d % 60;
return (f <= 0 ? "+" : "-") + k(m, 2, "0") + ":" + k(c, 2, "0");
}, m: function y(f, d) {
if (f.date() < d.date()) return -y(d, f);
var m = 12 * (d.year() - f.year()) + (d.month() - f.month()), c = f.clone().add(m, l), g = d - c < 0, p = f.clone().add(m + (g ? -1 : 1), l);
return +(-(m + (d - c) / (g ? c - p : p - c)) || 0);
}, a: function(y) {
return y < 0 ? Math.ceil(y) || 0 : Math.floor(y);
}, p: function(y) {
return { M: l, y: O, w: v, d: h, D: W, h: u, m: i, s, ms: o, Q: M }[y] || String(y || "").toLowerCase().replace(/s$/, "");
}, u: function(y) {
return y === void 0;
} }, C = "en", D = {};
D[C] = $;
var H = "$isDayjsObject", P = function(y) {
return y instanceof Q || !(!y || !y[H]);
}, I = function y(f, d, m) {
var c;
if (!f) return C;
if (typeof f == "string") {
var g = f.toLowerCase();
D[g] && (c = g), d && (D[g] = d, c = g);
var p = f.split("-");
if (!c && p.length > 1) return y(p[0]);
} else {
var N = f.name;
D[N] = f, c = N;
}
return !m && c && (C = c), c || !m && C;
}, T = function(y, f) {
if (P(y)) return y.clone();
var d = typeof f == "object" ? f : {};
return d.date = y, d.args = arguments, new Q(d);
}, S = L;
S.l = I, S.i = P, S.w = function(y, f) {
return T(y, { locale: f.$L, utc: f.$u, x: f.$x, $offset: f.$offset });
};
var Q = function() {
function y(d) {
this.$L = I(d.locale, null, !0), this.parse(d), this.$x = this.$x || d.x || {}, this[H] = !0;
}
var f = y.prototype;
return f.parse = function(d) {
this.$d = function(m) {
var c = m.date, g = m.utc;
if (c === null) return /* @__PURE__ */ new Date(NaN);
if (S.u(c)) return /* @__PURE__ */ new Date();
if (c instanceof Date) return new Date(c);
if (typeof c == "string" && !/Z$/i.test(c)) {
var p = c.match(b);
if (p) {
var N = p[2] - 1 || 0, E = (p[7] || "0").substring(0, 3);
return g ? new Date(Date.UTC(p[1], N, p[3] || 1, p[4] || 0, p[5] || 0, p[6] || 0, E)) : new Date(p[1], N, p[3] || 1, p[4] || 0, p[5] || 0, p[6] || 0, E);
}
}
return new Date(c);
}(d), this.init();
}, f.init = function() {
var d = this.$d;
this.$y = d.getFullYear(), this.$M = d.getMonth(), this.$D = d.getDate(), this.$W = d.getDay(), this.$H = d.getHours(), this.$m = d.getMinutes(), this.$s = d.getSeconds(), this.$ms = d.getMilliseconds();
}, f.$utils = function() {
return S;
}, f.isValid = function() {
return this.$d.toString() !== w;
}, f.isSame = function(d, m) {
var c = T(d);
return this.startOf(m) <= c && c <= this.endOf(m);
}, f.isAfter = function(d, m) {
return T(d) < this.startOf(m);
}, f.isBefore = function(d, m) {
return this.endOf(m) < T(d);
}, f.$g = function(d, m, c) {
return S.u(d) ? this[m] : this.set(c, d);
}, f.unix = function() {
return Math.floor(this.valueOf() / 1e3);
}, f.valueOf = function() {
return this.$d.getTime();
}, f.startOf = function(d, m) {
var c = this, g = !!S.u(m) || m, p = S.p(d), N = function(te, z) {
var R = S.w(c.$u ? Date.UTC(c.$y, z, te) : new Date(c.$y, z, te), c);
return g ? R : R.endOf(h);
}, E = function(te, z) {
return S.w(c.toDate()[te].apply(c.toDate("s"), (g ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(z)), c);
}, j = this.$W, F = this.$M, A = this.$D, ae = "set" + (this.$u ? "UTC" : "");
switch (p) {
case O:
return g ? N(1, 0) : N(31, 11);
case l:
return g ? N(1, F) : N(0, F + 1);
case v:
var ee = this.$locale().weekStart || 0, ue = (j < ee ? j + 7 : j) - ee;
return N(g ? A - ue : A + (6 - ue), F);
case h:
case W:
return E(ae + "Hours", 0);
case u:
return E(ae + "Minutes", 1);
case i:
return E(ae + "Seconds", 2);
case s:
return E(ae + "Milliseconds", 3);
default:
return this.clone();
}
}, f.endOf = function(d) {
return this.startOf(d, !1);
}, f.$set = function(d, m) {
var c, g = S.p(d), p = "set" + (this.$u ? "UTC" : ""), N = (c = {}, c[h] = p + "Date", c[W] = p + "Date", c[l] = p + "Month", c[O] = p + "FullYear", c[u] = p + "Hours", c[i] = p + "Minutes", c[s] = p + "Seconds", c[o] = p + "Milliseconds", c)[g], E = g === h ? this.$D + (m - this.$W) : m;
if (g === l || g === O) {
var j = this.clone().set(W, 1);
j.$d[N](E), j.init(), this.$d = j.set(W, Math.min(this.$D, j.daysInMonth())).$d;
} else N && this.$d[N](E);
return this.init(), this;
}, f.set = function(d, m) {
return this.clone().$set(d, m);
}, f.get = function(d) {
return this[S.p(d)]();
}, f.add = function(d, m) {
var c, g = this;
d = Number(d);
var p = S.p(m), N = function(F) {
var A = T(g);
return S.w(A.date(A.date() + Math.round(F * d)), g);
};
if (p === l) return this.set(l, this.$M + d);
if (p === O) return this.set(O, this.$y + d);
if (p === h) return N(1);
if (p === v) return N(7);
var E = (c = {}, c[i] = r, c[u] = a, c[s] = t, c)[p] || 1, j = this.$d.getTime() + d * E;
return S.w(j, this);
}, f.subtract = function(d, m) {
return this.add(-1 * d, m);
}, f.format = function(d) {
var m = this, c = this.$locale();
if (!this.isValid()) return c.invalidDate || w;
var g = d || "YYYY-MM-DDTHH:mm:ssZ", p = S.z(this), N = this.$H, E = this.$m, j = this.$M, F = c.weekdays, A = c.months, ae = c.meridiem, ee = function(z, R, oe, le) {
return z && (z[R] || z(m, g)) || oe[R].slice(0, le);
}, ue = function(z) {
return S.s(N % 12 || 12, z, "0");
}, te = ae || function(z, R, oe) {
var le = z < 12 ? "AM" : "PM";
return oe ? le.toLowerCase() : le;
};
return g.replace(x, function(z, R) {
return R || function(oe) {
switch (oe) {
case "YY":
return String(m.$y).slice(-2);
case "YYYY":
return S.s(m.$y, 4, "0");
case "M":
return j + 1;
case "MM":
return S.s(j + 1, 2, "0");
case "MMM":
return ee(c.monthsShort, j, A, 3);
case "MMMM":
return ee(A, j);
case "D":
return m.$D;
case "DD":
return S.s(m.$D, 2, "0");
case "d":
return String(m.$W);
case "dd":
return ee(c.weekdaysMin, m.$W, F, 2);
case "ddd":
return ee(c.weekdaysShort, m.$W, F, 3);
case "dddd":
return F[m.$W];
case "H":
return String(N);
case "HH":
return S.s(N, 2, "0");
case "h":
return ue(1);
case "hh":
return ue(2);
case "a":
return te(N, E, !0);
case "A":
return te(N, E, !1);
case "m":
return String(E);
case "mm":
return S.s(E, 2, "0");
case "s":
return String(m.$s);
case "ss":
return S.s(m.$s, 2, "0");
case "SSS":
return S.s(m.$ms, 3, "0");
case "Z":
return p;
}
return null;
}(z) || p.replace(":", "");
});
}, f.utcOffset = function() {
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
}, f.diff = function(d, m, c) {
var g, p = this, N = S.p(m), E = T(d), j = (E.utcOffset() - this.utcOffset()) * r, F = this - E, A = function() {
return S.m(p, E);
};
switch (N) {
case O:
g = A() / 12;
break;
case l:
g = A();
break;
case M:
g = A() / 3;
break;
case v:
g = (F - j) / 6048e5;
break;
case h:
g = (F - j) / 864e5;
break;
case u:
g = F / a;
break;
case i:
g = F / r;
break;
case s:
g = F / t;
break;
default:
g = F;
}
return c ? g : S.a(g);
}, f.daysInMonth = function() {
return this.endOf(l).$D;
}, f.$locale = function() {
return D[this.$L];
}, f.locale = function(d, m) {
if (!d) return this.$L;
var c = this.clone(), g = I(d, m, !0);
return g && (c.$L = g), c;
}, f.clone = function() {
return S.w(this.$d, this);
}, f.toDate = function() {
return new Date(this.valueOf());
}, f.toJSON = function() {
return this.isValid() ? this.toISOString() : null;
}, f.toISOString = function() {
return this.$d.toISOString();
}, f.toString = function() {
return this.$d.toUTCString();
}, y;
}(), V = Q.prototype;
return T.prototype = V, [["$ms", o], ["$s", s], ["$m", i], ["$H", u], ["$W", h], ["$M", l], ["$y", O], ["$D", W]].forEach(function(y) {
V[y[1]] = function(f) {
return this.$g(f, y[0], y[1]);
};
}), T.extend = function(y, f) {
return y.$i || (y(f, Q, T), y.$i = !0), T;
}, T.locale = I, T.isDayjs = P, T.unix = function(y) {
return T(1e3 * y);
}, T.en = D[C], T.Ls = D, T.p = {}, T;
});
}(ut)), ut.exports;
}
var Uo = qo();
const de = /* @__PURE__ */ _t(Uo);
var lt = { exports: {} }, Go = lt.exports, Ct;
function Qo() {
return Ct || (Ct = 1, function(e, n) {
(function(t, r) {
e.exports = r();
})(Go, function() {
var t = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, r = /(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, a = /\d/, o = /\d\d/, s = /\d\d?/, i = /\d*[^-_:/,()\s\d]+/, u = {}, h = function(b) {
return (b = +b) + (b > 68 ? 1900 : 2e3);
}, v = function(b) {
return function(x) {
this[b] = +x;
};
}, l = [/[+-]\d\d:?(\d\d)?|Z/, function(b) {
(this.zone || (this.zone = {})).offset = function(x) {
if (!x || x === "Z") return 0;
var $ = x.match(/([+-]|\d\d)/g), k = 60 * $[1] + (+$[2] || 0);
return k === 0 ? 0 : $[0] === "+" ? -k : k;
}(b);
}], M = function(b) {
var x = u[b];
return x && (x.indexOf ? x : x.s.concat(x.f));
}, O = function(b, x) {
var $, k = u.meridiem;
if (k) {
for (var L = 1; L <= 24; L += 1) if (b.indexOf(k(L, 0, x)) > -1) {
$ = L > 12;
break;
}
} else $ = b === (x ? "pm" : "PM");
return $;
}, W = { A: [i, function(b) {
this.afternoon = O(b, !1);
}], a: [i, function(b) {
this.afternoon = O(b, !0);
}], Q: [a, function(b) {
this.month = 3 * (b - 1) + 1;
}], S: [a, function(b) {
this.milliseconds = 100 * +b;
}], SS: [o, function(b) {
this.milliseconds = 10 * +b;
}], SSS: [/\d{3}/, function(b) {
this.milliseconds = +b;
}], s: [s, v("seconds")], ss: [s, v("seconds")], m: [s, v("minutes")], mm: [s, v("minutes")], H: [s, v("hours")], h: [s, v("hours")], HH: [s, v("hours")], hh: [s, v("hours")], D: [s, v("day")], DD: [o, v("day")], Do: [i, function(b) {
var x = u.ordinal, $ = b.match(/\d+/);
if (this.day = $[0], x) for (var k = 1; k <= 31; k += 1) x(k).replace(/\[|\]/g, "") === b && (this.day = k);
}], w: [s, v("week")], ww: [o, v("week")], M: [s, v("month")], MM: [o, v("month")], MMM: [i, function(b) {
var x = M("months"), $ = (M("monthsShort") || x.map(function(k) {
return k.slice(0, 3);
})).indexOf(b) + 1;
if ($ < 1) throw new Error();
this.month = $ % 12 || $;
}], MMMM: [i, function(b) {
var x = M("months").indexOf(b) + 1;
if (x < 1) throw new Error();
this.month = x % 12 || x;
}], Y: [/[+-]?\d+/, v("year")], YY: [o, function(b) {
this.year = h(b);
}], YYYY: [/\d{4}/, v("year")], Z: l, ZZ: l };
function w(b) {
var x, $;
x = b, $ = u && u.formats;
for (var k = (b = x.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function(T, S, Q) {
var V = Q && Q.toUpperCase();
return S || $[Q] || t[Q] || $[V].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(y, f, d) {
return f || d.slice(1);
});
})).match(r), L = k.length, C = 0; C < L; C += 1) {
var D = k[C], H = W[D], P = H && H[0], I = H && H[1];
k[C] = I ? { regex: P, parser: I } : D.replace(/^\[|\]$/g, "");
}
return function(T) {
for (var S = {}, Q = 0, V = 0; Q < L; Q += 1) {
var y = k[Q];
if (typeof y == "string") V += y.length;
else {
var f = y.regex, d = y.parser, m = T.slice(V), c = f.exec(m)[0];
d.call(S, c), T = T.replace(c, "");
}
}
return function(g) {
var p = g.afternoon;
if (p !== void 0) {
var N = g.hours;
p ? N < 12 && (g.hours += 12) : N === 12 && (g.hours = 0), delete g.afternoon;
}
}(S), S;
};
}
return function(b, x, $) {
$.p.customParseFormat = !0, b && b.parseTwoDigitYear && (h = b.parseTwoDigitYear);
var k = x.prototype, L = k.parse;
k.parse = function(C) {
var D = C.date, H = C.utc, P = C.args;
this.$u = H;
var I = P[1];
if (typeof I == "string") {
var T = P[2] === !0, S = P[3] === !0, Q = T || S, V = P[2];
S && (V = P[2]), u = this.$locale(), !T && V && (u = $.Ls[V]), this.$d = function(m, c, g, p) {
try {
if (["x", "X"].indexOf(c) > -1) return new Date((c === "X" ? 1e3 : 1) * m);
var N = w(c)(m), E = N.year, j = N.month, F = N.day, A = N.hours, ae = N.minutes, ee = N.seconds, ue = N.milliseconds, te = N.zone, z = N.week, R = /* @__PURE__ */ new Date(), oe = F || (E || j ? 1 : R.getDate()), le = E || R.getFullYear(), Ce = 0;
E && !j || (Ce = j > 0 ? j - 1 : R.getMonth());
var $e, Le = A || 0, Ee = ae || 0, Pe = ee || 0, je = ue || 0;
return te ? new Date(Date.UTC(le, Ce, oe, Le, Ee, Pe, je + 60 * te.offset * 1e3)) : g ? new Date(Date.UTC(le, Ce, oe, Le, Ee, Pe, je)) : ($e = new Date(le, Ce, oe, Le, Ee, Pe, je), z && ($e = p($e).week(z).toDate()), $e);
} catch {
return /* @__PURE__ */ new Date("");
}
}(D, I, H, $), this.init(), V && V !== !0 && (this.$L = this.locale(V).$L), Q && D != this.format(I) && (this.$d = /* @__PURE__ */ new Date("")), u = {};
} else if (I instanceof Array) for (var y = I.length, f = 1; f <= y; f += 1) {
P[1] = I[f - 1];
var d = $.apply(this, P);
if (d.isValid()) {
this.$d = d.$d, this.$L = d.$L, this.init();
break;
}
f === y && (this.$d = /* @__PURE__ */ new Date(""));
}
else L.call(this, C);
};
};
});
}(lt)), lt.exports;
}
var Xo = Qo();
const Ro = /* @__PURE__ */ _t(Xo);
de.extend(Ro);
const Jo = "DD.MM.YYYY", Ko = ({ calendarMonth: e, setMonth: n }) => {
const t = de(e.date), [r, a] = me(!1), [o, s] = me(!1), [i] = me(20), [u, h] = me(0), v = ne(
(M) => {
a(!1), n(de(t).month(parseInt(M)).toDate());
},
[t, n]
), l = ne(
(M) => {
s(!1), n(de(t).year(parseInt(M)).toDate());
},
[t, n]
);
return /* @__PURE__ */ Z.jsxs("div", { className: "z-10 mx-auto flex justify-center gap-1", children: [
/* @__PURE__ */ Z.jsx(
pe,
{
size: "xs",
variant: "secondary",
className: "max-h-6 max-w-[60px]",
onClick: () => a(!0),
children: t.format("MMM")
}
),
r && /* @__PURE__ */ Z.jsxs(
"div",
{
className: "bg-bg absolute -inset-1 flex flex-col items-center gap-2",
children: [
/* @__PURE__ */ Z.jsx("div", { className: "flex items-center justify-between gap-2", children: /* @__PURE__ */ Z.jsx("span", { children: "Month" }) }),
/* @__PURE__ */ Z.jsx("div", { className: "grid grid-cols-3 gap-2", children: Array.from({ length: 12 }, (M, O) => /* @__PURE__ */ Z.jsx(
pe,
{
onClick: () => v(O.toString()),
size: "sm",
variant: O === t.month() ? "default" : "secondary",
children: de().month(O).format("MMMM")
},
O
)) })
]
}
),
/* @__PURE__ */ Z.jsx(
pe,
{
size: "xs",
variant: "secondary",
className: "max-h-6 max-w-[60px]",
onClick: () => s(!0),
children: t.format("YYYY")
}
),
o && /* @__PURE__ */ Z.jsxs("div", { className: "bg-bg absolute -inset-1 flex flex-col gap-2", children: [
/* @__PURE__ */ Z.jsxs("div", { className: "flex items-center justify-between gap-2", children: [
/* @__PURE__ */ Z.jsx(
pe,
{
size: "xs",
variant: "secondary",
onClick: () => h(u - 1),
children: /* @__PURE__ */ Z.jsx(Lt, {})
}
),
/* @__PURE__ */ Z.jsx("span", { children: "Year" }),
/* @__PURE__ */ Z.jsx(
pe,
{
size: "xs",
variant: "secondary",
onClick: () => h(u + 1),
children: /* @__PURE__ */ Z.jsx(Et, {})
}
)
] }),
/* @__PURE__ */ Z.jsx("div", { className: "grid w-full grid-cols-4 gap-2", children: Array.from({ length: i }, (M, O) => {
const W = Math.floor(t.year() / i) * i + u * i + O;
return /* @__PURE__ */ Z.jsx(
pe,
{
onClick: () => l(W.toString()),
size: "xs",
variant: W === t.year() ? "default" : "secondary",
children: de().year(W).format("YYYY")
},
O
);
}) })
] })
] });
};
function Yt({
className: e,
classNames: n,
showOutsideDays: t = !0,
selectedToDate: r,
selectedFromDate: a,
format: o,
...s
}) {
const [i, u] = me(de().startOf("month").toDate()), h = ne(
(x) => /* @__PURE__ */ Z.jsx(
an,
{
...x,
className: "text-body-xs-medium text-tertiary dark:text-primary"
}
),
[]
), v = ne(
(x) => /* @__PURE__ */ Z.jsx(
Ko,
{
calendarMonth: x.calendarMonth,
setMonth: u
}
),
[]
// Fixed dependency array
), l = ne(
(x) => {
const { day: $, modifiers: k, ...L } = x;
return /* @__PURE__ */ Z.jsx(
nn,
{
day: $,
modifiers: k,
...L,
className: _n(
"size-7 cursor-pointer rounded-sm",
(k.today || a && a <= $.date && r && r >= $.date) && "bg-item-tertiary text-item-primary",
k.selected && "bg-item-primary dark:text-primary text-white",
k.disabled && "pointer-events-none opacity-50"
)
}
);
},
[a, r]
), M = ne(
() => u((x) => de(x).subtract(1, "M").toDate()),
[]
), O = ne(
() => u((x) => de(x).add(1, "M").toDate()),
[]
), W = ne(
({ className: x, ...$ }) => /* @__PURE__ */ Z.jsx(
pe,
{
variant: "ghost",
className: be("size-6", x),
...$,
onClick: M,
children: /* @__PURE__ */ Z.jsx(Lt, {})
}
),
[M]
), w = ne(
({ className: x, ...$ }) => /* @__PURE__ */ Z.jsx(
pe,
{
variant: "ghost",
className: be("size-6", x),
...$,
onClick: O,
children: /* @__PURE__ */ Z.jsx(Et, {})
}
),
[O]
), b = We(
() => ({
Weekday: h,
DayButton: l,
MonthCaption: v,
NextMonthButton: w,
PreviousMonthButton: W
}),
[
h,
l,
v,
w,
W
]
);
return Je(() => {
const x = s.selected;
u(x ? o ? de(x, o).startOf("month").toDate() : de(x).startOf("month").toDate() : de().startOf("month").toDate());
}, [s.selected, o]), /* @__PURE__ */ Z.jsx(
Ao,
{
showOutsideDays: t,
className: be("pointer-events-auto relative p-3", e),
classNames: {
years_dropdown: "flex",
months: "flex relative gap-2",
month: "flex flex-col gap-4 text-center",
caption: "flex justify-center pt-1 relative items-center w-full",
caption_label: "text-sm font-medium",
nav: "flex items-center gap-1 w-full absolute justify-between border-b pb-2",
nav_button: be(
mt({ variant: "ghost" }),
"size-7 bg-transparent p-0 opacity-50 hover:opacity-100"
),
nav_button_previous: "absolute left-1",
nav_button_next: "absolute right-1",
table: "w-full border-collapse space-x-1",
head_row: "flex",
head_cell: "text-neutral-500 rounded-md w-8 font-normal text-[0.8rem] dark:text-neutral-400 ",
row: "flex w-full mt-2",
cell: be(
"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-neutral-100 [&:has([aria-selected].day-range-end)]:rounded-r-md dark:[&:has([aria-selected])]:bg-neutral-800"
),
day: be(
mt({ variant: "ghost" }),
"table-cell size-8 p-0 font-normal aria-selected:opacity-100"
),
day_range_start: "day-range-start aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900",
day_range_end: "day-range-end aria-selected:bg-neutral-900 aria-selected:text-neutral-50 dark:aria-selected:bg-neutral-50 dark:aria-selected:text-neutral-900",
day_selected: "bg-neutral-900 text-neutral-50 hover:bg-neutral-900 hover:text-neutral-50 focus:bg-neutral-900 focus:text-neutral-50 dark:bg-neutral-50 dark:text-neutral-900 dark:hover:bg-neutral-50 dark:hover:text-neutral-900 dark:focus:bg-neutral-50 dark:focus:text-neutral-900",
day_today: "bg-neutral-100 text-red-900 dark:bg-neutral-800 dark:text-neutral-50",
day_outside: "day-outside text-neutral-500 aria-selected:text-neutral-500 dark:text-neutral-400 dark:aria-selected:text-neutral-400",
day_disabled: "text-neutral-500 opacity-50 dark:text-neutral-400",
day_range_middle: "aria-selected:bg-neutral-100 aria-selected:text-neutral-900 dark:aria-selected:bg-neutral-800 dark:aria-selected:text-neutral-50",
day_hidden: "invisible",
...n
},
components: b,
...s,
mode: "single",
onSelect: (x) => {
x && s.onSelect && (o ? s.onSelect(de(x).format(o)) : s.onSelect(x));
},
selected: de(s.selected, o).toDate(),
month: i
}
);
}
const Vo = Wn(
({
value: e,
onChange: n,
disabled: t = !1,
className: r,
icon: a = /* @__PURE__ */ Z.jsx(Ln, { className: "size-5" })
}, o) => {
const s = (W) => {
if (typeof W == "string") {
const b = /^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/, x = W.match(b);
if (x)
return {
hour: x[1].padStart(2, "0"),
minute: x[2]
};
}
const w = /* @__PURE__ */ new Date();
return {
hour: w.getHours().toString().padStart(2, "0"),
minute: w.getMinutes().toString().padStart(2, "0")
};
}, { hour: i, minute: u } = s(e), [h, v] = me({
hour: i,
minute: u
});
Je(() => {
const { hour: W, minute: w } = s(e);
v({ hour: W, minute: w });
}, [e]);
const l = (W, w) => {
const b = { ...h, [w]: W };
v(b);
const x = `${b.hour}:${b.minute}`;
n && n(x);
}, M = We(
() => Array.from({ length: 24 }, (W, w) => {
const b = String(w).padStart(2, "0");
return { value: b, label: b };
}),
[]
), O = We(
() => Array.from({ length: 60 }, (W, w) => {
const b = String(w).padStart(2, "0");
return { value: b, label: b };
}),
[]
);
return /* @__PURE__ */ Z.jsxs("div", { className: be("flex items-center space-x-2", r), ref: o, children: [
a,
/* @__PURE__ */ Z.jsxs("div", { className: be("flex items-center space-x-2"), children: [
/* @__PURE__ */ Z.jsx(
vt,
{
isClearable: !1,
options: M,
value: h.hour,
onChange: (W) => l(`${W}`, "hour"),
isDisabled: t,
menuPlacement: "auto",
className: "min-w-20"
}
),
/* @__PURE__ */ Z.jsx("span", { className: "text-lg", children: ":" }),
/* @__PURE__ */ Z.jsx(
vt,
{
isClearable: !1,
options: O,
value: h.minute,
onChange: (W) => l(`${W}`, "minute"),
isDisabled: t,
menuPlacement: "auto",
className: "min-w-20"
}
)
] })
] });
}
);
Vo.displayName = "TimePicker";
/**
* @license lucide-react v0.511.0 - ISC
*
* This source code is licensed under the ISC license.
* See the LICENSE file in the root directory of this source tree.
*/
const es = [
["path", { d: "M11 14h1v4", key: "fy54vd" }],
["path", { d: "M16 2v4", key: "4m81vk" }],
["path", { d: "M3 10h18", key: "8toen8" }],
["path", { d: "M8 2v4", key: "1cmpym" }],
["rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", key: "12vinp" }]
], ts = zn("calendar-1", es);
var Re = { exports: {} }, ns = Re.exports, Tt;
function rs() {
return Tt || (Tt = 1, function(e, n) {
(function(t, r) {
e.exports = r();
})(ns, function() {
var t = 1e3, r = 6e4, a = 36e5, o = "millisecond", s = "second", i = "minute", u = "hour", h = "day", v = "week", l = "month", M = "quarter", O = "year", W = "date", w = "Invalid Date", b = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, x = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, $ = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(y) {
var f = ["th", "st", "nd", "rd"], d = y % 100;
return "[" + y + (f[(d - 20) % 10] || f[d] || f[0]) + "]";
} }, k = function(y, f, d) {
var m = String(y);
return !m || m.length >= f ? y : "" + Array(f + 1 - m.length).join(d) + y;
}, L = { s: k, z: function(y) {
var f = -y.utcOffset(), d = Math.abs(f), m = Math.floor(d / 60), c = d % 60;
return (f <= 0 ? "+" : "-") + k(m, 2, "0") + ":" + k(c, 2, "0");
}, m: function y(f, d) {
if (f.date() < d.date()) return -y(d, f);
var m = 12 * (d.year() - f.year()) + (d.month() - f.month()), c = f.clone().add(m, l), g = d - c < 0, p = f.clone().add(m + (g ? -1 : 1), l);
return +(-(m + (d - c) / (g ? c - p : p - c)) || 0);
}, a: function(y) {
return y < 0 ? Math.ceil(y) || 0 : Math.floor(y);
}, p: function(y) {
return { M: l, y: O, w: v, d: h, D: W, h: u, m: i, s, ms: o, Q: M }[y] || String(y || "").toLowerCase().replace(/s$/, "");
}, u: function(y) {
return y === void 0;
} }, C = "en", D = {};
D[C] = $;
var H = "$isDayjsObject", P = function(y) {
return y instanceof Q || !(!y || !y[H]);
}, I = function y(f, d, m) {
var c;
if (!f) return C;
if (typeof f == "string") {
var g = f.toLowerCase();
D[g] && (c = g), d && (D[g] = d, c = g);
var p = f.split("-");
if (!c && p.length > 1) return y(p[0]);
} else {
var N = f.name;
D[N] = f, c = N;
}
return !m && c && (C = c), c || !m && C;
}, T = function(y, f) {
if (P(y)) return y.clone();
var d = typeof f == "object" ? f : {};
return d.date = y, d.args = arguments, new Q(d);
}, S = L;
S.l = I, S.i = P, S.w = function(y, f) {
return T(y, { locale: f.$L, utc: f.$u, x: f.$x, $offset: f.$offset });
};
var Q = function() {
function y(d) {
this.$L = I(d.locale, null, !0), this.parse(d), this.$x = this.$x || d.x || {}, this[H] = !0;
}
var f = y.prototype;
return f.parse = function(d) {
this.$d = function(m) {
var c = m.date, g = m.utc;
if (c === null) return /* @__PURE__ */ new Date(NaN);
if (S.u(c)) return /* @__PURE__ */ new Date();
if (c instanceof Date) return new Date(c);
if (typeof c == "string" && !/Z$/i.test(c)) {
var p = c.match(b);
if (p) {
var N = p[2] - 1 || 0, E = (p[7] || "0").substring(0, 3);
return g ? new Date(Date.UTC(p[1], N, p[3] || 1, p[4] || 0, p[5] || 0, p[6] || 0, E)) : new Date(p[1], N, p[3] || 1, p[4] || 0, p[5] || 0, p[6] || 0, E);
}
}
return new Date(c);
}(d), this.init();
}, f.init = function() {
var d = this.$d;
this.$y = d.getFullYear(), this.$M = d.getMonth(), this.$D = d.getDate(), this.$W = d.getDay(), this.$H = d.getHours(), this.$m = d.getMinutes(), this.$s = d.getSeconds(), this.$ms = d.getMilliseconds();
}, f.$utils = function() {
return S;
}, f.isValid = function() {
return this.$d.toString() !== w;
}, f.isSame = function(d, m) {
var c = T(d);
return this.startOf(m) <= c && c <= this.endOf(m);
}, f.isAfter = function(d, m) {
return T(d) < this.startOf(m);
}, f.isBefore = function(d, m) {
return this.endOf(m) < T(d);
}, f.$g = function(d, m, c) {
return S.u(d) ? this[m] : this.set(c, d);
}, f.unix = function() {
return Math.floor(this.valueOf() / 1e3);
}, f.valueOf = function() {
return this.$d.getTime();
}, f.startOf = function(d, m) {
var c = this, g = !!S.u(m) || m, p = S.p(d), N = function(te, z) {
var R = S.w(c.$u ? Date.UTC(c.$y, z, te) : new Date(c.$y, z, te), c);
return g ? R : R.endOf(h);
}, E = function(te, z) {
return S.w(c.toDate()[te].apply(c.toDate("s"), (g ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(z)), c);
}, j = this.$W, F = this.$M, A = this.$D, ae = "set" + (this.$u ? "UTC" : "");
switch (p) {
case O:
return g ? N(1, 0) : N(31, 11);
case l:
return g ? N(1, F) : N(0, F + 1);
case v:
var ee = this.$locale().weekStart || 0, ue = (j < ee ? j + 7 : j) - ee;
return N(g ? A - ue : A + (6 - ue), F);
case h:
case W:
return E(ae + "Hours", 0);
case u:
return E(ae + "Minutes", 1);
case i:
return E(ae + "Seconds", 2);
case s:
return E(ae + "Milliseconds", 3);
default:
return this.clone();
}
}, f.endOf = function(d) {
return this.startOf(d, !1);
}, f.$set = function(d, m) {
var c, g = S.p(d), p = "set" + (this.$u ? "UTC" : ""), N = (c = {}, c[h] = p + "Date", c[W] = p + "Date", c[l] = p + "Month", c[O] = p + "FullYear", c[u] = p + "Hours", c[i] = p + "Minutes", c[s] = p + "Seconds", c[o] = p + "Milliseconds", c)[g], E = g === h ? this.$D + (m - this.$W) : m;
if (g === l || g === O) {
var j = this.clone().set(W, 1);
j.$d[N](E), j.init(), this.$d = j.set(W, Math.min(this.$D, j.daysInMonth())).$d;
} else N && this.$d[N](E);
return this.init(), this;
}, f.set = function(d, m) {
return this.clone().$set(d, m);
}, f.get = function(d) {
return this[S.p(d)]();
}, f.add = function(d, m) {
var c, g = this;
d = Number(d);
var p = S.p(m), N = function(F) {
var A = T(g);
return S.w(A.date(A.date() + Math.round(F * d)), g);
};
if (p === l) return this.set(l, this.$M + d);
if (p === O) return this.set(O, this.$y + d);
if (p === h) return N(1);
if (p === v) return N(7);
var E = (c = {}, c[i] = r, c[u] = a, c[s] = t, c)[p] || 1, j = this.$d.getTime() + d * E;
return S.w(j, this);
}, f.subtract = function(d, m) {
return this.add(-1 * d, m);
}, f.format = function(d) {
var m = this, c = this.$locale();
if (!this.isValid()) return c.invalidDate || w;
var g = d || "YYYY-MM-DDTHH:mm:ssZ", p = S.z(this), N = this.$H, E = this.$m, j = this.$M, F = c.weekdays, A = c.months, ae = c.meridiem, ee = function(z, R, oe, le) {
return z && (z[R] || z(m, g)) || oe[R].slice(0, le);
}, ue = function(z) {
return S.s(N % 12 || 12, z, "0");
}, te = ae || function(z, R, oe) {
var le = z < 12 ? "AM" : "PM";
return oe ? le.toLowerCase() : le;
};
return g.replace(x, function(z, R) {
return R || function(oe) {
switch (oe) {
case "YY":
return String(m.$y).slice(-2);
case "YYYY":
return S.s(m.$y, 4, "0");
case "M":
return j + 1;
case "MM":
return S.s(j + 1, 2, "0");
case "MMM":
return ee(c.monthsShort, j, A, 3);
case "MMMM":
return ee(A, j);
case "D":
return m.$D;
case "DD":
return S.s(m.$D, 2, "0");
case "d":
return String(m.$W);
case "dd":
return ee(c.weekdaysMin, m.$W, F, 2);
case "ddd":
return ee(c.weekdaysShort, m.$W, F, 3);
case "dddd":
return F[m.$W];
case "H":
return String(N);
case "HH":
return S.s(N, 2, "0");
case "h":
return ue(1);
case "hh":
return ue(2);
case "a":
return te(N, E, !0);
case "A":
return te(N, E, !1);
case "m":
return String(E);
case "mm":
return S.s(E, 2, "0");
case "s":
return String(m.$s);
case "ss":
return S.s(m.$s, 2, "0");
case "SSS":
return S.s(m.$ms, 3, "0");
case "Z":
return p;
}
return null;
}(z) || p.replace(":", "");
});
}, f.utcOffset = function() {
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
}, f.diff = function(d, m, c) {
var g, p = this, N = S.p(m), E = T(d), j = (E.utcOffset() - this.utcOffset()) * r, F = this - E, A = function() {
return S.m(p, E);
};
switch (N) {
case O:
g = A() / 12;
break;
case l:
g = A();
break;
case M:
g = A() / 3;
break;
case v:
g = (F - j) / 6048e5;
break;
case h:
g = (F - j) / 864e5;
break;
case u:
g = F / a;
break;
case i:
g = F / r;
break;
case s:
g = F / t;
break;
default:
g = F;
}
return c ? g : S.a(g);
}, f.daysInMonth = function() {
return this.endOf(l).$D;
}, f.$locale = function() {
return D[this.$L];
}, f.locale = function(d, m) {
if (!d) return this.$L;
var c = this.clone(), g = I(d, m, !0);
return g && (c.$L = g), c;
}, f.clone = function() {
return S.w(this.$d, this);
}, f.toDate = function() {
return new Date(this.valueOf());
}, f.toJSON = function() {
return this.isValid() ? this.toISOString() : null;
}, f.toISOString = function() {
return this.$d.toISOString();
}, f.toString = function() {
return this.$d.toUTCString();
}, y;
}(), V = Q.prototype;
return T.prototype = V, [["$ms", o], ["$s", s], ["$m", i], ["$H", u], ["$W", h], ["$M", l], ["$y", O], ["$D", W]].forEach(function(y) {
V[y[1]] = function(f) {
return this.$g(f, y[0], y[1]);
};
}), T.extend = function(y, f) {
return y.$i || (y(f, Q, T), y.$i = !0), T;
}, T.locale = I, T.isDayjs = P, T.unix = function(y) {
return T(1e3 * y);
}, T.en = D[C], T.Ls = D, T.p = {}, T;
});
}(Re)), Re.exports;
}
var as = rs();
const Qe = /* @__PURE__ */ Pn(as), ys = ({
className: e,
format: n = Jo,
selected: t,
timezone: r,
onRangeSelected: a = () => {
},
placeholder: o,
error: s,
...i
}) => {
const { t: u } = In(), [h, v] = me(!1), [l, M] = me();
Je(() => {
M(t);
}, [t]);
const O = We(() => {
const w = Qe().endOf("day");
return [
{
from: w.startOf("week").toDate(),
to: w.endOf("week").toDate(),
label: u("This week")
},
{
from: w.startOf("month").toDate(),
to: w.endOf("month").toDate(),
label: u("This month")
},
{
from: w.startOf("year").toDate(),
to: w.endOf("year").toDate(),
label: u("This year")
},
{
from: w.subtract(7, "day").startOf("day").toDate(),
to: w.toDate(),
label: u("Last 7 days")
},
{
from: w.subtract(30, "day").startOf("day").toDate(),
to: w.toDate(),
label: u("Last 30 days")
},
{
from: w.subtract(3, "month").startOf("day").toDate(),
to: w.toDate(),
label: u("Last 3 months")
},
{
from: w.subtract(6, "month").startOf("day").toDate(),
to: w.toDate(),
label: u("Last 6 months")
},
{
from: w.subtract(12, "month").startOf("day").toDate(),
to: w.toDate(),
label: u("Last 12 months")
}
];
}, [u]), W = (w) => {
const { from: b, to: x } = w;
M({ from: b, to: x }), b && x && (a({ from: b, to: x }), v(!1));
};
return /* @__PURE__ */ ce.jsx("div", { className: be("grid gap-2", e), children: /* @__PURE__ */ ce.jsxs(jn, { open: h, onOpenChange: v, children: [
/* @__PURE__ */ ce.jsx(Fn, { asChild: !0, children: /* @__PURE__ */ ce.jsxs(
pe,
{
id: "date",
size: "sm",
variant: "secondary",
className: be(
"text-secondary !text-body-sm-regular border-border-alpha-strong focus:ring-item-primary mb-0 min-w-[170px] justify-between bg-transparent pl-3 text-left font-normal hover:bg-transparent",
s && "focus:ring-item-destructive border-item-destructive bg-item-destructive-focus text-item-destructive hover:bg-item-destructive-focus dark:bg-transparent",
!l && "text-primary"
),
...i,
children: [
l != null && l.from ? l.to ? /* @__PURE__ */ ce.jsxs(ce.Fragment, { children: [
Qe(l.from).format(n),
" -",
" ",
Qe(l.to).format(n)
] }) : Qe(l.from).format(n) : /* @__PURE__ */ ce.jsx("span", { className: "text-secondary", children: o }),
/* @__PURE__ */ ce.jsx(ts, { className: "text-secondary" })
]
}
) }),
/* @__PURE__ */ ce.jsxs(Hn, { className: "flex w-auto p-0", align: "end", side: "bottom", children: [
/* @__PURE__ */ ce.jsx(
"div",
{
className: "border-border-alpha-light flex flex-col space-y-1 border-e p-2",
children: O.map((w, b) => /* @__PURE__ */ ce.jsx(
pe,
{
size: "xs",
variant: "ghost",
className: "justify-start",
onClick: () => W(w),
children: w.label
},
b
))
}
),
/* @__PURE__ */ ce.jsx(
Yt,
{
className: "border-border-alpha-light border-e",
mode: "single",
endMonth: l == null ? void 0 : l.to,
selected: l == null ? void 0 : l.from,
selectedToDate: l == null ? void 0 : l.to,
selectedFromDate: l == null ? void 0 : l.from,
timeZone: r,
disabled: l != null && l.to ? {
after: l.to
} : void 0,
onSelect: (w) => {
M({ ...l, from: w });
}
}
),
/* @__PURE__ */ ce.jsx(
Yt,
{
mode: "single",
startMonth: l == null ? void 0 : l.from,
selected: l == null ? void 0 : l.to,
timeZone: r,
disabled: l != null && l.from ? {
before: l.from
} : void 0,
selectedToDate: l == null ? void 0 : l.to,
selectedFromDate: l == null ? void 0 : l.from,
onSelect: (w) => {
l && W({ ...l, to: w });
}
}
)
] })
] }) });
};
export {
ys as D,
Vo as G,
Yt as L,
Qe as d,
Jo as n
};