@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
2,164 lines (2,163 loc) • 94.3 kB
JavaScript
var at = Object.defineProperty;
var st = (t, r, e) => r in t ? at(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
var c = (t, r, e) => st(t, typeof r != "symbol" ? r + "" : r, e);
import { ref as V, defineComponent as Te, watch as F, computed as A, onMounted as it, createVNode as T, mergeProps as ot } from "vue";
import ut from "../button-edit/index.esm.js";
import { useReqAnimationFrame as ct, isMobilePhone as ue, getTimeObject as we, getDateObject as lt, formatObjecTime as dt, useBem as ft } from "../common/index.esm.js";
import { FTouchComboListContainer as ht } from "../combo-list/index.esm.js";
import { LocaleService as mt } from "../locale/index.esm.js";
const wt = {
/**
* 绑定值,格式要与指定的 format 一致
* @default ''
*/
modelValue: { type: String, default: "" },
/**
* 小时步长值
* @default 1
*/
hourStep: { type: Number, default: 1 },
/**
* 分钟步长值
* @default 1
*/
minuteStep: { type: Number, default: 1 },
/**
* 秒步长值
* @default 1
*/
secondStep: { type: Number, default: 1 },
popupClassName: { type: String, default: "" },
/**
* 提示文字
* @default 请选择时间
*/
placeholder: { type: String, default: "请选择时间" },
placement: { type: String, default: "auto" },
/**
* 默认时间控件下拉面板,展开时显示的值
* @default null
*/
defaultOpenValue: { type: Date, default: null },
/**
* 显示格式
* @default 'HH:mm:ss'
*/
format: { type: String, default: "HH:mm:ss" },
isOpen: { type: Boolean, default: !1 },
/**
* 时间下拉面板是否显示标题
* @default false
*/
showHeader: { type: Boolean, default: !1 },
/**
* 是否使用 12 小时制
* @default false
*/
use12Hours: { type: Boolean, default: !1 },
/**
* @default null
*/
disabledHours: { type: Function, default: null },
/**
* @default null
*/
disabledMinutes: { type: Function, default: null },
/**
* @default null
*/
disabledSeconds: { type: Function, default: null },
/**
* 是否隐藏被禁用的元素
* @default false
*/
hideDisabledElements: { type: Boolean, default: !1 },
/**
* 禁用
* @default false
*/
disabled: { type: Boolean, default: !1 },
/**
* 只读
* @default false
*/
readonly: { type: Boolean, default: !1 },
/**
* 可编辑
* @default true
*/
editable: { type: Boolean, default: !0 },
/**
* 是否可扩展
*/
expandable: { type: Boolean, default: !1 },
/**
* 扩展模式 text | button
*/
expandMode: { type: String, default: "text" },
/**
* 扩展文本内容
*/
expandContent: { type: String, default: "" },
/**
* 扩展按钮是否禁用
*/
expandDisabled: { type: Boolean, default: !1 },
enableClear: { type: Boolean, default: !0 }
}, yt = {
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 S(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 Y(t, r) {
return t instanceof Date ? new t.constructor(r) : new Date(r);
}
function We(t, r) {
const e = S(t);
return isNaN(r) ? Y(t, NaN) : (r && e.setDate(e.getDate() + r), e);
}
const Se = 6048e5, pt = 864e5, bt = 6e4, gt = 36e5, xt = 1e3;
let vt = {};
function J() {
return vt;
}
function G(t, r) {
var u, b, w, y;
const e = J(), n = (r == null ? void 0 : r.weekStartsOn) ?? ((b = (u = r == null ? void 0 : r.locale) == null ? void 0 : u.options) == null ? void 0 : b.weekStartsOn) ?? e.weekStartsOn ?? ((y = (w = e.locale) == null ? void 0 : w.options) == null ? void 0 : y.weekStartsOn) ?? 0, a = S(t), s = a.getDay(), o = (s < n ? 7 : 0) + s - n;
return a.setDate(a.getDate() - o), a.setHours(0, 0, 0, 0), a;
}
function Z(t) {
return G(t, { weekStartsOn: 1 });
}
function Fe(t) {
const r = S(t), e = r.getFullYear(), n = Y(t, 0);
n.setFullYear(e + 1, 0, 4), n.setHours(0, 0, 0, 0);
const a = Z(n), s = Y(t, 0);
s.setFullYear(e, 0, 4), s.setHours(0, 0, 0, 0);
const o = Z(s);
return r.getTime() >= a.getTime() ? e + 1 : r.getTime() >= o.getTime() ? e : e - 1;
}
function Oe(t) {
const r = S(t);
return r.setHours(0, 0, 0, 0), r;
}
function ce(t) {
const r = S(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 Tt(t, r) {
const e = Oe(t), n = Oe(r), a = +e - ce(e), s = +n - ce(n);
return Math.round((a - s) / pt);
}
function Ht(t) {
const r = Fe(t), e = Y(t, 0);
return e.setFullYear(r, 0, 4), e.setHours(0, 0, 0, 0), Z(e);
}
function Mt(t) {
return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]";
}
function qe(t) {
if (!Mt(t) && typeof t != "number")
return !1;
const r = S(t);
return !isNaN(Number(r));
}
function Pt(t) {
const r = S(t), e = Y(t, 0);
return e.setFullYear(r.getFullYear(), 0, 1), e.setHours(0, 0, 0, 0), e;
}
const kt = {
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"
}
}, Dt = (t, r, e) => {
let n;
const a = kt[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 ye(t) {
return (r = {}) => {
const e = r.width ? String(r.width) : t.defaultWidth;
return t.formats[e] || t.formats[t.defaultWidth];
};
}
const Ot = {
full: "EEEE, MMMM do, y",
long: "MMMM do, y",
medium: "MMM d, y",
short: "MM/dd/yyyy"
}, Vt = {
full: "h:mm:ss a zzzz",
long: "h:mm:ss a z",
medium: "h:mm:ss a",
short: "h:mm a"
}, Ct = {
full: "{{date}} 'at' {{time}}",
long: "{{date}} 'at' {{time}}",
medium: "{{date}}, {{time}}",
short: "{{date}}, {{time}}"
}, Yt = {
date: ye({
formats: Ot,
defaultWidth: "full"
}),
time: ye({
formats: Vt,
defaultWidth: "full"
}),
dateTime: ye({
formats: Ct,
defaultWidth: "full"
})
}, Et = {
lastWeek: "'last' eeee 'at' p",
yesterday: "'yesterday at' p",
today: "'today at' p",
tomorrow: "'tomorrow at' p",
nextWeek: "eeee 'at' p",
other: "P"
}, Nt = (t, r, e, n) => Et[t];
function ne(t) {
return (r, e) => {
const n = e != null && e.context ? String(e.context) : "standalone";
let a;
if (n === "formatting" && t.formattingValues) {
const o = t.defaultFormattingWidth || t.defaultWidth, u = e != null && e.width ? String(e.width) : o;
a = t.formattingValues[u] || t.formattingValues[o];
} else {
const o = t.defaultWidth, u = e != null && e.width ? String(e.width) : t.defaultWidth;
a = t.values[u] || t.values[o];
}
const s = t.argumentCallback ? t.argumentCallback(r) : r;
return a[s];
};
}
const _t = {
narrow: ["B", "A"],
abbreviated: ["BC", "AD"],
wide: ["Before Christ", "Anno Domini"]
}, Wt = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
}, St = {
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"
]
}, Ft = {
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"
]
}, qt = {
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"
}
}, Lt = {
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"
}
}, It = (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";
}, Bt = {
ordinalNumber: It,
era: ne({
values: _t,
defaultWidth: "wide"
}),
quarter: ne({
values: Wt,
defaultWidth: "wide",
argumentCallback: (t) => t - 1
}),
month: ne({
values: St,
defaultWidth: "wide"
}),
day: ne({
values: Ft,
defaultWidth: "wide"
}),
dayPeriod: ne({
values: qt,
defaultWidth: "wide",
formattingValues: Lt,
defaultFormattingWidth: "wide"
})
};
function re(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 o = s[0], u = n && t.parsePatterns[n] || t.parsePatterns[t.defaultParseWidth], b = Array.isArray(u) ? Qt(u, (g) => g.test(o)) : (
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type
Rt(u, (g) => g.test(o))
);
let w;
w = t.valueCallback ? t.valueCallback(b) : b, w = e.valueCallback ? (
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type
e.valueCallback(w)
) : w;
const y = r.slice(o.length);
return { value: w, rest: y };
};
}
function Rt(t, r) {
for (const e in t)
if (Object.prototype.hasOwnProperty.call(t, e) && r(t[e]))
return e;
}
function Qt(t, r) {
for (let e = 0; e < t.length; e++)
if (r(t[e]))
return e;
}
function At(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 o = t.valueCallback ? t.valueCallback(s[0]) : s[0];
o = e.valueCallback ? e.valueCallback(o) : o;
const u = r.slice(a.length);
return { value: o, rest: u };
};
}
const Xt = /^(\d+)(th|st|nd|rd)?/i, Gt = /\d+/i, jt = {
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
}, $t = {
any: [/^b/i, /^(a|c)/i]
}, Ut = {
narrow: /^[1234]/i,
abbreviated: /^q[1234]/i,
wide: /^[1234](th|st|nd|rd)? quarter/i
}, zt = {
any: [/1/i, /2/i, /3/i, /4/i]
}, Zt = {
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
}, Jt = {
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
]
}, Kt = {
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
}, en = {
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]
}, tn = {
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
}, nn = {
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
}
}, rn = {
ordinalNumber: At({
matchPattern: Xt,
parsePattern: Gt,
valueCallback: (t) => parseInt(t, 10)
}),
era: re({
matchPatterns: jt,
defaultMatchWidth: "wide",
parsePatterns: $t,
defaultParseWidth: "any"
}),
quarter: re({
matchPatterns: Ut,
defaultMatchWidth: "wide",
parsePatterns: zt,
defaultParseWidth: "any",
valueCallback: (t) => t + 1
}),
month: re({
matchPatterns: Zt,
defaultMatchWidth: "wide",
parsePatterns: Jt,
defaultParseWidth: "any"
}),
day: re({
matchPatterns: Kt,
defaultMatchWidth: "wide",
parsePatterns: en,
defaultParseWidth: "any"
}),
dayPeriod: re({
matchPatterns: tn,
defaultMatchWidth: "any",
parsePatterns: nn,
defaultParseWidth: "any"
})
}, Le = {
code: "en-US",
formatDistance: Dt,
formatLong: Yt,
formatRelative: Nt,
localize: Bt,
match: rn,
options: {
weekStartsOn: 0,
firstWeekContainsDate: 1
}
};
function an(t) {
const r = S(t);
return Tt(r, Pt(r)) + 1;
}
function Ie(t) {
const r = S(t), e = +Z(r) - +Ht(r);
return Math.round(e / Se) + 1;
}
function He(t, r) {
var y, g, i, m;
const e = S(t), n = e.getFullYear(), a = J(), s = (r == null ? void 0 : r.firstWeekContainsDate) ?? ((g = (y = r == null ? void 0 : r.locale) == null ? void 0 : y.options) == null ? void 0 : g.firstWeekContainsDate) ?? a.firstWeekContainsDate ?? ((m = (i = a.locale) == null ? void 0 : i.options) == null ? void 0 : m.firstWeekContainsDate) ?? 1, o = Y(t, 0);
o.setFullYear(n + 1, 0, s), o.setHours(0, 0, 0, 0);
const u = G(o, r), b = Y(t, 0);
b.setFullYear(n, 0, s), b.setHours(0, 0, 0, 0);
const w = G(b, r);
return e.getTime() >= u.getTime() ? n + 1 : e.getTime() >= w.getTime() ? n : n - 1;
}
function sn(t, r) {
var u, b, w, y;
const e = J(), n = (r == null ? void 0 : r.firstWeekContainsDate) ?? ((b = (u = r == null ? void 0 : r.locale) == null ? void 0 : u.options) == null ? void 0 : b.firstWeekContainsDate) ?? e.firstWeekContainsDate ?? ((y = (w = e.locale) == null ? void 0 : w.options) == null ? void 0 : y.firstWeekContainsDate) ?? 1, a = He(t, r), s = Y(t, 0);
return s.setFullYear(a, 0, n), s.setHours(0, 0, 0, 0), G(s, r);
}
function Be(t, r) {
const e = S(t), n = +G(e, r) - +sn(e, r);
return Math.round(n / Se) + 1;
}
function P(t, r) {
const e = t < 0 ? "-" : "", n = Math.abs(t).toString().padStart(r, "0");
return e + n;
}
const X = {
// Year
y(t, r) {
const e = t.getFullYear(), n = e > 0 ? e : 1 - e;
return P(r === "yy" ? n % 100 : n, r.length);
},
// Month
M(t, r) {
const e = t.getMonth();
return r === "M" ? String(e + 1) : P(e + 1, 2);
},
// Day of the month
d(t, r) {
return P(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 P(t.getHours() % 12 || 12, r.length);
},
// Hour [0-23]
H(t, r) {
return P(t.getHours(), r.length);
},
// Minute
m(t, r) {
return P(t.getMinutes(), r.length);
},
// Second
s(t, r) {
return P(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 P(a, r.length);
}
}, z = {
midnight: "midnight",
noon: "noon",
morning: "morning",
afternoon: "afternoon",
evening: "evening",
night: "night"
}, Ve = {
// 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 X.y(t, r);
},
// Local week-numbering year
Y: function(t, r, e, n) {
const a = He(t, n), s = a > 0 ? a : 1 - a;
if (r === "YY") {
const o = s % 100;
return P(o, 2);
}
return r === "Yo" ? e.ordinalNumber(s, { unit: "year" }) : P(s, r.length);
},
// ISO week-numbering year
R: function(t, r) {
const e = Fe(t);
return P(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 P(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 P(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 P(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 X.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 P(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 = Be(t, n);
return r === "wo" ? e.ordinalNumber(a, { unit: "week" }) : P(a, r.length);
},
// ISO week of year
I: function(t, r, e) {
const n = Ie(t);
return r === "Io" ? e.ordinalNumber(n, { unit: "week" }) : P(n, r.length);
},
// Day of the month
d: function(t, r, e) {
return r === "do" ? e.ordinalNumber(t.getDate(), { unit: "date" }) : X.d(t, r);
},
// Day of year
D: function(t, r, e) {
const n = an(t);
return r === "Do" ? e.ordinalNumber(n, { unit: "dayOfYear" }) : P(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 P(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 P(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 P(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 = z.noon : n === 0 ? a = z.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 = z.evening : n >= 12 ? a = z.afternoon : n >= 4 ? a = z.morning : a = z.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 X.h(t, r);
},
// Hour [0-23]
H: function(t, r, e) {
return r === "Ho" ? e.ordinalNumber(t.getHours(), { unit: "hour" }) : X.H(t, r);
},
// Hour [0-11]
K: function(t, r, e) {
const n = t.getHours() % 12;
return r === "Ko" ? e.ordinalNumber(n, { unit: "hour" }) : P(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" }) : P(n, r.length);
},
// Minute
m: function(t, r, e) {
return r === "mo" ? e.ordinalNumber(t.getMinutes(), { unit: "minute" }) : X.m(t, r);
},
// Second
s: function(t, r, e) {
return r === "so" ? e.ordinalNumber(t.getSeconds(), { unit: "second" }) : X.s(t, r);
},
// Fraction of second
S: function(t, r) {
return X.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 Ye(n);
case "XXXX":
case "XX":
return $(n);
case "XXXXX":
case "XXX":
default:
return $(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 Ye(n);
case "xxxx":
case "xx":
return $(n);
case "xxxxx":
case "xxx":
default:
return $(n, ":");
}
},
// Timezone (GMT)
O: function(t, r, e) {
const n = t.getTimezoneOffset();
switch (r) {
case "O":
case "OO":
case "OOO":
return "GMT" + Ce(n, ":");
case "OOOO":
default:
return "GMT" + $(n, ":");
}
},
// Timezone (specific non-location)
z: function(t, r, e) {
const n = t.getTimezoneOffset();
switch (r) {
case "z":
case "zz":
case "zzz":
return "GMT" + Ce(n, ":");
case "zzzz":
default:
return "GMT" + $(n, ":");
}
},
// Seconds timestamp
t: function(t, r, e) {
const n = Math.trunc(t.getTime() / 1e3);
return P(n, r.length);
},
// Milliseconds timestamp
T: function(t, r, e) {
const n = t.getTime();
return P(n, r.length);
}
};
function Ce(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 + P(s, 2);
}
function Ye(t, r) {
return t % 60 === 0 ? (t > 0 ? "-" : "+") + P(Math.abs(t) / 60, 2) : $(t, r);
}
function $(t, r = "") {
const e = t > 0 ? "-" : "+", n = Math.abs(t), a = P(Math.trunc(n / 60), 2), s = P(n % 60, 2);
return e + a + r + s;
}
const Ee = (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" });
}
}, Re = (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" });
}
}, on = (t, r) => {
const e = t.match(/(P+)(p+)?/) || [], n = e[1], a = e[2];
if (!a)
return Ee(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}}", Ee(n, r)).replace("{{time}}", Re(a, r));
}, be = {
p: Re,
P: on
}, un = /^D+$/, cn = /^Y+$/, ln = ["D", "DD", "YY", "YYYY"];
function Qe(t) {
return un.test(t);
}
function Ae(t) {
return cn.test(t);
}
function ge(t, r, e) {
const n = dn(t, r, e);
if (console.warn(n), ln.includes(t)) throw new RangeError(n);
}
function dn(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 fn = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, hn = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, mn = /^'([^]*?)'?$/, wn = /''/g, yn = /[a-zA-Z]/;
function Ne(t, r, e) {
var y, g, i, m;
const n = J(), a = n.locale ?? Le, s = n.firstWeekContainsDate ?? ((g = (y = n.locale) == null ? void 0 : y.options) == null ? void 0 : g.firstWeekContainsDate) ?? 1, o = n.weekStartsOn ?? ((m = (i = n.locale) == null ? void 0 : i.options) == null ? void 0 : m.weekStartsOn) ?? 0, u = S(t);
if (!qe(u))
throw new RangeError("Invalid time value");
let b = r.match(hn).map((h) => {
const v = h[0];
if (v === "p" || v === "P") {
const q = be[v];
return q(h, a.formatLong);
}
return h;
}).join("").match(fn).map((h) => {
if (h === "''")
return { isToken: !1, value: "'" };
const v = h[0];
if (v === "'")
return { isToken: !1, value: pn(h) };
if (Ve[v])
return { isToken: !0, value: h };
if (v.match(yn))
throw new RangeError(
"Format string contains an unescaped latin alphabet character `" + v + "`"
);
return { isToken: !1, value: h };
});
a.localize.preprocessor && (b = a.localize.preprocessor(u, b));
const w = {
firstWeekContainsDate: s,
weekStartsOn: o,
locale: a
};
return b.map((h) => {
if (!h.isToken) return h.value;
const v = h.value;
(Ae(v) || Qe(v)) && ge(v, r, String(t));
const q = Ve[v[0]];
return q(u, v, a.localize, w);
}).join("");
}
function pn(t) {
const r = t.match(mn);
return r ? r[1].replace(wn, "'") : t;
}
function bn() {
return Object.assign({}, J());
}
function gn(t) {
let e = S(t).getDay();
return e === 0 && (e = 7), e;
}
function xn(t, r) {
const e = r instanceof Date ? Y(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 vn = 10;
class Xe {
constructor() {
c(this, "subPriority", 0);
}
validate(r, e) {
return !0;
}
}
class Tn extends Xe {
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 Hn extends Xe {
constructor() {
super(...arguments);
c(this, "priority", vn);
c(this, "subPriority", -1);
}
set(e, n) {
return n.timestampIsSet ? e : Y(e, xn(e, Date));
}
}
class M {
run(r, e, n, a) {
const s = this.parse(r, e, n, a);
return s ? {
setter: new Tn(
s.value,
this.validate,
this.set,
this.priority,
this.subPriority
),
rest: s.rest
} : null;
}
validate(r, e, n) {
return !0;
}
}
class Mn extends M {
constructor() {
super(...arguments);
c(this, "priority", 140);
c(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 N = {
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
}, B = {
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 _(t, r) {
return t && {
value: r(t.value),
rest: t.rest
};
}
function C(t, r) {
const e = r.match(t);
return e ? {
value: parseInt(e[0], 10),
rest: r.slice(e[0].length)
} : null;
}
function R(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, o = e[5] ? parseInt(e[5], 10) : 0;
return {
value: n * (a * gt + s * bt + o * xt),
rest: r.slice(e[0].length)
};
}
function Ge(t) {
return C(N.anyDigitsSigned, t);
}
function E(t, r) {
switch (t) {
case 1:
return C(N.singleDigit, r);
case 2:
return C(N.twoDigits, r);
case 3:
return C(N.threeDigits, r);
case 4:
return C(N.fourDigits, r);
default:
return C(new RegExp("^\\d{1," + t + "}"), r);
}
}
function le(t, r) {
switch (t) {
case 1:
return C(N.singleDigitSigned, r);
case 2:
return C(N.twoDigitsSigned, r);
case 3:
return C(N.threeDigitsSigned, r);
case 4:
return C(N.fourDigitsSigned, r);
default:
return C(new RegExp("^-?\\d{1," + t + "}"), r);
}
}
function Me(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 je(t, r) {
const e = r > 0, n = e ? r : 1 - r;
let a;
if (n <= 50)
a = t || 100;
else {
const s = n + 50, o = Math.trunc(s / 100) * 100, u = t >= s % 100;
a = t + o - (u ? 100 : 0);
}
return e ? a : 1 - a;
}
function $e(t) {
return t % 400 === 0 || t % 4 === 0 && t % 100 !== 0;
}
class Pn extends M {
constructor() {
super(...arguments);
c(this, "priority", 130);
c(this, "incompatibleTokens", ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]);
}
parse(e, n, a) {
const s = (o) => ({
year: o,
isTwoDigitYear: n === "yy"
});
switch (n) {
case "y":
return _(E(4, e), s);
case "yo":
return _(
a.ordinalNumber(e, {
unit: "year"
}),
s
);
default:
return _(E(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 u = je(
a.year,
s
);
return e.setFullYear(u, 0, 1), e.setHours(0, 0, 0, 0), e;
}
const o = !("era" in n) || n.era === 1 ? a.year : 1 - a.year;
return e.setFullYear(o, 0, 1), e.setHours(0, 0, 0, 0), e;
}
}
class kn extends M {
constructor() {
super(...arguments);
c(this, "priority", 130);
c(this, "incompatibleTokens", [
"y",
"R",
"u",
"Q",
"q",
"M",
"L",
"I",
"d",
"D",
"i",
"t",
"T"
]);
}
parse(e, n, a) {
const s = (o) => ({
year: o,
isTwoDigitYear: n === "YY"
});
switch (n) {
case "Y":
return _(E(4, e), s);
case "Yo":
return _(
a.ordinalNumber(e, {
unit: "year"
}),
s
);
default:
return _(E(n.length, e), s);
}
}
validate(e, n) {
return n.isTwoDigitYear || n.year > 0;
}
set(e, n, a, s) {
const o = He(e, s);
if (a.isTwoDigitYear) {
const b = je(
a.year,
o
);
return e.setFullYear(
b,
0,
s.firstWeekContainsDate
), e.setHours(0, 0, 0, 0), G(e, s);
}
const u = !("era" in n) || n.era === 1 ? a.year : 1 - a.year;
return e.setFullYear(u, 0, s.firstWeekContainsDate), e.setHours(0, 0, 0, 0), G(e, s);
}
}
class Dn extends M {
constructor() {
super(...arguments);
c(this, "priority", 130);
c(this, "incompatibleTokens", [
"G",
"y",
"Y",
"u",
"Q",
"q",
"M",
"L",
"w",
"d",
"D",
"e",
"c",
"t",
"T"
]);
}
parse(e, n) {
return le(n === "R" ? 4 : n.length, e);
}
set(e, n, a) {
const s = Y(e, 0);
return s.setFullYear(a, 0, 4), s.setHours(0, 0, 0, 0), Z(s);
}
}
class On extends M {
constructor() {
super(...arguments);
c(this, "priority", 130);
c(this, "incompatibleTokens", ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]);
}
parse(e, n) {
return le(n === "u" ? 4 : n.length, e);
}
set(e, n, a) {
return e.setFullYear(a, 0, 1), e.setHours(0, 0, 0, 0), e;
}
}
class Vn extends M {
constructor() {
super(...arguments);
c(this, "priority", 120);
c(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 E(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 Cn extends M {
constructor() {
super(...arguments);
c(this, "priority", 120);
c(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 E(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 Yn extends M {
constructor() {
super(...arguments);
c(this, "incompatibleTokens", [
"Y",
"R",
"q",
"Q",
"L",
"w",
"I",
"D",
"i",
"e",
"c",
"t",
"T"
]);
c(this, "priority", 110);
}
parse(e, n, a) {
const s = (o) => o - 1;
switch (n) {
case "M":
return _(
C(N.month, e),
s
);
case "MM":
return _(E(2, e), s);
case "Mo":
return _(
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 En extends M {
constructor() {
super(...arguments);
c(this, "priority", 110);
c(this, "incompatibleTokens", [
"Y",
"R",
"q",
"Q",
"M",
"w",
"I",
"D",
"i",
"e",
"c",
"t",
"T"
]);
}
parse(e, n, a) {
const s = (o) => o - 1;
switch (n) {
case "L":
return _(
C(N.month, e),
s
);
case "LL":
return _(E(2, e), s);
case "Lo":
return _(
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 Nn(t, r, e) {
const n = S(t), a = Be(n, e) - r;
return n.setDate(n.getDate() - a * 7), n;
}
class _n extends M {
constructor() {
super(...arguments);
c(this, "priority", 100);
c(this, "incompatibleTokens", [
"y",
"R",
"u",
"q",
"Q",
"M",
"L",
"I",
"d",
"D",
"i",
"t",
"T"
]);
}
parse(e, n, a) {
switch (n) {
case "w":
return C(N.week, e);
case "wo":
return a.ordinalNumber(e, { unit: "week" });
default:
return E(n.length, e);
}
}
validate(e, n) {
return n >= 1 && n <= 53;
}
set(e, n, a, s) {
return G(Nn(e, a, s), s);
}
}
function Wn(t, r) {
const e = S(t), n = Ie(e) - r;
return e.setDate(e.getDate() - n * 7), e;
}
class Sn extends M {
constructor() {
super(...arguments);
c(this, "priority", 100);
c(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 C(N.week, e);
case "Io":
return a.ordinalNumber(e, { unit: "week" });
default:
return E(n.length, e);
}
}
validate(e, n) {
return n >= 1 && n <= 53;
}
set(e, n, a) {
return Z(Wn(e, a));
}
}
const Fn = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], qn = [
31,
29,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
];
class Ln extends M {
constructor() {
super(...arguments);
c(this, "priority", 90);
c(this, "subPriority", 1);
c(this, "incompatibleTokens", [
"Y",
"R",
"q",
"Q",
"w",
"I",
"D",
"i",
"e",
"c",
"t",
"T"
]);
}
parse(e, n, a) {
switch (n) {
case "d":
return C(N.date, e);
case "do":
return a.ordinalNumber(e, { unit: "date" });
default:
return E(n.length, e);
}
}
validate(e, n) {
const a = e.getFullYear(), s = $e(a), o = e.getMonth();
return s ? n >= 1 && n <= qn[o] : n >= 1 && n <= Fn[o];
}
set(e, n, a) {
return e.setDate(a), e.setHours(0, 0, 0, 0), e;
}
}
class In extends M {
constructor() {
super(...arguments);
c(this, "priority", 90);
c(this, "subpriority", 1);
c(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 C(N.dayOfYear, e);
case "Do":
return a.ordinalNumber(e, { unit: "date" });
default:
return E(n.length, e);
}
}
validate(e, n) {
const a = e.getFullYear();
return $e(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 Pe(t, r, e) {