Files
klz-cables.com/.pnpm-store/v10/files/c4/34dcda072274a482a5208a61654535ab8f4d3283ee64acc9b76512e463ea08703617804366e7f699f3ffdc72d9c2dfebbb9a22cc5935b3cc05515b84fe1864
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / đŸ§Ē QA (push) Failing after 34s
Build & Deploy / đŸ—ī¸ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / đŸ§Ē Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

256 lines
6.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.mjs";
const numberValues = {
locale: {
1: "ā§§",
2: "⧍",
3: "ā§Š",
4: "ā§Ē",
5: "ā§Ģ",
6: "ā§Ŧ",
7: "ā§­",
8: "ā§Ž",
9: "⧝",
0: "ā§Ļ",
},
number: {
"ā§§": "1",
"⧍": "2",
"ā§Š": "3",
"ā§Ē": "4",
"ā§Ģ": "5",
"ā§Ŧ": "6",
"ā§­": "7",
"ā§Ž": "8",
"⧝": "9",
"ā§Ļ": "0",
},
};
const eraValues = {
narrow: ["āĻ–ā§āϰāĻŋāσāĻĒā§‚āσ", "āĻ–ā§āϰāĻŋāσ"],
abbreviated: ["āĻ–ā§āϰāĻŋāσāĻĒā§‚āĻ°ā§āĻŦ", "āĻ–ā§āϰāĻŋāσ"],
wide: ["āĻ–ā§āϰāĻŋāĻ¸ā§āϟāĻĒā§‚āĻ°ā§āĻŦ", "āĻ–ā§āϰāĻŋāĻ¸ā§āϟāĻžāĻŦā§āĻĻ"],
};
const quarterValues = {
narrow: ["ā§§", "⧍", "ā§Š", "ā§Ē"],
abbreviated: ["ā§§āĻ¤ā§āϰ⧈", "⧍āĻ¤ā§āϰ⧈", "ā§ŠāĻ¤ā§āϰ⧈", "ā§ĒāĻ¤ā§āϰ⧈"],
wide: ["ā§§āĻŽ āĻ¤ā§āϰ⧈āĻŽāĻžāϏāĻŋāĻ•", "⧍⧟ āĻ¤ā§āϰ⧈āĻŽāĻžāϏāĻŋāĻ•", "ā§Šā§Ÿ āĻ¤ā§āϰ⧈āĻŽāĻžāϏāĻŋāĻ•", "ā§ĒāĻ°ā§āĻĨ āĻ¤ā§āϰ⧈āĻŽāĻžāϏāĻŋāĻ•"],
};
const monthValues = {
narrow: [
"āϜāĻžāύ⧁",
"āĻĢ⧇āĻŦā§āϰ⧁",
"āĻŽāĻžāĻ°ā§āϚ",
"āĻāĻĒā§āϰāĻŋāϞ",
"āĻŽā§‡",
"āϜ⧁āύ",
"āϜ⧁āϞāĻžāχ",
"āφāĻ—āĻ¸ā§āϟ",
"āϏ⧇āĻĒā§āϟ",
"āĻ…āĻ•ā§āĻŸā§‹",
"āύāϭ⧇",
"āĻĄāĻŋāϏ⧇",
],
abbreviated: [
"āϜāĻžāύ⧁",
"āĻĢ⧇āĻŦā§āϰ⧁",
"āĻŽāĻžāĻ°ā§āϚ",
"āĻāĻĒā§āϰāĻŋāϞ",
"āĻŽā§‡",
"āϜ⧁āύ",
"āϜ⧁āϞāĻžāχ",
"āφāĻ—āĻ¸ā§āϟ",
"āϏ⧇āĻĒā§āϟ",
"āĻ…āĻ•ā§āĻŸā§‹",
"āύāϭ⧇",
"āĻĄāĻŋāϏ⧇",
],
wide: [
"āϜāĻžāύ⧁⧟āĻžāϰāĻŋ",
"āĻĢ⧇āĻŦā§āϰ⧁⧟āĻžāϰāĻŋ",
"āĻŽāĻžāĻ°ā§āϚ",
"āĻāĻĒā§āϰāĻŋāϞ",
"āĻŽā§‡",
"āϜ⧁āύ",
"āϜ⧁āϞāĻžāχ",
"āφāĻ—āĻ¸ā§āϟ",
"āϏ⧇āĻĒā§āĻŸā§‡āĻŽā§āĻŦāϰ",
"āĻ…āĻ•ā§āĻŸā§‹āĻŦāϰ",
"āύāϭ⧇āĻŽā§āĻŦāϰ",
"āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ",
],
};
const dayValues = {
narrow: ["āϰ", "āϏ⧋", "āĻŽ", "āĻŦ⧁", "āĻŦ⧃", "āĻļ⧁", "āĻļ"],
short: ["āϰāĻŦāĻŋ", "āϏ⧋āĻŽ", "āĻŽāĻ™ā§āĻ—āϞ", "āĻŦ⧁āϧ", "āĻŦ⧃āĻš", "āĻļ⧁āĻ•ā§āϰ", "āĻļāύāĻŋ"],
abbreviated: ["āϰāĻŦāĻŋ", "āϏ⧋āĻŽ", "āĻŽāĻ™ā§āĻ—āϞ", "āĻŦ⧁āϧ", "āĻŦ⧃āĻš", "āĻļ⧁āĻ•ā§āϰ", "āĻļāύāĻŋ"],
wide: [
"āϰāĻŦāĻŋāĻŦāĻžāϰ",
"āϏ⧋āĻŽāĻŦāĻžāϰ",
"āĻŽāĻ™ā§āĻ—āϞāĻŦāĻžāϰ",
"āĻŦ⧁āϧāĻŦāĻžāϰ",
"āĻŦ⧃āĻšāĻ¸ā§āĻĒāϤāĻŋāĻŦāĻžāϰ ",
"āĻļ⧁āĻ•ā§āϰāĻŦāĻžāϰ",
"āĻļāύāĻŋāĻŦāĻžāϰ",
],
};
const dayPeriodValues = {
narrow: {
am: "āĻĒā§‚",
pm: "āĻ…āĻĒ",
midnight: "āĻŽāĻ§ā§āϝāϰāĻžāϤ",
noon: "āĻŽāĻ§ā§āϝāĻžāĻšā§āύ",
morning: "āϏāĻ•āĻžāϞ",
afternoon: "āĻŦāĻŋāĻ•āĻžāϞ",
evening: "āϏāĻ¨ā§āĻ§ā§āϝāĻž",
night: "āϰāĻžāϤ",
},
abbreviated: {
am: "āĻĒā§‚āĻ°ā§āĻŦāĻžāĻšā§āύ",
pm: "āĻ…āĻĒāϰāĻžāĻšā§āύ",
midnight: "āĻŽāĻ§ā§āϝāϰāĻžāϤ",
noon: "āĻŽāĻ§ā§āϝāĻžāĻšā§āύ",
morning: "āϏāĻ•āĻžāϞ",
afternoon: "āĻŦāĻŋāĻ•āĻžāϞ",
evening: "āϏāĻ¨ā§āĻ§ā§āϝāĻž",
night: "āϰāĻžāϤ",
},
wide: {
am: "āĻĒā§‚āĻ°ā§āĻŦāĻžāĻšā§āύ",
pm: "āĻ…āĻĒāϰāĻžāĻšā§āύ",
midnight: "āĻŽāĻ§ā§āϝāϰāĻžāϤ",
noon: "āĻŽāĻ§ā§āϝāĻžāĻšā§āύ",
morning: "āϏāĻ•āĻžāϞ",
afternoon: "āĻŦāĻŋāĻ•āĻžāϞ",
evening: "āϏāĻ¨ā§āĻ§ā§āϝāĻž",
night: "āϰāĻžāϤ",
},
};
const formattingDayPeriodValues = {
narrow: {
am: "āĻĒā§‚",
pm: "āĻ…āĻĒ",
midnight: "āĻŽāĻ§ā§āϝāϰāĻžāϤ",
noon: "āĻŽāĻ§ā§āϝāĻžāĻšā§āύ",
morning: "āϏāĻ•āĻžāϞ",
afternoon: "āĻŦāĻŋāĻ•āĻžāϞ",
evening: "āϏāĻ¨ā§āĻ§ā§āϝāĻž",
night: "āϰāĻžāϤ",
},
abbreviated: {
am: "āĻĒā§‚āĻ°ā§āĻŦāĻžāĻšā§āύ",
pm: "āĻ…āĻĒāϰāĻžāĻšā§āύ",
midnight: "āĻŽāĻ§ā§āϝāϰāĻžāϤ",
noon: "āĻŽāĻ§ā§āϝāĻžāĻšā§āύ",
morning: "āϏāĻ•āĻžāϞ",
afternoon: "āĻŦāĻŋāĻ•āĻžāϞ",
evening: "āϏāĻ¨ā§āĻ§ā§āϝāĻž",
night: "āϰāĻžāϤ",
},
wide: {
am: "āĻĒā§‚āĻ°ā§āĻŦāĻžāĻšā§āύ",
pm: "āĻ…āĻĒāϰāĻžāĻšā§āύ",
midnight: "āĻŽāĻ§ā§āϝāϰāĻžāϤ",
noon: "āĻŽāĻ§ā§āϝāĻžāĻšā§āύ",
morning: "āϏāĻ•āĻžāϞ",
afternoon: "āĻŦāĻŋāĻ•āĻžāϞ",
evening: "āϏāĻ¨ā§āĻ§ā§āϝāĻž",
night: "āϰāĻžāϤ",
},
};
function dateOrdinalNumber(number, localeNumber) {
if (number > 18 && number <= 31) {
return localeNumber + "āĻļ⧇";
} else {
switch (number) {
case 1:
return localeNumber + "āϞāĻž";
case 2:
case 3:
return localeNumber + "āϰāĻž";
case 4:
return localeNumber + "āĻ āĻž";
default:
return localeNumber + "āχ";
}
}
}
const ordinalNumber = (dirtyNumber, options) => {
const number = Number(dirtyNumber);
const localeNumber = numberToLocale(number);
const unit = options?.unit;
if (unit === "date") {
return dateOrdinalNumber(number, localeNumber);
}
if (number > 10 || number === 0) return localeNumber + "āϤāĻŽ";
const rem10 = number % 10;
switch (rem10) {
case 2:
case 3:
return localeNumber + "⧟";
case 4:
return localeNumber + "āĻ°ā§āĻĨ";
case 6:
return localeNumber + "āĻˇā§āĻ ";
default:
return localeNumber + "āĻŽ";
}
};
// function localeToNumber(locale: string): number {
// const enNumber = locale.toString().replace(/[ā§§ā§¨ā§Šā§Ēā§Ģā§Ŧā§­ā§Žā§¯ā§Ļ]/g, function (match) {
// return numberValues.number[match as keyof typeof numberValues.number]
// })
// return Number(enNumber)
// }
export function numberToLocale(enNumber) {
return enNumber.toString().replace(/\d/g, function (match) {
return numberValues.locale[match];
});
}
export const localize = {
ordinalNumber,
era: buildLocalizeFn({
values: eraValues,
defaultWidth: "wide",
}),
quarter: buildLocalizeFn({
values: quarterValues,
defaultWidth: "wide",
argumentCallback: (quarter) => quarter - 1,
}),
month: buildLocalizeFn({
values: monthValues,
defaultWidth: "wide",
}),
day: buildLocalizeFn({
values: dayValues,
defaultWidth: "wide",
}),
dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: "wide",
formattingValues: formattingDayPeriodValues,
defaultFormattingWidth: "wide",
}),
};