@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2,119 lines • 86.7 kB
JavaScript
var tt = Object.defineProperty;
var rt = (t, r, e) => r in t ? tt(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
var o = (t, r, e) => rt(t, typeof r != "symbol" ? r + "" : r, e);
import { ref as O, defineComponent as Ee, watch as C, computed as $, onMounted as nt, createVNode as x, mergeProps as at } from "vue";
import st from "../button-edit/index.esm.js";
import { useReqAnimationFrame as it, isMobilePhone as ot } from "../common/index.esm.js";
import { LocaleService as ut } from "../locale/index.esm.js";
const ct = {
/**
* 组件值,这个是与指定的format格式相对应的值
*/
modelValue: { type: String, default: "" },
hourStep: { type: Number, default: 1 },
minuteStep: { type: Number, default: 1 },
secondStep: { type: Number, default: 1 },
popupClassName: { type: String, default: "" },
placeholder: { type: String, default: "请选择时间" },
placement: { type: String, default: "auto" },
/**
* 默认时间控件下拉面板,展开时的值
*/
defaultOpenValue: { type: Date, default: null },
format: { type: String, default: "HH:mm:ss" },
isOpen: { type: Boolean, default: !1 },
showHeader: { type: Boolean, default: !1 },
use12Hours: { type: Boolean, default: !1 },
disabledHours: { type: Function, default: null },
disabledMinutes: { type: Function, default: null },
disabledSeconds: { type: Function, default: null },
/**
* 是否隐藏禁用的元素
*/
hideDisabledElements: { type: Boolean, default: !1 },
disabled: { type: Boolean, default: !1 },
readonly: { type: Boolean, default: !1 },
editable: { type: Boolean, default: !0 }
}, lt = {
modelValue: {
type: String,
default: ""
},
hourStep: {
type: Number,
default: 1
},
minuteStep: {
type: Number,
default: 1
},
secondStep: {
type: Number,
default: 1
},
defaultOpenValue: {
type: Date,
default: null
},
disabledHours: {
type: Function,
default: null
},
disabledMinutes: {
type: Function,
default: null
},
disabledSeconds: {
type: Function,
default: null
},
format: {
type: String,
default: "HH:mm:ss"
},
isOpen: {
type: Boolean,
default: !1
},
use12Hours: {
type: Boolean,
default: !1
},
showHeader: {
type: Boolean,
default: !1
},
hideDisabledElements: {
type: Boolean,
default: !1
},
inDatePicker: {
type: Boolean,
default: !1
},
headerLabels: {
type: Object,
default: null
}
};
function N(t) {
const r = Object.prototype.toString.call(t);
return t instanceof Date || typeof t == "object" && r === "[object Date]" ? new t.constructor(+t) : typeof t == "number" || r === "[object Number]" || typeof t == "string" || r === "[object String]" ? new Date(t) : /* @__PURE__ */ new Date(NaN);
}
function T(t, r) {
return t instanceof Date ? new t.constructor(r) : new Date(r);
}
function Ne(t, r) {
const e = N(t);
return isNaN(r) ? T(t, NaN) : (r && e.setDate(e.getDate() + r), e);
}
const We = 6048e5, dt = 864e5, ft = 6e4, ht = 36e5, mt = 1e3;
let wt = {};
function z() {
return wt;
}
function R(t, r) {
var l, m, w, f;
const e = z(), n = (r == null ? void 0 : r.weekStartsOn) ?? ((m = (l = r == null ? void 0 : r.locale) == null ? void 0 : l.options) == null ? void 0 : m.weekStartsOn) ?? e.weekStartsOn ?? ((f = (w = e.locale) == null ? void 0 : w.options) == null ? void 0 : f.weekStartsOn) ?? 0, a = N(t), s = a.getDay(), c = (s < n ? 7 : 0) + s - n;
return a.setDate(a.getDate() - c), a.setHours(0, 0, 0, 0), a;
}
function U(t) {
return R(t, { weekStartsOn: 1 });
}
function Ce(t) {
const r = N(t), e = r.getFullYear(), n = T(t, 0);
n.setFullYear(e + 1, 0, 4), n.setHours(0, 0, 0, 0);
const a = U(n), s = T(t, 0);
s.setFullYear(e, 0, 4), s.setHours(0, 0, 0, 0);
const c = U(s);
return r.getTime() >= a.getTime() ? e + 1 : r.getTime() >= c.getTime() ? e : e - 1;
}
function Pe(t) {
const r = N(t);
return r.setHours(0, 0, 0, 0), r;
}
function oe(t) {
const r = N(t), e = new Date(
Date.UTC(
r.getFullYear(),
r.getMonth(),
r.getDate(),
r.getHours(),
r.getMinutes(),
r.getSeconds(),
r.getMilliseconds()
)
);
return e.setUTCFullYear(r.getFullYear()), +t - +e;
}
function yt(t, r) {
const e = Pe(t), n = Pe(r), a = +e - oe(e), s = +n - oe(n);
return Math.round((a - s) / dt);
}
function pt(t) {
const r = Ce(t), e = T(t, 0);
return e.setFullYear(r, 0, 4), e.setHours(0, 0, 0, 0), U(e);
}
function bt(t) {
return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]";
}
function _e(t) {
if (!bt(t) && typeof t != "number")
return !1;
const r = N(t);
return !isNaN(Number(r));
}
function gt(t) {
const r = N(t), e = T(t, 0);
return e.setFullYear(r.getFullYear(), 0, 1), e.setHours(0, 0, 0, 0), e;
}
const xt = {
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"
}
}, vt = (t, r, e) => {
let n;
const a = xt[t];
return typeof a == "string" ? n = a : r === 1 ? n = a.one : n = a.other.replace("{{count}}", r.toString()), e != null && e.addSuffix ? e.comparison && e.comparison > 0 ? "in " + n : n + " ago" : n;
};
function he(t) {
return (r = {}) => {
const e = r.width ? String(r.width) : t.defaultWidth;
return t.formats[e] || t.formats[t.defaultWidth];
};
}
const Mt = {
full: "EEEE, MMMM do, y",
long: "MMMM do, y",
medium: "MMM d, y",
short: "MM/dd/yyyy"
}, Ht = {
full: "h:mm:ss a zzzz",
long: "h:mm:ss a z",
medium: "h:mm:ss a",
short: "h:mm a"
}, Pt = {
full: "{{date}} 'at' {{time}}",
long: "{{date}} 'at' {{time}}",
medium: "{{date}}, {{time}}",
short: "{{date}}, {{time}}"
}, Tt = {
date: he({
formats: Mt,
defaultWidth: "full"
}),
time: he({
formats: Ht,
defaultWidth: "full"
}),
dateTime: he({
formats: Pt,
defaultWidth: "full"
})
}, kt = {
lastWeek: "'last' eeee 'at' p",
yesterday: "'yesterday at' p",
today: "'today at' p",
tomorrow: "'tomorrow at' p",
nextWeek: "eeee 'at' p",
other: "P"
}, Dt = (t, r, e, n) => kt[t];
function ee(t) {
return (r, e) => {
const n = e != null && e.context ? String(e.context) : "standalone";
let a;
if (n === "formatting" && t.formattingValues) {
const c = t.defaultFormattingWidth || t.defaultWidth, l = e != null && e.width ? String(e.width) : c;
a = t.formattingValues[l] || t.formattingValues[c];
} else {
const c = t.defaultWidth, l = e != null && e.width ? String(e.width) : t.defaultWidth;
a = t.values[l] || t.values[c];
}
const s = t.argumentCallback ? t.argumentCallback(r) : r;
return a[s];
};
}
const Ot = {
narrow: ["B", "A"],
abbreviated: ["BC", "AD"],
wide: ["Before Christ", "Anno Domini"]
}, Yt = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
}, Vt = {
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"
]
}, Et = {
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"
]
}, Nt = {
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"
}
}, Wt = {
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"
}
}, Ct = (t, r) => {
const e = Number(t), n = e % 100;
if (n > 20 || n < 10)
switch (n % 10) {
case 1:
return e + "st";
case 2:
return e + "nd";
case 3:
return e + "rd";
}
return e + "th";
}, _t = {
ordinalNumber: Ct,
era: ee({
values: Ot,
defaultWidth: "wide"
}),
quarter: ee({
values: Yt,
defaultWidth: "wide",
argumentCallback: (t) => t - 1
}),
month: ee({
values: Vt,
defaultWidth: "wide"
}),
day: ee({
values: Et,
defaultWidth: "wide"
}),
dayPeriod: ee({
values: Nt,
defaultWidth: "wide",
formattingValues: Wt,
defaultFormattingWidth: "wide"
})
};
function te(t) {
return (r, e = {}) => {
const n = e.width, a = n && t.matchPatterns[n] || t.matchPatterns[t.defaultMatchWidth], s = r.match(a);
if (!s)
return null;
const c = s[0], l = n && t.parsePatterns[n] || t.parsePatterns[t.defaultParseWidth], m = Array.isArray(l) ? Lt(l, (y) => y.test(c)) : (
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type
qt(l, (y) => y.test(c))
);
let w;
w = t.valueCallback ? t.valueCallback(m) : m, w = e.valueCallback ? (
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type
e.valueCallback(w)
) : w;
const f = r.slice(c.length);
return { value: w, rest: f };
};
}
function qt(t, r) {
for (const e in t)
if (Object.prototype.hasOwnProperty.call(t, e) && r(t[e]))
return e;
}
function Lt(t, r) {
for (let e = 0; e < t.length; e++)
if (r(t[e]))
return e;
}
function Ft(t) {
return (r, e = {}) => {
const n = r.match(t.matchPattern);
if (!n) return null;
const a = n[0], s = r.match(t.parsePattern);
if (!s) return null;
let c = t.valueCallback ? t.valueCallback(s[0]) : s[0];
c = e.valueCallback ? e.valueCallback(c) : c;
const l = r.slice(a.length);
return { value: c, rest: l };
};
}
const St = /^(\d+)(th|st|nd|rd)?/i, It = /\d+/i, Rt = {
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
}, Bt = {
any: [/^b/i, /^(a|c)/i]
}, Qt = {
narrow: /^[1234]/i,
abbreviated: /^q[1234]/i,
wide: /^[1234](th|st|nd|rd)? quarter/i
}, At = {
any: [/1/i, /2/i, /3/i, /4/i]
}, Xt = {
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
}, Gt = {
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
]
}, jt = {
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
}, $t = {
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]
}, Ut = {
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
}, zt = {
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
}
}, Zt = {
ordinalNumber: Ft({
matchPattern: St,
parsePattern: It,
valueCallback: (t) => parseInt(t, 10)
}),
era: te({
matchPatterns: Rt,
defaultMatchWidth: "wide",
parsePatterns: Bt,
defaultParseWidth: "any"
}),
quarter: te({
matchPatterns: Qt,
defaultMatchWidth: "wide",
parsePatterns: At,
defaultParseWidth: "any",
valueCallback: (t) => t + 1
}),
month: te({
matchPatterns: Xt,
defaultMatchWidth: "wide",
parsePatterns: Gt,
defaultParseWidth: "any"
}),
day: te({
matchPatterns: jt,
defaultMatchWidth: "wide",
parsePatterns: $t,
defaultParseWidth: "any"
}),
dayPeriod: te({
matchPatterns: Ut,
defaultMatchWidth: "any",
parsePatterns: zt,
defaultParseWidth: "any"
})
}, qe = {
code: "en-US",
formatDistance: vt,
formatLong: Tt,
formatRelative: Dt,
localize: _t,
match: Zt,
options: {
weekStartsOn: 0,
firstWeekContainsDate: 1
}
};
function Jt(t) {
const r = N(t);
return yt(r, gt(r)) + 1;
}
function Le(t) {
const r = N(t), e = +U(r) - +pt(r);
return Math.round(e / We) + 1;
}
function ge(t, r) {
var f, y, i, p;
const e = N(t), n = e.getFullYear(), a = z(), s = (r == null ? void 0 : r.firstWeekContainsDate) ?? ((y = (f = r == null ? void 0 : r.locale) == null ? void 0 : f.options) == null ? void 0 : y.firstWeekContainsDate) ?? a.firstWeekContainsDate ?? ((p = (i = a.locale) == null ? void 0 : i.options) == null ? void 0 : p.firstWeekContainsDate) ?? 1, c = T(t, 0);
c.setFullYear(n + 1, 0, s), c.setHours(0, 0, 0, 0);
const l = R(c, r), m = T(t, 0);
m.setFullYear(n, 0, s), m.setHours(0, 0, 0, 0);
const w = R(m, r);
return e.getTime() >= l.getTime() ? n + 1 : e.getTime() >= w.getTime() ? n : n - 1;
}
function Kt(t, r) {
var l, m, w, f;
const e = z(), n = (r == null ? void 0 : r.firstWeekContainsDate) ?? ((m = (l = r == null ? void 0 : r.locale) == null ? void 0 : l.options) == null ? void 0 : m.firstWeekContainsDate) ?? e.firstWeekContainsDate ?? ((f = (w = e.locale) == null ? void 0 : w.options) == null ? void 0 : f.firstWeekContainsDate) ?? 1, a = ge(t, r), s = T(t, 0);
return s.setFullYear(a, 0, n), s.setHours(0, 0, 0, 0), R(s, r);
}
function Fe(t, r) {
const e = N(t), n = +R(e, r) - +Kt(e, r);
return Math.round(n / We) + 1;
}
function M(t, r) {
const e = t < 0 ? "-" : "", n = Math.abs(t).toString().padStart(r, "0");
return e + n;
}
const I = {
// Year
y(t, r) {
const e = t.getFullYear(), n = e > 0 ? e : 1 - e;
return M(r === "yy" ? n % 100 : n, r.length);
},
// Month
M(t, r) {
const e = t.getMonth();
return r === "M" ? String(e + 1) : M(e + 1, 2);
},
// Day of the month
d(t, r) {
return M(t.getDate(), r.length);
},
// AM or PM
a(t, r) {
const e = t.getHours() / 12 >= 1 ? "pm" : "am";
switch (r) {
case "a":
case "aa":
return e.toUpperCase();
case "aaa":
return e;
case "aaaaa":
return e[0];
case "aaaa":
default:
return e === "am" ? "a.m." : "p.m.";
}
},
// Hour [1-12]
h(t, r) {
return M(t.getHours() % 12 || 12, r.length);
},
// Hour [0-23]
H(t, r) {
return M(t.getHours(), r.length);
},
// Minute
m(t, r) {
return M(t.getMinutes(), r.length);
},
// Second
s(t, r) {
return M(t.getSeconds(), r.length);
},
// Fraction of second
S(t, r) {
const e = r.length, n = t.getMilliseconds(), a = Math.trunc(
n * Math.pow(10, e - 3)
);
return M(a, r.length);
}
}, j = {
midnight: "midnight",
noon: "noon",
morning: "morning",
afternoon: "afternoon",
evening: "evening",
night: "night"
}, Te = {
// Era
G: function(t, r, e) {
const n = t.getFullYear() > 0 ? 1 : 0;
switch (r) {
case "G":
case "GG":
case "GGG":
return e.era(n, { width: "abbreviated" });
case "GGGGG":
return e.era(n, { width: "narrow" });
case "GGGG":
default:
return e.era(n, { width: "wide" });
}
},
// Year
y: function(t, r, e) {
if (r === "yo") {
const n = t.getFullYear(), a = n > 0 ? n : 1 - n;
return e.ordinalNumber(a, { unit: "year" });
}
return I.y(t, r);
},
// Local week-numbering year
Y: function(t, r, e, n) {
const a = ge(t, n), s = a > 0 ? a : 1 - a;
if (r === "YY") {
const c = s % 100;
return M(c, 2);
}
return r === "Yo" ? e.ordinalNumber(s, { unit: "year" }) : M(s, r.length);
},
// ISO week-numbering year
R: function(t, r) {
const e = Ce(t);
return M(e, r.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(t, r) {
const e = t.getFullYear();
return M(e, r.length);
},
// Quarter
Q: function(t, r, e) {
const n = Math.ceil((t.getMonth() + 1) / 3);
switch (r) {
case "Q":
return String(n);
case "QQ":
return M(n, 2);
case "Qo":
return e.ordinalNumber(n, { unit: "quarter" });
case "QQQ":
return e.quarter(n, {
width: "abbreviated",
context: "formatting"
});
case "QQQQQ":
return e.quarter(n, {
width: "narrow",
context: "formatting"
});
case "QQQQ":
default:
return e.quarter(n, {
width: "wide",
context: "formatting"
});
}
},
// Stand-alone quarter
q: function(t, r, e) {
const n = Math.ceil((t.getMonth() + 1) / 3);
switch (r) {
case "q":
return String(n);
case "qq":
return M(n, 2);
case "qo":
return e.ordinalNumber(n, { unit: "quarter" });
case "qqq":
return e.quarter(n, {
width: "abbreviated",
context: "standalone"
});
case "qqqqq":
return e.quarter(n, {
width: "narrow",
context: "standalone"
});
case "qqqq":
default:
return e.quarter(n, {
width: "wide",
context: "standalone"
});
}
},
// Month
M: function(t, r, e) {
const n = t.getMonth();
switch (r) {
case "M":
case "MM":
return I.M(t, r);
case "Mo":
return e.ordinalNumber(n + 1, { unit: "month" });
case "MMM":
return e.month(n, {
width: "abbreviated",
context: "formatting"
});
case "MMMMM":
return e.month(n, {
width: "narrow",
context: "formatting"
});
case "MMMM":
default:
return e.month(n, { width: "wide", context: "formatting" });
}
},
// Stand-alone month
L: function(t, r, e) {
const n = t.getMonth();
switch (r) {
case "L":
return String(n + 1);
case "LL":
return M(n + 1, 2);
case "Lo":
return e.ordinalNumber(n + 1, { unit: "month" });
case "LLL":
return e.month(n, {
width: "abbreviated",
context: "standalone"
});
case "LLLLL":
return e.month(n, {
width: "narrow",
context: "standalone"
});
case "LLLL":
default:
return e.month(n, { width: "wide", context: "standalone" });
}
},
// Local week of year
w: function(t, r, e, n) {
const a = Fe(t, n);
return r === "wo" ? e.ordinalNumber(a, { unit: "week" }) : M(a, r.length);
},
// ISO week of year
I: function(t, r, e) {
const n = Le(t);
return r === "Io" ? e.ordinalNumber(n, { unit: "week" }) : M(n, r.length);
},
// Day of the month
d: function(t, r, e) {
return r === "do" ? e.ordinalNumber(t.getDate(), { unit: "date" }) : I.d(t, r);
},
// Day of year
D: function(t, r, e) {
const n = Jt(t);
return r === "Do" ? e.ordinalNumber(n, { unit: "dayOfYear" }) : M(n, r.length);
},
// Day of week
E: function(t, r, e) {
const n = t.getDay();
switch (r) {
case "E":
case "EE":
case "EEE":
return e.day(n, {
width: "abbreviated",
context: "formatting"
});
case "EEEEE":
return e.day(n, {
width: "narrow",
context: "formatting"
});
case "EEEEEE":
return e.day(n, {
width: "short",
context: "formatting"
});
case "EEEE":
default:
return e.day(n, {
width: "wide",
context: "formatting"
});
}
},
// Local day of week
e: function(t, r, e, n) {
const a = t.getDay(), s = (a - n.weekStartsOn + 8) % 7 || 7;
switch (r) {
case "e":
return String(s);
case "ee":
return M(s, 2);
case "eo":
return e.ordinalNumber(s, { unit: "day" });
case "eee":
return e.day(a, {
width: "abbreviated",
context: "formatting"
});
case "eeeee":
return e.day(a, {
width: "narrow",
context: "formatting"
});
case "eeeeee":
return e.day(a, {
width: "short",
context: "formatting"
});
case "eeee":
default:
return e.day(a, {
width: "wide",
context: "formatting"
});
}
},
// Stand-alone local day of week
c: function(t, r, e, n) {
const a = t.getDay(), s = (a - n.weekStartsOn + 8) % 7 || 7;
switch (r) {
case "c":
return String(s);
case "cc":
return M(s, r.length);
case "co":
return e.ordinalNumber(s, { unit: "day" });
case "ccc":
return e.day(a, {
width: "abbreviated",
context: "standalone"
});
case "ccccc":
return e.day(a, {
width: "narrow",
context: "standalone"
});
case "cccccc":
return e.day(a, {
width: "short",
context: "standalone"
});
case "cccc":
default:
return e.day(a, {
width: "wide",
context: "standalone"
});
}
},
// ISO day of week
i: function(t, r, e) {
const n = t.getDay(), a = n === 0 ? 7 : n;
switch (r) {
case "i":
return String(a);
case "ii":
return M(a, r.length);
case "io":
return e.ordinalNumber(a, { unit: "day" });
case "iii":
return e.day(n, {
width: "abbreviated",
context: "formatting"
});
case "iiiii":
return e.day(n, {
width: "narrow",
context: "formatting"
});
case "iiiiii":
return e.day(n, {
width: "short",
context: "formatting"
});
case "iiii":
default:
return e.day(n, {
width: "wide",
context: "formatting"
});
}
},
// AM or PM
a: function(t, r, e) {
const a = t.getHours() / 12 >= 1 ? "pm" : "am";
switch (r) {
case "a":
case "aa":
return e.dayPeriod(a, {
width: "abbreviated",
context: "formatting"
});
case "aaa":
return e.dayPeriod(a, {
width: "abbreviated",
context: "formatting"
}).toLowerCase();
case "aaaaa":
return e.dayPeriod(a, {
width: "narrow",
context: "formatting"
});
case "aaaa":
default:
return e.dayPeriod(a, {
width: "wide",
context: "formatting"
});
}
},
// AM, PM, midnight, noon
b: function(t, r, e) {
const n = t.getHours();
let a;
switch (n === 12 ? a = j.noon : n === 0 ? a = j.midnight : a = n / 12 >= 1 ? "pm" : "am", r) {
case "b":
case "bb":
return e.dayPeriod(a, {
width: "abbreviated",
context: "formatting"
});
case "bbb":
return e.dayPeriod(a, {
width: "abbreviated",
context: "formatting"
}).toLowerCase();
case "bbbbb":
return e.dayPeriod(a, {
width: "narrow",
context: "formatting"
});
case "bbbb":
default:
return e.dayPeriod(a, {
width: "wide",
context: "formatting"
});
}
},
// in the morning, in the afternoon, in the evening, at night
B: function(t, r, e) {
const n = t.getHours();
let a;
switch (n >= 17 ? a = j.evening : n >= 12 ? a = j.afternoon : n >= 4 ? a = j.morning : a = j.night, r) {
case "B":
case "BB":
case "BBB":
return e.dayPeriod(a, {
width: "abbreviated",
context: "formatting"
});
case "BBBBB":
return e.dayPeriod(a, {
width: "narrow",
context: "formatting"
});
case "BBBB":
default:
return e.dayPeriod(a, {
width: "wide",
context: "formatting"
});
}
},
// Hour [1-12]
h: function(t, r, e) {
if (r === "ho") {
let n = t.getHours() % 12;
return n === 0 && (n = 12), e.ordinalNumber(n, { unit: "hour" });
}
return I.h(t, r);
},
// Hour [0-23]
H: function(t, r, e) {
return r === "Ho" ? e.ordinalNumber(t.getHours(), { unit: "hour" }) : I.H(t, r);
},
// Hour [0-11]
K: function(t, r, e) {
const n = t.getHours() % 12;
return r === "Ko" ? e.ordinalNumber(n, { unit: "hour" }) : M(n, r.length);
},
// Hour [1-24]
k: function(t, r, e) {
let n = t.getHours();
return n === 0 && (n = 24), r === "ko" ? e.ordinalNumber(n, { unit: "hour" }) : M(n, r.length);
},
// Minute
m: function(t, r, e) {
return r === "mo" ? e.ordinalNumber(t.getMinutes(), { unit: "minute" }) : I.m(t, r);
},
// Second
s: function(t, r, e) {
return r === "so" ? e.ordinalNumber(t.getSeconds(), { unit: "second" }) : I.s(t, r);
},
// Fraction of second
S: function(t, r) {
return I.S(t, r);
},
// Timezone (ISO-8601. If offset is 0, output is always `'Z'`)
X: function(t, r, e) {
const n = t.getTimezoneOffset();
if (n === 0)
return "Z";
switch (r) {
case "X":
return De(n);
case "XXXX":
case "XX":
return Q(n);
case "XXXXX":
case "XXX":
default:
return Q(n, ":");
}
},
// Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)
x: function(t, r, e) {
const n = t.getTimezoneOffset();
switch (r) {
case "x":
return De(n);
case "xxxx":
case "xx":
return Q(n);
case "xxxxx":
case "xxx":
default:
return Q(n, ":");
}
},
// Timezone (GMT)
O: function(t, r, e) {
const n = t.getTimezoneOffset();
switch (r) {
case "O":
case "OO":
case "OOO":
return "GMT" + ke(n, ":");
case "OOOO":
default:
return "GMT" + Q(n, ":");
}
},
// Timezone (specific non-location)
z: function(t, r, e) {
const n = t.getTimezoneOffset();
switch (r) {
case "z":
case "zz":
case "zzz":
return "GMT" + ke(n, ":");
case "zzzz":
default:
return "GMT" + Q(n, ":");
}
},
// Seconds timestamp
t: function(t, r, e) {
const n = Math.trunc(t.getTime() / 1e3);
return M(n, r.length);
},
// Milliseconds timestamp
T: function(t, r, e) {
const n = t.getTime();
return M(n, r.length);
}
};
function ke(t, r = "") {
const e = t > 0 ? "-" : "+", n = Math.abs(t), a = Math.trunc(n / 60), s = n % 60;
return s === 0 ? e + String(a) : e + String(a) + r + M(s, 2);
}
function De(t, r) {
return t % 60 === 0 ? (t > 0 ? "-" : "+") + M(Math.abs(t) / 60, 2) : Q(t, r);
}
function Q(t, r = "") {
const e = t > 0 ? "-" : "+", n = Math.abs(t), a = M(Math.trunc(n / 60), 2), s = M(n % 60, 2);
return e + a + r + s;
}
const Oe = (t, r) => {
switch (t) {
case "P":
return r.date({ width: "short" });
case "PP":
return r.date({ width: "medium" });
case "PPP":
return r.date({ width: "long" });
case "PPPP":
default:
return r.date({ width: "full" });
}
}, Se = (t, r) => {
switch (t) {
case "p":
return r.time({ width: "short" });
case "pp":
return r.time({ width: "medium" });
case "ppp":
return r.time({ width: "long" });
case "pppp":
default:
return r.time({ width: "full" });
}
}, er = (t, r) => {
const e = t.match(/(P+)(p+)?/) || [], n = e[1], a = e[2];
if (!a)
return Oe(t, r);
let s;
switch (n) {
case "P":
s = r.dateTime({ width: "short" });
break;
case "PP":
s = r.dateTime({ width: "medium" });
break;
case "PPP":
s = r.dateTime({ width: "long" });
break;
case "PPPP":
default:
s = r.dateTime({ width: "full" });
break;
}
return s.replace("{{date}}", Oe(n, r)).replace("{{time}}", Se(a, r));
}, we = {
p: Se,
P: er
}, tr = /^D+$/, rr = /^Y+$/, nr = ["D", "DD", "YY", "YYYY"];
function Ie(t) {
return tr.test(t);
}
function Re(t) {
return rr.test(t);
}
function ye(t, r, e) {
const n = ar(t, r, e);
if (console.warn(n), nr.includes(t)) throw new RangeError(n);
}
function ar(t, r, e) {
const n = t[0] === "Y" ? "years" : "days of the month";
return `Use \`${t.toLowerCase()}\` instead of \`${t}\` (in \`${r}\`) for formatting ${n} to the input \`${e}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
}
const sr = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, ir = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, or = /^'([^]*?)'?$/, ur = /''/g, cr = /[a-zA-Z]/;
function Ye(t, r, e) {
var f, y, i, p;
const n = z(), a = n.locale ?? qe, s = n.firstWeekContainsDate ?? ((y = (f = n.locale) == null ? void 0 : f.options) == null ? void 0 : y.firstWeekContainsDate) ?? 1, c = n.weekStartsOn ?? ((p = (i = n.locale) == null ? void 0 : i.options) == null ? void 0 : p.weekStartsOn) ?? 0, l = N(t);
if (!_e(l))
throw new RangeError("Invalid time value");
let m = r.match(ir).map((g) => {
const D = g[0];
if (D === "p" || D === "P") {
const _ = we[D];
return _(g, a.formatLong);
}
return g;
}).join("").match(sr).map((g) => {
if (g === "''")
return { isToken: !1, value: "'" };
const D = g[0];
if (D === "'")
return { isToken: !1, value: lr(g) };
if (Te[D])
return { isToken: !0, value: g };
if (D.match(cr))
throw new RangeError(
"Format string contains an unescaped latin alphabet character `" + D + "`"
);
return { isToken: !1, value: g };
});
a.localize.preprocessor && (m = a.localize.preprocessor(l, m));
const w = {
firstWeekContainsDate: s,
weekStartsOn: c,
locale: a
};
return m.map((g) => {
if (!g.isToken) return g.value;
const D = g.value;
(Re(D) || Ie(D)) && ye(D, r, String(t));
const _ = Te[D[0]];
return _(l, D, a.localize, w);
}).join("");
}
function lr(t) {
const r = t.match(or);
return r ? r[1].replace(ur, "'") : t;
}
function dr() {
return Object.assign({}, z());
}
function fr(t) {
let e = N(t).getDay();
return e === 0 && (e = 7), e;
}
function hr(t, r) {
const e = r instanceof Date ? T(r, 0) : new r(0);
return e.setFullYear(
t.getFullYear(),
t.getMonth(),
t.getDate()
), e.setHours(
t.getHours(),
t.getMinutes(),
t.getSeconds(),
t.getMilliseconds()
), e;
}
const mr = 10;
class Be {
constructor() {
o(this, "subPriority", 0);
}
validate(r, e) {
return !0;
}
}
class wr extends Be {
constructor(r, e, n, a, s) {
super(), this.value = r, this.validateValue = e, this.setValue = n, this.priority = a, s && (this.subPriority = s);
}
validate(r, e) {
return this.validateValue(r, this.value, e);
}
set(r, e, n) {
return this.setValue(r, e, this.value, n);
}
}
class yr extends Be {
constructor() {
super(...arguments);
o(this, "priority", mr);
o(this, "subPriority", -1);
}
set(e, n) {
return n.timestampIsSet ? e : T(e, hr(e, Date));
}
}
class v {
run(r, e, n, a) {
const s = this.parse(r, e, n, a);
return s ? {
setter: new wr(
s.value,
this.validate,
this.set,
this.priority,
this.subPriority
),
rest: s.rest
} : null;
}
validate(r, e, n) {
return !0;
}
}
class pr extends v {
constructor() {
super(...arguments);
o(this, "priority", 140);
o(this, "incompatibleTokens", ["R", "u", "t", "T"]);
}
parse(e, n, a) {
switch (n) {
case "G":
case "GG":
case "GGG":
return a.era(e, { width: "abbreviated" }) || a.era(e, { width: "narrow" });
case "GGGGG":
return a.era(e, { width: "narrow" });
case "GGGG":
default:
return a.era(e, { width: "wide" }) || a.era(e, { width: "abbreviated" }) || a.era(e, { width: "narrow" });
}
}
set(e, n, a) {
return n.era = a, e.setFullYear(a, 0, 1), e.setHours(0, 0, 0, 0), e;
}
}
const Y = {
month: /^(1[0-2]|0?\d)/,
// 0 to 12
date: /^(3[0-1]|[0-2]?\d)/,
// 0 to 31
dayOfYear: /^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,
// 0 to 366
week: /^(5[0-3]|[0-4]?\d)/,
// 0 to 53
hour23h: /^(2[0-3]|[0-1]?\d)/,
// 0 to 23
hour24h: /^(2[0-4]|[0-1]?\d)/,
// 0 to 24
hour11h: /^(1[0-1]|0?\d)/,
// 0 to 11
hour12h: /^(1[0-2]|0?\d)/,
// 0 to 12
minute: /^[0-5]?\d/,
// 0 to 59
second: /^[0-5]?\d/,
// 0 to 59
singleDigit: /^\d/,
// 0 to 9
twoDigits: /^\d{1,2}/,
// 0 to 99
threeDigits: /^\d{1,3}/,
// 0 to 999
fourDigits: /^\d{1,4}/,
// 0 to 9999
anyDigitsSigned: /^-?\d+/,
singleDigitSigned: /^-?\d/,
// 0 to 9, -0 to -9
twoDigitsSigned: /^-?\d{1,2}/,
// 0 to 99, -0 to -99
threeDigitsSigned: /^-?\d{1,3}/,
// 0 to 999, -0 to -999
fourDigitsSigned: /^-?\d{1,4}/
// 0 to 9999, -0 to -9999
}, L = {
basicOptionalMinutes: /^([+-])(\d{2})(\d{2})?|Z/,
basic: /^([+-])(\d{2})(\d{2})|Z/,
basicOptionalSeconds: /^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,
extended: /^([+-])(\d{2}):(\d{2})|Z/,
extendedOptionalSeconds: /^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/
};
function V(t, r) {
return t && {
value: r(t.value),
rest: t.rest
};
}
function P(t, r) {
const e = r.match(t);
return e ? {
value: parseInt(e[0], 10),
rest: r.slice(e[0].length)
} : null;
}
function F(t, r) {
const e = r.match(t);
if (!e)
return null;
if (e[0] === "Z")
return {
value: 0,
rest: r.slice(1)
};
const n = e[1] === "+" ? 1 : -1, a = e[2] ? parseInt(e[2], 10) : 0, s = e[3] ? parseInt(e[3], 10) : 0, c = e[5] ? parseInt(e[5], 10) : 0;
return {
value: n * (a * ht + s * ft + c * mt),
rest: r.slice(e[0].length)
};
}
function Qe(t) {
return P(Y.anyDigitsSigned, t);
}
function k(t, r) {
switch (t) {
case 1:
return P(Y.singleDigit, r);
case 2:
return P(Y.twoDigits, r);
case 3:
return P(Y.threeDigits, r);
case 4:
return P(Y.fourDigits, r);
default:
return P(new RegExp("^\\d{1," + t + "}"), r);
}
}
function ue(t, r) {
switch (t) {
case 1:
return P(Y.singleDigitSigned, r);
case 2:
return P(Y.twoDigitsSigned, r);
case 3:
return P(Y.threeDigitsSigned, r);
case 4:
return P(Y.fourDigitsSigned, r);
default:
return P(new RegExp("^-?\\d{1," + t + "}"), r);
}
}
function xe(t) {
switch (t) {
case "morning":
return 4;
case "evening":
return 17;
case "pm":
case "noon":
case "afternoon":
return 12;
case "am":
case "midnight":
case "night":
default:
return 0;
}
}
function Ae(t, r) {
const e = r > 0, n = e ? r : 1 - r;
let a;
if (n <= 50)
a = t || 100;
else {
const s = n + 50, c = Math.trunc(s / 100) * 100, l = t >= s % 100;
a = t + c - (l ? 100 : 0);
}
return e ? a : 1 - a;
}
function Xe(t) {
return t % 400 === 0 || t % 4 === 0 && t % 100 !== 0;
}
class br extends v {
constructor() {
super(...arguments);
o(this, "priority", 130);
o(this, "incompatibleTokens", ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]);
}
parse(e, n, a) {
const s = (c) => ({
year: c,
isTwoDigitYear: n === "yy"
});
switch (n) {
case "y":
return V(k(4, e), s);
case "yo":
return V(
a.ordinalNumber(e, {
unit: "year"
}),
s
);
default:
return V(k(n.length, e), s);
}
}
validate(e, n) {
return n.isTwoDigitYear || n.year > 0;
}
set(e, n, a) {
const s = e.getFullYear();
if (a.isTwoDigitYear) {
const l = Ae(
a.year,
s
);
return e.setFullYear(l, 0, 1), e.setHours(0, 0, 0, 0), e;
}
const c = !("era" in n) || n.era === 1 ? a.year : 1 - a.year;
return e.setFullYear(c, 0, 1), e.setHours(0, 0, 0, 0), e;
}
}
class gr extends v {
constructor() {
super(...arguments);
o(this, "priority", 130);
o(this, "incompatibleTokens", [
"y",
"R",
"u",
"Q",
"q",
"M",
"L",
"I",
"d",
"D",
"i",
"t",
"T"
]);
}
parse(e, n, a) {
const s = (c) => ({
year: c,
isTwoDigitYear: n === "YY"
});
switch (n) {
case "Y":
return V(k(4, e), s);
case "Yo":
return V(
a.ordinalNumber(e, {
unit: "year"
}),
s
);
default:
return V(k(n.length, e), s);
}
}
validate(e, n) {
return n.isTwoDigitYear || n.year > 0;
}
set(e, n, a, s) {
const c = ge(e, s);
if (a.isTwoDigitYear) {
const m = Ae(
a.year,
c
);
return e.setFullYear(
m,
0,
s.firstWeekContainsDate
), e.setHours(0, 0, 0, 0), R(e, s);
}
const l = !("era" in n) || n.era === 1 ? a.year : 1 - a.year;
return e.setFullYear(l, 0, s.firstWeekContainsDate), e.setHours(0, 0, 0, 0), R(e, s);
}
}
class xr extends v {
constructor() {
super(...arguments);
o(this, "priority", 130);
o(this, "incompatibleTokens", [
"G",
"y",
"Y",
"u",
"Q",
"q",
"M",
"L",
"w",
"d",
"D",
"e",
"c",
"t",
"T"
]);
}
parse(e, n) {
return ue(n === "R" ? 4 : n.length, e);
}
set(e, n, a) {
const s = T(e, 0);
return s.setFullYear(a, 0, 4), s.setHours(0, 0, 0, 0), U(s);
}
}
class vr extends v {
constructor() {
super(...arguments);
o(this, "priority", 130);
o(this, "incompatibleTokens", ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]);
}
parse(e, n) {
return ue(n === "u" ? 4 : n.length, e);
}
set(e, n, a) {
return e.setFullYear(a, 0, 1), e.setHours(0, 0, 0, 0), e;
}
}
class Mr extends v {
constructor() {
super(...arguments);
o(this, "priority", 120);
o(this, "incompatibleTokens", [
"Y",
"R",
"q",
"M",
"L",
"w",
"I",
"d",
"D",
"i",
"e",
"c",
"t",
"T"
]);
}
parse(e, n, a) {
switch (n) {
case "Q":
case "QQ":
return k(n.length, e);
case "Qo":
return a.ordinalNumber(e, { unit: "quarter" });
case "QQQ":
return a.quarter(e, {
width: "abbreviated",
context: "formatting"
}) || a.quarter(e, {
width: "narrow",
context: "formatting"
});
case "QQQQQ":
return a.quarter(e, {
width: "narrow",
context: "formatting"
});
case "QQQQ":
default:
return a.quarter(e, {
width: "wide",
context: "formatting"
}) || a.quarter(e, {
width: "abbreviated",
context: "formatting"
}) || a.quarter(e, {
width: "narrow",
context: "formatting"
});
}
}
validate(e, n) {
return n >= 1 && n <= 4;
}
set(e, n, a) {
return e.setMonth((a - 1) * 3, 1), e.setHours(0, 0, 0, 0), e;
}
}
class Hr extends v {
constructor() {
super(...arguments);
o(this, "priority", 120);
o(this, "incompatibleTokens", [
"Y",
"R",
"Q",
"M",
"L",
"w",
"I",
"d",
"D",
"i",
"e",
"c",
"t",
"T"
]);
}
parse(e, n, a) {
switch (n) {
case "q":
case "qq":
return k(n.length, e);
case "qo":
return a.ordinalNumber(e, { unit: "quarter" });
case "qqq":
return a.quarter(e, {
width: "abbreviated",
context: "standalone"
}) || a.quarter(e, {
width: "narrow",
context: "standalone"
});
case "qqqqq":
return a.quarter(e, {
width: "narrow",
context: "standalone"
});
case "qqqq":
default:
return a.quarter(e, {
width: "wide",
context: "standalone"
}) || a.quarter(e, {
width: "abbreviated",
context: "standalone"
}) || a.quarter(e, {
width: "narrow",
context: "standalone"
});
}
}
validate(e, n) {
return n >= 1 && n <= 4;
}
set(e, n, a) {
return e.setMonth((a - 1) * 3, 1), e.setHours(0, 0, 0, 0), e;
}
}
class Pr extends v {
constructor() {
super(...arguments);
o(this, "incompatibleTokens", [
"Y",
"R",
"q",
"Q",
"L",
"w",
"I",
"D",
"i",
"e",
"c",
"t",
"T"
]);
o(this, "priority", 110);
}
parse(e, n, a) {
const s = (c) => c - 1;
switch (n) {
case "M":
return V(
P(Y.month, e),
s
);
case "MM":
return V(k(2, e), s);
case "Mo":
return V(
a.ordinalNumber(e, {
unit: "month"
}),
s
);
case "MMM":
return a.month(e, {
width: "abbreviated",
context: "formatting"
}) || a.month(e, { width: "narrow", context: "formatting" });
case "MMMMM":
return a.month(e, {
width: "narrow",
context: "formatting"
});
case "MMMM":
default:
return a.month(e, { width: "wide", context: "formatting" }) || a.month(e, {
width: "abbreviated",
context: "formatting"
}) || a.month(e, { width: "narrow", context: "formatting" });
}
}
validate(e, n) {
return n >= 0 && n <= 11;
}
set(e, n, a) {
return e.setMonth(a, 1), e.setHours(0, 0, 0, 0), e;
}
}
class Tr extends v {
constructor() {
super(...arguments);
o(this, "priority", 110);
o(this, "incompatibleTokens", [
"Y",
"R",
"q",
"Q",
"M",
"w",
"I",
"D",
"i",
"e",
"c",
"t",
"T"
]);
}
parse(e, n, a) {
const s = (c) => c - 1;
switch (n) {
case "L":
return V(
P(Y.month, e),
s
);
case "LL":
return V(k(2, e), s);
case "Lo":
return V(
a.ordinalNumber(e, {
unit: "month"
}),
s
);
case "LLL":
return a.month(e, {
width: "abbreviated",
context: "standalone"
}) || a.month(e, { width: "narrow", context: "standalone" });
case "LLLLL":
return a.month(e, {
width: "narrow",
context: "standalone"
});
case "LLLL":
default:
return a.month(e, { width: "wide", context: "standalone" }) || a.month(e, {
width: "abbreviated",
context: "standalone"
}) || a.month(e, { width: "narrow", context: "standalone" });
}
}
validate(e, n) {
return n >= 0 && n <= 11;
}
set(e, n, a) {
return e.setMonth(a, 1), e.setHours(0, 0, 0, 0), e;
}
}
function kr(t, r, e) {
const n = N(t), a = Fe(n, e) - r;
return n.setDate(n.getDate() - a * 7), n;
}
class Dr extends v {
constructor() {
super(...arguments);
o(this, "priority", 100);
o(this, "incompatibleTokens", [
"y",
"R",
"u",
"q",
"Q",
"M",
"L",
"I",
"d",
"D",
"i",
"t",
"T"
]);
}
parse(e, n, a) {
switch (n) {
case "w":
return P(Y.week, e);
case "wo":
return a.ordinalNumber(e, { unit: "week" });
default:
return k(n.length, e);
}
}
validate(e, n) {
return n >= 1 && n <= 53;
}
set(e, n, a, s) {
return R(kr(e, a, s), s);
}
}
function Or(t, r) {
const e = N(t), n = Le(e) - r;
return e.setDate(e.getDate() - n * 7), e;
}
class Yr extends v {
constructor() {
super(...arguments);
o(this, "priority", 100);
o(this, "incompatibleTokens", [
"y",
"Y",
"u",
"q",
"Q",
"M",
"L",
"w",
"d",
"D",
"e",
"c",
"t",
"T"
]);
}
parse(e, n, a) {
switch (n) {
case "I":
return P(Y.week, e);
case "Io":
return a.ordinalNumber(e, { unit: "week" });
default:
return k(n.length, e);
}
}
validate(e, n) {
return n >= 1 && n <= 53;
}
set(e, n, a) {
return U(Or(e, a));
}
}
const Vr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Er = [
31,
29,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
];
class Nr extends v {
constructor() {
super(...arguments);
o(this, "priority", 90);
o(this, "subPriority", 1);
o(this, "incompatibleTokens", [
"Y",
"R",
"q",
"Q",
"w",
"I",
"D",
"i",
"e",
"c",
"t",
"T"
]);
}
parse(e, n, a) {
switch (n) {
case "d":
return P(Y.date, e);
case "do":
return a.ordinalNumber(e, { unit: "date" });
default:
return k(n.length, e);
}
}
validate(e, n) {
const a = e.getFullYear(), s = Xe(a), c = e.getMonth();
return s ? n >= 1 && n <= Er[c] : n >= 1 && n <= Vr[c];
}
set(e, n, a) {
return e.setDate(a), e.setHours(0, 0, 0, 0), e;
}
}
class Wr extends v {
constructor() {
super(...arguments);
o(this, "priority", 90);
o(this, "subpriority", 1);
o(this, "incompatibleTokens", [
"Y",
"R",
"q",
"Q",
"M",
"L",
"w",
"I",
"d",
"E",
"i",
"e",
"c",
"t",
"T"
]);
}
parse(e, n, a) {
switch (n) {
case "D":
case "DD":
return P(Y.dayOfYear, e);
case "Do":
return a.ordinalNumber(e, { unit: "date" });
default:
return k(n.length, e);
}
}
validate(e, n) {
const a = e.getFullYear();
return Xe(a) ? n >= 1 && n <= 366 : n >= 1 && n <= 365;
}
set(e, n, a) {
return e.setMonth(0, a), e.setHours(0, 0, 0, 0), e;
}
}
function ve(t, r, e) {
var y, i, p, g;
const n = z(), a = (e == null ? void 0 : e.weekStartsOn) ?? ((i = (y = e == null ? void 0 : e.locale) == null ? void 0 : y.options) == null ? void 0 : i.weekStartsOn) ?? n.weekStartsOn ?? ((g = (p = n.locale) == null ? void 0 : p.options) == null ? void 0 : g.weekStartsOn) ?? 0, s = N(t), c = s.getDay(), m = (r % 7 + 7) % 7, w = 7 - a, f = r < 0 || r > 6 ? r - (c + w) % 7 : (m + w) % 7 - (c + w) % 7;
return Ne(s, f);
}
class Cr extends v {
constructor() {
super(...arguments);
o(this, "priority", 90);
o(this, "incompatibleTokens", ["D", "i", "e", "c", "t", "T"]);
}
parse(e, n, a) {
switch (n) {
case "E":
case "EE":
case "EEE":
return a.day(e, {
width: "abbreviated",
context: "formatting"
}) || a.day(e, { width: "short", context: "formatting" }) || a.day(e, { width: "narrow", context: "formatting" });
case "EEEEE":
return a.day(e, {
width: "narrow",
context: "formatting"
});
case "EEEEEE":
return a.day(e, { width: