@fifteen/design-system-vue
Version:
Vue 3 (Composition API + Typescript) implementation of the Fifteen Design System
121 lines (120 loc) • 2.77 kB
JavaScript
import { buildMatchFn as a } from "../../_lib/buildMatchFn.js";
import { buildMatchPatternFn as r } from "../../_lib/buildMatchPatternFn.js";
const t = /^(\d+)(af|ail|ydd|ed|fed|eg|ain)?/i, e = /\d+/i, n = {
narrow: /^(c|o)/i,
abbreviated: /^(c\.?\s?c\.?|o\.?\s?c\.?)/i,
wide: /^(cyn christ|ar ôl crist|ar ol crist)/i
}, d = {
wide: [/^c/i, /^(ar ôl crist|ar ol crist)/i],
any: [/^c/i, /^o/i]
}, h = {
narrow: /^[1234]/i,
abbreviated: /^ch[1234]/i,
wide: /^(chwarter 1af)|([234](ail|ydd)? chwarter)/i
}, s = {
any: [/1/i, /2/i, /3/i, /4/i]
}, c = {
narrow: /^(i|ch|m|e|g|a|h|t|rh)/i,
abbreviated: /^(ion|chwe|maw|ebr|mai|meh|gor|aws|med|hyd|tach|rhag)/i,
wide: /^(ionawr|chwefror|mawrth|ebrill|mai|mehefin|gorffennaf|awst|medi|hydref|tachwedd|rhagfyr)/i
}, o = {
narrow: [
/^i/i,
/^ch/i,
/^m/i,
/^e/i,
/^m/i,
/^m/i,
/^g/i,
/^a/i,
/^m/i,
/^h/i,
/^t/i,
/^rh/i
],
any: [
/^io/i,
/^ch/i,
/^maw/i,
/^e/i,
/^mai/i,
/^meh/i,
/^g/i,
/^a/i,
/^med/i,
/^h/i,
/^t/i,
/^rh/i
]
}, m = {
narrow: /^(s|ll|m|i|g)/i,
short: /^(su|ll|ma|me|ia|gw|sa)/i,
abbreviated: /^(sul|llun|maw|mer|iau|gwe|sad)/i,
wide: /^dydd (sul|llun|mawrth|mercher|iau|gwener|sadwrn)/i
}, y = {
narrow: [/^s/i, /^ll/i, /^m/i, /^m/i, /^i/i, /^g/i, /^s/i],
wide: [
/^dydd su/i,
/^dydd ll/i,
/^dydd ma/i,
/^dydd me/i,
/^dydd i/i,
/^dydd g/i,
/^dydd sa/i
],
any: [/^su/i, /^ll/i, /^ma/i, /^me/i, /^i/i, /^g/i, /^sa/i]
}, l = {
narrow: /^(b|h|hn|hd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i,
any: /^(y\.?\s?[bh]\.?|hanner nos|hanner dydd|(yn y|y|yr|gyda'r) (bore|prynhawn|nos|hwyr))/i
}, w = {
any: {
am: /^b|(y\.?\s?b\.?)/i,
pm: /^h|(y\.?\s?h\.?)|(yr hwyr)/i,
midnight: /^hn|hanner nos/i,
noon: /^hd|hanner dydd/i,
morning: /bore/i,
afternoon: /prynhawn/i,
evening: /^gyda'r nos$/i,
night: /blah/i
}
}, b = {
ordinalNumber: r({
matchPattern: t,
parsePattern: e,
valueCallback: (i) => parseInt(i, 10)
}),
era: a({
matchPatterns: n,
defaultMatchWidth: "wide",
parsePatterns: d,
defaultParseWidth: "any"
}),
quarter: a({
matchPatterns: h,
defaultMatchWidth: "wide",
parsePatterns: s,
defaultParseWidth: "any",
valueCallback: (i) => i + 1
}),
month: a({
matchPatterns: c,
defaultMatchWidth: "wide",
parsePatterns: o,
defaultParseWidth: "any"
}),
day: a({
matchPatterns: m,
defaultMatchWidth: "wide",
parsePatterns: y,
defaultParseWidth: "any"
}),
dayPeriod: a({
matchPatterns: l,
defaultMatchWidth: "any",
parsePatterns: w,
defaultParseWidth: "any"
})
};
export {
b as match
};