laif-ds
Version:
Design System di Laif con componenti React basati su principi di Atomic Design
112 lines (111 loc) • 2.55 kB
JavaScript
"use client";
import { buildMatchFn as a } from "../../_lib/buildMatchFn.js";
import { buildMatchPatternFn as i } from "../../_lib/buildMatchPatternFn.js";
const e = /^(\d+)(th|st|nd|rd)?/i, n = /\d+/i, r = {
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
}, s = {
any: [/^b/i, /^(a|c)/i]
}, o = {
narrow: /^[1234]/i,
abbreviated: /^q[1234]/i,
wide: /^[1234](th|st|nd|rd)? quarter/i
}, d = {
any: [/1/i, /2/i, /3/i, /4/i]
}, m = {
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
}, h = {
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
]
}, c = {
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
}, u = {
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]
}, P = {
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
}, y = {
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
}
}, l = {
ordinalNumber: i({
matchPattern: e,
parsePattern: n,
valueCallback: (t) => parseInt(t, 10)
}),
era: a({
matchPatterns: r,
defaultMatchWidth: "wide",
parsePatterns: s,
defaultParseWidth: "any"
}),
quarter: a({
matchPatterns: o,
defaultMatchWidth: "wide",
parsePatterns: d,
defaultParseWidth: "any",
valueCallback: (t) => t + 1
}),
month: a({
matchPatterns: m,
defaultMatchWidth: "wide",
parsePatterns: h,
defaultParseWidth: "any"
}),
day: a({
matchPatterns: c,
defaultMatchWidth: "wide",
parsePatterns: u,
defaultParseWidth: "any"
}),
dayPeriod: a({
matchPatterns: P,
defaultMatchWidth: "any",
parsePatterns: y,
defaultParseWidth: "any"
})
};
export {
l as match
};