Files
klz-cables.com/.pnpm-store/v10/files/d5/32e0f5b0a3eeeb8782b99c17180f8cf5cb8ad396bdfdf9b07ac0ef6a033cc0f59ff212431cd7aaacaca0fc530fde5b545894ec05f10ec8be4c3f5d32363eb3
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

166 lines
3.3 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.js";
const eraValues = {
narrow: ["av. J.-C", "ap. J.-C"],
abbreviated: ["av. J.-C", "ap. J.-C"],
wide: ["avant Jésus-Christ", "après Jésus-Christ"],
};
const quarterValues = {
narrow: ["T1", "T2", "T3", "T4"],
abbreviated: ["1er trim.", "2ème trim.", "3ème trim.", "4ème trim."],
wide: ["1er trimestre", "2ème trimestre", "3ème trimestre", "4ème trimestre"],
};
const monthValues = {
narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
abbreviated: [
"janv.",
"févr.",
"mars",
"avr.",
"mai",
"juin",
"juil.",
"août",
"sept.",
"oct.",
"nov.",
"déc.",
],
wide: [
"janvier",
"février",
"mars",
"avril",
"mai",
"juin",
"juillet",
"août",
"septembre",
"octobre",
"novembre",
"décembre",
],
};
const dayValues = {
narrow: ["D", "L", "M", "M", "J", "V", "S"],
short: ["di", "lu", "ma", "me", "je", "ve", "sa"],
abbreviated: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."],
wide: [
"dimanche",
"lundi",
"mardi",
"mercredi",
"jeudi",
"vendredi",
"samedi",
],
};
const dayPeriodValues = {
narrow: {
am: "AM",
pm: "PM",
midnight: "minuit",
noon: "midi",
morning: "mat.",
afternoon: "ap.m.",
evening: "soir",
night: "mat.",
},
abbreviated: {
am: "AM",
pm: "PM",
midnight: "minuit",
noon: "midi",
morning: "matin",
afternoon: "après-midi",
evening: "soir",
night: "matin",
},
wide: {
am: "AM",
pm: "PM",
midnight: "minuit",
noon: "midi",
morning: "du matin",
afternoon: "de laprès-midi",
evening: "du soir",
night: "du matin",
},
};
const ordinalNumber = (dirtyNumber, options) => {
const number = Number(dirtyNumber);
const unit = options?.unit;
if (number === 0) return "0";
const feminineUnits = ["year", "week", "hour", "minute", "second"];
let suffix;
if (number === 1) {
suffix = unit && feminineUnits.includes(unit) ? "ère" : "er";
} else {
suffix = "ème";
}
return number + suffix;
};
const LONG_MONTHS_TOKENS = ["MMM", "MMMM"];
export const localize = {
preprocessor: (date, parts) => {
// Replaces the `do` tokens with `d` when used with long month tokens and the day of the month is greater than one.
// Use case "do MMMM" => 1er août, 29 août
// see https://github.com/date-fns/date-fns/issues/1391
if (date.getDate() === 1) return parts;
const hasLongMonthToken = parts.some(
(part) => part.isToken && LONG_MONTHS_TOKENS.includes(part.value),
);
if (!hasLongMonthToken) return parts;
return parts.map((part) =>
part.isToken && part.value === "do"
? { isToken: true, value: "d" }
: part,
);
},
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",
}),
};