@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1,839 lines • 113 kB
JavaScript
var xt = Object.defineProperty;
var Tt = (t, r, e) => r in t ? xt(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
var l = (t, r, e) => Tt(t, typeof r != "symbol" ? r + "" : r, e);
import { ref as k, computed as M, watch as Z, onUnmounted as Mt, inject as Dt, defineComponent as Nt, provide as kt, renderSlot as Ot } from "vue";
import S from "bignumber.js";
import { isUndefined as _t } from "lodash-es";
function Xe(t) {
const r = t.nativeElement ? t.nativeElement : t;
return r.classList !== void 0 && r.classList !== null ? r : null;
}
function Ge(t, r) {
if (r === void 0)
return;
const e = Xe(t);
e && e.classList.remove(r);
}
function _e(t, r) {
if (r === void 0)
return;
const e = Xe(t);
e && e.classList.add(r);
}
const Pt = [
{ size: "sm", width: 576, pattern: /\b(col-|col-sm-)\d+\b/ },
{ size: "md", width: 768, pattern: /\bcol-md-\d+\b/ },
{ size: "lg", width: 888, pattern: /\bcol-lg-\d+\b/ },
{ size: "xl", width: 1200, pattern: /\bcol-xl-\d+\b/ },
{ size: "el", width: 1690, pattern: /\bcol-el-\d+\b/ }
];
function Ue(t) {
t && t.resizeObserver && (t.resizeObserver.disconnect(), t.resizeObserver = null);
}
function Ve(t, r, e = 0) {
const n = [];
if (!r)
return;
const a = e || r.getBoundingClientRect().width, i = parseFloat(a), o = t.breakPoints;
for (let s = 0; s < o.length; s++)
o[s].width <= i && n.push(o[s].size);
if (t.className.join(",") !== n.join(",")) {
if (t.className.length - n.length > 0)
for (let u = n.length; u < t.className.length; u++)
Ge(r, "f-area-response--" + t.className[u]);
else
for (let u = t.className.length; u < n.length; u++)
_e(r, "f-area-response--" + n[u]);
t.className = [...n];
}
}
function Ct(t, r) {
t.enable && t.autoWidth ? t.resizeObserver || (t.resizeObserver = new ResizeObserver((e) => {
if (!e || e.length < 1 || !e[0].contentRect)
return;
const n = e[0].contentRect;
Math.abs(parseInt(n.width + "") - t.width) > t.threshold && (Ve(t, r, n.width), t.width = parseInt(n.width + ""));
}), t.resizeObserver.observe(r)) : Ue(t);
}
function Re(t, r) {
if (t.enable)
_e(r, "f-area-response"), Ve(t, r);
else {
Ge(r, "f-area-response");
for (let e = t.className.length; e > 0; e--)
_e(r, "f-area-response--" + t.className[e]);
t.className = [];
}
Ct(t, r);
}
function Yt(t) {
const r = [];
return Pt.map((e) => {
const n = "col-" + e.size + "-";
if (t.querySelectorAll('[class*="' + n + '"]').length > 0)
r.push({ size: e.size, width: e.width });
else if (e.size === "sm") {
const i = t.querySelectorAll('[class*="col-"]');
Array.from(i).some((s) => s.className.match(e.pattern)) && r.push({ size: e.size, width: e.width });
}
}), r;
}
function qe(t, r, e) {
r.value && Object.prototype.hasOwnProperty.call(r.value, "enable") && (t.enable = r.value.enable), r.value && Object.prototype.hasOwnProperty.call(r.value, "autoWidth") && (t.autoWidth = r.value.autoWidth), t && (t.breakPoints = Yt(e));
}
const Me = {
// 在绑定元素的父组件
// 及他自己的所有子节点都挂载完成后调用
mounted: (t, r, e) => {
e.sharedObject = {
className: [],
resizeObserver: null,
enable: !0,
autoWidth: !0,
threshold: 10,
width: 0,
breakPoints: []
}, qe(e.sharedObject, r, t), Re(e.sharedObject, t);
},
// 在绑定元素的父组件
// 及他自己的所有子节点都更新后调用
updated: function(t, r, e, n) {
n && n.sharedObject ? e.sharedObject = n.sharedObject : e.sharedObject = {
className: [],
resizeObserver: null,
enable: !0,
autoWidth: !0,
threshold: 10,
width: 0,
breakPoints: []
}, qe(e.sharedObject, r, t), Re(e.sharedObject, t);
},
// 绑定元素的父组件卸载前调用
beforeUnmount(t, r, e) {
e.sharedObject && Ue(e.sharedObject);
}
}, At = {
created(t, r) {
t.setAttribute("title", t.textContent || r.value || "");
},
mounted(t, r) {
const e = r.value || t.textContent || "";
t.setAttribute("title", e);
},
updated(t, r) {
const e = r.value || t.textContent || "";
t.setAttribute("title", e);
},
beforeUpdate(t, r) {
const e = r.value || t.textContent || "";
t.setAttribute("title", e);
}
};
function ma(t, r, e, n, a) {
const i = k(t.disabled), o = k(!1), s = k(t.showBorder), u = k(t.textAlign), m = k(t.updateOn), p = k(!1), y = M(() => t.editable || !t.readonly && !t.disabled), v = M(() => t.editable && !t.disabled && !t.readonly), w = M(() => !t.disabled && !t.readonly && o.value), x = M(() => e.value === "" || e.value === null || e.value === void 0), c = M(() => (t.disabled || t.readonly) && !t.forcePlaceholder ? "" : t.placeholder), h = M(() => t.readonly || !t.editable), f = M(() => t.enableTitle ? e.value : ""), T = M(() => t.maxLength > 0 ? t.maxLength : void 0), d = M(() => ({
"form-control": !0,
"f-utils-fill": !0,
"text-left": u.value === "left",
"text-center": u.value === "center",
"text-right": u.value === "right"
})), b = M(() => {
const g = {
"f-cmp-inputgroup": !0,
"input-group": !0,
"f-state-disabled": i.value,
"f-state-editable": v.value,
"f-state-readonly": h.value,
"f-state-focus": w.value,
"input-group--has-clear": t.enableClear && p.value
};
return (t.customClass || "").split(" ").reduce((ue, Be) => (ue[Be] = !0, ue), g), g;
}), _ = (g) => t.maxLength > 0 && typeof g == "string" ? g.slice(0, t.maxLength) : g, $ = M(() => s.value ? "" : "border-width : 0 ");
function W() {
return t.type && t.type !== "text" ? t.type : t.showType || "text";
}
const H = k(W());
function O(g, B = !0) {
e.value = _(g), n.value !== e.value && (n.value = e.value), B && (r.emit("change", e.value), r.emit("update:modelValue", e.value), r.emit("update:value", e.value));
}
Z(
() => t.modelValue,
(g, B) => {
if (g === B)
return;
const ue = _(g);
O(ue, !(ue === g));
},
{ immediate: !0 }
), Z(() => t.disabled, (g, B) => {
g !== B && (i.value = g);
}), Z(() => t.showType, (g) => {
g && (H.value = g);
}), Z(() => t.type, (g) => {
H.value = g;
});
function oe(g) {
return g.stopPropagation(), o.value = !1, r.emit("blur", g), g.target.tagName === "TEXTAREA" && m.value === "blur" && (r.emit("update:modelValue", g.target.value), r.emit("update:value", g.target.value), r.emit("change", g.target.value)), !1;
}
function se(g) {
r.emit("click", g);
}
function U(g) {
i.value || h.value || (s.value && (o.value = !0), y.value && r.emit("focus", g));
}
function X(g) {
r.emit("input", g.target.value, g);
const B = g.target.value;
n.value = B, m.value === "change" && (r.emit("update:modelValue", B), r.emit("update:value", B), r.emit("change", B));
}
function G(g) {
r.emit("keydown", g);
}
function me(g) {
r.emit("keyup", g);
}
function we(g) {
const B = g.target;
B.tagName !== "INPUT" && B.tagName !== "TEXTAREA" && g.preventDefault(), g.stopPropagation(), r.emit("mousedownEvent", g);
}
function Te(g) {
r.emit("mouseupEvent", g);
}
function ge(g) {
if (m.value === "blur") {
const B = g.target.value;
g.stopPropagation(), O(B);
}
}
return {
changeTextBoxValue: O,
disabled: i,
displayText: n,
editable: v,
hasFocused: w,
inputGroupClass: b,
inputType: H,
isEmpty: x,
modelValue: e,
readonly: h,
maxLength: T,
onBlur: oe,
hasClearClass: p,
onClick: se,
onFocus: U,
onInput: X,
onKeydown: G,
onKeyup: me,
onMousedown: we,
onMouseup: Te,
onTextBoxValueChange: ge,
placeholder: c,
textBoxClass: d,
textBoxTitle: f,
inputGroupStyle: $
};
}
function wa(t, r, e, n) {
const a = k(t.disabled), i = k(!1), o = k("text"), s = k(t.showBorder), u = k(t.textAlign);
M(() => t.editable || !t.readonly);
const m = M(() => t.editable && !t.disabled && !t.readonly), p = M(() => !t.disabled && i.value), y = M(() => e.value === "" || e.value === null || e.value === void 0), v = M(() => t.placeholder), w = M(() => t.readonly || !t.editable), x = M(() => t.enableTitle ? e.value : ""), c = M(() => t.maxLength > 0 ? t.maxLength : void 0), h = M(() => ({
"form-control": !0,
// 'f-utils-fill': true,
"text-left": u.value === "left",
"text-center": u.value === "center",
"text-right": u.value === "right"
})), f = M(() => ({
"f-cmp-inputgroup": !0,
"input-group": !0,
"f-state-disabled": !0,
"f-state-editable": !1,
"f-state-readonly": !0
// 'f-state-focus': hasFocused.value
})), T = M(() => s.value ? "" : "border-width : 0 ");
function d(b, _ = !0) {
}
return {
changeTextBoxValue: d,
disabled: a,
displayText: n,
editable: m,
hasFocused: p,
inputGroupClass: f,
inputType: o,
isEmpty: y,
modelValue: e,
readonly: w,
maxLength: c,
// onBlur,
// onClick,
// onFocus,
// onInput,
// onKeydown,
// onKeyup,
// onMousedown,
// onTextBoxValueChange,
placeholder: v,
textBoxClass: h,
textBoxTitle: x,
inputGroupStyle: T
};
}
function ga(t, r, e) {
const n = k(!1), a = M(() => t.enableClear && !t.readonly && !t.disabled), { changeTextBoxValue: i, displayText: o, hasFocused: s, modelValue: u, isEmpty: m, hasClearClass: p } = e, y = k(!1);
function v(d) {
n.value = d, p && (p.value = n.value);
}
const w = M(() => a.value && !!(o != null && o.value) && y.value);
Z(o, () => {
v(w.value);
});
const x = M(() => ({
"input-group-text": !0,
"input-group-clear": !0
})), c = M(() => ({
width: "24px",
display: n.value ? "flex" : "none"
}));
function h(d) {
d.stopPropagation(), a.value && (i("", !0), v(!n.value), r.emit("clear"));
}
function f(d) {
var W, H;
y.value = !0;
const b = ((W = d.target.querySelector("input")) == null ? void 0 : W.value) || "", _ = ((H = d.target.querySelector("textarea")) == null ? void 0 : H.value) || "", $ = b || _;
$ !== u.value && (u.value = $), a.value && v(!!$);
}
function T(d) {
y.value = !1, a.value && v(!1);
}
return { clearButtonClass: x, clearButtonStyle: c, hasShownClearButton: n, onClearValue: h, onMouseEnter: f, onMouseLeave: T, shouldShowClearButton: a };
}
const Et = { jan: 1, feb: 2, mar: 3, apr: 4, may: 5, jun: 6, jul: 7, aug: 8, sep: 9, oct: 10, nov: 11, dec: 12 }, It = { sun: 0, mon: 1, tue: 2, wed: 3, thu: 4, fri: 5, sat: 6 };
class Ze {
constructor() {
l(this, "regexes", {
YEAR: "[1-9]\\d{3}",
MONTH: "1[0-2]|0?[1-9]",
MONTH2: "1[0-2]|0[1-9]",
MONTHNAME: "jan|january|feb|february|mar|march|apr|april|may|jun|june|jul|july|aug|august|sep|september|oct|october|nov|november|dec|december",
DAYNAME: "mon|monday|tue|tuesday|wed|wednesday|thu|thursday|fri|friday|sat|saturday|sun|sunday",
DAY: "3[01]|[12]\\d|0?[1-9]",
DAY2: "3[01]|[12]\\d|0[1-9]",
TIMEZONE: "[+-][01]\\d\\:?[0-5]\\d",
H24: "[01]\\d|2[0-3]",
MIN: "[0-5]\\d",
SEC: "[0-5]\\d",
MS: "\\d{3,}",
H12: "0?[1-9]|1[012]",
AMPM: "am|pm",
UNIT: "year|month|week|day|hour|minute|second|millisecond"
});
l(this, "patterns", [
// 2010-03-15
["iso_8601", this.makePattern("^(_YEAR_)-(_MONTH_)-(_DAY_)$"), "$2/$3/$1"],
// 3-15-2010
["us", this.makePattern("^(_MONTH_)([\\/-])(_DAY_)\\2(_YEAR_)$"), "$1/$3/$4"],
// 15.03.2010
["world", this.makePattern("^(_DAY_)([\\/\\.])(_MONTH_)\\2(_YEAR_)$"), "$3/$1/$4"],
// 15-Mar-2010, 8 Dec 2011, "Thu, 8 Dec 2011"
["chicago", this.makePattern("^(?:(?:_DAYNAME_),? )?(_DAY_)([ -])(_MONTHNAME_)\\2(_YEAR_)$"), "$3 $1, $4"],
// "March 4, 2012", "Mar 4 2012", "Sun Mar 4 2012"
["conversational", this.makePattern("^(?:(?:_DAYNAME_),? )?(_MONTHNAME_) (_DAY_),? (_YEAR_)$"), "$1 $2, $3"],
// Tue Jun 22 17:47:27 +0000 2010
[
"month_day_time_year",
this.makePattern("^(?:_DAYNAME_) (_MONTHNAME_) (_DAY_) ((?:_H24_)\\:(?:_MIN_)(?:\\:_SEC_)?) (_TIMEZONE_) (_YEAR_)$"),
(r) => {
const e = ("" + this.getMonthByName(r[1])).padStart(2, "0"), n = ("" + r[2]).padStart(2, "0"), a = r[5], i = r[3], o = r[4], s = a + "-" + e + "-" + n + "T" + i + o;
return isNaN(s) ? !1 : s;
}
],
// @123456789
[
"unix",
/^@(-?\d+)$/,
(r) => this.create(parseInt(r[1], 10) * 1e3)
],
// 24-hour time (This will help catch Date objects that are casted to a string)
[
"24_hour",
this.makePattern("^(?:(.+?)(?: |T))?(_H24_)\\:(_MIN_)(?:\\:(_SEC_)(?:\\.(_MS_))?)? ?(?:GMT)?(_TIMEZONE_)?(?: \\([A-Z]+\\))?$"),
(r) => {
let e;
const n = r[1];
if (n) {
if (e = this.create(n), isNaN(e))
return !1;
} else
e = /* @__PURE__ */ new Date(), e.setMilliseconds(0);
const a = r[2], i = r[3], o = r[4], s = r[5];
return e.setHours(parseFloat(a), parseFloat(i), parseFloat(o || 0)), s && e.setMilliseconds(+String(s).slice(0, 3)), e;
}
],
// 12-hour time
[
"12_hour",
this.makePattern("^(?:(.+) )?(_H12_)(?:\\:(_MIN_)(?:\\:(_SEC_))?)? ?(_AMPM_)$"),
(r) => {
let e;
const n = r[1];
if (n) {
if (e = this.create(n), isNaN(e))
return !1;
} else
e = /* @__PURE__ */ new Date(), e.setMilliseconds(0);
let a = parseFloat(r[2]);
a = r[5].toLowerCase() === "am" ? a === 12 ? 0 : a : a === 12 ? 12 : a + 12;
const i = r[3], o = r[4];
return e.setHours(a, parseFloat(i || 0), parseFloat(o || 0)), e;
}
]
]);
}
makePattern(r) {
return r = r.replace(/_([A-Z][A-Z0-9]+)_/g, (e, n) => this.regexes[n]), new RegExp(r, "i");
}
getMonthByName(r) {
return Et[String(r).slice(0, 3).toLowerCase()];
}
getWeekdayByName(r) {
return It[String(r).slice(0, 3).toLowerCase()];
}
parse(r) {
if (!isNaN(Number(r)))
return new Date(r);
if (r = String(r).replace(/^\s*(.*)\s*$/, "$1"), r = r.replace(/\s{2,}/g, " "), r === "")
return Date.now();
let e = 0;
for (; e < this.patterns.length; ) {
const n = this.patterns[e];
let a, i;
typeof n[0] == "string" ? (i = n[1], a = n[2]) : (i = n[0], a = n[1]);
const o = r.match(i);
if (!o) {
e++;
continue;
}
if (typeof a == "function") {
const s = a(o);
if (s instanceof Date)
return s;
} else {
const s = Date.parse(r.replace(i, a));
if (!isNaN(s))
return new Date(s);
}
e++;
}
return NaN;
}
create(r) {
return r == null ? Date.now() : r instanceof Date ? r : this.parse(r);
}
}
function I(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 C(t, r) {
return t instanceof Date ? new t.constructor(r) : new Date(r);
}
function Ke(t, r) {
const e = I(t);
return isNaN(r) ? C(t, NaN) : (r && e.setDate(e.getDate() + r), e);
}
const Je = 6048e5, Ht = 864e5, Ae = 6e4, Ee = 36e5, Wt = 1e3;
let Bt = {};
function ie() {
return Bt;
}
function J(t, r) {
var s, u, m, p;
const e = ie(), n = (r == null ? void 0 : r.weekStartsOn) ?? ((u = (s = r == null ? void 0 : r.locale) == null ? void 0 : s.options) == null ? void 0 : u.weekStartsOn) ?? e.weekStartsOn ?? ((p = (m = e.locale) == null ? void 0 : m.options) == null ? void 0 : p.weekStartsOn) ?? 0, a = I(t), i = a.getDay(), o = (i < n ? 7 : 0) + i - n;
return a.setDate(a.getDate() - o), a.setHours(0, 0, 0, 0), a;
}
function ae(t) {
return J(t, { weekStartsOn: 1 });
}
function et(t) {
const r = I(t), e = r.getFullYear(), n = C(t, 0);
n.setFullYear(e + 1, 0, 4), n.setHours(0, 0, 0, 0);
const a = ae(n), i = C(t, 0);
i.setFullYear(e, 0, 4), i.setHours(0, 0, 0, 0);
const o = ae(i);
return r.getTime() >= a.getTime() ? e + 1 : r.getTime() >= o.getTime() ? e : e - 1;
}
function Le(t) {
const r = I(t);
return r.setHours(0, 0, 0, 0), r;
}
function pe(t) {
const r = I(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 Rt(t, r) {
const e = Le(t), n = Le(r), a = +e - pe(e), i = +n - pe(n);
return Math.round((a - i) / Ht);
}
function qt(t) {
const r = et(t), e = C(t, 0);
return e.setFullYear(r, 0, 4), e.setHours(0, 0, 0, 0), ae(e);
}
function Lt(t) {
return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]";
}
function Pe(t) {
if (!Lt(t) && typeof t != "number")
return !1;
const r = I(t);
return !isNaN(Number(r));
}
function Ft(t) {
const r = I(t), e = C(t, 0);
return e.setFullYear(r.getFullYear(), 0, 1), e.setHours(0, 0, 0, 0), e;
}
const St = {
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"
}
}, $t = (t, r, e) => {
let n;
const a = St[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 De(t) {
return (r = {}) => {
const e = r.width ? String(r.width) : t.defaultWidth;
return t.formats[e] || t.formats[t.defaultWidth];
};
}
const zt = {
full: "EEEE, MMMM do, y",
long: "MMMM do, y",
medium: "MMM d, y",
short: "MM/dd/yyyy"
}, jt = {
full: "h:mm:ss a zzzz",
long: "h:mm:ss a z",
medium: "h:mm:ss a",
short: "h:mm a"
}, Qt = {
full: "{{date}} 'at' {{time}}",
long: "{{date}} 'at' {{time}}",
medium: "{{date}}, {{time}}",
short: "{{date}}, {{time}}"
}, Xt = {
date: De({
formats: zt,
defaultWidth: "full"
}),
time: De({
formats: jt,
defaultWidth: "full"
}),
dateTime: De({
formats: Qt,
defaultWidth: "full"
})
}, Gt = {
lastWeek: "'last' eeee 'at' p",
yesterday: "'yesterday at' p",
today: "'today at' p",
tomorrow: "'tomorrow at' p",
nextWeek: "eeee 'at' p",
other: "P"
}, Ut = (t, r, e, n) => Gt[t];
function ce(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, s = e != null && e.width ? String(e.width) : o;
a = t.formattingValues[s] || t.formattingValues[o];
} else {
const o = t.defaultWidth, s = e != null && e.width ? String(e.width) : t.defaultWidth;
a = t.values[s] || t.values[o];
}
const i = t.argumentCallback ? t.argumentCallback(r) : r;
return a[i];
};
}
const Vt = {
narrow: ["B", "A"],
abbreviated: ["BC", "AD"],
wide: ["Before Christ", "Anno Domini"]
}, Zt = {
narrow: ["1", "2", "3", "4"],
abbreviated: ["Q1", "Q2", "Q3", "Q4"],
wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
}, Kt = {
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"
]
}, Jt = {
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"
]
}, en = {
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"
}
}, tn = {
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"
}
}, nn = (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";
}, rn = {
ordinalNumber: nn,
era: ce({
values: Vt,
defaultWidth: "wide"
}),
quarter: ce({
values: Zt,
defaultWidth: "wide",
argumentCallback: (t) => t - 1
}),
month: ce({
values: Kt,
defaultWidth: "wide"
}),
day: ce({
values: Jt,
defaultWidth: "wide"
}),
dayPeriod: ce({
values: en,
defaultWidth: "wide",
formattingValues: tn,
defaultFormattingWidth: "wide"
})
};
function le(t) {
return (r, e = {}) => {
const n = e.width, a = n && t.matchPatterns[n] || t.matchPatterns[t.defaultMatchWidth], i = r.match(a);
if (!i)
return null;
const o = i[0], s = n && t.parsePatterns[n] || t.parsePatterns[t.defaultParseWidth], u = Array.isArray(s) ? on(s, (y) => y.test(o)) : (
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type
an(s, (y) => y.test(o))
);
let m;
m = t.valueCallback ? t.valueCallback(u) : u, m = e.valueCallback ? (
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type
e.valueCallback(m)
) : m;
const p = r.slice(o.length);
return { value: m, rest: p };
};
}
function an(t, r) {
for (const e in t)
if (Object.prototype.hasOwnProperty.call(t, e) && r(t[e]))
return e;
}
function on(t, r) {
for (let e = 0; e < t.length; e++)
if (r(t[e]))
return e;
}
function sn(t) {
return (r, e = {}) => {
const n = r.match(t.matchPattern);
if (!n) return null;
const a = n[0], i = r.match(t.parsePattern);
if (!i) return null;
let o = t.valueCallback ? t.valueCallback(i[0]) : i[0];
o = e.valueCallback ? e.valueCallback(o) : o;
const s = r.slice(a.length);
return { value: o, rest: s };
};
}
const un = /^(\d+)(th|st|nd|rd)?/i, cn = /\d+/i, ln = {
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
}, fn = {
any: [/^b/i, /^(a|c)/i]
}, dn = {
narrow: /^[1234]/i,
abbreviated: /^q[1234]/i,
wide: /^[1234](th|st|nd|rd)? quarter/i
}, hn = {
any: [/1/i, /2/i, /3/i, /4/i]
}, mn = {
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
}, wn = {
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
]
}, gn = {
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
}, bn = {
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]
}, yn = {
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
}, pn = {
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
}
}, vn = {
ordinalNumber: sn({
matchPattern: un,
parsePattern: cn,
valueCallback: (t) => parseInt(t, 10)
}),
era: le({
matchPatterns: ln,
defaultMatchWidth: "wide",
parsePatterns: fn,
defaultParseWidth: "any"
}),
quarter: le({
matchPatterns: dn,
defaultMatchWidth: "wide",
parsePatterns: hn,
defaultParseWidth: "any",
valueCallback: (t) => t + 1
}),
month: le({
matchPatterns: mn,
defaultMatchWidth: "wide",
parsePatterns: wn,
defaultParseWidth: "any"
}),
day: le({
matchPatterns: gn,
defaultMatchWidth: "wide",
parsePatterns: bn,
defaultParseWidth: "any"
}),
dayPeriod: le({
matchPatterns: yn,
defaultMatchWidth: "any",
parsePatterns: pn,
defaultParseWidth: "any"
})
}, tt = {
code: "en-US",
formatDistance: $t,
formatLong: Xt,
formatRelative: Ut,
localize: rn,
match: vn,
options: {
weekStartsOn: 0,
firstWeekContainsDate: 1
}
};
function xn(t) {
const r = I(t);
return Rt(r, Ft(r)) + 1;
}
function nt(t) {
const r = I(t), e = +ae(r) - +qt(r);
return Math.round(e / Je) + 1;
}
function Ie(t, r) {
var p, y, v, w;
const e = I(t), n = e.getFullYear(), a = ie(), i = (r == null ? void 0 : r.firstWeekContainsDate) ?? ((y = (p = r == null ? void 0 : r.locale) == null ? void 0 : p.options) == null ? void 0 : y.firstWeekContainsDate) ?? a.firstWeekContainsDate ?? ((w = (v = a.locale) == null ? void 0 : v.options) == null ? void 0 : w.firstWeekContainsDate) ?? 1, o = C(t, 0);
o.setFullYear(n + 1, 0, i), o.setHours(0, 0, 0, 0);
const s = J(o, r), u = C(t, 0);
u.setFullYear(n, 0, i), u.setHours(0, 0, 0, 0);
const m = J(u, r);
return e.getTime() >= s.getTime() ? n + 1 : e.getTime() >= m.getTime() ? n : n - 1;
}
function Tn(t, r) {
var s, u, m, p;
const e = ie(), n = (r == null ? void 0 : r.firstWeekContainsDate) ?? ((u = (s = r == null ? void 0 : r.locale) == null ? void 0 : s.options) == null ? void 0 : u.firstWeekContainsDate) ?? e.firstWeekContainsDate ?? ((p = (m = e.locale) == null ? void 0 : m.options) == null ? void 0 : p.firstWeekContainsDate) ?? 1, a = Ie(t, r), i = C(t, 0);
return i.setFullYear(a, 0, n), i.setHours(0, 0, 0, 0), J(i, r);
}
function rt(t, r) {
const e = I(t), n = +J(e, r) - +Tn(e, r);
return Math.round(n / Je) + 1;
}
function N(t, r) {
const e = t < 0 ? "-" : "", n = Math.abs(t).toString().padStart(r, "0");
return e + n;
}
const V = {
// Year
y(t, r) {
const e = t.getFullYear(), n = e > 0 ? e : 1 - e;
return N(r === "yy" ? n % 100 : n, r.length);
},
// Month
M(t, r) {
const e = t.getMonth();
return r === "M" ? String(e + 1) : N(e + 1, 2);
},
// Day of the month
d(t, r) {
return N(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 N(t.getHours() % 12 || 12, r.length);
},
// Hour [0-23]
H(t, r) {
return N(t.getHours(), r.length);
},
// Minute
m(t, r) {
return N(t.getMinutes(), r.length);
},
// Second
s(t, r) {
return N(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 N(a, r.length);
}
}, te = {
midnight: "midnight",
noon: "noon",
morning: "morning",
afternoon: "afternoon",
evening: "evening",
night: "night"
}, Fe = {
// 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 V.y(t, r);
},
// Local week-numbering year
Y: function(t, r, e, n) {
const a = Ie(t, n), i = a > 0 ? a : 1 - a;
if (r === "YY") {
const o = i % 100;
return N(o, 2);
}
return r === "Yo" ? e.ordinalNumber(i, { unit: "year" }) : N(i, r.length);
},
// ISO week-numbering year
R: function(t, r) {
const e = et(t);
return N(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 N(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 N(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 N(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 V.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 N(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 = rt(t, n);
return r === "wo" ? e.ordinalNumber(a, { unit: "week" }) : N(a, r.length);
},
// ISO week of year
I: function(t, r, e) {
const n = nt(t);
return r === "Io" ? e.ordinalNumber(n, { unit: "week" }) : N(n, r.length);
},
// Day of the month
d: function(t, r, e) {
return r === "do" ? e.ordinalNumber(t.getDate(), { unit: "date" }) : V.d(t, r);
},
// Day of year
D: function(t, r, e) {
const n = xn(t);
return r === "Do" ? e.ordinalNumber(n, { unit: "dayOfYear" }) : N(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(), i = (a - n.weekStartsOn + 8) % 7 || 7;
switch (r) {
case "e":
return String(i);
case "ee":
return N(i, 2);
case "eo":
return e.ordinalNumber(i, { 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(), i = (a - n.weekStartsOn + 8) % 7 || 7;
switch (r) {
case "c":
return String(i);
case "cc":
return N(i, r.length);
case "co":
return e.ordinalNumber(i, { 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 N(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 = te.noon : n === 0 ? a = te.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 = te.evening : n >= 12 ? a = te.afternoon : n >= 4 ? a = te.morning : a = te.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 V.h(t, r);
},
// Hour [0-23]
H: function(t, r, e) {
return r === "Ho" ? e.ordinalNumber(t.getHours(), { unit: "hour" }) : V.H(t, r);
},
// Hour [0-11]
K: function(t, r, e) {
const n = t.getHours() % 12;
return r === "Ko" ? e.ordinalNumber(n, { unit: "hour" }) : N(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" }) : N(n, r.length);
},
// Minute
m: function(t, r, e) {
return r === "mo" ? e.ordinalNumber(t.getMinutes(), { unit: "minute" }) : V.m(t, r);
},
// Second
s: function(t, r, e) {
return r === "so" ? e.ordinalNumber(t.getSeconds(), { unit: "second" }) : V.s(t, r);
},
// Fraction of second
S: function(t, r) {
return V.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 $e(n);
case "XXXX":
case "XX":
return ee(n);
case "XXXXX":
case "XXX":
default:
return ee(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 $e(n);
case "xxxx":
case "xx":
return ee(n);
case "xxxxx":
case "xxx":
default:
return ee(n, ":");
}
},
// Timezone (GMT)
O: function(t, r, e) {
const n = t.getTimezoneOffset();
switch (r) {
case "O":
case "OO":
case "OOO":
return "GMT" + Se(n, ":");
case "OOOO":
default:
return "GMT" + ee(n, ":");
}
},
// Timezone (specific non-location)
z: function(t, r, e) {
const n = t.getTimezoneOffset();
switch (r) {
case "z":
case "zz":
case "zzz":
return "GMT" + Se(n, ":");
case "zzzz":
default:
return "GMT" + ee(n, ":");
}
},
// Seconds timestamp
t: function(t, r, e) {
const n = Math.trunc(t.getTime() / 1e3);
return N(n, r.length);
},
// Milliseconds timestamp
T: function(t, r, e) {
const n = t.getTime();
return N(n, r.length);
}
};
function Se(t, r = "") {
const e = t > 0 ? "-" : "+", n = Math.abs(t), a = Math.trunc(n / 60), i = n % 60;
return i === 0 ? e + String(a) : e + String(a) + r + N(i, 2);
}
function $e(t, r) {
return t % 60 === 0 ? (t > 0 ? "-" : "+") + N(Math.abs(t) / 60, 2) : ee(t, r);
}
function ee(t, r = "") {
const e = t > 0 ? "-" : "+", n = Math.abs(t), a = N(Math.trunc(n / 60), 2), i = N(n % 60, 2);
return e + a + r + i;
}
const ze = (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" });
}
}, at = (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" });
}
}, Mn = (t, r) => {
const e = t.match(/(P+)(p+)?/) || [], n = e[1], a = e[2];
if (!a)
return ze(t, r);
let i;
switch (n) {
case "P":
i = r.dateTime({ width: "short" });
break;
case "PP":
i = r.dateTime({ width: "medium" });
break;
case "PPP":
i = r.dateTime({ width: "long" });
break;
case "PPPP":
default:
i = r.dateTime({ width: "full" });
break;
}
return i.replace("{{date}}", ze(n, r)).replace("{{time}}", at(a, r));
}, Ce = {
p: at,
P: Mn
}, Dn = /^D+$/, Nn = /^Y+$/, kn = ["D", "DD", "YY", "YYYY"];
function it(t) {
return Dn.test(t);
}
function ot(t) {
return Nn.test(t);
}
function Ye(t, r, e) {
const n = On(t, r, e);
if (console.warn(n), kn.includes(t)) throw new RangeError(n);
}
function On(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 _n = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, Pn = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Cn = /^'([^]*?)'?$/, Yn = /''/g, An = /[a-zA-Z]/;
function he(t, r, e) {
var p, y, v, w;
const n = ie(), a = n.locale ?? tt, i = n.firstWeekContainsDate ?? ((y = (p = n.locale) == null ? void 0 : p.options) == null ? void 0 : y.firstWeekContainsDate) ?? 1, o = n.weekStartsOn ?? ((w = (v = n.locale) == null ? void 0 : v.options) == null ? void 0 : w.weekStartsOn) ?? 0, s = I(t);
if (!Pe(s))
throw new RangeError("Invalid time value");
let u = r.match(Pn).map((x) => {
const c = x[0];
if (c === "p" || c === "P") {
const h = Ce[c];
return h(x, a.formatLong);
}
return x;
}).join("").match(_n).map((x) => {
if (x === "''")
return { isToken: !1, value: "'" };
const c = x[0];
if (c === "'")
return { isToken: !1, value: En(x) };
if (Fe[c])
return { isToken: !0, value: x };
if (c.match(An))
throw new RangeError(
"Format string contains an unescaped latin alphabet character `" + c + "`"
);
return { isToken: !1, value: x };
});
a.localize.preprocessor && (u = a.localize.preprocessor(s, u));
const m = {
firstWeekContainsDate: i,
weekStartsOn: o,
locale: a
};
return u.map((x) => {
if (!x.isToken) return x.value;
const c = x.value;
(ot(c) || it(c)) && Ye(c, r, String(t));
const h = Fe[c[0]];
return h(s, c, a.localize, m);
}).join("");
}
function En(t) {
const r = t.match(Cn);
return r ? r[1].replace(Yn, "'") : t;
}
function In() {
return Object.assign({}, ie());
}
function Hn(t) {
let e = I(t).getDay();
return e === 0 && (e = 7), e;
}
function Wn(t, r) {
const e = r instanceof Date ? C(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 Bn = 10;
class st {
constructor() {
l(this, "subPriority", 0);
}
validate(r, e) {
return !0;
}
}
class Rn extends st {
constructor(r, e, n, a, i) {
super(), this.value = r, this.validateValue = e, this.setValue = n, this.priority = a, i && (this.subPriority = i);
}
validate(r, e) {
return this.validateValue(r, this.value, e);
}
set(r, e, n) {
return this.setValue(r, e, this.value, n);
}
}
class qn extends st {
constructor() {
super(...arguments);
l(this, "priority", Bn);
l(this, "subPriority", -1);
}
set(e, n) {
return n.timestampIsSet ? e : C(e, Wn(e, Date));
}
}
class D {
run(r, e, n, a) {
const i = this.parse(r, e, n, a);
return i ? {
setter: new Rn(
i.value,
this.validate,
this.set,
this.priority,
this.subPriority
),
rest: i.rest
} : null;
}
validate(r, e, n) {
return !0;
}
}
class Ln extends D {
constructor() {
super(...arguments);
l(this, "priority", 140);
l(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 A = {
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
}, j = {
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 E(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 Q(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, i = e[3] ? parseInt(e[3], 10) : 0, o = e[5] ? parseInt(e[5], 10) : 0;
return {
value: n * (a * Ee + i * Ae + o * Wt),
rest: r.slice(e[0].length)
};
}
function ut(t) {
return P(A.anyDigitsSigned, t);
}
function Y(t, r) {
switch (t) {
case 1:
return P(A.singleDigit, r);
case 2:
return P(A.twoDigits, r);
case 3:
return P(A.threeDigits, r);
case 4:
return P(A.fourDigits, r);
default:
return P(new RegExp("^\\d{1," + t + "}"), r);
}
}
function ve(t, r) {
switch (t) {
case 1:
return P(A.singleDigitSigned, r);
case 2:
return P(A.twoDigitsSigned, r);
case 3:
return P(A.threeDigitsSigned, r);
case 4:
return P(A.fourDigitsSigned, r);
default:
return P(new RegExp("^-?\\d{1," + t + "}"), r);
}
}
function He(t) {
switch (t) {
case "morning":
return 4;
case "evening":
return 17;
case "pm":
case "noon":
case "afternoon":
return 12;
case "am":
case "midn