2025-11-03 (bis)
- ajoute un .dockerignore. - met à jour les dépendances. - utilise bun comme gestionnaire de paquets npm. - utilise une configuration Vite en TypeScript. - ajoute les fichiers compilés JavaScript aux fichiers pris en charge par Git.
This commit is contained in:
parent
8bf6b0ceef
commit
b50f437ea0
60 changed files with 16928 additions and 182 deletions
11
.dockerignore
Normal file
11
.dockerignore
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
*
|
||||||
|
!config
|
||||||
|
!db
|
||||||
|
!web
|
||||||
|
!.gitignore
|
||||||
|
!.npmrc
|
||||||
|
!.swcrc
|
||||||
|
!package.json
|
||||||
|
!tsconfig.json
|
||||||
|
!vite.config.ts
|
||||||
|
!wp-cli.yml
|
||||||
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -13,10 +13,6 @@ web/wp
|
||||||
web/vendor
|
web/vendor
|
||||||
web/.htaccess
|
web/.htaccess
|
||||||
|
|
||||||
# Compilation
|
|
||||||
web/app/themes/haiku-atelier-2024/assets/js
|
|
||||||
web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json
|
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
*.log
|
*.log
|
||||||
|
|
||||||
|
|
|
||||||
163
bun.lock
163
bun.lock
|
|
@ -6,7 +6,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@logtape/logtape": "^1.1.2",
|
"@logtape/logtape": "^1.1.2",
|
||||||
"@mobily/ts-belt": "v4.0.0-rc.5",
|
"@mobily/ts-belt": "v4.0.0-rc.5",
|
||||||
"@sentry/browser": "^9.46.0",
|
"@sentry/browser": "^10.22.0",
|
||||||
"a11y-dialog": "^8.1.4",
|
"a11y-dialog": "^8.1.4",
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
"lit-html": "^3.3.1",
|
"lit-html": "^3.3.1",
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
"valibot": "1.1.0",
|
"valibot": "1.1.0",
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^2.3.2",
|
"@biomejs/biome": "^2.3.3",
|
||||||
"@cspell/dict-fr-fr": "^2.3.2",
|
"@cspell/dict-fr-fr": "^2.3.2",
|
||||||
"@eslint/js": "^9.39.0",
|
"@eslint/js": "^9.39.0",
|
||||||
"@playwright/test": "^1.56.1",
|
"@playwright/test": "^1.56.1",
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
"eslint-plugin-perfectionist": "^4.15.1",
|
"eslint-plugin-perfectionist": "^4.15.1",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
"globals": "^16.5.0",
|
"globals": "^16.5.0",
|
||||||
"knip": "^5.67.0",
|
"knip": "^5.67.1",
|
||||||
"lightningcss-cli": "^1.30.2",
|
"lightningcss-cli": "^1.30.2",
|
||||||
"oxlint": "^1.25.0",
|
"oxlint": "^1.25.0",
|
||||||
"picomatch": "^4.0.3",
|
"picomatch": "^4.0.3",
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
"stylelint-plugin-logical-css": "^1.2.3",
|
"stylelint-plugin-logical-css": "^1.2.3",
|
||||||
"typescript": "5.9.3",
|
"typescript": "5.9.3",
|
||||||
"typescript-eslint": "^8.46.2",
|
"typescript-eslint": "^8.46.2",
|
||||||
"vite": "^7.1.12",
|
"vite": "npm:rolldown-vite@latest",
|
||||||
"vite-plugin-compression2": "^2.3.1",
|
"vite-plugin-compression2": "^2.3.1",
|
||||||
"vite-plugin-manifest-sri": "^0.2.0",
|
"vite-plugin-manifest-sri": "^0.2.0",
|
||||||
"vite-plugin-node-polyfills": "^0.24.0",
|
"vite-plugin-node-polyfills": "^0.24.0",
|
||||||
|
|
@ -67,7 +67,6 @@
|
||||||
"trustedDependencies": [
|
"trustedDependencies": [
|
||||||
"lightningcss-cli",
|
"lightningcss-cli",
|
||||||
"core-js",
|
"core-js",
|
||||||
"esbuild",
|
|
||||||
"@biomejs/biome",
|
"@biomejs/biome",
|
||||||
"@swc/core",
|
"@swc/core",
|
||||||
"@parcel/watcher",
|
"@parcel/watcher",
|
||||||
|
|
@ -251,23 +250,23 @@
|
||||||
|
|
||||||
"@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="],
|
"@babel/types": ["@babel/types@7.28.5", "", { "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" } }, "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA=="],
|
||||||
|
|
||||||
"@biomejs/biome": ["@biomejs/biome@2.3.2", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.2", "@biomejs/cli-darwin-x64": "2.3.2", "@biomejs/cli-linux-arm64": "2.3.2", "@biomejs/cli-linux-arm64-musl": "2.3.2", "@biomejs/cli-linux-x64": "2.3.2", "@biomejs/cli-linux-x64-musl": "2.3.2", "@biomejs/cli-win32-arm64": "2.3.2", "@biomejs/cli-win32-x64": "2.3.2" }, "bin": { "biome": "bin/biome" } }, "sha512-8e9tzamuDycx7fdrcJ/F/GDZ8SYukc5ud6tDicjjFqURKYFSWMl0H0iXNXZEGmcmNUmABgGuHThPykcM41INgg=="],
|
"@biomejs/biome": ["@biomejs/biome@2.3.3", "http://localhost:4873/@biomejs/biome/-/biome-2.3.3.tgz", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.3", "@biomejs/cli-darwin-x64": "2.3.3", "@biomejs/cli-linux-arm64": "2.3.3", "@biomejs/cli-linux-arm64-musl": "2.3.3", "@biomejs/cli-linux-x64": "2.3.3", "@biomejs/cli-linux-x64-musl": "2.3.3", "@biomejs/cli-win32-arm64": "2.3.3", "@biomejs/cli-win32-x64": "2.3.3" }, "bin": { "biome": "bin/biome" } }, "sha512-zn/P1pRBCpDdhi+VNSMnpczOz9DnqzOA2c48K8xgxjDODvi5O8gs3a2H233rck/5HXpkFj6TmyoqVvxirZUnvg=="],
|
||||||
|
|
||||||
"@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-4LECm4kc3If0JISai4c3KWQzukoUdpxy4fRzlrPcrdMSRFksR9ZoXK7JBcPuLBmd2SoT4/d7CQS33VnZpgBjew=="],
|
"@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.3", "http://localhost:4873/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.3.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-5+JtW6RKmjqL9un0UtHV0ezOslAyYBzyl5ZhYiu7GHesX2x8NCDl6tXYrenv9m7e1RLbkO5E5Kh04kseMtz6lw=="],
|
||||||
|
|
||||||
"@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-jNMnfwHT4N3wi+ypRfMTjLGnDmKYGzxVr1EYAPBcauRcDnICFXN81wD6wxJcSUrLynoyyYCdfW6vJHS/IAoTDA=="],
|
"@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.3", "http://localhost:4873/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.3.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-UPmKRalkHicvIpeccuKqq+/gA2HYV8FUnAEDJnqYBlGlycKqe6xrovWqvWTE4TTNpIFf4UQyuaDzLkN6Kz6tbA=="],
|
||||||
|
|
||||||
"@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-amnqvk+gWybbQleRRq8TMe0rIv7GHss8mFJEaGuEZYWg1Tw14YKOkeo8h6pf1c+d3qR+JU4iT9KXnBKGON4klw=="],
|
"@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.3", "http://localhost:4873/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.3.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-zeiKwALNB/hax7+LLhCYqhqzlWdTfgE9BGkX2Z8S4VmCYnGFrf2fON/ec6KCos7mra5MDm6fYICsEWN2+HKZhw=="],
|
||||||
|
|
||||||
"@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-2Zz4usDG1GTTPQnliIeNx6eVGGP2ry5vE/v39nT73a3cKN6t5H5XxjcEoZZh62uVZvED7hXXikclvI64vZkYqw=="],
|
"@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.3", "http://localhost:4873/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.3.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-KhCDMV+V7Yu72v40ssGJTHuv/j0n7JQ6l0s/c+EMcX5zPYLMLr4XpmI+WXhp4Vfkz0T5Xnh5wbrTBI3f2UTpjQ=="],
|
||||||
|
|
||||||
"@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-8BG/vRAhFz1pmuyd24FQPhNeueLqPtwvZk6yblABY2gzL2H8fLQAF/Z2OPIc+BPIVPld+8cSiKY/KFh6k81xfA=="],
|
"@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.3", "http://localhost:4873/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.3.tgz", { "os": "linux", "cpu": "x64" }, "sha512-05CjPLbvVVU8J6eaO6iSEoA0FXKy2l6ddL+1h/VpiosCmIp3HxRKLOa1hhC1n+D13Z8g9b1DtnglGtM5U3sTag=="],
|
||||||
|
|
||||||
"@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.2", "", { "os": "linux", "cpu": "x64" }, "sha512-gzB19MpRdTuOuLtPpFBGrV3Lq424gHyq2lFj8wfX9tvLMLdmA/R9C7k/mqBp/spcbWuHeIEKgEs3RviOPcWGBA=="],
|
"@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.3", "http://localhost:4873/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.3.tgz", { "os": "linux", "cpu": "x64" }, "sha512-IyqQ+jYzU5MVy9CK5NV0U+NnUMPUAhYMrB/x4QgL/Dl1MqzBVc61bHeyhLnKM6DSEk73/TQYrk/8/QmVHudLdQ=="],
|
||||||
|
|
||||||
"@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-lCruqQlfWjhMlOdyf5pDHOxoNm4WoyY2vZ4YN33/nuZBRstVDuqPPjS0yBkbUlLEte11FbpW+wWSlfnZfSIZvg=="],
|
"@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.3", "http://localhost:4873/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.3.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-NtlLs3pdFqFAQYZjlEHKOwJEn3GEaz7rtR2oCrzaLT2Xt3Cfd55/VvodQ5V+X+KepLa956QJagckJrNL+DmumQ=="],
|
||||||
|
|
||||||
"@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.2", "", { "os": "win32", "cpu": "x64" }, "sha512-6Ee9P26DTb4D8sN9nXxgbi9Dw5vSOfH98M7UlmkjKB2vtUbrRqCbZiNfryGiwnPIpd6YUoTl7rLVD2/x1CyEHQ=="],
|
"@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.3", "http://localhost:4873/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.3.tgz", { "os": "win32", "cpu": "x64" }, "sha512-klJKPPQvUk9Rlp0Dd56gQw/+Wt6uUprHdHWtbDC93f3Iv+knA2tLWpcYoOZJgPV+9s+RBmYv0DGy4mUlr20esg=="],
|
||||||
|
|
||||||
"@bufbuild/protobuf": ["@bufbuild/protobuf@2.5.2", "", {}, "sha512-foZ7qr0IsUBjzWIq+SuBLfdQCpJ1j8cTuNNT4owngTHoN5KsJb8L9t65fzz7SCeSWzescoOil/0ldqiL041ABg=="],
|
"@bufbuild/protobuf": ["@bufbuild/protobuf@2.5.2", "", {}, "sha512-foZ7qr0IsUBjzWIq+SuBLfdQCpJ1j8cTuNNT4owngTHoN5KsJb8L9t65fzz7SCeSWzescoOil/0ldqiL041ABg=="],
|
||||||
|
|
||||||
|
|
@ -295,56 +294,6 @@
|
||||||
|
|
||||||
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="],
|
"@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="],
|
||||||
|
|
||||||
"@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="],
|
|
||||||
|
|
||||||
"@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="],
|
|
||||||
|
|
||||||
"@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="],
|
|
||||||
|
|
||||||
"@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="],
|
|
||||||
|
|
||||||
"@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="],
|
|
||||||
|
|
||||||
"@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="],
|
|
||||||
|
|
||||||
"@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="],
|
|
||||||
|
|
||||||
"@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="],
|
|
||||||
|
|
||||||
"@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="],
|
|
||||||
|
|
||||||
"@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="],
|
|
||||||
|
|
||||||
"@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="],
|
|
||||||
|
|
||||||
"@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="],
|
|
||||||
|
|
||||||
"@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="],
|
|
||||||
|
|
||||||
"@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="],
|
|
||||||
|
|
||||||
"@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="],
|
|
||||||
|
|
||||||
"@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="],
|
|
||||||
|
|
||||||
"@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="],
|
|
||||||
|
|
||||||
"@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g=="],
|
"@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.0", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g=="],
|
||||||
|
|
||||||
"@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="],
|
"@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.1", "", {}, "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ=="],
|
||||||
|
|
@ -435,6 +384,10 @@
|
||||||
|
|
||||||
"@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
|
"@nodelib/fs.walk": ["@nodelib/fs.walk@1.2.8", "", { "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg=="],
|
||||||
|
|
||||||
|
"@oxc-project/runtime": ["@oxc-project/runtime@0.95.0", "http://localhost:4873/@oxc-project/runtime/-/runtime-0.95.0.tgz", {}, "sha512-qJS5pNepwMGnafO9ayKGz7rfPQgUBuunHpnP1//9Qa0zK3oT3t1EhT+I+pV9MUA+ZKez//OFqxCxf1vijCKb2Q=="],
|
||||||
|
|
||||||
|
"@oxc-project/types": ["@oxc-project/types@0.95.0", "http://localhost:4873/@oxc-project/types/-/types-0.95.0.tgz", {}, "sha512-vACy7vhpMPhjEJhULNxrdR0D943TkA/MigMpJCHmBHvMXxRStRi/dPtTlfQ3uDwWSzRpT8z+7ImjZVf8JWBocQ=="],
|
||||||
|
|
||||||
"@oxc-resolver/binding-android-arm-eabi": ["@oxc-resolver/binding-android-arm-eabi@11.13.0", "", { "os": "android", "cpu": "arm" }, "sha512-lqaFg5bavNdDoRuQywS66hRk4M12m4kyT3cFpIXfFy6OpobOBeo6R+vJIXl3XRzCmDK58haIYfqTP3KBb3QFgQ=="],
|
"@oxc-resolver/binding-android-arm-eabi": ["@oxc-resolver/binding-android-arm-eabi@11.13.0", "", { "os": "android", "cpu": "arm" }, "sha512-lqaFg5bavNdDoRuQywS66hRk4M12m4kyT3cFpIXfFy6OpobOBeo6R+vJIXl3XRzCmDK58haIYfqTP3KBb3QFgQ=="],
|
||||||
|
|
||||||
"@oxc-resolver/binding-android-arm64": ["@oxc-resolver/binding-android-arm64@11.13.0", "", { "os": "android", "cpu": "arm64" }, "sha512-oLjhpGMKOT8lsqdof2tNSeb4tOi7zAGJHbGBe7pB/75mSDshs/7YbHG+zm35cwecQTBTXf9Ok4/gIbzX3YaRpw=="],
|
"@oxc-resolver/binding-android-arm64": ["@oxc-resolver/binding-android-arm64@11.13.0", "", { "os": "android", "cpu": "arm64" }, "sha512-oLjhpGMKOT8lsqdof2tNSeb4tOi7zAGJHbGBe7pB/75mSDshs/7YbHG+zm35cwecQTBTXf9Ok4/gIbzX3YaRpw=="],
|
||||||
|
|
@ -525,6 +478,36 @@
|
||||||
|
|
||||||
"@reteps/dockerfmt": ["@reteps/dockerfmt@0.3.6", "", {}, "sha512-Tb5wIMvBf/nLejTQ61krK644/CEMB/cpiaIFXqGApfGqO3GwcR3qnI0DbmkFVCl2OyEp8LnLX3EkucoL0+tbFg=="],
|
"@reteps/dockerfmt": ["@reteps/dockerfmt@0.3.6", "", {}, "sha512-Tb5wIMvBf/nLejTQ61krK644/CEMB/cpiaIFXqGApfGqO3GwcR3qnI0DbmkFVCl2OyEp8LnLX3EkucoL0+tbFg=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.45.tgz", { "os": "android", "cpu": "arm64" }, "sha512-bfgKYhFiXJALeA/riil908+2vlyWGdwa7Ju5S+JgWZYdR4jtiPOGdM6WLfso1dojCh+4ZWeiTwPeV9IKQEX+4g=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.45.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-xjCv4CRVsSnnIxTuyH1RDJl5OEQ1c9JYOwfDAHddjJDxCw46ZX9q80+xq7Eok7KC4bRSZudMJllkvOKv0T9SeA=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.45.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-ddcO9TD3D/CLUa/l8GO8LHzBOaZqWg5ClMy3jICoxwCuoz47h9dtqPsIeTiB6yR501LQTeDsjA4lIFd7u3Ljfw=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.45.tgz", { "os": "freebsd", "cpu": "x64" }, "sha512-MBTWdrzW9w+UMYDUvnEuh0pQvLENkl2Sis15fHTfHVW7ClbGuez+RWopZudIDEGkpZXdeI4CkRXk+vdIIebrmg=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.45.tgz", { "os": "linux", "cpu": "arm" }, "sha512-4YgoCFiki1HR6oSg+GxxfzfnVCesQxLF1LEnw9uXS/MpBmuog0EOO2rYfy69rWP4tFZL9IWp6KEfGZLrZ7aUog=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.45.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-LE1gjAwQRrbCOorJJ7LFr10s5vqYf5a00V5Ea9wXcT2+56n5YosJkcp8eQ12FxRBv2YX8dsdQJb+ZTtYJwb6XQ=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.45.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-tdy8ThO/fPp40B81v0YK3QC+KODOmzJzSUOO37DinQxzlTJ026gqUSOM8tzlVixRbQJltgVDCTYF8HNPRErQTA=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.45.tgz", { "os": "linux", "cpu": "x64" }, "sha512-lS082ROBWdmOyVY/0YB3JmsiClaWoxvC+dA8/rbhyB9VLkvVEaihLEOr4CYmrMse151C4+S6hCw6oa1iewox7g=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.45.tgz", { "os": "linux", "cpu": "x64" }, "sha512-Hi73aYY0cBkr1/SvNQqH8Cd+rSV6S9RB5izCv0ySBcRnd/Wfn5plguUoGYwBnhHgFbh6cPw9m2dUVBR6BG1gxA=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.45.tgz", { "os": "none", "cpu": "arm64" }, "sha512-fljEqbO7RHHogNDxYtTzr+GNjlfOx21RUyGmF+NrkebZ8emYYiIqzPxsaMZuRx0rgZmVmliOzEp86/CQFDKhJQ=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.45.tgz", { "dependencies": { "@napi-rs/wasm-runtime": "^1.0.7" }, "cpu": "none" }, "sha512-ZJDB7lkuZE9XUnWQSYrBObZxczut+8FZ5pdanm8nNS1DAo8zsrPuvGwn+U3fwU98WaiFsNrA4XHngesCGr8tEQ=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.45.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-zyzAjItHPUmxg6Z8SyRhLdXlJn3/D9KL5b9mObUrBHhWS/GwRH4665xCiFqeuktAhhWutqfc+rOV2LjK4VYQGQ=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-win32-ia32-msvc": ["@rolldown/binding-win32-ia32-msvc@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.45.tgz", { "os": "win32", "cpu": "ia32" }, "sha512-wODcGzlfxqS6D7BR0srkJk3drPwXYLu7jPHN27ce2c4PUnVVmJnp9mJzUQGT4LpmHmmVdMZ+P6hKvyTGBzc1CA=="],
|
||||||
|
|
||||||
|
"@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-beta.45", "http://localhost:4873/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.45.tgz", { "os": "win32", "cpu": "x64" }, "sha512-wiU40G1nQo9rtfvF9jLbl79lUgjfaD/LTyUEw2Wg/gdF5OhjzpKMVugZQngO+RNdwYaNj+Fs+kWBWfp4VXPMHA=="],
|
||||||
|
|
||||||
|
"@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-beta.45", "http://localhost:4873/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.45.tgz", {}, "sha512-Le9ulGCrD8ggInzWw/k2J8QcbPz7eGIOWqfJ2L+1R0Opm7n6J37s2hiDWlh6LJN0Lk9L5sUzMvRHKW7UxBZsQA=="],
|
||||||
|
|
||||||
"@rollup/plugin-inject": ["@rollup/plugin-inject@5.0.5", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg=="],
|
"@rollup/plugin-inject": ["@rollup/plugin-inject@5.0.5", "", { "dependencies": { "@rollup/pluginutils": "^5.0.1", "estree-walker": "^2.0.2", "magic-string": "^0.30.3" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg=="],
|
||||||
|
|
||||||
"@rollup/pluginutils": ["@rollup/pluginutils@5.2.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw=="],
|
"@rollup/pluginutils": ["@rollup/pluginutils@5.2.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw=="],
|
||||||
|
|
@ -571,15 +554,15 @@
|
||||||
|
|
||||||
"@sec-ant/readable-stream": ["@sec-ant/readable-stream@0.4.1", "", {}, "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg=="],
|
"@sec-ant/readable-stream": ["@sec-ant/readable-stream@0.4.1", "", {}, "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg=="],
|
||||||
|
|
||||||
"@sentry-internal/browser-utils": ["@sentry-internal/browser-utils@9.46.0", "", { "dependencies": { "@sentry/core": "9.46.0" } }, "sha512-Q0CeHym9wysku8mYkORXmhtlBE0IrafAI+NiPSqxOBKXGOCWKVCvowHuAF56GwPFic2rSrRnub5fWYv7T1jfEQ=="],
|
"@sentry-internal/browser-utils": ["@sentry-internal/browser-utils@10.22.0", "http://localhost:4873/@sentry-internal/browser-utils/-/browser-utils-10.22.0.tgz", { "dependencies": { "@sentry/core": "10.22.0" } }, "sha512-BpJoLZEyJr7ORzkCrIjxRTnFWwO1mJNICVh3B9g5d9245niGT4OJvRozmLz89WgJkZFHWu84ls6Xfq5b/3tGFQ=="],
|
||||||
|
|
||||||
"@sentry-internal/feedback": ["@sentry-internal/feedback@9.46.0", "", { "dependencies": { "@sentry/core": "9.46.0" } }, "sha512-KLRy3OolDkGdPItQ3obtBU2RqDt9+KE8z7r7Gsu7c6A6A89m8ZVlrxee3hPQt6qp0YY0P8WazpedU3DYTtaT8w=="],
|
"@sentry-internal/feedback": ["@sentry-internal/feedback@10.22.0", "http://localhost:4873/@sentry-internal/feedback/-/feedback-10.22.0.tgz", { "dependencies": { "@sentry/core": "10.22.0" } }, "sha512-zXySOin/gGHPV+yKaHqjN9YZ7psEJwzLn8PzCLeo+4REzF1eQwbYZIgOxJFD32z8s3nZiABSWFM/n1CvVfMEsQ=="],
|
||||||
|
|
||||||
"@sentry-internal/replay": ["@sentry-internal/replay@9.46.0", "", { "dependencies": { "@sentry-internal/browser-utils": "9.46.0", "@sentry/core": "9.46.0" } }, "sha512-+8JUblxSSnN0FXcmOewbN+wIc1dt6/zaSeAvt2xshrfrLooVullcGsuLAiPhY0d/e++Fk06q1SAl9g4V0V13gg=="],
|
"@sentry-internal/replay": ["@sentry-internal/replay@10.22.0", "http://localhost:4873/@sentry-internal/replay/-/replay-10.22.0.tgz", { "dependencies": { "@sentry-internal/browser-utils": "10.22.0", "@sentry/core": "10.22.0" } }, "sha512-JNE4kHAQSG4/V+J+Zog3vKBWgOe9H33ol/MEU1RuLM/4I+uLf4mTetwnS9ilpnnW/Z/gQYfA+R3CiMrZtqTivw=="],
|
||||||
|
|
||||||
"@sentry-internal/replay-canvas": ["@sentry-internal/replay-canvas@9.46.0", "", { "dependencies": { "@sentry-internal/replay": "9.46.0", "@sentry/core": "9.46.0" } }, "sha512-QcBjrdRWFJrrrjbmrr2bbrp2R9RYj1KMEbhHNT2Lm1XplIQw+tULEKOHxNtkUFSLR1RNje7JQbxhzM1j95FxVQ=="],
|
"@sentry-internal/replay-canvas": ["@sentry-internal/replay-canvas@10.22.0", "http://localhost:4873/@sentry-internal/replay-canvas/-/replay-canvas-10.22.0.tgz", { "dependencies": { "@sentry-internal/replay": "10.22.0", "@sentry/core": "10.22.0" } }, "sha512-DE4JNUskJg+O+wFq42W5gAa/99aD5k7TfGOwABxvnzFv8vkKA7pqXwPbFFPzypdKIkln+df7RmbnDwQRNg6/lA=="],
|
||||||
|
|
||||||
"@sentry/browser": ["@sentry/browser@9.46.0", "", { "dependencies": { "@sentry-internal/browser-utils": "9.46.0", "@sentry-internal/feedback": "9.46.0", "@sentry-internal/replay": "9.46.0", "@sentry-internal/replay-canvas": "9.46.0", "@sentry/core": "9.46.0" } }, "sha512-NOnCTQCM0NFuwbyt4DYWDNO2zOTj1mCf43hJqGDFb1XM9F++7zAmSNnCx4UrEoBTiFOy40McJwBBk9D1blSktA=="],
|
"@sentry/browser": ["@sentry/browser@10.22.0", "http://localhost:4873/@sentry/browser/-/browser-10.22.0.tgz", { "dependencies": { "@sentry-internal/browser-utils": "10.22.0", "@sentry-internal/feedback": "10.22.0", "@sentry-internal/replay": "10.22.0", "@sentry-internal/replay-canvas": "10.22.0", "@sentry/core": "10.22.0" } }, "sha512-wD2XqN+yeBpQFfdPo6+wlKDMyyuDctVGzZWE4qTPntICKQuwMdAfeq5Ma89ad0Dw+bzG9UijGeyuJQlswF87Mw=="],
|
||||||
|
|
||||||
"@sentry/core": ["@sentry/core@9.46.0", "", {}, "sha512-it7JMFqxVproAgEtbLgCVBYtQ9fIb+Bu0JD+cEplTN/Ukpe6GaolyYib5geZqslVxhp2sQgT+58aGvfd/k0N8Q=="],
|
"@sentry/core": ["@sentry/core@9.46.0", "", {}, "sha512-it7JMFqxVproAgEtbLgCVBYtQ9fIb+Bu0JD+cEplTN/Ukpe6GaolyYib5geZqslVxhp2sQgT+58aGvfd/k0N8Q=="],
|
||||||
|
|
||||||
|
|
@ -909,8 +892,6 @@
|
||||||
|
|
||||||
"es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
|
"es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
|
||||||
|
|
||||||
"esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="],
|
|
||||||
|
|
||||||
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
|
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
|
||||||
|
|
||||||
"escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],
|
"escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="],
|
||||||
|
|
@ -1133,12 +1114,16 @@
|
||||||
|
|
||||||
"kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="],
|
"kind-of": ["kind-of@6.0.3", "", {}, "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="],
|
||||||
|
|
||||||
"knip": ["knip@5.67.0", "", { "dependencies": { "@nodelib/fs.walk": "^1.2.3", "fast-glob": "^3.3.3", "formatly": "^0.3.0", "jiti": "^2.6.0", "js-yaml": "^4.1.0", "minimist": "^1.2.8", "oxc-resolver": "^11.12.0", "picocolors": "^1.1.1", "picomatch": "^4.0.1", "smol-toml": "^1.4.1", "strip-json-comments": "5.0.2", "zod": "^4.1.11" }, "peerDependencies": { "@types/node": ">=18", "typescript": ">=5.0.4 <7" }, "bin": { "knip": "bin/knip.js", "knip-bun": "bin/knip-bun.js" } }, "sha512-zVa7bUx4dPN2xqxCidz48C+74io9l43YQ6YjxBeMcYjIRjOZ8UTbB3FZhfrb+71QETxacYlfGCg0MPMpXZUKQw=="],
|
"knip": ["knip@5.67.1", "http://localhost:4873/knip/-/knip-5.67.1.tgz", { "dependencies": { "@nodelib/fs.walk": "^1.2.3", "fast-glob": "^3.3.3", "formatly": "^0.3.0", "jiti": "^2.6.0", "js-yaml": "^4.1.0", "minimist": "^1.2.8", "oxc-resolver": "^11.12.0", "picocolors": "^1.1.1", "picomatch": "^4.0.1", "smol-toml": "^1.4.1", "strip-json-comments": "5.0.2", "zod": "^4.1.11" }, "peerDependencies": { "@types/node": ">=18", "typescript": ">=5.0.4 <7" }, "bin": { "knip": "bin/knip.js", "knip-bun": "bin/knip-bun.js" } }, "sha512-U5AtiqnZAbWIxihs5wxFFEZlpKhzRLWlXSGwA79na7wvlX+MsE0rSuU6If+kl/A4o3TDzTtKGZ4SjeLyWkNR/A=="],
|
||||||
|
|
||||||
"known-css-properties": ["known-css-properties@0.37.0", "", {}, "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ=="],
|
"known-css-properties": ["known-css-properties@0.37.0", "", {}, "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ=="],
|
||||||
|
|
||||||
"levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="],
|
"levn": ["levn@0.4.1", "", { "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" } }, "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="],
|
||||||
|
|
||||||
|
"lightningcss": ["lightningcss@1.30.2", "http://localhost:4873/lightningcss/-/lightningcss-1.30.2.tgz", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.30.2", "lightningcss-darwin-arm64": "1.30.2", "lightningcss-darwin-x64": "1.30.2", "lightningcss-freebsd-x64": "1.30.2", "lightningcss-linux-arm-gnueabihf": "1.30.2", "lightningcss-linux-arm64-gnu": "1.30.2", "lightningcss-linux-arm64-musl": "1.30.2", "lightningcss-linux-x64-gnu": "1.30.2", "lightningcss-linux-x64-musl": "1.30.2", "lightningcss-win32-arm64-msvc": "1.30.2", "lightningcss-win32-x64-msvc": "1.30.2" } }, "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ=="],
|
||||||
|
|
||||||
|
"lightningcss-android-arm64": ["lightningcss-android-arm64@1.30.2", "http://localhost:4873/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", { "os": "android", "cpu": "arm64" }, "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A=="],
|
||||||
|
|
||||||
"lightningcss-cli": ["lightningcss-cli@1.30.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-cli-android-arm64": "1.30.2", "lightningcss-cli-darwin-arm64": "1.30.2", "lightningcss-cli-darwin-x64": "1.30.2", "lightningcss-cli-freebsd-x64": "1.30.2", "lightningcss-cli-linux-arm-gnueabihf": "1.30.2", "lightningcss-cli-linux-arm64-gnu": "1.30.2", "lightningcss-cli-linux-arm64-musl": "1.30.2", "lightningcss-cli-linux-x64-gnu": "1.30.2", "lightningcss-cli-linux-x64-musl": "1.30.2", "lightningcss-cli-win32-arm64-msvc": "1.30.2", "lightningcss-cli-win32-x64-msvc": "1.30.2" }, "bin": { "lightningcss": "lightningcss" } }, "sha512-vTm/775SqvQ74T0y4twiqjopXV6SnAFguuRpnbKUE9aXxqJGxWJoHS77ZRkJj3dKmnD61ejOawg3FBiTT8/3Tw=="],
|
"lightningcss-cli": ["lightningcss-cli@1.30.2", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-cli-android-arm64": "1.30.2", "lightningcss-cli-darwin-arm64": "1.30.2", "lightningcss-cli-darwin-x64": "1.30.2", "lightningcss-cli-freebsd-x64": "1.30.2", "lightningcss-cli-linux-arm-gnueabihf": "1.30.2", "lightningcss-cli-linux-arm64-gnu": "1.30.2", "lightningcss-cli-linux-arm64-musl": "1.30.2", "lightningcss-cli-linux-x64-gnu": "1.30.2", "lightningcss-cli-linux-x64-musl": "1.30.2", "lightningcss-cli-win32-arm64-msvc": "1.30.2", "lightningcss-cli-win32-x64-msvc": "1.30.2" }, "bin": { "lightningcss": "lightningcss" } }, "sha512-vTm/775SqvQ74T0y4twiqjopXV6SnAFguuRpnbKUE9aXxqJGxWJoHS77ZRkJj3dKmnD61ejOawg3FBiTT8/3Tw=="],
|
||||||
|
|
||||||
"lightningcss-cli-android-arm64": ["lightningcss-cli-android-arm64@1.30.2", "", { "os": "android", "cpu": "arm64" }, "sha512-CcntRK9yNjFRiZKwW9m4sf5WYYNOGxlD4ROymyIb+KPbsrEBAZSaknoUM1aIhuhvB/TUTtVmPKvt/Zu0LeSR7g=="],
|
"lightningcss-cli-android-arm64": ["lightningcss-cli-android-arm64@1.30.2", "", { "os": "android", "cpu": "arm64" }, "sha512-CcntRK9yNjFRiZKwW9m4sf5WYYNOGxlD4ROymyIb+KPbsrEBAZSaknoUM1aIhuhvB/TUTtVmPKvt/Zu0LeSR7g=="],
|
||||||
|
|
@ -1163,6 +1148,26 @@
|
||||||
|
|
||||||
"lightningcss-cli-win32-x64-msvc": ["lightningcss-cli-win32-x64-msvc@1.30.2", "", { "os": "win32", "cpu": "x64" }, "sha512-5VUIS1Dcbkcy2SDr7vBlKfwpSx2BUlZwmvoRVWA+OkkLsQhVUtLUKheJJXsOFruBn9uV8FH8KPLkvTJzuGFLyQ=="],
|
"lightningcss-cli-win32-x64-msvc": ["lightningcss-cli-win32-x64-msvc@1.30.2", "", { "os": "win32", "cpu": "x64" }, "sha512-5VUIS1Dcbkcy2SDr7vBlKfwpSx2BUlZwmvoRVWA+OkkLsQhVUtLUKheJJXsOFruBn9uV8FH8KPLkvTJzuGFLyQ=="],
|
||||||
|
|
||||||
|
"lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.30.2", "http://localhost:4873/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", { "os": "darwin", "cpu": "arm64" }, "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA=="],
|
||||||
|
|
||||||
|
"lightningcss-darwin-x64": ["lightningcss-darwin-x64@1.30.2", "http://localhost:4873/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", { "os": "darwin", "cpu": "x64" }, "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ=="],
|
||||||
|
|
||||||
|
"lightningcss-freebsd-x64": ["lightningcss-freebsd-x64@1.30.2", "http://localhost:4873/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", { "os": "freebsd", "cpu": "x64" }, "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA=="],
|
||||||
|
|
||||||
|
"lightningcss-linux-arm-gnueabihf": ["lightningcss-linux-arm-gnueabihf@1.30.2", "http://localhost:4873/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", { "os": "linux", "cpu": "arm" }, "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA=="],
|
||||||
|
|
||||||
|
"lightningcss-linux-arm64-gnu": ["lightningcss-linux-arm64-gnu@1.30.2", "http://localhost:4873/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A=="],
|
||||||
|
|
||||||
|
"lightningcss-linux-arm64-musl": ["lightningcss-linux-arm64-musl@1.30.2", "http://localhost:4873/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", { "os": "linux", "cpu": "arm64" }, "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA=="],
|
||||||
|
|
||||||
|
"lightningcss-linux-x64-gnu": ["lightningcss-linux-x64-gnu@1.30.2", "http://localhost:4873/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", { "os": "linux", "cpu": "x64" }, "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w=="],
|
||||||
|
|
||||||
|
"lightningcss-linux-x64-musl": ["lightningcss-linux-x64-musl@1.30.2", "http://localhost:4873/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", { "os": "linux", "cpu": "x64" }, "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA=="],
|
||||||
|
|
||||||
|
"lightningcss-win32-arm64-msvc": ["lightningcss-win32-arm64-msvc@1.30.2", "http://localhost:4873/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", { "os": "win32", "cpu": "arm64" }, "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ=="],
|
||||||
|
|
||||||
|
"lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.30.2", "http://localhost:4873/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", { "os": "win32", "cpu": "x64" }, "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw=="],
|
||||||
|
|
||||||
"lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="],
|
"lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="],
|
||||||
|
|
||||||
"linguist-languages": ["linguist-languages@8.2.0", "", {}, "sha512-KCUUH9x97QWYU0SXOCGxUrZR6cSfuQrMhABB7L/0I8N0LXOeaKe7+RZs7FAwvWCV2qKfZ4Wv1luLq4OfMezSJg=="],
|
"linguist-languages": ["linguist-languages@8.2.0", "", {}, "sha512-KCUUH9x97QWYU0SXOCGxUrZR6cSfuQrMhABB7L/0I8N0LXOeaKe7+RZs7FAwvWCV2qKfZ4Wv1luLq4OfMezSJg=="],
|
||||||
|
|
@ -1387,6 +1392,8 @@
|
||||||
|
|
||||||
"ripemd160": ["ripemd160@2.0.2", "", { "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA=="],
|
"ripemd160": ["ripemd160@2.0.2", "", { "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA=="],
|
||||||
|
|
||||||
|
"rolldown": ["rolldown@1.0.0-beta.45", "http://localhost:4873/rolldown/-/rolldown-1.0.0-beta.45.tgz", { "dependencies": { "@oxc-project/types": "=0.95.0", "@rolldown/pluginutils": "1.0.0-beta.45" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-beta.45", "@rolldown/binding-darwin-arm64": "1.0.0-beta.45", "@rolldown/binding-darwin-x64": "1.0.0-beta.45", "@rolldown/binding-freebsd-x64": "1.0.0-beta.45", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.45", "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.45", "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.45", "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.45", "@rolldown/binding-linux-x64-musl": "1.0.0-beta.45", "@rolldown/binding-openharmony-arm64": "1.0.0-beta.45", "@rolldown/binding-wasm32-wasi": "1.0.0-beta.45", "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.45", "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.45", "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.45" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-iMmuD72XXLf26Tqrv1cryNYLX6NNPLhZ3AmNkSf8+xda0H+yijjGJ+wVT9UdBUHOpKzq9RjKtQKRCWoEKQQBZQ=="],
|
||||||
|
|
||||||
"rollup": ["rollup@4.44.0", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.44.0", "@rollup/rollup-android-arm64": "4.44.0", "@rollup/rollup-darwin-arm64": "4.44.0", "@rollup/rollup-darwin-x64": "4.44.0", "@rollup/rollup-freebsd-arm64": "4.44.0", "@rollup/rollup-freebsd-x64": "4.44.0", "@rollup/rollup-linux-arm-gnueabihf": "4.44.0", "@rollup/rollup-linux-arm-musleabihf": "4.44.0", "@rollup/rollup-linux-arm64-gnu": "4.44.0", "@rollup/rollup-linux-arm64-musl": "4.44.0", "@rollup/rollup-linux-loongarch64-gnu": "4.44.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.44.0", "@rollup/rollup-linux-riscv64-gnu": "4.44.0", "@rollup/rollup-linux-riscv64-musl": "4.44.0", "@rollup/rollup-linux-s390x-gnu": "4.44.0", "@rollup/rollup-linux-x64-gnu": "4.44.0", "@rollup/rollup-linux-x64-musl": "4.44.0", "@rollup/rollup-win32-arm64-msvc": "4.44.0", "@rollup/rollup-win32-ia32-msvc": "4.44.0", "@rollup/rollup-win32-x64-msvc": "4.44.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA=="],
|
"rollup": ["rollup@4.44.0", "", { "dependencies": { "@types/estree": "1.0.8" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.44.0", "@rollup/rollup-android-arm64": "4.44.0", "@rollup/rollup-darwin-arm64": "4.44.0", "@rollup/rollup-darwin-x64": "4.44.0", "@rollup/rollup-freebsd-arm64": "4.44.0", "@rollup/rollup-freebsd-x64": "4.44.0", "@rollup/rollup-linux-arm-gnueabihf": "4.44.0", "@rollup/rollup-linux-arm-musleabihf": "4.44.0", "@rollup/rollup-linux-arm64-gnu": "4.44.0", "@rollup/rollup-linux-arm64-musl": "4.44.0", "@rollup/rollup-linux-loongarch64-gnu": "4.44.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.44.0", "@rollup/rollup-linux-riscv64-gnu": "4.44.0", "@rollup/rollup-linux-riscv64-musl": "4.44.0", "@rollup/rollup-linux-s390x-gnu": "4.44.0", "@rollup/rollup-linux-x64-gnu": "4.44.0", "@rollup/rollup-linux-x64-musl": "4.44.0", "@rollup/rollup-win32-arm64-msvc": "4.44.0", "@rollup/rollup-win32-ia32-msvc": "4.44.0", "@rollup/rollup-win32-x64-msvc": "4.44.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA=="],
|
||||||
|
|
||||||
"run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
|
"run-parallel": ["run-parallel@1.2.0", "", { "dependencies": { "queue-microtask": "^1.2.2" } }, "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA=="],
|
||||||
|
|
@ -1609,7 +1616,7 @@
|
||||||
|
|
||||||
"varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="],
|
"varint": ["varint@6.0.0", "", {}, "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="],
|
||||||
|
|
||||||
"vite": ["vite@7.1.12", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-ZWyE8YXEXqJrrSLvYgrRP7p62OziLW7xI5HYGWFzOvupfAlrLvURSzv/FyGyy0eidogEM3ujU+kUG1zuHgb6Ug=="],
|
"vite": ["rolldown-vite@7.1.20", "http://localhost:4873/rolldown-vite/-/rolldown-vite-7.1.20.tgz", { "dependencies": { "@oxc-project/runtime": "0.95.0", "fdir": "^6.5.0", "lightningcss": "^1.30.2", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rolldown": "1.0.0-beta.45", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "esbuild": "^0.25.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-iXo6JzhBnNl+MY5Wky2Qr4RnB1gLJ3798YUMC3uBXSjCDM/bV+ALcnm5M23eOy9Nldi18aUioLpTB/PtqvwSZQ=="],
|
||||||
|
|
||||||
"vite-plugin-compression2": ["vite-plugin-compression2@2.3.1", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0", "tar-mini": "^0.2.0" } }, "sha512-bnhLTsurtvOiiP6EMISIKVsOMCeTAjE6FJbyqQus3W4mtAxF7pCuC4puUIAiCgNs98tOCpqo6GIXJXTLufzIaw=="],
|
"vite-plugin-compression2": ["vite-plugin-compression2@2.3.1", "", { "dependencies": { "@rollup/pluginutils": "^5.1.0", "tar-mini": "^0.2.0" } }, "sha512-bnhLTsurtvOiiP6EMISIKVsOMCeTAjE6FJbyqQus3W4mtAxF7pCuC4puUIAiCgNs98tOCpqo6GIXJXTLufzIaw=="],
|
||||||
|
|
||||||
|
|
@ -1741,6 +1748,16 @@
|
||||||
|
|
||||||
"@rollup/pluginutils/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="],
|
"@rollup/pluginutils/picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="],
|
||||||
|
|
||||||
|
"@sentry-internal/browser-utils/@sentry/core": ["@sentry/core@10.22.0", "http://localhost:4873/@sentry/core/-/core-10.22.0.tgz", {}, "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw=="],
|
||||||
|
|
||||||
|
"@sentry-internal/feedback/@sentry/core": ["@sentry/core@10.22.0", "http://localhost:4873/@sentry/core/-/core-10.22.0.tgz", {}, "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw=="],
|
||||||
|
|
||||||
|
"@sentry-internal/replay/@sentry/core": ["@sentry/core@10.22.0", "http://localhost:4873/@sentry/core/-/core-10.22.0.tgz", {}, "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw=="],
|
||||||
|
|
||||||
|
"@sentry-internal/replay-canvas/@sentry/core": ["@sentry/core@10.22.0", "http://localhost:4873/@sentry/core/-/core-10.22.0.tgz", {}, "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw=="],
|
||||||
|
|
||||||
|
"@sentry/browser/@sentry/core": ["@sentry/core@10.22.0", "http://localhost:4873/@sentry/core/-/core-10.22.0.tgz", {}, "sha512-V1oeHbrOKzxadsCmgtPku3v3Emo/Bpb3VSuKmlLrQefiHX98MWtjJ3XDGfduzD5/dCdh0r/OOLwjcmrO/PZ2aw=="],
|
||||||
|
|
||||||
"@stylistic/stylelint-plugin/@csstools/media-query-list-parser": ["@csstools/media-query-list-parser@3.0.1", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.1", "@csstools/css-tokenizer": "^3.0.1" } }, "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw=="],
|
"@stylistic/stylelint-plugin/@csstools/media-query-list-parser": ["@csstools/media-query-list-parser@3.0.1", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.1", "@csstools/css-tokenizer": "^3.0.1" } }, "sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw=="],
|
||||||
|
|
||||||
"@stylistic/stylelint-plugin/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
|
"@stylistic/stylelint-plugin/postcss-selector-parser": ["postcss-selector-parser@6.1.2", "", { "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg=="],
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,6 @@
|
||||||
"wpackagist-plugin/force-regenerate-thumbnails": "^2.2.1",
|
"wpackagist-plugin/force-regenerate-thumbnails": "^2.2.1",
|
||||||
"wpackagist-plugin/query-monitor": "^3.17.0",
|
"wpackagist-plugin/query-monitor": "^3.17.0",
|
||||||
"wpackagist-plugin/redis-cache": "^2.5.4",
|
"wpackagist-plugin/redis-cache": "^2.5.4",
|
||||||
"wpackagist-plugin/wc-multishipping": "^2.5.4",
|
|
||||||
"wpackagist-plugin/woo-preview-emails": "^2.2.13",
|
"wpackagist-plugin/woo-preview-emails": "^2.2.13",
|
||||||
"wpackagist-plugin/woocommerce": "^10",
|
"wpackagist-plugin/woocommerce": "^10",
|
||||||
"wpackagist-plugin/wp-mail-logging": "^1.13.1",
|
"wpackagist-plugin/wp-mail-logging": "^1.13.1",
|
||||||
|
|
@ -53,7 +52,7 @@
|
||||||
"phpstan/extension-installer": "^1.4.3",
|
"phpstan/extension-installer": "^1.4.3",
|
||||||
"phpstan/phpstan": "^2.0.3",
|
"phpstan/phpstan": "^2.0.3",
|
||||||
"roave/security-advisories": "dev-latest",
|
"roave/security-advisories": "dev-latest",
|
||||||
"squizlabs/php_codesniffer": "^3.11.1",
|
"squizlabs/php_codesniffer": "^4",
|
||||||
"szepeviktor/phpstan-wordpress": "2.x-dev"
|
"szepeviktor/phpstan-wordpress": "2.x-dev"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
|
|
|
||||||
41
composer.lock
generated
41
composer.lock
generated
|
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "a09d318994212b9f48dfad3bd997211b",
|
"content-hash": "c56a2e0f435570c60a5c22400c9e46ad",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "brick/math",
|
"name": "brick/math",
|
||||||
|
|
@ -3564,24 +3564,6 @@
|
||||||
"type": "wordpress-plugin",
|
"type": "wordpress-plugin",
|
||||||
"homepage": "https://wordpress.org/plugins/redis-cache/"
|
"homepage": "https://wordpress.org/plugins/redis-cache/"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "wpackagist-plugin/wc-multishipping",
|
|
||||||
"version": "2.5.9",
|
|
||||||
"source": {
|
|
||||||
"type": "svn",
|
|
||||||
"url": "https://plugins.svn.wordpress.org/wc-multishipping/",
|
|
||||||
"reference": "tags/2.5.9"
|
|
||||||
},
|
|
||||||
"dist": {
|
|
||||||
"type": "zip",
|
|
||||||
"url": "https://downloads.wordpress.org/plugin/wc-multishipping.2.5.9.zip"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"composer/installers": "^1.0 || ^2.0"
|
|
||||||
},
|
|
||||||
"type": "wordpress-plugin",
|
|
||||||
"homepage": "https://wordpress.org/plugins/wc-multishipping/"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "wpackagist-plugin/woo-preview-emails",
|
"name": "wpackagist-plugin/woo-preview-emails",
|
||||||
"version": "2.2.14",
|
"version": "2.2.14",
|
||||||
|
|
@ -4837,37 +4819,32 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "squizlabs/php_codesniffer",
|
"name": "squizlabs/php_codesniffer",
|
||||||
"version": "3.13.4",
|
"version": "4.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
|
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
|
||||||
"reference": "ad545ea9c1b7d270ce0fc9cbfb884161cd706119"
|
"reference": "06113cfdaf117fc2165f9cd040bd0f17fcd5242d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ad545ea9c1b7d270ce0fc9cbfb884161cd706119",
|
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/06113cfdaf117fc2165f9cd040bd0f17fcd5242d",
|
||||||
"reference": "ad545ea9c1b7d270ce0fc9cbfb884161cd706119",
|
"reference": "06113cfdaf117fc2165f9cd040bd0f17fcd5242d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-simplexml": "*",
|
"ext-simplexml": "*",
|
||||||
"ext-tokenizer": "*",
|
"ext-tokenizer": "*",
|
||||||
"ext-xmlwriter": "*",
|
"ext-xmlwriter": "*",
|
||||||
"php": ">=5.4.0"
|
"php": ">=7.2.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
|
"phpunit/phpunit": "^8.4.0 || ^9.3.4 || ^10.5.32 || 11.3.3 - 11.5.28 || ^11.5.31"
|
||||||
},
|
},
|
||||||
"bin": [
|
"bin": [
|
||||||
"bin/phpcbf",
|
"bin/phpcbf",
|
||||||
"bin/phpcs"
|
"bin/phpcs"
|
||||||
],
|
],
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "3.x-dev"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
"license": [
|
"license": [
|
||||||
"BSD-3-Clause"
|
"BSD-3-Clause"
|
||||||
|
|
@ -4886,7 +4863,7 @@
|
||||||
"homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
|
"homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
|
"description": "PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.",
|
||||||
"homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
|
"homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"phpcs",
|
"phpcs",
|
||||||
|
|
@ -4917,7 +4894,7 @@
|
||||||
"type": "thanks_dev"
|
"type": "thanks_dev"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-09-05T05:47:09+00:00"
|
"time": "2025-09-15T11:28:58+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "szepeviktor/phpstan-wordpress",
|
"name": "szepeviktor/phpstan-wordpress",
|
||||||
|
|
|
||||||
32
justfile
32
justfile
|
|
@ -24,7 +24,7 @@ update:
|
||||||
[group('qualité')]
|
[group('qualité')]
|
||||||
format:
|
format:
|
||||||
@echo "Formatage de l'ensemble du code avec Prettier et dprint."
|
@echo "Formatage de l'ensemble du code avec Prettier et dprint."
|
||||||
bunx prettier \
|
bun prettier \
|
||||||
--cache \
|
--cache \
|
||||||
--cache-location "{{ cacheFolder }}/{{ prettierCacheFile }}" \
|
--cache-location "{{ cacheFolder }}/{{ prettierCacheFile }}" \
|
||||||
--ignore-unknown \
|
--ignore-unknown \
|
||||||
|
|
@ -35,40 +35,40 @@ format:
|
||||||
# Compile, minifie et optimise Sass vers CSS.
|
# Compile, minifie et optimise Sass vers CSS.
|
||||||
[group('css')]
|
[group('css')]
|
||||||
build-css:
|
build-css:
|
||||||
@bunx sass \
|
@bun sass \
|
||||||
--update \
|
--update \
|
||||||
"web/app/themes/haiku-atelier-2024/src/sass":"web/app/themes/haiku-atelier-2024/assets/css"
|
"web/app/themes/haiku-atelier-2024/src/sass":"web/app/themes/haiku-atelier-2024/assets/css"
|
||||||
@bunx lightningcss \
|
@bun lightningcss \
|
||||||
--bundle \
|
--bundle \
|
||||||
--minify \
|
--minify \
|
||||||
--output-file "web/app/themes/haiku-atelier-2024/assets/css/main.min.css" \
|
--output-file "web/app/themes/haiku-atelier-2024/assets/css/main.min.css" \
|
||||||
-- "web/app/themes/haiku-atelier-2024/assets/css/main.css"
|
-- "web/app/themes/haiku-atelier-2024/assets/css/main.css"
|
||||||
@bunx lightningcss \
|
@bun lightningcss \
|
||||||
--bundle \
|
--bundle \
|
||||||
--minify \
|
--minify \
|
||||||
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-panier.min.css" \
|
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-panier.min.css" \
|
||||||
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-panier.css"
|
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-panier.css"
|
||||||
@bunx lightningcss \
|
@bun lightningcss \
|
||||||
--bundle \
|
--bundle \
|
||||||
--minify \
|
--minify \
|
||||||
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-accueil.min.css" \
|
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-accueil.min.css" \
|
||||||
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-accueil.css"
|
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-accueil.css"
|
||||||
@bunx lightningcss \
|
@bun lightningcss \
|
||||||
--bundle \
|
--bundle \
|
||||||
--minify \
|
--minify \
|
||||||
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-boutique.min.css" \
|
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-boutique.min.css" \
|
||||||
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-boutique.css"
|
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-boutique.css"
|
||||||
@bunx lightningcss \
|
@bun lightningcss \
|
||||||
--bundle \
|
--bundle \
|
||||||
--minify \
|
--minify \
|
||||||
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.min.css" \
|
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.min.css" \
|
||||||
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.css"
|
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.css"
|
||||||
@bunx lightningcss \
|
@bun lightningcss \
|
||||||
--bundle \
|
--bundle \
|
||||||
--minify \
|
--minify \
|
||||||
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-modele-simple.min.css" \
|
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-modele-simple.min.css" \
|
||||||
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-modele-simple.css"
|
-- "web/app/themes/haiku-atelier-2024/assets/css/pages/page-modele-simple.css"
|
||||||
@bunx lightningcss \
|
@bun lightningcss \
|
||||||
--bundle \
|
--bundle \
|
||||||
--minify \
|
--minify \
|
||||||
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-succes-commande.min.css" \
|
--output-file "web/app/themes/haiku-atelier-2024/assets/css/pages/page-succes-commande.min.css" \
|
||||||
|
|
@ -83,7 +83,7 @@ watch-css:
|
||||||
# Compile TypeScript en JavaScript.
|
# Compile TypeScript en JavaScript.
|
||||||
[group('js')]
|
[group('js')]
|
||||||
build-js:
|
build-js:
|
||||||
@bunx vite build
|
@bun vite build
|
||||||
|
|
||||||
# Compile tout.
|
# Compile tout.
|
||||||
[group('css')]
|
[group('css')]
|
||||||
|
|
@ -96,27 +96,27 @@ build-all:
|
||||||
# Compile TypeScript à chaque changement de fichier.
|
# Compile TypeScript à chaque changement de fichier.
|
||||||
[group('js')]
|
[group('js')]
|
||||||
watch-js:
|
watch-js:
|
||||||
bunx vite build --watch
|
bun vite build --watch
|
||||||
|
|
||||||
# Vérifie le code TypeScript avec des analyseurs statiques.
|
# Vérifie le code TypeScript avec des analyseurs statiques.
|
||||||
[group('js')]
|
[group('js')]
|
||||||
[group('qualité')]
|
[group('qualité')]
|
||||||
lint-js:
|
lint-js:
|
||||||
-bunx eslint "web/app/themes/haiku-atelier-2024/src/scripts"
|
-bun eslint "web/app/themes/haiku-atelier-2024/src/scripts"
|
||||||
-bunx biome check --reporter=summary "web/app/themes/haiku-atelier-2024/src/scripts"
|
-bun biome check --reporter=summary "web/app/themes/haiku-atelier-2024/src/scripts"
|
||||||
-bunx oxlint "web/app/themes/haiku-atelier-2024/src/scripts"
|
-bun oxlint "web/app/themes/haiku-atelier-2024/src/scripts"
|
||||||
|
|
||||||
# Vérifie le code Sass avec Stylelint.
|
# Vérifie le code Sass avec Stylelint.
|
||||||
[group('css')]
|
[group('css')]
|
||||||
[group('qualité')]
|
[group('qualité')]
|
||||||
lint-css:
|
lint-css:
|
||||||
-bunx stylelint "web/app/themes/haiku-atelier-2024/src/sass/" --fix
|
-bun stylelint "web/app/themes/haiku-atelier-2024/src/sass/" --fix
|
||||||
|
|
||||||
# Vérifie le code TypeScript mort avec knip
|
# Vérifie le code TypeScript mort avec knip
|
||||||
[group('js')]
|
[group('js')]
|
||||||
[group('qualité')]
|
[group('qualité')]
|
||||||
lint-code-mort:
|
lint-code-mort:
|
||||||
-bunx knip
|
-bun knip
|
||||||
|
|
||||||
# Fusionne tous les changements actuels dans le commit précédent et pousse sur le répertoire distant avec Jujetsu.
|
# Fusionne tous les changements actuels dans le commit précédent et pousse sur le répertoire distant avec Jujetsu.
|
||||||
[group('vcs')]
|
[group('vcs')]
|
||||||
|
|
|
||||||
12
package.json
12
package.json
|
|
@ -7,13 +7,11 @@
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"scripts": {
|
"scripts": { "knip": "knip" },
|
||||||
"knip": "knip"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@logtape/logtape": "^1.1.2",
|
"@logtape/logtape": "^1.1.2",
|
||||||
"@mobily/ts-belt": "v4.0.0-rc.5",
|
"@mobily/ts-belt": "v4.0.0-rc.5",
|
||||||
"@sentry/browser": "^9.46.0",
|
"@sentry/browser": "^10.22.0",
|
||||||
"a11y-dialog": "^8.1.4",
|
"a11y-dialog": "^8.1.4",
|
||||||
"chalk": "^5.6.2",
|
"chalk": "^5.6.2",
|
||||||
"lit-html": "^3.3.1",
|
"lit-html": "^3.3.1",
|
||||||
|
|
@ -25,7 +23,7 @@
|
||||||
"valibot": "1.1.0"
|
"valibot": "1.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@biomejs/biome": "^2.3.2",
|
"@biomejs/biome": "^2.3.3",
|
||||||
"@cspell/dict-fr-fr": "^2.3.2",
|
"@cspell/dict-fr-fr": "^2.3.2",
|
||||||
"@eslint/js": "^9.39.0",
|
"@eslint/js": "^9.39.0",
|
||||||
"@playwright/test": "^1.56.1",
|
"@playwright/test": "^1.56.1",
|
||||||
|
|
@ -44,7 +42,7 @@
|
||||||
"eslint-plugin-perfectionist": "^4.15.1",
|
"eslint-plugin-perfectionist": "^4.15.1",
|
||||||
"fdir": "^6.5.0",
|
"fdir": "^6.5.0",
|
||||||
"globals": "^16.5.0",
|
"globals": "^16.5.0",
|
||||||
"knip": "^5.67.0",
|
"knip": "^5.67.1",
|
||||||
"lightningcss-cli": "^1.30.2",
|
"lightningcss-cli": "^1.30.2",
|
||||||
"oxlint": "^1.25.0",
|
"oxlint": "^1.25.0",
|
||||||
"picomatch": "^4.0.3",
|
"picomatch": "^4.0.3",
|
||||||
|
|
@ -61,7 +59,7 @@
|
||||||
"stylelint-plugin-logical-css": "^1.2.3",
|
"stylelint-plugin-logical-css": "^1.2.3",
|
||||||
"typescript": "5.9.3",
|
"typescript": "5.9.3",
|
||||||
"typescript-eslint": "^8.46.2",
|
"typescript-eslint": "^8.46.2",
|
||||||
"vite": "^7.1.12",
|
"vite": "npm:rolldown-vite@latest",
|
||||||
"vite-plugin-compression2": "^2.3.1",
|
"vite-plugin-compression2": "^2.3.1",
|
||||||
"vite-plugin-manifest-sri": "^0.2.0",
|
"vite-plugin-manifest-sri": "^0.2.0",
|
||||||
"vite-plugin-node-polyfills": "^0.24.0",
|
"vite-plugin-node-polyfills": "^0.24.0",
|
||||||
|
|
|
||||||
|
|
@ -44,5 +44,5 @@
|
||||||
"useUnknownInCatchVariables": true
|
"useUnknownInCatchVariables": true
|
||||||
},
|
},
|
||||||
"exclude": ["vendor", "web/app/plugins", "web/wp"],
|
"exclude": ["vendor", "web/app/plugins", "web/wp"],
|
||||||
"include": ["*.js", "lib", "web/app/themes/haiku-atelier-2024/src"]
|
"include": ["*.js", "lib", "web/app/themes/haiku-atelier-2024/src", "vite.config.ts"]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
import legacy from "@vitejs/plugin-legacy";
|
import legacy from "@vitejs/plugin-legacy";
|
||||||
import { fdir } from "fdir";
|
import { fdir, PathsOutput } from "fdir";
|
||||||
import { resolve } from "node:path";
|
import { resolve } from "node:path";
|
||||||
import process from "node:process";
|
import process from "node:process";
|
||||||
import * as v from "valibot";
|
import * as v from "valibot";
|
||||||
|
|
@ -10,7 +10,7 @@ import { nodePolyfills } from "vite-plugin-node-polyfills";
|
||||||
import valibot from "vite-plugin-valibot-env";
|
import valibot from "vite-plugin-valibot-env";
|
||||||
|
|
||||||
const SLUG_THEME = "haiku-atelier-2024";
|
const SLUG_THEME = "haiku-atelier-2024";
|
||||||
const SRC_TYPESCRIPT_PATHS = new fdir()
|
const SRC_TYPESCRIPT_PATHS: Promise<PathsOutput> = new fdir()
|
||||||
.withBasePath()
|
.withBasePath()
|
||||||
.filter((path, isDirectory) => !isDirectory && !path.endsWith("d.ts"))
|
.filter((path, isDirectory) => !isDirectory && !path.endsWith("d.ts"))
|
||||||
.withMaxDepth(0)
|
.withMaxDepth(0)
|
||||||
|
|
@ -53,6 +53,7 @@ const prodPlugins = [
|
||||||
|
|
||||||
export default defineConfig(async ({ mode }) => {
|
export default defineConfig(async ({ mode }) => {
|
||||||
const env = loadEnv(mode, process.cwd(), "VITE");
|
const env = loadEnv(mode, process.cwd(), "VITE");
|
||||||
|
console.debug(env);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
base: "/",
|
base: "/",
|
||||||
|
|
@ -66,16 +67,19 @@ export default defineConfig(async ({ mode }) => {
|
||||||
reportCompressedSize: true,
|
reportCompressedSize: true,
|
||||||
rollupOptions: {
|
rollupOptions: {
|
||||||
input: await SRC_TYPESCRIPT_PATHS,
|
input: await SRC_TYPESCRIPT_PATHS,
|
||||||
|
experimental: {
|
||||||
|
incrementalBuild: true,
|
||||||
|
nativeMagicString: true,
|
||||||
|
},
|
||||||
output: {
|
output: {
|
||||||
assetFileNames: "[name].[hash].[extname]",
|
assetFileNames: "[name].[hash].[extname]",
|
||||||
chunkFileNames: "[name].[hash].js",
|
chunkFileNames: "[name].[hash].js",
|
||||||
compact: env["VITE_MODE"] === "production",
|
|
||||||
entryFileNames: "[name].js",
|
entryFileNames: "[name].js",
|
||||||
validate: true,
|
minify: env["VITE_MODE"] === "production",
|
||||||
},
|
},
|
||||||
treeshake: true,
|
treeshake: true,
|
||||||
},
|
},
|
||||||
sourcemap: env["VITE_MODE"] === "production",
|
sourcemap: env["VITE_MODE"] === "development",
|
||||||
target: "es2020",
|
target: "es2020",
|
||||||
write: true,
|
write: true,
|
||||||
},
|
},
|
||||||
|
|
@ -67,7 +67,7 @@
|
||||||
);
|
);
|
||||||
--contenu-page-hauteur-minimale-avec-categories: calc(
|
--contenu-page-hauteur-minimale-avec-categories: calc(
|
||||||
100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur)
|
100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur)
|
||||||
- var(--menu-categories-produits-hauteur)
|
- var(--menu-categories-produits-hauteur)
|
||||||
);
|
);
|
||||||
/* Espacements */
|
/* Espacements */
|
||||||
--espace-xs: 0.25rem;
|
--espace-xs: 0.25rem;
|
||||||
|
|
@ -328,9 +328,6 @@ input[type=checkbox], input[type=radio] {
|
||||||
border: 1px solid var(--couleur-noir);
|
border: 1px solid var(--couleur-noir);
|
||||||
appearance: none;
|
appearance: none;
|
||||||
transition: 0.2s background;
|
transition: 0.2s background;
|
||||||
/*
|
|
||||||
* 1. Pour un alignement parfait du label avec la case à cocher.
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
input[type=checkbox]:checked, input[type=radio]:checked {
|
input[type=checkbox]:checked, input[type=radio]:checked {
|
||||||
background: var(--couleur-jaune);
|
background: var(--couleur-jaune);
|
||||||
|
|
@ -349,6 +346,11 @@ input[type=checkbox]:checked::before, input[type=radio]:checked::before {
|
||||||
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] {
|
||||||
|
/*
|
||||||
|
* 1. Pour un alignement parfait du label avec la case à cocher.
|
||||||
|
*/
|
||||||
|
}
|
||||||
label:has(~ input[type=checkbox], ~ input[type=radio]), input[type=checkbox] + label, input[type=radio] + label {
|
label:has(~ input[type=checkbox], ~ input[type=radio]), input[type=checkbox] + label, input[type=radio] + label {
|
||||||
padding-top: 1px; /* 1 */
|
padding-top: 1px; /* 1 */
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
|
|
@ -413,13 +415,13 @@ a {
|
||||||
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 */
|
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 */
|
||||||
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. */
|
||||||
/* Lien ressemblant visuellement à un bouton. */
|
|
||||||
/* Lien ressemblant à... un lien. */
|
|
||||||
/* Styles pour les liens par défaut */
|
|
||||||
}
|
}
|
||||||
a:focus-visible {
|
a:focus-visible {
|
||||||
outline-color: var(--lien-contour-couleur-focus);
|
outline-color: var(--lien-contour-couleur-focus);
|
||||||
}
|
}
|
||||||
|
a {
|
||||||
|
/* Lien ressemblant visuellement à un bouton. */
|
||||||
|
}
|
||||||
a.lien-bouton {
|
a.lien-bouton {
|
||||||
/* Marges */
|
/* Marges */
|
||||||
--lien-bouton-marges-internes-bloc: var(--espace-xs);
|
--lien-bouton-marges-internes-bloc: var(--espace-xs);
|
||||||
|
|
@ -429,20 +431,27 @@ a.lien-bouton {
|
||||||
padding: var(--lien-bouton-marges-internes-bloc) var(--lien-bouton-marges-internes-ligne);
|
padding: var(--lien-bouton-marges-internes-bloc) var(--lien-bouton-marges-internes-ligne);
|
||||||
border: 1px solid var(--couleur-noir);
|
border: 1px solid var(--couleur-noir);
|
||||||
/* Change la couleur de l'arrière-plan pour marquer le focus. */
|
/* Change la couleur de l'arrière-plan pour marquer le focus. */
|
||||||
/* Change la couleur de la bordure pour qu'elle se fonde dans l'arrière-plan, donnant l'illusion que la bordure se déplace vers l'extérieur. */
|
|
||||||
/* Change la couleur de l'arrière-plan pour marquer le survol. */
|
|
||||||
}
|
}
|
||||||
a.lien-bouton:focus-visible {
|
a.lien-bouton:focus-visible {
|
||||||
background: var(--lien-bouton-arriere-plan-couleur-survol);
|
background: var(--lien-bouton-arriere-plan-couleur-survol);
|
||||||
}
|
}
|
||||||
|
a.lien-bouton {
|
||||||
|
/* Change la couleur de la bordure pour qu'elle se fonde dans l'arrière-plan, donnant l'illusion que la bordure se déplace vers l'extérieur. */
|
||||||
|
}
|
||||||
a.lien-bouton:active {
|
a.lien-bouton:active {
|
||||||
border-color: var(--lien-bouton-arriere-plan-couleur-survol);
|
border-color: var(--lien-bouton-arriere-plan-couleur-survol);
|
||||||
}
|
}
|
||||||
|
a.lien-bouton {
|
||||||
|
/* Change la couleur de l'arrière-plan pour marquer le survol. */
|
||||||
|
}
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
a.lien-bouton:hover {
|
a.lien-bouton:hover {
|
||||||
background: var(--lien-bouton-arriere-plan-couleur-survol);
|
background: var(--lien-bouton-arriere-plan-couleur-survol);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
a {
|
||||||
|
/* Lien ressemblant à... un lien. */
|
||||||
|
}
|
||||||
a.lien-lien {
|
a.lien-lien {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
|
|
@ -456,6 +465,9 @@ a.lien-lien:active {
|
||||||
background: var(--couleur-jaune);
|
background: var(--couleur-jaune);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
a {
|
||||||
|
/* Styles pour les liens par défaut */
|
||||||
|
}
|
||||||
@media (hover: hover) {
|
@media (hover: hover) {
|
||||||
a:not([class]):hover {
|
a:not([class]):hover {
|
||||||
text-decoration-color: var(--couleur-noir);
|
text-decoration-color: var(--couleur-noir);
|
||||||
|
|
@ -636,7 +648,6 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
padding: var(--en-tete-marges-internes-bloc) var(--en-tete-marges-internes-ligne);
|
padding: var(--en-tete-marges-internes-bloc) var(--en-tete-marges-internes-ligne);
|
||||||
border-bottom: 1px solid var(--couleur-noir);
|
border-bottom: 1px solid var(--couleur-noir);
|
||||||
background: var(--couleur-gris);
|
background: var(--couleur-gris);
|
||||||
/* TODO: Déplacer au sein d'un Composant ? */
|
|
||||||
}
|
}
|
||||||
#en-tete .logo {
|
#en-tete .logo {
|
||||||
width: var(--en-tete-logo-longueur);
|
width: var(--en-tete-logo-longueur);
|
||||||
|
|
@ -658,6 +669,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
align-content: center;
|
align-content: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
#en-tete {
|
||||||
|
/* TODO: Déplacer au sein d'un Composant ? */
|
||||||
|
}
|
||||||
#en-tete .menu-navigation {
|
#en-tete .menu-navigation {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: 1fr auto 1fr;
|
grid-template-columns: 1fr auto 1fr;
|
||||||
|
|
@ -665,6 +679,15 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
font-size: 1.1rem;
|
font-size: 1.1rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
|
}
|
||||||
|
#en-tete .menu-navigation ul {
|
||||||
|
display: flex;
|
||||||
|
grid-column: 2;
|
||||||
|
flex-flow: row nowrap;
|
||||||
|
gap: var(--espace-m);
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
#en-tete .menu-navigation {
|
||||||
/*
|
/*
|
||||||
* Le conteneur d'une entrée du menu, nécessaire pour que le changement d'arrière-plan au
|
* Le conteneur d'une entrée du menu, nécessaire pour que le changement d'arrière-plan au
|
||||||
* survol soit possible.
|
* survol soit possible.
|
||||||
|
|
@ -675,13 +698,6 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
* 4. Aligne le texte au centre.
|
* 4. Aligne le texte au centre.
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
#en-tete .menu-navigation ul {
|
|
||||||
display: flex;
|
|
||||||
grid-column: 2;
|
|
||||||
flex-flow: row nowrap;
|
|
||||||
gap: var(--espace-m);
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
#en-tete .menu-navigation__entree {
|
#en-tete .menu-navigation__entree {
|
||||||
/* Marges */
|
/* Marges */
|
||||||
--nav-entree-marges-internes-bloc: var(--espace-xs);
|
--nav-entree-marges-internes-bloc: var(--espace-xs);
|
||||||
|
|
@ -717,9 +733,6 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
place-items: center;
|
place-items: center;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
/*
|
|
||||||
* 1. Permet d'éviter un agrandissement de l'élément avec plus de 9 articles.
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
#en-tete .compte-panier[disabled] {
|
#en-tete .compte-panier[disabled] {
|
||||||
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px/2px 2px;
|
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px/2px 2px;
|
||||||
|
|
@ -728,6 +741,11 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
border: 1px solid var(--couleur-noir);
|
border: 1px solid var(--couleur-noir);
|
||||||
background: initial;
|
background: initial;
|
||||||
}
|
}
|
||||||
|
#en-tete .compte-panier {
|
||||||
|
/*
|
||||||
|
* 1. Permet d'éviter un agrandissement de l'élément avec plus de 9 articles.
|
||||||
|
*/
|
||||||
|
}
|
||||||
#en-tete .compte-panier a {
|
#en-tete .compte-panier a {
|
||||||
min-width: 10ch; /* 1 */
|
min-width: 10ch; /* 1 */
|
||||||
font-size: 1.1rem;
|
font-size: 1.1rem;
|
||||||
|
|
@ -753,13 +771,6 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
--menu-entree-marges-internes-ligne: var(--espace-m);
|
--menu-entree-marges-internes-ligne: var(--espace-m);
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-top: var(--menu-section-marges-bloc-debut); /* 1 */
|
margin-top: var(--menu-section-marges-bloc-debut); /* 1 */
|
||||||
/*
|
|
||||||
* Liste des Catégories de Produits.
|
|
||||||
*
|
|
||||||
* 1. Toutes les entrées font la même longueur, en respectant une contrainte de longueur
|
|
||||||
* minimale. Elles se disposent de manière à occuper tout l'espace disponible sans aller à la
|
|
||||||
* ligne.
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
#menu-categories-produits[data-entrees-presentes-debut] svg:first-of-type {
|
#menu-categories-produits[data-entrees-presentes-debut] svg:first-of-type {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
|
|
@ -789,6 +800,15 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#menu-categories-produits {
|
||||||
|
/*
|
||||||
|
* Liste des Catégories de Produits.
|
||||||
|
*
|
||||||
|
* 1. Toutes les entrées font la même longueur, en respectant une contrainte de longueur
|
||||||
|
* minimale. Elles se disposent de manière à occuper tout l'espace disponible sans aller à la
|
||||||
|
* ligne.
|
||||||
|
*/
|
||||||
|
}
|
||||||
#menu-categories-produits ul {
|
#menu-categories-produits ul {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(var(--menu-entree-longueur-minimale), 1fr)); /* 1 */
|
grid-template-columns: repeat(auto-fit, minmax(var(--menu-entree-longueur-minimale), 1fr)); /* 1 */
|
||||||
|
|
@ -807,11 +827,6 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
letter-spacing: var(--espacement-inter-lettres-etendu-m);
|
letter-spacing: var(--espacement-inter-lettres-etendu-m);
|
||||||
background: var(--couleur-noir);
|
background: var(--couleur-noir);
|
||||||
/*
|
|
||||||
* 1. Permet de créer des marges verticales.
|
|
||||||
* 2. Hérite de la longueur du conteneur.
|
|
||||||
* 3. Surchargement de styles pour les liens.
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
#menu-categories-produits ul li.categorie-courante a {
|
#menu-categories-produits ul li.categorie-courante a {
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
|
|
@ -823,6 +838,13 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
color: var(--couleur-noir);
|
color: var(--couleur-noir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#menu-categories-produits ul li {
|
||||||
|
/*
|
||||||
|
* 1. Permet de créer des marges verticales.
|
||||||
|
* 2. Hérite de la longueur du conteneur.
|
||||||
|
* 3. Surchargement de styles pour les liens.
|
||||||
|
*/
|
||||||
|
}
|
||||||
#menu-categories-produits ul li a {
|
#menu-categories-produits ul li a {
|
||||||
display: inline-block; /* 1 */
|
display: inline-block; /* 1 */
|
||||||
width: inherit; /* 2 */
|
width: inherit; /* 2 */
|
||||||
|
|
@ -1135,7 +1157,6 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
font-weight: var(--resume-police-selecteur-graisse);
|
font-weight: var(--resume-police-selecteur-graisse);
|
||||||
text-transform: lowercase;
|
text-transform: lowercase;
|
||||||
/* Texte du sélecteur */
|
/* Texte du sélecteur */
|
||||||
/* Conteneur des sélecteurs */
|
|
||||||
}
|
}
|
||||||
.resume-produit .selecteur-produit__selection-variation label {
|
.resume-produit .selecteur-produit__selection-variation label {
|
||||||
margin-right: var(--espace-s);
|
margin-right: var(--espace-s);
|
||||||
|
|
@ -1157,6 +1178,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
|
||||||
.resume-produit .selecteur-produit__selection-variation option {
|
.resume-produit .selecteur-produit__selection-variation option {
|
||||||
background: var(--couleur-fond);
|
background: var(--couleur-fond);
|
||||||
}
|
}
|
||||||
|
.resume-produit .selecteur-produit__selection-variation {
|
||||||
|
/* Conteneur des sélecteurs */
|
||||||
|
}
|
||||||
.resume-produit .selecteur-produit__selection-variation__selecteurs {
|
.resume-produit .selecteur-produit__selection-variation__selecteurs {
|
||||||
position: relative;
|
position: relative;
|
||||||
/* Icône de flèche descendante */
|
/* Icône de flèche descendante */
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -60,12 +60,6 @@
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
font-style: initial;
|
font-style: initial;
|
||||||
/* Bouton d'addition de quantité */
|
/* Bouton d'addition de quantité */
|
||||||
/*
|
|
||||||
* 1. Cache les flèches d'augmentation/diminution sur Firefox.
|
|
||||||
* 2. Cache les flèches d'augmentation/diminution sur Chrome/Edge/Safari.
|
|
||||||
*/
|
|
||||||
/* Bouton de suppression de quantité */
|
|
||||||
/* Bouton de suppression du Produit du Panier */
|
|
||||||
}
|
}
|
||||||
#panneau-panier .panneau__grille-produits .detail-produit__actions button:first-of-type {
|
#panneau-panier .panneau__grille-produits .detail-produit__actions button:first-of-type {
|
||||||
grid-column: 1;
|
grid-column: 1;
|
||||||
|
|
@ -74,6 +68,12 @@
|
||||||
border: 1px solid var(--couleur-noir);
|
border: 1px solid var(--couleur-noir);
|
||||||
border-bottom: initial;
|
border-bottom: initial;
|
||||||
}
|
}
|
||||||
|
#panneau-panier .panneau__grille-produits .detail-produit__actions {
|
||||||
|
/*
|
||||||
|
* 1. Cache les flèches d'augmentation/diminution sur Firefox.
|
||||||
|
* 2. Cache les flèches d'augmentation/diminution sur Chrome/Edge/Safari.
|
||||||
|
*/
|
||||||
|
}
|
||||||
#panneau-panier .panneau__grille-produits .detail-produit__actions input[type=number] {
|
#panneau-panier .panneau__grille-produits .detail-produit__actions input[type=number] {
|
||||||
grid-column: 2;
|
grid-column: 2;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
@ -86,6 +86,9 @@
|
||||||
margin: 0; /* 2 */
|
margin: 0; /* 2 */
|
||||||
appearance: none; /* 2 */
|
appearance: none; /* 2 */
|
||||||
}
|
}
|
||||||
|
#panneau-panier .panneau__grille-produits .detail-produit__actions {
|
||||||
|
/* Bouton de suppression de quantité */
|
||||||
|
}
|
||||||
#panneau-panier .panneau__grille-produits .detail-produit__actions button:nth-of-type(2) {
|
#panneau-panier .panneau__grille-produits .detail-produit__actions button:nth-of-type(2) {
|
||||||
grid-column: 3;
|
grid-column: 3;
|
||||||
min-width: 3rem;
|
min-width: 3rem;
|
||||||
|
|
@ -93,6 +96,9 @@
|
||||||
border: 1px solid var(--couleur-noir);
|
border: 1px solid var(--couleur-noir);
|
||||||
border-bottom: initial;
|
border-bottom: initial;
|
||||||
}
|
}
|
||||||
|
#panneau-panier .panneau__grille-produits .detail-produit__actions {
|
||||||
|
/* Bouton de suppression du Produit du Panier */
|
||||||
|
}
|
||||||
#panneau-panier .panneau__grille-produits .detail-produit__actions button:last-of-type {
|
#panneau-panier .panneau__grille-produits .detail-produit__actions button:last-of-type {
|
||||||
grid-column: span 3;
|
grid-column: span 3;
|
||||||
grid-row: 2;
|
grid-row: 2;
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"sourceRoot":"","sources":["../../../src/sass/layouts/_panneau-panier.scss","../../../src/sass/layouts/_panneau-informations-client.scss","../../../src/sass/pages/page-panier.scss"],"names":[],"mappings":";AAEA;EACE;;AAEA;EACE;;AAIF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;AAEA;AASA;AAAA;AAAA;AAAA;AAkBA;AASA;;AAnCA;EACE;EACA;EACA;EACA;EACA;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAOR;EACE;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKA;EACE;;AAEA;EACE;;AAMR;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAMJ;EACE;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;IACE;;EAGF;IACE;;EAEA;IACE;;EAIJ;IACE;;EAGE;IACE;;EAKN;IACE;;;;ACpRN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIF;EAEE;EACA;EACA;EAGA;EAEA;EACA;;AAEA;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAMN;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;;AAMR;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;IACE;;;;ACpKN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAKF;EACE;;AAGF;EACE","file":"page-panier.css"}
|
{"version":3,"sourceRoot":"","sources":["../../../src/sass/layouts/_panneau-panier.scss","../../../src/sass/layouts/_panneau-informations-client.scss","../../../src/sass/pages/page-panier.scss"],"names":[],"mappings":";AAEA;EACE;;AAEA;EACE;;AAIF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;AAEA;;AACA;EACE;EACA;EACA;EACA;EACA;;AAbJ;AAgBE;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AA9BN;AAkCE;;AACA;EACE;EACA;EACA;EACA;EACA;;AAxCJ;AA2CE;;AACA;EACE;EACA;EACA;EACA;EACA;;AAOR;EACE;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKA;EACE;;AAEA;EACE;;AAMR;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAMJ;EACE;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;IACE;;EAGF;IACE;;EAEA;IACE;;EAIJ;IACE;;EAGE;IACE;;EAKN;IACE;;;;ACpRN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIF;EAEE;EACA;EACA;EAGA;EAEA;EACA;;AAEA;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAMN;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;;AAMR;EACE;EACA;EACA;;AAIJ;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAIJ;EACE;IACE;;;;ACpKN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;;AAKF;EACE;;AAGF;EACE","file":"page-panier.css"}
|
||||||
253
web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json
Normal file
253
web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json
Normal file
|
|
@ -0,0 +1,253 @@
|
||||||
|
{
|
||||||
|
"_api.CM5TBNEA.js": {
|
||||||
|
"file": "api.CM5TBNEA.js",
|
||||||
|
"name": "api",
|
||||||
|
"integrity": "sha512-AABJ01IYRg4AZjhIkDyxL31uCEnChGmYjKMabBBQ+kMHiF2nEjYgjQC9mtoJxTefy+pcnJLlDiOqsX9O3nYCrQ=="
|
||||||
|
},
|
||||||
|
"_belt_Option-91f3b350.CMbgtZ-W.js": {
|
||||||
|
"file": "belt_Option-91f3b350.CMbgtZ-W.js",
|
||||||
|
"name": "belt_Option-91f3b350",
|
||||||
|
"imports": [
|
||||||
|
"_dom.emspS_OW.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-iKN620+w4JvXfB55Uf+lA+8KsofasnYe3KBtVjZ2oFGk2kdDDcuV3cE7tMgYYa/EDvNWFbzr+LWVGfP1epsE5g=="
|
||||||
|
},
|
||||||
|
"_dist.CzYTlmnN.js": {
|
||||||
|
"file": "dist.CzYTlmnN.js",
|
||||||
|
"name": "dist",
|
||||||
|
"integrity": "sha512-UdivuApdmNlhycktFxc3DyDCP87pa5BxcVji85gSzcOJTW8WuOlOplD41pBIChesnCyyRvlFB+JVljoc6B5k2A=="
|
||||||
|
},
|
||||||
|
"_dom.emspS_OW.js": {
|
||||||
|
"file": "dom.emspS_OW.js",
|
||||||
|
"name": "dom",
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_exports.CurVqjr0.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-YPKvpYsg2Tg3W7usRMln/NXOQfWvA9fOrVBQ3Jxnuxhp9MV0AKhKcqtveQeR8OvQPin5ed0cJEjlIizDoaGtVg=="
|
||||||
|
},
|
||||||
|
"_exports.CurVqjr0.js": {
|
||||||
|
"file": "exports.CurVqjr0.js",
|
||||||
|
"name": "exports",
|
||||||
|
"integrity": "sha512-brr8BojPqo4rEpXLsE9kz3h7VtL3oZJvNi57eHT9dDBOcP0R9TSU5FQ0KgCLK77i9SsDFmqXUFkhrKLk5V8oIA=="
|
||||||
|
},
|
||||||
|
"_gardes.CYxPzOAc.js": {
|
||||||
|
"file": "gardes.CYxPzOAc.js",
|
||||||
|
"name": "gardes",
|
||||||
|
"imports": [
|
||||||
|
"_dom.emspS_OW.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-L/WrAem1zGWjXh1TbJoJRJJxAiat5UVsOaCsuSZySKtJDYHN3wW7/Gvs7AhZqT0sDfk83HM5Y0jg/xdfps31Kw=="
|
||||||
|
},
|
||||||
|
"_index-c1cc4c86.D2nZEikK.js": {
|
||||||
|
"file": "index-c1cc4c86.D2nZEikK.js",
|
||||||
|
"name": "index-c1cc4c86",
|
||||||
|
"imports": [
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_belt_Option-91f3b350.CMbgtZ-W.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-q6IG0Q9RxncgYlB5W2T2DdF/p1TrX57jmznlrFxfx09vFZ1WvUqtOPdHvZDJ52ncDVsw+9xFUat5knECaKpOvg=="
|
||||||
|
},
|
||||||
|
"_journalisation.CEgm28xa.js": {
|
||||||
|
"file": "journalisation.CEgm28xa.js",
|
||||||
|
"name": "journalisation",
|
||||||
|
"integrity": "sha512-+RQmmiXzr82fdbwmjaqSl1ByAnOFIC56vt3iKzxPWx1GDCHz3rEe/KnNzwOdQq6EIyoBNLRdEpKegxai5NGO9A=="
|
||||||
|
},
|
||||||
|
"_messages.CqHLtCes.js": {
|
||||||
|
"file": "messages.CqHLtCes.js",
|
||||||
|
"name": "messages",
|
||||||
|
"imports": [
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_exports.CurVqjr0.js",
|
||||||
|
"_validation.CYJDC5vQ.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-PSSJZ1ojYBnJ0OK5v6bwKRuoahZfpXiVeY7nX/HI7Umirp8PCJBjeGINwQmMxcwwqz6OKiXldoL2qfcRcNd/6Q=="
|
||||||
|
},
|
||||||
|
"_nombres.E65h3XxA.js": {
|
||||||
|
"file": "nombres.E65h3XxA.js",
|
||||||
|
"name": "nombres",
|
||||||
|
"imports": [
|
||||||
|
"_exports.CurVqjr0.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-rl6R7Csed4t+dce6c/Vu+S5Rb7msei7ftl6qWJc8azZ0jKuYI3OXlR/MVnJfXzG+HbcfUZbZDaNv1OJOveVNfQ=="
|
||||||
|
},
|
||||||
|
"_reseau.BY4MrTI9.js": {
|
||||||
|
"file": "reseau.BY4MrTI9.js",
|
||||||
|
"name": "reseau",
|
||||||
|
"imports": [
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_dist.CzYTlmnN.js",
|
||||||
|
"_api.CM5TBNEA.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-AYhe2dWN1+DAyybERSUMDbNxZWSKGPZdbJSL62WUqh7tqQkIBSxqz9eCZaxpQmEgEnQStEP42rs5Lnw5B34KqA=="
|
||||||
|
},
|
||||||
|
"_validation.CYJDC5vQ.js": {
|
||||||
|
"file": "validation.CYJDC5vQ.js",
|
||||||
|
"name": "validation",
|
||||||
|
"imports": [
|
||||||
|
"_dom.emspS_OW.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-l+91IOv2M5mEMn8J9n1lTYPSV6vG++44Bq9o67eUVvpdjS5vT3QzVWqJCwKu+VuUStJ7SqYKltHUE48v+2QDng=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/gaffe.ts": {
|
||||||
|
"file": "gaffe.js",
|
||||||
|
"name": "gaffe",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/gaffe.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_exports.CurVqjr0.js",
|
||||||
|
"_api.CM5TBNEA.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-wK/GuqvTHTnA3qIlWYM+kOyxbtnmDhrc1Zbm2Q2A/Ys/Ia0RZjRn0zOnfZyBZ4ZUUCxIqXujDMuSGAxt9vefXA=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/journalisation.ts": {
|
||||||
|
"file": "journalisation.js",
|
||||||
|
"name": "journalisation",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/journalisation.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-xf2CXCF82ZOHVw0v3Dqn1xt+Ow+hURD5GbYxt3L/4LH9Nk2Bmw6oOkZc8+tErRDMMDTEt1KXPHC2kN0MxYptNw=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": {
|
||||||
|
"file": "scripts-bouton-panier.js",
|
||||||
|
"name": "scripts-bouton-panier",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_exports.CurVqjr0.js",
|
||||||
|
"_messages.CqHLtCes.js",
|
||||||
|
"_validation.CYJDC5vQ.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-ckqj4fSd9bihiTUPHqXwL5Y6iBxGsKNKc9EO4iQdcmAubh4ZuBxAyJmdMP3eipRUWTMXW8J4g6wZwgWfbccs1A=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-retour-sommet.ts": {
|
||||||
|
"file": "scripts-bouton-retour-sommet.js",
|
||||||
|
"name": "scripts-bouton-retour-sommet",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-retour-sommet.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_index-c1cc4c86.D2nZEikK.js",
|
||||||
|
"_belt_Option-91f3b350.CMbgtZ-W.js",
|
||||||
|
"_exports.CurVqjr0.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-uPmbT4qZhDzWned/hCwIkD+9w9YqI9DxEMZPTRIRUktCwP0AFN/PQdoeXt7Y+bx3uQHQJfqandH8K1KsJFTWyA=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-categories.ts": {
|
||||||
|
"file": "scripts-menu-categories.js",
|
||||||
|
"name": "scripts-menu-categories",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-categories.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_exports.CurVqjr0.js",
|
||||||
|
"_dist.CzYTlmnN.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-FYD3NzdZotGpgZubWx9hoSsB75nZakLjdebgZqEzBg16P2FqQ9UfF579Xgy9JHfAkeBEhn17u47SgPZi8yuHcQ=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-mobile.ts": {
|
||||||
|
"file": "scripts-menu-mobile.js",
|
||||||
|
"name": "scripts-menu-mobile",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-mobile.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_index-c1cc4c86.D2nZEikK.js",
|
||||||
|
"_belt_Option-91f3b350.CMbgtZ-W.js",
|
||||||
|
"_exports.CurVqjr0.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-hwMyxnBDsfYX9u/AvP54qfo9RDoke50/XZXwTaO6UXGcbVBxzYecfi7pJ1MK0CPvOthKiyeOiDUL+af+tI4ybw=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts": {
|
||||||
|
"file": "scripts-page-a-propos.js",
|
||||||
|
"name": "scripts-page-a-propos",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_index-c1cc4c86.D2nZEikK.js",
|
||||||
|
"_belt_Option-91f3b350.CMbgtZ-W.js",
|
||||||
|
"_exports.CurVqjr0.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-pmpSmvayHr4srvO5UZz5xFzJYwgt46ezELw+D0uE/uVo2vZ9J3iVa3F9WInj9jR66vbzeXXNYP4JV8p7JoF6hQ=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts": {
|
||||||
|
"file": "scripts-page-accueil.js",
|
||||||
|
"name": "scripts-page-accueil",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_index-c1cc4c86.D2nZEikK.js",
|
||||||
|
"_belt_Option-91f3b350.CMbgtZ-W.js",
|
||||||
|
"_nombres.E65h3XxA.js",
|
||||||
|
"_exports.CurVqjr0.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-P7UQifPtkEOx075C6/TmYgm9wAD1W3v3N8LbN2Rh5PSv+SRRnt1spJuxVnAd2hHBLl607R+ukgPVaJzAU/FwUw=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-boutique.ts": {
|
||||||
|
"file": "scripts-page-boutique.js",
|
||||||
|
"name": "scripts-page-boutique",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-boutique.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_belt_Option-91f3b350.CMbgtZ-W.js",
|
||||||
|
"_exports.CurVqjr0.js",
|
||||||
|
"_reseau.BY4MrTI9.js",
|
||||||
|
"_dist.CzYTlmnN.js",
|
||||||
|
"_api.CM5TBNEA.js",
|
||||||
|
"_validation.CYJDC5vQ.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-DR6V+H2sb989gH5GMa3XG1cinptEGFrd+DVPIW3bhucAWelpWN89oznv17kpJl4mybwNN41AxRe3n/YaYF6hDw=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": {
|
||||||
|
"file": "scripts-page-panier.js",
|
||||||
|
"name": "scripts-page-panier",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_nombres.E65h3XxA.js",
|
||||||
|
"_gardes.CYxPzOAc.js",
|
||||||
|
"_exports.CurVqjr0.js",
|
||||||
|
"_reseau.BY4MrTI9.js",
|
||||||
|
"_dist.CzYTlmnN.js",
|
||||||
|
"_api.CM5TBNEA.js",
|
||||||
|
"_messages.CqHLtCes.js",
|
||||||
|
"_validation.CYJDC5vQ.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-sxZ6sUCls7YH1Ay28qAGplVoKPZXizkBmftXWUZRDQM0QZkHul+z0r7LQZEj80cypv4y41DBjHcYL0FtmQ126A=="
|
||||||
|
},
|
||||||
|
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": {
|
||||||
|
"file": "scripts-page-produit.js",
|
||||||
|
"name": "scripts-page-produit",
|
||||||
|
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts",
|
||||||
|
"isEntry": true,
|
||||||
|
"imports": [
|
||||||
|
"_journalisation.CEgm28xa.js",
|
||||||
|
"_dom.emspS_OW.js",
|
||||||
|
"_index-c1cc4c86.D2nZEikK.js",
|
||||||
|
"_belt_Option-91f3b350.CMbgtZ-W.js",
|
||||||
|
"_gardes.CYxPzOAc.js",
|
||||||
|
"_exports.CurVqjr0.js",
|
||||||
|
"_reseau.BY4MrTI9.js",
|
||||||
|
"_dist.CzYTlmnN.js",
|
||||||
|
"_api.CM5TBNEA.js",
|
||||||
|
"_messages.CqHLtCes.js",
|
||||||
|
"_validation.CYJDC5vQ.js"
|
||||||
|
],
|
||||||
|
"integrity": "sha512-HPTb17x7W8u8itHBCC2A7M0Y8bjzpP+WSCKjyg1daBtcovdGfR1AXwl62DxKvqxDHD3/zNM3dPDbbOoCTF8tlg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
21
web/app/themes/haiku-atelier-2024/assets/js/api.CM5TBNEA.js
Normal file
21
web/app/themes/haiku-atelier-2024/assets/js/api.CM5TBNEA.js
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts
|
||||||
|
/** Chemins et Routes pour l'API WordPress/ */
|
||||||
|
const CHEMIN_API_REST = "wp-json";
|
||||||
|
const ROUTE_API_AJOUTE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/add-item`;
|
||||||
|
const ROUTE_API_APPLIQUE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/apply-coupon`;
|
||||||
|
const ROUTE_API_COUPONS = `/${CHEMIN_API_REST}/wc/store/cart/coupons`;
|
||||||
|
const ROUTE_API_MAJ_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/update-item`;
|
||||||
|
const ROUTE_API_MAJ_CLIENT = `/${CHEMIN_API_REST}/wc/store/cart/update-customer`;
|
||||||
|
const ROUTE_API_NOUVELLE_COMMANDES = `/${CHEMIN_API_REST}/wc/v3/orders`;
|
||||||
|
const ROUTE_API_NOUVELLE_PRODUCTS = `/${CHEMIN_API_REST}/wc/v3/products`;
|
||||||
|
const ROUTE_API_PANIER = `/${CHEMIN_API_REST}/wc/store/cart`;
|
||||||
|
const ROUTE_API_PRODUITS = `/${CHEMIN_API_REST}/wc/store/products`;
|
||||||
|
const ROUTE_API_RETIRE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/remove-item`;
|
||||||
|
const ROUTE_API_RETIRE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/remove-coupon`;
|
||||||
|
const ENTETE_WC_NONCE = "Nonce";
|
||||||
|
const ENTETE_GLITCHTIP_RETRY_AFTER = "retry-after";
|
||||||
|
const ENTETE_GLITCHTIP_RATE_LIMITS = "x-sentry-rate-limits";
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { ROUTE_API_APPLIQUE_COUPON as a, ROUTE_API_NOUVELLE_COMMANDES as c, ROUTE_API_RETIRE_COUPON as d, ROUTE_API_AJOUTE_ARTICLE_PANIER as i, ROUTE_API_NOUVELLE_PRODUCTS as l, ENTETE_GLITCHTIP_RETRY_AFTER as n, ROUTE_API_MAJ_ARTICLE_PANIER as o, ENTETE_WC_NONCE as r, ROUTE_API_MAJ_CLIENT as s, ENTETE_GLITCHTIP_RATE_LIMITS as t, ROUTE_API_RETIRE_ARTICLE_PANIER as u };
|
||||||
|
//# sourceMappingURL=api.CM5TBNEA.js.map
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"api.CM5TBNEA.js","names":[],"sources":["../../src/scripts/constantes/api.ts"],"sourcesContent":["/** Chemins et Routes pour l'API WordPress/ */\n\nexport const CHEMIN_API_REST = \"wp-json\";\nexport const ROUTE_API_AJOUTE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/add-item`;\nexport const ROUTE_API_APPLIQUE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/apply-coupon`;\nexport const ROUTE_API_COUPONS = `/${CHEMIN_API_REST}/wc/store/cart/coupons`;\nexport const ROUTE_API_MAJ_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/update-item`;\nexport const ROUTE_API_MAJ_CLIENT = `/${CHEMIN_API_REST}/wc/store/cart/update-customer`;\nexport const ROUTE_API_NOUVELLE_COMMANDES = `/${CHEMIN_API_REST}/wc/v3/orders`;\nexport const ROUTE_API_NOUVELLE_PRODUCTS = `/${CHEMIN_API_REST}/wc/v3/products`;\nexport const ROUTE_API_PANIER = `/${CHEMIN_API_REST}/wc/store/cart`;\nexport const ROUTE_API_PRODUITS = `/${CHEMIN_API_REST}/wc/store/products`;\nexport const ROUTE_API_RETIRE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/remove-item`;\nexport const ROUTE_API_RETIRE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/remove-coupon`;\n\n// En-têtes\nexport const ENTETE_WC_NONCE = \"Nonce\";\nexport const ENTETE_GLITCHTIP_RETRY_AFTER = \"retry-after\";\nexport const ENTETE_GLITCHTIP_RATE_LIMITS = \"x-sentry-rate-limits\";\n"],"mappings":";;AAEA,MAAa,kBAAkB;AAC/B,MAAa,kCAAkC,IAAI,gBAAgB;AACnE,MAAa,4BAA4B,IAAI,gBAAgB;AAC7D,MAAa,oBAAoB,IAAI,gBAAgB;AACrD,MAAa,+BAA+B,IAAI,gBAAgB;AAChE,MAAa,uBAAuB,IAAI,gBAAgB;AACxD,MAAa,+BAA+B,IAAI,gBAAgB;AAChE,MAAa,8BAA8B,IAAI,gBAAgB;AAC/D,MAAa,mBAAmB,IAAI,gBAAgB;AACpD,MAAa,qBAAqB,IAAI,gBAAgB;AACtD,MAAa,kCAAkC,IAAI,gBAAgB;AACnE,MAAa,0BAA0B,IAAI,gBAAgB;AAG3D,MAAa,kBAAkB;AAC/B,MAAa,+BAA+B;AAC5C,MAAa,+BAA+B"}
|
||||||
|
|
@ -0,0 +1,109 @@
|
||||||
|
import { Dn as valFromOption, En as some } from "./dom.emspS_OW.js";
|
||||||
|
|
||||||
|
//#region node_modules/@mobily/ts-belt/dist/caml_exceptions-99f2c2ac.mjs
|
||||||
|
function sub(n$1, r, t) {
|
||||||
|
var e = new Array(t);
|
||||||
|
var u = 0;
|
||||||
|
var a = r;
|
||||||
|
while (u < t) {
|
||||||
|
e[u] = n$1[a];
|
||||||
|
u = u + 1 | 0;
|
||||||
|
a = a + 1 | 0;
|
||||||
|
}
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
function app(n$1, r) {
|
||||||
|
while (1) {
|
||||||
|
var t = r;
|
||||||
|
var e = n$1;
|
||||||
|
var u = e.length;
|
||||||
|
var a = 0 === u ? 1 : u;
|
||||||
|
var c = a - t.length | 0;
|
||||||
|
if (0 === c) return e.apply(null, t);
|
||||||
|
if (c >= 0) return function(n$2, r$1) {
|
||||||
|
return function(t$1) {
|
||||||
|
return app(n$2, r$1.concat([t$1]));
|
||||||
|
};
|
||||||
|
}(e, t);
|
||||||
|
r = sub(t, a, 0 | -c);
|
||||||
|
n$1 = e.apply(null, sub(t, 0, a));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function _1(n$1, r) {
|
||||||
|
var t = n$1.length;
|
||||||
|
if (1 === t) return n$1(r);
|
||||||
|
else switch (t) {
|
||||||
|
case 1: return n$1(r);
|
||||||
|
case 2: return function(t$1) {
|
||||||
|
return n$1(r, t$1);
|
||||||
|
};
|
||||||
|
case 3: return function(t$1, e) {
|
||||||
|
return n$1(r, t$1, e);
|
||||||
|
};
|
||||||
|
case 4: return function(t$1, e, u) {
|
||||||
|
return n$1(r, t$1, e, u);
|
||||||
|
};
|
||||||
|
case 5: return function(t$1, e, u, a) {
|
||||||
|
return n$1(r, t$1, e, u, a);
|
||||||
|
};
|
||||||
|
case 6: return function(t$1, e, u, a, c) {
|
||||||
|
return n$1(r, t$1, e, u, a, c);
|
||||||
|
};
|
||||||
|
case 7: return function(t$1, e, u, a, c, i) {
|
||||||
|
return n$1(r, t$1, e, u, a, c, i);
|
||||||
|
};
|
||||||
|
default: return app(n$1, [r]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function __1(n$1) {
|
||||||
|
if (1 === n$1.length) return n$1;
|
||||||
|
else return function(r) {
|
||||||
|
return _1(n$1, r);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
var n = { contents: 0 };
|
||||||
|
function create(r) {
|
||||||
|
n.contents = n.contents + 1 | 0;
|
||||||
|
return r + "/" + n.contents;
|
||||||
|
}
|
||||||
|
function is_extension(n$1) {
|
||||||
|
if (null == n$1) return !1;
|
||||||
|
else return "string" == typeof n$1.RE_EXN_ID;
|
||||||
|
}
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region node_modules/@mobily/ts-belt/dist/belt_Option-91f3b350.mjs
|
||||||
|
function getExn(t) {
|
||||||
|
if (void 0 !== t) return valFromOption(t);
|
||||||
|
throw {
|
||||||
|
RE_EXN_ID: "Not_found",
|
||||||
|
Error: /* @__PURE__ */ new Error()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function mapWithDefaultU(t, i, a) {
|
||||||
|
if (void 0 !== t) return a(valFromOption(t));
|
||||||
|
else return i;
|
||||||
|
}
|
||||||
|
function mapU(t, a) {
|
||||||
|
if (void 0 !== t) return some(a(valFromOption(t)));
|
||||||
|
}
|
||||||
|
function flatMapU(t, i) {
|
||||||
|
if (void 0 !== t) return i(valFromOption(t));
|
||||||
|
}
|
||||||
|
function flatMap(n$1, i) {
|
||||||
|
return flatMapU(n$1, __1(i));
|
||||||
|
}
|
||||||
|
function getWithDefault(t, i) {
|
||||||
|
if (void 0 !== t) return valFromOption(t);
|
||||||
|
else return i;
|
||||||
|
}
|
||||||
|
function isSome(t) {
|
||||||
|
return void 0 !== t;
|
||||||
|
}
|
||||||
|
function isNone(t) {
|
||||||
|
return void 0 === t;
|
||||||
|
}
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { isNone as a, mapWithDefaultU as c, is_extension as d, getWithDefault as i, _1 as l, flatMapU as n, isSome as o, getExn as r, mapU as s, flatMap as t, create as u };
|
||||||
|
//# sourceMappingURL=belt_Option-91f3b350.CMbgtZ-W.js.map
|
||||||
File diff suppressed because one or more lines are too long
405
web/app/themes/haiku-atelier-2024/assets/js/dist.CzYTlmnN.js
Normal file
405
web/app/themes/haiku-atelier-2024/assets/js/dist.CzYTlmnN.js
Normal file
|
|
@ -0,0 +1,405 @@
|
||||||
|
//#region node_modules/ts-pattern/dist/index.js
|
||||||
|
var t = Symbol.for("@ts-pattern/matcher"), e = Symbol.for("@ts-pattern/isVariadic"), n = "@ts-pattern/anonymous-select-key", r = (t$1) => Boolean(t$1 && "object" == typeof t$1), i = (e$1) => e$1 && !!e$1[t], o = (n$1, s$1, c$1) => {
|
||||||
|
if (i(n$1)) {
|
||||||
|
const { matched: r$1, selections: i$1 } = n$1[t]().match(s$1);
|
||||||
|
return r$1 && i$1 && Object.keys(i$1).forEach((t$1) => c$1(t$1, i$1[t$1])), r$1;
|
||||||
|
}
|
||||||
|
if (r(n$1)) {
|
||||||
|
if (!r(s$1)) return !1;
|
||||||
|
if (Array.isArray(n$1)) {
|
||||||
|
if (!Array.isArray(s$1)) return !1;
|
||||||
|
let t$1 = [], r$1 = [], u$1 = [];
|
||||||
|
for (const o$1 of n$1.keys()) {
|
||||||
|
const s$2 = n$1[o$1];
|
||||||
|
i(s$2) && s$2[e] ? u$1.push(s$2) : u$1.length ? r$1.push(s$2) : t$1.push(s$2);
|
||||||
|
}
|
||||||
|
if (u$1.length) {
|
||||||
|
if (u$1.length > 1) throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");
|
||||||
|
if (s$1.length < t$1.length + r$1.length) return !1;
|
||||||
|
const e$1 = s$1.slice(0, t$1.length), n$2 = 0 === r$1.length ? [] : s$1.slice(-r$1.length), i$1 = s$1.slice(t$1.length, 0 === r$1.length ? Infinity : -r$1.length);
|
||||||
|
return t$1.every((t$2, n$3) => o(t$2, e$1[n$3], c$1)) && r$1.every((t$2, e$2) => o(t$2, n$2[e$2], c$1)) && (0 === u$1.length || o(u$1[0], i$1, c$1));
|
||||||
|
}
|
||||||
|
return n$1.length === s$1.length && n$1.every((t$2, e$1) => o(t$2, s$1[e$1], c$1));
|
||||||
|
}
|
||||||
|
return Reflect.ownKeys(n$1).every((e$1) => {
|
||||||
|
const r$1 = n$1[e$1];
|
||||||
|
return (e$1 in s$1 || i(u$1 = r$1) && "optional" === u$1[t]().matcherType) && o(r$1, s$1[e$1], c$1);
|
||||||
|
var u$1;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return Object.is(s$1, n$1);
|
||||||
|
}, s = (e$1) => {
|
||||||
|
var n$1, o$1, u$1;
|
||||||
|
return r(e$1) ? i(e$1) ? null != (n$1 = null == (o$1 = (u$1 = e$1[t]()).getSelectionKeys) ? void 0 : o$1.call(u$1)) ? n$1 : [] : Array.isArray(e$1) ? c(e$1, s) : c(Object.values(e$1), s) : [];
|
||||||
|
}, c = (t$1, e$1) => t$1.reduce((t$2, n$1) => t$2.concat(e$1(n$1)), []);
|
||||||
|
function u(...t$1) {
|
||||||
|
if (1 === t$1.length) {
|
||||||
|
const [e$1] = t$1;
|
||||||
|
return (t$2) => o(e$1, t$2, () => {});
|
||||||
|
}
|
||||||
|
if (2 === t$1.length) {
|
||||||
|
const [e$1, n$1] = t$1;
|
||||||
|
return o(e$1, n$1, () => {});
|
||||||
|
}
|
||||||
|
throw new Error(`isMatching wasn't given the right number of arguments: expected 1 or 2, received ${t$1.length}.`);
|
||||||
|
}
|
||||||
|
function a(t$1) {
|
||||||
|
return Object.assign(t$1, {
|
||||||
|
optional: () => h(t$1),
|
||||||
|
and: (e$1) => d(t$1, e$1),
|
||||||
|
or: (e$1) => y(t$1, e$1),
|
||||||
|
select: (e$1) => void 0 === e$1 ? v(t$1) : v(e$1, t$1)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function l(t$1) {
|
||||||
|
return Object.assign(((t$2) => Object.assign(t$2, { [Symbol.iterator]() {
|
||||||
|
let n$1 = 0;
|
||||||
|
const r$1 = [{
|
||||||
|
value: Object.assign(t$2, { [e]: !0 }),
|
||||||
|
done: !1
|
||||||
|
}, {
|
||||||
|
done: !0,
|
||||||
|
value: void 0
|
||||||
|
}];
|
||||||
|
return { next: () => {
|
||||||
|
var t$3;
|
||||||
|
return null != (t$3 = r$1[n$1++]) ? t$3 : r$1.at(-1);
|
||||||
|
} };
|
||||||
|
} }))(t$1), {
|
||||||
|
optional: () => l(h(t$1)),
|
||||||
|
select: (e$1) => l(void 0 === e$1 ? v(t$1) : v(e$1, t$1))
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function h(e$1) {
|
||||||
|
return a({ [t]: () => ({
|
||||||
|
match: (t$1) => {
|
||||||
|
let n$1 = {};
|
||||||
|
const r$1 = (t$2, e$2) => {
|
||||||
|
n$1[t$2] = e$2;
|
||||||
|
};
|
||||||
|
return void 0 === t$1 ? (s(e$1).forEach((t$2) => r$1(t$2, void 0)), {
|
||||||
|
matched: !0,
|
||||||
|
selections: n$1
|
||||||
|
}) : {
|
||||||
|
matched: o(e$1, t$1, r$1),
|
||||||
|
selections: n$1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getSelectionKeys: () => s(e$1),
|
||||||
|
matcherType: "optional"
|
||||||
|
}) });
|
||||||
|
}
|
||||||
|
var f = (t$1, e$1) => {
|
||||||
|
for (const n$1 of t$1) if (!e$1(n$1)) return !1;
|
||||||
|
return !0;
|
||||||
|
}, g = (t$1, e$1) => {
|
||||||
|
for (const [n$1, r$1] of t$1.entries()) if (!e$1(r$1, n$1)) return !1;
|
||||||
|
return !0;
|
||||||
|
}, m = (t$1, e$1) => {
|
||||||
|
const n$1 = Reflect.ownKeys(t$1);
|
||||||
|
for (const r$1 of n$1) if (!e$1(r$1, t$1[r$1])) return !1;
|
||||||
|
return !0;
|
||||||
|
};
|
||||||
|
function d(...e$1) {
|
||||||
|
return a({ [t]: () => ({
|
||||||
|
match: (t$1) => {
|
||||||
|
let n$1 = {};
|
||||||
|
const r$1 = (t$2, e$2) => {
|
||||||
|
n$1[t$2] = e$2;
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
matched: e$1.every((e$2) => o(e$2, t$1, r$1)),
|
||||||
|
selections: n$1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getSelectionKeys: () => c(e$1, s),
|
||||||
|
matcherType: "and"
|
||||||
|
}) });
|
||||||
|
}
|
||||||
|
function y(...e$1) {
|
||||||
|
return a({ [t]: () => ({
|
||||||
|
match: (t$1) => {
|
||||||
|
let n$1 = {};
|
||||||
|
const r$1 = (t$2, e$2) => {
|
||||||
|
n$1[t$2] = e$2;
|
||||||
|
};
|
||||||
|
return c(e$1, s).forEach((t$2) => r$1(t$2, void 0)), {
|
||||||
|
matched: e$1.some((e$2) => o(e$2, t$1, r$1)),
|
||||||
|
selections: n$1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getSelectionKeys: () => c(e$1, s),
|
||||||
|
matcherType: "or"
|
||||||
|
}) });
|
||||||
|
}
|
||||||
|
function p(e$1) {
|
||||||
|
return { [t]: () => ({ match: (t$1) => ({ matched: Boolean(e$1(t$1)) }) }) };
|
||||||
|
}
|
||||||
|
function v(...e$1) {
|
||||||
|
const r$1 = "string" == typeof e$1[0] ? e$1[0] : void 0, i$1 = 2 === e$1.length ? e$1[1] : "string" == typeof e$1[0] ? void 0 : e$1[0];
|
||||||
|
return a({ [t]: () => ({
|
||||||
|
match: (t$1) => {
|
||||||
|
let e$2 = { [null != r$1 ? r$1 : n]: t$1 };
|
||||||
|
return {
|
||||||
|
matched: void 0 === i$1 || o(i$1, t$1, (t$2, n$1) => {
|
||||||
|
e$2[t$2] = n$1;
|
||||||
|
}),
|
||||||
|
selections: e$2
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getSelectionKeys: () => [null != r$1 ? r$1 : n].concat(void 0 === i$1 ? [] : s(i$1))
|
||||||
|
}) });
|
||||||
|
}
|
||||||
|
function b(t$1) {
|
||||||
|
return !0;
|
||||||
|
}
|
||||||
|
function w(t$1) {
|
||||||
|
return "number" == typeof t$1;
|
||||||
|
}
|
||||||
|
function S(t$1) {
|
||||||
|
return "string" == typeof t$1;
|
||||||
|
}
|
||||||
|
function j(t$1) {
|
||||||
|
return "bigint" == typeof t$1;
|
||||||
|
}
|
||||||
|
var K = a(p(b)), O = a(p(b)), E = K, x = (t$1) => Object.assign(a(t$1), {
|
||||||
|
startsWith: (e$1) => {
|
||||||
|
return x(d(t$1, (n$1 = e$1, p((t$2) => S(t$2) && t$2.startsWith(n$1)))));
|
||||||
|
var n$1;
|
||||||
|
},
|
||||||
|
endsWith: (e$1) => {
|
||||||
|
return x(d(t$1, (n$1 = e$1, p((t$2) => S(t$2) && t$2.endsWith(n$1)))));
|
||||||
|
var n$1;
|
||||||
|
},
|
||||||
|
minLength: (e$1) => x(d(t$1, ((t$2) => p((e$2) => S(e$2) && e$2.length >= t$2))(e$1))),
|
||||||
|
length: (e$1) => x(d(t$1, ((t$2) => p((e$2) => S(e$2) && e$2.length === t$2))(e$1))),
|
||||||
|
maxLength: (e$1) => x(d(t$1, ((t$2) => p((e$2) => S(e$2) && e$2.length <= t$2))(e$1))),
|
||||||
|
includes: (e$1) => {
|
||||||
|
return x(d(t$1, (n$1 = e$1, p((t$2) => S(t$2) && t$2.includes(n$1)))));
|
||||||
|
var n$1;
|
||||||
|
},
|
||||||
|
regex: (e$1) => {
|
||||||
|
return x(d(t$1, (n$1 = e$1, p((t$2) => S(t$2) && Boolean(t$2.match(n$1))))));
|
||||||
|
var n$1;
|
||||||
|
}
|
||||||
|
}), A = x(p(S)), N = (t$1) => Object.assign(a(t$1), {
|
||||||
|
between: (e$1, n$1) => N(d(t$1, ((t$2, e$2) => p((n$2) => w(n$2) && t$2 <= n$2 && e$2 >= n$2))(e$1, n$1))),
|
||||||
|
lt: (e$1) => N(d(t$1, ((t$2) => p((e$2) => w(e$2) && e$2 < t$2))(e$1))),
|
||||||
|
gt: (e$1) => N(d(t$1, ((t$2) => p((e$2) => w(e$2) && e$2 > t$2))(e$1))),
|
||||||
|
lte: (e$1) => N(d(t$1, ((t$2) => p((e$2) => w(e$2) && e$2 <= t$2))(e$1))),
|
||||||
|
gte: (e$1) => N(d(t$1, ((t$2) => p((e$2) => w(e$2) && e$2 >= t$2))(e$1))),
|
||||||
|
int: () => N(d(t$1, p((t$2) => w(t$2) && Number.isInteger(t$2)))),
|
||||||
|
finite: () => N(d(t$1, p((t$2) => w(t$2) && Number.isFinite(t$2)))),
|
||||||
|
positive: () => N(d(t$1, p((t$2) => w(t$2) && t$2 > 0))),
|
||||||
|
negative: () => N(d(t$1, p((t$2) => w(t$2) && t$2 < 0)))
|
||||||
|
}), P = N(p(w)), k = (t$1) => Object.assign(a(t$1), {
|
||||||
|
between: (e$1, n$1) => k(d(t$1, ((t$2, e$2) => p((n$2) => j(n$2) && t$2 <= n$2 && e$2 >= n$2))(e$1, n$1))),
|
||||||
|
lt: (e$1) => k(d(t$1, ((t$2) => p((e$2) => j(e$2) && e$2 < t$2))(e$1))),
|
||||||
|
gt: (e$1) => k(d(t$1, ((t$2) => p((e$2) => j(e$2) && e$2 > t$2))(e$1))),
|
||||||
|
lte: (e$1) => k(d(t$1, ((t$2) => p((e$2) => j(e$2) && e$2 <= t$2))(e$1))),
|
||||||
|
gte: (e$1) => k(d(t$1, ((t$2) => p((e$2) => j(e$2) && e$2 >= t$2))(e$1))),
|
||||||
|
positive: () => k(d(t$1, p((t$2) => j(t$2) && t$2 > 0))),
|
||||||
|
negative: () => k(d(t$1, p((t$2) => j(t$2) && t$2 < 0)))
|
||||||
|
});
|
||||||
|
var z = {
|
||||||
|
__proto__: null,
|
||||||
|
matcher: t,
|
||||||
|
optional: h,
|
||||||
|
array: function(...e$1) {
|
||||||
|
return l({ [t]: () => ({
|
||||||
|
match: (t$1) => {
|
||||||
|
if (!Array.isArray(t$1)) return { matched: !1 };
|
||||||
|
if (0 === e$1.length) return { matched: !0 };
|
||||||
|
const n$1 = e$1[0];
|
||||||
|
let r$1 = {};
|
||||||
|
if (0 === t$1.length) return s(n$1).forEach((t$2) => {
|
||||||
|
r$1[t$2] = [];
|
||||||
|
}), {
|
||||||
|
matched: !0,
|
||||||
|
selections: r$1
|
||||||
|
};
|
||||||
|
const i$1 = (t$2, e$2) => {
|
||||||
|
r$1[t$2] = (r$1[t$2] || []).concat([e$2]);
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
matched: t$1.every((t$2) => o(n$1, t$2, i$1)),
|
||||||
|
selections: r$1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getSelectionKeys: () => 0 === e$1.length ? [] : s(e$1[0])
|
||||||
|
}) });
|
||||||
|
},
|
||||||
|
set: function(...e$1) {
|
||||||
|
return a({ [t]: () => ({
|
||||||
|
match: (t$1) => {
|
||||||
|
if (!(t$1 instanceof Set)) return { matched: !1 };
|
||||||
|
let n$1 = {};
|
||||||
|
if (0 === t$1.size) return {
|
||||||
|
matched: !0,
|
||||||
|
selections: n$1
|
||||||
|
};
|
||||||
|
if (0 === e$1.length) return { matched: !0 };
|
||||||
|
const r$1 = (t$2, e$2) => {
|
||||||
|
n$1[t$2] = (n$1[t$2] || []).concat([e$2]);
|
||||||
|
}, i$1 = e$1[0];
|
||||||
|
return {
|
||||||
|
matched: f(t$1, (t$2) => o(i$1, t$2, r$1)),
|
||||||
|
selections: n$1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getSelectionKeys: () => 0 === e$1.length ? [] : s(e$1[0])
|
||||||
|
}) });
|
||||||
|
},
|
||||||
|
map: function(...e$1) {
|
||||||
|
return a({ [t]: () => ({
|
||||||
|
match: (t$1) => {
|
||||||
|
if (!(t$1 instanceof Map)) return { matched: !1 };
|
||||||
|
let n$1 = {};
|
||||||
|
if (0 === t$1.size) return {
|
||||||
|
matched: !0,
|
||||||
|
selections: n$1
|
||||||
|
};
|
||||||
|
const r$1 = (t$2, e$2) => {
|
||||||
|
n$1[t$2] = (n$1[t$2] || []).concat([e$2]);
|
||||||
|
};
|
||||||
|
if (0 === e$1.length) return { matched: !0 };
|
||||||
|
var i$1;
|
||||||
|
if (1 === e$1.length) throw new Error(`\`P.map\` wasn't given enough arguments. Expected (key, value), received ${null == (i$1 = e$1[0]) ? void 0 : i$1.toString()}`);
|
||||||
|
const [s$1, c$1] = e$1;
|
||||||
|
return {
|
||||||
|
matched: g(t$1, (t$2, e$2) => {
|
||||||
|
const n$2 = o(s$1, e$2, r$1), i$2 = o(c$1, t$2, r$1);
|
||||||
|
return n$2 && i$2;
|
||||||
|
}),
|
||||||
|
selections: n$1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getSelectionKeys: () => 0 === e$1.length ? [] : [...s(e$1[0]), ...s(e$1[1])]
|
||||||
|
}) });
|
||||||
|
},
|
||||||
|
record: function(...e$1) {
|
||||||
|
return a({ [t]: () => ({
|
||||||
|
match: (t$1) => {
|
||||||
|
if (null === t$1 || "object" != typeof t$1 || Array.isArray(t$1)) return { matched: !1 };
|
||||||
|
var n$1;
|
||||||
|
if (0 === e$1.length) throw new Error(`\`P.record\` wasn't given enough arguments. Expected (value) or (key, value), received ${null == (n$1 = e$1[0]) ? void 0 : n$1.toString()}`);
|
||||||
|
let r$1 = {};
|
||||||
|
const i$1 = (t$2, e$2) => {
|
||||||
|
r$1[t$2] = (r$1[t$2] || []).concat([e$2]);
|
||||||
|
}, [s$1, c$1] = 1 === e$1.length ? [A, e$1[0]] : e$1;
|
||||||
|
return {
|
||||||
|
matched: m(t$1, (t$2, e$2) => {
|
||||||
|
const n$2 = "string" != typeof t$2 || Number.isNaN(Number(t$2)) ? null : Number(t$2), r$2 = null !== n$2 && o(s$1, n$2, i$1), u$1 = o(s$1, t$2, i$1), a$1 = o(c$1, e$2, i$1);
|
||||||
|
return (u$1 || r$2) && a$1;
|
||||||
|
}),
|
||||||
|
selections: r$1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
getSelectionKeys: () => 0 === e$1.length ? [] : [...s(e$1[0]), ...s(e$1[1])]
|
||||||
|
}) });
|
||||||
|
},
|
||||||
|
intersection: d,
|
||||||
|
union: y,
|
||||||
|
not: function(e$1) {
|
||||||
|
return a({ [t]: () => ({
|
||||||
|
match: (t$1) => ({ matched: !o(e$1, t$1, () => {}) }),
|
||||||
|
getSelectionKeys: () => [],
|
||||||
|
matcherType: "not"
|
||||||
|
}) });
|
||||||
|
},
|
||||||
|
when: p,
|
||||||
|
select: v,
|
||||||
|
any: K,
|
||||||
|
unknown: O,
|
||||||
|
_: E,
|
||||||
|
string: A,
|
||||||
|
number: P,
|
||||||
|
bigint: k(p(j)),
|
||||||
|
boolean: a(p(function(t$1) {
|
||||||
|
return "boolean" == typeof t$1;
|
||||||
|
})),
|
||||||
|
symbol: a(p(function(t$1) {
|
||||||
|
return "symbol" == typeof t$1;
|
||||||
|
})),
|
||||||
|
nullish: a(p(function(t$1) {
|
||||||
|
return null == t$1;
|
||||||
|
})),
|
||||||
|
nonNullable: a(p(function(t$1) {
|
||||||
|
return null != t$1;
|
||||||
|
})),
|
||||||
|
instanceOf: function(t$1) {
|
||||||
|
return a(p(function(t$2) {
|
||||||
|
return (e$1) => e$1 instanceof t$2;
|
||||||
|
}(t$1)));
|
||||||
|
},
|
||||||
|
shape: function(t$1) {
|
||||||
|
return a(p(u(t$1)));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var I = class extends Error {
|
||||||
|
constructor(t$1) {
|
||||||
|
let e$1;
|
||||||
|
try {
|
||||||
|
e$1 = JSON.stringify(t$1);
|
||||||
|
} catch (n$1) {
|
||||||
|
e$1 = t$1;
|
||||||
|
}
|
||||||
|
super(`Pattern matching error: no pattern matches value ${e$1}`), this.input = void 0, this.input = t$1;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var L = {
|
||||||
|
matched: !1,
|
||||||
|
value: void 0
|
||||||
|
};
|
||||||
|
function M(t$1) {
|
||||||
|
return new R(t$1, L);
|
||||||
|
}
|
||||||
|
var R = class R {
|
||||||
|
constructor(t$1, e$1) {
|
||||||
|
this.input = void 0, this.state = void 0, this.input = t$1, this.state = e$1;
|
||||||
|
}
|
||||||
|
with(...t$1) {
|
||||||
|
if (this.state.matched) return this;
|
||||||
|
const e$1 = t$1[t$1.length - 1], r$1 = [t$1[0]];
|
||||||
|
let i$1;
|
||||||
|
3 === t$1.length && "function" == typeof t$1[1] ? i$1 = t$1[1] : t$1.length > 2 && r$1.push(...t$1.slice(1, t$1.length - 1));
|
||||||
|
let s$1 = !1, c$1 = {};
|
||||||
|
const u$1 = (t$2, e$2) => {
|
||||||
|
s$1 = !0, c$1[t$2] = e$2;
|
||||||
|
}, a$1 = !r$1.some((t$2) => o(t$2, this.input, u$1)) || i$1 && !Boolean(i$1(this.input)) ? L : {
|
||||||
|
matched: !0,
|
||||||
|
value: e$1(s$1 ? n in c$1 ? c$1[n] : c$1 : this.input, this.input)
|
||||||
|
};
|
||||||
|
return new R(this.input, a$1);
|
||||||
|
}
|
||||||
|
when(t$1, e$1) {
|
||||||
|
if (this.state.matched) return this;
|
||||||
|
const n$1 = Boolean(t$1(this.input));
|
||||||
|
return new R(this.input, n$1 ? {
|
||||||
|
matched: !0,
|
||||||
|
value: e$1(this.input, this.input)
|
||||||
|
} : L);
|
||||||
|
}
|
||||||
|
otherwise(t$1) {
|
||||||
|
return this.state.matched ? this.state.value : t$1(this.input);
|
||||||
|
}
|
||||||
|
exhaustive(t$1 = F) {
|
||||||
|
return this.state.matched ? this.state.value : t$1(this.input);
|
||||||
|
}
|
||||||
|
run() {
|
||||||
|
return this.exhaustive();
|
||||||
|
}
|
||||||
|
returnType() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
narrow() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function F(t$1) {
|
||||||
|
throw new I(t$1);
|
||||||
|
}
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { z as n, M as t };
|
||||||
|
//# sourceMappingURL=dist.CzYTlmnN.js.map
|
||||||
File diff suppressed because one or more lines are too long
3069
web/app/themes/haiku-atelier-2024/assets/js/dom.emspS_OW.js
Normal file
3069
web/app/themes/haiku-atelier-2024/assets/js/dom.emspS_OW.js
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
2718
web/app/themes/haiku-atelier-2024/assets/js/exports.CurVqjr0.js
Normal file
2718
web/app/themes/haiku-atelier-2024/assets/js/exports.CurVqjr0.js
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
4611
web/app/themes/haiku-atelier-2024/assets/js/gaffe.js
Normal file
4611
web/app/themes/haiku-atelier-2024/assets/js/gaffe.js
Normal file
File diff suppressed because it is too large
Load diff
1
web/app/themes/haiku-atelier-2024/assets/js/gaffe.js.map
Normal file
1
web/app/themes/haiku-atelier-2024/assets/js/gaffe.js.map
Normal file
File diff suppressed because one or more lines are too long
276
web/app/themes/haiku-atelier-2024/assets/js/gardes.CYxPzOAc.js
Normal file
276
web/app/themes/haiku-atelier-2024/assets/js/gardes.CYxPzOAc.js
Normal file
|
|
@ -0,0 +1,276 @@
|
||||||
|
import { Cn as mapU, On as equal, Sn as forEachU, bn as values, fn as append, gn as get$1, hn as fromArray, wn as reduceU, yn as unsafeDeleteKey } from "./dom.emspS_OW.js";
|
||||||
|
|
||||||
|
//#region node_modules/@mobily/ts-belt/dist/index-514c1a6c.mjs
|
||||||
|
function placeholder(e) {}
|
||||||
|
function makeEmpty(e) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
function _getUnsafe(e, t) {
|
||||||
|
return e[t];
|
||||||
|
}
|
||||||
|
function getUnsafe() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _getUnsafe(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _getUnsafe(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
var o = get$1;
|
||||||
|
function get() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return o(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return o(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _prop(e, t) {
|
||||||
|
return e[t];
|
||||||
|
}
|
||||||
|
function prop() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _prop(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _prop(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function toPairs(e) {
|
||||||
|
return Object.entries(e);
|
||||||
|
}
|
||||||
|
var a = values;
|
||||||
|
function keys(e) {
|
||||||
|
return Object.keys(e);
|
||||||
|
}
|
||||||
|
var l = fromArray;
|
||||||
|
function _merge(e, t) {
|
||||||
|
return Object.assign({}, e, t);
|
||||||
|
}
|
||||||
|
function merge() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _merge(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _merge(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _set(e, t, n) {
|
||||||
|
var r = merge({}, e);
|
||||||
|
r[t] = n;
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
function set() {
|
||||||
|
if (2 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _set(t, e[0], e[1]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _set(arguments[0], arguments[1], arguments[2]);
|
||||||
|
}
|
||||||
|
function _update(e, t, r) {
|
||||||
|
return set(e, t, r(get$1(e, t)));
|
||||||
|
}
|
||||||
|
function update() {
|
||||||
|
if (2 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _update(t, e[0], e[1]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _update(arguments[0], arguments[1], arguments[2]);
|
||||||
|
}
|
||||||
|
function _updateUnsafe(e, t, n) {
|
||||||
|
return set(e, t, n(e[t]));
|
||||||
|
}
|
||||||
|
function updateUnsafe() {
|
||||||
|
if (2 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _updateUnsafe(t, e[0], e[1]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _updateUnsafe(arguments[0], arguments[1], arguments[2]);
|
||||||
|
}
|
||||||
|
function _deleteKey(e, t) {
|
||||||
|
var n = merge({}, e);
|
||||||
|
unsafeDeleteKey(n, t);
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
function deleteKey() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _deleteKey(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _deleteKey(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _deleteKeys(e, t) {
|
||||||
|
var n = merge({}, e);
|
||||||
|
forEachU(t, (function(e$1) {
|
||||||
|
unsafeDeleteKey(n, e$1);
|
||||||
|
}));
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
function deleteKeys() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _deleteKeys(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _deleteKeys(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _map(e, n) {
|
||||||
|
return fromArray(mapU(Object.keys(e), (function(t) {
|
||||||
|
return [t, n(e[t])];
|
||||||
|
})));
|
||||||
|
}
|
||||||
|
function map() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _map(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _map(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _mapWithKey(e, n) {
|
||||||
|
return fromArray(mapU(Object.keys(e), (function(t) {
|
||||||
|
return [t, n(t, e[t])];
|
||||||
|
})));
|
||||||
|
}
|
||||||
|
function mapWithKey() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _mapWithKey(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _mapWithKey(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _filter(e, n) {
|
||||||
|
return fromArray(reduceU(Object.keys(e), [], (function(t, r) {
|
||||||
|
var i = e[r];
|
||||||
|
if (n(i)) return append(t, [r, i]);
|
||||||
|
else return t;
|
||||||
|
})));
|
||||||
|
}
|
||||||
|
function filter() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _filter(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _filter(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _filterWithKey(e, n) {
|
||||||
|
return fromArray(reduceU(Object.keys(e), [], (function(t, r) {
|
||||||
|
var i = e[r];
|
||||||
|
if (n(r, i)) return append(t, [r, i]);
|
||||||
|
else return t;
|
||||||
|
})));
|
||||||
|
}
|
||||||
|
function filterWithKey() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _filterWithKey(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _filterWithKey(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _reject(e, t) {
|
||||||
|
return filter(e, (function(e$1) {
|
||||||
|
return !t(e$1);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
function reject() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _reject(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _reject(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _rejectWithKey(e, t) {
|
||||||
|
return filterWithKey(e, (function(e$1, n) {
|
||||||
|
return !t(e$1, n);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
function rejectWithKey() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _rejectWithKey(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _rejectWithKey(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _selectKeys(e, t) {
|
||||||
|
return filterWithKey(e, (function(e$1, n) {
|
||||||
|
return function includes(e$2, t$1) {
|
||||||
|
return t$1.includes(e$2);
|
||||||
|
}(e$1, t);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
function selectKeys() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const e = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _selectKeys(t, e[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _selectKeys(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function isEmpty(e) {
|
||||||
|
return equal(e, {});
|
||||||
|
}
|
||||||
|
function isNotEmpty(e) {
|
||||||
|
return !equal(e, {});
|
||||||
|
}
|
||||||
|
var y = {
|
||||||
|
__proto__: null,
|
||||||
|
placeholder,
|
||||||
|
makeEmpty,
|
||||||
|
getUnsafe,
|
||||||
|
get,
|
||||||
|
prop,
|
||||||
|
toPairs,
|
||||||
|
values: a,
|
||||||
|
keys,
|
||||||
|
fromPairs: l,
|
||||||
|
merge,
|
||||||
|
set,
|
||||||
|
update,
|
||||||
|
updateUnsafe,
|
||||||
|
deleteKey,
|
||||||
|
deleteKeys,
|
||||||
|
map,
|
||||||
|
mapWithKey,
|
||||||
|
filter,
|
||||||
|
filterWithKey,
|
||||||
|
reject,
|
||||||
|
rejectWithKey,
|
||||||
|
selectKeys,
|
||||||
|
isEmpty,
|
||||||
|
isNotEmpty
|
||||||
|
};
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts
|
||||||
|
var estElement = (typeElement) => (element) => element instanceof typeElement;
|
||||||
|
const estHTMLSelectElement = estElement(HTMLSelectElement);
|
||||||
|
const estReponse500 = (reponse) => reponse.status === 500;
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { map as a, get as i, estReponse500 as n, y as o, a as r, estHTMLSelectElement as t };
|
||||||
|
//# sourceMappingURL=gardes.CYxPzOAc.js.map
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,273 @@
|
||||||
|
import { Dn as valFromOption, En as some, On as equal, Tn as nullable_to_opt, wn as reduceU, xn as concat } from "./dom.emspS_OW.js";
|
||||||
|
import { a as isNone, c as mapWithDefaultU, d as is_extension, i as getWithDefault, l as _1, n as flatMapU, o as isSome, r as getExn, s as mapU, t as flatMap, u as create } from "./belt_Option-91f3b350.CMbgtZ-W.js";
|
||||||
|
|
||||||
|
//#region node_modules/@mobily/ts-belt/dist/Promise.bs-06a7bae6.mjs
|
||||||
|
var t = create("Promise.JsError");
|
||||||
|
function $$catch(r, s) {
|
||||||
|
return r.catch((function(r$1) {
|
||||||
|
return _1(s, is_extension(r$1) ? r$1 : {
|
||||||
|
RE_EXN_ID: t,
|
||||||
|
_1: r$1
|
||||||
|
});
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region node_modules/@mobily/ts-belt/dist/index-c1cc4c86.mjs
|
||||||
|
function placeholder(n) {}
|
||||||
|
function makeSome(n) {
|
||||||
|
return some(n);
|
||||||
|
}
|
||||||
|
function makeNone(n) {}
|
||||||
|
function fromNullable(n) {
|
||||||
|
if (null == n) return;
|
||||||
|
else return some(n);
|
||||||
|
}
|
||||||
|
function fromFalsy(n) {
|
||||||
|
if (n) return n;
|
||||||
|
}
|
||||||
|
function _fromPredicate(n, t$1) {
|
||||||
|
return flatMap(null == n ? void 0 : some(n), (function(n$1) {
|
||||||
|
if (t$1(n$1)) return some(n$1);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
function fromPredicate() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _fromPredicate(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _fromPredicate(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function fromExecution(n) {
|
||||||
|
try {
|
||||||
|
return some(n(void 0));
|
||||||
|
} catch (n$1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function fromPromise(t$1) {
|
||||||
|
return $$catch(t$1.then((function(n) {
|
||||||
|
return some(n);
|
||||||
|
})), (function(n) {
|
||||||
|
return Promise.resolve(void 0);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
var h = mapU;
|
||||||
|
function map() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return h(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return h(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
var _ = flatMapU;
|
||||||
|
function flatMap$1() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
var v = mapWithDefaultU;
|
||||||
|
function mapWithDefault() {
|
||||||
|
if (2 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return v(t$1, n[0], n[1]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return v(arguments[0], arguments[1], arguments[2]);
|
||||||
|
}
|
||||||
|
function _mapNullable(n, t$1) {
|
||||||
|
if (void 0 !== n) return nullable_to_opt(t$1(valFromOption(n)));
|
||||||
|
}
|
||||||
|
function mapNullable() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _mapNullable(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _mapNullable(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _filter(n, t$1) {
|
||||||
|
return flatMapU(n, (function(n$1) {
|
||||||
|
if (t$1(n$1)) return some(n$1);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
function filter() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _filter(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _filter(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
var g = getWithDefault;
|
||||||
|
function getWithDefault$1() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return g(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return g(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
var N = getExn;
|
||||||
|
function toNullable(n) {
|
||||||
|
return getWithDefault(n, null);
|
||||||
|
}
|
||||||
|
function toUndefined(n) {
|
||||||
|
return getWithDefault(n, void 0);
|
||||||
|
}
|
||||||
|
function _toResult(n, t$1) {
|
||||||
|
if (void 0 !== n) return {
|
||||||
|
TAG: 0,
|
||||||
|
_0: valFromOption(n)
|
||||||
|
};
|
||||||
|
else return {
|
||||||
|
TAG: 1,
|
||||||
|
_0: t$1
|
||||||
|
};
|
||||||
|
}
|
||||||
|
function toResult() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _toResult(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _toResult(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _match(n, t$1, r) {
|
||||||
|
if (void 0 !== n) return t$1(valFromOption(n));
|
||||||
|
else return r(void 0);
|
||||||
|
}
|
||||||
|
function match() {
|
||||||
|
if (2 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _match(t$1, n[0], n[1]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _match(arguments[0], arguments[1], arguments[2]);
|
||||||
|
}
|
||||||
|
var b = isNone;
|
||||||
|
var z = isSome;
|
||||||
|
function _tap(n, t$1) {
|
||||||
|
if (void 0 !== n) {
|
||||||
|
t$1(valFromOption(n));
|
||||||
|
return n;
|
||||||
|
} else return n;
|
||||||
|
}
|
||||||
|
function tap() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _tap(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _tap(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _contains(n, r) {
|
||||||
|
return mapWithDefaultU(n, !1, (function(n$1) {
|
||||||
|
return equal(n$1, r);
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
function contains() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _contains(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _contains(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _zip(n, t$1) {
|
||||||
|
if (void 0 !== n && void 0 !== t$1) return [valFromOption(n), valFromOption(t$1)];
|
||||||
|
}
|
||||||
|
function zip() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _zip(t$1, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _zip(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _zipWith(n, t$1, r) {
|
||||||
|
if (void 0 !== n && void 0 !== t$1) return some(r(valFromOption(n), valFromOption(t$1)));
|
||||||
|
}
|
||||||
|
function zipWith() {
|
||||||
|
if (2 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _zipWith(t$1, n[0], n[1]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _zipWith(arguments[0], arguments[1], arguments[2]);
|
||||||
|
}
|
||||||
|
function _fold(n, t$1, r) {
|
||||||
|
if (void 0 !== n) return t$1(valFromOption(n));
|
||||||
|
else return r(void 0);
|
||||||
|
}
|
||||||
|
function fold() {
|
||||||
|
if (2 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t$1) {
|
||||||
|
return _fold(t$1, n[0], n[1]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _fold(arguments[0], arguments[1], arguments[2]);
|
||||||
|
}
|
||||||
|
function all(n) {
|
||||||
|
return reduceU(n, [], (function(n$1, t$1) {
|
||||||
|
return flatMapU(n$1, (function(n$2) {
|
||||||
|
if (void 0 !== t$1) return concat(n$2, [valFromOption(t$1)]);
|
||||||
|
}));
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
var Some = (n) => n;
|
||||||
|
var P = {
|
||||||
|
__proto__: null,
|
||||||
|
Some,
|
||||||
|
None: void 0,
|
||||||
|
placeholder,
|
||||||
|
makeSome,
|
||||||
|
makeNone,
|
||||||
|
fromNullable,
|
||||||
|
fromFalsy,
|
||||||
|
fromPredicate,
|
||||||
|
fromExecution,
|
||||||
|
fromPromise,
|
||||||
|
map,
|
||||||
|
flatMap: flatMap$1,
|
||||||
|
mapWithDefault,
|
||||||
|
mapNullable,
|
||||||
|
filter,
|
||||||
|
getWithDefault: getWithDefault$1,
|
||||||
|
getExn: N,
|
||||||
|
toNullable,
|
||||||
|
toUndefined,
|
||||||
|
toResult,
|
||||||
|
match,
|
||||||
|
isNone: b,
|
||||||
|
isSome: z,
|
||||||
|
tap,
|
||||||
|
contains,
|
||||||
|
zip,
|
||||||
|
zipWith,
|
||||||
|
fold,
|
||||||
|
all
|
||||||
|
};
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { tap as n, P as t };
|
||||||
|
//# sourceMappingURL=index-c1cc4c86.D2nZEikK.js.map
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,3 @@
|
||||||
|
import { n as nuLogger, t as logger } from "./journalisation.CEgm28xa.js";
|
||||||
|
|
||||||
|
export { logger, nuLogger };
|
||||||
253
web/app/themes/haiku-atelier-2024/assets/js/messages.CqHLtCes.js
Normal file
253
web/app/themes/haiku-atelier-2024/assets/js/messages.CqHLtCes.js
Normal file
|
|
@ -0,0 +1,253 @@
|
||||||
|
import { dt as pipe } from "./exports.CurVqjr0.js";
|
||||||
|
import { A as integer, B as parse, D as boolean, E as array, F as null_, G as unknown, H as string, I as number, K as url, L as object, O as enum_, R as omit, S as reporteErreur, U as transform, V as pipe$1, W as union, X as Either, q as value } from "./dom.emspS_OW.js";
|
||||||
|
import { r as WCErrorSchema, t as safeSchemaParse } from "./validation.CYJDC5vQ.js";
|
||||||
|
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts
|
||||||
|
/** Constantes liées aux Messages passés par BroadcastChannel. */
|
||||||
|
const NOM_CANAL_BOUTON_PANIER = "bouton_panier";
|
||||||
|
const NOM_CANAL_CONTENU_PANIER = "contenu_panier";
|
||||||
|
const NOM_CANAL_REVALIDATION_LIVRAISON = "revalidation_livraison";
|
||||||
|
const TYPES_MESSAGES = {
|
||||||
|
MajBoutonPanier: "maj_bouton_panier",
|
||||||
|
MajContenuPanier: "maj_contenu_panier",
|
||||||
|
RevalidationLivraison: "revalidation_livraison"
|
||||||
|
};
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/constantes/api/cart.ts
|
||||||
|
/** Constantes liées aux Paniers WooCommerce. */
|
||||||
|
const CATALOG_VISIBILITIES = {
|
||||||
|
INVISIBLE: "invisible",
|
||||||
|
VISIBLE: "visible"
|
||||||
|
};
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts
|
||||||
|
const WCStoreBillingAddressSchema = object({
|
||||||
|
address_1: string(),
|
||||||
|
address_2: string(),
|
||||||
|
city: string(),
|
||||||
|
company: string(),
|
||||||
|
country: string(),
|
||||||
|
email: string(),
|
||||||
|
first_name: string(),
|
||||||
|
last_name: string(),
|
||||||
|
phone: string(),
|
||||||
|
postcode: string(),
|
||||||
|
state: string()
|
||||||
|
});
|
||||||
|
const WCStoreShippingAddressSchema = object({
|
||||||
|
address_1: string(),
|
||||||
|
address_2: string(),
|
||||||
|
city: string(),
|
||||||
|
company: string(),
|
||||||
|
country: string(),
|
||||||
|
first_name: string(),
|
||||||
|
last_name: string(),
|
||||||
|
phone: string(),
|
||||||
|
postcode: string(),
|
||||||
|
state: string()
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts
|
||||||
|
const WCStoreCartCouponsArgSchema = object({ code: string() });
|
||||||
|
const WCStoreCartCouponsSchema = object({
|
||||||
|
code: string(),
|
||||||
|
discount_type: string(),
|
||||||
|
totals: object({
|
||||||
|
currency_code: string(),
|
||||||
|
currency_decimal_separator: string(),
|
||||||
|
currency_minor_unit: pipe$1(number(), integer()),
|
||||||
|
currency_prefix: string(),
|
||||||
|
currency_suffix: string(),
|
||||||
|
currency_symbol: string(),
|
||||||
|
currency_thousand_separator: string(),
|
||||||
|
total_discount: string(),
|
||||||
|
total_discount_tax: string()
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts
|
||||||
|
const WCStoreShippingRateItemSchema = object({
|
||||||
|
key: string(),
|
||||||
|
name: string(),
|
||||||
|
quantity: number()
|
||||||
|
});
|
||||||
|
const WCStoreShippingRateShippingRateSchema = object({
|
||||||
|
currency_code: string(),
|
||||||
|
currency_decimal_separator: string(),
|
||||||
|
currency_minor_unit: number(),
|
||||||
|
currency_prefix: string(),
|
||||||
|
currency_suffix: string(),
|
||||||
|
currency_symbol: string(),
|
||||||
|
currency_thousand_separator: string(),
|
||||||
|
delivery_time: string(),
|
||||||
|
description: string(),
|
||||||
|
instance_id: number(),
|
||||||
|
meta_data: array(unknown()),
|
||||||
|
method_id: string(),
|
||||||
|
name: string(),
|
||||||
|
price: pipe$1(union([string(), number()]), transform(Number)),
|
||||||
|
rate_id: string(),
|
||||||
|
selected: boolean(),
|
||||||
|
taxes: string()
|
||||||
|
});
|
||||||
|
const WCStoreShippingRateShippingRatesSchema = array(WCStoreShippingRateShippingRateSchema);
|
||||||
|
const WCStoreShippingRateSchema = object({
|
||||||
|
destination: omit(WCStoreShippingAddressSchema, [
|
||||||
|
"company",
|
||||||
|
"first_name",
|
||||||
|
"last_name",
|
||||||
|
"phone"
|
||||||
|
]),
|
||||||
|
items: array(WCStoreShippingRateItemSchema),
|
||||||
|
name: string(),
|
||||||
|
package_id: number(),
|
||||||
|
shipping_rates: WCStoreShippingRateShippingRatesSchema
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts
|
||||||
|
const WCStoreCartItemTotalsSchema = object({
|
||||||
|
currency_code: string(),
|
||||||
|
currency_decimal_separator: string(),
|
||||||
|
currency_minor_unit: number(),
|
||||||
|
currency_prefix: string(),
|
||||||
|
currency_suffix: string(),
|
||||||
|
currency_symbol: string(),
|
||||||
|
currency_thousand_separator: string(),
|
||||||
|
line_subtotal: string(),
|
||||||
|
line_subtotal_tax: string(),
|
||||||
|
line_total: string(),
|
||||||
|
line_total_tax: string()
|
||||||
|
});
|
||||||
|
const WCStoreCartItemSchema = object({
|
||||||
|
backorders_allowed: boolean(),
|
||||||
|
catalog_visibility: enum_(CATALOG_VISIBILITIES),
|
||||||
|
description: string(),
|
||||||
|
extensions: unknown(),
|
||||||
|
id: number(),
|
||||||
|
images: array(unknown()),
|
||||||
|
item_data: array(unknown()),
|
||||||
|
key: string(),
|
||||||
|
low_stock_remaining: union([null_()]),
|
||||||
|
name: string(),
|
||||||
|
permalink: pipe$1(string(), url()),
|
||||||
|
prices: unknown(),
|
||||||
|
quantity: number(),
|
||||||
|
quantity_limits: unknown(),
|
||||||
|
short_description: string(),
|
||||||
|
show_backorder_badge: boolean(),
|
||||||
|
sku: string(),
|
||||||
|
sold_individually: boolean(),
|
||||||
|
totals: WCStoreCartItemTotalsSchema,
|
||||||
|
type: string(),
|
||||||
|
variation: array(unknown())
|
||||||
|
});
|
||||||
|
const WCStoreCartTotalsSchema = object({
|
||||||
|
currency_code: string(),
|
||||||
|
currency_decimal_separator: string(),
|
||||||
|
currency_minor_unit: number(),
|
||||||
|
currency_prefix: string(),
|
||||||
|
currency_suffix: string(),
|
||||||
|
currency_symbol: string(),
|
||||||
|
currency_thousand_separator: string(),
|
||||||
|
tax_lines: array(unknown()),
|
||||||
|
total_discount: pipe$1(union([string(), number()]), transform(Number)),
|
||||||
|
total_discount_tax: string(),
|
||||||
|
total_fees: string(),
|
||||||
|
total_fees_tax: string(),
|
||||||
|
total_items: pipe$1(union([string(), number()]), transform(Number)),
|
||||||
|
total_items_tax: string(),
|
||||||
|
total_price: pipe$1(union([string(), number()]), transform(Number)),
|
||||||
|
total_shipping: pipe$1(union([
|
||||||
|
string(),
|
||||||
|
number(),
|
||||||
|
null_()
|
||||||
|
]), transform((n) => n ? Number(n) : 0)),
|
||||||
|
total_shipping_tax: union([string(), null_()]),
|
||||||
|
total_tax: string()
|
||||||
|
});
|
||||||
|
const WCStoreCartSchema = object({
|
||||||
|
billing_address: WCStoreBillingAddressSchema,
|
||||||
|
coupons: array(WCStoreCartCouponsSchema),
|
||||||
|
cross_sells: unknown(),
|
||||||
|
errors: unknown(),
|
||||||
|
extensions: unknown(),
|
||||||
|
fees: unknown(),
|
||||||
|
has_calculated_shipping: boolean(),
|
||||||
|
items: array(WCStoreCartItemSchema),
|
||||||
|
items_count: pipe$1(number(), integer()),
|
||||||
|
items_weight: pipe$1(number(), integer()),
|
||||||
|
needs_payment: boolean(),
|
||||||
|
needs_shipping: boolean(),
|
||||||
|
payment_methods: unknown(),
|
||||||
|
payment_requirements: unknown(),
|
||||||
|
shipping_address: WCStoreShippingAddressSchema,
|
||||||
|
shipping_rates: array(WCStoreShippingRateSchema),
|
||||||
|
totals: WCStoreCartTotalsSchema
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts
|
||||||
|
const TypesMessagesSchema = enum_(TYPES_MESSAGES);
|
||||||
|
const MessageMajBoutonPanierDonneesSchema = object({ quantiteProduits: number() });
|
||||||
|
const MessageMajBoutonPanierSchema = object({
|
||||||
|
donnees: MessageMajBoutonPanierDonneesSchema,
|
||||||
|
type: pipe$1(string(), value(TYPES_MESSAGES.MajBoutonPanier))
|
||||||
|
});
|
||||||
|
const MessageMajContenuPanierDonneesSchema = object({
|
||||||
|
produits: array(WCStoreCartItemSchema),
|
||||||
|
sousTotalProduits: number(),
|
||||||
|
sousTotalReduction: number(),
|
||||||
|
totalPanier: number()
|
||||||
|
});
|
||||||
|
const MessageMajContenuPanierSchema = object({
|
||||||
|
donnees: MessageMajContenuPanierDonneesSchema,
|
||||||
|
type: pipe$1(string(), value(TYPES_MESSAGES.MajContenuPanier))
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts
|
||||||
|
var canalPostMessage = (canal, message) => {
|
||||||
|
canal.postMessage(message);
|
||||||
|
return canal;
|
||||||
|
};
|
||||||
|
const emetMessageMajBoutonPanier = (args) => {
|
||||||
|
const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);
|
||||||
|
canal.postMessage({
|
||||||
|
donnees: { quantiteProduits: args.quantiteProduits },
|
||||||
|
type: TYPES_MESSAGES.MajBoutonPanier
|
||||||
|
});
|
||||||
|
canal.close();
|
||||||
|
};
|
||||||
|
const emetMessageMajContenuPanier = (args) => {
|
||||||
|
const canal = new BroadcastChannel(NOM_CANAL_CONTENU_PANIER);
|
||||||
|
canal.postMessage({
|
||||||
|
donnees: {
|
||||||
|
produits: args.produits,
|
||||||
|
sousTotalProduits: args.sousTotalProduits,
|
||||||
|
sousTotalReduction: args.sousTotalReduction,
|
||||||
|
totalPanier: args.totalPanier
|
||||||
|
},
|
||||||
|
type: TYPES_MESSAGES.MajContenuPanier
|
||||||
|
});
|
||||||
|
canal.close();
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Émet un unique message vers un BroadcastChannel (canal) généré sur le moment puis le ferme.
|
||||||
|
*
|
||||||
|
* @param nomCanal Le nom du BroadcastChannel pour lequel le message est émis.
|
||||||
|
* @param message Le message émis.
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
const emetUniqueMessageBroadcastChannel = (nomCanal, message) => pipe(new BroadcastChannel(nomCanal), (canal) => canalPostMessage(canal, message), (canal) => canal.close());
|
||||||
|
const valideMessageMajBoutonPanier = (evenementMessage) => Either.of(parse(MessageMajBoutonPanierSchema, evenementMessage.data)).ifLeft((erreur) => reporteErreur(erreur));
|
||||||
|
const valideMessageMajContenuPanier = (evenementMessage) => Either.of(parse(MessageMajContenuPanierSchema, evenementMessage.data)).ifLeft((erreur) => reporteErreur(erreur));
|
||||||
|
const reponseEstCodeErreurWC = (reponse, codeErreurWC) => safeSchemaParse(reponse, WCErrorSchema).map((v) => v.body.code === codeErreurWC).orDefault(false);
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { valideMessageMajBoutonPanier as a, WCStoreCartTotalsSchema as c, WCStoreShippingAddressSchema as d, NOM_CANAL_BOUTON_PANIER as f, reponseEstCodeErreurWC as i, WCStoreShippingRateShippingRatesSchema as l, NOM_CANAL_REVALIDATION_LIVRAISON as m, emetMessageMajContenuPanier as n, valideMessageMajContenuPanier as o, NOM_CANAL_CONTENU_PANIER as p, emetUniqueMessageBroadcastChannel as r, WCStoreCartSchema as s, emetMessageMajBoutonPanier as t, WCStoreBillingAddressSchema as u };
|
||||||
|
//# sourceMappingURL=messages.CqHLtCes.js.map
|
||||||
File diff suppressed because one or more lines are too long
176
web/app/themes/haiku-atelier-2024/assets/js/nombres.E65h3XxA.js
Normal file
176
web/app/themes/haiku-atelier-2024/assets/js/nombres.E65h3XxA.js
Normal file
|
|
@ -0,0 +1,176 @@
|
||||||
|
import { dt as pipe } from "./exports.CurVqjr0.js";
|
||||||
|
|
||||||
|
//#region node_modules/@mobily/ts-belt/dist/index-272b4672.mjs
|
||||||
|
function mod_(t$1, n$1) {
|
||||||
|
if (0 === n$1) throw {
|
||||||
|
RE_EXN_ID: "Division_by_zero",
|
||||||
|
Error: /* @__PURE__ */ new Error()
|
||||||
|
};
|
||||||
|
return t$1 % n$1;
|
||||||
|
}
|
||||||
|
function placeholder(t$1) {}
|
||||||
|
function pred(t$1) {
|
||||||
|
return t$1 - 1 | 0;
|
||||||
|
}
|
||||||
|
function succ(t$1) {
|
||||||
|
return t$1 + 1 | 0;
|
||||||
|
}
|
||||||
|
function _add(t$1, n$1) {
|
||||||
|
return t$1 + n$1;
|
||||||
|
}
|
||||||
|
function add() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _add(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _add(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _subtract(t$1, n$1) {
|
||||||
|
return t$1 - n$1;
|
||||||
|
}
|
||||||
|
function subtract() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _subtract(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _subtract(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _multiply(t$1, n$1) {
|
||||||
|
return t$1 * n$1;
|
||||||
|
}
|
||||||
|
function multiply() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _multiply(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _multiply(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _divide(t$1, n$1) {
|
||||||
|
return t$1 / n$1;
|
||||||
|
}
|
||||||
|
function divide() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _divide(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _divide(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
var t = mod_;
|
||||||
|
function modulo() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n$1 = arguments;
|
||||||
|
return function fn(r) {
|
||||||
|
return t(r, n$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return t(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _divideWithModulo(t$1, n$1) {
|
||||||
|
return [t$1 / n$1, mod_(0 | t$1, 0 | n$1)];
|
||||||
|
}
|
||||||
|
function divideWithModulo() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _divideWithModulo(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _divideWithModulo(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _gt(t$1, n$1) {
|
||||||
|
return t$1 > n$1;
|
||||||
|
}
|
||||||
|
function gt() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _gt(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _gt(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _gte(t$1, n$1) {
|
||||||
|
return t$1 >= n$1;
|
||||||
|
}
|
||||||
|
function gte() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _gte(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _gte(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _lt(t$1, n$1) {
|
||||||
|
return t$1 < n$1;
|
||||||
|
}
|
||||||
|
function lt() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _lt(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _lt(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _lte(t$1, n$1) {
|
||||||
|
return t$1 <= n$1;
|
||||||
|
}
|
||||||
|
function lte() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _lte(n$1, t$1[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _lte(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
function _clamp(t$1, n$1, r) {
|
||||||
|
return Math.min(Math.max(t$1, n$1), r);
|
||||||
|
}
|
||||||
|
function clamp() {
|
||||||
|
if (2 === arguments.length) {
|
||||||
|
const t$1 = arguments;
|
||||||
|
return function fn(n$1) {
|
||||||
|
return _clamp(n$1, t$1[0], t$1[1]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _clamp(arguments[0], arguments[1], arguments[2]);
|
||||||
|
}
|
||||||
|
var n = {
|
||||||
|
__proto__: null,
|
||||||
|
placeholder,
|
||||||
|
pred,
|
||||||
|
succ,
|
||||||
|
add,
|
||||||
|
subtract,
|
||||||
|
multiply,
|
||||||
|
divide,
|
||||||
|
modulo,
|
||||||
|
divideWithModulo,
|
||||||
|
gt,
|
||||||
|
gte,
|
||||||
|
lt,
|
||||||
|
lte,
|
||||||
|
clamp
|
||||||
|
};
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts
|
||||||
|
const estEntreDeuxNombres = (nombre, min, max) => n.gte(nombre, min) && n.lt(nombre, max);
|
||||||
|
const diviseParCent = (nombre) => Number(nombre) / 100;
|
||||||
|
const arrondisADeuxDecimales = (nombre) => pipe(Number(nombre), (n$1) => n$1.toFixed(2));
|
||||||
|
const inverseNombre = (nombre) => Number(nombre) * -1;
|
||||||
|
const formateEnEuros = (nombre) => `${String(nombre)}€`;
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { inverseNombre as a, formateEnEuros as i, diviseParCent as n, estEntreDeuxNombres as r, arrondisADeuxDecimales as t };
|
||||||
|
//# sourceMappingURL=nombres.E65h3XxA.js.map
|
||||||
File diff suppressed because one or more lines are too long
353
web/app/themes/haiku-atelier-2024/assets/js/reseau.BY4MrTI9.js
Normal file
353
web/app/themes/haiku-atelier-2024/assets/js/reseau.BY4MrTI9.js
Normal file
|
|
@ -0,0 +1,353 @@
|
||||||
|
import { $ as Maybe, Q as right, X as Either, Z as left, b as ServerError, et as just, h as BadRequestError, tt as nothing, v as ForbiddenError, x as UnauthorizedError, y as NotFoundError } from "./dom.emspS_OW.js";
|
||||||
|
import { r as ENTETE_WC_NONCE } from "./api.CM5TBNEA.js";
|
||||||
|
import { t as M } from "./dist.CzYTlmnN.js";
|
||||||
|
|
||||||
|
//#region node_modules/purify-ts/esm/EitherAsync.js
|
||||||
|
var _a$1;
|
||||||
|
var helpers$1 = {
|
||||||
|
liftEither(either) {
|
||||||
|
if (either.isRight()) return Promise.resolve(either.extract());
|
||||||
|
throw either.extract();
|
||||||
|
},
|
||||||
|
fromPromise(promise) {
|
||||||
|
return promise.then(helpers$1.liftEither);
|
||||||
|
},
|
||||||
|
throwE(error) {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var EitherAsyncImpl = class {
|
||||||
|
constructor(runPromise) {
|
||||||
|
this.runPromise = runPromise;
|
||||||
|
this[_a$1] = "EitherAsync";
|
||||||
|
this.then = (onfulfilled, onrejected) => {
|
||||||
|
return this.run().then(onfulfilled, onrejected);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
leftOrDefault(defaultValue) {
|
||||||
|
return this.run().then((x) => x.leftOrDefault(defaultValue));
|
||||||
|
}
|
||||||
|
orDefault(defaultValue) {
|
||||||
|
return this.run().then((x) => x.orDefault(defaultValue));
|
||||||
|
}
|
||||||
|
join() {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const either = await this;
|
||||||
|
if (either.isRight()) {
|
||||||
|
const nestedEither = await either.extract();
|
||||||
|
return helpers$2.liftEither(nestedEither);
|
||||||
|
}
|
||||||
|
return helpers$2.liftEither(either);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ap(eitherF) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const otherValue = await eitherF;
|
||||||
|
if (otherValue.isRight()) {
|
||||||
|
const thisValue = await this.run();
|
||||||
|
if (thisValue.isRight()) return otherValue.extract()(thisValue.extract());
|
||||||
|
else return helpers$2.liftEither(thisValue);
|
||||||
|
}
|
||||||
|
return helpers$2.liftEither(otherValue);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
alt(other) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const thisValue = await this.run();
|
||||||
|
if (thisValue.isRight()) return thisValue.extract();
|
||||||
|
else {
|
||||||
|
const otherValue = await other;
|
||||||
|
return helpers$2.liftEither(otherValue);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
extend(f) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const either = await this.run();
|
||||||
|
if (either.isRight()) {
|
||||||
|
const v = EitherAsync.liftEither(either);
|
||||||
|
return helpers$2.liftEither(right(f(v)));
|
||||||
|
}
|
||||||
|
return helpers$2.liftEither(either);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
async run() {
|
||||||
|
try {
|
||||||
|
return right(await this.runPromise(helpers$1));
|
||||||
|
} catch (e) {
|
||||||
|
return left(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bimap(f, g) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const either = await this.run();
|
||||||
|
try {
|
||||||
|
return await helpers$2.liftEither(either.bimap(f, g));
|
||||||
|
} catch (e) {
|
||||||
|
throw await e;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
map(f) {
|
||||||
|
return EitherAsync((helpers$2) => this.runPromise(helpers$2).then(f));
|
||||||
|
}
|
||||||
|
mapLeft(f) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
try {
|
||||||
|
return await this.runPromise(helpers$2);
|
||||||
|
} catch (e) {
|
||||||
|
throw await f(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
chain(f) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const value = await this.runPromise(helpers$2);
|
||||||
|
return helpers$2.fromPromise(f(value));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
chainLeft(f) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
try {
|
||||||
|
return await this.runPromise(helpers$2);
|
||||||
|
} catch (e) {
|
||||||
|
return helpers$2.fromPromise(f(e));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
toMaybeAsync() {
|
||||||
|
return MaybeAsync(async ({ liftMaybe }) => {
|
||||||
|
return liftMaybe((await this.run()).toMaybe());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
swap() {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const either = await this.run();
|
||||||
|
if (either.isRight()) helpers$2.throwE(either.extract());
|
||||||
|
return helpers$2.liftEither(right(either.extract()));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ifLeft(effect) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const either = await this.run();
|
||||||
|
either.ifLeft(effect);
|
||||||
|
return helpers$2.liftEither(either);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ifRight(effect) {
|
||||||
|
return EitherAsync(async (helpers$2) => {
|
||||||
|
const either = await this.run();
|
||||||
|
either.ifRight(effect);
|
||||||
|
return helpers$2.liftEither(either);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
void() {
|
||||||
|
return this.map((_) => {});
|
||||||
|
}
|
||||||
|
caseOf(patterns) {
|
||||||
|
return this.run().then((x) => x.caseOf(patterns));
|
||||||
|
}
|
||||||
|
finally(effect) {
|
||||||
|
return EitherAsync(({ fromPromise }) => fromPromise(this.run().finally(effect)));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
_a$1 = Symbol.toStringTag;
|
||||||
|
EitherAsyncImpl.prototype["fantasy-land/chain"] = EitherAsyncImpl.prototype.chain;
|
||||||
|
EitherAsyncImpl.prototype["fantasy-land/alt"] = EitherAsyncImpl.prototype.alt;
|
||||||
|
const EitherAsync = Object.assign((runPromise) => new EitherAsyncImpl(runPromise), {
|
||||||
|
fromPromise: (f) => EitherAsync(({ fromPromise: fP }) => fP(f())),
|
||||||
|
liftEither: (either) => EitherAsync(({ liftEither }) => liftEither(either)),
|
||||||
|
lefts: (list) => Promise.all(list.map((x) => x.run())).then(Either.lefts),
|
||||||
|
rights: (list) => Promise.all(list.map((x) => x.run())).then(Either.rights),
|
||||||
|
sequence: (eas) => EitherAsync(async (helpers$2) => {
|
||||||
|
let res = [];
|
||||||
|
for await (const e of eas) {
|
||||||
|
if (e.isLeft()) return helpers$2.liftEither(e);
|
||||||
|
res.push(e.extract());
|
||||||
|
}
|
||||||
|
return helpers$2.liftEither(right(res));
|
||||||
|
}),
|
||||||
|
all: (eas) => EitherAsync.fromPromise(async () => Promise.all(eas).then(Either.sequence))
|
||||||
|
});
|
||||||
|
EitherAsyncImpl.prototype.constructor = EitherAsync;
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region node_modules/purify-ts/esm/MaybeAsync.js
|
||||||
|
var _a;
|
||||||
|
var helpers = {
|
||||||
|
liftMaybe(maybe) {
|
||||||
|
if (maybe.isJust()) return Promise.resolve(maybe.extract());
|
||||||
|
throw nothing;
|
||||||
|
},
|
||||||
|
fromPromise(promise) {
|
||||||
|
return promise.then(helpers.liftMaybe);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var MaybeAsyncImpl = class {
|
||||||
|
constructor(runPromise) {
|
||||||
|
this.runPromise = runPromise;
|
||||||
|
this[_a] = "MaybeAsync";
|
||||||
|
}
|
||||||
|
orDefault(defaultValue) {
|
||||||
|
return this.run().then((x) => x.orDefault(defaultValue));
|
||||||
|
}
|
||||||
|
join() {
|
||||||
|
return MaybeAsync(async (helpers$2) => {
|
||||||
|
const maybe = await this.run();
|
||||||
|
if (maybe.isJust()) {
|
||||||
|
const nestedMaybe = await maybe.extract();
|
||||||
|
return helpers$2.liftMaybe(nestedMaybe);
|
||||||
|
}
|
||||||
|
return helpers$2.liftMaybe(nothing);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ap(maybeF) {
|
||||||
|
return MaybeAsync(async (helpers$2) => {
|
||||||
|
const otherValue = await maybeF;
|
||||||
|
if (otherValue.isJust()) {
|
||||||
|
const thisValue = await this.run();
|
||||||
|
if (thisValue.isJust()) return otherValue.extract()(thisValue.extract());
|
||||||
|
else return helpers$2.liftMaybe(nothing);
|
||||||
|
}
|
||||||
|
return helpers$2.liftMaybe(nothing);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
alt(other) {
|
||||||
|
return MaybeAsync(async (helpers$2) => {
|
||||||
|
const thisValue = await this.run();
|
||||||
|
if (thisValue.isJust()) return thisValue.extract();
|
||||||
|
else {
|
||||||
|
const otherValue = await other;
|
||||||
|
return helpers$2.liftMaybe(otherValue);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
extend(f) {
|
||||||
|
return MaybeAsync(async (helpers$2) => {
|
||||||
|
const maybe = await this.run();
|
||||||
|
if (maybe.isJust()) {
|
||||||
|
const v = MaybeAsync.liftMaybe(maybe);
|
||||||
|
return helpers$2.liftMaybe(just(f(v)));
|
||||||
|
}
|
||||||
|
return helpers$2.liftMaybe(nothing);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
filter(pred) {
|
||||||
|
return MaybeAsync(async (helpers$2) => {
|
||||||
|
const value = await this.run();
|
||||||
|
return helpers$2.liftMaybe(value.filter(pred));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
async run() {
|
||||||
|
try {
|
||||||
|
return just(await this.runPromise(helpers));
|
||||||
|
} catch {
|
||||||
|
return nothing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
map(f) {
|
||||||
|
return MaybeAsync((helpers$2) => this.runPromise(helpers$2).then(f));
|
||||||
|
}
|
||||||
|
chain(f) {
|
||||||
|
return MaybeAsync(async (helpers$2) => {
|
||||||
|
const value = await this.runPromise(helpers$2);
|
||||||
|
return helpers$2.fromPromise(f(value));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
toEitherAsync(error) {
|
||||||
|
return EitherAsync(async ({ liftEither }) => {
|
||||||
|
return liftEither((await this.run()).toEither(error));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ifJust(effect) {
|
||||||
|
return MaybeAsync(async (helpers$2) => {
|
||||||
|
const maybe = await this.run();
|
||||||
|
maybe.ifJust(effect);
|
||||||
|
return helpers$2.liftMaybe(maybe);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ifNothing(effect) {
|
||||||
|
return MaybeAsync(async (helpers$2) => {
|
||||||
|
const maybe = await this.run();
|
||||||
|
maybe.ifNothing(effect);
|
||||||
|
return helpers$2.liftMaybe(maybe);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
void() {
|
||||||
|
return this.map((_) => {});
|
||||||
|
}
|
||||||
|
caseOf(patterns) {
|
||||||
|
return this.run().then((x) => x.caseOf(patterns));
|
||||||
|
}
|
||||||
|
finally(effect) {
|
||||||
|
return MaybeAsync(({ fromPromise }) => fromPromise(this.run().finally(effect)));
|
||||||
|
}
|
||||||
|
then(onfulfilled, onrejected) {
|
||||||
|
return this.run().then(onfulfilled, onrejected);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
_a = Symbol.toStringTag;
|
||||||
|
MaybeAsyncImpl.prototype["fantasy-land/chain"] = MaybeAsyncImpl.prototype.chain;
|
||||||
|
MaybeAsyncImpl.prototype["fantasy-land/filter"] = MaybeAsyncImpl.prototype.filter;
|
||||||
|
MaybeAsyncImpl.prototype["fantasy-land/alt"] = MaybeAsyncImpl.prototype.alt;
|
||||||
|
const MaybeAsync = Object.assign((runPromise) => new MaybeAsyncImpl(runPromise), {
|
||||||
|
catMaybes: (list) => Promise.all(list).then(Maybe.catMaybes),
|
||||||
|
fromPromise: (f) => MaybeAsync(({ fromPromise: fP }) => fP(f())),
|
||||||
|
liftMaybe: (maybe) => MaybeAsync(({ liftMaybe }) => liftMaybe(maybe))
|
||||||
|
});
|
||||||
|
MaybeAsyncImpl.prototype.constructor = MaybeAsync;
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts
|
||||||
|
const getBackendAvecParametresUrl = (args) => fetch(`${args.route}?${args.searchParams}`, {
|
||||||
|
credentials: "same-origin",
|
||||||
|
headers: {
|
||||||
|
Accept: "application/json",
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
[ENTETE_WC_NONCE]: args.nonce,
|
||||||
|
...args.authString && { Authorization: `Basic ${args.authString}` }
|
||||||
|
},
|
||||||
|
method: "GET",
|
||||||
|
mode: "same-origin",
|
||||||
|
signal: AbortSignal.timeout(5e3)
|
||||||
|
});
|
||||||
|
const postBackend = (args) => fetch(args.route, {
|
||||||
|
body: args.corps,
|
||||||
|
credentials: "same-origin",
|
||||||
|
headers: {
|
||||||
|
Accept: "application/json",
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
[ENTETE_WC_NONCE]: args.nonce,
|
||||||
|
...args.authString && { Authorization: `Basic ${args.authString}` }
|
||||||
|
},
|
||||||
|
method: "POST",
|
||||||
|
mode: "same-origin",
|
||||||
|
signal: AbortSignal.timeout(5e3)
|
||||||
|
});
|
||||||
|
const prefilledPostBackend = (nonce, authString) => (route, body, needsAuthString) => fetch(route, {
|
||||||
|
body,
|
||||||
|
credentials: "same-origin",
|
||||||
|
headers: {
|
||||||
|
Accept: "application/json",
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
[ENTETE_WC_NONCE]: nonce,
|
||||||
|
...authString && needsAuthString && { Authorization: `Basic ${authString}` }
|
||||||
|
},
|
||||||
|
method: "POST",
|
||||||
|
mode: "same-origin",
|
||||||
|
signal: AbortSignal.timeout(5e3)
|
||||||
|
});
|
||||||
|
const safeFetch = (f) => EitherAsync(async () => await f);
|
||||||
|
const newPartialResponse = async (reponse) => {
|
||||||
|
return {
|
||||||
|
body: await reponse.json(),
|
||||||
|
status: reponse.status
|
||||||
|
};
|
||||||
|
};
|
||||||
|
const traiteErreursBackendWooCommerce = (rs) => {
|
||||||
|
return M(rs).with({ status: 400 }, () => new BadRequestError()).with({ status: 401 }, () => new UnauthorizedError()).with({ status: 403 }, () => new ForbiddenError()).with({ status: 404 }, () => new NotFoundError()).with({ status: 500 }, () => new ServerError()).otherwise((rs$1) => new Error(String(rs$1.status)));
|
||||||
|
};
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { safeFetch as a, prefilledPostBackend as i, newPartialResponse as n, traiteErreursBackendWooCommerce as o, postBackend as r, EitherAsync as s, getBackendAvecParametresUrl as t };
|
||||||
|
//# sourceMappingURL=reseau.BY4MrTI9.js.map
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,32 @@
|
||||||
|
import "./journalisation.CEgm28xa.js";
|
||||||
|
import "./exports.CurVqjr0.js";
|
||||||
|
import { At as DOM_BOUTON_PANIER, a as mustGetEleInDocument, ut as ATTRIBUT_CONTIENT_ARTICLES } from "./dom.emspS_OW.js";
|
||||||
|
import { a as valideMessageMajBoutonPanier, f as NOM_CANAL_BOUTON_PANIER } from "./messages.CqHLtCes.js";
|
||||||
|
import "./validation.CYJDC5vQ.js";
|
||||||
|
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts
|
||||||
|
/**
|
||||||
|
* Initialise les interactions et la mise à jour du bouton « Panier » contenant le nombre d'articles dans le Panier.
|
||||||
|
*
|
||||||
|
* @returns void
|
||||||
|
*/
|
||||||
|
var initialiseBoutonPanier = () => {
|
||||||
|
/** Le « Bouton » vers le Panier avec un indicateur de la quantité de Produits ajoutés. */
|
||||||
|
const BOUTON_PANIER = mustGetEleInDocument(DOM_BOUTON_PANIER);
|
||||||
|
const CANAL_BOUTON_PANIER = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);
|
||||||
|
CANAL_BOUTON_PANIER.onmessage = (evenementMessage) => {
|
||||||
|
valideMessageMajBoutonPanier(evenementMessage).ifRight((message) => {
|
||||||
|
BOUTON_PANIER.textContent = `cart (${String(message.donnees.quantiteProduits)})`;
|
||||||
|
BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees.quantiteProduits > 0));
|
||||||
|
});
|
||||||
|
};
|
||||||
|
document.addEventListener("visibilitychange", () => {
|
||||||
|
CANAL_BOUTON_PANIER.close();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
initialiseBoutonPanier();
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//# sourceMappingURL=scripts-bouton-panier.js.map
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"scripts-bouton-panier.js","names":["BOUTON_PANIER: HTMLAnchorElement","CANAL_BOUTON_PANIER: BroadcastChannel"],"sources":["../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport type { MessageMajBoutonPanier } from \"./lib/types/messages\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, DOM_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER } from \"./constantes/messages.ts\";\nimport { mustGetEleInDocument } from \"./lib/dom.ts\";\nimport { valideMessageMajBoutonPanier } from \"./lib/messages.ts\";\n\n/**\n * Initialise les interactions et la mise à jour du bouton « Panier » contenant le nombre d'articles dans le Panier.\n *\n * @returns void\n */\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier avec un indicateur de la quantité de Produits ajoutés. */\n const BOUTON_PANIER: HTMLAnchorElement = mustGetEleInDocument<HTMLAnchorElement>(DOM_BOUTON_PANIER);\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n\n CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent<unknown>): void => {\n valideMessageMajBoutonPanier(evenementMessage)\n // Met à jour le Bouton du Panier\n .ifRight((message: MessageMajBoutonPanier) => {\n BOUTON_PANIER.textContent = `cart (${String(message.donnees.quantiteProduits)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees.quantiteProduits > 0));\n });\n };\n\n // Ferme le BroadcastChannel à la fermeture de la page\n document.addEventListener(\"visibilitychange\", (): void => {\n CANAL_BOUTON_PANIER.close();\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", (): void => {\n initialiseBoutonPanier();\n});\n"],"mappings":";;;;;;;;;;;;AAgBA,IAAM,+BAAqC;;CAEzC,MAAMA,gBAAmC,qBAAwC,kBAAkB;CACnG,MAAMC,sBAAwC,IAAI,iBAAiB,wBAAwB;AAE3F,qBAAoB,aAAa,qBAAkD;AACjF,+BAA6B,iBAAiB,CAE3C,SAAS,YAAoC;AAC5C,iBAAc,cAAc,SAAS,OAAO,QAAQ,QAAQ,iBAAiB,CAAC;AAC9E,iBAAc,aAAa,4BAA4B,OAAO,QAAQ,QAAQ,mBAAmB,EAAE,CAAC;IACpG;;AAIN,UAAS,iBAAiB,0BAAgC;AACxD,sBAAoB,OAAO;GAC3B;;AAGJ,SAAS,iBAAiB,0BAAgC;AACxD,yBAAwB;EACxB"}
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
import "./journalisation.CEgm28xa.js";
|
||||||
|
import { dt as pipe } from "./exports.CurVqjr0.js";
|
||||||
|
import { _n as head, a as mustGetEleInDocument, at as ATTRIBUT_ARIA_HIDDEN, bt as ATTRIBUT_TABINDEX, kt as DOM_BOUTON_MENU_MOBILE, nt as ATTRIBUT_ACTIF } from "./dom.emspS_OW.js";
|
||||||
|
import "./belt_Option-91f3b350.CMbgtZ-W.js";
|
||||||
|
import { n as tap } from "./index-c1cc4c86.D2nZEikK.js";
|
||||||
|
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-retour-sommet.ts
|
||||||
|
var E = {
|
||||||
|
BOUTON_MENU_MOBILE: mustGetEleInDocument(DOM_BOUTON_MENU_MOBILE),
|
||||||
|
BOUTON_RETOUR_SOMMET: mustGetEleInDocument("#bouton-retour-haut"),
|
||||||
|
CORPS_HTML: mustGetEleInDocument("body"),
|
||||||
|
IMAGE_BOUTON: mustGetEleInDocument("#bouton-retour-haut img")
|
||||||
|
};
|
||||||
|
/** Le ratio minimum hauteur de page/hauteur de la fenêtre à atteindre pour que le Bouton soit nécessaire. */
|
||||||
|
var RATIO_MINIMUM_PAGE_PAR_FENETRE = 3;
|
||||||
|
/** Le ratio actuel hauteur de page/hauteur de la fenêtre. */
|
||||||
|
var ratioActuel = E.CORPS_HTML.getBoundingClientRect().height / window.innerHeight;
|
||||||
|
/** La position actuelle du défilement vertical dans la page. */
|
||||||
|
var defilementY = window.scrollY;
|
||||||
|
/** Indique qu'une étape de rafraîchissement via `requestAnimationFrame` a déjà été demandée. */
|
||||||
|
var etapePlanifiee = false;
|
||||||
|
/**
|
||||||
|
* Retourne la position du défilement vertical dans la page.
|
||||||
|
*
|
||||||
|
* @returns Un nombre en pixels.
|
||||||
|
*/
|
||||||
|
var majDefilementY = () => window.scrollY;
|
||||||
|
/**
|
||||||
|
* @param estVisible
|
||||||
|
* @returns void
|
||||||
|
*/
|
||||||
|
var majVisibiliteBouton = (estVisible) => {
|
||||||
|
if (estVisible) {
|
||||||
|
E.BOUTON_RETOUR_SOMMET.setAttribute(ATTRIBUT_ACTIF, "");
|
||||||
|
E.BOUTON_RETOUR_SOMMET.setAttribute(ATTRIBUT_TABINDEX, "99");
|
||||||
|
E.IMAGE_BOUTON.setAttribute(ATTRIBUT_ARIA_HIDDEN, "false");
|
||||||
|
} else {
|
||||||
|
E.BOUTON_RETOUR_SOMMET.removeAttribute(ATTRIBUT_ACTIF);
|
||||||
|
E.BOUTON_RETOUR_SOMMET.setAttribute(ATTRIBUT_TABINDEX, "-2");
|
||||||
|
E.IMAGE_BOUTON.setAttribute(ATTRIBUT_ARIA_HIDDEN, "true");
|
||||||
|
}
|
||||||
|
etapePlanifiee = false;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Initialise le cycle de mises à jour du Bouton en fonction de la position du défilement dans la page et le recalcul
|
||||||
|
* de ces données au redimensionnement de la fenêtre.
|
||||||
|
*
|
||||||
|
* @returns void
|
||||||
|
*/
|
||||||
|
var initialiseObservationFenetre = () => {
|
||||||
|
window.addEventListener("scroll", () => {
|
||||||
|
defilementY = majDefilementY();
|
||||||
|
if (ratioActuel < RATIO_MINIMUM_PAGE_PAR_FENETRE) return;
|
||||||
|
if (etapePlanifiee) return;
|
||||||
|
etapePlanifiee = true;
|
||||||
|
requestAnimationFrame(() => majVisibiliteBouton(defilementY > window.innerHeight * RATIO_MINIMUM_PAGE_PAR_FENETRE));
|
||||||
|
});
|
||||||
|
new ResizeObserver((entrees) => {
|
||||||
|
pipe(head(entrees), tap((_) => {
|
||||||
|
ratioActuel = E.CORPS_HTML.getBoundingClientRect().height / window.innerHeight;
|
||||||
|
defilementY = majDefilementY();
|
||||||
|
}));
|
||||||
|
}).observe(E.CORPS_HTML);
|
||||||
|
majVisibiliteBouton(defilementY > window.innerHeight * RATIO_MINIMUM_PAGE_PAR_FENETRE);
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Navigue au sommet de la page et focus sur le premier élément de la page qui peut le recevoir.
|
||||||
|
*
|
||||||
|
* @returns void
|
||||||
|
*/
|
||||||
|
var initialiseBoutonRetourSommet = () => {
|
||||||
|
E.BOUTON_RETOUR_SOMMET.addEventListener("click", (evenement) => {
|
||||||
|
evenement.preventDefault();
|
||||||
|
window.scrollTo({
|
||||||
|
behavior: "smooth",
|
||||||
|
top: 0
|
||||||
|
});
|
||||||
|
E.BOUTON_MENU_MOBILE.focus({ preventScroll: true });
|
||||||
|
});
|
||||||
|
};
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
initialiseBoutonRetourSommet();
|
||||||
|
initialiseObservationFenetre();
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//# sourceMappingURL=scripts-bouton-retour-sommet.js.map
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,23 @@
|
||||||
|
import "./journalisation.CEgm28xa.js";
|
||||||
|
import "./exports.CurVqjr0.js";
|
||||||
|
import { Kt as DOM_ENTREE_MENU_CATEGORIES_PRODUITS, a as mustGetEleInDocument, dn as Ra, en as DOM_MENU_CATEGORIES_PRODUITS, s as mustGetElesInDocument } from "./dom.emspS_OW.js";
|
||||||
|
import { t as M } from "./dist.CzYTlmnN.js";
|
||||||
|
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-categories.ts
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
const MENU_CATEGORIES_PRODUITS = mustGetEleInDocument(DOM_MENU_CATEGORIES_PRODUITS);
|
||||||
|
const ENTREES_MENU_CATEGORIES_PRODUITS = mustGetElesInDocument(DOM_ENTREE_MENU_CATEGORIES_PRODUITS);
|
||||||
|
Ra.forEachWithIndex([ENTREES_MENU_CATEGORIES_PRODUITS.at(0), ENTREES_MENU_CATEGORIES_PRODUITS.at(-1)], (index, entreeMenu) => {
|
||||||
|
if (!entreeMenu) return;
|
||||||
|
new IntersectionObserver(Ra.forEach((entree) => {
|
||||||
|
if (entree.boundingClientRect.top <= 0) return;
|
||||||
|
M([entree.isIntersecting, index]).with([true, 0], () => MENU_CATEGORIES_PRODUITS.removeAttribute("data-entrees-presentes-debut")).with([true, 1], () => MENU_CATEGORIES_PRODUITS.removeAttribute("data-entrees-presentes-fin")).with([false, 0], () => MENU_CATEGORIES_PRODUITS.setAttribute("data-entrees-presentes-debut", "")).with([false, 1], () => MENU_CATEGORIES_PRODUITS.setAttribute("data-entrees-presentes-fin", "")).run();
|
||||||
|
}), {
|
||||||
|
root: null,
|
||||||
|
threshold: .9
|
||||||
|
}).observe(entreeMenu);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//# sourceMappingURL=scripts-menu-categories.js.map
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"scripts-menu-categories.js","names":["MENU_CATEGORIES_PRODUITS: HTMLElement","ENTREES_MENU_CATEGORIES_PRODUITS: Array<HTMLAnchorElement>"],"sources":["../../src/scripts/scripts-menu-categories.ts"],"sourcesContent":["/** Scripts pour le Menu des Catégories de Produits */\n\nimport { A } from \"@mobily/ts-belt\";\nimport { match } from \"ts-pattern\";\n\nimport { DOM_ENTREE_MENU_CATEGORIES_PRODUITS, DOM_MENU_CATEGORIES_PRODUITS } from \"./constantes/dom.ts\";\nimport { mustGetEleInDocument, mustGetElesInDocument } from \"./lib/dom.ts\";\n\ndocument.addEventListener(\"DOMContentLoaded\", (): void => {\n const MENU_CATEGORIES_PRODUITS: HTMLElement = mustGetEleInDocument(DOM_MENU_CATEGORIES_PRODUITS);\n const ENTREES_MENU_CATEGORIES_PRODUITS: Array<HTMLAnchorElement> = mustGetElesInDocument(\n DOM_ENTREE_MENU_CATEGORIES_PRODUITS,\n );\n\n A.forEachWithIndex(\n [ENTREES_MENU_CATEGORIES_PRODUITS.at(0), ENTREES_MENU_CATEGORIES_PRODUITS.at(-1)],\n (index, entreeMenu): void => {\n if (!entreeMenu) return;\n\n new IntersectionObserver(\n A.forEach(entree => {\n // Ne déclenche rien si le scroll n'est pas horizontal\n if (entree.boundingClientRect.top <= 0) return;\n match([entree.isIntersecting, index])\n .with([true, 0], () => MENU_CATEGORIES_PRODUITS.removeAttribute(\"data-entrees-presentes-debut\"))\n .with([true, 1], () => MENU_CATEGORIES_PRODUITS.removeAttribute(\"data-entrees-presentes-fin\"))\n .with([false, 0], () => MENU_CATEGORIES_PRODUITS.setAttribute(\"data-entrees-presentes-debut\", \"\"))\n .with([false, 1], () => MENU_CATEGORIES_PRODUITS.setAttribute(\"data-entrees-presentes-fin\", \"\"))\n .run();\n }),\n { root: null, threshold: 0.9 },\n ).observe(entreeMenu);\n },\n );\n});\n"],"mappings":";;;;;;AAQA,SAAS,iBAAiB,0BAAgC;CACxD,MAAMA,2BAAwC,qBAAqB,6BAA6B;CAChG,MAAMC,mCAA6D,sBACjE,oCACD;AAED,IAAE,iBACA,CAAC,iCAAiC,GAAG,EAAE,EAAE,iCAAiC,GAAG,GAAG,CAAC,GAChF,OAAO,eAAqB;AAC3B,MAAI,CAAC,WAAY;AAEjB,MAAI,qBACF,GAAE,SAAQ,WAAU;AAElB,OAAI,OAAO,mBAAmB,OAAO,EAAG;AACxC,KAAM,CAAC,OAAO,gBAAgB,MAAM,CAAC,CAClC,KAAK,CAAC,MAAM,EAAE,QAAQ,yBAAyB,gBAAgB,+BAA+B,CAAC,CAC/F,KAAK,CAAC,MAAM,EAAE,QAAQ,yBAAyB,gBAAgB,6BAA6B,CAAC,CAC7F,KAAK,CAAC,OAAO,EAAE,QAAQ,yBAAyB,aAAa,gCAAgC,GAAG,CAAC,CACjG,KAAK,CAAC,OAAO,EAAE,QAAQ,yBAAyB,aAAa,8BAA8B,GAAG,CAAC,CAC/F,KAAK;IACR,EACF;GAAE,MAAM;GAAM,WAAW;GAAK,CAC/B,CAAC,QAAQ,WAAW;GAExB;EACD"}
|
||||||
|
|
@ -0,0 +1,325 @@
|
||||||
|
import { r as _defineProperty } from "./journalisation.CEgm28xa.js";
|
||||||
|
import { dt as pipe } from "./exports.CurVqjr0.js";
|
||||||
|
import { _t as ATTRIBUT_MENU_MOBILE_ACTIVE, a as mustGetEleInDocument, dn as Ra, kt as DOM_BOUTON_MENU_MOBILE, tn as DOM_MENU_MOBILE } from "./dom.emspS_OW.js";
|
||||||
|
import "./belt_Option-91f3b350.CMbgtZ-W.js";
|
||||||
|
import { t as P } from "./index-c1cc4c86.D2nZEikK.js";
|
||||||
|
|
||||||
|
//#region node_modules/a11y-dialog/dist/a11y-dialog.esm.js
|
||||||
|
var not = {
|
||||||
|
inert: ":not([inert]):not([inert] *)",
|
||||||
|
negTabIndex: ":not([tabindex^=\"-\"])",
|
||||||
|
disabled: ":not(:disabled)"
|
||||||
|
};
|
||||||
|
var focusableSelectors = [
|
||||||
|
`a[href]${not.inert}${not.negTabIndex}`,
|
||||||
|
`area[href]${not.inert}${not.negTabIndex}`,
|
||||||
|
`input:not([type="hidden"]):not([type="radio"])${not.inert}${not.negTabIndex}${not.disabled}`,
|
||||||
|
`input[type="radio"]${not.inert}${not.negTabIndex}${not.disabled}`,
|
||||||
|
`select${not.inert}${not.negTabIndex}${not.disabled}`,
|
||||||
|
`textarea${not.inert}${not.negTabIndex}${not.disabled}`,
|
||||||
|
`button${not.inert}${not.negTabIndex}${not.disabled}`,
|
||||||
|
`details${not.inert} > summary:first-of-type${not.negTabIndex}`,
|
||||||
|
`iframe${not.inert}${not.negTabIndex}`,
|
||||||
|
`audio[controls]${not.inert}${not.negTabIndex}`,
|
||||||
|
`video[controls]${not.inert}${not.negTabIndex}`,
|
||||||
|
`[contenteditable]${not.inert}${not.negTabIndex}`,
|
||||||
|
`[tabindex]${not.inert}${not.negTabIndex}`
|
||||||
|
];
|
||||||
|
/**
|
||||||
|
* Set the focus to the first element with `autofocus` with the element or the
|
||||||
|
* element itself.
|
||||||
|
*/
|
||||||
|
function focus(el) {
|
||||||
|
(el.querySelector("[autofocus]") || el).focus();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Get the first and last focusable elements within a given element.
|
||||||
|
*/
|
||||||
|
function getFocusableEdges(el) {
|
||||||
|
const firstEl = findFocusableEl(el, true);
|
||||||
|
return [firstEl, firstEl ? findFocusableEl(el, false) || firstEl : null];
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Find the first focusable element inside the given element if `forward` is
|
||||||
|
* truthy or the last focusable element otherwise.
|
||||||
|
*/
|
||||||
|
function findFocusableEl(el, forward) {
|
||||||
|
if (forward && isFocusable(el)) return el;
|
||||||
|
if (canHaveFocusableChildren(el)) if (el.shadowRoot) {
|
||||||
|
let next = getNextChildEl(el.shadowRoot, forward);
|
||||||
|
while (next) {
|
||||||
|
const focusableEl = findFocusableEl(next, forward);
|
||||||
|
if (focusableEl) return focusableEl;
|
||||||
|
next = getNextSiblingEl(next, forward);
|
||||||
|
}
|
||||||
|
} else if (el.localName === "slot") {
|
||||||
|
const assignedElements = el.assignedElements({ flatten: true });
|
||||||
|
if (!forward) assignedElements.reverse();
|
||||||
|
for (const assignedElement of assignedElements) {
|
||||||
|
const focusableEl = findFocusableEl(assignedElement, forward);
|
||||||
|
if (focusableEl) return focusableEl;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
let next = getNextChildEl(el, forward);
|
||||||
|
while (next) {
|
||||||
|
const focusableEl = findFocusableEl(next, forward);
|
||||||
|
if (focusableEl) return focusableEl;
|
||||||
|
next = getNextSiblingEl(next, forward);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!forward && isFocusable(el)) return el;
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
function getNextChildEl(el, forward) {
|
||||||
|
return forward ? el.firstElementChild : el.lastElementChild;
|
||||||
|
}
|
||||||
|
function getNextSiblingEl(el, forward) {
|
||||||
|
return forward ? el.nextElementSibling : el.previousElementSibling;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Determine if an element is hidden from the user.
|
||||||
|
*/
|
||||||
|
var isHidden = (el) => {
|
||||||
|
if (el.matches("details:not([open]) *") && !el.matches("details>summary:first-of-type")) return true;
|
||||||
|
return !(el.offsetWidth || el.offsetHeight || el.getClientRects().length);
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Determine if an element is focusable and has user-visible painted dimensions.
|
||||||
|
*/
|
||||||
|
var isFocusable = (el) => {
|
||||||
|
if (el.shadowRoot?.delegatesFocus) return false;
|
||||||
|
return el.matches(focusableSelectors.join(",")) && !isHidden(el);
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Determine if an element can have focusable children. Useful for bailing out
|
||||||
|
* early when walking the DOM tree.
|
||||||
|
* @example
|
||||||
|
* This div is inert, so none of its children can be focused, even though they
|
||||||
|
* meet our criteria for what is focusable. Once we check the div, we can skip
|
||||||
|
* the rest of the subtree.
|
||||||
|
* ```html
|
||||||
|
* <div inert>
|
||||||
|
* <button>Button</button>
|
||||||
|
* <a href="#">Link</a>
|
||||||
|
* </div>
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
function canHaveFocusableChildren(el) {
|
||||||
|
if (el.shadowRoot && el.getAttribute("tabindex") === "-1") return false;
|
||||||
|
return !el.matches(":disabled,[hidden],[inert]");
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Get the active element, accounting for Shadow DOM subtrees.
|
||||||
|
* @author Cory LaViska
|
||||||
|
* @see: https://www.abeautifulsite.net/posts/finding-the-active-element-in-a-shadow-root/
|
||||||
|
*/
|
||||||
|
function getActiveEl(root = document) {
|
||||||
|
const activeEl = root.activeElement;
|
||||||
|
if (!activeEl) return null;
|
||||||
|
if (activeEl.shadowRoot) return getActiveEl(activeEl.shadowRoot) || document.activeElement;
|
||||||
|
return activeEl;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Trap the focus inside the given element
|
||||||
|
*/
|
||||||
|
function trapTabKey(el, event) {
|
||||||
|
const [firstFocusableEl, lastFocusableEl] = getFocusableEdges(el);
|
||||||
|
if (!firstFocusableEl) return event.preventDefault();
|
||||||
|
const activeEl = getActiveEl();
|
||||||
|
if (event.shiftKey && activeEl === firstFocusableEl) {
|
||||||
|
lastFocusableEl.focus();
|
||||||
|
event.preventDefault();
|
||||||
|
} else if (!event.shiftKey && activeEl === lastFocusableEl) {
|
||||||
|
firstFocusableEl.focus();
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Find the closest element to the given element matching the given selector,
|
||||||
|
* accounting for Shadow DOM subtrees.
|
||||||
|
* @author Louis St-Amour
|
||||||
|
* @see: https://stackoverflow.com/a/56105394
|
||||||
|
*/
|
||||||
|
function closest(selector, base) {
|
||||||
|
function from(el) {
|
||||||
|
if (!el || el === document || el === window) return null;
|
||||||
|
const slot = findAssignedSlot(el);
|
||||||
|
if (slot) el = slot;
|
||||||
|
return el.closest(selector) || from(el.getRootNode().host);
|
||||||
|
}
|
||||||
|
return from(base);
|
||||||
|
}
|
||||||
|
function findAssignedSlot(node) {
|
||||||
|
return node.assignedSlot || (node.parentNode ? findAssignedSlot(node.parentNode) : null);
|
||||||
|
}
|
||||||
|
var SCOPE = "data-a11y-dialog";
|
||||||
|
var A11yDialog = class {
|
||||||
|
constructor(element) {
|
||||||
|
_defineProperty(this, "$el", void 0);
|
||||||
|
_defineProperty(this, "id", void 0);
|
||||||
|
_defineProperty(this, "previouslyFocused", void 0);
|
||||||
|
_defineProperty(this, "shown", void 0);
|
||||||
|
this.$el = element;
|
||||||
|
this.id = this.$el.getAttribute(SCOPE) || this.$el.id;
|
||||||
|
this.previouslyFocused = null;
|
||||||
|
this.shown = false;
|
||||||
|
this.maintainFocus = this.maintainFocus.bind(this);
|
||||||
|
this.bindKeypress = this.bindKeypress.bind(this);
|
||||||
|
this.handleTriggerClicks = this.handleTriggerClicks.bind(this);
|
||||||
|
this.show = this.show.bind(this);
|
||||||
|
this.hide = this.hide.bind(this);
|
||||||
|
this.$el.setAttribute("aria-hidden", "true");
|
||||||
|
this.$el.setAttribute("aria-modal", "true");
|
||||||
|
this.$el.setAttribute("tabindex", "-1");
|
||||||
|
if (!this.$el.hasAttribute("role")) this.$el.setAttribute("role", "dialog");
|
||||||
|
document.addEventListener("click", this.handleTriggerClicks, true);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Destroy the current instance (after making sure the dialog has been hidden)
|
||||||
|
* and remove all associated listeners from dialog openers and closers
|
||||||
|
*/
|
||||||
|
destroy() {
|
||||||
|
if (this.fire("destroy").defaultPrevented) return this;
|
||||||
|
this.hide();
|
||||||
|
document.removeEventListener("click", this.handleTriggerClicks, true);
|
||||||
|
this.$el.replaceWith(this.$el.cloneNode(true));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Show the dialog element, trap the current focus within it, listen for some
|
||||||
|
* specific key presses and fire all registered callbacks for `show` event
|
||||||
|
*/
|
||||||
|
show(event) {
|
||||||
|
if (this.shown) return this;
|
||||||
|
if (this.fire("show", event).defaultPrevented) return this;
|
||||||
|
this.shown = true;
|
||||||
|
this.$el.removeAttribute("aria-hidden");
|
||||||
|
this.previouslyFocused = getActiveEl();
|
||||||
|
if (this.previouslyFocused?.tagName === "BODY" && event?.target) this.previouslyFocused = event.target;
|
||||||
|
if (event?.type === "focus") this.maintainFocus();
|
||||||
|
else focus(this.$el);
|
||||||
|
document.body.addEventListener("focus", this.maintainFocus, true);
|
||||||
|
this.$el.addEventListener("keydown", this.bindKeypress, true);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Hide the dialog element, restore the focus to the previously active
|
||||||
|
* element, stop listening for some specific key presses and fire all
|
||||||
|
* registered callbacks for `hide` event
|
||||||
|
*/
|
||||||
|
hide(event) {
|
||||||
|
if (!this.shown) return this;
|
||||||
|
if (this.fire("hide", event).defaultPrevented) return this;
|
||||||
|
this.shown = false;
|
||||||
|
this.$el.setAttribute("aria-hidden", "true");
|
||||||
|
document.body.removeEventListener("focus", this.maintainFocus, true);
|
||||||
|
this.$el.removeEventListener("keydown", this.bindKeypress, true);
|
||||||
|
this.previouslyFocused?.focus?.();
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Register a new callback for the given event type
|
||||||
|
*/
|
||||||
|
on(type, handler, options) {
|
||||||
|
this.$el.addEventListener(type, handler, options);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Unregister an existing callback for the given event type
|
||||||
|
*/
|
||||||
|
off(type, handler, options) {
|
||||||
|
this.$el.removeEventListener(type, handler, options);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Dispatch and return a custom event from the DOM element associated with
|
||||||
|
* this dialog; this allows authors to listen for and respond to the events
|
||||||
|
* in their own code
|
||||||
|
*/
|
||||||
|
fire(type, event) {
|
||||||
|
const customEvent = new CustomEvent(type, {
|
||||||
|
detail: event,
|
||||||
|
cancelable: true
|
||||||
|
});
|
||||||
|
this.$el.dispatchEvent(customEvent);
|
||||||
|
return customEvent;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Add a delegated event listener for when elememts that open or close the
|
||||||
|
* dialog are clicked, and call `show` or `hide`, respectively
|
||||||
|
*/
|
||||||
|
handleTriggerClicks(event) {
|
||||||
|
const target = event.composedPath()[0];
|
||||||
|
const opener = closest(`[${SCOPE}-show="${this.id}"]`, target);
|
||||||
|
const explicitCloser = closest(`[${SCOPE}-hide="${this.id}"]`, target);
|
||||||
|
const implicitCloser = closest(`[${SCOPE}-hide]`, target) && closest("[aria-modal=\"true\"]", target) === this.$el;
|
||||||
|
if (opener) this.show(event);
|
||||||
|
if (explicitCloser || implicitCloser) this.hide(event);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Private event handler used when listening to some specific key presses
|
||||||
|
* (namely ESC and TAB)
|
||||||
|
*/
|
||||||
|
bindKeypress(event) {
|
||||||
|
if (closest("[aria-modal=\"true\"]", getActiveEl()) !== this.$el) return;
|
||||||
|
let hasOpenPopover = false;
|
||||||
|
try {
|
||||||
|
hasOpenPopover = !!this.$el.querySelector("[popover]:not([popover=\"manual\"]):popover-open");
|
||||||
|
} catch {}
|
||||||
|
if (event.key === "Escape" && this.$el.getAttribute("role") !== "alertdialog" && !hasOpenPopover) {
|
||||||
|
event.preventDefault();
|
||||||
|
this.hide(event);
|
||||||
|
}
|
||||||
|
if (event.key === "Tab") trapTabKey(this.$el, event);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* If the dialog is shown and the focus is not within a dialog element (either
|
||||||
|
* this one or another one in case of nested dialogs) or an element with the
|
||||||
|
* ignore attribute, move it back to the dialog container
|
||||||
|
* See: https://github.com/KittyGiraudel/a11y-dialog/issues/177
|
||||||
|
*/
|
||||||
|
maintainFocus() {
|
||||||
|
const target = getActiveEl();
|
||||||
|
if (!closest(`[aria-modal="true"], [${SCOPE}-ignore-focus-trap]`, target)) focus(this.$el);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
function instantiateDialogs() {
|
||||||
|
for (const el of document.querySelectorAll("[data-a11y-dialog]")) new A11yDialog(el);
|
||||||
|
}
|
||||||
|
if (typeof document !== "undefined") if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", instantiateDialogs);
|
||||||
|
else instantiateDialogs();
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-mobile.ts
|
||||||
|
var E = {
|
||||||
|
BOUTON_MENU_MOBILE: mustGetEleInDocument(DOM_BOUTON_MENU_MOBILE),
|
||||||
|
CORPS_HTML: mustGetEleInDocument("body"),
|
||||||
|
MENU_MOBILE: mustGetEleInDocument(DOM_MENU_MOBILE)
|
||||||
|
};
|
||||||
|
var initialiseBoutonMenuMobile = () => {
|
||||||
|
const menuMobile = new A11yDialog(E.MENU_MOBILE);
|
||||||
|
new ResizeObserver((entrees) => pipe(Ra.head(entrees), P.filter((entree) => entree.borderBoxSize[0].inlineSize > 1e3), P.tap((_) => menuMobile.hide()))).observe(E.CORPS_HTML);
|
||||||
|
E.BOUTON_MENU_MOBILE.addEventListener("click", () => {
|
||||||
|
if (window.innerWidth > 1e3) {
|
||||||
|
window.location.href = "/";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (E.BOUTON_MENU_MOBILE.hasAttribute("data-menu-mobile-active")) {
|
||||||
|
menuMobile.hide();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
menuMobile.show();
|
||||||
|
});
|
||||||
|
menuMobile.on("show", () => {
|
||||||
|
E.BOUTON_MENU_MOBILE.setAttribute(ATTRIBUT_MENU_MOBILE_ACTIVE, "");
|
||||||
|
});
|
||||||
|
menuMobile.on("hide", () => {
|
||||||
|
E.BOUTON_MENU_MOBILE.removeAttribute(ATTRIBUT_MENU_MOBILE_ACTIVE);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
initialiseBoutonMenuMobile();
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//# sourceMappingURL=scripts-menu-mobile.js.map
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,39 @@
|
||||||
|
import "./journalisation.CEgm28xa.js";
|
||||||
|
import { dt as pipe } from "./exports.CurVqjr0.js";
|
||||||
|
import { Ct as DOM_BOITE_TEXTE, St as CLASS_EPINGLE, Vt as DOM_CONTENEUR_STORYTELLING_A_PROPOS, a as mustGetEleInDocument, dn as Ra, ft as ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF, ht as ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE, qt as DOM_EPINGLE, s as mustGetElesInDocument, xt as CLASS_BOUTON_FERMETURE_BOITE_TEXTE } from "./dom.emspS_OW.js";
|
||||||
|
import "./belt_Option-91f3b350.CMbgtZ-W.js";
|
||||||
|
import { t as P } from "./index-c1cc4c86.D2nZEikK.js";
|
||||||
|
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts
|
||||||
|
/** Le Conteneur des images du storytelling. */
|
||||||
|
var CONTENEUR_STORYTELLING = mustGetEleInDocument(DOM_CONTENEUR_STORYTELLING_A_PROPOS);
|
||||||
|
/** */
|
||||||
|
var EPINGLES = mustGetElesInDocument(DOM_EPINGLE);
|
||||||
|
/** */
|
||||||
|
var BOITES_TEXTE = mustGetElesInDocument(DOM_BOITE_TEXTE);
|
||||||
|
/** */
|
||||||
|
var ENSEMBLES_EPINGLES_BOITES_TEXTE = /* @__PURE__ */ new Map();
|
||||||
|
Ra.forEachWithIndex(EPINGLES, (index, epingle) => {
|
||||||
|
pipe(epingle, P.flatMap((bouton) => bouton.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)), P.tap((id) => {
|
||||||
|
ENSEMBLES_EPINGLES_BOITES_TEXTE.set(id, [epingle, BOITES_TEXTE[index]]);
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
CONTENEUR_STORYTELLING.addEventListener("click", (evenement) => {
|
||||||
|
const cible = evenement.target;
|
||||||
|
pipe(cible, P.fromPredicate((element) => element.className === CLASS_BOUTON_FERMETURE_BOITE_TEXTE), P.mapNullable((bouton) => bouton.parentElement), P.flatMap((boite) => boite.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)), P.tap((id) => {
|
||||||
|
pipe(P.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)), P.tap(Ra.forEach((element) => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))));
|
||||||
|
}));
|
||||||
|
pipe(cible, P.fromPredicate((element) => element.className === CLASS_EPINGLE), P.flatMap((bouton) => bouton.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)), P.tap((id) => {
|
||||||
|
if (cible.hasAttribute("data-ensemble-epingle-boite-actif")) {
|
||||||
|
pipe(P.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)), P.tap(Ra.forEach((element) => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
pipe(Array.from(ENSEMBLES_EPINGLES_BOITES_TEXTE.values()), Ra.flat, Ra.forEach((element) => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF)));
|
||||||
|
pipe(P.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)), P.tap(Ra.forEach((element) => element.toggleAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))));
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//# sourceMappingURL=scripts-page-a-propos.js.map
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"scripts-page-a-propos.js","names":["cible: HTMLElement"],"sources":["../../src/scripts/scripts-page-a-propos.ts"],"sourcesContent":["/**\n * Scripts pour les fonctionnalités de la Page À Propos (« About »).\n */\n\nimport { A, pipe as beltPipe, O } from \"@mobily/ts-belt\";\n\nimport {\n ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF,\n ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE,\n CLASS_BOUTON_FERMETURE_BOITE_TEXTE,\n CLASS_EPINGLE,\n DOM_BOITE_TEXTE,\n DOM_CONTENEUR_STORYTELLING_A_PROPOS,\n DOM_EPINGLE,\n} from \"./constantes/dom.ts\";\nimport { mustGetEleInDocument, mustGetElesInDocument } from \"./lib/dom.ts\";\n\n/** Le Conteneur des images du storytelling. */\nconst CONTENEUR_STORYTELLING = mustGetEleInDocument<HTMLElement>(\n DOM_CONTENEUR_STORYTELLING_A_PROPOS,\n);\n/** */\nconst EPINGLES = mustGetElesInDocument<HTMLButtonElement>(DOM_EPINGLE);\n/** */\nconst BOITES_TEXTE = mustGetElesInDocument<HTMLDivElement>(DOM_BOITE_TEXTE);\n/** */\nconst ENSEMBLES_EPINGLES_BOITES_TEXTE = new Map<string, [HTMLButtonElement, HTMLDivElement]>();\nA.forEachWithIndex(EPINGLES, (index, epingle) => {\n beltPipe(\n epingle,\n O.flatMap((bouton: HTMLButtonElement) => bouton.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)),\n O.tap((id: string) => {\n ENSEMBLES_EPINGLES_BOITES_TEXTE.set(id, [epingle, BOITES_TEXTE[index]!]);\n }),\n );\n});\n\ndocument.addEventListener(\"DOMContentLoaded\", (): void => {\n CONTENEUR_STORYTELLING.addEventListener(\"click\", (evenement): void => {\n // Délégation d'Évènements au clic sur un <button>\n const cible: HTMLElement = evenement.target as HTMLElement;\n\n // Clic sur un Bouton de fermeture de Boîte\n beltPipe(\n cible,\n // TODO: Créer une fonction « liftPredicate » agissant comme prédicat de type\n O.fromPredicate((element: HTMLElement) => element.className === CLASS_BOUTON_FERMETURE_BOITE_TEXTE),\n O.mapNullable((bouton: HTMLButtonElement) => bouton.parentElement),\n O.flatMap((boite: HTMLDivElement) => boite.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)),\n O.tap((id: string) => {\n beltPipe(\n O.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)),\n O.tap(A.forEach(element => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))),\n );\n }),\n );\n\n // Clic sur une Épingle\n beltPipe(\n cible,\n // Vérifier la classe plutôt que le bouton\n O.fromPredicate((element: HTMLElement) => element.className === CLASS_EPINGLE),\n O.flatMap((bouton: HTMLButtonElement) => bouton.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)),\n O.tap((id: string) => {\n // Désactive l'Attribut actif si la cible est déjà active et retourne précocement\n if (cible.hasAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF)) {\n beltPipe(\n O.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)),\n O.tap(A.forEach(element => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))),\n );\n return;\n }\n\n // Désactive tous les Ensembles\n beltPipe(\n Array.from(ENSEMBLES_EPINGLES_BOITES_TEXTE.values()),\n A.flat,\n A.forEach(element => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF)),\n );\n // Active l'Attribut sur l'Ensemble\n beltPipe(\n O.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)),\n O.tap(A.forEach(element => element.toggleAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))),\n );\n }),\n );\n });\n});\n"],"mappings":";;;;;;;;AAkBA,IAAM,yBAAyB,qBAC7B,oCACD;;AAED,IAAM,WAAW,sBAAyC,YAAY;;AAEtE,IAAM,eAAe,sBAAsC,gBAAgB;;AAE3E,IAAM,kDAAkC,IAAI,KAAkD;AAC9F,GAAE,iBAAiB,WAAW,OAAO,YAAY;AAC/C,MACE,SACA,EAAE,SAAS,WAA8B,OAAO,aAAa,mCAAmC,CAAC,EACjG,EAAE,KAAK,OAAe;AACpB,kCAAgC,IAAI,IAAI,CAAC,SAAS,aAAa,OAAQ,CAAC;GACxE,CACH;EACD;AAEF,SAAS,iBAAiB,0BAAgC;AACxD,wBAAuB,iBAAiB,UAAU,cAAoB;EAEpE,MAAMA,QAAqB,UAAU;AAGrC,OACE,OAEA,EAAE,eAAe,YAAyB,QAAQ,cAAc,mCAAmC,EACnG,EAAE,aAAa,WAA8B,OAAO,cAAc,EAClE,EAAE,SAAS,UAA0B,MAAM,aAAa,mCAAmC,CAAC,EAC5F,EAAE,KAAK,OAAe;AACpB,QACE,EAAE,aAAa,gCAAgC,IAAI,GAAG,CAAC,EACvD,EAAE,IAAI,GAAE,SAAQ,YAAW,QAAQ,gBAAgB,sCAAsC,CAAC,CAAC,CAC5F;IACD,CACH;AAGD,OACE,OAEA,EAAE,eAAe,YAAyB,QAAQ,cAAc,cAAc,EAC9E,EAAE,SAAS,WAA8B,OAAO,aAAa,mCAAmC,CAAC,EACjG,EAAE,KAAK,OAAe;AAEpB,OAAI,MAAM,iDAAmD,EAAE;AAC7D,SACE,EAAE,aAAa,gCAAgC,IAAI,GAAG,CAAC,EACvD,EAAE,IAAI,GAAE,SAAQ,YAAW,QAAQ,gBAAgB,sCAAsC,CAAC,CAAC,CAC5F;AACD;;AAIF,QACE,MAAM,KAAK,gCAAgC,QAAQ,CAAC,EACpD,GAAE,MACF,GAAE,SAAQ,YAAW,QAAQ,gBAAgB,sCAAsC,CAAC,CACrF;AAED,QACE,EAAE,aAAa,gCAAgC,IAAI,GAAG,CAAC,EACvD,EAAE,IAAI,GAAE,SAAQ,YAAW,QAAQ,gBAAgB,sCAAsC,CAAC,CAAC,CAC5F;IACD,CACH;GACD;EACF"}
|
||||||
|
|
@ -0,0 +1,97 @@
|
||||||
|
import { n as nuLogger } from "./journalisation.CEgm28xa.js";
|
||||||
|
import { dt as pipe } from "./exports.CurVqjr0.js";
|
||||||
|
import { Bt as DOM_CONTENEUR_STORYTELLING, Lt as DOM_CONTENEUR_ANIMATION, Qt as DOM_IMAGES_STORYTELLING, Xt as DOM_GARDE_FOU_JS, a as mustGetEleInDocument, dn as Ra, ot as ATTRIBUT_CACHÉ, pt as ATTRIBUT_HIDDEN, s as mustGetElesInDocument } from "./dom.emspS_OW.js";
|
||||||
|
import "./belt_Option-91f3b350.CMbgtZ-W.js";
|
||||||
|
import { t as P } from "./index-c1cc4c86.D2nZEikK.js";
|
||||||
|
import { r as estEntreDeuxNombres } from "./nombres.E65h3XxA.js";
|
||||||
|
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts
|
||||||
|
var E = {
|
||||||
|
CONTENEUR_ANIMATION: mustGetEleInDocument(DOM_CONTENEUR_ANIMATION),
|
||||||
|
CONTENEUR_STORYTELLING: mustGetEleInDocument(".storytelling__conteneur"),
|
||||||
|
IMAGES_STORYTELLING: mustGetElesInDocument(DOM_IMAGES_STORYTELLING),
|
||||||
|
STORYTELLING: mustGetEleInDocument(DOM_CONTENEUR_STORYTELLING)
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* Retire la classe garde-fou `.js` cachant les éléments nécessitant JavaScript pour s'afficher/fonctionner correctement.
|
||||||
|
*/
|
||||||
|
var retireClasseGardeFouJs = () => {
|
||||||
|
E.CONTENEUR_ANIMATION.classList.remove(DOM_GARDE_FOU_JS);
|
||||||
|
};
|
||||||
|
var initDefilementStorytelling = () => {
|
||||||
|
/** La hauteur d'une image du storytelling. */
|
||||||
|
let dimensionsImage = {
|
||||||
|
height: E.IMAGES_STORYTELLING.at(0)?.getBoundingClientRect().height ?? 0,
|
||||||
|
width: E.IMAGES_STORYTELLING.at(0)?.getBoundingClientRect().width ?? 0
|
||||||
|
};
|
||||||
|
/** La position du défilement (en pixels) du Conteneur des images du storytelling. */
|
||||||
|
let positionDefilementConteneur = 0;
|
||||||
|
nuLogger.debug`initStorytellingScroll | dimensionsImages ${dimensionsImage.height}`;
|
||||||
|
/**
|
||||||
|
* Bascule la visibilité d'une image en
|
||||||
|
* @param image
|
||||||
|
* @param estVisible
|
||||||
|
*/
|
||||||
|
const basculeVisibilitéImage = (image, estVisible) => {
|
||||||
|
image.toggleAttribute(ATTRIBUT_CACHÉ, estVisible);
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
const majDimensionsStorytelling = () => {
|
||||||
|
dimensionsImage = pipe(Ra.getBy(E.IMAGES_STORYTELLING, (i) => !i.hasAttribute(ATTRIBUT_CACHÉ)), P.map((i) => ({
|
||||||
|
height: i.getBoundingClientRect().height,
|
||||||
|
width: i.getBoundingClientRect().width
|
||||||
|
})), P.getWithDefault({
|
||||||
|
height: 0,
|
||||||
|
width: 0
|
||||||
|
}));
|
||||||
|
nuLogger.debug`majDimensions | dimensionsImage ${dimensionsImage}`;
|
||||||
|
E.CONTENEUR_ANIMATION.style.width = `${String(dimensionsImage.width)}px`;
|
||||||
|
const nouvelleHauteurMax = `${String(dimensionsImage.height * E.IMAGES_STORYTELLING.length + 61)}px`;
|
||||||
|
E.CONTENEUR_STORYTELLING.style.minHeight = nouvelleHauteurMax;
|
||||||
|
E.CONTENEUR_STORYTELLING.style.maxHeight = nouvelleHauteurMax;
|
||||||
|
nuLogger.debug`majDimensions | nouvelleHauteurMax ${nouvelleHauteurMax}`;
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
const majVisibilitéImagesStorytelling = () => {
|
||||||
|
positionDefilementConteneur = E.STORYTELLING.scrollTop;
|
||||||
|
E.IMAGES_STORYTELLING.forEach((image, index) => {
|
||||||
|
const debutYImage = dimensionsImage.height * index;
|
||||||
|
const finYImage = dimensionsImage.height * (index + 1);
|
||||||
|
basculeVisibilitéImage(image, !estEntreDeuxNombres(positionDefilementConteneur, debutYImage, finYImage));
|
||||||
|
});
|
||||||
|
};
|
||||||
|
new ResizeObserver(() => {
|
||||||
|
majDimensionsStorytelling();
|
||||||
|
majVisibilitéImagesStorytelling();
|
||||||
|
}).observe(E.STORYTELLING);
|
||||||
|
E.STORYTELLING.addEventListener("scroll", () => majVisibilitéImagesStorytelling());
|
||||||
|
};
|
||||||
|
var initGestionAnimation = () => {
|
||||||
|
pipe(Ra.at(E.IMAGES_STORYTELLING, 0), P.tap((img) => {
|
||||||
|
const options = {
|
||||||
|
root: null,
|
||||||
|
rootMargin: "0px",
|
||||||
|
threshold: 0
|
||||||
|
};
|
||||||
|
const callback = (entries) => {
|
||||||
|
Ra.forEach(entries, (e) => {
|
||||||
|
e.intersectionRatio >= .9 ? E.CONTENEUR_ANIMATION.removeAttribute(ATTRIBUT_HIDDEN) : E.CONTENEUR_ANIMATION.setAttribute(ATTRIBUT_HIDDEN, "");
|
||||||
|
nuLogger.debug`initGestionAnimation | estCache ${e.intersectionRatio >= .9} | ${e}`;
|
||||||
|
console.debug(e);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
new IntersectionObserver(callback, options).observe(img);
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
retireClasseGardeFouJs();
|
||||||
|
initDefilementStorytelling();
|
||||||
|
initGestionAnimation();
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//# sourceMappingURL=scripts-page-accueil.js.map
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,369 @@
|
||||||
|
import "./journalisation.CEgm28xa.js";
|
||||||
|
import { dt as pipe } from "./exports.CurVqjr0.js";
|
||||||
|
import { A as integer, D as boolean, E as array, F as null_, G as unknown, H as string, I as number, J as lanceAnimationCycleLoading, K as url, L as object, N as maxValue, O as enum_, P as minValue, S as reporteErreur, T as ValiError, V as pipe$1, W as union, Zt as DOM_GRILLE_PRODUITS, a as mustGetEleInDocument, b as ServerError, dt as ATTRIBUT_DESACTIVE, h as BadRequestError, i as html, jt as DOM_BOUTON_PLUS_PRODUITS, mt as ATTRIBUT_ID_CATEGORIE_PRODUITS, pt as ATTRIBUT_HIDDEN, st as ATTRIBUT_CHARGEMENT, vt as ATTRIBUT_PAGE, z as optional } from "./dom.emspS_OW.js";
|
||||||
|
import "./belt_Option-91f3b350.CMbgtZ-W.js";
|
||||||
|
import { l as ROUTE_API_NOUVELLE_PRODUCTS } from "./api.CM5TBNEA.js";
|
||||||
|
import { n as newPartialResponse, s as EitherAsync, t as getBackendAvecParametresUrl } from "./reseau.BY4MrTI9.js";
|
||||||
|
import { t as safeSchemaParse } from "./validation.CYJDC5vQ.js";
|
||||||
|
import { n as z, t as M } from "./dist.CzYTlmnN.js";
|
||||||
|
|
||||||
|
//#region node_modules/@mobily/ts-belt/dist/index-0eef19ec.mjs
|
||||||
|
function _tap(n, t) {
|
||||||
|
t(n);
|
||||||
|
return n;
|
||||||
|
}
|
||||||
|
function tap() {
|
||||||
|
if (1 === arguments.length) {
|
||||||
|
const n = arguments;
|
||||||
|
return function fn(t) {
|
||||||
|
return _tap(t, n[0]);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _tap(arguments[0], arguments[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/constantes/api/products.ts
|
||||||
|
/** Constantes liées aux Produits WooCommerce. */
|
||||||
|
const PRODUCTS_CONTEXTES = {
|
||||||
|
EDIT: "edit",
|
||||||
|
VIEW: "view"
|
||||||
|
};
|
||||||
|
const DATE_COLUMN_VALUES = {
|
||||||
|
DATE: "date",
|
||||||
|
DATE_GMT: "date_gmt",
|
||||||
|
MODIFIED: "modified",
|
||||||
|
MODIFIED_GMT: "modified_gmt"
|
||||||
|
};
|
||||||
|
const ORDER_VALUES = {
|
||||||
|
ASC: "asc",
|
||||||
|
DESC: "desc"
|
||||||
|
};
|
||||||
|
const ORDERBY_VALUES = {
|
||||||
|
COMMENT_COUNT: "comment_count",
|
||||||
|
DATE: "date",
|
||||||
|
ID: "id",
|
||||||
|
INCLUDE: "include",
|
||||||
|
MENU_ORDER: "menu_order",
|
||||||
|
MODIFIED: "modified",
|
||||||
|
POPULARITY: "popularity",
|
||||||
|
PRICE: "price",
|
||||||
|
RATING: "rating",
|
||||||
|
SLUG: "slug",
|
||||||
|
TITLE: "title"
|
||||||
|
};
|
||||||
|
const PRODUCT_TYPES = {
|
||||||
|
EXTERNAL: "external",
|
||||||
|
GROUPED: "grouped",
|
||||||
|
SIMPLE: "simple",
|
||||||
|
VARIABLE: "variable"
|
||||||
|
};
|
||||||
|
const CATEGORY_OPERATORS = {
|
||||||
|
AND: "and",
|
||||||
|
IN: "in",
|
||||||
|
NOT_IN: "not_in"
|
||||||
|
};
|
||||||
|
const TAG_OPERATORS = {
|
||||||
|
AND: "and",
|
||||||
|
IN: "in",
|
||||||
|
NOT_IN: "not_in"
|
||||||
|
};
|
||||||
|
const STOCK_STATUSES = {
|
||||||
|
IN_STOCK: "instock",
|
||||||
|
ON_BACK_ORDER: "onbackorder",
|
||||||
|
OUT_OF_STOCK: "outofstock"
|
||||||
|
};
|
||||||
|
const ATTRIBUTES_RELATIONS = {
|
||||||
|
AND: "and",
|
||||||
|
IN: "in"
|
||||||
|
};
|
||||||
|
const CATALOG_VISIBILITIES = {
|
||||||
|
ANY: "any",
|
||||||
|
CATALOG: "catalog",
|
||||||
|
HIDDEN: "hidden",
|
||||||
|
SEARCH: "search",
|
||||||
|
VISIBLE: "visible"
|
||||||
|
};
|
||||||
|
const RATINGS = {
|
||||||
|
1: 1,
|
||||||
|
2: 2,
|
||||||
|
3: 3,
|
||||||
|
4: 4,
|
||||||
|
5: 5
|
||||||
|
};
|
||||||
|
const PRODUCT_STATUTES = {
|
||||||
|
ANY: "any",
|
||||||
|
DRAFT: "draft",
|
||||||
|
FUTURE: "future",
|
||||||
|
PENDING: "pending",
|
||||||
|
PRIVATE: "private",
|
||||||
|
PUBLISH: "publish",
|
||||||
|
TRASH: "trash"
|
||||||
|
};
|
||||||
|
const TAX_STATUTES = {
|
||||||
|
NONE: "none",
|
||||||
|
SHIPPING: "shipping",
|
||||||
|
TAXABLE: "taxable"
|
||||||
|
};
|
||||||
|
const BACKORDERS_SETTINGS = {
|
||||||
|
NO: "no",
|
||||||
|
NOTIFY: "notify",
|
||||||
|
YES: "yes"
|
||||||
|
};
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts
|
||||||
|
const WCV3ProductsArgsSchema = object({
|
||||||
|
after: optional(string()),
|
||||||
|
attribute: optional(string()),
|
||||||
|
attribute_relation: optional(enum_(ATTRIBUTES_RELATIONS)),
|
||||||
|
attribute_term: optional(string()),
|
||||||
|
attributes: optional(array(unknown())),
|
||||||
|
before: optional(string()),
|
||||||
|
catalog_visibility: optional(enum_(CATALOG_VISIBILITIES)),
|
||||||
|
category: optional(string()),
|
||||||
|
category_operator: optional(enum_(CATEGORY_OPERATORS)),
|
||||||
|
context: optional(enum_(PRODUCTS_CONTEXTES)),
|
||||||
|
date_column: optional(enum_(DATE_COLUMN_VALUES)),
|
||||||
|
dates_are_gmt: optional(boolean()),
|
||||||
|
exclude: optional(array(pipe$1(number(), integer()))),
|
||||||
|
exclude_meta: optional(array(string())),
|
||||||
|
featured: optional(boolean()),
|
||||||
|
include: optional(array(pipe$1(number(), integer()))),
|
||||||
|
include_meta: optional(array(string())),
|
||||||
|
max_price: optional(string()),
|
||||||
|
min_price: optional(string()),
|
||||||
|
modified_after: optional(string()),
|
||||||
|
modified_before: optional(string()),
|
||||||
|
offset: optional(pipe$1(number(), integer())),
|
||||||
|
on_sale: optional(boolean()),
|
||||||
|
order: optional(enum_(ORDER_VALUES)),
|
||||||
|
orderby: optional(enum_(ORDERBY_VALUES)),
|
||||||
|
page: optional(pipe$1(number(), minValue(1))),
|
||||||
|
parent: optional(array(pipe$1(number(), integer()))),
|
||||||
|
parent_exclude: optional(array(pipe$1(number(), integer()))),
|
||||||
|
per_page: optional(pipe$1(number(), minValue(0), maxValue(100))),
|
||||||
|
rating: optional(array(enum_(RATINGS))),
|
||||||
|
search: optional(string()),
|
||||||
|
search_sku: optional(string()),
|
||||||
|
shipping_class: optional(string()),
|
||||||
|
sku: optional(string()),
|
||||||
|
slug: optional(string()),
|
||||||
|
status: optional(enum_(PRODUCT_STATUTES)),
|
||||||
|
stock_status: optional(array(enum_(STOCK_STATUSES))),
|
||||||
|
tag: optional(string()),
|
||||||
|
tag_operator: optional(enum_(TAG_OPERATORS)),
|
||||||
|
type: optional(enum_(PRODUCT_TYPES))
|
||||||
|
});
|
||||||
|
const WCV3ProductDownloadsSchema = object({
|
||||||
|
file: string(),
|
||||||
|
id: string(),
|
||||||
|
name: string()
|
||||||
|
});
|
||||||
|
const WCV3ProductDimensionsSchema = object({
|
||||||
|
height: string(),
|
||||||
|
length: string(),
|
||||||
|
width: string()
|
||||||
|
});
|
||||||
|
const WCV3ProductCategorySchema = object({
|
||||||
|
id: pipe$1(number(), integer()),
|
||||||
|
name: string(),
|
||||||
|
slug: string()
|
||||||
|
});
|
||||||
|
const WCV3ProductTagSchema = object({
|
||||||
|
id: pipe$1(number(), integer()),
|
||||||
|
name: string(),
|
||||||
|
slug: string()
|
||||||
|
});
|
||||||
|
const WCV3ProductImageSchema = object({
|
||||||
|
alt: string(),
|
||||||
|
date_created: string(),
|
||||||
|
date_created_gmt: string(),
|
||||||
|
date_modified: string(),
|
||||||
|
date_modified_gmt: string(),
|
||||||
|
id: pipe$1(number(), integer()),
|
||||||
|
name: string(),
|
||||||
|
src: string()
|
||||||
|
});
|
||||||
|
const WCV3ProductAttributeSchema = object({
|
||||||
|
id: pipe$1(number(), integer()),
|
||||||
|
name: string(),
|
||||||
|
options: array(string()),
|
||||||
|
position: pipe$1(number(), integer()),
|
||||||
|
variation: boolean(),
|
||||||
|
visible: boolean()
|
||||||
|
});
|
||||||
|
const WCV3ProductDefaultAttributeSchema = object({
|
||||||
|
id: pipe$1(number(), integer()),
|
||||||
|
name: string(),
|
||||||
|
option: string()
|
||||||
|
});
|
||||||
|
const WCV3ProductMetaDataSchema = object({
|
||||||
|
id: pipe$1(number(), integer()),
|
||||||
|
key: string(),
|
||||||
|
option: optional(unknown())
|
||||||
|
});
|
||||||
|
const WCV3ProductSchema = object({
|
||||||
|
attributes: array(WCV3ProductAttributeSchema),
|
||||||
|
average_rating: string(),
|
||||||
|
backordered: boolean(),
|
||||||
|
backorders: enum_(BACKORDERS_SETTINGS),
|
||||||
|
backorders_allowed: boolean(),
|
||||||
|
button_text: string(),
|
||||||
|
catalog_visibility: enum_(CATALOG_VISIBILITIES),
|
||||||
|
categories: array(WCV3ProductCategorySchema),
|
||||||
|
cross_sell_ids: array(pipe$1(number(), integer())),
|
||||||
|
date_created: string(),
|
||||||
|
date_created_gmt: string(),
|
||||||
|
date_modified: string(),
|
||||||
|
date_modified_gmt: string(),
|
||||||
|
date_on_sale_from: union([string(), null_()]),
|
||||||
|
date_on_sale_from_gmt: union([string(), null_()]),
|
||||||
|
date_on_sale_to: union([string(), null_()]),
|
||||||
|
date_on_sale_to_gmt: union([string(), null_()]),
|
||||||
|
default_attributes: array(WCV3ProductDefaultAttributeSchema),
|
||||||
|
description: string(),
|
||||||
|
dimensions: WCV3ProductDimensionsSchema,
|
||||||
|
download_expiry: number(),
|
||||||
|
download_limit: number(),
|
||||||
|
downloadable: boolean(),
|
||||||
|
downloads: array(WCV3ProductDownloadsSchema),
|
||||||
|
external_url: string(),
|
||||||
|
featured: boolean(),
|
||||||
|
generated_slug: optional(string()),
|
||||||
|
global_unique_id: string(),
|
||||||
|
grouped_products: array(pipe$1(number(), integer())),
|
||||||
|
has_options: boolean(),
|
||||||
|
id: pipe$1(number(), integer()),
|
||||||
|
image_repos: union([string(), null_()]),
|
||||||
|
image_survol: union([string(), null_()]),
|
||||||
|
images: array(WCV3ProductImageSchema),
|
||||||
|
low_stock_amount: union([number(), null_()]),
|
||||||
|
manage_stock: boolean(),
|
||||||
|
menu_order: pipe$1(number(), integer()),
|
||||||
|
meta_data: array(WCV3ProductMetaDataSchema),
|
||||||
|
name: string(),
|
||||||
|
on_sale: boolean(),
|
||||||
|
parent_id: pipe$1(number(), integer()),
|
||||||
|
permalink: pipe$1(string(), url()),
|
||||||
|
permalink_template: optional(string()),
|
||||||
|
post_password: string(),
|
||||||
|
price: string(),
|
||||||
|
price_html: string(),
|
||||||
|
prix_maximal: string(),
|
||||||
|
purchasable: boolean(),
|
||||||
|
purchase_note: string(),
|
||||||
|
rating_count: pipe$1(number(), integer()),
|
||||||
|
regular_price: string(),
|
||||||
|
related_ids: array(pipe$1(number(), integer())),
|
||||||
|
reviews_allowed: boolean(),
|
||||||
|
sale_price: string(),
|
||||||
|
shipping_class: string(),
|
||||||
|
shipping_class_id: pipe$1(number(), integer()),
|
||||||
|
shipping_required: boolean(),
|
||||||
|
shipping_taxable: boolean(),
|
||||||
|
short_description: string(),
|
||||||
|
sku: string(),
|
||||||
|
slug: string(),
|
||||||
|
sold_individually: boolean(),
|
||||||
|
status: enum_(PRODUCT_STATUTES),
|
||||||
|
stock_quantity: union([number(), null_()]),
|
||||||
|
stock_status: enum_(STOCK_STATUSES),
|
||||||
|
tags: array(WCV3ProductTagSchema),
|
||||||
|
tax_class: string(),
|
||||||
|
tax_status: enum_(TAX_STATUTES),
|
||||||
|
total_sales: pipe$1(number(), integer()),
|
||||||
|
type: enum_(PRODUCT_TYPES),
|
||||||
|
upsell_ids: array(pipe$1(number(), integer())),
|
||||||
|
variations: array(pipe$1(number(), integer())),
|
||||||
|
virtual: boolean(),
|
||||||
|
weight: string()
|
||||||
|
});
|
||||||
|
const WCV3ProductsSchema = array(WCV3ProductSchema);
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-boutique.ts
|
||||||
|
var ETATS_PAGE = _etats;
|
||||||
|
var PRODUCTS_PER_PAGE = 12;
|
||||||
|
var E = {
|
||||||
|
BOUTON_PLUS_DE_PRODUITS: mustGetEleInDocument(DOM_BOUTON_PLUS_PRODUITS),
|
||||||
|
GRILLE_PRODUITS: mustGetEleInDocument(DOM_GRILLE_PRODUITS)
|
||||||
|
};
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
var initialisePageBoutique = () => {
|
||||||
|
/** ID de la Catégorie de Produits si la Page courante est l'Archive d'une Catégorie. */
|
||||||
|
const idCategorieProduits = E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);
|
||||||
|
E.BOUTON_PLUS_DE_PRODUITS.addEventListener("click", () => {
|
||||||
|
/** Le numéro de page demandée par l'Utilisateur. */
|
||||||
|
const nouveauNumeroPage = Number(E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;
|
||||||
|
/** Les arguments passés à la requête auprès Backend pour la nouvelle page de Produits. */
|
||||||
|
const args = {
|
||||||
|
page: nouveauNumeroPage,
|
||||||
|
per_page: PRODUCTS_PER_PAGE,
|
||||||
|
status: PRODUCT_STATUTES.PUBLISH,
|
||||||
|
...idCategorieProduits && { category: idCategorieProduits }
|
||||||
|
};
|
||||||
|
EitherAsync.liftEither(safeSchemaParse(args, WCV3ProductsArgsSchema)).ifRight(() => {
|
||||||
|
E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||||
|
E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_CHARGEMENT, "");
|
||||||
|
lanceAnimationCycleLoading(E.BOUTON_PLUS_DE_PRODUITS, 500);
|
||||||
|
}).chain((args$1) => EitherAsync(() => getBackendAvecParametresUrl({
|
||||||
|
authString: ETATS_PAGE.authString,
|
||||||
|
nonce: ETATS_PAGE.nonce,
|
||||||
|
route: ROUTE_API_NOUVELLE_PRODUCTS,
|
||||||
|
searchParams: new URLSearchParams(args$1).toString()
|
||||||
|
}))).chain((reponse) => EitherAsync(async ({ throwE }) => {
|
||||||
|
return M(await newPartialResponse(reponse)).with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))).with({ status: 400 }, () => throwE(new BadRequestError("400 Server Error"))).with({ status: 200 }, (r) => r.body).run();
|
||||||
|
})).chain((corpsReponse) => EitherAsync.liftEither(safeSchemaParse(corpsReponse, WCV3ProductsSchema))).ifRight((donnees) => {
|
||||||
|
if (donnees.length < PRODUCTS_PER_PAGE) E.BOUTON_PLUS_DE_PRODUITS.toggleAttribute(ATTRIBUT_HIDDEN);
|
||||||
|
const fragment = document.createDocumentFragment();
|
||||||
|
for (const produit of donnees.slice(0, PRODUCTS_PER_PAGE)) pipe(html`
|
||||||
|
<article class="produit">
|
||||||
|
<figure>
|
||||||
|
<a href="/product/${produit.slug}">
|
||||||
|
<picture class="produit__illustration produit__illustration__principale">
|
||||||
|
${produit.image_repos ?? ""}
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
<picture class="produit__illustration produit__illustration__survol">
|
||||||
|
${produit.image_survol ?? ""}
|
||||||
|
</picture>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<figcaption class="produit__textuel">
|
||||||
|
<h3 class="produit__textuel__titre">
|
||||||
|
<a href="${produit.permalink}">${produit.name}</a>
|
||||||
|
</h3>
|
||||||
|
<p class="produit__textuel__prix">
|
||||||
|
${produit.prix_maximal}€
|
||||||
|
</p>
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
</article>
|
||||||
|
`, tap((article) => fragment.appendChild(article)));
|
||||||
|
E.GRILLE_PRODUITS.appendChild(fragment);
|
||||||
|
E.GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouveauNumeroPage));
|
||||||
|
E.BOUTON_PLUS_DE_PRODUITS.textContent = "Show more";
|
||||||
|
}).ifLeft((erreur) => {
|
||||||
|
M(erreur).with(z.instanceOf(ValiError), (e) => {
|
||||||
|
reporteErreur(e);
|
||||||
|
console.error("ValiError", e.issues);
|
||||||
|
}).otherwise((e) => {
|
||||||
|
reporteErreur(e);
|
||||||
|
console.error("Erreur", e);
|
||||||
|
});
|
||||||
|
E.BOUTON_PLUS_DE_PRODUITS.textContent = "Error, try again?";
|
||||||
|
}).finally(() => {
|
||||||
|
E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_CHARGEMENT);
|
||||||
|
E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_DESACTIVE);
|
||||||
|
}).run();
|
||||||
|
});
|
||||||
|
};
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
initialisePageBoutique();
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//# sourceMappingURL=scripts-page-boutique.js.map
|
||||||
File diff suppressed because one or more lines are too long
1204
web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js
Normal file
1204
web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,106 @@
|
||||||
|
import "./journalisation.CEgm28xa.js";
|
||||||
|
import { dt as pipe } from "./exports.CurVqjr0.js";
|
||||||
|
import { $ as Maybe, Dt as DOM_BOUTON_AJOUT_PANIER, E as array, H as string, Ht as DOM_CONTENUS_ACCORDEON, I as number, J as lanceAnimationCycleLoading, L as object, S as reporteErreur, T as ValiError, Ut as DOM_DOM_QUANTITE, a as mustGetEleInDocument, an as DOM_PRIX_PRODUIT, b as ServerError, dt as ATTRIBUT_DESACTIVE, h as BadRequestError, it as ATTRIBUT_ARIA_EXPANDED, l as recupereElementDocumentEither, mn as forEach, pt as ATTRIBUT_HIDDEN, rt as ATTRIBUT_ARIA_CONTROLS, s as mustGetElesInDocument, st as ATTRIBUT_CHARGEMENT, wt as DOM_BOUTONS_ACCORDEON, yt as ATTRIBUT_PRIX, z as optional } from "./dom.emspS_OW.js";
|
||||||
|
import "./belt_Option-91f3b350.CMbgtZ-W.js";
|
||||||
|
import { n as tap } from "./index-c1cc4c86.D2nZEikK.js";
|
||||||
|
import { i as get, t as estHTMLSelectElement } from "./gardes.CYxPzOAc.js";
|
||||||
|
import { i as ROUTE_API_AJOUTE_ARTICLE_PANIER } from "./api.CM5TBNEA.js";
|
||||||
|
import { s as WCStoreCartSchema, t as emetMessageMajBoutonPanier } from "./messages.CqHLtCes.js";
|
||||||
|
import { a as safeFetch, n as newPartialResponse, r as postBackend, s as EitherAsync } from "./reseau.BY4MrTI9.js";
|
||||||
|
import { t as safeSchemaParse } from "./validation.CYJDC5vQ.js";
|
||||||
|
import { n as z, t as M } from "./dist.CzYTlmnN.js";
|
||||||
|
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts
|
||||||
|
const WCStoreCartAddItemArgsItemsSchema = object({
|
||||||
|
attribute: string(),
|
||||||
|
value: string()
|
||||||
|
});
|
||||||
|
const WCStoreCartAddItemArgsSchema = object({
|
||||||
|
id: optional(number()),
|
||||||
|
quantity: optional(number()),
|
||||||
|
variation: optional(array(WCStoreCartAddItemArgsItemsSchema))
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts
|
||||||
|
var ETATS_PAGE = _etats;
|
||||||
|
/**
|
||||||
|
* Fonction utilitaire pour déplier toutes les sections de la Boîte des Informations Produit en ajustant les attributs
|
||||||
|
* correspondants.
|
||||||
|
*/
|
||||||
|
var deplieToutesSections = (ensembleLiensContenus) => forEach(ensembleLiensContenus, (ensemble) => {
|
||||||
|
Maybe.fromNullable(ensemble.at(0)).ifJust((e) => e.setAttribute(ATTRIBUT_ARIA_EXPANDED, "false"));
|
||||||
|
Maybe.fromNullable(ensemble.at(1)).ifJust((e) => e.setAttribute(ATTRIBUT_HIDDEN, "true"));
|
||||||
|
});
|
||||||
|
var E = {
|
||||||
|
BOUTON_AJOUT_PANIER: mustGetEleInDocument(DOM_BOUTON_AJOUT_PANIER),
|
||||||
|
BOUTONS_ACCORDEON: mustGetElesInDocument(DOM_BOUTONS_ACCORDEON),
|
||||||
|
CONTENUS_ACCORDEON: mustGetElesInDocument(DOM_CONTENUS_ACCORDEON),
|
||||||
|
PRIX_PRODUIT: mustGetEleInDocument(DOM_PRIX_PRODUIT),
|
||||||
|
DOM_VARIATION: recupereElementDocumentEither(DOM_DOM_QUANTITE)
|
||||||
|
};
|
||||||
|
var gereAccordeonDetailsProduit = () => {
|
||||||
|
const contenus = /* @__PURE__ */ new Map();
|
||||||
|
E.BOUTONS_ACCORDEON.forEach((bouton, index) => {
|
||||||
|
const idContenu = bouton.getAttribute(ATTRIBUT_ARIA_CONTROLS);
|
||||||
|
const sectionCorrespondante = E.CONTENUS_ACCORDEON[index];
|
||||||
|
if (!idContenu) throw new Error("Le lien ne dispose pas d'ID !");
|
||||||
|
if (!sectionCorrespondante) throw new Error("Le lien ne dispose pas de section correspondante !");
|
||||||
|
contenus.set(idContenu, [bouton, sectionCorrespondante]);
|
||||||
|
bouton.addEventListener("click", (evenement) => {
|
||||||
|
evenement.preventDefault();
|
||||||
|
const estAncienContenuDeplie = bouton.getAttribute(ATTRIBUT_ARIA_EXPANDED) === "true";
|
||||||
|
pipe(contenus.values(), Array.from, deplieToutesSections);
|
||||||
|
if (estAncienContenuDeplie) return;
|
||||||
|
bouton.setAttribute(ATTRIBUT_ARIA_EXPANDED, "true");
|
||||||
|
sectionCorrespondante.removeAttribute(ATTRIBUT_HIDDEN);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
E.DOM_VARIATION.ifRight((selecteur) => selecteur.addEventListener("change", (evenement) => {
|
||||||
|
const cibleSelecteur = Maybe.fromNullable(evenement.target).filter(estHTMLSelectElement);
|
||||||
|
cibleSelecteur.map((v) => v.validity.valid).ifJust((v) => E.BOUTON_AJOUT_PANIER.toggleAttribute(ATTRIBUT_DESACTIVE, !v));
|
||||||
|
cibleSelecteur.chainNullable((s) => s.selectedOptions[0]).chainNullable((e) => e.getAttribute(ATTRIBUT_PRIX)).ifJust((p) => {
|
||||||
|
E.PRIX_PRODUIT.textContent = `${p}€`;
|
||||||
|
});
|
||||||
|
}));
|
||||||
|
E.BOUTON_AJOUT_PANIER.addEventListener("click", () => ajouteProduitAuPanier());
|
||||||
|
};
|
||||||
|
var ajouteProduitAuPanier = () => {
|
||||||
|
const argsRequete = {
|
||||||
|
id: E.DOM_VARIATION.map((selecteur) => Number(selecteur.value)).orDefault(ETATS_PAGE.idProduit),
|
||||||
|
quantity: 1
|
||||||
|
};
|
||||||
|
EitherAsync.liftEither(safeSchemaParse(argsRequete, WCStoreCartAddItemArgsSchema)).ifRight(() => {
|
||||||
|
E.BOUTON_AJOUT_PANIER.setAttribute(ATTRIBUT_DESACTIVE, "");
|
||||||
|
E.BOUTON_AJOUT_PANIER.setAttribute(ATTRIBUT_CHARGEMENT, "");
|
||||||
|
lanceAnimationCycleLoading(E.BOUTON_AJOUT_PANIER, 500);
|
||||||
|
}).chain((args) => safeFetch(postBackend({
|
||||||
|
corps: JSON.stringify(args),
|
||||||
|
nonce: ETATS_PAGE.nonce,
|
||||||
|
route: ROUTE_API_AJOUTE_ARTICLE_PANIER
|
||||||
|
}))).chain((reponse) => EitherAsync(async ({ throwE }) => M(await newPartialResponse(reponse)).with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))).with({ status: 400 }, () => throwE(new BadRequestError("400 Bad Request Error"))).with({ status: 201 }, (r) => r.body).otherwise((erreur) => throwE(/* @__PURE__ */ new Error(`Erreur inconnue ${String(erreur.status)}`))))).chain((corpsReponse) => EitherAsync.liftEither(safeSchemaParse(corpsReponse, WCStoreCartSchema))).ifRight((panier) => pipe(get(panier, "items_count"), tap((totalArticles) => {
|
||||||
|
E.BOUTON_AJOUT_PANIER.textContent = "Added to cart!";
|
||||||
|
emetMessageMajBoutonPanier({ quantiteProduits: totalArticles });
|
||||||
|
}))).ifLeft((erreur) => {
|
||||||
|
M(erreur).with(z.instanceOf(ValiError), (e) => {
|
||||||
|
reporteErreur(e);
|
||||||
|
console.error(e.issues);
|
||||||
|
}).with(z.instanceOf(ServerError), z.instanceOf(BadRequestError), (e) => {
|
||||||
|
reporteErreur(e);
|
||||||
|
console.error(e);
|
||||||
|
}).with(z.instanceOf(DOMException), z.instanceOf(TypeError), z.instanceOf(Error), (e) => {
|
||||||
|
reporteErreur(e);
|
||||||
|
console.error(e);
|
||||||
|
}).exhaustive();
|
||||||
|
E.BOUTON_AJOUT_PANIER.textContent = "Add to cart";
|
||||||
|
}).finally(() => {
|
||||||
|
E.BOUTON_AJOUT_PANIER.removeAttribute(ATTRIBUT_CHARGEMENT);
|
||||||
|
E.BOUTON_AJOUT_PANIER.removeAttribute(ATTRIBUT_DESACTIVE);
|
||||||
|
}).run();
|
||||||
|
};
|
||||||
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
|
gereAccordeonDetailsProduit();
|
||||||
|
});
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//# sourceMappingURL=scripts-page-produit.js.map
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,45 @@
|
||||||
|
import { B as parse, F as null_, H as string, I as number, L as object, M as literal, V as pipe, W as union, X as Either, j as is, k as includes, z as optional } from "./dom.emspS_OW.js";
|
||||||
|
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts
|
||||||
|
const WCErrorBodySchema = object({
|
||||||
|
code: string(),
|
||||||
|
data: object({ status: number() }),
|
||||||
|
message: string()
|
||||||
|
});
|
||||||
|
const WCErrorSchema = object({
|
||||||
|
body: WCErrorBodySchema,
|
||||||
|
status: number()
|
||||||
|
});
|
||||||
|
const WCAddressErrorSchema = object({
|
||||||
|
code: literal("rest_invalid_param"),
|
||||||
|
data: object({
|
||||||
|
details: object({
|
||||||
|
billing: optional(object({
|
||||||
|
code: string(),
|
||||||
|
data: union([null_(), string()]),
|
||||||
|
message: string()
|
||||||
|
})),
|
||||||
|
shipping: optional(object({
|
||||||
|
code: string(),
|
||||||
|
data: union([null_(), string()]),
|
||||||
|
message: string()
|
||||||
|
}))
|
||||||
|
}),
|
||||||
|
params: object({
|
||||||
|
billing: optional(string()),
|
||||||
|
shipping: optional(string())
|
||||||
|
}),
|
||||||
|
status: literal(400)
|
||||||
|
}),
|
||||||
|
message: pipe(string(), includes("Invalid parameter(s):"), includes("_address"))
|
||||||
|
});
|
||||||
|
const estWCAddressError = (donnees) => is(WCAddressErrorSchema, donnees);
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
//#region web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts
|
||||||
|
const safeSchemaParse = (valeur, schema) => Either.encase(() => parse(schema, valeur));
|
||||||
|
const safeSchemaParseCurried = (schema) => (valeur) => Either.encase(() => parse(schema, valeur));
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
export { estWCAddressError as i, safeSchemaParseCurried as n, WCErrorSchema as r, safeSchemaParse as t };
|
||||||
|
//# sourceMappingURL=validation.CYJDC5vQ.js.map
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"validation.CYJDC5vQ.js","names":[],"sources":["../../src/scripts/lib/schemas/api/erreurs.ts","../../src/scripts/lib/validation.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport type { WCAddressError, WCError } from \"../../types/api/erreurs\";\n\nexport const WCErrorBodySchema = v.object({\n code: v.string(),\n data: v.object({\n status: v.number(),\n }),\n message: v.string(),\n});\n\nexport const WCErrorSchema = v.object({\n body: WCErrorBodySchema,\n status: v.number(),\n});\n\nexport const estWCError = (donnees: unknown): donnees is WCError => v.is(WCErrorSchema, donnees);\n\nexport const WCAddressErrorSchema = v.object({\n code: v.literal(\"rest_invalid_param\"),\n data: v.object({\n details: v.object({\n billing: v.optional(v.object({\n code: v.string(),\n data: v.union([v.null(), v.string()]),\n message: v.string(),\n })),\n shipping: v.optional(v.object({\n code: v.string(),\n data: v.union([v.null(), v.string()]),\n message: v.string(),\n })),\n }),\n params: v.object({\n billing: v.optional(v.string()),\n shipping: v.optional(v.string()),\n }),\n status: v.literal(400),\n }),\n message: v.pipe(v.string(), v.includes(\"Invalid parameter(s):\"), v.includes(\"_address\")),\n});\n\nexport const estWCAddressError = (donnees: unknown): donnees is WCAddressError => v.is(WCAddressErrorSchema, donnees);\n","/**\n * Fonctions utilitaires de validation via Valibot.\n */\n\nimport { Either } from \"purify-ts\";\nimport { type GenericSchema, type InferOutput, parse, type ValiError } from \"valibot\";\n\nexport const safeSchemaParse = <Schema extends GenericSchema>(\n valeur: unknown,\n schema: Schema,\n): Either<ValiError<Schema>, InferOutput<Schema>> => Either.encase(() => parse(schema, valeur));\n\nexport const safeSchemaParseCurried =\n <S extends GenericSchema>(schema: S) => (valeur: unknown): Either<ValiError<S>, InferOutput<S>> =>\n Either.encase(() => parse(schema, valeur));\n"],"mappings":";;;AAIA,MAAa,oBAAoB,OAAS;CACxC,MAAM,QAAU;CAChB,MAAM,OAAS,EACb,QAAQ,QAAU,EACnB,CAAC;CACF,SAAS,QAAU;CACpB,CAAC;AAEF,MAAa,gBAAgB,OAAS;CACpC,MAAM;CACN,QAAQ,QAAU;CACnB,CAAC;AAIF,MAAa,uBAAuB,OAAS;CAC3C,MAAM,QAAU,qBAAqB;CACrC,MAAM,OAAS;EACb,SAAS,OAAS;GAChB,SAAS,SAAW,OAAS;IAC3B,MAAM,QAAU;IAChB,MAAM,MAAQ,CAAC,OAAQ,EAAE,QAAU,CAAC,CAAC;IACrC,SAAS,QAAU;IACpB,CAAC,CAAC;GACH,UAAU,SAAW,OAAS;IAC5B,MAAM,QAAU;IAChB,MAAM,MAAQ,CAAC,OAAQ,EAAE,QAAU,CAAC,CAAC;IACrC,SAAS,QAAU;IACpB,CAAC,CAAC;GACJ,CAAC;EACF,QAAQ,OAAS;GACf,SAAS,SAAW,QAAU,CAAC;GAC/B,UAAU,SAAW,QAAU,CAAC;GACjC,CAAC;EACF,QAAQ,QAAU,IAAI;EACvB,CAAC;CACF,SAAS,KAAO,QAAU,EAAE,SAAW,wBAAwB,EAAE,SAAW,WAAW,CAAC;CACzF,CAAC;AAEF,MAAa,qBAAqB,YAAgD,GAAK,sBAAsB,QAAQ;;;;ACpCrH,MAAa,mBACX,QACA,WACmD,OAAO,aAAa,MAAM,QAAQ,OAAO,CAAC;AAE/F,MAAa,0BACe,YAAe,WACvC,OAAO,aAAa,MAAM,QAAQ,OAAO,CAAC"}
|
||||||
|
|
@ -84,4 +84,4 @@ const client = new BrowserClient({
|
||||||
|
|
||||||
/* Initialise la configuration */
|
/* Initialise la configuration */
|
||||||
getCurrentScope().setClient(client);
|
getCurrentScope().setClient(client);
|
||||||
// client.init();
|
client.init();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue