UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1,839 lines 113 kB
var vt = Object.defineProperty; var xt = (t, r, e) => r in t ? vt(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e; var l = (t, r, e) => xt(t, typeof r != "symbol" ? r + "" : r, e); import { ref as k, computed as D, watch as Z, onUnmounted as Tt, inject as Dt, defineComponent as Mt, provide as Nt, renderSlot as kt } from "vue"; import S from "bignumber.js"; import { isUndefined as Ot } 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 _t = [ { 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), s = t.breakPoints; for (let o = 0; o < s.length; o++) s[o].width <= i && n.push(s[o].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 Pt(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 = []; } Pt(t, r); } function Ct(t) { const r = []; return _t.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((o) => o.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 = Ct(e)); } const De = { // 在绑定元素的父组件 // 及他自己的所有子节点都挂载完成后调用 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); } }, Yt = { 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 ha(t, r, e, n, a) { const i = k(t.disabled), s = k(!1), o = k(t.showBorder), u = k(t.textAlign), m = k(t.updateOn), p = k(!1), y = D(() => t.editable || !t.readonly && !t.disabled), v = D(() => t.editable && !t.disabled && !t.readonly), w = D(() => !t.disabled && !t.readonly && s.value), x = D(() => e.value === "" || e.value === null || e.value === void 0), c = D(() => (t.disabled || t.readonly) && !t.forcePlaceholder ? "" : t.placeholder), h = D(() => t.readonly || !t.editable), f = D(() => t.enableTitle ? e.value : ""), T = D(() => t.maxLength > 0 ? t.maxLength : void 0), d = D(() => ({ "form-control": !0, "f-utils-fill": !0, "text-left": u.value === "left", "text-center": u.value === "center", "text-right": u.value === "right" })), b = D(() => { 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, $ = D(() => o.value ? "" : "border-width : 0 "); function W() { return t.type && t.type !== "text" ? t.type : t.showType || "text"; } const I = 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 && (I.value = g); }), Z(() => t.type, (g) => { I.value = g; }); function se(g) { return g.stopPropagation(), s.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 oe(g) { r.emit("click", g); } function U(g) { i.value || h.value || (o.value && (s.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: I, isEmpty: x, modelValue: e, readonly: h, maxLength: T, onBlur: se, hasClearClass: p, onClick: oe, onFocus: U, onInput: X, onKeydown: G, onKeyup: me, onMousedown: we, onMouseup: Te, onTextBoxValueChange: ge, placeholder: c, textBoxClass: d, textBoxTitle: f, inputGroupStyle: $ }; } function ma(t, r, e, n) { const a = k(t.disabled), i = k(!1), s = k("text"), o = k(t.showBorder), u = k(t.textAlign); D(() => t.editable || !t.readonly); const m = D(() => t.editable && !t.disabled && !t.readonly), p = D(() => !t.disabled && i.value), y = D(() => e.value === "" || e.value === null || e.value === void 0), v = D(() => t.placeholder), w = D(() => t.readonly || !t.editable), x = D(() => t.enableTitle ? e.value : ""), c = D(() => t.maxLength > 0 ? t.maxLength : void 0), h = D(() => ({ "form-control": !0, // 'f-utils-fill': true, "text-left": u.value === "left", "text-center": u.value === "center", "text-right": u.value === "right" })), f = D(() => ({ "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 = D(() => o.value ? "" : "border-width : 0 "); function d(b, _ = !0) { } return { changeTextBoxValue: d, disabled: a, displayText: n, editable: m, hasFocused: p, inputGroupClass: f, inputType: s, 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 wa(t, r, e) { const n = k(!1), a = D(() => t.enableClear && !t.readonly && !t.disabled), { changeTextBoxValue: i, displayText: s, hasFocused: o, modelValue: u, isEmpty: m, hasClearClass: p } = e, y = k(!1); function v(d) { n.value = d, p && (p.value = n.value); } const w = D(() => a.value && !!(s != null && s.value) && y.value); Z(s, () => { v(w.value); }); const x = D(() => ({ "input-group-text": !0, "input-group-clear": !0 })), c = D(() => ({ 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, I; y.value = !0; const b = ((W = d.target.querySelector("input")) == null ? void 0 : W.value) || "", _ = ((I = d.target.querySelector("textarea")) == null ? void 0 : I.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 At = { jan: 1, feb: 2, mar: 3, apr: 4, may: 5, jun: 6, jul: 7, aug: 8, sep: 9, oct: 10, nov: 11, dec: 12 }, Et = { 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], s = r[4], o = a + "-" + e + "-" + n + "T" + i + s; return isNaN(o) ? !1 : o; } ], // @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], s = r[4], o = r[5]; return e.setHours(parseFloat(a), parseFloat(i), parseFloat(s || 0)), o && e.setMilliseconds(+String(o).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], s = r[4]; return e.setHours(a, parseFloat(i || 0), parseFloat(s || 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 At[String(r).slice(0, 3).toLowerCase()]; } getWeekdayByName(r) { return Et[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 s = r.match(i); if (!s) { e++; continue; } if (typeof a == "function") { const o = a(s); if (o instanceof Date) return o; } else { const o = Date.parse(r.replace(i, a)); if (!isNaN(o)) return new Date(o); } e++; } return NaN; } create(r) { return r == null ? Date.now() : r instanceof Date ? r : this.parse(r); } } function H(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 = H(t); return isNaN(r) ? C(t, NaN) : (r && e.setDate(e.getDate() + r), e); } const Je = 6048e5, Ht = 864e5, Ae = 6e4, Ee = 36e5, It = 1e3; let Wt = {}; function ie() { return Wt; } function J(t, r) { var o, u, m, p; const e = ie(), n = (r == null ? void 0 : r.weekStartsOn) ?? ((u = (o = r == null ? void 0 : r.locale) == null ? void 0 : o.options) == null ? void 0 : u.weekStartsOn) ?? e.weekStartsOn ?? ((p = (m = e.locale) == null ? void 0 : m.options) == null ? void 0 : p.weekStartsOn) ?? 0, a = H(t), i = a.getDay(), s = (i < n ? 7 : 0) + i - n; return a.setDate(a.getDate() - s), a.setHours(0, 0, 0, 0), a; } function ae(t) { return J(t, { weekStartsOn: 1 }); } function et(t) { const r = H(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 s = ae(i); return r.getTime() >= a.getTime() ? e + 1 : r.getTime() >= s.getTime() ? e : e - 1; } function Le(t) { const r = H(t); return r.setHours(0, 0, 0, 0), r; } function pe(t) { const r = H(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 Bt(t, r) { const e = Le(t), n = Le(r), a = +e - pe(e), i = +n - pe(n); return Math.round((a - i) / Ht); } function Rt(t) { const r = et(t), e = C(t, 0); return e.setFullYear(r, 0, 4), e.setHours(0, 0, 0, 0), ae(e); } function qt(t) { return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]"; } function Pe(t) { if (!qt(t) && typeof t != "number") return !1; const r = H(t); return !isNaN(Number(r)); } function Lt(t) { const r = H(t), e = C(t, 0); return e.setFullYear(r.getFullYear(), 0, 1), e.setHours(0, 0, 0, 0), e; } const Ft = { 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" } }, St = (t, r, e) => { let n; const a = Ft[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 Me(t) { return (r = {}) => { const e = r.width ? String(r.width) : t.defaultWidth; return t.formats[e] || t.formats[t.defaultWidth]; }; } const $t = { full: "EEEE, MMMM do, y", long: "MMMM do, y", medium: "MMM d, y", short: "MM/dd/yyyy" }, zt = { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }, jt = { full: "{{date}} 'at' {{time}}", long: "{{date}} 'at' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, Qt = { date: Me({ formats: $t, defaultWidth: "full" }), time: Me({ formats: zt, defaultWidth: "full" }), dateTime: Me({ formats: jt, defaultWidth: "full" }) }, Xt = { lastWeek: "'last' eeee 'at' p", yesterday: "'yesterday at' p", today: "'today at' p", tomorrow: "'tomorrow at' p", nextWeek: "eeee 'at' p", other: "P" }, Gt = (t, r, e, n) => Xt[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 s = t.defaultFormattingWidth || t.defaultWidth, o = e != null && e.width ? String(e.width) : s; a = t.formattingValues[o] || t.formattingValues[s]; } else { const s = t.defaultWidth, o = e != null && e.width ? String(e.width) : t.defaultWidth; a = t.values[o] || t.values[s]; } const i = t.argumentCallback ? t.argumentCallback(r) : r; return a[i]; }; } const Ut = { narrow: ["B", "A"], abbreviated: ["BC", "AD"], wide: ["Before Christ", "Anno Domini"] }, Vt = { narrow: ["1", "2", "3", "4"], abbreviated: ["Q1", "Q2", "Q3", "Q4"], wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] }, Zt = { 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" ] }, Kt = { 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" ] }, Jt = { 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" } }, en = { 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" } }, tn = (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"; }, nn = { ordinalNumber: tn, era: ce({ values: Ut, defaultWidth: "wide" }), quarter: ce({ values: Vt, defaultWidth: "wide", argumentCallback: (t) => t - 1 }), month: ce({ values: Zt, defaultWidth: "wide" }), day: ce({ values: Kt, defaultWidth: "wide" }), dayPeriod: ce({ values: Jt, defaultWidth: "wide", formattingValues: en, 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 s = i[0], o = n && t.parsePatterns[n] || t.parsePatterns[t.defaultParseWidth], u = Array.isArray(o) ? an(o, (y) => y.test(s)) : ( // eslint-disable-next-line @typescript-eslint/no-explicit-any -- I challange you to fix the type rn(o, (y) => y.test(s)) ); 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(s.length); return { value: m, rest: p }; }; } function rn(t, r) { for (const e in t) if (Object.prototype.hasOwnProperty.call(t, e) && r(t[e])) return e; } function an(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 s = t.valueCallback ? t.valueCallback(i[0]) : i[0]; s = e.valueCallback ? e.valueCallback(s) : s; const o = r.slice(a.length); return { value: s, rest: o }; }; } const on = /^(\d+)(th|st|nd|rd)?/i, un = /\d+/i, cn = { 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 }, ln = { any: [/^b/i, /^(a|c)/i] }, fn = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](th|st|nd|rd)? quarter/i }, dn = { any: [/1/i, /2/i, /3/i, /4/i] }, hn = { 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 }, mn = { 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 ] }, wn = { 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 }, gn = { 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] }, bn = { 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 }, yn = { 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 } }, pn = { ordinalNumber: sn({ matchPattern: on, parsePattern: un, valueCallback: (t) => parseInt(t, 10) }), era: le({ matchPatterns: cn, defaultMatchWidth: "wide", parsePatterns: ln, defaultParseWidth: "any" }), quarter: le({ matchPatterns: fn, defaultMatchWidth: "wide", parsePatterns: dn, defaultParseWidth: "any", valueCallback: (t) => t + 1 }), month: le({ matchPatterns: hn, defaultMatchWidth: "wide", parsePatterns: mn, defaultParseWidth: "any" }), day: le({ matchPatterns: wn, defaultMatchWidth: "wide", parsePatterns: gn, defaultParseWidth: "any" }), dayPeriod: le({ matchPatterns: bn, defaultMatchWidth: "any", parsePatterns: yn, defaultParseWidth: "any" }) }, tt = { code: "en-US", formatDistance: St, formatLong: Qt, formatRelative: Gt, localize: nn, match: pn, options: { weekStartsOn: 0, firstWeekContainsDate: 1 } }; function vn(t) { const r = H(t); return Bt(r, Lt(r)) + 1; } function nt(t) { const r = H(t), e = +ae(r) - +Rt(r); return Math.round(e / Je) + 1; } function He(t, r) { var p, y, v, w; const e = H(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, s = C(t, 0); s.setFullYear(n + 1, 0, i), s.setHours(0, 0, 0, 0); const o = J(s, r), u = C(t, 0); u.setFullYear(n, 0, i), u.setHours(0, 0, 0, 0); const m = J(u, r); return e.getTime() >= o.getTime() ? n + 1 : e.getTime() >= m.getTime() ? n : n - 1; } function xn(t, r) { var o, u, m, p; const e = ie(), n = (r == null ? void 0 : r.firstWeekContainsDate) ?? ((u = (o = r == null ? void 0 : r.locale) == null ? void 0 : o.options) == null ? void 0 : u.firstWeekContainsDate) ?? e.firstWeekContainsDate ?? ((p = (m = e.locale) == null ? void 0 : m.options) == null ? void 0 : p.firstWeekContainsDate) ?? 1, a = He(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 = H(t), n = +J(e, r) - +xn(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 = He(t, n), i = a > 0 ? a : 1 - a; if (r === "YY") { const s = i % 100; return N(s, 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 = vn(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" }); } }, Tn = (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: Tn }, Dn = /^D+$/, Mn = /^Y+$/, Nn = ["D", "DD", "YY", "YYYY"]; function it(t) { return Dn.test(t); } function st(t) { return Mn.test(t); } function Ye(t, r, e) { const n = kn(t, r, e); if (console.warn(n), Nn.includes(t)) throw new RangeError(n); } function kn(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 On = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, _n = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Pn = /^'([^]*?)'?$/, Cn = /''/g, Yn = /[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, s = n.weekStartsOn ?? ((w = (v = n.locale) == null ? void 0 : v.options) == null ? void 0 : w.weekStartsOn) ?? 0, o = H(t); if (!Pe(o)) throw new RangeError("Invalid time value"); let u = r.match(_n).map((x) => { const c = x[0]; if (c === "p" || c === "P") { const h = Ce[c]; return h(x, a.formatLong); } return x; }).join("").match(On).map((x) => { if (x === "''") return { isToken: !1, value: "'" }; const c = x[0]; if (c === "'") return { isToken: !1, value: An(x) }; if (Fe[c]) return { isToken: !0, value: x }; if (c.match(Yn)) throw new RangeError( "Format string contains an unescaped latin alphabet character `" + c + "`" ); return { isToken: !1, value: x }; }); a.localize.preprocessor && (u = a.localize.preprocessor(o, u)); const m = { firstWeekContainsDate: i, weekStartsOn: s, locale: a }; return u.map((x) => { if (!x.isToken) return x.value; const c = x.value; (st(c) || it(c)) && Ye(c, r, String(t)); const h = Fe[c[0]]; return h(o, c, a.localize, m); }).join(""); } function An(t) { const r = t.match(Pn); return r ? r[1].replace(Cn, "'") : t; } function En() { return Object.assign({}, ie()); } function Hn(t) { let e = H(t).getDay(); return e === 0 && (e = 7), e; } function In(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 Wn = 10; class ot { constructor() { l(this, "subPriority", 0); } validate(r, e) { return !0; } } class Bn extends ot { 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 Rn extends ot { constructor() { super(...arguments); l(this, "priority", Wn); l(this, "subPriority", -1); } set(e, n) { return n.timestampIsSet ? e : C(e, In(e, Date)); } } class M { run(r, e, n, a) { const i = this.parse(r, e, n, a); return i ? { setter: new Bn( i.value, this.validate, this.set, this.priority, this.subPriority ), rest: i.rest } : null; } validate(r, e, n) { return !0; } } class qn extends M { 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, s = e[5] ? parseInt(e[5], 10) : 0; return { value: n * (a * Ee + i * Ae + s * It), 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 Ie(t) { switch (t) { case "morning": return 4; case "evening": return 17; case "pm": case "noon": case "afternoon": return 12; case "am": case "midn