UNPKG

laif-ds

Version:

Design System di Laif con componenti React basati su principi di Atomic Design

61 lines (60 loc) 2.65 kB
"use client"; import { getDefaultOptions as v } from "./_lib/defaultOptions.js"; import { formatters as D } from "./_lib/format/formatters.js"; import { longFormatters as C } from "./_lib/format/longFormatters.js"; import { isProtectedWeekYearToken as S, isProtectedDayOfYearToken as R, warnOrThrowProtectedError as W } from "./_lib/protectedTokens.js"; import { isValid as x } from "./isValid.js"; import { toDate as P } from "./toDate.js"; import { enUS as Y } from "./locale/en-US.js"; const z = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, F = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, y = /^'([^]*?)'?$/, A = /''/g, L = /[a-zA-Z]/; function U(t, c, e) { var i, k, s, u, d, g, h, w; const n = v(), l = (e == null ? void 0 : e.locale) ?? n.locale ?? Y, T = (e == null ? void 0 : e.firstWeekContainsDate) ?? ((k = (i = e == null ? void 0 : e.locale) == null ? void 0 : i.options) == null ? void 0 : k.firstWeekContainsDate) ?? n.firstWeekContainsDate ?? ((u = (s = n.locale) == null ? void 0 : s.options) == null ? void 0 : u.firstWeekContainsDate) ?? 1, O = (e == null ? void 0 : e.weekStartsOn) ?? ((g = (d = e == null ? void 0 : e.locale) == null ? void 0 : d.options) == null ? void 0 : g.weekStartsOn) ?? n.weekStartsOn ?? ((w = (h = n.locale) == null ? void 0 : h.options) == null ? void 0 : w.weekStartsOn) ?? 0, f = P(t, e == null ? void 0 : e.in); if (!x(f)) throw new RangeError("Invalid time value"); let m = c.match(F).map((a) => { const r = a[0]; if (r === "p" || r === "P") { const o = C[r]; return o(a, l.formatLong); } return a; }).join("").match(z).map((a) => { if (a === "''") return { isToken: !1, value: "'" }; const r = a[0]; if (r === "'") return { isToken: !1, value: $(a) }; if (D[r]) return { isToken: !0, value: a }; if (r.match(L)) throw new RangeError( "Format string contains an unescaped latin alphabet character `" + r + "`" ); return { isToken: !1, value: a }; }); l.localize.preprocessor && (m = l.localize.preprocessor(f, m)); const E = { firstWeekContainsDate: T, weekStartsOn: O, locale: l }; return m.map((a) => { if (!a.isToken) return a.value; const r = a.value; (!(e != null && e.useAdditionalWeekYearTokens) && S(r) || !(e != null && e.useAdditionalDayOfYearTokens) && R(r)) && W(r, c, String(t)); const o = D[r[0]]; return o(f, r, l.localize, E); }).join(""); } function $(t) { const c = t.match(y); return c ? c[1].replace(A, "'") : t; } export { U as default, U as format, U as formatDate, D as formatters, C as longFormatters };