@oslokommune/punkt-react
Version:
React komponentbibliotek til Punkt, et designsystem laget av Oslo Origo
1,776 lines • 268 kB
JavaScript
if (typeof window === 'undefined') { globalThis.window = globalThis; }
import { Children as e, cloneElement as t, createContext as n, createRef as r, forwardRef as i, isValidElement as a, useCallback as o, useContext as s, useEffect as c, useId as l, useImperativeHandle as u, useLayoutEffect as d, useMemo as f, useRef as p, useState as m } from "react";
import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
import { Link as v } from "react-router-dom";
//#region \0rolldown/runtime.js
var y = Object.create, b = Object.defineProperty, x = Object.getOwnPropertyDescriptor, S = Object.getOwnPropertyNames, C = Object.getPrototypeOf, w = Object.prototype.hasOwnProperty, T = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), E = (e, t, n, r) => {
if (t && typeof t == "object" || typeof t == "function") for (var i = S(t), a = 0, o = i.length, s; a < o; a++) s = i[a], !w.call(e, s) && s !== n && b(e, s, {
get: ((e) => t[e]).bind(null, s),
enumerable: !(r = x(t, s)) || r.enumerable
});
return e;
}, D = (e, t, n) => (n = e == null ? {} : y(C(e)), E(t || !e || !e.__esModule ? b(n, "default", {
value: e,
enumerable: !0
}) : n, e)), O = n({}), k = () => s(O), ee = i(({ compact: e = !1, skin: t = "borderless", ariaLabelledBy: n, children: r, name: i, className: a }, o) => {
let s = [
"pkt-accordion",
e && "pkt-accordion--compact",
t && `pkt-accordion--${t}`,
a
].filter(Boolean).join(" ");
return /* @__PURE__ */ g(O.Provider, {
value: {
name: i,
skin: t
},
children: /* @__PURE__ */ g("div", {
ref: o,
className: s,
"data-testid": "pkt-accordion",
"aria-labelledby": n || void 0,
children: r
})
});
});
ee.displayName = "PktAccordion";
//#endregion
//#region src/components/icon/Icon.tsx
var A = /* @__PURE__ */ D((/* @__PURE__ */ T(((e, t) => {
(function() {
var e = {}.hasOwnProperty;
function n() {
for (var e = "", t = 0; t < arguments.length; t++) {
var n = arguments[t];
n && (e = i(e, r(n)));
}
return e;
}
function r(t) {
if (typeof t == "string" || typeof t == "number") return t;
if (typeof t != "object") return "";
if (Array.isArray(t)) return n.apply(null, t);
if (t.toString !== Object.prototype.toString && !t.toString.toString().includes("[native code]")) return t.toString();
var r = "";
for (var a in t) e.call(t, a) && t[a] && (r = i(r, a));
return r;
}
function i(e, t) {
return t ? e ? e + " " + t : e + t : e;
}
t !== void 0 && t.exports ? (n.default = n, t.exports = n) : typeof define == "function" && typeof define.amd == "object" && define.amd ? define("classnames", [], function() {
return n;
}) : window.classNames = n;
})();
})))(), 1), j = "https://punkt-cdn.oslo.kommune.no/17.0/icons/";
typeof window < "u" && (window.pktFetch = window.pktFetch === void 0 ? fetch : window.pktFetch, window.pktIconPath = window.pktIconPath || j);
var M = "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"></svg>", te = {}, ne = 2, re = 1500, N = typeof Storage < "u" && typeof sessionStorage < "u", ie = typeof window < "u" ? d : c, ae = (e, t) => !e || !N ? "" : sessionStorage.getItem(t + e + ".svg") ?? "", oe = (e) => window.pktFetch(e).then((t) => {
if (!t.ok) throw Error("Missing icon: " + e);
return t.text();
}), se = async (e, t = ne) => {
try {
return await oe(e);
} catch {
return t > 0 ? (await new Promise((e) => setTimeout(e, re)), se(e, t - 1)) : (console.error("Failed to fetch icon: " + e), M);
}
}, ce = async (e, t) => {
let n = t + e + ".svg";
return N && sessionStorage.getItem(n) ? sessionStorage.getItem(n) : n in te ? te[n] : typeof window < "u" && typeof window.pktFetch == "function" ? (te[n] = se(n).then((e) => (e !== M && N && sessionStorage.setItem(n, e), delete te[n], e)), te[n]) : M;
}, le = (e) => {
if (e !== void 0) return e === !0 || e === "true";
}, P = i(function({ name: e = "", path: t, className: n, ariaHidden: r, ariaLabel: i, "aria-hidden": a, "aria-label": o, ...s }, c) {
let l = t ?? (typeof window < "u" ? window.pktIconPath : j), u = p(null), d = le(r) ?? le(a), f = i ?? o, m = d === void 0 ? !f : d, h = m ? void 0 : f || e;
ie(() => {
let t = u.current;
if (!t) return;
let n = (e) => {
let t = e.querySelector("svg");
t && (t.setAttribute("aria-hidden", String(m)), h ? t.setAttribute("aria-label", h) : t.removeAttribute("aria-label"));
};
if (!e) {
t.innerHTML = "";
return;
}
let r = ae(e, l);
if (r) {
t.innerHTML = r, n(t);
return;
}
let i = !1;
return ce(e, l).then((e) => {
if (i) return;
let t = u.current;
t && (t.innerHTML = e || M, n(t));
}), () => {
i = !0;
};
}, [
e,
l,
m,
h
]);
let _ = (e) => {
u.current = e, typeof c == "function" ? c(e) : c && (c.current = e);
};
return /* @__PURE__ */ g("span", {
...s,
ref: _,
className: (0, A.default)("pkt-icon", n),
...e ? { name: e } : {},
"data-path": l
});
});
P.displayName = "PktIcon";
//#endregion
//#region src/components/accordion/AccordionItem.tsx
var F = i(({ defaultOpen: e = !1, id: t, title: n, skin: r, compact: i = !1, isOpen: a, children: o, name: s, className: c, onClick: l, onToggle: u }, d) => {
let [f, p] = m(e), { name: v, skin: y } = k(), b = s || v, x = r || y, S = a === void 0 ? f : a;
return /* @__PURE__ */ _("details", {
ref: d,
className: [
"pkt-accordion-item",
i && "pkt-accordion-item--compact",
r && `pkt-accordion-item--${r}`,
c
].filter(Boolean).join(" "),
id: t,
open: S,
onClick: (e) => {
setTimeout(() => {
l?.(e);
}, 0);
},
name: b,
onToggle: (e) => {
let t = e.currentTarget.open;
t !== S && (a === void 0 && p(t), u?.(e));
},
children: [/* @__PURE__ */ _("summary", {
className: "pkt-accordion-item__title",
id: `pkt-accordion-item-summary-${t}`,
children: [n, x === "plus-minus" ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(P, {
name: "plus-sign",
className: "pkt-accordion-item__icon pkt-accordion-item__icon--plus",
"aria-hidden": "true"
}), /* @__PURE__ */ g(P, {
name: "minus-sign",
className: "pkt-accordion-item__icon pkt-accordion-item__icon--minus",
"aria-hidden": "true"
})] }) : /* @__PURE__ */ g(P, {
name: "chevron-thin-down",
className: "pkt-accordion-item__icon",
"aria-hidden": "true"
})]
}), /* @__PURE__ */ g("div", {
className: "pkt-accordion-item__content",
id: `pkt-accordion-item__content-${t}`,
role: "region",
children: /* @__PURE__ */ g("div", {
className: "pkt-accordion-item__content-inner",
children: o
})
})]
});
});
//#endregion
//#region src/components/button/Button.tsx
F.displayName = "PktAccordionItem", typeof window < "u" && (window.pktAnimationPath = window.pktAnimationPath || "https://punkt-cdn.oslo.kommune.no/17.0/animations/");
var I = i(({ children: e, className: t, iconName: n = "user", secondIconName: r = "user", iconPath: i, secondIconPath: a, size: o = "medium", fullWidth: s = !1, fullWidthOnMobile: c = !1, skin: l = "primary", type: u = "button", variant: d = "label-only", state: f, color: p, isLoading: m = void 0, disabled: h = void 0, loadingAnimationPath: v = window.pktAnimationPath, ...y }, b) => {
let x = [
t,
"pkt-btn",
o && `pkt-btn--${o}`,
s && "pkt-btn--full",
c && "pkt-btn--full-small",
l && `pkt-btn--${l}`,
d && `pkt-btn--${d}`,
p && `pkt-btn--${p}`,
f && `pkt-btn--${f}`,
m && "pkt-btn--isLoading"
].filter(Boolean).join(" ");
return /* @__PURE__ */ _("button", {
...y,
"aria-busy": m || void 0,
"aria-disabled": h || void 0,
disabled: h,
className: x,
type: u,
ref: b,
children: [
m && /* @__PURE__ */ g(P, {
className: "pkt-btn__icon pkt-btn__spinner",
name: "spinner-blue",
path: v
}),
d !== "label-only" && /* @__PURE__ */ g(P, {
className: "pkt-btn__icon",
name: n,
...i && { path: i }
}),
/* @__PURE__ */ g("span", {
className: "pkt-btn__text",
children: e
}),
d === "icons-right-and-left" && /* @__PURE__ */ g(P, {
className: "pkt-btn__icon",
name: r,
...a && { path: a }
})
]
});
});
I.displayName = "PktButton";
//#endregion
//#region src/components/alert/Alert.tsx
var L = ({ children: e, closeAlert: t, compact: n, size: r = n ? "small" : "medium", title: i, date: a, ariaLive: s, "aria-live": c = "polite", role: l = "status", skin: u = "info", className: d, ...f }) => {
let [p, h] = m(!1), v = {
"pkt-alert": !0,
[`pkt-alert--${r}`]: r,
[`pkt-alert--${u}`]: u,
"pkt-hide": p
}, y = {
"pkt-alert__grid": !0,
"pkt-alert__noTitle": !i,
"pkt-alert__noDate": !a
}, b = o(() => {
h(!0), f.onClose && f.onClose(new CustomEvent("close", {
detail: { origin: event },
bubbles: !0,
composed: !0
}));
}, [f.onClose, h]), x = s || c;
return /* @__PURE__ */ g("div", {
...f,
"aria-live": x,
role: l,
className: (0, A.default)(v, d),
children: /* @__PURE__ */ _("div", {
className: (0, A.default)(y),
children: [
/* @__PURE__ */ g(P, {
className: "pkt-alert__icon",
"aria-hidden": "true",
name: u === "info" ? "alert-information" : `alert-${u}`
}),
t && /* @__PURE__ */ g("div", {
className: "pkt-alert__close",
children: /* @__PURE__ */ g(I, {
tabIndex: 0,
"aria-label": "close",
size: r,
type: "button",
skin: "tertiary",
iconName: "close",
variant: "icon-only",
onClick: b,
children: /* @__PURE__ */ g("span", {
className: "sr-only",
children: "Lukk"
})
})
}),
i && /* @__PURE__ */ g("div", {
className: "pkt-alert__title",
children: i
}),
/* @__PURE__ */ g("div", {
className: "pkt-alert__text",
children: e
}),
a && /* @__PURE__ */ _("div", {
className: "pkt-alert__date",
children: ["Sist oppdatert: ", a]
})
]
})
});
};
L.displayName = "PktAlert";
//#endregion
//#region src/components/backlink/BackLink.tsx
var R = i(({ href: e = "/", text: t = "Forsiden", ariaLabel: n, renderLink: r, className: i, ...a }, o) => {
let s = /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(P, {
className: "pkt-back-link__icon pkt-icon pkt-link__icon",
name: "chevron-thin-left",
"aria-hidden": "true"
}), /* @__PURE__ */ g("span", {
className: "pkt-back-link__text",
children: t
})] }), c = r || (({ href: e, className: t, children: n, props: r }) => /* @__PURE__ */ g("a", {
href: e,
className: t,
...r,
children: n
}));
return /* @__PURE__ */ g("nav", {
className: ["pkt-back-link", i].filter(Boolean).join(" "),
"aria-label": n || "Gå tilbake til forrige side",
ref: o,
children: c({
href: e,
className: "pkt-link pkt-link--icon-left",
children: s,
props: a
})
});
});
R.displayName = "PktBackLink";
//#endregion
//#region src/components/breadcrumbs/Breadcrumbs.tsx
var z = i(({ breadcrumbs: e, navigationType: t, renderLink: n, className: r, ...i }, a) => {
let o = e, s = o[o.length - 2], c = [r, "pkt-breadcrumbs"].filter(Boolean).join(" "), l = n || (t === "router" ? ({ href: e, className: t, children: n, props: r }) => /* @__PURE__ */ g(v, {
to: e,
className: t,
...r,
children: n
}) : ({ href: e, className: t, children: n, props: r }) => /* @__PURE__ */ g("a", {
href: e,
className: t,
...r,
children: n
}));
return /* @__PURE__ */ _("nav", {
ref: a,
"aria-label": "brødsmulemeny",
className: c,
children: [/* @__PURE__ */ g("ol", {
className: "pkt-breadcrumbs__list pkt-breadcrumbs--desktop",
children: o.map((e, t) => /* @__PURE__ */ g("li", {
className: "pkt-breadcrumbs__item",
children: t === o.length - 1 ? /* @__PURE__ */ g("span", {
className: "pkt-breadcrumbs__label",
"aria-current": "true",
children: /* @__PURE__ */ g("span", {
className: "pkt-breadcrumbs__text",
children: e.text
})
}) : l({
href: e.href,
className: "pkt-link pkt-link--icon-right pkt-breadcrumbs__label pkt-breadcrumbs__link",
children: /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(P, {
className: "pkt-icon pkt-breadcrumbs__icon pkt-link__icon",
name: "chevron-thin-right"
}), /* @__PURE__ */ g("span", {
className: "pkt-breadcrumbs__text",
children: e.text
})] }),
props: i
})
}, `breadcrumb-${t}`))
}), l({
href: s.href,
className: "pkt-link pkt-link--icon-left pkt-breadcrumbs--mobile",
children: /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(P, {
className: "pkt-back-link__icon pkt-icon pkt-link__icon",
name: "chevron-thin-left"
}), /* @__PURE__ */ g("span", {
className: "pkt-breadcrumbs__text",
children: s.text
})] }),
props: i
})]
});
});
z.displayName = "PktBreadcrumbs";
//#endregion
//#region ../../node_modules/date-fns/constants.js
var ue = 365.2425, B = 6048e5, V = 864e5, H = 3600 * 24;
H * 7, H * ue / 12 * 3;
var U = Symbol.for("constructDateFrom");
//#endregion
//#region ../../node_modules/date-fns/constructFrom.js
function W(e, t) {
return typeof e == "function" ? e(t) : e && typeof e == "object" && U in e ? e[U](t) : e instanceof Date ? new e.constructor(t) : new Date(t);
}
//#endregion
//#region ../../node_modules/date-fns/toDate.js
function G(e, t) {
return W(t || e, e);
}
//#endregion
//#region ../../node_modules/date-fns/addDays.js
function K(e, t, n) {
let r = G(e, n?.in);
return isNaN(t) ? W(n?.in || e, NaN) : (t && r.setDate(r.getDate() + t), r);
}
//#endregion
//#region ../../node_modules/date-fns/_lib/defaultOptions.js
var de = {};
function fe() {
return de;
}
//#endregion
//#region ../../node_modules/date-fns/startOfWeek.js
function q(e, t) {
let n = fe(), r = t?.weekStartsOn ?? t?.locale?.options?.weekStartsOn ?? n.weekStartsOn ?? n.locale?.options?.weekStartsOn ?? 0, i = G(e, t?.in), a = i.getDay(), o = (a < r ? 7 : 0) + a - r;
return i.setDate(i.getDate() - o), i.setHours(0, 0, 0, 0), i;
}
//#endregion
//#region ../../node_modules/date-fns/startOfISOWeek.js
function J(e, t) {
return q(e, {
...t,
weekStartsOn: 1
});
}
//#endregion
//#region ../../node_modules/date-fns/getISOWeekYear.js
function pe(e, t) {
let n = G(e, t?.in), r = n.getFullYear(), i = W(n, 0);
i.setFullYear(r + 1, 0, 4), i.setHours(0, 0, 0, 0);
let a = J(i), o = W(n, 0);
o.setFullYear(r, 0, 4), o.setHours(0, 0, 0, 0);
let s = J(o);
return n.getTime() >= a.getTime() ? r + 1 : n.getTime() >= s.getTime() ? r : r - 1;
}
//#endregion
//#region ../../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js
function Y(e) {
let t = G(e), n = new Date(Date.UTC(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds()));
return n.setUTCFullYear(t.getFullYear()), e - +n;
}
//#endregion
//#region ../../node_modules/date-fns/_lib/normalizeDates.js
function X(e, ...t) {
let n = W.bind(null, e || t.find((e) => typeof e == "object"));
return t.map(n);
}
//#endregion
//#region ../../node_modules/date-fns/startOfDay.js
function Z(e, t) {
let n = G(e, t?.in);
return n.setHours(0, 0, 0, 0), n;
}
//#endregion
//#region ../../node_modules/date-fns/differenceInCalendarDays.js
function Q(e, t, n) {
let [r, i] = X(n?.in, e, t), a = Z(r), o = Z(i), s = +a - Y(a), c = +o - Y(o);
return Math.round((s - c) / V);
}
//#endregion
//#region ../../node_modules/date-fns/startOfISOWeekYear.js
function me(e, t) {
let n = pe(e, t), r = W(t?.in || e, 0);
return r.setFullYear(n, 0, 4), r.setHours(0, 0, 0, 0), J(r);
}
//#endregion
//#region ../../node_modules/date-fns/isDate.js
function he(e) {
return e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]";
}
//#endregion
//#region ../../node_modules/date-fns/isValid.js
function ge(e) {
return !(!he(e) && typeof e != "number" || isNaN(+G(e)));
}
//#endregion
//#region ../../node_modules/date-fns/endOfDay.js
function _e(e, t) {
let n = G(e, t?.in);
return n.setHours(23, 59, 59, 999), n;
}
//#endregion
//#region ../../node_modules/date-fns/_lib/normalizeInterval.js
function ve(e, t) {
let [n, r] = X(e, t.start, t.end);
return {
start: n,
end: r
};
}
//#endregion
//#region ../../node_modules/date-fns/eachDayOfInterval.js
function ye(e, t) {
let { start: n, end: r } = ve(t?.in, e), i = +n > +r, a = i ? +n : +r, o = i ? r : n;
o.setHours(0, 0, 0, 0);
let s = t?.step ?? 1;
if (!s) return [];
s < 0 && (s = -s, i = !i);
let c = [];
for (; +o <= a;) c.push(W(n, o)), o.setDate(o.getDate() + s), o.setHours(0, 0, 0, 0);
return i ? c.reverse() : c;
}
//#endregion
//#region ../../node_modules/date-fns/startOfYear.js
function be(e, t) {
let n = G(e, t?.in);
return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n;
}
//#endregion
//#region ../../node_modules/date-fns/locale/en-US/_lib/formatDistance.js
var xe = {
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"
}
}, Se = (e, t, n) => {
let r, i = xe[e];
return r = typeof i == "string" ? i : t === 1 ? i.one : i.other.replace("{{count}}", t.toString()), n?.addSuffix ? n.comparison && n.comparison > 0 ? "in " + r : r + " ago" : r;
};
//#endregion
//#region ../../node_modules/date-fns/locale/_lib/buildFormatLongFn.js
function Ce(e) {
return (t = {}) => {
let n = t.width ? String(t.width) : e.defaultWidth;
return e.formats[n] || e.formats[e.defaultWidth];
};
}
var we = {
date: Ce({
formats: {
full: "EEEE, MMMM do, y",
long: "MMMM do, y",
medium: "MMM d, y",
short: "MM/dd/yyyy"
},
defaultWidth: "full"
}),
time: Ce({
formats: {
full: "h:mm:ss a zzzz",
long: "h:mm:ss a z",
medium: "h:mm:ss a",
short: "h:mm a"
},
defaultWidth: "full"
}),
dateTime: Ce({
formats: {
full: "{{date}} 'at' {{time}}",
long: "{{date}} 'at' {{time}}",
medium: "{{date}}, {{time}}",
short: "{{date}}, {{time}}"
},
defaultWidth: "full"
})
}, Te = {
lastWeek: "'last' eeee 'at' p",
yesterday: "'yesterday at' p",
today: "'today at' p",
tomorrow: "'tomorrow at' p",
nextWeek: "eeee 'at' p",
other: "P"
}, Ee = (e, t, n, r) => Te[e];
//#endregion
//#region ../../node_modules/date-fns/locale/_lib/buildLocalizeFn.js
function De(e) {
return (t, n) => {
let r = n?.context ? String(n.context) : "standalone", i;
if (r === "formatting" && e.formattingValues) {
let t = e.defaultFormattingWidth || e.defaultWidth, r = n?.width ? String(n.width) : t;
i = e.formattingValues[r] || e.formattingValues[t];
} else {
let t = e.defaultWidth, r = n?.width ? String(n.width) : e.defaultWidth;
i = e.values[r] || e.values[t];
}
let a = e.argumentCallback ? e.argumentCallback(t) : t;
return i[a];
};
}
var Oe = {
ordinalNumber: (e, t) => {
let n = Number(e), r = n % 100;
if (r > 20 || r < 10) switch (r % 10) {
case 1: return n + "st";
case 2: return n + "nd";
case 3: return n + "rd";
}
return n + "th";
},
era: De({
values: {
narrow: ["B", "A"],
abbreviated: ["BC", "AD"],
wide: ["Before Christ", "Anno Domini"]
},
defaultWidth: "wide"
}),
quarter: De({
values: {
narrow: [
"1",
"2",
"3",
"4"
],
abbreviated: [
"Q1",
"Q2",
"Q3",
"Q4"
],
wide: [
"1st quarter",
"2nd quarter",
"3rd quarter",
"4th quarter"
]
},
defaultWidth: "wide",
argumentCallback: (e) => e - 1
}),
month: De({
values: {
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"
]
},
defaultWidth: "wide"
}),
day: De({
values: {
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"
]
},
defaultWidth: "wide"
}),
dayPeriod: De({
values: {
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"
}
},
defaultWidth: "wide",
formattingValues: {
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"
}
},
defaultFormattingWidth: "wide"
})
};
//#endregion
//#region ../../node_modules/date-fns/locale/_lib/buildMatchFn.js
function ke(e) {
return (t, n = {}) => {
let r = n.width, i = r && e.matchPatterns[r] || e.matchPatterns[e.defaultMatchWidth], a = t.match(i);
if (!a) return null;
let o = a[0], s = r && e.parsePatterns[r] || e.parsePatterns[e.defaultParseWidth], c = Array.isArray(s) ? je(s, (e) => e.test(o)) : Ae(s, (e) => e.test(o)), l;
l = e.valueCallback ? e.valueCallback(c) : c, l = n.valueCallback ? n.valueCallback(l) : l;
let u = t.slice(o.length);
return {
value: l,
rest: u
};
};
}
function Ae(e, t) {
for (let n in e) if (Object.prototype.hasOwnProperty.call(e, n) && t(e[n])) return n;
}
function je(e, t) {
for (let n = 0; n < e.length; n++) if (t(e[n])) return n;
}
//#endregion
//#region ../../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js
function Me(e) {
return (t, n = {}) => {
let r = t.match(e.matchPattern);
if (!r) return null;
let i = r[0], a = t.match(e.parsePattern);
if (!a) return null;
let o = e.valueCallback ? e.valueCallback(a[0]) : a[0];
o = n.valueCallback ? n.valueCallback(o) : o;
let s = t.slice(i.length);
return {
value: o,
rest: s
};
};
}
//#endregion
//#region ../../node_modules/date-fns/locale/en-US.js
var Ne = {
code: "en-US",
formatDistance: Se,
formatLong: we,
formatRelative: Ee,
localize: Oe,
match: {
ordinalNumber: Me({
matchPattern: /^(\d+)(th|st|nd|rd)?/i,
parsePattern: /\d+/i,
valueCallback: (e) => parseInt(e, 10)
}),
era: ke({
matchPatterns: {
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
},
defaultMatchWidth: "wide",
parsePatterns: { any: [/^b/i, /^(a|c)/i] },
defaultParseWidth: "any"
}),
quarter: ke({
matchPatterns: {
narrow: /^[1234]/i,
abbreviated: /^q[1234]/i,
wide: /^[1234](th|st|nd|rd)? quarter/i
},
defaultMatchWidth: "wide",
parsePatterns: { any: [
/1/i,
/2/i,
/3/i,
/4/i
] },
defaultParseWidth: "any",
valueCallback: (e) => e + 1
}),
month: ke({
matchPatterns: {
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
},
defaultMatchWidth: "wide",
parsePatterns: {
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
]
},
defaultParseWidth: "any"
}),
day: ke({
matchPatterns: {
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
},
defaultMatchWidth: "wide",
parsePatterns: {
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
]
},
defaultParseWidth: "any"
}),
dayPeriod: ke({
matchPatterns: {
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
},
defaultMatchWidth: "any",
parsePatterns: { 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
} },
defaultParseWidth: "any"
})
},
options: {
weekStartsOn: 0,
firstWeekContainsDate: 1
}
};
//#endregion
//#region ../../node_modules/date-fns/getDayOfYear.js
function Pe(e, t) {
let n = G(e, t?.in);
return Q(n, be(n)) + 1;
}
//#endregion
//#region ../../node_modules/date-fns/getISOWeek.js
function Fe(e, t) {
let n = G(e, t?.in), r = J(n) - +me(n);
return Math.round(r / B) + 1;
}
//#endregion
//#region ../../node_modules/date-fns/getWeekYear.js
function Ie(e, t) {
let n = G(e, t?.in), r = n.getFullYear(), i = fe(), a = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? i.firstWeekContainsDate ?? i.locale?.options?.firstWeekContainsDate ?? 1, o = W(t?.in || e, 0);
o.setFullYear(r + 1, 0, a), o.setHours(0, 0, 0, 0);
let s = q(o, t), c = W(t?.in || e, 0);
c.setFullYear(r, 0, a), c.setHours(0, 0, 0, 0);
let l = q(c, t);
return +n >= +s ? r + 1 : +n >= +l ? r : r - 1;
}
//#endregion
//#region ../../node_modules/date-fns/startOfWeekYear.js
function Le(e, t) {
let n = fe(), r = t?.firstWeekContainsDate ?? t?.locale?.options?.firstWeekContainsDate ?? n.firstWeekContainsDate ?? n.locale?.options?.firstWeekContainsDate ?? 1, i = Ie(e, t), a = W(t?.in || e, 0);
return a.setFullYear(i, 0, r), a.setHours(0, 0, 0, 0), q(a, t);
}
//#endregion
//#region ../../node_modules/date-fns/getWeek.js
function Re(e, t) {
let n = G(e, t?.in), r = q(n, t) - +Le(n, t);
return Math.round(r / B) + 1;
}
//#endregion
//#region ../../node_modules/date-fns/_lib/addLeadingZeros.js
function $(e, t) {
return (e < 0 ? "-" : "") + Math.abs(e).toString().padStart(t, "0");
}
//#endregion
//#region ../../node_modules/date-fns/_lib/format/lightFormatters.js
var ze = {
y(e, t) {
let n = e.getFullYear(), r = n > 0 ? n : 1 - n;
return $(t === "yy" ? r % 100 : r, t.length);
},
M(e, t) {
let n = e.getMonth();
return t === "M" ? String(n + 1) : $(n + 1, 2);
},
d(e, t) {
return $(e.getDate(), t.length);
},
a(e, t) {
let n = e.getHours() / 12 >= 1 ? "pm" : "am";
switch (t) {
case "a":
case "aa": return n.toUpperCase();
case "aaa": return n;
case "aaaaa": return n[0];
default: return n === "am" ? "a.m." : "p.m.";
}
},
h(e, t) {
return $(e.getHours() % 12 || 12, t.length);
},
H(e, t) {
return $(e.getHours(), t.length);
},
m(e, t) {
return $(e.getMinutes(), t.length);
},
s(e, t) {
return $(e.getSeconds(), t.length);
},
S(e, t) {
let n = t.length, r = e.getMilliseconds();
return $(Math.trunc(r * 10 ** (n - 3)), t.length);
}
}, Be = {
am: "am",
pm: "pm",
midnight: "midnight",
noon: "noon",
morning: "morning",
afternoon: "afternoon",
evening: "evening",
night: "night"
}, Ve = {
G: function(e, t, n) {
let r = +(e.getFullYear() > 0);
switch (t) {
case "G":
case "GG":
case "GGG": return n.era(r, { width: "abbreviated" });
case "GGGGG": return n.era(r, { width: "narrow" });
default: return n.era(r, { width: "wide" });
}
},
y: function(e, t, n) {
if (t === "yo") {
let t = e.getFullYear(), r = t > 0 ? t : 1 - t;
return n.ordinalNumber(r, { unit: "year" });
}
return ze.y(e, t);
},
Y: function(e, t, n, r) {
let i = Ie(e, r), a = i > 0 ? i : 1 - i;
return t === "YY" ? $(a % 100, 2) : t === "Yo" ? n.ordinalNumber(a, { unit: "year" }) : $(a, t.length);
},
R: function(e, t) {
return $(pe(e), t.length);
},
u: function(e, t) {
return $(e.getFullYear(), t.length);
},
Q: function(e, t, n) {
let r = Math.ceil((e.getMonth() + 1) / 3);
switch (t) {
case "Q": return String(r);
case "QQ": return $(r, 2);
case "Qo": return n.ordinalNumber(r, { unit: "quarter" });
case "QQQ": return n.quarter(r, {
width: "abbreviated",
context: "formatting"
});
case "QQQQQ": return n.quarter(r, {
width: "narrow",
context: "formatting"
});
default: return n.quarter(r, {
width: "wide",
context: "formatting"
});
}
},
q: function(e, t, n) {
let r = Math.ceil((e.getMonth() + 1) / 3);
switch (t) {
case "q": return String(r);
case "qq": return $(r, 2);
case "qo": return n.ordinalNumber(r, { unit: "quarter" });
case "qqq": return n.quarter(r, {
width: "abbreviated",
context: "standalone"
});
case "qqqqq": return n.quarter(r, {
width: "narrow",
context: "standalone"
});
default: return n.quarter(r, {
width: "wide",
context: "standalone"
});
}
},
M: function(e, t, n) {
let r = e.getMonth();
switch (t) {
case "M":
case "MM": return ze.M(e, t);
case "Mo": return n.ordinalNumber(r + 1, { unit: "month" });
case "MMM": return n.month(r, {
width: "abbreviated",
context: "formatting"
});
case "MMMMM": return n.month(r, {
width: "narrow",
context: "formatting"
});
default: return n.month(r, {
width: "wide",
context: "formatting"
});
}
},
L: function(e, t, n) {
let r = e.getMonth();
switch (t) {
case "L": return String(r + 1);
case "LL": return $(r + 1, 2);
case "Lo": return n.ordinalNumber(r + 1, { unit: "month" });
case "LLL": return n.month(r, {
width: "abbreviated",
context: "standalone"
});
case "LLLLL": return n.month(r, {
width: "narrow",
context: "standalone"
});
default: return n.month(r, {
width: "wide",
context: "standalone"
});
}
},
w: function(e, t, n, r) {
let i = Re(e, r);
return t === "wo" ? n.ordinalNumber(i, { unit: "week" }) : $(i, t.length);
},
I: function(e, t, n) {
let r = Fe(e);
return t === "Io" ? n.ordinalNumber(r, { unit: "week" }) : $(r, t.length);
},
d: function(e, t, n) {
return t === "do" ? n.ordinalNumber(e.getDate(), { unit: "date" }) : ze.d(e, t);
},
D: function(e, t, n) {
let r = Pe(e);
return t === "Do" ? n.ordinalNumber(r, { unit: "dayOfYear" }) : $(r, t.length);
},
E: function(e, t, n) {
let r = e.getDay();
switch (t) {
case "E":
case "EE":
case "EEE": return n.day(r, {
width: "abbreviated",
context: "formatting"
});
case "EEEEE": return n.day(r, {
width: "narrow",
context: "formatting"
});
case "EEEEEE": return n.day(r, {
width: "short",
context: "formatting"
});
default: return n.day(r, {
width: "wide",
context: "formatting"
});
}
},
e: function(e, t, n, r) {
let i = e.getDay(), a = (i - r.weekStartsOn + 8) % 7 || 7;
switch (t) {
case "e": return String(a);
case "ee": return $(a, 2);
case "eo": return n.ordinalNumber(a, { unit: "day" });
case "eee": return n.day(i, {
width: "abbreviated",
context: "formatting"
});
case "eeeee": return n.day(i, {
width: "narrow",
context: "formatting"
});
case "eeeeee": return n.day(i, {
width: "short",
context: "formatting"
});
default: return n.day(i, {
width: "wide",
context: "formatting"
});
}
},
c: function(e, t, n, r) {
let i = e.getDay(), a = (i - r.weekStartsOn + 8) % 7 || 7;
switch (t) {
case "c": return String(a);
case "cc": return $(a, t.length);
case "co": return n.ordinalNumber(a, { unit: "day" });
case "ccc": return n.day(i, {
width: "abbreviated",
context: "standalone"
});
case "ccccc": return n.day(i, {
width: "narrow",
context: "standalone"
});
case "cccccc": return n.day(i, {
width: "short",
context: "standalone"
});
default: return n.day(i, {
width: "wide",
context: "standalone"
});
}
},
i: function(e, t, n) {
let r = e.getDay(), i = r === 0 ? 7 : r;
switch (t) {
case "i": return String(i);
case "ii": return $(i, t.length);
case "io": return n.ordinalNumber(i, { unit: "day" });
case "iii": return n.day(r, {
width: "abbreviated",
context: "formatting"
});
case "iiiii": return n.day(r, {
width: "narrow",
context: "formatting"
});
case "iiiiii": return n.day(r, {
width: "short",
context: "formatting"
});
default: return n.day(r, {
width: "wide",
context: "formatting"
});
}
},
a: function(e, t, n) {
let r = e.getHours() / 12 >= 1 ? "pm" : "am";
switch (t) {
case "a":
case "aa": return n.dayPeriod(r, {
width: "abbreviated",
context: "formatting"
});
case "aaa": return n.dayPeriod(r, {
width: "abbreviated",
context: "formatting"
}).toLowerCase();
case "aaaaa": return n.dayPeriod(r, {
width: "narrow",
context: "formatting"
});
default: return n.dayPeriod(r, {
width: "wide",
context: "formatting"
});
}
},
b: function(e, t, n) {
let r = e.getHours(), i;
switch (i = r === 12 ? Be.noon : r === 0 ? Be.midnight : r / 12 >= 1 ? "pm" : "am", t) {
case "b":
case "bb": return n.dayPeriod(i, {
width: "abbreviated",
context: "formatting"
});
case "bbb": return n.dayPeriod(i, {
width: "abbreviated",
context: "formatting"
}).toLowerCase();
case "bbbbb": return n.dayPeriod(i, {
width: "narrow",
context: "formatting"
});
default: return n.dayPeriod(i, {
width: "wide",
context: "formatting"
});
}
},
B: function(e, t, n) {
let r = e.getHours(), i;
switch (i = r >= 17 ? Be.evening : r >= 12 ? Be.afternoon : r >= 4 ? Be.morning : Be.night, t) {
case "B":
case "BB":
case "BBB": return n.dayPeriod(i, {
width: "abbreviated",
context: "formatting"
});
case "BBBBB": return n.dayPeriod(i, {
width: "narrow",
context: "formatting"
});
default: return n.dayPeriod(i, {
width: "wide",
context: "formatting"
});
}
},
h: function(e, t, n) {
if (t === "ho") {
let t = e.getHours() % 12;
return t === 0 && (t = 12), n.ordinalNumber(t, { unit: "hour" });
}
return ze.h(e, t);
},
H: function(e, t, n) {
return t === "Ho" ? n.ordinalNumber(e.getHours(), { unit: "hour" }) : ze.H(e, t);
},
K: function(e, t, n) {
let r = e.getHours() % 12;
return t === "Ko" ? n.ordinalNumber(r, { unit: "hour" }) : $(r, t.length);
},
k: function(e, t, n) {
let r = e.getHours();
return r === 0 && (r = 24), t === "ko" ? n.ordinalNumber(r, { unit: "hour" }) : $(r, t.length);
},
m: function(e, t, n) {
return t === "mo" ? n.ordinalNumber(e.getMinutes(), { unit: "minute" }) : ze.m(e, t);
},
s: function(e, t, n) {
return t === "so" ? n.ordinalNumber(e.getSeconds(), { unit: "second" }) : ze.s(e, t);
},
S: function(e, t) {
return ze.S(e, t);
},
X: function(e, t, n) {
let r = e.getTimezoneOffset();
if (r === 0) return "Z";
switch (t) {
case "X": return Ue(r);
case "XXXX":
case "XX": return We(r);
default: return We(r, ":");
}
},
x: function(e, t, n) {
let r = e.getTimezoneOffset();
switch (t) {
case "x": return Ue(r);
case "xxxx":
case "xx": return We(r);
default: return We(r, ":");
}
},
O: function(e, t, n) {
let r = e.getTimezoneOffset();
switch (t) {
case "O":
case "OO":
case "OOO": return "GMT" + He(r, ":");
default: return "GMT" + We(r, ":");
}
},
z: function(e, t, n) {
let r = e.getTimezoneOffset();
switch (t) {
case "z":
case "zz":
case "zzz": return "GMT" + He(r, ":");
default: return "GMT" + We(r, ":");
}
},
t: function(e, t, n) {
return $(Math.trunc(e / 1e3), t.length);
},
T: function(e, t, n) {
return $(+e, t.length);
}
};
function He(e, t = "") {
let n = e > 0 ? "-" : "+", r = Math.abs(e), i = Math.trunc(r / 60), a = r % 60;
return a === 0 ? n + String(i) : n + String(i) + t + $(a, 2);
}
function Ue(e, t) {
return e % 60 == 0 ? (e > 0 ? "-" : "+") + $(Math.abs(e) / 60, 2) : We(e, t);
}
function We(e, t = "") {
let n = e > 0 ? "-" : "+", r = Math.abs(e), i = $(Math.trunc(r / 60), 2), a = $(r % 60, 2);
return n + i + t + a;
}
//#endregion
//#region ../../node_modules/date-fns/_lib/format/longFormatters.js
var Ge = (e, t) => {
switch (e) {
case "P": return t.date({ width: "short" });
case "PP": return t.date({ width: "medium" });
case "PPP": return t.date({ width: "long" });
default: return t.date({ width: "full" });
}
}, Ke = (e, t) => {
switch (e) {
case "p": return t.time({ width: "short" });
case "pp": return t.time({ width: "medium" });
case "ppp": return t.time({ width: "long" });
default: return t.time({ width: "full" });
}
}, qe = {
p: Ke,
P: (e, t) => {
let n = e.match(/(P+)(p+)?/) || [], r = n[1], i = n[2];
if (!i) return Ge(e, t);
let a;
switch (r) {
case "P":
a = t.dateTime({ width: "short" });
break;
case "PP":
a = t.dateTime({ width: "medium" });
break;
case "PPP":
a = t.dateTime({ width: "long" });
break;
default:
a = t.dateTime({ width: "full" });
break;
}
return a.replace("{{date}}", Ge(r, t)).replace("{{time}}", Ke(i, t));
}
}, Je = /^D+$/, Ye = /^Y+$/, Xe = [
"D",
"DD",
"YY",
"YYYY"
];
function Ze(e) {
return Je.test(e);
}
function Qe(e) {
return Ye.test(e);
}
function $e(e, t, n) {
let r = et(e, t, n);
if (console.warn(r), Xe.includes(e)) throw RangeError(r);
}
function et(e, t, n) {
let r = e[0] === "Y" ? "years" : "days of the month";
return `Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`;
}
//#endregion
//#region ../../node_modules/date-fns/format.js
var tt = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, nt = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, rt = /^'([^]*?)'?$/, it = /''/g, at = /[a-zA-Z]/;
function ot(e, t, n) {
let r = fe(), i = n?.locale ?? r.locale ?? Ne, a = n?.firstWeekContainsDate ?? n?.locale?.options?.firstWeekContainsDate ?? r.firstWeekContainsDate ?? r.locale?.options?.firstWeekContainsDate ?? 1, o = n?.weekStartsOn ?? n?.locale?.options?.weekStartsOn ?? r.weekStartsOn ?? r.locale?.options?.weekStartsOn ?? 0, s = G(e, n?.in);
if (!ge(s)) throw RangeError("Invalid time value");
let c = t.match(nt).map((e) => {
let t = e[0];
if (t === "p" || t === "P") {
let n = qe[t];
return n(e, i.formatLong);
}
return e;
}).join("").match(tt).map((e) => {
if (e === "''") return {
isToken: !1,
value: "'"
};
let t = e[0];
if (t === "'") return {
isToken: !1,
value: st(e)
};
if (Ve[t]) return {
isToken: !0,
value: e
};
if (t.match(at)) throw RangeError("Format string contains an unescaped latin alphabet character `" + t + "`");
return {
isToken: !1,
value: e
};
});
i.localize.preprocessor && (c = i.localize.preprocessor(s, c));
let l = {
firstWeekContainsDate: a,
weekStartsOn: o,
locale: i
};
return c.map((r) => {
if (!r.isToken) return r.value;
let a = r.value;
(!n?.useAdditionalWeekYearTokens && Qe(a) || !n?.useAdditionalDayOfYearTokens && Ze(a)) && $e(a, t, String(e));
let o = Ve[a[0]];
return o(s, a, i.localize, l);
}).join("");
}
function st(e) {
let t = e.match(rt);
return t ? t[1].replace(it, "'") : e;
}
//#endregion
//#region ../../node_modules/date-fns/getISODay.js
function ct(e, t) {
let n = G(e, t?.in).getDay();
return n === 0 ? 7 : n;
}
//#endregion
//#region ../../node_modules/@date-fns/tz/tzName/index.js
function lt(e, t, n = "long") {
return new Intl.DateTimeFormat("en-US", {
hour: "numeric",
timeZone: e,
timeZoneName: n
}).format(t).split(/\s/g).slice(2).join(" ");
}
//#endregion
//#region ../../node_modules/@date-fns/tz/tzOffset/index.js
var ut = {}, dt = {};
function ft(e, t) {
try {
let n = (ut[e] ||= new Intl.DateTimeFormat("en-US", {
timeZone: e,
timeZoneName: "longOffset"
}).format)(t).split("GMT")[1];
return n in dt ? dt[n] : mt(n, n.split(":"));
} catch {
if (e in dt) return dt[e];
let t = e?.match(pt);
return t ? mt(e, t.slice(1)) : NaN;
}
}
var pt = /([+-]\d\d):?(\d\d)?/;
function mt(e, t) {
let n = +(t[0] || 0), r = +(t[1] || 0), i = (t[2] || 0) / 60;
return dt[e] = n * 60 + r > 0 ? n * 60 + r + i : n * 60 - r - i;
}
//#endregion
//#region ../../node_modules/@date-fns/tz/date/mini.js
var ht = class e extends Date {
constructor(...e) {
super(), e.length > 1 && typeof e[e.length - 1] == "string" && (this.timeZone = e.pop()), this.internal = /* @__PURE__ */ new Date(), isNaN(ft(this.timeZone, this)) ? this.setTime(NaN) : e.length ? typeof e[0] == "number" && (e.length === 1 || e.length === 2 && typeof e[1] != "number") ? this.setTime(e[0]) : typeof e[0] == "string" ? this.setTime(+new Date(e[0])) : e[0] instanceof Date ? this.setTime(+e[0]) : (this.setTime(+new Date(...e)), yt(this, e)) : this.setTime(Date.now());
}
static tz(t, ...n) {
return n.length ? new e(...n, t) : new e(Date.now(), t);
}
withTimeZone(t) {
return new e(+this, t);
}
getTimezoneOffset() {
let e = -ft(this.timeZone, this);
return e > 0 ? Math.floor(e) : Math.ceil(e);
}
setTime(e) {
return Date.prototype.setTime.apply(this, arguments), _t(this), +this;
}
[Symbol.for("constructDateFrom")](t) {
return new e(+new Date(t), this.timeZone);
}
}, gt = /^(get|set)(?!UTC)/;
Object.getOwnPropertyNames(Date.prototype).forEach((e) => {
if (!gt.test(e)) return;
let t = e.replace(gt, "$1UTC");
ht.prototype[t] && (e.startsWith("get") ? ht.prototype[e] = function() {
return this.internal[t]();
} : (ht.prototype[e] = function() {
return Date.prototype[t].apply(this.internal, arguments), vt(this), +this;
}, ht.prototype[t] = function() {
return Date.prototype[t].apply(this, arguments), _t(this), +this;
}));
});
function _t(e) {
e.internal.setTime(+e), e.internal.setUTCSeconds(e.internal.getUTCSeconds() - Math.round(-ft(e.timeZone, e) * 60));
}
function vt(e) {
Date.prototype.setFullYear.call(e, e.internal.getUTCFullYear(), e.internal.getUTCMonth(), e.internal.getUTCDate()), Date.prototype.setHours.call(e, e.internal.getUTCHours(), e.internal.getUTCMinutes(), e.internal.getUTCSeconds(), e.internal.getUTCMilliseconds()), yt(e);
}
function yt(e, t) {
let n = Array.isArray(t) ? bt(t) : +e.internal, r = ft(e.timeZone, e), i = r > 0 ? Math.floor(r) : Math.ceil(r), a = /* @__PURE__ */ new Date(+e);
a.setUTCHours(a.getUTCHours() - 1);
let o = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset(), s = -(/* @__PURE__ */ new Date(+a)).getTimezoneOffset(), c = o - s, l = o;
if (c && o !== i && Date.prototype.getHours.apply(e) !== (Array.isArray(t) ? t[3] || 0 : e.internal.getUTCHours())) {
let t = /* @__PURE__ */ new Date(+e), n = o - i;
n && t.setUTCMinutes(t.getUTCMinutes() + n);
let r = ft(e.timeZone, t);
(r > 0 ? Math.floor(r) : Math.ceil(r)) === i && (l = s);
}
let u = l - i;
u && Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + u);
let d = /* @__PURE__ */ new Date(+e);
d.setUTCSeconds(0);
let f = o > 0 ? d.getSeconds() : (d.getSeconds() - 60) % 60, p = Math.round(-(ft(e.timeZone, e) * 60)) % 60;
(p || f) && Date.prototype.setUTCSeconds.call(e, Date.prototype.getUTCSeconds.call(e) + p + f);
let m = ft(e.timeZone, e), h = m > 0 ? Math.floor(m) : Math.ceil(m), g = -(/* @__PURE__ */ new Date(+e)).getTimezoneOffset() - h, _ = h !== i, v = g - u, y = h - i, b = n - h * 60 * 1e3, x = y > 0 && xt(e) - n === y * 60 * 1e3 && xt(e, b) !== n;
if (_ && v && !x) {
Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + v);
let t = ft(e.timeZone, e), n = h - (t > 0 ? Math.floor(t) : Math.ceil(t));
n && v < 0 && Date.prototype.setUTCMinutes.call(e, Date.prototype.getUTCMinutes.call(e) + n);
}
_t(e);
let S = (t ? n : n + p * 1e3) - +e.internal;
S && Math.abs(S) < 1800 * 1e3 && (Date.prototype.setTime.call(e, +e + S), _t(e));
}
function bt(e) {
return Date.UTC(e[0], e.length > 1 ? e[1] : 0, e.length > 2 ? e[2] : 1, ...e.slice(3));
}
function xt(e, t) {
let n = new Date(t ?? +e);
return n.setUTCSeconds(n.getUTCSeconds() - Math.round(-ft(e.timeZone, n) * 60)), +n;
}
//#endregion
//#region ../../node_modules/@date-fns/tz/date/index.js
var St = class e extends ht {
static tz(t, ...n) {
return n.length ? new e(...n, t) : new e(Date.now(), t);
}
toISOString() {
let [e, t, n] = this.tzComponents(), r = `${e}${t}:${n}`;
return this.internal.toISOString().slice(0, -1) + r;
}
toString() {
return `${this.toDateString()} ${this.toTimeString()}`;
}
toDateString() {
let [e, t, n, r] = this.internal.toUTCString().split(" ");
return `${e?.slice(0, -1)} ${n} ${t} ${r}`;
}
toTimeString() {
let e = this.internal.toUTCString().split(" ")[4], [t, n, r] = this.tzComponents();
return `${e} GMT${t}${n}${r} (${lt(this.timeZone, this)})`;
}
toLocaleString(e, t) {
return Date.prototype.toLocaleString.call(this, e, {
...t,
timeZone: t?.timeZone || this.timeZone
});
}
toLocaleDateString(e, t) {
return Date.prototype.toLocaleDateString.call(this, e, {
...t,
timeZone: t?.timeZone || this.timeZone
});
}
toLocaleTimeString(e, t) {
return Date.prototype.toLocaleTimeString.call(this, e, {
...t,
timeZone: t?.timeZone || this.timeZone
});
}
tzComponents() {
let e = this.getTimezoneOffset();
return [
e > 0 ? "-" : "+",
String(Math.floor(Math.abs(e) / 60)).padStart(2, "0"),
String(Math.abs(e) % 60).padStart(2, "0")
];
}
withTimeZone(t) {
return new e(+this, t);
}
[Symbol.for("constructDateFrom")](t) {
return new e(+new Date(t), this.timeZone);
}
};
//#endregion
//#region ../../shared-utils/date-utils.ts
typeof window < "u" && (window.pktTz = window.pktTz === void 0 ? "Europe/Oslo" : window.pktTz);
var Ct = () => typeof window < "u" && window.pktTz || "Europe/Oslo", wt = (e = Ct()) => {
let t = new St((/* @__PURE__ */ new Date()).toISOString(), e);
return t.setHours(0, 0, 0, 0), isNaN(t.getTime()) ? /* @__PURE__ */ new Date() : new Date(t.getFullYear(), t.getMonth(), t.getDate());
};
function Tt(e) {
if (!e || e === "") return /* @__PURE__ */ new Date();
if (/^\d{4}-\d{2}-\d{2}$/.test(e)) {
let [t, n, r] = e.split("-").map(Number);
return new Date(t, n - 1, r);
}
if (/^\d{4}-\d{2}$/.test(e)) {
let [t, n] = e.split("-").map(Number);
return new Date(t, n - 1, 1);
}
return /^\d{4}$/.test(e) ? new Date(Number(e), 0, 1) : new Date(e);
}
var Et = (e) => !e || isNaN(e.getTime()) ? "" : `${e.getFullYear()}-${String(e.getMonth() + 1).padStart(2, "0")}-${String(e.getDate()).padStart(2, "0")}`, Dt = (e) => {
if (!e) return null;
let t = Tt(e);
return isNaN(t.getTime()) ? null : t;
}, Ot = (e, t) => {
let n = kt(e);
return isNaN(n.getTime()) ? "" : ot(n, t);
}, kt = (e = "", t) => {
let n = typeof e == "string" ? Tt(e) : e;
return !n || isNaN(n.getTime()) ? /* @__PURE__ */ new Date() : t ? t === "end" ? _e(n) : Z(n) : n;
}, At = (e, t, n = 1) => {
if (typeof e != "number" || typeof t != "number" || typeof n != "number" || isNaN(e) || isNaN(t) || isNaN(n)) return /* @__PURE__ */ new Date();
let r = new Date(e, t, n);
return isNaN(r.getTime()) ? /* @__PURE__ */ new Date() : r;
}, jt = (e) => {
let t;
return t = new St(e, Ct()), t.setHours(12, 0, 0, 0), t;
}, Mt = null, Nt = void 0, Pt = (e) => {
if (!e || isNaN(e.getTime())) return "";
let t = typeof window < "u" ? window.pktTz : void 0;
return (!Mt || Nt !== t) && (Mt = new Intl.DateTimeFormat("no", {
dateStyle: "full",
timeZone: t
}), Nt = t), Mt.format(e);
}, Ft = (e, t, n) => {
if (!e || isNaN(e.getTime())) return !1;
let r = t ? kt(t) : null, i = n ? kt(n) : null;
return !(r && e < r || i && e > i);
}, It = (e, t) => {
if (!e || isNaN(e.getTime()) || !Array.isArray(t)) return !1;
let n = Et(e);
return t.includes(n);
}, Lt = (e, t) => {
if (!e || isNaN(e.getTime()) || !Array.isArray(t)) return !1;
let n = e.getDay().toString();
return t.includes(n);
}, Rt = (e, t, n, r, i) => !(!e || isNaN(e.getTime())