Compare commits
2 commits
c8600583f2
...
70b534573d
| Author | SHA1 | Date | |
|---|---|---|---|
| 70b534573d | |||
| 5ab6156ddc |
106
bun.lock
|
|
@ -17,9 +17,9 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@effect/language-service": "^0.85.1",
|
"@effect/language-service": "^0.85.1",
|
||||||
"@effect/tsgo": "0.5.1",
|
"@effect/tsgo": "0.5.1",
|
||||||
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint#62ee424274",
|
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint#888eb4aa54e5",
|
||||||
"@gcch/configuration-oxlint": "git+https://git.gcch.fr/gcch/configuration-oxlint#0968f683",
|
"@gcch/configuration-oxlint": "git+https://git.gcch.fr/gcch/configuration-oxlint#83547fc1ebfd",
|
||||||
"@gcch/configuration-prettier": "git+https://git.gcch.fr/gcch/configuration-prettier#8de937e801",
|
"@gcch/configuration-prettier": "git+https://git.gcch.fr/gcch/configuration-prettier#d267d6dc5ee8",
|
||||||
"@playwright/test": "^1.59.1",
|
"@playwright/test": "^1.59.1",
|
||||||
"@sentry/core": "^10.50.0",
|
"@sentry/core": "^10.50.0",
|
||||||
"@types/bun": "^1.3.13",
|
"@types/bun": "^1.3.13",
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
"eslint": "^10.2.1",
|
"eslint": "^10.2.1",
|
||||||
"eslint-plugin-functional": "^9.0.4",
|
"eslint-plugin-functional": "^9.0.4",
|
||||||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||||
"eslint-plugin-oxlint": "^1.61.0",
|
"eslint-plugin-oxlint": "^1.62.0",
|
||||||
"eslint-plugin-perfectionist": "^5.9.0",
|
"eslint-plugin-perfectionist": "^5.9.0",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
"globals": "^17.5.0",
|
"globals": "^17.5.0",
|
||||||
|
|
@ -40,21 +40,21 @@
|
||||||
"knip": "^6.7.0",
|
"knip": "^6.7.0",
|
||||||
"lightningcss": "^1.32.0",
|
"lightningcss": "^1.32.0",
|
||||||
"lightningcss-cli": "^1.32.0",
|
"lightningcss-cli": "^1.32.0",
|
||||||
"oxlint": "^1.61.0",
|
"oxlint": "^1.62.0",
|
||||||
"oxlint-tsgolint": "^0.22.0",
|
"oxlint-tsgolint": "^0.22.1",
|
||||||
"playwright": "^1.59.1",
|
"playwright": "^1.59.1",
|
||||||
"prettier": "^3.8.3",
|
"prettier": "^3.8.3",
|
||||||
"prettier-plugin-pkg": "^0.22.1",
|
"prettier-plugin-pkg": "^0.22.1",
|
||||||
"prettier-plugin-sh": "^0.18.1",
|
"prettier-plugin-sh": "^0.18.1",
|
||||||
"sass-embedded": "^1.99.0",
|
"sass-embedded": "^1.99.0",
|
||||||
"stylelint": "^17.9.0",
|
"stylelint": "^17.9.1",
|
||||||
"stylelint-config-clean-order": "^8.0.1",
|
"stylelint-config-clean-order": "^8.0.1",
|
||||||
"stylelint-config-sass-guidelines": "^13.0.0",
|
"stylelint-config-sass-guidelines": "^13.0.0",
|
||||||
"stylelint-config-standard-scss": "^17.0.0",
|
"stylelint-config-standard-scss": "^17.0.0",
|
||||||
"stylelint-declaration-block-no-ignored-properties": "^3.0.0",
|
"stylelint-declaration-block-no-ignored-properties": "^3.0.0",
|
||||||
"stylelint-plugin-logical-css": "^2.1.0",
|
"stylelint-plugin-logical-css": "^2.1.0",
|
||||||
"typescript": "^6.0.3",
|
"typescript": "^6.0.3",
|
||||||
"typescript-eslint": "^8.59.0",
|
"typescript-eslint": "^8.59.1",
|
||||||
"vite": "^8.0.10",
|
"vite": "^8.0.10",
|
||||||
"vite-tsconfig-paths": "^6.1.1",
|
"vite-tsconfig-paths": "^6.1.1",
|
||||||
},
|
},
|
||||||
|
|
@ -311,11 +311,11 @@
|
||||||
|
|
||||||
"@eslint/plugin-kit": ["@eslint/plugin-kit@0.7.1", "", { "dependencies": { "@eslint/core": "^1.2.1", "levn": "^0.4.1" } }, "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ=="],
|
"@eslint/plugin-kit": ["@eslint/plugin-kit@0.7.1", "", { "dependencies": { "@eslint/core": "^1.2.1", "levn": "^0.4.1" } }, "sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ=="],
|
||||||
|
|
||||||
"@gcch/configuration-eslint": ["@gcch/configuration-eslint@git+https://git.gcch.fr/gcch/configuration-eslint#62ee424274f0bfebd5135a728960644f4b1cdcb8", { "dependencies": { "@eslint/js": "^10.0.1", "astro-eslint-parser": "^1.3.0", "eslint": "^10.0.3", "eslint-plugin-astro": "^1.6.0", "eslint-plugin-functional": "^9.0.4", "eslint-plugin-jsdoc": "^62.8.0", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-perfectionist": "^5.6.0", "eslint-plugin-sonarjs": "^4.0.2", "eslint-plugin-unicorn": "^63.0.0", "globals": "^17.4.0", "typescript-eslint": "^8.57.0" }, "peerDependencies": { "eslint": "^10.0.3", "typescript": "^6.0.1-rc" } }, "62ee424274f0bfebd5135a728960644f4b1cdcb8"],
|
"@gcch/configuration-eslint": ["@gcch/configuration-eslint@git+https://git.gcch.fr/gcch/configuration-eslint#888eb4aa54e5bfd6251566d7469ee99204c19f45", { "dependencies": { "@eslint/js": "^10.0.1", "astro-eslint-parser": "^1.4.0", "eslint": "^10.2.1", "eslint-plugin-functional": "^9.0.4", "eslint-plugin-jsdoc": "^62.9.0", "eslint-plugin-perfectionist": "^5.9.0", "eslint-plugin-sonarjs": "^4.0.3", "eslint-plugin-unicorn": "^64.0.0", "globals": "^17.5.0", "typescript-eslint": "^8.59.1" }, "optionalDependencies": { "eslint-plugin-astro": "^1.7.0", "eslint-plugin-jsx-a11y": "^6.10.2" }, "peerDependencies": { "eslint": "^10.2.1", "typescript": "^6.0.3" } }, "888eb4aa54e5bfd6251566d7469ee99204c19f45"],
|
||||||
|
|
||||||
"@gcch/configuration-oxlint": ["@gcch/configuration-oxlint@git+https://git.gcch.fr/gcch/configuration-oxlint#0968f683dfb3a8b6bbce827645c2be76a2d3adb9", { "dependencies": { "eslint-plugin-astro": "^1.6.0", "eslint-plugin-functional": "^9.0.4", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-perfectionist": "^5.8.0", "globals": "^17.4.0", "oxlint": "^1.59.0", "oxlint-tsgolint": "^0.20.0" }, "peerDependencies": { "eslint-plugin-astro": "^1.6.0", "eslint-plugin-functional": "^9.0.4", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-perfectionist": "^5.8.0", "oxlint": "^1.59.0", "oxlint-tsgolint": "^0.20.0", "typescript": "^6.0.2" } }, "0968f683dfb3a8b6bbce827645c2be76a2d3adb9"],
|
"@gcch/configuration-oxlint": ["@gcch/configuration-oxlint@git+https://git.gcch.fr/gcch/configuration-oxlint#83547fc1ebfd6cb402e3c7f074b3e267632ebf4a", { "dependencies": { "eslint-plugin-astro": "^1.7.0", "eslint-plugin-functional": "^9.0.4", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-perfectionist": "^5.9.0", "globals": "^17.5.0", "oxlint": "^1.62.0", "oxlint-tsgolint": "^0.22.1" }, "optionalDependencies": { "eslint-plugin-astro": "^1.6.0" }, "peerDependencies": { "eslint-plugin-astro": "^1.7.0", "eslint-plugin-functional": "^9.0.4", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-perfectionist": "^5.9.0", "oxlint": "^1.62.0", "oxlint-tsgolint": "^0.22.1", "typescript": "^6.0.3" } }, "83547fc1ebfd6cb402e3c7f074b3e267632ebf4a"],
|
||||||
|
|
||||||
"@gcch/configuration-prettier": ["@gcch/configuration-prettier@git+https://git.gcch.fr/gcch/configuration-prettier#8de937e801bd44784ac91e0ff6e038d838f7eea1", { "dependencies": { "prettier": "^3.8.1", "prettier-plugin-curly": "^0.4.1", "prettier-plugin-ini": "^1.3.0", "prettier-plugin-jsdoc": "^1.8.0", "prettier-plugin-pkg": "^0.22.0", "prettier-plugin-sh": "^0.18.0", "prettier-plugin-sort-json": "^4.2.0" }, "peerDependencies": { "prettier": "^3.8.1" } }, "8de937e801bd44784ac91e0ff6e038d838f7eea1"],
|
"@gcch/configuration-prettier": ["@gcch/configuration-prettier@git+https://git.gcch.fr/gcch/configuration-prettier#d267d6dc5ee8f14378180d71f651009bf7aa3acc", { "dependencies": { "prettier": "^3.8.3", "prettier-plugin-curly": "^0.4.1", "prettier-plugin-ini": "^1.3.0", "prettier-plugin-jsdoc": "^1.8.0", "prettier-plugin-pkg": "^0.22.0", "prettier-plugin-sh": "^0.18.1", "prettier-plugin-sort-json": "^4.2.0" }, "peerDependencies": { "prettier": "^3.8.3" } }, "d267d6dc5ee8f14378180d71f651009bf7aa3acc"],
|
||||||
|
|
||||||
"@humanfs/core": ["@humanfs/core@0.19.2", "", { "dependencies": { "@humanfs/types": "^0.15.0" } }, "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA=="],
|
"@humanfs/core": ["@humanfs/core@0.19.2", "", { "dependencies": { "@humanfs/types": "^0.15.0" } }, "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA=="],
|
||||||
|
|
||||||
|
|
@ -447,17 +447,17 @@
|
||||||
|
|
||||||
"@oxc-resolver/binding-win32-x64-msvc": ["@oxc-resolver/binding-win32-x64-msvc@11.19.1", "", { "os": "win32", "cpu": "x64" }, "sha512-6hIU3RQu45B+VNTY4Ru8ppFwjVS/S5qwYyGhBotmjxfEKk41I2DlGtRfGJndZ5+6lneE2pwloqunlOyZuX/XAw=="],
|
"@oxc-resolver/binding-win32-x64-msvc": ["@oxc-resolver/binding-win32-x64-msvc@11.19.1", "", { "os": "win32", "cpu": "x64" }, "sha512-6hIU3RQu45B+VNTY4Ru8ppFwjVS/S5qwYyGhBotmjxfEKk41I2DlGtRfGJndZ5+6lneE2pwloqunlOyZuX/XAw=="],
|
||||||
|
|
||||||
"@oxlint-tsgolint/darwin-arm64": ["@oxlint-tsgolint/darwin-arm64@0.22.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-/exgXceakHbQrzaHTtKOe7MuDATaWMCCWpsCDQCZKeYhLGXzComipTrCYnHzAXrdnNBb5r5K+RRf5A6ormrhMA=="],
|
"@oxlint-tsgolint/darwin-arm64": ["@oxlint-tsgolint/darwin-arm64@0.22.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4150Lpgc1YM09GcjA6GSrra1JoPjC7aOpfywLjWEY4vW0Sd1qKzqHF1WRaiw0/qUZ40OATYdv3aRd7ipPkWQbw=="],
|
||||||
|
|
||||||
"@oxlint-tsgolint/darwin-x64": ["@oxlint-tsgolint/darwin-x64@0.22.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-xFGdIahlmUbK+/MpZ5y08D0ewMGLDbd2Vki5wxVFYg50lSrtgPAtdDl+kqKZLNaFu0zpMar8n9wv1le05sL/jw=="],
|
"@oxlint-tsgolint/darwin-x64": ["@oxlint-tsgolint/darwin-x64@0.22.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-vFWcPWYOgZs4HWcgS1EjUZg33NLcNfEYU49KGImmCfZWkflENrmBYV4HN/C0YeAPum6ZZ/goPSvQrB/cOD+NfA=="],
|
||||||
|
|
||||||
"@oxlint-tsgolint/linux-arm64": ["@oxlint-tsgolint/linux-arm64@0.22.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-53RvC9f77eUo+V1dfQNwGVnsIfPJFMibRR0ee128EUpYNDOZe/ojmCfuXJeU7cY91V7r7fZSm42KPJocXUX8og=="],
|
"@oxlint-tsgolint/linux-arm64": ["@oxlint-tsgolint/linux-arm64@0.22.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-6LiUpP0Zir3+29FvBm7Y28q/dBjSHqTZ5MhG1Ckw4fGhI4cAvbcwXaKvbjx1TP7rRmBNOoq/M5xdpHjTb+GAew=="],
|
||||||
|
|
||||||
"@oxlint-tsgolint/linux-x64": ["@oxlint-tsgolint/linux-x64@0.22.0", "", { "os": "linux", "cpu": "x64" }, "sha512-evZcJAZ9hjNyuN69RnXwbt+U2pAOcYt+yvqukgugiCkRm4iBZ0R0CvpY1tgfG2XcGUhEPh8dljO+nPZTEVGpCQ=="],
|
"@oxlint-tsgolint/linux-x64": ["@oxlint-tsgolint/linux-x64@0.22.1", "", { "os": "linux", "cpu": "x64" }, "sha512-fuX1hEQfpHauUbXADsfqVhRzrUrGabzGXbj5wsp2vKhV5uk/Rze8Mba9GdjFGECzvXudMGqHqxB4r6jGRdhxVA=="],
|
||||||
|
|
||||||
"@oxlint-tsgolint/win32-arm64": ["@oxlint-tsgolint/win32-arm64@0.22.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-7jTO+k1mr5BxRAI2fxc1NRcE3MAbHNZ0Vef9SD1yAR6d1E6qEv5D/D7yuHpQpw6AO3qoecSVo2Jzr+JirN61+w=="],
|
"@oxlint-tsgolint/win32-arm64": ["@oxlint-tsgolint/win32-arm64@0.22.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-8SZidAj+jrbZf9ZjBEYW0tiNZ+KasqB2zgW26qdiPpQSF/DzURnPmXz651IeA9YsmbVdHGIooEHUmev6QJdquA=="],
|
||||||
|
|
||||||
"@oxlint-tsgolint/win32-x64": ["@oxlint-tsgolint/win32-x64@0.22.0", "", { "os": "win32", "cpu": "x64" }, "sha512-7lbl9XFcqO+scsynxMzTQdl0XUe6sBUCyY/oGWvCB+JmV4U+70vzSyZJdTEzzxtkZiNnUVFFh9RJLmoiQSne+w=="],
|
"@oxlint-tsgolint/win32-x64": ["@oxlint-tsgolint/win32-x64@0.22.1", "", { "os": "win32", "cpu": "x64" }, "sha512-QweSk9H5lFh5Y+WUf2Kq/OAN88V6+62ZwGhP38gqdRotI90luXSMkruFTj7Q2rYrzH4ZVNaSqx7NY8JpSfIzqg=="],
|
||||||
|
|
||||||
"@oxlint/binding-android-arm-eabi": ["@oxlint/binding-android-arm-eabi@1.62.0", "", { "os": "android", "cpu": "arm" }, "sha512-pKsthNECyvJh8lPTICz6VcwVy2jOqdhhsp1rlxCkhgZR47aKvXPmaRWQDv+zlXpRae4qm1MaaTnutkaOk5aofg=="],
|
"@oxlint/binding-android-arm-eabi": ["@oxlint/binding-android-arm-eabi@1.62.0", "", { "os": "android", "cpu": "arm" }, "sha512-pKsthNECyvJh8lPTICz6VcwVy2jOqdhhsp1rlxCkhgZR47aKvXPmaRWQDv+zlXpRae4qm1MaaTnutkaOk5aofg=="],
|
||||||
|
|
||||||
|
|
@ -605,25 +605,25 @@
|
||||||
|
|
||||||
"@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
|
"@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.59.0", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.59.0", "@typescript-eslint/type-utils": "8.59.0", "@typescript-eslint/utils": "8.59.0", "@typescript-eslint/visitor-keys": "8.59.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.59.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-HyAZtpdkgZwpq8Sz3FSUvCR4c+ScbuWa9AksK2Jweub7w4M3yTz4O11AqVJzLYjy/B9ZWPyc81I+mOdJU/bDQw=="],
|
"@typescript-eslint/eslint-plugin": ["@typescript-eslint/eslint-plugin@8.59.1", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "@typescript-eslint/scope-manager": "8.59.1", "@typescript-eslint/type-utils": "8.59.1", "@typescript-eslint/utils": "8.59.1", "@typescript-eslint/visitor-keys": "8.59.1", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "@typescript-eslint/parser": "^8.59.1", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-BOziFIfE+6osHO9FoJG4zjoHUcvI7fTNBSpdAwrNH0/TLvzjsk2oo8XSSOT2HhqUyhZPfHv4UOffoJ9oEEQ7Ag=="],
|
||||||
|
|
||||||
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.59.0", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.59.0", "@typescript-eslint/types": "8.59.0", "@typescript-eslint/typescript-estree": "8.59.0", "@typescript-eslint/visitor-keys": "8.59.0", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-TI1XGwKbDpo9tRW8UDIXCOeLk55qe9ZFGs8MTKU6/M08HWTw52DD/IYhfQtOEhEdPhLMT26Ka/x7p70nd3dzDg=="],
|
"@typescript-eslint/parser": ["@typescript-eslint/parser@8.59.1", "", { "dependencies": { "@typescript-eslint/scope-manager": "8.59.1", "@typescript-eslint/types": "8.59.1", "@typescript-eslint/typescript-estree": "8.59.1", "@typescript-eslint/visitor-keys": "8.59.1", "debug": "^4.4.3" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-HDQH9O/47Dxi1ceDhBXdaldtf/WV9yRYMjbjCuNk3qnaTD564qwv61Y7+gTxwxRKzSrgO5uhtw584igXVuuZkA=="],
|
||||||
|
|
||||||
"@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.59.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.59.0", "@typescript-eslint/types": "^8.59.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw=="],
|
"@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.59.1", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.59.1", "@typescript-eslint/types": "^8.59.1", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-+MuHQlHiEr00Of/IQbE/MmEoi44znZHbR/Pz7Opq4HryUOlRi+/44dro9Ycy8Fyo+/024IWtw8m4JUMCGTYxDg=="],
|
||||||
|
|
||||||
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.59.0", "", { "dependencies": { "@typescript-eslint/types": "8.59.0", "@typescript-eslint/visitor-keys": "8.59.0" } }, "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg=="],
|
"@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.59.0", "", { "dependencies": { "@typescript-eslint/types": "8.59.0", "@typescript-eslint/visitor-keys": "8.59.0" } }, "sha512-UzR16Ut8IpA3Mc4DbgAShlPPkVm8xXMWafXxB0BocaVRHs8ZGakAxGRskF7FId3sdk9lgGD73GSFaWmWFDE4dg=="],
|
||||||
|
|
||||||
"@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.59.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg=="],
|
"@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.59.1", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-/0nEyPbX7gRsk0Uwfe4ALwwgxuA66d/l2mhRDNlAvaj4U3juhUtJNq0DsY8M2AYwwb9rEq2hrC3IcIcEt++iJA=="],
|
||||||
|
|
||||||
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.59.0", "", { "dependencies": { "@typescript-eslint/types": "8.59.0", "@typescript-eslint/typescript-estree": "8.59.0", "@typescript-eslint/utils": "8.59.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg=="],
|
"@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.59.0", "", { "dependencies": { "@typescript-eslint/types": "8.59.0", "@typescript-eslint/typescript-estree": "8.59.0", "@typescript-eslint/utils": "8.59.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-3TRiZaQSltGqGeNrJzzr1+8YcEobKH9rHnqIp/1psfKFmhRQDNMGP5hBufanYTGznwShzVLs3Mz+gDN7HkWfXg=="],
|
||||||
|
|
||||||
"@typescript-eslint/types": ["@typescript-eslint/types@8.59.0", "", {}, "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A=="],
|
"@typescript-eslint/types": ["@typescript-eslint/types@8.59.0", "", {}, "sha512-nLzdsT1gdOgFxxxwrlNVUBzSNBEEHJ86bblmk4QAS6stfig7rcJzWKqCyxFy3YRRHXDWEkb2NralA1nOYkkm/A=="],
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.59.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.59.0", "@typescript-eslint/tsconfig-utils": "8.59.0", "@typescript-eslint/types": "8.59.0", "@typescript-eslint/visitor-keys": "8.59.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw=="],
|
"@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.59.1", "", { "dependencies": { "@typescript-eslint/project-service": "8.59.1", "@typescript-eslint/tsconfig-utils": "8.59.1", "@typescript-eslint/types": "8.59.1", "@typescript-eslint/visitor-keys": "8.59.1", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-OUd+vJS05sSkOip+BkZ/2NS8RMxrAAJemsC6vU3kmfLyeaJT0TftHkV9mcx2107MmsBVXXexhVu4F0TZXyMl4g=="],
|
||||||
|
|
||||||
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.59.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.59.0", "@typescript-eslint/types": "8.59.0", "@typescript-eslint/typescript-estree": "8.59.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g=="],
|
"@typescript-eslint/utils": ["@typescript-eslint/utils@8.59.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.59.0", "@typescript-eslint/types": "8.59.0", "@typescript-eslint/typescript-estree": "8.59.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-I1R/K7V07XsMJ12Oaxg/O9GfrysGTmCRhvZJBv0RE0NcULMzjqVpR5kRRQjHsz3J/bElU7HwCO7zkqL+MSUz+g=="],
|
||||||
|
|
||||||
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.59.0", "", { "dependencies": { "@typescript-eslint/types": "8.59.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q=="],
|
"@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.59.1", "", { "dependencies": { "@typescript-eslint/types": "8.59.1", "eslint-visitor-keys": "^5.0.0" } }, "sha512-LdDNl6C5iJExcM0Yh0PwAIBb9PrSiCsWamF/JyEZawm3kFDnRoaq3LGE4bpyRao/fWeGKKyw7icx0YxrLFC5Cg=="],
|
||||||
|
|
||||||
"@typescript/lib-decorators": ["@better-typescript-lib/decorators@2.12.0", "", { "peerDependencies": { "typescript": ">=4.5.2" } }, "sha512-/m9Q5Xk66ThUJidTsxmXJH0+49iCLl5PFmue0HkNSGrcPU96oaoKNY5sH1AslwA/OWVvBg3hE58ZwSGm6TQFuQ=="],
|
"@typescript/lib-decorators": ["@better-typescript-lib/decorators@2.12.0", "", { "peerDependencies": { "typescript": ">=4.5.2" } }, "sha512-/m9Q5Xk66ThUJidTsxmXJH0+49iCLl5PFmue0HkNSGrcPU96oaoKNY5sH1AslwA/OWVvBg3hE58ZwSGm6TQFuQ=="],
|
||||||
|
|
||||||
|
|
@ -873,13 +873,13 @@
|
||||||
|
|
||||||
"eslint-plugin-jsx-a11y": ["eslint-plugin-jsx-a11y@6.10.2", "", { "dependencies": { "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", "axe-core": "^4.10.0", "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", "string.prototype.includes": "^2.0.1" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q=="],
|
"eslint-plugin-jsx-a11y": ["eslint-plugin-jsx-a11y@6.10.2", "", { "dependencies": { "aria-query": "^5.3.2", "array-includes": "^3.1.8", "array.prototype.flatmap": "^1.3.2", "ast-types-flow": "^0.0.8", "axe-core": "^4.10.0", "axobject-query": "^4.1.0", "damerau-levenshtein": "^1.0.8", "emoji-regex": "^9.2.2", "hasown": "^2.0.2", "jsx-ast-utils": "^3.3.5", "language-tags": "^1.0.9", "minimatch": "^3.1.2", "object.fromentries": "^2.0.8", "safe-regex-test": "^1.0.3", "string.prototype.includes": "^2.0.1" }, "peerDependencies": { "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" } }, "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q=="],
|
||||||
|
|
||||||
"eslint-plugin-oxlint": ["eslint-plugin-oxlint@1.61.0", "", { "dependencies": { "jsonc-parser": "^3.3.1" }, "peerDependencies": { "oxlint": "~1.61.0" } }, "sha512-mpROR01MZfs5jRtglHnslLcHYd3/6BNXPJvIxJW/Klg9B5wA8i8EDQp8/FUK7XgpRVa9TpodclqGiwsUYwi/Wg=="],
|
"eslint-plugin-oxlint": ["eslint-plugin-oxlint@1.62.0", "", { "dependencies": { "jsonc-parser": "^3.3.1" }, "peerDependencies": { "oxlint": "~1.62.0" } }, "sha512-fJ1xrPPw7AwJPH+4rD10qaXbCQfMNa743WnwPwteXLFsUQ0qs9N1Zx8xGJvuWCwvciRJ19dwG+G460fLHrrPdw=="],
|
||||||
|
|
||||||
"eslint-plugin-perfectionist": ["eslint-plugin-perfectionist@5.9.0", "", { "dependencies": { "@typescript-eslint/utils": "^8.58.2", "natural-orderby": "^5.0.0" }, "peerDependencies": { "eslint": "^8.45.0 || ^9.0.0 || ^10.0.0" } }, "sha512-8TWzg02zmnBdZwCkWLi8jhzqXI+fE7Z/RwV8SL6xD45tJ8Bp3wGuYL2XtQgfe/Wd0eBqOUX+s6ey73IyszvKTA=="],
|
"eslint-plugin-perfectionist": ["eslint-plugin-perfectionist@5.9.0", "", { "dependencies": { "@typescript-eslint/utils": "^8.58.2", "natural-orderby": "^5.0.0" }, "peerDependencies": { "eslint": "^8.45.0 || ^9.0.0 || ^10.0.0" } }, "sha512-8TWzg02zmnBdZwCkWLi8jhzqXI+fE7Z/RwV8SL6xD45tJ8Bp3wGuYL2XtQgfe/Wd0eBqOUX+s6ey73IyszvKTA=="],
|
||||||
|
|
||||||
"eslint-plugin-sonarjs": ["eslint-plugin-sonarjs@4.0.3", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "builtin-modules": "^3.3.0", "bytes": "^3.1.2", "functional-red-black-tree": "^1.0.1", "globals": "^17.4.0", "jsx-ast-utils-x": "^0.1.0", "lodash.merge": "^4.6.2", "minimatch": "^10.2.5", "scslre": "^0.3.0", "semver": "^7.7.4", "ts-api-utils": "^2.5.0", "typescript": ">=5" }, "peerDependencies": { "eslint": "^8.0.0 || ^9.0.0 || ^10.0.0" } }, "sha512-5drkJKLC9qQddIiaATV0e8+ygbUc7b0Ti6VB7M2d3jmKNh3X0RaiIJYTs3dr9xnlhlrxo+/s1FoO3Jgv6O/c7g=="],
|
"eslint-plugin-sonarjs": ["eslint-plugin-sonarjs@4.0.3", "", { "dependencies": { "@eslint-community/regexpp": "^4.12.2", "builtin-modules": "^3.3.0", "bytes": "^3.1.2", "functional-red-black-tree": "^1.0.1", "globals": "^17.4.0", "jsx-ast-utils-x": "^0.1.0", "lodash.merge": "^4.6.2", "minimatch": "^10.2.5", "scslre": "^0.3.0", "semver": "^7.7.4", "ts-api-utils": "^2.5.0", "typescript": ">=5" }, "peerDependencies": { "eslint": "^8.0.0 || ^9.0.0 || ^10.0.0" } }, "sha512-5drkJKLC9qQddIiaATV0e8+ygbUc7b0Ti6VB7M2d3jmKNh3X0RaiIJYTs3dr9xnlhlrxo+/s1FoO3Jgv6O/c7g=="],
|
||||||
|
|
||||||
"eslint-plugin-unicorn": ["eslint-plugin-unicorn@63.0.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "@eslint-community/eslint-utils": "^4.9.0", "change-case": "^5.4.4", "ci-info": "^4.3.1", "clean-regexp": "^1.0.0", "core-js-compat": "^3.46.0", "find-up-simple": "^1.0.1", "globals": "^16.4.0", "indent-string": "^5.0.0", "is-builtin-module": "^5.0.0", "jsesc": "^3.1.0", "pluralize": "^8.0.0", "regexp-tree": "^0.1.27", "regjsparser": "^0.13.0", "semver": "^7.7.3", "strip-indent": "^4.1.1" }, "peerDependencies": { "eslint": ">=9.38.0" } }, "sha512-Iqecl9118uQEXYh7adylgEmGfkn5es3/mlQTLLkd4pXkIk9CTGrAbeUux+YljSa2ohXCBmQQ0+Ej1kZaFgcfkA=="],
|
"eslint-plugin-unicorn": ["eslint-plugin-unicorn@64.0.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "@eslint-community/eslint-utils": "^4.9.1", "change-case": "^5.4.4", "ci-info": "^4.4.0", "clean-regexp": "^1.0.0", "core-js-compat": "^3.49.0", "find-up-simple": "^1.0.1", "globals": "^17.4.0", "indent-string": "^5.0.0", "is-builtin-module": "^5.0.0", "jsesc": "^3.1.0", "pluralize": "^8.0.0", "regexp-tree": "^0.1.27", "regjsparser": "^0.13.0", "semver": "^7.7.4", "strip-indent": "^4.1.1" }, "peerDependencies": { "eslint": ">=9.38.0" } }, "sha512-rNZwalHh8i0UfPlhNwg5BTUO1CMdKNmjqe+TgzOTZnpKoi8VBgsW7u9qCHIdpxEzZ1uwrJrPF0uRb7l//K38gA=="],
|
||||||
|
|
||||||
"eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="],
|
"eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="],
|
||||||
|
|
||||||
|
|
@ -1293,7 +1293,7 @@
|
||||||
|
|
||||||
"oxlint": ["oxlint@1.62.0", "", { "optionalDependencies": { "@oxlint/binding-android-arm-eabi": "1.62.0", "@oxlint/binding-android-arm64": "1.62.0", "@oxlint/binding-darwin-arm64": "1.62.0", "@oxlint/binding-darwin-x64": "1.62.0", "@oxlint/binding-freebsd-x64": "1.62.0", "@oxlint/binding-linux-arm-gnueabihf": "1.62.0", "@oxlint/binding-linux-arm-musleabihf": "1.62.0", "@oxlint/binding-linux-arm64-gnu": "1.62.0", "@oxlint/binding-linux-arm64-musl": "1.62.0", "@oxlint/binding-linux-ppc64-gnu": "1.62.0", "@oxlint/binding-linux-riscv64-gnu": "1.62.0", "@oxlint/binding-linux-riscv64-musl": "1.62.0", "@oxlint/binding-linux-s390x-gnu": "1.62.0", "@oxlint/binding-linux-x64-gnu": "1.62.0", "@oxlint/binding-linux-x64-musl": "1.62.0", "@oxlint/binding-openharmony-arm64": "1.62.0", "@oxlint/binding-win32-arm64-msvc": "1.62.0", "@oxlint/binding-win32-ia32-msvc": "1.62.0", "@oxlint/binding-win32-x64-msvc": "1.62.0" }, "peerDependencies": { "oxlint-tsgolint": ">=0.18.0" }, "optionalPeers": ["oxlint-tsgolint"], "bin": { "oxlint": "bin/oxlint" } }, "sha512-1uFkg6HakjsGIpW9wNdeW4/2LOHW9MEkoWjZUTUfQtIHyLIZPYt00w3Sg+H3lH+206FgBPHBbW5dVE5l2ExECQ=="],
|
"oxlint": ["oxlint@1.62.0", "", { "optionalDependencies": { "@oxlint/binding-android-arm-eabi": "1.62.0", "@oxlint/binding-android-arm64": "1.62.0", "@oxlint/binding-darwin-arm64": "1.62.0", "@oxlint/binding-darwin-x64": "1.62.0", "@oxlint/binding-freebsd-x64": "1.62.0", "@oxlint/binding-linux-arm-gnueabihf": "1.62.0", "@oxlint/binding-linux-arm-musleabihf": "1.62.0", "@oxlint/binding-linux-arm64-gnu": "1.62.0", "@oxlint/binding-linux-arm64-musl": "1.62.0", "@oxlint/binding-linux-ppc64-gnu": "1.62.0", "@oxlint/binding-linux-riscv64-gnu": "1.62.0", "@oxlint/binding-linux-riscv64-musl": "1.62.0", "@oxlint/binding-linux-s390x-gnu": "1.62.0", "@oxlint/binding-linux-x64-gnu": "1.62.0", "@oxlint/binding-linux-x64-musl": "1.62.0", "@oxlint/binding-openharmony-arm64": "1.62.0", "@oxlint/binding-win32-arm64-msvc": "1.62.0", "@oxlint/binding-win32-ia32-msvc": "1.62.0", "@oxlint/binding-win32-x64-msvc": "1.62.0" }, "peerDependencies": { "oxlint-tsgolint": ">=0.18.0" }, "optionalPeers": ["oxlint-tsgolint"], "bin": { "oxlint": "bin/oxlint" } }, "sha512-1uFkg6HakjsGIpW9wNdeW4/2LOHW9MEkoWjZUTUfQtIHyLIZPYt00w3Sg+H3lH+206FgBPHBbW5dVE5l2ExECQ=="],
|
||||||
|
|
||||||
"oxlint-tsgolint": ["oxlint-tsgolint@0.22.0", "", { "optionalDependencies": { "@oxlint-tsgolint/darwin-arm64": "0.22.0", "@oxlint-tsgolint/darwin-x64": "0.22.0", "@oxlint-tsgolint/linux-arm64": "0.22.0", "@oxlint-tsgolint/linux-x64": "0.22.0", "@oxlint-tsgolint/win32-arm64": "0.22.0", "@oxlint-tsgolint/win32-x64": "0.22.0" }, "bin": { "tsgolint": "bin/tsgolint.js" } }, "sha512-ku4MecLmCQIj1ScCtzNAqTuyl0BJQ02B36fJT+c5XQihHpYSFak+FC3GYO5fPyYk4oDwi0w0S7hTvrpNzuZhig=="],
|
"oxlint-tsgolint": ["oxlint-tsgolint@0.22.1", "", { "optionalDependencies": { "@oxlint-tsgolint/darwin-arm64": "0.22.1", "@oxlint-tsgolint/darwin-x64": "0.22.1", "@oxlint-tsgolint/linux-arm64": "0.22.1", "@oxlint-tsgolint/linux-x64": "0.22.1", "@oxlint-tsgolint/win32-arm64": "0.22.1", "@oxlint-tsgolint/win32-x64": "0.22.1" }, "bin": { "tsgolint": "bin/tsgolint.js" } }, "sha512-YUSGSLUnoolsu8gxISEDio3q1rtsCozwfOzASUn3DT2mR2EeQ93uEEnen7s+6LpF+lyTQFln1pQfqwBh/fsVEg=="],
|
||||||
|
|
||||||
"p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="],
|
"p-limit": ["p-limit@3.1.0", "", { "dependencies": { "yocto-queue": "^0.1.0" } }, "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ=="],
|
||||||
|
|
||||||
|
|
@ -1519,7 +1519,7 @@
|
||||||
|
|
||||||
"style-search": ["style-search@0.1.0", "", {}, "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg=="],
|
"style-search": ["style-search@0.1.0", "", {}, "sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg=="],
|
||||||
|
|
||||||
"stylelint": ["stylelint@17.9.0", "", { "dependencies": { "@csstools/css-calc": "^3.2.0", "@csstools/css-parser-algorithms": "^4.0.0", "@csstools/css-syntax-patches-for-csstree": "^1.1.3", "@csstools/css-tokenizer": "^4.0.0", "@csstools/media-query-list-parser": "^5.0.0", "@csstools/selector-resolve-nested": "^4.0.0", "@csstools/selector-specificity": "^6.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.1", "css-functions-list": "^3.3.3", "css-tree": "^3.2.1", "debug": "^4.4.3", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^11.1.2", "global-modules": "^2.0.0", "globby": "^16.2.0", "globjoin": "^0.1.4", "html-tags": "^5.1.0", "ignore": "^7.0.5", "import-meta-resolve": "^4.2.0", "is-plain-object": "^5.0.0", "mathml-tag-names": "^4.0.0", "meow": "^14.1.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.5.9", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.1.1", "postcss-value-parser": "^4.2.0", "string-width": "^8.2.0", "supports-hyperlinks": "^4.4.0", "svg-tags": "^1.0.0", "table": "^6.9.0", "write-file-atomic": "^7.0.1" }, "bin": { "stylelint": "bin/stylelint.mjs" } }, "sha512-xO0jeY6z1/urFL5L/BZLmB1yYlbRiRMQnYH6ArZIDWJ+SZXGssOY7XoYb1JIv/L220+EBnwwJXJS4Mt/F96SvA=="],
|
"stylelint": ["stylelint@17.9.1", "", { "dependencies": { "@csstools/css-calc": "^3.2.0", "@csstools/css-parser-algorithms": "^4.0.0", "@csstools/css-syntax-patches-for-csstree": "^1.1.3", "@csstools/css-tokenizer": "^4.0.0", "@csstools/media-query-list-parser": "^5.0.0", "@csstools/selector-resolve-nested": "^4.0.0", "@csstools/selector-specificity": "^6.0.0", "colord": "^2.9.3", "cosmiconfig": "^9.0.1", "css-functions-list": "^3.3.3", "css-tree": "^3.2.1", "debug": "^4.4.3", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", "file-entry-cache": "^11.1.2", "global-modules": "^2.0.0", "globby": "^16.2.0", "globjoin": "^0.1.4", "html-tags": "^5.1.0", "ignore": "^7.0.5", "import-meta-resolve": "^4.2.0", "is-plain-object": "^5.0.0", "mathml-tag-names": "^4.0.0", "meow": "^14.1.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", "postcss": "^8.5.9", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.1.1", "postcss-value-parser": "^4.2.0", "string-width": "^8.2.0", "supports-hyperlinks": "^4.4.0", "svg-tags": "^1.0.0", "table": "^6.9.0", "write-file-atomic": "^7.0.1" }, "bin": { "stylelint": "bin/stylelint.mjs" } }, "sha512-THTmnAPJTrg/JhkTWZlSyrO+HUYMx6ELthIHeMyD2WOKqXIJUFQv2Yxn91bvUrZdbBJaW2dUuQdPST2wcQ6C3g=="],
|
||||||
|
|
||||||
"stylelint-config-clean-order": ["stylelint-config-clean-order@8.0.1", "", { "peerDependencies": { "stylelint": ">=16", "stylelint-order": ">=6" } }, "sha512-zKjp7BiINXRZOG9m0fE/6UKoM6clPekL+LoAiHMCiQU2hgirKL5G0mKc5Z0ygIhQXfb1+DTRDM0mu6Ecdv4q8g=="],
|
"stylelint-config-clean-order": ["stylelint-config-clean-order@8.0.1", "", { "peerDependencies": { "stylelint": ">=16", "stylelint-order": ">=6" } }, "sha512-zKjp7BiINXRZOG9m0fE/6UKoM6clPekL+LoAiHMCiQU2hgirKL5G0mKc5Z0ygIhQXfb1+DTRDM0mu6Ecdv4q8g=="],
|
||||||
|
|
||||||
|
|
@ -1591,7 +1591,7 @@
|
||||||
|
|
||||||
"typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="],
|
"typescript": ["typescript@6.0.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw=="],
|
||||||
|
|
||||||
"typescript-eslint": ["typescript-eslint@8.59.0", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.59.0", "@typescript-eslint/parser": "8.59.0", "@typescript-eslint/typescript-estree": "8.59.0", "@typescript-eslint/utils": "8.59.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-BU3ONW9X+v90EcCH9ZS6LMackcVtxRLlI3XrYyqZIwVSHIk7Qf7bFw1z0M9Q0IUxhTMZCf8piY9hTYaNEIASrw=="],
|
"typescript-eslint": ["typescript-eslint@8.59.1", "", { "dependencies": { "@typescript-eslint/eslint-plugin": "8.59.1", "@typescript-eslint/parser": "8.59.1", "@typescript-eslint/typescript-estree": "8.59.1", "@typescript-eslint/utils": "8.59.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-xqDcFVBmlrltH64lklOVp1wYxgJr6LVdg3NamBgH2OOQDLFdTKfIZXF5PfghrnXQKXZGTQs8tr1vL7fJvq8CTQ=="],
|
||||||
|
|
||||||
"unbash": ["unbash@3.0.0", "", {}, "sha512-FeFPZ/WFT0mbRCuydiZzpPFlrYN8ZUpphQKoq4EeElVIYjYyGzPMxQR/simUwCOJIyVhpFk4RbtyO7RuMpMnHA=="],
|
"unbash": ["unbash@3.0.0", "", {}, "sha512-FeFPZ/WFT0mbRCuydiZzpPFlrYN8ZUpphQKoq4EeElVIYjYyGzPMxQR/simUwCOJIyVhpFk4RbtyO7RuMpMnHA=="],
|
||||||
|
|
||||||
|
|
@ -1667,16 +1667,36 @@
|
||||||
|
|
||||||
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
"@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="],
|
||||||
|
|
||||||
"@gcch/configuration-oxlint/oxlint-tsgolint": ["oxlint-tsgolint@0.20.0", "", { "optionalDependencies": { "@oxlint-tsgolint/darwin-arm64": "0.20.0", "@oxlint-tsgolint/darwin-x64": "0.20.0", "@oxlint-tsgolint/linux-arm64": "0.20.0", "@oxlint-tsgolint/linux-x64": "0.20.0", "@oxlint-tsgolint/win32-arm64": "0.20.0", "@oxlint-tsgolint/win32-x64": "0.20.0" }, "bin": { "tsgolint": "bin/tsgolint.js" } }, "sha512-/Uc9TQyN1l8w9QNvXtVHYtz+SzDJHKpb5X0UnHodl0BVzijUPk0LPlDOHAvogd1UI+iy9ZSF6gQxEqfzUxCULQ=="],
|
|
||||||
|
|
||||||
"@keyv/bigmap/keyv": ["keyv@5.6.0", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw=="],
|
"@keyv/bigmap/keyv": ["keyv@5.6.0", "", { "dependencies": { "@keyv/serialize": "^1.1.1" } }, "sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw=="],
|
||||||
|
|
||||||
"@rolldown/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
|
"@rolldown/binding-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.10.0", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw=="],
|
||||||
|
|
||||||
"@rolldown/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="],
|
"@rolldown/binding-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.10.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/eslint-plugin/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.59.1", "", { "dependencies": { "@typescript-eslint/types": "8.59.1", "@typescript-eslint/visitor-keys": "8.59.1" } }, "sha512-LwuHQI4pDOYVKvmH2dkaJo6YZCSgouVgnS/z7yBPKBMvgtBvyLqiLy9Z6b7+m/TRcX1NFYUqZetI5Y+aT4GEfg=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/eslint-plugin/@typescript-eslint/type-utils": ["@typescript-eslint/type-utils@8.59.1", "", { "dependencies": { "@typescript-eslint/types": "8.59.1", "@typescript-eslint/typescript-estree": "8.59.1", "@typescript-eslint/utils": "8.59.1", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-klWPBR2ciQHS3f++ug/mVnWKPjBUo7icEL3FAO1lhAR1Z1i5NQYZ1EannMSRYcq5qCv5wNALlXr6fksRHyYl7w=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/eslint-plugin/@typescript-eslint/utils": ["@typescript-eslint/utils@8.59.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.59.1", "@typescript-eslint/types": "8.59.1", "@typescript-eslint/typescript-estree": "8.59.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-3pIeoXhCeYH9FSCBI8P3iNwJlGuzPlYKkTlen2O9T1DSeeg8UG8jstq6BLk+Mda0qup7mgk4z4XL4OzRaxZ8LA=="],
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="],
|
"@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/parser/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.59.1", "", { "dependencies": { "@typescript-eslint/types": "8.59.1", "@typescript-eslint/visitor-keys": "8.59.1" } }, "sha512-LwuHQI4pDOYVKvmH2dkaJo6YZCSgouVgnS/z7yBPKBMvgtBvyLqiLy9Z6b7+m/TRcX1NFYUqZetI5Y+aT4GEfg=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/parser/@typescript-eslint/types": ["@typescript-eslint/types@8.59.1", "", {}, "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/project-service/@typescript-eslint/types": ["@typescript-eslint/types@8.59.1", "", {}, "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/scope-manager/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.59.0", "", { "dependencies": { "@typescript-eslint/types": "8.59.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/type-utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.59.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.59.0", "@typescript-eslint/tsconfig-utils": "8.59.0", "@typescript-eslint/types": "8.59.0", "@typescript-eslint/visitor-keys": "8.59.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/typescript-estree/@typescript-eslint/types": ["@typescript-eslint/types@8.59.1", "", {}, "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/utils/@typescript-eslint/typescript-estree": ["@typescript-eslint/typescript-estree@8.59.0", "", { "dependencies": { "@typescript-eslint/project-service": "8.59.0", "@typescript-eslint/tsconfig-utils": "8.59.0", "@typescript-eslint/types": "8.59.0", "@typescript-eslint/visitor-keys": "8.59.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", "tinyglobby": "^0.2.15", "ts-api-utils": "^2.5.0" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-O9Re9P1BmBLFJyikRbQpLku/QA3/AueZNO9WePLBwQrvkixTmDe8u76B6CYUAITRl/rHawggEqUGn5QIkVRLMw=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/visitor-keys/@typescript-eslint/types": ["@typescript-eslint/types@8.59.1", "", {}, "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A=="],
|
||||||
|
|
||||||
"astro-eslint-parser/eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="],
|
"astro-eslint-parser/eslint-scope": ["eslint-scope@8.4.0", "", { "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg=="],
|
||||||
|
|
||||||
"astro-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="],
|
"astro-eslint-parser/eslint-visitor-keys": ["eslint-visitor-keys@4.2.1", "", {}, "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ=="],
|
||||||
|
|
@ -1697,8 +1717,6 @@
|
||||||
|
|
||||||
"eslint-plugin-jsx-a11y/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="],
|
"eslint-plugin-jsx-a11y/minimatch": ["minimatch@3.1.5", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w=="],
|
||||||
|
|
||||||
"eslint-plugin-unicorn/globals": ["globals@16.5.0", "", {}, "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ=="],
|
|
||||||
|
|
||||||
"fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
|
"fast-glob/glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
|
||||||
|
|
||||||
"global-prefix/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="],
|
"global-prefix/ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="],
|
||||||
|
|
@ -1729,19 +1747,27 @@
|
||||||
|
|
||||||
"table/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
"table/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
||||||
|
|
||||||
|
"typescript-eslint/@typescript-eslint/utils": ["@typescript-eslint/utils@8.59.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", "@typescript-eslint/scope-manager": "8.59.1", "@typescript-eslint/types": "8.59.1", "@typescript-eslint/typescript-estree": "8.59.1" }, "peerDependencies": { "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "sha512-3pIeoXhCeYH9FSCBI8P3iNwJlGuzPlYKkTlen2O9T1DSeeg8UG8jstq6BLk+Mda0qup7mgk4z4XL4OzRaxZ8LA=="],
|
||||||
|
|
||||||
"vite/fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
"vite/fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
||||||
|
|
||||||
"@gcch/configuration-oxlint/oxlint-tsgolint/@oxlint-tsgolint/darwin-arm64": ["@oxlint-tsgolint/darwin-arm64@0.20.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-KKQcIHZHMxqpHUA1VXIbOG6chNCFkUWbQy6M+AFVtPKkA/3xAeJkJ3njoV66bfzwPHRcWQO+kcj5XqtbkjakoA=="],
|
"@typescript-eslint/eslint-plugin/@typescript-eslint/scope-manager/@typescript-eslint/types": ["@typescript-eslint/types@8.59.1", "", {}, "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A=="],
|
||||||
|
|
||||||
"@gcch/configuration-oxlint/oxlint-tsgolint/@oxlint-tsgolint/darwin-x64": ["@oxlint-tsgolint/darwin-x64@0.20.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-7HeVMuclGfG+NLZi2ybY0T4fMI7/XxO/208rJk+zEIloKkVnlh11Wd241JMGwgNFXn+MLJbOqOfojDb2Dt4L1g=="],
|
"@typescript-eslint/eslint-plugin/@typescript-eslint/type-utils/@typescript-eslint/types": ["@typescript-eslint/types@8.59.1", "", {}, "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A=="],
|
||||||
|
|
||||||
"@gcch/configuration-oxlint/oxlint-tsgolint/@oxlint-tsgolint/linux-arm64": ["@oxlint-tsgolint/linux-arm64@0.20.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-zxhUwz+WSxE6oWlZLK2z2ps9yC6ebmgoYmjAl0Oa48+GqkZ56NVgo+wb8DURNv6xrggzHStQxqQxe3mK51HZag=="],
|
"@typescript-eslint/eslint-plugin/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.59.1", "", {}, "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A=="],
|
||||||
|
|
||||||
"@gcch/configuration-oxlint/oxlint-tsgolint/@oxlint-tsgolint/linux-x64": ["@oxlint-tsgolint/linux-x64@0.20.0", "", { "os": "linux", "cpu": "x64" }, "sha512-/1l6FnahC9im8PK+Ekkx/V3yetO/PzZnJegE2FXcv/iXEhbeVxP/ouiTYcUQu9shT1FWJCSNti1VJHH+21Y1dg=="],
|
"@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.59.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.59.0", "@typescript-eslint/types": "^8.59.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw=="],
|
||||||
|
|
||||||
"@gcch/configuration-oxlint/oxlint-tsgolint/@oxlint-tsgolint/win32-arm64": ["@oxlint-tsgolint/win32-arm64@0.20.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-oPZ5Yz8sVdo7P/5q+i3IKeix31eFZ55JAPa1+RGPoe9PoaYVsdMvR6Jvib6YtrqoJnFPlg3fjEjlEPL8VBKYJA=="],
|
"@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.59.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg=="],
|
||||||
|
|
||||||
"@gcch/configuration-oxlint/oxlint-tsgolint/@oxlint-tsgolint/win32-x64": ["@oxlint-tsgolint/win32-x64@0.20.0", "", { "os": "win32", "cpu": "x64" }, "sha512-4stx8RHj3SP9vQyRF/yZbz5igtPvYMEUR8CUoha4BVNZihi39DpCR8qkU7lpjB5Ga1DRMo2pHaA4bdTOMaY4mw=="],
|
"@typescript-eslint/type-utils/@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.59.0", "", { "dependencies": { "@typescript-eslint/types": "8.59.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/project-service": ["@typescript-eslint/project-service@8.59.0", "", { "dependencies": { "@typescript-eslint/tsconfig-utils": "^8.59.0", "@typescript-eslint/types": "^8.59.0", "debug": "^4.4.3" }, "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-Lw5ITrR5s5TbC19YSvlr63ZfLaJoU6vtKTHyB0GQOpX0W7d5/Ir6vUahWi/8Sps/nOukZQ0IB3SmlxZnjaKVnw=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/tsconfig-utils": ["@typescript-eslint/tsconfig-utils@8.59.0", "", { "peerDependencies": { "typescript": ">=4.8.4 <6.1.0" } }, "sha512-91Sbl3s4Kb3SybliIY6muFBmHVv+pYXfybC4Oolp3dvk8BvIE3wOPc+403CWIT7mJNkfQRGtdqghzs2+Z91Tqg=="],
|
||||||
|
|
||||||
|
"@typescript-eslint/utils/@typescript-eslint/typescript-estree/@typescript-eslint/visitor-keys": ["@typescript-eslint/visitor-keys@8.59.0", "", { "dependencies": { "@typescript-eslint/types": "8.59.0", "eslint-visitor-keys": "^5.0.0" } }, "sha512-/uejZt4dSere1bx12WLlPfv8GktzcaDtuJ7s42/HEZ5zGj9oxRaD4bj7qwSunXkf+pbAhFt2zjpHYUiT5lHf0Q=="],
|
||||||
|
|
||||||
"eslint-plugin-jsx-a11y/minimatch/brace-expansion": ["brace-expansion@1.1.14", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g=="],
|
"eslint-plugin-jsx-a11y/minimatch/brace-expansion": ["brace-expansion@1.1.14", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g=="],
|
||||||
|
|
||||||
|
|
@ -1753,6 +1779,10 @@
|
||||||
|
|
||||||
"table/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
"table/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
||||||
|
|
||||||
|
"typescript-eslint/@typescript-eslint/utils/@typescript-eslint/scope-manager": ["@typescript-eslint/scope-manager@8.59.1", "", { "dependencies": { "@typescript-eslint/types": "8.59.1", "@typescript-eslint/visitor-keys": "8.59.1" } }, "sha512-LwuHQI4pDOYVKvmH2dkaJo6YZCSgouVgnS/z7yBPKBMvgtBvyLqiLy9Z6b7+m/TRcX1NFYUqZetI5Y+aT4GEfg=="],
|
||||||
|
|
||||||
|
"typescript-eslint/@typescript-eslint/utils/@typescript-eslint/types": ["@typescript-eslint/types@8.59.1", "", {}, "sha512-ZDCjgccSdYPw5Bxh+my4Z0lJU96ZDN7jbBzvmEn0FZx3RtU1C7VWl6NbDx94bwY3V5YsgwRzJPOgeY2Q/nLG8A=="],
|
||||||
|
|
||||||
"eslint-plugin-jsx-a11y/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
|
"eslint-plugin-jsx-a11y/minimatch/brace-expansion/balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,61 +1,16 @@
|
||||||
import js from "@eslint/js";
|
import type { Config } from "eslint/config";
|
||||||
import oxlint from "eslint-plugin-oxlint";
|
|
||||||
import perfectionist from "eslint-plugin-perfectionist";
|
|
||||||
import globals from "globals";
|
|
||||||
import tseslint from "typescript-eslint";
|
|
||||||
|
|
||||||
export default tseslint.config(
|
import { configTypescriptNavigateur } from "@gcch/configuration-eslint";
|
||||||
js.configs.recommended,
|
import { defineConfig } from "eslint/config";
|
||||||
perfectionist.configs["recommended-natural"],
|
|
||||||
...tseslint.configs.strictTypeChecked,
|
const esLintConfig: ReadonlyArray<Config> = defineConfig(
|
||||||
...tseslint.configs.stylisticTypeChecked,
|
|
||||||
oxlint.configs["flat/recommended"],
|
|
||||||
{
|
{
|
||||||
files: ["*.js", "web/app/themes/haiku-atelier-2024/src/**/*.ts"],
|
ignores: [".cache", "web/app/plugins", "**/*.js"],
|
||||||
languageOptions: {
|
},
|
||||||
ecmaVersion: "latest",
|
[...configTypescriptNavigateur],
|
||||||
globals: {
|
{
|
||||||
...globals.browser,
|
files: ["*.ts", "web/app/themes/haiku-atelier-2024/src/**/*.ts"],
|
||||||
...globals.es2020,
|
|
||||||
},
|
|
||||||
parserOptions: {
|
|
||||||
projectService: true,
|
|
||||||
tsconfigRootDir: import.meta.dirname,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
rules: {
|
|
||||||
/* Utilise Array<T> plutôt que T[]. */
|
|
||||||
"@typescript-eslint/array-type": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
default: "generic",
|
|
||||||
readonly: "generic",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
/* L'usage d'interfaces ou de types doit être à la discrétion du développeur. */
|
|
||||||
"@typescript-eslint/consistent-type-definitions": "off",
|
|
||||||
/* Désactive cette règle pour les fonctions fléchées pour rendre le code moins verbeux. */
|
|
||||||
"@typescript-eslint/no-confusing-void-expression": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
ignoreArrowShorthand: true,
|
|
||||||
ignoreVoidOperator: false,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
/* Chiant avec certaines Promises. */
|
|
||||||
"@typescript-eslint/no-misused-promises": "off",
|
|
||||||
/* Cette règle empêche l'usage de génériques précisant les types de retour de fonctions. */
|
|
||||||
"@typescript-eslint/no-unnecessary-type-parameters": "off",
|
|
||||||
// Pour utiliser LogTape.
|
|
||||||
"@typescript-eslint/no-unused-expressions": "off",
|
|
||||||
/* Cette règle est doublon avec les règles noUnused* de TypeScript. */
|
|
||||||
"@typescript-eslint/no-unused-vars": "off",
|
|
||||||
/* Cette règle empêche de lever des erreurs génériques (p.ex. `E extends Error`). */
|
|
||||||
"@typescript-eslint/only-throw-error": "off",
|
|
||||||
/* Cette règle empêche le style fonctionnel « point free ». */
|
|
||||||
"@typescript-eslint/unbound-method": "off",
|
|
||||||
/* Cette règle interdit l'usage de fonctions vides sauf pour les fonctions fléchées. */
|
|
||||||
"no-empty-function": ["error", { allow: ["arrowFunctions"] }],
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
export default esLintConfig;
|
||||||
|
|
|
||||||
2
composer.lock
generated
|
|
@ -7576,5 +7576,5 @@
|
||||||
"php": ">=8.5"
|
"php": ">=8.5"
|
||||||
},
|
},
|
||||||
"platform-dev": {},
|
"platform-dev": {},
|
||||||
"plugin-api-version": "2.9.0"
|
"plugin-api-version": "2.6.0"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
16
package.json
|
|
@ -24,9 +24,9 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@effect/language-service": "^0.85.1",
|
"@effect/language-service": "^0.85.1",
|
||||||
"@effect/tsgo": "0.5.1",
|
"@effect/tsgo": "0.5.1",
|
||||||
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint#62ee424274",
|
"@gcch/configuration-eslint": "git+https://git.gcch.fr/gcch/configuration-eslint#888eb4aa54e5",
|
||||||
"@gcch/configuration-oxlint": "git+https://git.gcch.fr/gcch/configuration-oxlint#0968f683",
|
"@gcch/configuration-oxlint": "git+https://git.gcch.fr/gcch/configuration-oxlint#83547fc1ebfd",
|
||||||
"@gcch/configuration-prettier": "git+https://git.gcch.fr/gcch/configuration-prettier#8de937e801",
|
"@gcch/configuration-prettier": "git+https://git.gcch.fr/gcch/configuration-prettier#d267d6dc5ee8",
|
||||||
"@playwright/test": "^1.59.1",
|
"@playwright/test": "^1.59.1",
|
||||||
"@sentry/core": "^10.50.0",
|
"@sentry/core": "^10.50.0",
|
||||||
"@types/bun": "^1.3.13",
|
"@types/bun": "^1.3.13",
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
"eslint": "^10.2.1",
|
"eslint": "^10.2.1",
|
||||||
"eslint-plugin-functional": "^9.0.4",
|
"eslint-plugin-functional": "^9.0.4",
|
||||||
"eslint-plugin-jsx-a11y": "^6.10.2",
|
"eslint-plugin-jsx-a11y": "^6.10.2",
|
||||||
"eslint-plugin-oxlint": "^1.61.0",
|
"eslint-plugin-oxlint": "^1.62.0",
|
||||||
"eslint-plugin-perfectionist": "^5.9.0",
|
"eslint-plugin-perfectionist": "^5.9.0",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
"globals": "^17.5.0",
|
"globals": "^17.5.0",
|
||||||
|
|
@ -47,21 +47,21 @@
|
||||||
"knip": "^6.7.0",
|
"knip": "^6.7.0",
|
||||||
"lightningcss": "^1.32.0",
|
"lightningcss": "^1.32.0",
|
||||||
"lightningcss-cli": "^1.32.0",
|
"lightningcss-cli": "^1.32.0",
|
||||||
"oxlint": "^1.61.0",
|
"oxlint": "^1.62.0",
|
||||||
"oxlint-tsgolint": "^0.22.0",
|
"oxlint-tsgolint": "^0.22.1",
|
||||||
"playwright": "^1.59.1",
|
"playwright": "^1.59.1",
|
||||||
"prettier": "^3.8.3",
|
"prettier": "^3.8.3",
|
||||||
"prettier-plugin-pkg": "^0.22.1",
|
"prettier-plugin-pkg": "^0.22.1",
|
||||||
"prettier-plugin-sh": "^0.18.1",
|
"prettier-plugin-sh": "^0.18.1",
|
||||||
"sass-embedded": "^1.99.0",
|
"sass-embedded": "^1.99.0",
|
||||||
"stylelint": "^17.9.0",
|
"stylelint": "^17.9.1",
|
||||||
"stylelint-config-clean-order": "^8.0.1",
|
"stylelint-config-clean-order": "^8.0.1",
|
||||||
"stylelint-config-sass-guidelines": "^13.0.0",
|
"stylelint-config-sass-guidelines": "^13.0.0",
|
||||||
"stylelint-config-standard-scss": "^17.0.0",
|
"stylelint-config-standard-scss": "^17.0.0",
|
||||||
"stylelint-declaration-block-no-ignored-properties": "^3.0.0",
|
"stylelint-declaration-block-no-ignored-properties": "^3.0.0",
|
||||||
"stylelint-plugin-logical-css": "^2.1.0",
|
"stylelint-plugin-logical-css": "^2.1.0",
|
||||||
"typescript": "^6.0.3",
|
"typescript": "^6.0.3",
|
||||||
"typescript-eslint": "^8.59.0",
|
"typescript-eslint": "^8.59.1",
|
||||||
"vite": "^8.0.10",
|
"vite": "^8.0.10",
|
||||||
"vite-tsconfig-paths": "^6.1.1"
|
"vite-tsconfig-paths": "^6.1.1"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -4,66 +4,16 @@
|
||||||
font-weight: 100 900;
|
font-weight: 100 900;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-display: swap;
|
font-display: swap;
|
||||||
src:
|
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2") format(woff2) tech(variations), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2") format("woff2-variations"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.ttf") format("truetype");
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2")
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
format(woff2) tech(variations),
|
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2")
|
|
||||||
format("woff2-variations"),
|
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2")
|
|
||||||
format("woff2"),
|
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.ttf")
|
|
||||||
format("truetype");
|
|
||||||
unicode-range:
|
|
||||||
U+0000-00FF,
|
|
||||||
U+0131,
|
|
||||||
U+0152-0153,
|
|
||||||
U+02BB-02BC,
|
|
||||||
U+02C6,
|
|
||||||
U+02DA,
|
|
||||||
U+02DC,
|
|
||||||
U+2000-206F,
|
|
||||||
U+2074,
|
|
||||||
U+20AC,
|
|
||||||
U+2122,
|
|
||||||
U+2191,
|
|
||||||
U+2193,
|
|
||||||
U+2212,
|
|
||||||
U+2215,
|
|
||||||
U+FEFF,
|
|
||||||
U+FFFD;
|
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: Lato;
|
font-family: Lato;
|
||||||
font-weight: 100 900;
|
font-weight: 100 900;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-display: swap;
|
font-display: swap;
|
||||||
src:
|
src: url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2") format(woff2) tech(variations), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2") format("woff2-variations"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.ttf") format("truetype");
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2")
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
format(woff2) tech(variations),
|
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2")
|
|
||||||
format("woff2-variations"),
|
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2")
|
|
||||||
format("woff2"),
|
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.ttf")
|
|
||||||
format("truetype");
|
|
||||||
unicode-range:
|
|
||||||
U+0000-00FF,
|
|
||||||
U+0131,
|
|
||||||
U+0152-0153,
|
|
||||||
U+02BB-02BC,
|
|
||||||
U+02C6,
|
|
||||||
U+02DA,
|
|
||||||
U+02DC,
|
|
||||||
U+2000-206F,
|
|
||||||
U+2074,
|
|
||||||
U+20AC,
|
|
||||||
U+2122,
|
|
||||||
U+2191,
|
|
||||||
U+2193,
|
|
||||||
U+2212,
|
|
||||||
U+2215,
|
|
||||||
U+FEFF,
|
|
||||||
U+FFFD;
|
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: Myriad;
|
font-family: Myriad;
|
||||||
|
|
@ -71,10 +21,7 @@
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-display: swap;
|
font-display: swap;
|
||||||
font-stretch: 70% 110%;
|
font-stretch: 70% 110%;
|
||||||
src:
|
src: url("/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable.ttf") format("truetype");
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable.woff2") format("woff2"),
|
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable.ttf")
|
|
||||||
format("truetype");
|
|
||||||
}
|
}
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: Myriad;
|
font-family: Myriad;
|
||||||
|
|
@ -82,11 +29,7 @@
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-display: swap;
|
font-display: swap;
|
||||||
font-stretch: 70% 110%;
|
font-stretch: 70% 110%;
|
||||||
src:
|
src: url("/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable-italic.woff2") format("woff2"), url("/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable-italic.ttf") format("truetype");
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable-italic.woff2")
|
|
||||||
format("woff2"),
|
|
||||||
url("/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable-italic.ttf")
|
|
||||||
format("truetype");
|
|
||||||
}
|
}
|
||||||
:root {
|
:root {
|
||||||
/* Couleurs */
|
/* Couleurs */
|
||||||
|
|
@ -139,8 +82,8 @@
|
||||||
* 1. Utilise un meilleur modèle de boîte.
|
* 1. Utilise un meilleur modèle de boîte.
|
||||||
*/
|
*/
|
||||||
html {
|
html {
|
||||||
box-sizing: border-box; /* 1 */
|
|
||||||
scrollbar-gutter: stable;
|
scrollbar-gutter: stable;
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -217,16 +160,17 @@ button, input, select, textarea {
|
||||||
/*
|
/*
|
||||||
* Désactive les animations pour les Utilisateurs n'en souhaitant pas.
|
* Désactive les animations pour les Utilisateurs n'en souhaitant pas.
|
||||||
*/
|
*/
|
||||||
@media (prefers-reduced-motion) {
|
/* @media (prefers-reduced-motion) {
|
||||||
*, *::before, *::after {
|
*, *::before, *::after {
|
||||||
scroll-behavior: auto !important;
|
scroll-behavior: auto !important;
|
||||||
transition: none !important;
|
transition: none !important;
|
||||||
animation-duration: 0s !important;
|
animation-duration: 0s !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@view-transition {
|
@view-transition {
|
||||||
navigation: none !important;
|
navigation: none !important;
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
/*
|
/*
|
||||||
* 2. Rendu spécifique du texte pour Safari/iOS.
|
* 2. Rendu spécifique du texte pour Safari/iOS.
|
||||||
* 3. Rendu plus précis du texte.
|
* 3. Rendu plus précis du texte.
|
||||||
|
|
@ -234,8 +178,7 @@ button, input, select, textarea {
|
||||||
html {
|
html {
|
||||||
font: 1rem/var(--hauteur-ligne-classique) Lato;
|
font: 1rem/var(--hauteur-ligne-classique) Lato;
|
||||||
font-optical-sizing: auto;
|
font-optical-sizing: auto;
|
||||||
font-variant-ligatures: common-ligatures no-discretionary-ligatures no-historical-ligatures
|
font-variant-ligatures: common-ligatures no-discretionary-ligatures no-historical-ligatures contextual;
|
||||||
contextual;
|
|
||||||
font-kerning: normal;
|
font-kerning: normal;
|
||||||
color: var(--couleur-noir);
|
color: var(--couleur-noir);
|
||||||
text-decoration-skip-ink: auto;
|
text-decoration-skip-ink: auto;
|
||||||
|
|
@ -264,74 +207,52 @@ code {
|
||||||
*/
|
*/
|
||||||
button {
|
button {
|
||||||
all: initial;
|
all: initial;
|
||||||
font: inherit;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
font: inherit;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
letter-spacing: inherit;
|
letter-spacing: inherit;
|
||||||
outline: 2px dashed transparent;
|
outline: 2px dashed transparent;
|
||||||
outline-offset: -2px;
|
outline-offset: -2px;
|
||||||
transition: 0.2s background, 0.2s color, 0.2s outline-color;
|
transition: 0.2s background, 0.2s font-weight, 0.2s color, 0.2s outline-color;
|
||||||
}
|
}
|
||||||
button:not(button:disabled):focus-visible {
|
button:focus-visible {
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
outline-color: var(--couleur-noir);
|
outline-color: var(--couleur-noir);
|
||||||
}
|
}
|
||||||
button:not(button:disabled):active {
|
button:active {
|
||||||
background: var(--arriere-plan-points);
|
background: var(--arriere-plan-points);
|
||||||
}
|
}
|
||||||
@media (hover: hover) {
|
|
||||||
button:not(button:disabled):hover {
|
|
||||||
color: var(--couleur-blanc);
|
|
||||||
background: var(--couleur-gris-fonce);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
button:disabled {
|
button:disabled {
|
||||||
|
color: inherit;
|
||||||
background: var(--arriere-plan-points);
|
background: var(--arriere-plan-points);
|
||||||
outline-color: transparent;
|
outline-color: transparent;
|
||||||
}
|
}
|
||||||
|
button {
|
||||||
|
/* Particularismes. */
|
||||||
|
}
|
||||||
button.bouton-case-pleine {
|
button.bouton-case-pleine {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
button.bouton-case-pleine.bouton-blanc-sur-noir {
|
button.bouton-inverse {
|
||||||
font-style: italic;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: var(--espacement-inter-lettres-etendu-m);
|
|
||||||
}
|
|
||||||
button.bouton-case-pleine.bouton-blanc-sur-noir:not(
|
|
||||||
button.bouton-case-pleine.bouton-blanc-sur-noir:disabled
|
|
||||||
):active {
|
|
||||||
color: var(--couleur-blanc);
|
|
||||||
}
|
|
||||||
@media (hover: hover) {
|
|
||||||
button.bouton-case-pleine.bouton-blanc-sur-noir:not(
|
|
||||||
button.bouton-case-pleine.bouton-blanc-sur-noir:disabled
|
|
||||||
):hover {
|
|
||||||
background: var(--couleur-gris-fonce);
|
|
||||||
color: var(--couleur-blanc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
button.bouton-blanc-sur-noir {
|
|
||||||
color: var(--couleur-blanc);
|
color: var(--couleur-blanc);
|
||||||
background: var(--couleur-noir);
|
background: var(--couleur-noir);
|
||||||
}
|
}
|
||||||
button.bouton-blanc-sur-noir:not(button.bouton-blanc-sur-noir:disabled):focus-visible {
|
button.bouton-inverse:focus-visible {
|
||||||
outline-color: var(--couleur-blanc);
|
outline-color: var(--couleur-blanc);
|
||||||
}
|
}
|
||||||
button.bouton-blanc-sur-noir:not(button.bouton-blanc-sur-noir:disabled):active {
|
button.bouton-inverse:active {
|
||||||
color: var(--couleur-noir);
|
color: var(--couleur-noir);
|
||||||
background: var(--arriere-plan-points);
|
background: var(--arriere-plan-points);
|
||||||
}
|
}
|
||||||
@media (hover: hover) {
|
button.bouton-inverse:disabled {
|
||||||
button.bouton-blanc-sur-noir:not(button.bouton-blanc-sur-noir:disabled):hover {
|
color: var(--couleur-blanc);
|
||||||
background: var(--couleur-gris);
|
|
||||||
color: var(--couleur-noir);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
button.bouton-fleche {
|
button.bouton-inverse:hover {
|
||||||
background: initial;
|
color: var(--couleur-noir);
|
||||||
|
background: var(--couleur-gris);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
button.bouton-retour-haut {
|
button.bouton-retour-haut {
|
||||||
|
|
@ -364,6 +285,12 @@ button.bouton-retour-haut[data-actif] {
|
||||||
background: var(--couleur-gris-fond);
|
background: var(--couleur-gris-fond);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@media (hover: hover) {
|
||||||
|
button:hover {
|
||||||
|
color: var(--couleur-blanc);
|
||||||
|
background: var(--couleur-gris-fonce);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
dialog {
|
dialog {
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
|
|
@ -424,12 +351,7 @@ input, select, textarea {
|
||||||
background: var(--couleur-gris);
|
background: var(--couleur-gris);
|
||||||
transition: 0.2s background;
|
transition: 0.2s background;
|
||||||
}
|
}
|
||||||
input:focus-visible,
|
input:focus-visible, input:focus-within, select:focus-visible, select:focus-within, textarea:focus-visible, textarea:focus-within {
|
||||||
input:focus-within,
|
|
||||||
select:focus-visible,
|
|
||||||
select:focus-within,
|
|
||||||
textarea:focus-visible,
|
|
||||||
textarea:focus-within {
|
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
outline: 2px dashed var(--couleur-noir);
|
outline: 2px dashed var(--couleur-noir);
|
||||||
}
|
}
|
||||||
|
|
@ -441,20 +363,20 @@ input:disabled, select:disabled, textarea:disabled {
|
||||||
outline-color: transparent;
|
outline-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
input:is([type="email"], [type="text"], [type="tel"])::placeholder, textarea::placeholder {
|
input:is([type=email], [type=text], [type=tel])::placeholder, textarea::placeholder {
|
||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
letter-spacing: var(--espacement-inter-lettres-etendu-s);
|
letter-spacing: var(--espacement-inter-lettres-etendu-s);
|
||||||
}
|
}
|
||||||
input:is([type="email"], [type="text"], [type="tel"])::selection, textarea::selection {
|
input:is([type=email], [type=text], [type=tel])::selection, textarea::selection {
|
||||||
color: var(--couleur-blanc);
|
color: var(--couleur-blanc);
|
||||||
background: var(--couleur-noir);
|
background: var(--couleur-noir);
|
||||||
}
|
}
|
||||||
input:is([type="email"], [type="text"], [type="tel"]):user-valid, textarea:user-valid {
|
input:is([type=email], [type=text], [type=tel]):user-valid, textarea:user-valid {
|
||||||
background: var(--arriere-plan-points);
|
|
||||||
color: var(--couleur-noir);
|
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
color: var(--couleur-noir);
|
||||||
|
background: var(--arriere-plan-points);
|
||||||
}
|
}
|
||||||
input:is([type="email"], [type="text"], [type="tel"]):user-invalid, textarea:user-invalid {
|
input:is([type=email], [type=text], [type=tel]):user-invalid, textarea:user-invalid {
|
||||||
background: var(--couleur-gris);
|
background: var(--couleur-gris);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -462,7 +384,7 @@ input, label, select, textarea {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="checkbox"], input[type="radio"] {
|
input[type=checkbox], input[type=radio] {
|
||||||
width: var(--espace-l);
|
width: var(--espace-l);
|
||||||
height: var(--espace-l);
|
height: var(--espace-l);
|
||||||
padding: initial;
|
padding: initial;
|
||||||
|
|
@ -470,51 +392,49 @@ input[type="checkbox"], input[type="radio"] {
|
||||||
appearance: none;
|
appearance: none;
|
||||||
transition: 0.2s background;
|
transition: 0.2s background;
|
||||||
}
|
}
|
||||||
input[type="checkbox"]:checked, input[type="radio"]:checked {
|
input[type=checkbox]:checked, input[type=radio]:checked {
|
||||||
background: var(--couleur-gris-fonce);
|
|
||||||
color: var(--couleur-blanc);
|
color: var(--couleur-blanc);
|
||||||
|
background: var(--couleur-gris-fonce);
|
||||||
}
|
}
|
||||||
input[type="checkbox"]:checked::before, input[type="radio"]:checked::before {
|
input[type=checkbox]:checked::before, input[type=radio]:checked::before {
|
||||||
content: "x";
|
content: "x";
|
||||||
position: relative;
|
position: relative;
|
||||||
bottom: 0.1rem;
|
bottom: 0.1rem;
|
||||||
left: 0.35rem;
|
left: 0.35rem;
|
||||||
}
|
}
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
input[type="checkbox"]:checked:hover, input[type="radio"]:checked:hover {
|
input[type=checkbox]:checked:hover, input[type=radio]:checked:hover {
|
||||||
color: var(--couleur-noir);
|
color: var(--couleur-noir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
input[type="checkbox"]:not(:checked):user-valid, input[type="radio"]:not(:checked):user-valid {
|
input[type=checkbox]:not(:checked):user-valid, input[type=radio]:not(:checked):user-valid {
|
||||||
background: initial;
|
background: initial;
|
||||||
}
|
}
|
||||||
input[type="checkbox"], input[type="radio"] {
|
input[type=checkbox], input[type=radio] {
|
||||||
/*
|
/*
|
||||||
* 1. Pour un alignement parfait du label avec la case à cocher.
|
* 1. Pour un alignement parfait du label avec la case à cocher.
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
label:has(~ input[type="checkbox"], ~ input[type="radio"]),
|
label:has(~ input[type=checkbox], ~ input[type=radio]), input[type=checkbox] + label, input[type=radio] + label {
|
||||||
input[type="checkbox"] + label,
|
|
||||||
input[type="radio"] + label {
|
|
||||||
padding-top: 1px; /* 1 */
|
padding-top: 1px; /* 1 */
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
input[type="checkbox"]:hover, input[type="radio"]:hover {
|
input[type=checkbox]:hover, input[type=radio]:hover {
|
||||||
background: var(--couleur-gris-fonce);
|
background: var(--couleur-gris-fonce);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="radio"] {
|
input[type=radio] {
|
||||||
border-radius: 100%;
|
border-radius: 100%;
|
||||||
appearance: initial;
|
appearance: initial;
|
||||||
}
|
}
|
||||||
input[type="radio"]:checked {
|
input[type=radio]:checked {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
place-content: center;
|
place-content: center;
|
||||||
place-items: center;
|
place-items: center;
|
||||||
}
|
}
|
||||||
input[type="radio"]:checked::before {
|
input[type=radio]:checked::before {
|
||||||
content: " ";
|
content: " ";
|
||||||
inset: initial;
|
inset: initial;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
@ -556,14 +476,7 @@ a {
|
||||||
text-decoration: underline; /* 1 */
|
text-decoration: underline; /* 1 */
|
||||||
text-decoration-color: transparent; /* 1 */
|
text-decoration-color: transparent; /* 1 */
|
||||||
text-decoration-skip-ink: auto; /* 1 */
|
text-decoration-skip-ink: auto; /* 1 */
|
||||||
transition:
|
transition: 0.2s background, 0.2s border-color, 0.2s color, 0.2s font-weight, 0.2s outline-color, 0.2s letter-spacing, 0.2s text-decoration-color; /* 3 */
|
||||||
0.2s background,
|
|
||||||
0.2s border-color,
|
|
||||||
0.2s color,
|
|
||||||
0.2s font-weight,
|
|
||||||
0.2s outline-color,
|
|
||||||
0.2s letter-spacing,
|
|
||||||
0.2s text-decoration-color; /* 3 */
|
|
||||||
text-decoration-skip: edges; /* 1 */
|
text-decoration-skip: edges; /* 1 */
|
||||||
/* Change les couleurs de l'arrière-plan et du contour pour marquer le focus. */
|
/* Change les couleurs de l'arrière-plan et du contour pour marquer le focus. */
|
||||||
}
|
}
|
||||||
|
|
@ -649,9 +562,7 @@ ul.avec-puce-cercle {
|
||||||
}
|
}
|
||||||
ul.avec-puce-cercle a {
|
ul.avec-puce-cercle a {
|
||||||
padding-left: var(--liste-puce-cercle-lien-marges-internes-ligne-debut); /* 1 */
|
padding-left: var(--liste-puce-cercle-lien-marges-internes-ligne-debut); /* 1 */
|
||||||
background: no-repeat var(--liste-puce-cercle-puce-position-horizontale) center/var(
|
background: no-repeat var(--liste-puce-cercle-puce-position-horizontale) center/var(--liste-puce-cercle-puce-taille) url("/app/themes/haiku-atelier-2024/assets/img/icons/dot.svg"); /* 2 */
|
||||||
--liste-puce-cercle-puce-taille
|
|
||||||
) url("/app/themes/haiku-atelier-2024/assets/img/icons/dot.svg"); /* 2 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
video {
|
video {
|
||||||
|
|
@ -707,7 +618,7 @@ video {
|
||||||
transform: translateX(-100%);
|
transform: translateX(-100%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
body:has(#menu-mobile:not([aria-hidden="true"])) {
|
body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
touch-action: none;
|
touch-action: none;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
|
@ -727,11 +638,11 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
transition: display 400ms allow-discrete;
|
transition: display 400ms allow-discrete;
|
||||||
-webkit-overflow-scrolling: none;
|
-webkit-overflow-scrolling: none;
|
||||||
}
|
}
|
||||||
#menu-mobile[aria-hidden="true"] {
|
#menu-mobile[aria-hidden=true] {
|
||||||
display: none;
|
display: none;
|
||||||
animation: fade-out 400ms both;
|
animation: fade-out 400ms both;
|
||||||
}
|
}
|
||||||
#menu-mobile[aria-hidden="true"] .menu-modale__fond {
|
#menu-mobile[aria-hidden=true] .menu-modale__fond {
|
||||||
animation: fade-out 400ms both;
|
animation: fade-out 400ms both;
|
||||||
}
|
}
|
||||||
#menu-mobile .menu-modale__fond {
|
#menu-mobile .menu-modale__fond {
|
||||||
|
|
@ -864,13 +775,11 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
/* Dispositions */
|
/* Dispositions */
|
||||||
--liste-puce-cercle-puce-position-horizontale: 3.5ch; /* 3 */
|
--liste-puce-cercle-puce-position-horizontale: 3.5ch; /* 3 */
|
||||||
}
|
}
|
||||||
#en-tete .menu-navigation__entree:has(a[aria-current="page"]) {
|
#en-tete .menu-navigation__entree:has(a[aria-current=page]) {
|
||||||
background: url("/app/themes/haiku-atelier-2024/assets/img/icons/cloud-penche-gris.svg")
|
background: url("/app/themes/haiku-atelier-2024/assets/img/icons/cloud-penche-gris.svg") bottom/auto 90% no-repeat;
|
||||||
bottom/auto 90% no-repeat;
|
|
||||||
}
|
}
|
||||||
#en-tete .menu-navigation__entree--courante {
|
#en-tete .menu-navigation__entree--courante {
|
||||||
background: url("/app/themes/haiku-atelier-2024/assets/img/icons/cloud-penche-gris.svg")
|
background: url("/app/themes/haiku-atelier-2024/assets/img/icons/cloud-penche-gris.svg") bottom/auto 90% no-repeat;
|
||||||
bottom/auto 90% no-repeat;
|
|
||||||
}
|
}
|
||||||
#en-tete .menu-navigation__entree a {
|
#en-tete .menu-navigation__entree a {
|
||||||
display: inline-block; /* 1 */
|
display: inline-block; /* 1 */
|
||||||
|
|
@ -879,8 +788,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
}
|
}
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
#en-tete .menu-navigation__entree:hover {
|
#en-tete .menu-navigation__entree:hover {
|
||||||
background: url("/app/themes/haiku-atelier-2024/assets/img/icons/cloud-penche-gris.svg")
|
background: url("/app/themes/haiku-atelier-2024/assets/img/icons/cloud-penche-gris.svg") bottom/auto 90% no-repeat;
|
||||||
bottom/auto 90% no-repeat;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (width <= 1000px) {
|
@media (width <= 1000px) {
|
||||||
|
|
@ -901,9 +809,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
#en-tete .compte-panier[disabled] {
|
#en-tete .compte-panier[disabled] {
|
||||||
background: var(--arriere-plan-points);
|
background: var(--arriere-plan-points);
|
||||||
}
|
}
|
||||||
#en-tete .compte-panier[disabled] a:hover,
|
#en-tete .compte-panier[disabled] a:hover, #en-tete .compte-panier[disabled] a:active, #en-tete .compte-panier[disabled] a:focus-within {
|
||||||
#en-tete .compte-panier[disabled] a:active,
|
|
||||||
#en-tete .compte-panier[disabled] a:focus-within {
|
|
||||||
border: 1px solid var(--couleur-noir);
|
border: 1px solid var(--couleur-noir);
|
||||||
}
|
}
|
||||||
#en-tete .compte-panier a {
|
#en-tete .compte-panier a {
|
||||||
|
|
@ -912,7 +818,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
#en-tete .compte-panier a[data-contient-articles="true"] {
|
#en-tete .compte-panier a[data-contient-articles=true] {
|
||||||
background: var(--couleur-gris-fond);
|
background: var(--couleur-gris-fond);
|
||||||
}
|
}
|
||||||
#en-tete .compte-panier a:hover, #en-tete .compte-panier a:focus-within {
|
#en-tete .compte-panier a:hover, #en-tete .compte-panier a:focus-within {
|
||||||
|
|
@ -1007,8 +913,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
}
|
}
|
||||||
#menu-categories-produits ul {
|
#menu-categories-produits ul {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns:
|
grid-template-columns: repeat(auto-fit, minmax(var(--menu-entree-longueur-minimale), 1fr)); /* 1 */
|
||||||
repeat(auto-fit, minmax(var(--menu-entree-longueur-minimale), 1fr)); /* 1 */
|
|
||||||
gap: 1px;
|
gap: 1px;
|
||||||
place-items: center;
|
place-items: center;
|
||||||
/*
|
/*
|
||||||
|
|
@ -1118,9 +1023,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
top: var(--colonne-gauche-position-haut);
|
top: var(--colonne-gauche-position-haut);
|
||||||
height: var(--colonne-gauche-photo-hauteur);
|
height: var(--colonne-gauche-photo-hauteur);
|
||||||
}
|
}
|
||||||
.photos-produit .colonne.colonne-gauche figure,
|
.photos-produit .colonne.colonne-gauche figure, .photos-produit .colonne.colonne-gauche picture, .photos-produit .colonne.colonne-gauche img {
|
||||||
.photos-produit .colonne.colonne-gauche picture,
|
|
||||||
.photos-produit .colonne.colonne-gauche img {
|
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
.photos-produit .colonne.colonne-droite img {
|
.photos-produit .colonne.colonne-droite img {
|
||||||
|
|
@ -1195,8 +1098,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
--carte-produit-longueur-maximale: 1000px;
|
--carte-produit-longueur-maximale: 1000px;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-auto-rows: 1fr;
|
grid-auto-rows: 1fr;
|
||||||
grid-template-columns:
|
grid-template-columns: repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); /* 1 */
|
||||||
repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); /* 1 */
|
|
||||||
gap: 1px; /* 2 */
|
gap: 1px; /* 2 */
|
||||||
min-height: var(--grille-produits-hauteur-minimale);
|
min-height: var(--grille-produits-hauteur-minimale);
|
||||||
}
|
}
|
||||||
|
|
@ -1387,9 +1289,9 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row wrap;
|
flex-flow: row wrap;
|
||||||
place-items: center;
|
|
||||||
place-content: center;
|
|
||||||
gap: var(--espace-m);
|
gap: var(--espace-m);
|
||||||
|
place-content: center;
|
||||||
|
place-items: center;
|
||||||
}
|
}
|
||||||
.resume-produit .selecteur-produit__prix {
|
.resume-produit .selecteur-produit__prix {
|
||||||
font-style: initial;
|
font-style: initial;
|
||||||
|
|
@ -1438,9 +1340,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
.details-produit__textes .section-textuelle:not(:last-of-type) {
|
.details-produit__textes .section-textuelle:not(:last-of-type) {
|
||||||
border-block-end: 1px solid var(--couleur-noir);
|
border-block-end: 1px solid var(--couleur-noir);
|
||||||
}
|
}
|
||||||
.details-produit__textes
|
.details-produit__textes .section-textuelle:has(button[aria-expanded=false]) .section-textuelle__contenu {
|
||||||
.section-textuelle:has(button[aria-expanded="false"])
|
|
||||||
.section-textuelle__contenu {
|
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
.details-produit__textes .section-textuelle h3 {
|
.details-produit__textes .section-textuelle h3 {
|
||||||
|
|
@ -1453,6 +1353,15 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
padding: var(--section-marges-internes);
|
padding: var(--section-marges-internes);
|
||||||
text-align: start;
|
text-align: start;
|
||||||
}
|
}
|
||||||
|
.details-produit__textes .section-textuelle h3 button:active {
|
||||||
|
background: var(--arriere-plan-points);
|
||||||
|
}
|
||||||
|
@media (hover: hover) {
|
||||||
|
.details-produit__textes .section-textuelle h3 button:hover {
|
||||||
|
color: inherit;
|
||||||
|
background: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
.details-produit__textes .section-textuelle .section-textuelle__contenu {
|
.details-produit__textes .section-textuelle .section-textuelle__contenu {
|
||||||
padding-block-end: var(--section-marges-internes);
|
padding-block-end: var(--section-marges-internes);
|
||||||
padding-inline: var(--textuel-marges-internes-ligne);
|
padding-inline: var(--textuel-marges-internes-ligne);
|
||||||
|
|
@ -1478,11 +1387,9 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
background: var(--couleur-gris-fond);
|
background: var(--couleur-gris-fond);
|
||||||
}
|
}
|
||||||
.details-produit__actions button {
|
.details-produit__actions button {
|
||||||
height: initial;
|
|
||||||
padding: var(--section-marges-internes);
|
padding: var(--section-marges-internes);
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
transition: 0.2s color, 0.2s background, 0.2s font-weight;
|
|
||||||
}
|
}
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
.details-produit__actions button:not([disabled]):hover {
|
.details-produit__actions button:not([disabled]):hover {
|
||||||
|
|
@ -1542,10 +1449,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
.produits-similaires
|
.produits-similaires .grille-produits-similaires article figure a:hover .produit__illustration__survol {
|
||||||
.grille-produits-similaires
|
|
||||||
article figure a:hover
|
|
||||||
.produit__illustration__survol {
|
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
opacity: 100%;
|
opacity: 100%;
|
||||||
transition: 0.3s opacity, 0.3s visibility;
|
transition: 0.3s opacity, 0.3s visibility;
|
||||||
|
|
@ -1618,4 +1522,4 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* # sourceMappingURL=main.css.map */
|
/*# sourceMappingURL=main.css.map */
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@
|
||||||
* 1. Utilise un meilleur modèle de boîte.
|
* 1. Utilise un meilleur modèle de boîte.
|
||||||
*/
|
*/
|
||||||
html {
|
html {
|
||||||
box-sizing: border-box; /* 1 */
|
|
||||||
scrollbar-gutter: stable;
|
scrollbar-gutter: stable;
|
||||||
|
box-sizing: border-box; /* 1 */
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -85,7 +85,7 @@ button, input, select, textarea {
|
||||||
/*
|
/*
|
||||||
* Désactive les animations pour les Utilisateurs n'en souhaitant pas.
|
* Désactive les animations pour les Utilisateurs n'en souhaitant pas.
|
||||||
*/
|
*/
|
||||||
@media (prefers-reduced-motion) {
|
/* @media (prefers-reduced-motion) {
|
||||||
*, *::before, *::after {
|
*, *::before, *::after {
|
||||||
scroll-behavior: auto !important;
|
scroll-behavior: auto !important;
|
||||||
transition: none !important;
|
transition: none !important;
|
||||||
|
|
@ -95,4 +95,4 @@ button, input, select, textarea {
|
||||||
@view-transition {
|
@view-transition {
|
||||||
navigation: none !important;
|
navigation: none !important;
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
|
|
|
||||||
|
|
@ -5,91 +5,65 @@
|
||||||
*/
|
*/
|
||||||
button {
|
button {
|
||||||
all: initial;
|
all: initial;
|
||||||
font: inherit;
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
font: inherit;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
letter-spacing: inherit;
|
letter-spacing: inherit;
|
||||||
outline: 2px dashed transparent;
|
outline: 2px dashed transparent;
|
||||||
outline-offset: -2px;
|
outline-offset: -2px;
|
||||||
transition: 0.2s background, 0.2s color, 0.2s outline-color;
|
transition: 0.2s background, 0.2s font-weight, 0.2s color, 0.2s outline-color;
|
||||||
|
|
||||||
&:not(&:disabled) {
|
&:focus-visible {
|
||||||
&:focus-visible {
|
z-index: 5;
|
||||||
z-index: 5;
|
outline-color: var(--couleur-noir);
|
||||||
outline-color: var(--couleur-noir);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
&:active {
|
&:active {
|
||||||
background: var(--arriere-plan-points);
|
background: var(--arriere-plan-points);
|
||||||
}
|
|
||||||
|
|
||||||
@media (hover: hover) {
|
|
||||||
&:hover {
|
|
||||||
color: var(--couleur-blanc);
|
|
||||||
background: var(--couleur-gris-fonce);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&:disabled {
|
&:disabled {
|
||||||
|
color: inherit;
|
||||||
background: var(--arriere-plan-points);
|
background: var(--arriere-plan-points);
|
||||||
outline-color: transparent;
|
outline-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Particularismes
|
/* Particularismes. */
|
||||||
|
|
||||||
|
// Bouton prenant toute l'espace disponible.
|
||||||
&.bouton-case-pleine {
|
&.bouton-case-pleine {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
&.bouton-blanc-sur-noir {
|
|
||||||
font-style: italic;
|
|
||||||
text-transform: uppercase;
|
|
||||||
letter-spacing: var(--espacement-inter-lettres-etendu-m);
|
|
||||||
|
|
||||||
&:not(&:disabled) {
|
|
||||||
&:active {
|
|
||||||
color: var(--couleur-blanc);
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (hover: hover) {
|
|
||||||
&:hover {
|
|
||||||
background: var(--couleur-gris-fonce);
|
|
||||||
color: var(--couleur-blanc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&.bouton-blanc-sur-noir {
|
// Bouton avec les couleurs inversées.
|
||||||
|
&.bouton-inverse {
|
||||||
color: var(--couleur-blanc);
|
color: var(--couleur-blanc);
|
||||||
background: var(--couleur-noir);
|
background: var(--couleur-noir);
|
||||||
|
|
||||||
&:not(&:disabled) {
|
&:focus-visible {
|
||||||
&:focus-visible {
|
outline-color: var(--couleur-blanc);
|
||||||
outline-color: var(--couleur-blanc);
|
}
|
||||||
}
|
|
||||||
&:active {
|
&:active {
|
||||||
color: var(--couleur-noir);
|
color: var(--couleur-noir);
|
||||||
background: var(--arriere-plan-points);
|
background: var(--arriere-plan-points);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (hover: hover) {
|
&:disabled {
|
||||||
&:hover {
|
color: var(--couleur-blanc);
|
||||||
background: var(--couleur-gris);
|
|
||||||
color: var(--couleur-noir);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
&.bouton-fleche {
|
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
background: initial;
|
&:hover {
|
||||||
|
color: var(--couleur-noir);
|
||||||
|
background: var(--couleur-gris);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Bouton pour le retour en haut de la page.
|
||||||
&.bouton-retour-haut {
|
&.bouton-retour-haut {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 500;
|
z-index: 500;
|
||||||
|
|
@ -123,4 +97,11 @@ button {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (hover: hover) {
|
||||||
|
&:hover {
|
||||||
|
color: var(--couleur-blanc);
|
||||||
|
background: var(--couleur-gris-fonce);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,9 @@ input:is([type="email"], [type="text"], [type="tel"]), textarea {
|
||||||
}
|
}
|
||||||
|
|
||||||
&:user-valid {
|
&:user-valid {
|
||||||
background: var(--arriere-plan-points);
|
|
||||||
color: var(--couleur-noir);
|
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
color: var(--couleur-noir);
|
||||||
|
background: var(--arriere-plan-points);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:user-invalid {
|
&:user-invalid {
|
||||||
|
|
@ -66,8 +66,8 @@ input[type="checkbox"], input[type="radio"] {
|
||||||
transition: 0.2s background;
|
transition: 0.2s background;
|
||||||
|
|
||||||
&:checked {
|
&:checked {
|
||||||
background: var(--couleur-gris-fonce);
|
|
||||||
color: var(--couleur-blanc);
|
color: var(--couleur-blanc);
|
||||||
|
background: var(--couleur-gris-fonce);
|
||||||
|
|
||||||
// TODO: Utiliser un SVG plutôt qu'un « x » ?
|
// TODO: Utiliser un SVG plutôt qu'un « x » ?
|
||||||
&::before {
|
&::before {
|
||||||
|
|
|
||||||
|
|
@ -97,9 +97,9 @@
|
||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row wrap;
|
flex-flow: row wrap;
|
||||||
place-items: center;
|
|
||||||
place-content: center;
|
|
||||||
gap: var(--espace-m);
|
gap: var(--espace-m);
|
||||||
|
place-content: center;
|
||||||
|
place-items: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -163,12 +163,25 @@
|
||||||
h3 {
|
h3 {
|
||||||
line-height: var(--hauteur-ligne-rapprochee);
|
line-height: var(--hauteur-ligne-rapprochee);
|
||||||
|
|
||||||
|
// Bouton pour ouvrir ou fermer une section.
|
||||||
button {
|
button {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-block-size: 1lh;
|
min-block-size: 1lh;
|
||||||
padding: var(--section-marges-internes);
|
padding: var(--section-marges-internes);
|
||||||
text-align: start;
|
text-align: start;
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
background: var(--arriere-plan-points);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aucun effet de survol ici.
|
||||||
|
@media (hover: hover) {
|
||||||
|
&:hover {
|
||||||
|
color: inherit;
|
||||||
|
background: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -209,11 +222,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button {
|
||||||
height: initial;
|
|
||||||
padding: var(--section-marges-internes);
|
padding: var(--section-marges-internes);
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
transition: 0.2s color, 0.2s background, 0.2s font-weight;
|
|
||||||
|
|
||||||
// Change la casse de la police au survol quand le Bouton n'est pas désactivé
|
// Change la casse de la police au survol quand le Bouton n'est pas désactivé
|
||||||
&:not([disabled]) {
|
&:not([disabled]) {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
import { Schema, SchemaIssue } from "effect";
|
|
||||||
import type { NoSuchElementError } from "effect/Cause";
|
import type { NoSuchElementError } from "effect/Cause";
|
||||||
import type { SchemaError } from "effect/Schema";
|
import type { SchemaError } from "effect/Schema";
|
||||||
|
|
||||||
|
import { Schema, SchemaIssue } from "effect";
|
||||||
|
|
||||||
class IncoherentDOMError extends Schema.TaggedErrorClass<IncoherentDOMError>()("IncoherentDOMError", {
|
class IncoherentDOMError extends Schema.TaggedErrorClass<IncoherentDOMError>()("IncoherentDOMError", {
|
||||||
cause: Schema.String,
|
cause: Schema.String,
|
||||||
}) {
|
}) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { Console, Layer, ManagedRuntime, pipe } from "effect";
|
import { Console, Layer, ManagedRuntime, pipe } from "effect";
|
||||||
|
|
||||||
import { APIClient } from "../../scripts-effect/lib/api.ts";
|
import { APIClient } from "../../scripts-effect/lib/api.ts";
|
||||||
import ProductPageDOM from "./service-dom.ts";
|
import ProductPageDOM from "./service-dom.ts";
|
||||||
import ProductPageElements from "./service-elements.ts";
|
import ProductPageElements from "./service-elements.ts";
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
import type { SchemaError } from "effect/Schema";
|
||||||
|
|
||||||
// oxlint-disable typescript/dot-notation
|
// oxlint-disable typescript/dot-notation
|
||||||
import {
|
import {
|
||||||
Array as FxArray,
|
Array as FxArray,
|
||||||
|
|
@ -14,9 +16,11 @@ import {
|
||||||
Stream,
|
Stream,
|
||||||
SubscriptionRef,
|
SubscriptionRef,
|
||||||
} from "effect";
|
} from "effect";
|
||||||
import type { SchemaError } from "effect/Schema";
|
|
||||||
import { APIClient } from "../../scripts-effect/lib/api.ts";
|
|
||||||
import type { APIError } from "../../scripts-effect/lib/api.ts";
|
import type { APIError } from "../../scripts-effect/lib/api.ts";
|
||||||
|
import type { DetailEnsemble } from "./types.d.ts";
|
||||||
|
|
||||||
|
import { APIClient } from "../../scripts-effect/lib/api.ts";
|
||||||
import { CartProduct } from "../../scripts-effect/schemas/api.ts";
|
import { CartProduct } from "../../scripts-effect/schemas/api.ts";
|
||||||
import { WooCommerceCart } from "../../scripts-effect/schemas/cart.ts";
|
import { WooCommerceCart } from "../../scripts-effect/schemas/cart.ts";
|
||||||
import { Product, ProductVariation, ProductVariationAttribute } from "../../scripts-effect/schemas/product.ts";
|
import { Product, ProductVariation, ProductVariationAttribute } from "../../scripts-effect/schemas/product.ts";
|
||||||
|
|
@ -31,7 +35,6 @@ import { emetMessageMajBoutonPanier } from "../lib/messages.ts";
|
||||||
import { IncoherentDOMError } from "./errors.ts";
|
import { IncoherentDOMError } from "./errors.ts";
|
||||||
import ProductPageElements from "./service-elements.ts";
|
import ProductPageElements from "./service-elements.ts";
|
||||||
import ProductPageMessages from "./service-messages.ts";
|
import ProductPageMessages from "./service-messages.ts";
|
||||||
import type { DetailEnsemble } from "./types.d.ts";
|
|
||||||
|
|
||||||
const PageStatesSchema = Schema.Struct({
|
const PageStatesSchema = Schema.Struct({
|
||||||
nonce: Schema.NonEmptyString,
|
nonce: Schema.NonEmptyString,
|
||||||
|
|
@ -55,10 +58,10 @@ class ProductPageDOM extends Context.Service<ProductPageDOM>()(
|
||||||
AddToCartButton,
|
AddToCartButton,
|
||||||
Details,
|
Details,
|
||||||
DetailsButtons,
|
DetailsButtons,
|
||||||
|
PageStatesRawJson,
|
||||||
ProductPrice,
|
ProductPrice,
|
||||||
VariationChoiceForm,
|
VariationChoiceForm,
|
||||||
VariationSelectors,
|
VariationSelectors,
|
||||||
PageStatesRawJson,
|
|
||||||
} = yield* ProductPageElements;
|
} = yield* ProductPageElements;
|
||||||
const { AddToCartButtonText } = yield* ProductPageMessages;
|
const { AddToCartButtonText } = yield* ProductPageMessages;
|
||||||
const API = yield* APIClient;
|
const API = yield* APIClient;
|
||||||
|
|
@ -219,7 +222,7 @@ class ProductPageDOM extends Context.Service<ProductPageDOM>()(
|
||||||
price: PageStates.product.price,
|
price: PageStates.product.price,
|
||||||
})
|
})
|
||||||
),
|
),
|
||||||
Effect.map(({ id, attributes }) =>
|
Effect.map(({ attributes, id }) =>
|
||||||
// Les données ont été validées en amont.
|
// Les données ont été validées en amont.
|
||||||
Schema.decodeSync(CartProduct)({ id: id, quantity: 1, variation: attributes })
|
Schema.decodeSync(CartProduct)({ id: id, quantity: 1, variation: attributes })
|
||||||
),
|
),
|
||||||
|
|
@ -245,8 +248,8 @@ class ProductPageDOM extends Context.Service<ProductPageDOM>()(
|
||||||
yield* SubscriptionRef.set(AddToCartButtonText, "Add to cart").pipe(Effect.delay("3 seconds"));
|
yield* SubscriptionRef.set(AddToCartButtonText, "Add to cart").pipe(Effect.delay("3 seconds"));
|
||||||
},
|
},
|
||||||
Effect.catchTags({
|
Effect.catchTags({
|
||||||
APIResponseError: error => recoverFromBackendFailure(error),
|
|
||||||
APIRequestError: error => recoverFromBackendFailure(error),
|
APIRequestError: error => recoverFromBackendFailure(error),
|
||||||
|
APIResponseError: error => recoverFromBackendFailure(error),
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -254,8 +257,10 @@ class ProductPageDOM extends Context.Service<ProductPageDOM>()(
|
||||||
/** Est-ce que le Produit affiché est en stock ? */
|
/** Est-ce que le Produit affiché est en stock ? */
|
||||||
const isProductInStock = AddToCartButton.hasAttribute("data-in-stock") === true;
|
const isProductInStock = AddToCartButton.hasAttribute("data-in-stock") === true;
|
||||||
|
|
||||||
// S'('y a pas de stock, ne rien faire.
|
// S'il n'y a pas de stock, afficher un petit message à l'Utilisateur et ne rien faire.
|
||||||
if (isProductInStock === false) {
|
if (isProductInStock === false) {
|
||||||
|
yield* Console.log("Pas de stock disponible.");
|
||||||
|
yield* SubscriptionRef.set(AddToCartButtonText, "Out of stock");
|
||||||
return yield* Effect.void;
|
return yield* Effect.void;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,9 @@
|
||||||
import { Array as FxArray, Context, Effect, HashMap, Layer, Option, pipe } from "effect";
|
|
||||||
import type { NoSuchElementError } from "effect/Cause";
|
import type { NoSuchElementError } from "effect/Cause";
|
||||||
|
|
||||||
|
import { Array as FxArray, Context, Effect, HashMap, Layer, Option, pipe } from "effect";
|
||||||
|
|
||||||
|
import type { DetailEnsemble } from "./types.d.ts";
|
||||||
|
|
||||||
import { getAllSelectorFromDocument, getFirstSelectorFromDocument } from "../../scripts-effect/lib/dom.ts";
|
import { getAllSelectorFromDocument, getFirstSelectorFromDocument } from "../../scripts-effect/lib/dom.ts";
|
||||||
import {
|
import {
|
||||||
ATTRIBUT_ARIA_CONTROLS,
|
ATTRIBUT_ARIA_CONTROLS,
|
||||||
|
|
@ -9,7 +13,6 @@ import {
|
||||||
DOM_PRIX_PRODUIT,
|
DOM_PRIX_PRODUIT,
|
||||||
} from "../constantes/dom.ts";
|
} from "../constantes/dom.ts";
|
||||||
import { IncoherentDOMError } from "./errors.ts";
|
import { IncoherentDOMError } from "./errors.ts";
|
||||||
import type { DetailEnsemble } from "./types.d.ts";
|
|
||||||
|
|
||||||
class ProductPageElements
|
class ProductPageElements
|
||||||
extends Context.Service<ProductPageElements>()("haikuatelier.fr/Product/ProductPageElements", {
|
extends Context.Service<ProductPageElements>()("haikuatelier.fr/Product/ProductPageElements", {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { Context, Effect, Layer, pipe, Stream, SubscriptionRef } from "effect";
|
import { Context, Effect, Layer, pipe, Stream, SubscriptionRef } from "effect";
|
||||||
|
|
||||||
import ProductPageElements from "./service-elements.ts";
|
import ProductPageElements from "./service-elements.ts";
|
||||||
|
|
||||||
class ProductPageMessages extends Context.Service<ProductPageMessages>()("haikuatelier.fr/Product/Messages", {
|
class ProductPageMessages extends Context.Service<ProductPageMessages>()("haikuatelier.fr/Product/Messages", {
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ const _etats = {
|
||||||
|
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<button
|
<button
|
||||||
{{ products|length == 12 ? '' : 'hidden' }} class="bouton-case-pleine bouton-blanc-sur-noir"
|
{{ products|length == 12 ? '' : 'hidden' }} class="bouton-case-pleine bouton-inverse"
|
||||||
id="bouton-plus-de-produits" type="button"
|
id="bouton-plus-de-produits" type="button"
|
||||||
>
|
>
|
||||||
Show more
|
Show more
|
||||||
|
|
|
||||||
|
|
@ -260,7 +260,7 @@
|
||||||
|
|
||||||
<footer class="panneau__pied-de-page">
|
<footer class="panneau__pied-de-page">
|
||||||
<button
|
<button
|
||||||
class="bouton-case-pleine bouton-blanc-sur-noir" form="formulaire-commande"
|
class="bouton-case-pleine bouton-inverse" form="formulaire-commande"
|
||||||
type="submit"
|
type="submit"
|
||||||
>
|
>
|
||||||
Calculate shipping
|
Calculate shipping
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
value="{{ code_promo ? code_promo }}"
|
value="{{ code_promo ? code_promo }}"
|
||||||
/>
|
/>
|
||||||
<button
|
<button
|
||||||
class="bouton-blanc-sur-noir" for="code-promo"
|
class="bouton-inverse" for="code-promo"
|
||||||
id="bouton-code-promo" type="button"
|
id="bouton-code-promo" type="button"
|
||||||
>
|
>
|
||||||
{{ code_promo ? 'Remove' : 'Apply' }}
|
{{ code_promo ? 'Remove' : 'Apply' }}
|
||||||
|
|
|
||||||
|
|
@ -91,5 +91,5 @@
|
||||||
<code></code>
|
<code></code>
|
||||||
<p>If that happens again, please contact us with the content or a capture of the error.</p>
|
<p>If that happens again, please contact us with the content or a capture of the error.</p>
|
||||||
|
|
||||||
<button class="bouton-blanc-sur-noir" autofocus>Close</button>
|
<button class="bouton-inverse" autofocus>Close</button>
|
||||||
</dialog>
|
</dialog>
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 422 KiB |
|
Before Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 165 KiB |
|
Before Width: | Height: | Size: 195 KiB |
|
Before Width: | Height: | Size: 273 KiB |
|
Before Width: | Height: | Size: 340 KiB |
|
Before Width: | Height: | Size: 261 KiB |
|
Before Width: | Height: | Size: 250 KiB After Width: | Height: | Size: 250 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 352 KiB After Width: | Height: | Size: 352 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 493 KiB After Width: | Height: | Size: 493 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 176 KiB |
|
Before Width: | Height: | Size: 512 KiB After Width: | Height: | Size: 512 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 231 KiB After Width: | Height: | Size: 228 KiB |
|
Before Width: | Height: | Size: 402 KiB After Width: | Height: | Size: 402 KiB |
BIN
web/app/uploads/2024/10/2025HAIKU_00061.avif
Normal file
|
After Width: | Height: | Size: 346 KiB |
BIN
web/app/uploads/2024/10/2025HAIKU_00061.jpg
Normal file
|
After Width: | Height: | Size: 958 KiB |
BIN
web/app/uploads/2024/10/2025HAIKU_00061.jxl
Normal file
|
Before Width: | Height: | Size: 574 KiB After Width: | Height: | Size: 574 KiB |
|
Before Width: | Height: | Size: 612 KiB After Width: | Height: | Size: 612 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 211 KiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 500 KiB After Width: | Height: | Size: 500 KiB |
|
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 141 KiB |
|
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 189 KiB |
|
Before Width: | Height: | Size: 492 KiB After Width: | Height: | Size: 511 KiB |
|
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 177 KiB |
|
Before Width: | Height: | Size: 139 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 225 KiB After Width: | Height: | Size: 225 KiB |
|
Before Width: | Height: | Size: 168 KiB After Width: | Height: | Size: 168 KiB |
|
Before Width: | Height: | Size: 209 KiB |
|
Before Width: | Height: | Size: 328 KiB |
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 240 KiB After Width: | Height: | Size: 240 KiB |
|
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 206 KiB |
|
Before Width: | Height: | Size: 358 KiB After Width: | Height: | Size: 358 KiB |
|
Before Width: | Height: | Size: 327 KiB |
|
Before Width: | Height: | Size: 308 KiB After Width: | Height: | Size: 308 KiB |
|
Before Width: | Height: | Size: 303 KiB |
|
Before Width: | Height: | Size: 295 KiB After Width: | Height: | Size: 295 KiB |
|
Before Width: | Height: | Size: 341 KiB |
|
Before Width: | Height: | Size: 312 KiB |
|
Before Width: | Height: | Size: 477 KiB After Width: | Height: | Size: 477 KiB |
|
Before Width: | Height: | Size: 289 KiB |
|
Before Width: | Height: | Size: 300 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 90 KiB |