UNPKG

dgz-ui-shared

Version:

Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript, dgz-ui library

3,887 lines 136 kB
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
};