2024-11-24

corvée(images) ajoute les images téléversées

corvée(images) supprime les images optimisées
This commit is contained in:
gcch 2024-11-23 14:18:54 +01:00
commit d8dbe1370e
660 changed files with 993 additions and 3803 deletions

0
TODO.md Normal file
View file

16
composer.lock generated
View file

@ -4350,16 +4350,16 @@
}, },
{ {
"name": "php-stubs/wordpress-stubs", "name": "php-stubs/wordpress-stubs",
"version": "v6.6.2", "version": "v6.7.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/php-stubs/wordpress-stubs.git", "url": "https://github.com/php-stubs/wordpress-stubs.git",
"reference": "f50fd7ed45894d036e4fef9ab7e5bbbaff6a30cc" "reference": "83448e918bf06d1ed3d67ceb6a985fc266a02fd1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/f50fd7ed45894d036e4fef9ab7e5bbbaff6a30cc", "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/83448e918bf06d1ed3d67ceb6a985fc266a02fd1",
"reference": "f50fd7ed45894d036e4fef9ab7e5bbbaff6a30cc", "reference": "83448e918bf06d1ed3d67ceb6a985fc266a02fd1",
"shasum": "" "shasum": ""
}, },
"require-dev": { "require-dev": {
@ -4368,9 +4368,9 @@
"php": "^7.4 || ^8.0", "php": "^7.4 || ^8.0",
"php-stubs/generator": "^0.8.3", "php-stubs/generator": "^0.8.3",
"phpdocumentor/reflection-docblock": "^5.4.1", "phpdocumentor/reflection-docblock": "^5.4.1",
"phpstan/phpstan": "^1.10.49", "phpstan/phpstan": "^1.11",
"phpunit/phpunit": "^9.5", "phpunit/phpunit": "^9.5",
"szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0", "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.1.1",
"wp-coding-standards/wpcs": "3.1.0 as 2.3.0" "wp-coding-standards/wpcs": "3.1.0 as 2.3.0"
}, },
"suggest": { "suggest": {
@ -4392,9 +4392,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/php-stubs/wordpress-stubs/issues", "issues": "https://github.com/php-stubs/wordpress-stubs/issues",
"source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.6.2" "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.7.1"
}, },
"time": "2024-09-30T07:10:48+00:00" "time": "2024-11-24T03:57:09+00:00"
}, },
{ {
"name": "phpdocumentor/reflection-common", "name": "phpdocumentor/reflection-common",

View file

@ -30,12 +30,12 @@
"better-typescript-lib": "^2.9.0", "better-typescript-lib": "^2.9.0",
"browserslist": "^4.24.2", "browserslist": "^4.24.2",
"eslint": "^9.15.0", "eslint": "^9.15.0",
"eslint-plugin-oxlint": "^0.13.0", "eslint-plugin-oxlint": "^0.13.1",
"eslint-plugin-perfectionist": "^4.0.3", "eslint-plugin-perfectionist": "^4.0.3",
"fdir": "^6.4.2", "fdir": "^6.4.2",
"globals": "^15.12.0", "globals": "^15.12.0",
"knip": "^5.37.2", "knip": "^5.37.2",
"oxlint": "^0.13.0", "oxlint": "^0.13.1",
"picomatch": "^4.0.2", "picomatch": "^4.0.2",
"prettier": "^3.3.3", "prettier": "^3.3.3",
"prettier-plugin-pkg": "^0.18.1", "prettier-plugin-pkg": "^0.18.1",

110
pnpm-lock.yaml generated
View file

@ -64,8 +64,8 @@ importers:
specifier: ^9.15.0 specifier: ^9.15.0
version: 9.15.0(jiti@2.4.0) version: 9.15.0(jiti@2.4.0)
eslint-plugin-oxlint: eslint-plugin-oxlint:
specifier: ^0.13.0 specifier: ^0.13.1
version: 0.13.0 version: 0.13.1
eslint-plugin-perfectionist: eslint-plugin-perfectionist:
specifier: ^4.0.3 specifier: ^4.0.3
version: 4.0.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.8.0-dev.20241122) version: 4.0.3(eslint@9.15.0(jiti@2.4.0))(typescript@5.8.0-dev.20241122)
@ -79,8 +79,8 @@ importers:
specifier: ^5.37.2 specifier: ^5.37.2
version: 5.37.2(@types/node@22.9.3)(typescript@5.8.0-dev.20241122) version: 5.37.2(@types/node@22.9.3)(typescript@5.8.0-dev.20241122)
oxlint: oxlint:
specifier: ^0.13.0 specifier: ^0.13.1
version: 0.13.0 version: 0.13.1
picomatch: picomatch:
specifier: ^4.0.2 specifier: ^4.0.2
version: 4.0.2 version: 4.0.2
@ -622,43 +622,43 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
'@oxlint/darwin-arm64@0.13.0': '@oxlint/darwin-arm64@0.13.1':
resolution: {integrity: sha512-TFVi4gWKmn4oUoaS6AUU6cvlA+xLCIHQWA27LdnyfmRDerxHSWaG4yPNq9bvhDAeeEWqid5+TR5ndu4WRhEr5A==} resolution: {integrity: sha512-r2lMzuOhEO1j4NQe/A7kBcziuHvx2PZzCz3ip1eI6zUrwKqRtHZF3e9EdU0M2VLVV+1Mt1rJIYqHo4lXC3TCdw==}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@oxlint/darwin-x64@0.13.0': '@oxlint/darwin-x64@0.13.1':
resolution: {integrity: sha512-ihbegvRXcED2Bgz9Lt4AGFoNfvh/tUZPrFR5DZ3Hn8muab+PEFfXXXKcelSDpTB4za5bDXz6dZcAUUfQUWPwxg==} resolution: {integrity: sha512-kQa5MAOlBx9F5nBs1S5dk7ZUJ8wWKxPPQ2OvjZpqKCGQe5YlMEPWdTJK21SmNIf/V0WOUV3PIexZwVJ2kzuMrQ==}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@oxlint/linux-arm64-gnu@0.13.0': '@oxlint/linux-arm64-gnu@0.13.1':
resolution: {integrity: sha512-k4r03/29d+IdcT30B6H5TpWT7bFrkqbRrFQ5VS6GX5ISN0yRdagu4Q08sDimCTTXvg5H9Z/sHmxbw7tbjGGW4w==} resolution: {integrity: sha512-zrN/1LvHq+s8CBi1u59tR/xVC0rb9ONJAXXTwfnf2QM3lbCjFXi8sgFDcffL6KoMzVrZwwIK+qFnbl7daHaqvA==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@oxlint/linux-arm64-musl@0.13.0': '@oxlint/linux-arm64-musl@0.13.1':
resolution: {integrity: sha512-m+LFHCwNydIrGHDz1VPTaQsZewaqYadKhzyjsw4TRf0g5fxeEC4tkv6MI80D2S//QO6DJi8VcnPfVqGWoS5vQQ==} resolution: {integrity: sha512-TWG/dCh6WBi9OfO+rJJ45smLvFShy/6ZwOg7f2MWTcfkEKdCLJP+bkVwZFVwB+WndBFAMk45lyli83uaHJfNpg==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@oxlint/linux-x64-gnu@0.13.0': '@oxlint/linux-x64-gnu@0.13.1':
resolution: {integrity: sha512-Kixb9MXi5muDKsrNo5k7TANEE3DuUUSKIgoBN68LbX4n2owjCsq/gnzVjQ/rDK0vFn0JQMxMXWjBZvV64ybXMQ==} resolution: {integrity: sha512-lk9X72DJ5EZpDpc4fM+O+Qk5GuZ37LHeHhUNzjQ01uywwGVCkW2cDmTKIs/PYfxcDA53bwW/Ddsljn71BLtWoA==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@oxlint/linux-x64-musl@0.13.0': '@oxlint/linux-x64-musl@0.13.1':
resolution: {integrity: sha512-wCCsesDf05G0bjXMrxAvH36Cl4q0oavR3fo4N5NJyyrRdZ+feAZSsfaHRpvlqkJyUM3vhP6emKrXzIN5fp22dw==} resolution: {integrity: sha512-Hb8wiT6KnyljDeMN7exSRRTkKH1n/8pczqWkPT5fCklahs721/z+vnxp49U5yvDdrD1LyppFKieEnKKg4uWtOw==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@oxlint/win32-arm64@0.13.0': '@oxlint/win32-arm64@0.13.1':
resolution: {integrity: sha512-xO6oZ+0yjYuEviKqRUVWMuYvzYqJDHd0IcBss8J2o45OS9SH+mNNk5gZJm9uKbDdmFZcDn2OlZxAiygVMxHt9g==} resolution: {integrity: sha512-Z3sHxYSGz+ZByScbe01Tqv9DEIr4ve/mgrFPFMxL0ve18CAnMe/2Psxj4A+T/BW4zINXdQyeiPkcWDNX+eUEQg==}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@oxlint/win32-x64@0.13.0': '@oxlint/win32-x64@0.13.1':
resolution: {integrity: sha512-NiiaQ/AD1ILQ8cXRxdjE/dRMCRABFbelSYqoFrrklV2Y7hwtF0Law48GvM5ysQbz/NHVpQpnVNQOQ3cevywn3w==} resolution: {integrity: sha512-9BKvquGa9nloHEXXNPnro7inzbX6BNFun9+ti9LvWEn1uNL/m6mmfMbwEmqXeDaeJACuQB3/9te1DRNUOE5ULw==}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -1293,8 +1293,8 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
caniuse-lite@1.0.30001683: caniuse-lite@1.0.30001684:
resolution: {integrity: sha512-iqmNnThZ0n70mNwvxpEC2nBJ037ZHZUoBI5Gorh1Mw6IlEAZujEoU1tXA628iZfzm7R9FvFzxbfdgml82a3k8Q==} resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==}
chalk@4.1.2: chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@ -1500,8 +1500,8 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'} engines: {node: '>=10'}
eslint-plugin-oxlint@0.13.0: eslint-plugin-oxlint@0.13.1:
resolution: {integrity: sha512-EjIpgAJr1ZQBHyHqAjhOvra1CD9W49MnV4jcaF44RWfkTVlg04OHPH2HL/ciQRYJM9WFsJd0l07ShbzvBtVAMw==} resolution: {integrity: sha512-gzjweRs6I9vdopBAQx2jfFfsHYEPHb6Ejigy+OJNOzFcNscgkKUF1m+fyP64EdAjfCpiApL1bR/PGsmKP703iA==}
eslint-plugin-perfectionist@4.0.3: eslint-plugin-perfectionist@4.0.3:
resolution: {integrity: sha512-CyafnreF6boy4lf1XaF72U8NbkwrfjU/mOf1y6doaDMS9zGXhUU1DSk+ZPf/rVwCf1PL1m+rhHqFs+IcB8kDmA==} resolution: {integrity: sha512-CyafnreF6boy4lf1XaF72U8NbkwrfjU/mOf1y6doaDMS9zGXhUU1DSk+ZPf/rVwCf1PL1m+rhHqFs+IcB8kDmA==}
@ -1746,9 +1746,9 @@ packages:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
hash-base@3.0.4: hash-base@3.0.5:
resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==} resolution: {integrity: sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==}
engines: {node: '>=4'} engines: {node: '>= 0.10'}
hash.js@1.1.7: hash.js@1.1.7:
resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
@ -2108,8 +2108,8 @@ packages:
os-browserify@0.3.0: os-browserify@0.3.0:
resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==}
oxlint@0.13.0: oxlint@0.13.1:
resolution: {integrity: sha512-YUwybs9U5siS54Q+vVkxMQXiNF6LHeLRxihj6toUFwrYSxL1wsV6HUiAS8Vig+USDIGoEDdGBgpq29iwWDjYHw==} resolution: {integrity: sha512-XkH9kzbWv9VWiVF76GFij33ZCVCznRItZc50kAIoVdqWpPYjvZk4oc71fKIfxoLxChB+ZNwU2PmsHLBDXAmhuw==}
engines: {node: '>=14.*'} engines: {node: '>=14.*'}
hasBin: true hasBin: true
@ -3286,28 +3286,28 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5 '@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1 fastq: 1.17.1
'@oxlint/darwin-arm64@0.13.0': '@oxlint/darwin-arm64@0.13.1':
optional: true optional: true
'@oxlint/darwin-x64@0.13.0': '@oxlint/darwin-x64@0.13.1':
optional: true optional: true
'@oxlint/linux-arm64-gnu@0.13.0': '@oxlint/linux-arm64-gnu@0.13.1':
optional: true optional: true
'@oxlint/linux-arm64-musl@0.13.0': '@oxlint/linux-arm64-musl@0.13.1':
optional: true optional: true
'@oxlint/linux-x64-gnu@0.13.0': '@oxlint/linux-x64-gnu@0.13.1':
optional: true optional: true
'@oxlint/linux-x64-musl@0.13.0': '@oxlint/linux-x64-musl@0.13.1':
optional: true optional: true
'@oxlint/win32-arm64@0.13.0': '@oxlint/win32-arm64@0.13.1':
optional: true optional: true
'@oxlint/win32-x64@0.13.0': '@oxlint/win32-x64@0.13.1':
optional: true optional: true
'@parcel/watcher-android-arm64@2.5.0': '@parcel/watcher-android-arm64@2.5.0':
@ -3919,7 +3919,7 @@ snapshots:
create-hash: 1.2.0 create-hash: 1.2.0
create-hmac: 1.1.7 create-hmac: 1.1.7
elliptic: 6.6.1 elliptic: 6.6.1
hash-base: 3.0.4 hash-base: 3.0.5
inherits: 2.0.4 inherits: 2.0.4
parse-asn1: 5.1.7 parse-asn1: 5.1.7
readable-stream: 2.3.8 readable-stream: 2.3.8
@ -3931,7 +3931,7 @@ snapshots:
browserslist@4.24.2: browserslist@4.24.2:
dependencies: dependencies:
caniuse-lite: 1.0.30001683 caniuse-lite: 1.0.30001684
electron-to-chromium: 1.5.64 electron-to-chromium: 1.5.64
node-releases: 2.0.18 node-releases: 2.0.18
update-browserslist-db: 1.1.1(browserslist@4.24.2) update-browserslist-db: 1.1.1(browserslist@4.24.2)
@ -3971,7 +3971,7 @@ snapshots:
callsites@3.1.0: {} callsites@3.1.0: {}
caniuse-lite@1.0.30001683: {} caniuse-lite@1.0.30001684: {}
chalk@4.1.2: chalk@4.1.2:
dependencies: dependencies:
@ -4072,7 +4072,7 @@ snapshots:
create-hash: 1.2.0 create-hash: 1.2.0
create-hmac: 1.1.7 create-hmac: 1.1.7
diffie-hellman: 5.0.3 diffie-hellman: 5.0.3
hash-base: 3.0.4 hash-base: 3.0.5
inherits: 2.0.4 inherits: 2.0.4
pbkdf2: 3.1.2 pbkdf2: 3.1.2
public-encrypt: 4.0.3 public-encrypt: 4.0.3
@ -4206,7 +4206,7 @@ snapshots:
escape-string-regexp@4.0.0: {} escape-string-regexp@4.0.0: {}
eslint-plugin-oxlint@0.13.0: eslint-plugin-oxlint@0.13.1:
dependencies: dependencies:
jsonc-parser: 3.3.1 jsonc-parser: 3.3.1
@ -4491,7 +4491,7 @@ snapshots:
dependencies: dependencies:
has-symbols: 1.0.3 has-symbols: 1.0.3
hash-base@3.0.4: hash-base@3.0.5:
dependencies: dependencies:
inherits: 2.0.4 inherits: 2.0.4
safe-buffer: 5.2.1 safe-buffer: 5.2.1
@ -4693,7 +4693,7 @@ snapshots:
md5.js@1.3.5: md5.js@1.3.5:
dependencies: dependencies:
hash-base: 3.0.4 hash-base: 3.0.5
inherits: 2.0.4 inherits: 2.0.4
safe-buffer: 5.2.1 safe-buffer: 5.2.1
@ -4823,16 +4823,16 @@ snapshots:
os-browserify@0.3.0: {} os-browserify@0.3.0: {}
oxlint@0.13.0: oxlint@0.13.1:
optionalDependencies: optionalDependencies:
'@oxlint/darwin-arm64': 0.13.0 '@oxlint/darwin-arm64': 0.13.1
'@oxlint/darwin-x64': 0.13.0 '@oxlint/darwin-x64': 0.13.1
'@oxlint/linux-arm64-gnu': 0.13.0 '@oxlint/linux-arm64-gnu': 0.13.1
'@oxlint/linux-arm64-musl': 0.13.0 '@oxlint/linux-arm64-musl': 0.13.1
'@oxlint/linux-x64-gnu': 0.13.0 '@oxlint/linux-x64-gnu': 0.13.1
'@oxlint/linux-x64-musl': 0.13.0 '@oxlint/linux-x64-musl': 0.13.1
'@oxlint/win32-arm64': 0.13.0 '@oxlint/win32-arm64': 0.13.1
'@oxlint/win32-x64': 0.13.0 '@oxlint/win32-x64': 0.13.1
p-cancelable@3.0.0: {} p-cancelable@3.0.0: {}
@ -4859,7 +4859,7 @@ snapshots:
asn1.js: 4.10.1 asn1.js: 4.10.1
browserify-aes: 1.2.0 browserify-aes: 1.2.0
evp_bytestokey: 1.0.3 evp_bytestokey: 1.0.3
hash-base: 3.0.4 hash-base: 3.0.5
pbkdf2: 3.1.2 pbkdf2: 3.1.2
safe-buffer: 5.2.1 safe-buffer: 5.2.1
@ -5049,7 +5049,7 @@ snapshots:
ripemd160@2.0.2: ripemd160@2.0.2:
dependencies: dependencies:
hash-base: 3.0.4 hash-base: 3.0.5
inherits: 2.0.4 inherits: 2.0.4
rollup@4.27.4: rollup@4.27.4:

View file

@ -18,6 +18,7 @@
"moduleDetection": "force", "moduleDetection": "force",
"moduleResolution": "Bundler", "moduleResolution": "Bundler",
"noEmit": true, "noEmit": true,
"noErrorTruncation": true,
"noFallthroughCasesInSwitch": true, "noFallthroughCasesInSwitch": true,
"noImplicitAny": true, "noImplicitAny": true,
"noImplicitOverride": true, "noImplicitOverride": true,

File diff suppressed because it is too large Load diff

View file

@ -745,9 +745,13 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
position: absolute; position: absolute;
z-index: 5; z-index: 5;
bottom: calc(var(--position-y-fleches) / 2 - var(--espace-l) / 2); bottom: calc(var(--position-y-fleches) / 2 - var(--espace-l) / 2);
width: 3rem; display: flex;
height: 3rem; place-content: center;
padding: var(--espace-s); place-items: center;
min-width: 2rem;
max-width: 2rem;
min-height: 2rem;
max-height: 2rem;
visibility: hidden; visibility: hidden;
opacity: 0; opacity: 0;
border-radius: 100%; border-radius: 100%;
@ -756,18 +760,22 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
transition: 0.2s opacity, 0.2s visibility; transition: 0.2s opacity, 0.2s visibility;
} }
.fleches-defilement__bouton:first-of-type { .fleches-defilement__bouton:first-of-type {
left: var(--espace-l); left: var(--espace-s);
} }
.fleches-defilement__bouton:last-of-type { .fleches-defilement__bouton:last-of-type {
right: var(--espace-l); right: var(--espace-s);
}
.fleches-defilement__bouton svg {
min-width: 1.5rem;
min-height: 1.5rem;
} }
.fleches-defilement[data-images-presentes-debut] .fleches-defilement__bouton:first-of-type { .fleches-defilement[data-images-presentes-debut] .fleches-defilement__bouton:first-of-type {
cursor: pointer; cursor: pointer;
opacity: 1; opacity: 0.7;
} }
.fleches-defilement[data-images-presentes-fin] .fleches-defilement__bouton:last-of-type { .fleches-defilement[data-images-presentes-fin] .fleches-defilement__bouton:last-of-type {
cursor: pointer; cursor: pointer;
opacity: 1; opacity: 0.7;
} }
@media (width <= 60rem) { @media (width <= 60rem) {
.fleches-defilement button { .fleches-defilement button {
@ -807,7 +815,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
top: var(--colonne-gauche-position-haut); top: var(--colonne-gauche-position-haut);
height: var(--colonne-gauche-photo-hauteur); height: var(--colonne-gauche-photo-hauteur);
} }
.photos-produit .colonne.colonne-gauche figure, .photos-produit .colonne.colonne-gauche picture, .photos-produit .colonne.colonne-gauche img { .photos-produit .colonne.colonne-gauche figure,
.photos-produit .colonne.colonne-gauche picture,
.photos-produit .colonne.colonne-gauche img {
height: 100%; height: 100%;
} }
.photos-produit .colonne.colonne-droite img { .photos-produit .colonne.colonne-droite img {
@ -889,7 +899,6 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
display: flex; display: flex;
flex-flow: column nowrap; flex-flow: column nowrap;
row-gap: var(--espace-xl); row-gap: var(--espace-xl);
padding: var(--espace-m);
} }
.grille-produits article figure a { .grille-produits article figure a {
position: relative; position: relative;
@ -950,6 +959,7 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
display: flex; display: flex;
flex-flow: row nowrap; flex-flow: row nowrap;
justify-content: space-between; justify-content: space-between;
padding: var(--espace-m);
margin-bottom: var(--espace-xl); margin-bottom: var(--espace-xl);
} }
.grille-produits article figure figcaption h3 { .grille-produits article figure figcaption h3 {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -255,6 +255,9 @@
#panneau-informations-client .panneau__formulaires .panneau__formulaires__paiement .formulaire__paiement__attente-renseignement-formulaires p + p { #panneau-informations-client .panneau__formulaires .panneau__formulaires__paiement .formulaire__paiement__attente-renseignement-formulaires p + p {
margin-top: 1lh; margin-top: 1lh;
} }
#panneau-informations-client .panneau__formulaires .panneau__formulaires__message {
margin: var(--espace-l) 0;
}
#panneau-informations-client .formulaire { #panneau-informations-client .formulaire {
margin: auto; margin: auto;
padding: 0 var(--espace-xl); padding: 0 var(--espace-xl);
@ -292,7 +295,7 @@
#panneau-informations-client .formulaire label:has(+ :is(input:required, select:required)) { #panneau-informations-client .formulaire label:has(+ :is(input:required, select:required)) {
font-weight: 600; font-weight: 600;
} }
#panneau-informations-client .formulaire input { #panneau-informations-client .formulaire input, #panneau-informations-client .formulaire select {
width: 15rem; width: 15rem;
} }
#panneau-informations-client .panneau__pied-de-page { #panneau-informations-client .panneau__pied-de-page {

View file

@ -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;;AAGF;EACE;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;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;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AC5NN;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;;AAOV;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AC1JN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;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;;AAGF;EACE;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;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;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;AC5NN;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;;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;;;AC5JN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;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"}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
<svg viewBox="43.801 35.326 186.516 130.185" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" fill="#DFDEDE" d="M226.058 108.87c-3.021-7.855-11.031-12.949-21.609-14.896 17.068-11.315 26.261-27.05 21.471-39.518-6.177-16.074-33.244-20.635-60.461-10.179-7.015 2.694-13.343 6.124-18.778 10.001-.018-.05-.032-.102-.052-.152-6.174-16.076-33.251-20.633-60.46-10.178-27.223 10.456-44.276 31.967-38.105 48.043 2.792 7.266 9.862 12.164 19.273 14.402-15.603 11.168-23.785 26.049-19.206 37.953 6.176 16.079 33.251 20.633 60.46 10.176 6.809-2.611 12.975-5.918 18.311-9.656.169.627.358 1.251.595 1.867 6.174 16.075 33.241 20.631 60.462 10.176 27.22-10.455 44.272-31.965 38.099-48.039"/><path fill="none" stroke="#2B2B2B" stroke-width="5" stroke-miterlimit="10" d="M226.058 108.87c-3.021-7.855-11.031-12.949-21.609-14.896 17.068-11.315 26.261-27.05 21.471-39.518-6.177-16.074-33.244-20.635-60.461-10.179-7.015 2.694-13.343 6.124-18.778 10.001-.018-.05-.032-.102-.052-.152-6.174-16.076-33.251-20.633-60.46-10.178-27.223 10.456-44.276 31.967-38.105 48.043 2.792 7.266 9.862 12.164 19.273 14.402-15.603 11.168-23.785 26.049-19.206 37.953 6.176 16.079 33.251 20.633 60.46 10.176 6.809-2.611 12.975-5.918 18.311-9.656.169.627.358 1.251.595 1.867 6.174 16.075 33.241 20.631 60.462 10.176 27.22-10.455 44.272-31.965 38.099-48.039z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1 @@
<svg viewBox="43.727 35.716 186.52 130.194" xmlns="http://www.w3.org/2000/svg"><path opacity=".5" fill="#DFDEDE" d="M225.982 109.258c-3.021-7.855-11.031-12.949-21.609-14.896 17.068-11.315 26.261-27.05 21.471-39.518-6.177-16.074-33.244-20.635-60.461-10.179-7.015 2.694-13.343 6.124-18.778 10.001-.018-.05-.032-.102-.052-.152-6.174-16.076-33.251-20.633-60.46-10.178-27.222 10.456-44.276 31.967-38.104 48.043 2.792 7.266 9.862 12.164 19.273 14.402-15.603 11.168-23.785 26.049-19.206 37.953 6.176 16.079 33.251 20.633 60.46 10.176 6.809-2.611 12.975-5.918 18.311-9.656.169.627.358 1.251.595 1.867 6.174 16.075 33.241 20.631 60.462 10.176 27.22-10.455 44.272-31.965 38.098-48.039"/><path fill="none" stroke="#D8FFA5" stroke-width="5" stroke-miterlimit="10" d="M225.982 109.258c-3.021-7.855-11.031-12.949-21.609-14.896 17.068-11.315 26.261-27.05 21.471-39.518-6.177-16.074-33.244-20.635-60.461-10.179-7.015 2.694-13.343 6.124-18.778 10.001-.018-.05-.032-.102-.052-.152-6.174-16.076-33.251-20.633-60.46-10.178-27.222 10.456-44.276 31.967-38.104 48.043 2.792 7.266 9.862 12.164 19.273 14.402-15.603 11.168-23.785 26.049-19.206 37.953 6.176 16.079 33.251 20.633 60.46 10.176 6.809-2.611 12.975-5.918 18.311-9.656.169.627.358 1.251.595 1.867 6.174 16.075 33.241 20.631 60.462 10.176 27.22-10.455 44.272-31.965 38.098-48.039z"/></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1 @@
<svg viewBox="94.634 56.652 88.879 79.521" xmlns="http://www.w3.org/2000/svg"><path d="m94.623 136.156 88.869-36.863-88.869-42.648s21.33 20.87 21.33 39.756c0 18.891-21.33 39.755-21.33 39.755"/></svg>

After

Width:  |  Height:  |  Size: 201 B

View file

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="66.045 134.829 194 62.056"><path d="M73 195.773c15.5 2.5 165.69 0 175.47 0s9.028-6.834 9.028-6.834 1.959-4.05-31.998-5.666-60.152 2.646-76.576 5.573-65.882-.384-71.424-.601-20 5.028-4.5 7.528m175.495-26c-87.74-1.097-128.746 6.052-159.245 4.25-20.582-1.216-20.922-7.918-21.211-11.084s0-6.406 33.957-8.022 54.865 5.762 77.504 6.606c22.638.846 63.45.664 68.995.784 10.005.216 20.005 7.716 0 7.466M78.75 135.329s121.5-1.806 166.72 1.444c9.754.701 8.53 8 8.53 8s-4.541 6.668-33 6.5c-33.996-.201-52.361-8.656-75-9.5-22.638-.846-67.416 2.225-72.958 2.442s-11.43-8.886 5.708-8.886"/></svg> <svg viewBox="30.048 56.889 207.767 78.951" xmlns="http://www.w3.org/2000/svg"><path d="M38.421 133.462c16.438 3.1 175.723 0 186.094 0 10.372 0 9.575-8.475 9.575-8.475s2.077-5.022-33.935-7.026c-36.015-2.005-63.796 3.282-81.213 6.912-17.419 3.628-69.872-.477-75.749-.747-5.878-.269-21.211 6.234-4.772 9.336m186.121-32.241c-93.052-1.36-136.54 7.504-168.887 5.27-21.829-1.507-22.188-9.818-22.495-13.744s0-7.943 36.014-9.948c36.013-2.005 58.187 7.146 82.195 8.191 24.01 1.049 67.293.823 73.173.972 10.61.268 21.215 9.568 0 9.259M44.52 58.509S173.376 56.27 221.333 60.3c10.344.87 9.046 9.92 9.046 9.92s-4.816 8.269-34.997 8.06c-36.054-.25-55.531-10.734-79.542-11.78-24.007-1.049-71.499 2.759-77.374 3.029-5.878.268-12.123-11.02 6.054-11.02" fill="#2B2B2B"/></svg>

Before

Width:  |  Height:  |  Size: 631 B

After

Width:  |  Height:  |  Size: 760 B

Before After
Before After

View file

@ -34,16 +34,16 @@
], ],
"integrity": "sha512-BYIJDDOI3NTIytshd2k13/Wyep1oJ6pfwg9dCdZ18XVQrzO9uj99f5wF9bS0pjKa7OkbM2F27wF817UKn6thgg==" "integrity": "sha512-BYIJDDOI3NTIytshd2k13/Wyep1oJ6pfwg9dCdZ18XVQrzO9uj99f5wF9bS0pjKa7OkbM2F27wF817UKn6thgg=="
}, },
"_index.BAmxwLeJ.js": {
"file": "index.BAmxwLeJ.js",
"name": "index",
"integrity": "sha512-E0xMh+fknNA3qU/PWB1CGEt+KPvqyjwxT1MTGlkyrSr4VJ3pMqsW76MxNVhIfUdVt+xlOBpxqqSAYomFdTjgjQ=="
},
"_index.CeK6pfoJ.js": { "_index.CeK6pfoJ.js": {
"file": "index.CeK6pfoJ.js", "file": "index.CeK6pfoJ.js",
"name": "index", "name": "index",
"integrity": "sha512-cxTw0sKKut2H95JwMgiKgEVLyZ0QswK/HydKTapcqcs3w6xHIHNUpYBLdRzEYdeRfHKUsA0kvPNBXBk/QeazjQ==" "integrity": "sha512-cxTw0sKKut2H95JwMgiKgEVLyZ0QswK/HydKTapcqcs3w6xHIHNUpYBLdRzEYdeRfHKUsA0kvPNBXBk/QeazjQ=="
}, },
"_index.DxUTT09Y.js": {
"file": "index.DxUTT09Y.js",
"name": "index",
"integrity": "sha512-ktQDmsOsv0yimT9VIoz9bZriykTetX5qhLN5BMGkJXvqxj9Z1rKiZ1wbDVj3r6bWs4/S0PGPSJevtJyGx+vcow=="
},
"_pipe.XPB0wEfw.js": { "_pipe.XPB0wEfw.js": {
"file": "pipe.XPB0wEfw.js", "file": "pipe.XPB0wEfw.js",
"name": "pipe", "name": "pipe",
@ -68,7 +68,7 @@
"name": "dom", "name": "dom",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"isEntry": true, "isEntry": true,
"integrity": "sha512-2Ar/pvj8qBi/+vgGiExcb4HheX7rZIkbE2m0Ni5lh+aQveBc+dhZLQfEsBzUVZl/nI73900eqRgPb9gvAIFJVQ==" "integrity": "sha512-zrRYjeLsGft8dotzdw4tkD1FXuWNpnW/rZMcat4ryVVD3JHAg/0ubE+ewPmg1aWxnPKKv4bSHTND8KmajUaI2w=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/erreurs.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/constantes/erreurs.ts": {
"file": "erreurs.js", "file": "erreurs.js",
@ -77,6 +77,13 @@
"isEntry": true, "isEntry": true,
"integrity": "sha512-cXQkAzCU4YB9DhSISYUNfuR3eHjrl1TUQH2zyeCUL6FjuU7iLntlvYKMD1weSH4N9B0J+kd9Kf+aZQ8I7YgmWg==" "integrity": "sha512-cXQkAzCU4YB9DhSISYUNfuR3eHjrl1TUQH2zyeCUL6FjuU7iLntlvYKMD1weSH4N9B0J+kd9Kf+aZQ8I7YgmWg=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages-utilisateur.ts": {
"file": "messages-utilisateur.js",
"name": "messages-utilisateur",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages-utilisateur.ts",
"isEntry": true,
"integrity": "sha512-ntCxJrcvoj570ITUbCTPg8TiQibosb7JAfjgjXIfDBkqzaBbY+ZkMYIq6Dke5v+n2FV0M17U1yX6R0tQi5WTBQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": {
"file": "messages3.js", "file": "messages3.js",
"name": "messages", "name": "messages",
@ -85,11 +92,18 @@
"integrity": "sha512-M8me/iGRLfItVHaEf+BhA3xdEIxEwdyNuN+H87daJ1jl1oOENbROB7ub6RPP47NdFsQUChTRphEhQglT+qc6RA==" "integrity": "sha512-M8me/iGRLfItVHaEf+BhA3xdEIxEwdyNuN+H87daJ1jl1oOENbROB7ub6RPP47NdFsQUChTRphEhQglT+qc6RA=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts": {
"file": "orders3.js", "file": "orders2.js",
"name": "orders", "name": "orders",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts",
"isEntry": true, "isEntry": true,
"integrity": "sha512-dLV15du4JF6iPF2I93pExJpqAG13hXNCrRj8hF1dO47SFaa/7S74hT3puqnojjF5g1vStbjuGX+dLVklMIZuOw==" "integrity": "sha512-wV9B3cW/1TnjBcesuc4a2M+28+67nsmX2++/Up1QUraP4Bdzbn9RiToohkone5Z+1mZNOjB/Hrd8x7Gc+jtVvg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/pays.ts": {
"file": "pays.js",
"name": "pays",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/pays.ts",
"isEntry": true,
"integrity": "sha512-/CgY6GFeg59NtZamE/OT4dht8avB/GGy3sOOsyGpUaXZhWWoIApYWzCjITzLdWQfnktSDp9oYrKrB9FHlXaaYQ=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts": {
"file": "products2.js", "file": "products2.js",
@ -138,7 +152,7 @@
"imports": [ "imports": [
"_exports.B84S-6H1.js" "_exports.B84S-6H1.js"
], ],
"integrity": "sha512-q/vBNk2FX1du9asWIUsTxJPU+FX2AkQY6LWPQHAVAWR/8fkrhKFaKdih18+40mxqe8zEfzGg9fUfoR+h0SYvug==" "integrity": "sha512-pwU7oHZl8/bW66/vDeB6vK+TYGt9C6KhuXrDAb0pCAB5mw5rfh13n+IE0BfoBNyl8gzZ028Ry3JwsE5WCNac3g=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs/codes-promo.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs/codes-promo.ts": {
"file": "codes-promo.js", "file": "codes-promo.js",
@ -172,7 +186,7 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
@ -186,14 +200,14 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
], ],
"integrity": "sha512-wlzwhlDEUm0Ve46eIkBUSQA8hZSVAOZj42gCUdTy0fdeZmda64o6iz4v2+aYyaUQBbIFggxhYK3J0EQW2d42KA==" "integrity": "sha512-wAOaUWM+DfCqqwQifxuqfWQyCEoEtQKAQMRWca3XBJihhtnsdX35lZTAOFK2BJdoQfXkuzCIzgj+gFSzVjuvEg=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts": {
"file": "nombres.js", "file": "nombres.js",
"name": "nombres", "name": "nombres",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts",
"isEntry": true, "isEntry": true,
"integrity": "sha512-3FI/eGnQR8WaEoNLUMe9krKJAe4RR7Gnro7ep7HlMLFi1oH5ncmpMGcja99iAkxFFJLhb+qa8nGPLfWr6V4F5g==" "integrity": "sha512-yddD95sZWt7ejVWNrDZWkst46WEV2uLxhXOp85ZQRILH6/Pyd326sUBUC/3AO7EX5JtEsICqaFq89gK3PoPvYg=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts": {
"file": "reseau.js", "file": "reseau.js",
@ -202,14 +216,14 @@
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.CeK6pfoJ.js", "_index.CeK6pfoJ.js",
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"_pipe.XPB0wEfw.js", "_pipe.XPB0wEfw.js",
"_exports.B84S-6H1.js" "_exports.B84S-6H1.js"
], ],
"integrity": "sha512-aitZrp9G4pXD0IfVhDyZVfh1vgxpES6hfrB6h+Jkpe9ApSK634ne2J5WI7Q5VpZcIHSjVXAsIxMjPLNrx0x4Kw==" "integrity": "sha512-loMYXW+YiwXjqxLKLopE4gh/wO00B/rmhp/IU0pBYDHP2Ty5lLIqZQ+9CAtveN8wzokcZhrWlshJGkmKfK0Ekw=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts": {
"file": "adresses.js", "file": "adresses.js",
@ -217,9 +231,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js" "_index.BAmxwLeJ.js"
], ],
"integrity": "sha512-H+aWaFlRjfS2cY3XWyOArYWnFBAV0weV9FMIEvTEFHiEeojtEkK++tJliJLQug2xOYPoMr6BwV3+TuRK+nSSng==" "integrity": "sha512-wmEkUAIn/ZT1GmOwBNfdbwpcN9gDoPKU1Vc9ikkf7PqQ6aM3Ns3PB0PdxE/NjrhbZu/C5nHBP0EwrOYNJfr71Q=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts": {
"file": "cart-add-item.js", "file": "cart-add-item.js",
@ -227,9 +241,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js" "_index.BAmxwLeJ.js"
], ],
"integrity": "sha512-ym6kcAMCCgjH0vatLjbKnTQ2231MGzFV5eNBlxFoDflkKKxPe8xHvnjJbJSTNXFFFTQammafUY3iPqVQ7WdrxA==" "integrity": "sha512-rTH6MPE90T0SxQckPL3dKNMl49jCa72NJulit7JVXf2uDO4tCxy4bfy49cDS5s9oSMwKmwx1ocBbdo6rBcG98g=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts": {
"file": "cart-apply-coupon.js", "file": "cart-apply-coupon.js",
@ -237,9 +251,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js" "_index.BAmxwLeJ.js"
], ],
"integrity": "sha512-MPKrUdFgPDWEPG0o82PDqPKArhbB6OVTdmeEoSKYjM+PvNsoVM0OeY+pujz5nGkU/daHBd4HriBQqV/dvcW6ww==" "integrity": "sha512-n6yRHUQcLw99oNatxVPQafVj2G23S1aUMD/G0WrCAa+5jD7jRvzoZSgjqkd5qfcLVbCsuf3K/dBaXTvUkrzeHw=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts": {
"file": "cart-coupons.js", "file": "cart-coupons.js",
@ -247,9 +261,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js" "_index.BAmxwLeJ.js"
], ],
"integrity": "sha512-qdooRawTXSQsJWbwGQ5HHFzG39Cw7eFpUDgCqzQqWs8zhVQYvvunO1n4fwXWttekDr7VVChj6IzjUmv4JMdTdA==" "integrity": "sha512-iiRKujp1OS4N0B3fbfcNm7DKfza8U69jo2fP114OJB1k5j/1XraOiOqT1upfp+pYGvf+vcB1b/KMe3xtMYl5aw=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts": {
"file": "cart-remove-coupon.js", "file": "cart-remove-coupon.js",
@ -257,9 +271,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js" "_index.BAmxwLeJ.js"
], ],
"integrity": "sha512-fuTTvmIWBTDpR47Wlc4bwacRjTqAa7PZpqHWBz+aAj1zTYnwIQdd/tujRGmDPx8GNiIOaz1w0jyhRyz8YZL82Q==" "integrity": "sha512-Hi9OJ4W6y+ZjwehkxQvjXLiJ2N+doCQh6NRLoLe3L9/SESV3x8Bunp/e7xuW+5dNAsVQ3V6wXu//f/Ri64HFMQ=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts": {
"file": "cart-remove-item.js", "file": "cart-remove-item.js",
@ -267,9 +281,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js" "_index.BAmxwLeJ.js"
], ],
"integrity": "sha512-KaWApeBMfdizR8XIwwdVlPigDiuSAkVntzfoVoPx2+L74qnIRlqVzC/h8wmR5iLtJiRHUf8onWKZWTy/YJi0GA==" "integrity": "sha512-RZfXZt0KF5ZreFiF3jRPg4/Zq25llqHkeBnEvuYZkxjh1T6nUz5v8n8EY/j8SZ/AZqnxsx2mbcdUoBacU2pDug=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts": {
"file": "cart-update-customer.js", "file": "cart-update-customer.js",
@ -277,10 +291,10 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
], ],
"integrity": "sha512-1vsGL4zPWg3ip4cdi+gB+QlHhjCAwn3ETg/rAGJrlDFOoNHLzkaC4Z4iJwVRMzlsISvKAHYuwQxFv1tSF26raA==" "integrity": "sha512-n2CINQ+R781uRSqyOWnrFao9BPdXhgmBvXXUTO87FTOqlUFVfDtlAmJVKcjcQQRH/dlhYiHFOJSbv8NvHKfNWA=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts": {
"file": "cart-update-item.js", "file": "cart-update-item.js",
@ -288,9 +302,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js" "_index.BAmxwLeJ.js"
], ],
"integrity": "sha512-enT7JXW/as+17/IgNE8HTIWumHyycCfOA1A2ViB2BX2+Sb5+yg941ATZCMF00/yIzgy/0po/HPITeEhUcTxCQA==" "integrity": "sha512-1hXY5Nq5BVY+3chpLI7L8IOyyc8JktnOZmzMs7VtAS8K98l2kHprqwpbPWj0KDngRU16XN/DvMcC9463ySx5OA=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts": {
"file": "cart.js", "file": "cart.js",
@ -298,13 +312,13 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
], ],
"integrity": "sha512-nkAa5GpdXm5SEv5taFhiOdunn7bOKm61N1kVyEHzPGM4sa1irsAzExc5RMXEsEjim4ZA7RseBjo6pngFXFxpIg==" "integrity": "sha512-uDfpSomB/fczIMXAfodaNTIlK6vhTP4ecROfIXdPBb/8ve3xMQ3GzCyOWzYe6XwEt6fbu5dnAOllBdpqw+KxWQ=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts": {
"file": "couts-livraison.js", "file": "couts-livraison.js",
@ -312,10 +326,10 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
], ],
"integrity": "sha512-Wba/eKVlVqEczLMMk3dl0p9KUI7dhNomuSIqltE35s+m9svN/k+dMr49WEyFYlchuQLH6Om19wm0VmnLPvOZmg==" "integrity": "sha512-0ComqT1KV9mO/xyu27DPA3cxU0Goj2eheadgA6BrI6el8jhDpZ2IzuBr9nLEZu8LiJBhVjTdf2mTJvaj1RW5fQ=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts": {
"file": "erreurs3.js", "file": "erreurs3.js",
@ -323,9 +337,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js" "_index.BAmxwLeJ.js"
], ],
"integrity": "sha512-/iSqgsgUyBySdgT4/xxOppkIw5kwUV6Ka0auhf2ZeSdqk6QETJm0bj5Ydt3wWdPyncFIlva3ousWwTkw5Sp7Mg==" "integrity": "sha512-96Vw1KG59Qa/gbhTikPPY/NcS1GoGO2L8QQwS1YQTsfz4+2tPOBbYRBW3LERKZ02CvGX1ANjLcsTgJVnCQCvig=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts": {
"file": "products3.js", "file": "products3.js",
@ -333,22 +347,22 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts" "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts"
], ],
"integrity": "sha512-Mr2P09suX7KY2cCzn+cqLdRLDHPDJC/RIsFFlB0VudZZoIE9unlsB3BjSvlzmKrBly5QP3jgnq2+7dKqSHlzMw==" "integrity": "sha512-n7UHTZAPwgAZ8IEW3ZE3RVOPFQTMLNEw9dbyjxCVaTraee+pb4XK7Ap9zp69/AMrqsK4qp2g22HakNjkRssbYw=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts": {
"file": "orders2.js", "file": "orders.js",
"name": "orders", "name": "orders",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
], ],
"integrity": "sha512-moB98oUqT6LBlhauPLs5NaX25U/sAMuCRVbfu231Ld/mvdCW4xAd9MUd4l/wrHPckLGSDcU/1jlGPcilj5QmzQ==" "integrity": "sha512-9xPXYXbYYX6m2Q8yJ608vjvjQv87nXHHtzBS0/xH7bXYaIeOvxMyXC1wQbBnT5h8dAxLECJXp7j2owACusFkVw=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts": {
"file": "products.js", "file": "products.js",
@ -356,10 +370,10 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts" "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts"
], ],
"integrity": "sha512-/3pK99mes4gepaV1xY0662S9Wat4PYzOz/0433XYMmGmWzZHUhZ8lEWC2DH8ohCJv09LrvVGOPcFAvlM23KdxQ==" "integrity": "sha512-sILVtT8TZ7/mRGnYgexDlu3XkWMhV06nONZQgFyNtVMTa67v16rleeXSqvD4WDkfuX+Mr+u1A+l5sdt6ZC2G0g=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts": {
"file": "messages2.js", "file": "messages2.js",
@ -367,7 +381,7 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts",
@ -375,14 +389,14 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
], ],
"integrity": "sha512-e0iafVBzxA+LOMbD4VlzjtXW1GU/LmETBKAQ5cV7glJdsaY5/ZWVGcSOOPdwT6kvQkMBohKCgn9K5Bqwoi38zA==" "integrity": "sha512-9WH8aFHYVFBnQi/lSGLegnhrEOMIiRs7lFc2mbHi5vE88oMARO1HjSYOtKIOd2bvM7oMKLMtaMt2EVqnNkg89w=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts": {
"file": "orders.js", "file": "orders3.js",
"name": "orders", "name": "orders",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts",
"isEntry": true, "isEntry": true,
"integrity": "sha512-FxX8RZIDDZuWNSNyFz9fYxNVJyRtwOZfK0KQ6c3Vn98d/Ovd3m+OjmjXXiYnENzH86EpLIuHjxc/RiUIVsAvDQ==" "integrity": "sha512-nqCjj7B9DjVJS7/4WgLDt58w1LMfLMxDfutD7vY99PNX9rjdiF1ckCffcMuxCGureeEu8qw9RCRKMavMDEX2bw=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/products.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/products.ts": {
"file": "products4.js", "file": "products4.js",
@ -411,10 +425,10 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"_Either.wHNxn7Os.js" "_Either.wHNxn7Os.js"
], ],
"integrity": "sha512-U0Sy/QxwPcY4OUTn9k7ece4cny1Ll3yog6ruooDxnpcirIJAhl2GbEanmqCF1blDxuoTtm9rKS6bGpGsIPprEg==" "integrity": "sha512-GM0GW8/eqaFrADOWenlukpNZ6uKPXkkYwbqxnLh1UIVX3Y6vbIynEkoHAQmV6N2Y8CQqYqn3KOZVjFaOIAqNIQ=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": {
"file": "scripts-bouton-panier.js", "file": "scripts-bouton-panier.js",
@ -431,7 +445,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.B84S-6H1.js", "_exports.B84S-6H1.js",
"_Either.wHNxn7Os.js", "_Either.wHNxn7Os.js",
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts",
@ -441,7 +455,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts"
], ],
"integrity": "sha512-5DuXjp8NW4E71AvgK4y9ge4/5ocXdS9c6Ie1wzgh76JoJg1ZNAtNhmm6lEqjKciF5jbLcfpB8G3CEq0Lf5o9kQ==" "integrity": "sha512-KPHQIRKzYFgML+vcHuaxv/sYMBOIUc4teWg1aRW6cPVG3FzuBbxnSMoANdLBgMP9WlS2h6rJjoz25f4Ufc5GZg=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-categories.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-categories.ts": {
"file": "scripts-menu-categories.js", "file": "scripts-menu-categories.js",
@ -474,7 +488,7 @@
"_pipe.XPB0wEfw.js", "_pipe.XPB0wEfw.js",
"_Either.wHNxn7Os.js" "_Either.wHNxn7Os.js"
], ],
"integrity": "sha512-Bc5ADRLy7iSHw9wGdk7UCNntLcYB4Z3V+nG9r2MqKIegMB4SpKEFnbUsuxfDt+5worX3WjI5rf8t2IgGvwcDOg==" "integrity": "sha512-tnv/ti8Uzabwvh5ElET2Xn15WO1gm4k+yO5+uu3QPTcoZ1VFs8eEtIuElZUSvckVC19fry54RDR8+B1pjn+vtQ=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts": {
"file": "scripts-page-a-propos.js", "file": "scripts-page-a-propos.js",
@ -491,7 +505,7 @@
"_exports.B84S-6H1.js", "_exports.B84S-6H1.js",
"_Either.wHNxn7Os.js" "_Either.wHNxn7Os.js"
], ],
"integrity": "sha512-CJGUIue+ioClxccUKzKChNl63VpTf7+uCVsEalt/wpDgAPwcdGIcDLH1Z0g2xYRY9DL/gCvnKUXleB6aAWarYQ==" "integrity": "sha512-ulL6aTirmFGcB1CKVwL+YfyG2gD7xNEBEerFJXcFk2O5tVXmSnAmycsFUJ1MWvpm+QbrL61WYO/lXAGrnnHDJA=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts": {
"file": "scripts-page-accueil.js", "file": "scripts-page-accueil.js",
@ -517,15 +531,16 @@
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.CeK6pfoJ.js", "_index.CeK6pfoJ.js",
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/animations.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts",
"_MaybeAsync.AE1jnxuc.js", "_MaybeAsync.AE1jnxuc.js",
"_pipe.XPB0wEfw.js", "_pipe.XPB0wEfw.js",
"_index-0eef19ec.DoJSf22Z.js", "_index-0eef19ec.DoJSf22Z.js",
@ -535,7 +550,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts",
"_belt_Option-91f3b350.cBye8bLJ.js" "_belt_Option-91f3b350.cBye8bLJ.js"
], ],
"integrity": "sha512-FFaHFK1310TtQEKVpGgo9MMgZGROVyV60mw5GXp4eWrVjbjXfVqVR1qd5+xlIIHbuzbGHLSNHFw9J8InWYhQMA==" "integrity": "sha512-mDfRg6AUV7ELjlESpovRKnM+SrJO2VwWrdYdVtwVsK8XujQYKi4DBX7N/t9kIdz3wc2EqJf2EkmMM3vEXgxj4A=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-adresses.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-adresses.ts": {
"file": "scripts-page-panier-adresses.js", "file": "scripts-page-panier-adresses.js",
@ -544,9 +559,10 @@
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.CeK6pfoJ.js", "_index.CeK6pfoJ.js",
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages-utilisateur.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/animations.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/animations.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
@ -568,7 +584,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts" "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts"
], ],
"integrity": "sha512-1bj/xtpAb4T9nqhZReDmTKqT03Wnrx93tBLN0h50WYtr0X+leZ0YIy5yplO83PmqFrnt4s8FyoR8K0OLZt12ZQ==" "integrity": "sha512-ZniV1xRjm+fUp37n+6FG7vxj4uf/j/huaXzKPt4RpWzsvqM8EQ0HA1rJQap/nkQcDlfJoyS4mgHZB/9KreIBVg=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts": {
"file": "scripts-page-panier-code-promo.js", "file": "scripts-page-panier-code-promo.js",
@ -577,7 +593,7 @@
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.CeK6pfoJ.js", "_index.CeK6pfoJ.js",
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/erreurs.ts",
@ -605,7 +621,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
], ],
"integrity": "sha512-wRjjWn9cL7y/mYhjwrm1GFVwBO15aStATpGa9MXGvfwAmZsVt6Ulz6riE/O+4JVvJ9nvb+EdWQonWehAC55J3Q==" "integrity": "sha512-8Jh+A5tydtawNbmBv9ppykEhVOwSOe26NSrcnwbYXBfwamkA2fq5elO4PXtr2c4TzT7zyJQgAonEt78qW5on5w=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": {
"file": "scripts-page-panier.js", "file": "scripts-page-panier.js",
@ -613,7 +629,7 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts",
"isEntry": true, "isEntry": true,
"imports": [ "imports": [
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
@ -621,6 +637,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts",
@ -640,6 +657,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages-utilisateur.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/animations.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/animations.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts",
@ -651,7 +669,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts",
"_belt_Option-91f3b350.cBye8bLJ.js" "_belt_Option-91f3b350.cBye8bLJ.js"
], ],
"integrity": "sha512-0HVDbb+ZDwLw3RNt4yP16CE2HhnQsEev5ZhXYP8c1KppoEIW0Z1uXpwRrZ5CYeBKluQpX9P/45PD0E0qHOPqxw==" "integrity": "sha512-pqrzLLVckWlEUO4B0DziIEzQRxq3j8RsSCzqI/4ZZkQdOwf89sRx/iPgT+so/iVtJG2cGMJNi8VM94WUriCGZA=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": {
"file": "scripts-page-produit.js", "file": "scripts-page-produit.js",
@ -675,7 +693,7 @@
"_index-0eef19ec.DoJSf22Z.js", "_index-0eef19ec.DoJSf22Z.js",
"_Either.wHNxn7Os.js", "_Either.wHNxn7Os.js",
"_exports.B84S-6H1.js", "_exports.B84S-6H1.js",
"_index.DxUTT09Y.js", "_index.BAmxwLeJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
@ -685,6 +703,6 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
"_belt_Option-91f3b350.cBye8bLJ.js" "_belt_Option-91f3b350.cBye8bLJ.js"
], ],
"integrity": "sha512-rXLngIRzynideEoG746rDWELBrGA11T2vxGSgznGO4SjJbowoec3MhNLuDHONwQbxISU0vPXTjc8+Hls51f1EA==" "integrity": "sha512-mJ0+jacSm0UC339pLjBrtSm0bxhTF9VaZgWPBeS8JguId7qi6nQdgaHxUgvYHAqe6Yx1pjAWF7XM8kApUT6auQ=="
} }
} }

View file

@ -1,4 +1,4 @@
import { o as object, s as string } from "./index.DxUTT09Y.js"; import { o as object, s as string } from "./index.BAmxwLeJ.js";
const WCStoreBillingAddressSchema = object({ const WCStoreBillingAddressSchema = object({
address_1: string(), address_1: string(),
address_2: string(), address_2: string(),

View file

@ -1,4 +1,4 @@
import { o as object, c as optional, n as number, b as array, s as string } from "./index.DxUTT09Y.js"; import { o as object, k as optional, n as number, b as array, s as string } from "./index.BAmxwLeJ.js";
const WCStoreCartAddItemArgsItemsSchema = object({ const WCStoreCartAddItemArgsItemsSchema = object({
/** Variation attribute name. */ /** Variation attribute name. */
attribute: string(), attribute: string(),

View file

@ -1,4 +1,4 @@
import { o as object, c as optional, s as string } from "./index.DxUTT09Y.js"; import { o as object, k as optional, s as string } from "./index.BAmxwLeJ.js";
const WCStoreCartApplyCouponArgsSchema = object({ const WCStoreCartApplyCouponArgsSchema = object({
/** Unique identifier for the coupon within the basket */ /** Unique identifier for the coupon within the basket */
code: optional(string()) code: optional(string())

View file

@ -1,4 +1,4 @@
import { o as object, s as string, a as pipe, j as integer, n as number } from "./index.DxUTT09Y.js"; import { o as object, s as string, a as pipe, h as integer, n as number } from "./index.BAmxwLeJ.js";
const WCStoreCartCouponsSchema = object({ const WCStoreCartCouponsSchema = object({
/** The coupon's unique code. */ /** The coupon's unique code. */
code: string(), code: string(),

View file

@ -1,4 +1,4 @@
import { o as object, c as optional, s as string } from "./index.DxUTT09Y.js"; import { o as object, k as optional, s as string } from "./index.BAmxwLeJ.js";
const WCStoreCartRemoveCouponArgsSchema = object({ const WCStoreCartRemoveCouponArgsSchema = object({
/** Unique identifier for the coupon within the basket */ /** Unique identifier for the coupon within the basket */
code: optional(string()) code: optional(string())

View file

@ -1,4 +1,4 @@
import { o as object, s as string } from "./index.DxUTT09Y.js"; import { o as object, s as string } from "./index.BAmxwLeJ.js";
const WCStoreCartRemoveItemArgsSchema = object({ const WCStoreCartRemoveItemArgsSchema = object({
/** Unique identifier (key) for the basket item. */ /** Unique identifier (key) for the basket item. */
key: string() key: string()

View file

@ -1,4 +1,4 @@
import { o as object, c as optional } from "./index.DxUTT09Y.js"; import { o as object, k as optional } from "./index.BAmxwLeJ.js";
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js"; import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js";
const WCStoreCartUpdateCustomerArgsSchema = object({ const WCStoreCartUpdateCustomerArgsSchema = object({
billing_address: optional(WCStoreBillingAddressSchema), billing_address: optional(WCStoreBillingAddressSchema),

View file

@ -1,4 +1,4 @@
import { o as object, s as string, a as pipe, m as minValue, n as number } from "./index.DxUTT09Y.js"; import { o as object, s as string, a as pipe, m as minValue, n as number } from "./index.BAmxwLeJ.js";
const WCStoreCartUpdateItemArgsSchema = object({ const WCStoreCartUpdateItemArgsSchema = object({
/** Unique identifier (key) for the basket item to update. */ /** Unique identifier (key) for the basket item to update. */
key: string(), key: string(),

View file

@ -1,4 +1,4 @@
import { o as object, d as boolean, e as enum_, s as string, u as unknown, n as number, b as array, f as union, a as pipe, g as null_, h as url, j as integer } from "./index.DxUTT09Y.js"; import { o as object, c as boolean, e as enum_, s as string, u as unknown, n as number, b as array, d as union, a as pipe, f as null_, g as url, h as integer } from "./index.BAmxwLeJ.js";
import { C as CATALOG_VISIBILITIES } from "./cart2.js"; import { C as CATALOG_VISIBILITIES } from "./cart2.js";
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js"; import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js";
import { W as WCStoreCartCouponsSchema } from "./cart-coupons.js"; import { W as WCStoreCartCouponsSchema } from "./cart-coupons.js";

View file

@ -1,4 +1,4 @@
import { o as object, k as omit, b as array, s as string, n as number, u as unknown, d as boolean } from "./index.DxUTT09Y.js"; import { o as object, j as omit, b as array, s as string, n as number, u as unknown, c as boolean } from "./index.BAmxwLeJ.js";
import { a as WCStoreShippingAddressSchema } from "./adresses.js"; import { a as WCStoreShippingAddressSchema } from "./adresses.js";
const WCStoreShippingRateItemSchema = object({ const WCStoreShippingRateItemSchema = object({
key: string(), key: string(),

View file

@ -45,6 +45,7 @@ const SELECTEUR_ENSEMBLE_CODE_PROMO = "#panneau-panier #ensemble-code-promo";
const SELECTEUR_CHAMP_CODE_PROMO = "#panneau-panier #champ-code-promo"; const SELECTEUR_CHAMP_CODE_PROMO = "#panneau-panier #champ-code-promo";
const SELECTEUR_BOUTON_CODE_PROMO = "#panneau-panier #bouton-code-promo"; const SELECTEUR_BOUTON_CODE_PROMO = "#panneau-panier #bouton-code-promo";
const SELECTEUR_MESSAGE_CODE_PROMO = "#panneau-panier .panneau__instructions-code-promo__code-promo__message"; const SELECTEUR_MESSAGE_CODE_PROMO = "#panneau-panier .panneau__instructions-code-promo__code-promo__message";
const SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES = "#panneau-informations-client #message-formulaire-adresses";
const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling"; const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling";
const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image"; const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image";
const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-produits"; const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-produits";
@ -63,44 +64,45 @@ const SELECTEUR_IMAGE_COLONNE_GAUCHE = ".colonne-gauche img";
const SELECTEUR_IMAGES_COLONNE_DROITE = ".colonne-droite img"; const SELECTEUR_IMAGES_COLONNE_DROITE = ".colonne-droite img";
const SELECTEUR_PRIX_PRODUIT = ".selecteur-produit__prix"; const SELECTEUR_PRIX_PRODUIT = ".selecteur-produit__prix";
export { export {
SELECTEUR_BOUTON_MENU_MOBILE as $, ATTRIBUT_PRIX as $,
ATTRIBUT_CONTIENT_ARTICLES as A, ATTRIBUT_CONTIENT_ARTICLES as A,
SELECTEUR_FORMULAIRE_PANIER as B, SELECTEUR_BOUTON_ACTIONS_FORMULAIRE as B,
SELECTEUR_INSTRUCTIONS_CLIENT as C, SELECTEUR_FORMULAIRE_PANIER as C,
SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT as D, SELECTEUR_INSTRUCTIONS_CLIENT as D,
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE as E, SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES as E,
ATTRIBUT_CHARGEMENT as F, SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT as F,
SELECTEUR_BOUTON_CODE_PROMO as G, SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE as G,
SELECTEUR_CHAMP_CODE_PROMO as H, SELECTEUR_BOUTON_CODE_PROMO as H,
SELECTEUR_ENSEMBLE_CODE_PROMO as I, SELECTEUR_CHAMP_CODE_PROMO as I,
SELECTEUR_MESSAGE_CODE_PROMO as J, SELECTEUR_ENSEMBLE_CODE_PROMO as J,
SELECTEUR_TOTAL_REDUCTION as K, SELECTEUR_MESSAGE_CODE_PROMO as K,
ATTRIBUT_CODE_PROMO_PRESENT as L, SELECTEUR_TOTAL_REDUCTION as L,
SELECTEUR_BOUTON_AJOUT_PANIER as M, ATTRIBUT_CODE_PROMO_PRESENT as M,
SELECTEUR_SELECTEUR_QUANTITE as N, SELECTEUR_BOUTON_AJOUT_PANIER as N,
SELECTEUR_LIENS_ONGLETS as O, SELECTEUR_SELECTEUR_QUANTITE as O,
SELECTEUR_SECTIONS_CONTENUS as P, SELECTEUR_LIENS_ONGLETS as P,
SELECTEUR_PRIX_PRODUIT as Q, SELECTEUR_SECTIONS_CONTENUS as Q,
SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT as R, SELECTEUR_PRIX_PRODUIT as R,
SELECTEUR_BOUTON_PANIER as S, SELECTEUR_BOUTON_PANIER as S,
SELECTEUR_FLECHE_DEFILEMENT_GAUCHE as T, SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT as T,
SELECTEUR_FLECHE_DEFILEMENT_DROITE as U, SELECTEUR_FLECHE_DEFILEMENT_GAUCHE as U,
SELECTEUR_PHOTOS_PRODUIT as V, SELECTEUR_FLECHE_DEFILEMENT_DROITE as V,
SELECTEUR_IMAGE_COLONNE_GAUCHE as W, SELECTEUR_PHOTOS_PRODUIT as W,
SELECTEUR_IMAGES_COLONNE_DROITE as X, SELECTEUR_IMAGE_COLONNE_GAUCHE as X,
ATTRIBUT_INDEX_IMAGE_ACTIVE as Y, SELECTEUR_IMAGES_COLONNE_DROITE as Y,
ATTRIBUT_ARIA_SELECTED as Z, ATTRIBUT_INDEX_IMAGE_ACTIVE as Z,
ATTRIBUT_PRIX as _, ATTRIBUT_ARIA_SELECTED as _,
SELECTEUR_MENU_CATEGORIES_PRODUITS as a, SELECTEUR_MENU_CATEGORIES_PRODUITS as a,
SELECTEUR_MENU_MOBILE as a0, SELECTEUR_BOUTON_MENU_MOBILE as a0,
ATTRIBUT_MENU_MOBILE_ACTIVE as a1, SELECTEUR_MENU_MOBILE as a1,
ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE as a2, ATTRIBUT_MENU_MOBILE_ACTIVE as a2,
ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF as a3, ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE as a3,
CLASS_BOUTON_FERMETURE_BOITE_TEXTE as a4, ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF as a4,
CLASS_EPINGLE as a5, CLASS_BOUTON_FERMETURE_BOITE_TEXTE as a5,
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS as a6, CLASS_EPINGLE as a6,
SELECTEUR_EPINGLE as a7, SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS as a7,
SELECTEUR_BOITE_TEXTE as a8, SELECTEUR_EPINGLE as a8,
SELECTEUR_BOITE_TEXTE as a9,
SELECTEUR_ENTREE_MENU_CATEGORIES_PRODUITS as b, SELECTEUR_ENTREE_MENU_CATEGORIES_PRODUITS as b,
SELECTEUR_CONTENEUR_STORYTELLING as c, SELECTEUR_CONTENEUR_STORYTELLING as c,
SELECTEUR_IMAGES_STORYTELLING as d, SELECTEUR_IMAGES_STORYTELLING as d,
@ -110,21 +112,21 @@ export {
SELECTEUR_GRILLE_PRODUITS as h, SELECTEUR_GRILLE_PRODUITS as h,
ATTRIBUT_ID_CATEGORIE_PRODUITS as i, ATTRIBUT_ID_CATEGORIE_PRODUITS as i,
ATTRIBUT_PAGE as j, ATTRIBUT_PAGE as j,
ATTRIBUT_HIDDEN as k, ATTRIBUT_DESACTIVE as k,
SELECTEUR_ENTREES_PANIER as l, ATTRIBUT_CHARGEMENT as l,
SELECTEUR_CONTENEUR_PANIER as m, ATTRIBUT_HIDDEN as m,
SELECTEUR_SOUS_TOTAL_PRODUITS as n, SELECTEUR_ENTREES_PANIER as n,
SELECTEUR_TOTAL_REDUCTION_VALEUR as o, SELECTEUR_CONTENEUR_PANIER as o,
SELECTEUR_TOTAL_PANIER as p, SELECTEUR_SOUS_TOTAL_PRODUITS as p,
SELECTEUR_BOUTON_SEPARATION_ADRESSES as q, SELECTEUR_TOTAL_REDUCTION_VALEUR as q,
SELECTEUR_FORMULAIRE_FACTURATION as r, SELECTEUR_TOTAL_PANIER as r,
ATTRIBUT_CLE_PANIER as s, SELECTEUR_BOUTON_SEPARATION_ADRESSES as s,
SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE as t, SELECTEUR_FORMULAIRE_FACTURATION as t,
SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER as u, ATTRIBUT_CLE_PANIER as u,
SELECTEUR_BOUTON_ADDITION_QUANTITE as v, SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE as v,
SELECTEUR_BOUTON_SUPPRESSION_PANIER as w, SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER as w,
SELECTEUR_PRIX_LIGNE_PANIER as x, SELECTEUR_BOUTON_ADDITION_QUANTITE as x,
ATTRIBUT_DESACTIVE as y, SELECTEUR_BOUTON_SUPPRESSION_PANIER as y,
SELECTEUR_BOUTON_ACTIONS_FORMULAIRE as z SELECTEUR_PRIX_LIGNE_PANIER as z
}; };
//# sourceMappingURL=dom.js.map //# sourceMappingURL=dom.js.map

File diff suppressed because one or more lines are too long

View file

@ -70,6 +70,7 @@ const reporteEtLeveErreur = (erreur) => {
throw erreur; throw erreur;
}; };
export { export {
BadRequestError as B,
CleNonTrouveError as C, CleNonTrouveError as C,
ErreurInconnue as E, ErreurInconnue as E,
ServerError as S, ServerError as S,

View file

@ -1,4 +1,4 @@
import { o as object, n as number, i as is, s as string } from "./index.DxUTT09Y.js"; import { o as object, n as number, i as is, s as string } from "./index.BAmxwLeJ.js";
const WCErrorBodySchema = object({ const WCErrorBodySchema = object({
code: string(), code: string(),
data: object({ data: object({

View file

@ -600,15 +600,15 @@ export {
ValiError as V, ValiError as V,
pipe as a, pipe as a,
array as b, array as b,
optional as c, boolean as c,
boolean as d, union as d,
enum_ as e, enum_ as e,
union as f, null_ as f,
null_ as g, url as g,
url as h, integer as h,
is as i, is as i,
integer as j, omit as j,
omit as k, optional as k,
maxValue as l, maxValue as l,
minValue as m, minValue as m,
number as n, number as n,
@ -618,4 +618,4 @@ export {
unknown as u, unknown as u,
value as v value as v
}; };
//# sourceMappingURL=index.DxUTT09Y.js.map //# sourceMappingURL=index.BAmxwLeJ.js.map

View file

@ -0,0 +1,5 @@
const ERREUR_GENERIQUE_SOUMISSION_ADRESSES = "Something went wrong while submitting the addresses. Please refresh your page and try again?";
export {
ERREUR_GENERIQUE_SOUMISSION_ADRESSES as E
};
//# sourceMappingURL=messages-utilisateur.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"messages-utilisateur.js","sources":["../../src/scripts/constantes/messages-utilisateur.ts"],"sourcesContent":["/** Constantes des Messages affichés aux Utilisateurs. */\n\nexport const ERREUR_GENERIQUE_SOUMISSION_ADRESSES =\n \"Something went wrong while submitting the addresses. Please refresh your page and try again?\";\n"],"names":[],"mappings":"AAEO,MAAM,uCACX;"}

View file

@ -1,4 +1,4 @@
import { p as parse } from "./index.DxUTT09Y.js"; import { p as parse } from "./index.BAmxwLeJ.js";
import { N as NOM_CANAL_BOUTON_PANIER, T as TYPES_MESSAGES, a as NOM_CANAL_CONTENU_PANIER } from "./messages3.js"; import { N as NOM_CANAL_BOUTON_PANIER, T as TYPES_MESSAGES, a as NOM_CANAL_CONTENU_PANIER } from "./messages3.js";
import { r as reporteErreur } from "./erreurs2.js"; import { r as reporteErreur } from "./erreurs2.js";
import { W as WCErrorSchema } from "./erreurs3.js"; import { W as WCErrorSchema } from "./erreurs3.js";

View file

@ -1,4 +1,4 @@
import { e as enum_, o as object, a as pipe, v as value, s as string, n as number, b as array } from "./index.DxUTT09Y.js"; import { e as enum_, o as object, a as pipe, v as value, s as string, n as number, b as array } from "./index.BAmxwLeJ.js";
import { T as TYPES_MESSAGES } from "./messages3.js"; import { T as TYPES_MESSAGES } from "./messages3.js";
import { a as WCStoreCartItemSchema } from "./cart.js"; import { a as WCStoreCartItemSchema } from "./cart.js";
import "./cart2.js"; import "./cart2.js";

View file

@ -163,7 +163,15 @@ var n = {
clamp clamp
}; };
const estEntreDeuxNombres = (nombre, min, max) => n.gte(nombre, min) && n.lt(nombre, max); const estEntreDeuxNombres = (nombre, min, max) => n.gte(nombre, min) && n.lt(nombre, max);
const diviseParCent = (n2) => Number(n2) / 100;
const arrondisAZeroOuDeuxDecimales = (n2) => Number(n2) / Math.round(Number(n2)) === 1 ? Number(n2).toFixed(0) : Number(n2).toFixed(2);
const inverseNombre = (n2) => Number(n2) * -1;
const formateEnEuros = (n2) => `${String(n2)}`;
export { export {
estEntreDeuxNombres as e arrondisAZeroOuDeuxDecimales as a,
diviseParCent as d,
estEntreDeuxNombres as e,
formateEnEuros as f,
inverseNombre as i
}; };
//# sourceMappingURL=nombres.js.map //# sourceMappingURL=nombres.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,162 @@
import { o as object, a as pipe, b as array, s as string, e as enum_, d as union, k as optional, c as boolean, u as unknown, h as integer, n as number, f as null_ } from "./index.BAmxwLeJ.js";
import { T as TAX_STATUSES, O as ORDER_STATUSES } from "./orders2.js";
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js";
const WCV3OrdersCouponLineMetaDataSchema = object({
id: pipe(number(), integer()),
key: string(),
value: unknown()
});
const WCV3OrdersCouponLineSchema = object({
code: string(),
discount: string(),
discount_tax: string(),
discount_type: string(),
free_shipping: boolean(),
id: pipe(number(), integer()),
meta_data: array(WCV3OrdersCouponLineMetaDataSchema),
nominal_amount: number()
});
const WCV3OrdersFeeLineMetaDataSchema = object({
id: pipe(number(), integer()),
key: string(),
value: unknown()
});
const WCV3OrdersFeeLineTaxSchema = object({
id: pipe(number(), integer()),
subtotal: string(),
total: string()
});
const WCV3OrdersFeeLineSchema = object({
id: pipe(number(), integer()),
meta_data: array(WCV3OrdersFeeLineMetaDataSchema),
name: string(),
tax_class: string(),
tax_status: enum_(TAX_STATUSES),
taxes: array(WCV3OrdersFeeLineTaxSchema),
total: string(),
total_tax: string()
});
const WCV3OrdersShippingLineMetaDataSchema = object({
id: pipe(number(), integer()),
key: string(),
value: unknown()
});
const WCV3OrdersShippingLineTaxSchema = object({
id: pipe(number(), integer()),
total: string()
});
const WCV3OrdersShippingLineSchema = object({
id: optional(pipe(number(), integer())),
meta_data: optional(array(WCV3OrdersShippingLineMetaDataSchema)),
method_id: optional(string()),
method_title: optional(string()),
taxes: optional(array(WCV3OrdersShippingLineTaxSchema)),
total: optional(string()),
total_tax: optional(string())
});
const WCV3OrdersLineItemImageSchema = object({
id: union([string(), pipe(number(), integer())]),
src: string()
});
const WCV3OrdersLineItemMetaDataSchema = object({
display_key: string(),
display_value: string(),
id: pipe(number(), integer()),
key: string(),
value: unknown()
});
const WCV3OrdersLineItemTaxSchema = object({
id: pipe(number(), integer()),
subtotal: string(),
total: string()
});
const WCV3OrdersLineItemSchema = object({
id: optional(pipe(number(), integer())),
image: optional(WCV3OrdersLineItemImageSchema),
meta_data: optional(array(WCV3OrdersLineItemMetaDataSchema)),
name: optional(string()),
parent_name: optional(union([string(), null_()])),
price: optional(number()),
product_id: optional(pipe(number(), integer())),
quantity: optional(pipe(number(), integer())),
sku: optional(string()),
subtotal: optional(string()),
subtotal_tax: optional(string()),
tax_class: optional(string()),
taxes: optional(array(WCV3OrdersLineItemTaxSchema)),
total: optional(string()),
total_tax: optional(string()),
variation_id: optional(pipe(number(), integer()))
});
const WCV3OrdersArgsSchema = object({
billing: optional(WCStoreBillingAddressSchema),
coupon_lines: optional(array(WCV3OrdersCouponLineSchema)),
currency: optional(string()),
customer_id: optional(pipe(number(), integer())),
customer_note: optional(string()),
fee_lines: optional(array(WCV3OrdersFeeLineSchema)),
line_items: optional(array(WCV3OrdersLineItemSchema)),
manual_update: optional(boolean()),
parent_id: optional(pipe(number(), integer())),
payment_method: optional(string()),
payment_method_title: optional(string()),
set_paid: optional(boolean()),
shipping: optional(WCStoreShippingAddressSchema),
shipping_lines: optional(array(WCV3OrdersShippingLineSchema)),
status: optional(enum_(ORDER_STATUSES)),
transaction_id: optional(string())
});
const WCV3OrderSchema = object({
billing: WCStoreBillingAddressSchema,
cart_hash: string(),
cart_tax: string(),
coupon_lines: array(WCV3OrdersCouponLineSchema),
created_via: string(),
currency: string(),
currency_symbol: string(),
customer_id: pipe(number(), integer()),
customer_ip_address: string(),
customer_note: string(),
customer_user_agent: string(),
date_completed: union([string(), null_()]),
date_completed_gmt: union([string(), null_()]),
// Date
date_created: string(),
date_created_gmt: string(),
date_modified: string(),
date_modified_gmt: string(),
date_paid: union([string(), null_()]),
date_paid_gmt: union([string(), null_()]),
discount_tax: string(),
discount_total: string(),
fee_lines: array(WCV3OrdersFeeLineSchema),
id: pipe(number(), integer()),
is_editable: boolean(),
line_items: array(WCV3OrdersLineItemSchema),
meta_data: unknown(),
needs_payment: boolean(),
needs_processing: boolean(),
number: string(),
order_key: string(),
parent_id: pipe(number(), integer()),
payment_method: string(),
payment_method_title: string(),
payment_url: string(),
prices_include_tax: boolean(),
refunds: array(unknown()),
shipping: WCStoreShippingAddressSchema,
shipping_lines: array(WCV3OrdersShippingLineSchema),
shipping_tax: string(),
shipping_total: string(),
status: enum_(ORDER_STATUSES),
tax_lines: array(unknown()),
total: string(),
total_tax: string(),
transaction_id: string(),
version: string()
});
export {
WCV3OrdersArgsSchema as W,
WCV3OrderSchema as a
};
//# sourceMappingURL=orders.js.map //# sourceMappingURL=orders.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,162 +1,20 @@
import { o as object, a as pipe, b as array, s as string, e as enum_, f as union, c as optional, d as boolean, u as unknown, j as integer, n as number, g as null_ } from "./index.DxUTT09Y.js"; const ORDER_STATUSES = {
import { T as TAX_STATUSES, O as ORDER_STATUSES } from "./orders3.js"; AUTO_DRAFT: "auto-draft",
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js"; CANCELLED: "cancelled",
const WCV3OrdersCouponLineMetaDataSchema = object({ CHECKOUT_DRAFT: "checkout-draft",
id: pipe(number(), integer()), COMPLETED: "completed",
key: string(), FAILED: "failed",
value: unknown() ON_HOLD: "on-hold",
}); PENDING: "pending",
const WCV3OrdersCouponLineSchema = object({ PROCESSING: "processing",
code: string(), REFUNDED: "refuneded"
discount: string(), };
discount_tax: string(), const TAX_STATUSES = {
discount_type: string(), NONE: "none",
free_shipping: boolean(), TAXABLE: "taxable"
id: pipe(number(), integer()), };
meta_data: array(WCV3OrdersCouponLineMetaDataSchema),
nominal_amount: number()
});
const WCV3OrdersFeeLineMetaDataSchema = object({
id: pipe(number(), integer()),
key: string(),
value: unknown()
});
const WCV3OrdersFeeLineTaxSchema = object({
id: pipe(number(), integer()),
subtotal: string(),
total: string()
});
const WCV3OrdersFeeLineSchema = object({
id: pipe(number(), integer()),
meta_data: array(WCV3OrdersFeeLineMetaDataSchema),
name: string(),
tax_class: string(),
tax_status: enum_(TAX_STATUSES),
taxes: array(WCV3OrdersFeeLineTaxSchema),
total: string(),
total_tax: string()
});
const WCV3OrdersShippingLineMetaDataSchema = object({
id: pipe(number(), integer()),
key: string(),
value: unknown()
});
const WCV3OrdersShippingLineTaxSchema = object({
id: pipe(number(), integer()),
total: string()
});
const WCV3OrdersShippingLineSchema = object({
id: optional(pipe(number(), integer())),
meta_data: optional(array(WCV3OrdersShippingLineMetaDataSchema)),
method_id: optional(string()),
method_title: optional(string()),
taxes: optional(array(WCV3OrdersShippingLineTaxSchema)),
total: optional(string()),
total_tax: optional(string())
});
const WCV3OrdersLineItemImageSchema = object({
id: union([string(), pipe(number(), integer())]),
src: string()
});
const WCV3OrdersLineItemMetaDataSchema = object({
display_key: string(),
display_value: string(),
id: pipe(number(), integer()),
key: string(),
value: unknown()
});
const WCV3OrdersLineItemTaxSchema = object({
id: pipe(number(), integer()),
subtotal: string(),
total: string()
});
const WCV3OrdersLineItemSchema = object({
id: optional(pipe(number(), integer())),
image: optional(WCV3OrdersLineItemImageSchema),
meta_data: optional(array(WCV3OrdersLineItemMetaDataSchema)),
name: optional(string()),
parent_name: optional(union([string(), null_()])),
price: optional(number()),
product_id: optional(pipe(number(), integer())),
quantity: optional(pipe(number(), integer())),
sku: optional(string()),
subtotal: optional(string()),
subtotal_tax: optional(string()),
tax_class: optional(string()),
taxes: optional(array(WCV3OrdersLineItemTaxSchema)),
total: optional(string()),
total_tax: optional(string()),
variation_id: optional(pipe(number(), integer()))
});
const WCV3OrdersArgsSchema = object({
billing: optional(WCStoreBillingAddressSchema),
coupon_lines: optional(array(WCV3OrdersCouponLineSchema)),
currency: optional(string()),
customer_id: optional(pipe(number(), integer())),
customer_note: optional(string()),
fee_lines: optional(array(WCV3OrdersFeeLineSchema)),
line_items: optional(array(WCV3OrdersLineItemSchema)),
manual_update: optional(boolean()),
parent_id: optional(pipe(number(), integer())),
payment_method: optional(string()),
payment_method_title: optional(string()),
set_paid: optional(boolean()),
shipping: optional(WCStoreShippingAddressSchema),
shipping_lines: optional(array(WCV3OrdersShippingLineSchema)),
status: optional(enum_(ORDER_STATUSES)),
transaction_id: optional(string())
});
const WCV3OrderSchema = object({
billing: WCStoreBillingAddressSchema,
cart_hash: string(),
cart_tax: string(),
coupon_lines: array(WCV3OrdersCouponLineSchema),
created_via: string(),
currency: string(),
currency_symbol: string(),
customer_id: pipe(number(), integer()),
customer_ip_address: string(),
customer_note: string(),
customer_user_agent: string(),
date_completed: union([string(), null_()]),
date_completed_gmt: union([string(), null_()]),
// Date
date_created: string(),
date_created_gmt: string(),
date_modified: string(),
date_modified_gmt: string(),
date_paid: union([string(), null_()]),
date_paid_gmt: union([string(), null_()]),
discount_tax: string(),
discount_total: string(),
fee_lines: array(WCV3OrdersFeeLineSchema),
id: pipe(number(), integer()),
is_editable: boolean(),
line_items: array(WCV3OrdersLineItemSchema),
meta_data: unknown(),
needs_payment: boolean(),
needs_processing: boolean(),
number: string(),
order_key: string(),
parent_id: pipe(number(), integer()),
payment_method: string(),
payment_method_title: string(),
payment_url: string(),
prices_include_tax: boolean(),
refunds: array(unknown()),
shipping: WCStoreShippingAddressSchema,
shipping_lines: array(WCV3OrdersShippingLineSchema),
shipping_tax: string(),
shipping_total: string(),
status: enum_(ORDER_STATUSES),
tax_lines: array(unknown()),
total: string(),
total_tax: string(),
transaction_id: string(),
version: string()
});
export { export {
WCV3OrdersArgsSchema as W, ORDER_STATUSES as O,
WCV3OrderSchema as a TAX_STATUSES as T
}; };
//# sourceMappingURL=orders2.js.map //# sourceMappingURL=orders2.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,20 +1,2 @@
const ORDER_STATUSES = {
AUTO_DRAFT: "auto-draft",
CANCELLED: "cancelled",
CHECKOUT_DRAFT: "checkout-draft",
COMPLETED: "completed",
FAILED: "failed",
ON_HOLD: "on-hold",
PENDING: "pending",
PROCESSING: "processing",
REFUNDED: "refuneded"
};
const TAX_STATUSES = {
NONE: "none",
TAXABLE: "taxable"
};
export {
ORDER_STATUSES as O,
TAX_STATUSES as T
};
//# sourceMappingURL=orders3.js.map //# sourceMappingURL=orders3.js.map

View file

@ -1 +1 @@
{"version":3,"file":"orders3.js","sources":["../../src/scripts/constantes/orders.ts"],"sourcesContent":["export const ORDER_STATUSES = {\n AUTO_DRAFT: \"auto-draft\",\n CANCELLED: \"cancelled\",\n CHECKOUT_DRAFT: \"checkout-draft\",\n COMPLETED: \"completed\",\n FAILED: \"failed\",\n ON_HOLD: \"on-hold\",\n PENDING: \"pending\",\n PROCESSING: \"processing\",\n REFUNDED: \"refuneded\",\n} as const;\n\nexport const TAX_STATUSES = {\n NONE: \"none\",\n TAXABLE: \"taxable\",\n};\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB;AAAA,EAC5B,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,UAAU;AACZ;AAEO,MAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,SAAS;AACX;"} {"version":3,"file":"orders3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View file

@ -0,0 +1,2 @@
//# sourceMappingURL=pays.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"pays.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}

View file

@ -1,4 +1,4 @@
import { o as object, c as optional, e as enum_, a as pipe, m as minValue, n as number, l as maxValue, b as array, s as string, d as boolean, f as union, u as unknown, j as integer, g as null_, h as url } from "./index.DxUTT09Y.js"; import { o as object, k as optional, e as enum_, a as pipe, m as minValue, n as number, l as maxValue, b as array, s as string, c as boolean, d as union, u as unknown, h as integer, f as null_, g as url } from "./index.BAmxwLeJ.js";
import { A as ATTRIBUTES_RELATIONS, C as CATALOG_VISIBILITIES, a as CATEGORY_OPERATORS, P as PRODUCTS_CONTEXTES, D as DATE_COLUMN_VALUES, O as ORDER_VALUES, b as ORDERBY_VALUES, R as RATINGS, c as PRODUCT_STATUTES, S as STOCK_STATUSES, T as TAG_OPERATORS, d as PRODUCT_TYPES, B as BACKORDERS_SETTINGS, e as TAX_STATUTES } from "./products2.js"; import { A as ATTRIBUTES_RELATIONS, C as CATALOG_VISIBILITIES, a as CATEGORY_OPERATORS, P as PRODUCTS_CONTEXTES, D as DATE_COLUMN_VALUES, O as ORDER_VALUES, b as ORDERBY_VALUES, R as RATINGS, c as PRODUCT_STATUTES, S as STOCK_STATUSES, T as TAG_OPERATORS, d as PRODUCT_TYPES, B as BACKORDERS_SETTINGS, e as TAX_STATUTES } from "./products2.js";
const WCV3ProductsArgsSchema = object({ const WCV3ProductsArgsSchema = object({
// Date ISO8601 // Date ISO8601

View file

@ -1,4 +1,4 @@
import { o as object, c as optional, e as enum_, a as pipe, m as minValue, n as number, l as maxValue, b as array, s as string, u as unknown, d as boolean, f as union, j as integer, g as null_ } from "./index.DxUTT09Y.js"; import { o as object, k as optional, e as enum_, a as pipe, m as minValue, n as number, l as maxValue, b as array, s as string, u as unknown, c as boolean, d as union, h as integer, f as null_ } from "./index.BAmxwLeJ.js";
import { A as ATTRIBUTES_RELATIONS, C as CATALOG_VISIBILITIES, a as CATEGORY_OPERATORS, P as PRODUCTS_CONTEXTES, D as DATE_COLUMN_VALUES, O as ORDER_VALUES, b as ORDERBY_VALUES, R as RATINGS, S as STOCK_STATUSES, T as TAG_OPERATORS, d as PRODUCT_TYPES } from "./products2.js"; import { A as ATTRIBUTES_RELATIONS, C as CATALOG_VISIBILITIES, a as CATEGORY_OPERATORS, P as PRODUCTS_CONTEXTES, D as DATE_COLUMN_VALUES, O as ORDER_VALUES, b as ORDERBY_VALUES, R as RATINGS, S as STOCK_STATUSES, T as TAG_OPERATORS, d as PRODUCT_TYPES } from "./products2.js";
object({ object({
// Date ISO8601 // Date ISO8601

View file

@ -1,5 +1,5 @@
import { z, N } from "./index.CeK6pfoJ.js"; import { z, N } from "./index.CeK6pfoJ.js";
import { p as parse } from "./index.DxUTT09Y.js"; import { p as parse } from "./index.BAmxwLeJ.js";
import { E as ENTETE_WC_NONCE } from "./api.js"; import { E as ENTETE_WC_NONCE } from "./api.js";
import { b as leveBadRequestError, c as leveUnauthorizedError, d as leveNotFoundError, E as ErreurInconnue, a as leveErreur } from "./erreurs2.js"; import { b as leveBadRequestError, c as leveUnauthorizedError, d as leveNotFoundError, E as ErreurInconnue, a as leveErreur } from "./erreurs2.js";
import { e as estWCError } from "./erreurs3.js"; import { e as estWCError } from "./erreurs3.js";

View file

@ -7,7 +7,7 @@ import { p as pipe } from "./pipe.XPB0wEfw.js";
import "./erreurs2.js"; import "./erreurs2.js";
import "./exports.B84S-6H1.js"; import "./exports.B84S-6H1.js";
import "./Either.wHNxn7Os.js"; import "./Either.wHNxn7Os.js";
import "./index.DxUTT09Y.js"; import "./index.BAmxwLeJ.js";
import "./erreurs3.js"; import "./erreurs3.js";
import "./messages2.js"; import "./messages2.js";
import "./cart.js"; import "./cart.js";

View file

@ -1,7 +1,7 @@
var __defProp = Object.defineProperty; var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
import { $ as SELECTEUR_BOUTON_MENU_MOBILE, a0 as SELECTEUR_MENU_MOBILE, a1 as ATTRIBUT_MENU_MOBILE_ACTIVE } from "./dom.js"; import { a0 as SELECTEUR_BOUTON_MENU_MOBILE, a1 as SELECTEUR_MENU_MOBILE, a2 as ATTRIBUT_MENU_MOBILE_ACTIVE } from "./dom.js";
import { a as recupereElementDansDocumentOuLeve } from "./utils.js"; import { a as recupereElementDansDocumentOuLeve } from "./utils.js";
import "./dom2.js"; import "./dom2.js";
import "./erreurs2.js"; import "./erreurs2.js";

View file

@ -1,4 +1,4 @@
import { a2 as ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE, a3 as ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF, a4 as CLASS_BOUTON_FERMETURE_BOITE_TEXTE, a5 as CLASS_EPINGLE, a6 as SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS, a7 as SELECTEUR_EPINGLE, a8 as SELECTEUR_BOITE_TEXTE } from "./dom.js"; import { a3 as ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE, a4 as ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF, a5 as CLASS_BOUTON_FERMETURE_BOITE_TEXTE, a6 as CLASS_EPINGLE, a7 as SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS, a8 as SELECTEUR_EPINGLE, a9 as SELECTEUR_BOITE_TEXTE } from "./dom.js";
import { a as recupereElementDansDocumentOuLeve, b as recupereElementsDansDocumentOuLeve } from "./utils.js"; import { a as recupereElementDansDocumentOuLeve, b as recupereElementsDansDocumentOuLeve } from "./utils.js";
import { k as some, q as reduceU, w as nullable_to_opt, v as valFromOption, g as equal, x as concat, R as Ra } from "./dom2.js"; import { k as some, q as reduceU, w as nullable_to_opt, v as valFromOption, g as equal, x as concat, R as Ra } from "./dom2.js";
import { p as pipe } from "./pipe.XPB0wEfw.js"; import { p as pipe } from "./pipe.XPB0wEfw.js";

View file

@ -1,101 +1,113 @@
import { z, N } from "./index.CeK6pfoJ.js"; import { z, N } from "./index.CeK6pfoJ.js";
import { p as parse } from "./index.DxUTT09Y.js"; import { V as ValiError } from "./index.BAmxwLeJ.js";
import { R as ROUTE_API_NOUVELLE_PRODUCTS } from "./api.js"; import { R as ROUTE_API_NOUVELLE_PRODUCTS } from "./api.js";
import { g as SELECTEUR_BOUTON_PLUS_PRODUITS, h as SELECTEUR_GRILLE_PRODUITS, i as ATTRIBUT_ID_CATEGORIE_PRODUITS, j as ATTRIBUT_PAGE, k as ATTRIBUT_HIDDEN } from "./dom.js"; import { g as SELECTEUR_BOUTON_PLUS_PRODUITS, h as SELECTEUR_GRILLE_PRODUITS, i as ATTRIBUT_ID_CATEGORIE_PRODUITS, j as ATTRIBUT_PAGE, k as ATTRIBUT_DESACTIVE, l as ATTRIBUT_CHARGEMENT, m as ATTRIBUT_HIDDEN } from "./dom.js";
import { l as lanceAnimationCycleTexte } from "./animations.js";
import { h as html } from "./dom2.js"; import { h as html } from "./dom2.js";
import { l as leveServerError } from "./erreurs2.js"; import { S as ServerError, B as BadRequestError } from "./erreurs2.js";
import { e as estReponse500 } from "./gardes.js"; import { g as getBackendAvecParametresUrl } from "./reseau.js";
import { g as getBackendAvecParametresUrl, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js";
import { W as WCV3ProductsArgsSchema, a as WCV3ProductsSchema } from "./products.js"; import { W as WCV3ProductsArgsSchema, a as WCV3ProductsSchema } from "./products.js";
import { a as recupereElementDansDocumentOuLeve, r as recupereElementDocumentEither } from "./utils.js"; import { a as recupereElementDansDocumentOuLeve } from "./utils.js";
import { e as eitherParse } from "./validation.js";
import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js"; import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js";
import { p as pipe } from "./pipe.XPB0wEfw.js"; import { p as pipe } from "./pipe.XPB0wEfw.js";
import { t as tap } from "./index-0eef19ec.DoJSf22Z.js"; import { t as tap } from "./index-0eef19ec.DoJSf22Z.js";
import { E as Either } from "./Either.wHNxn7Os.js"; import "./Either.wHNxn7Os.js";
import "./exports.B84S-6H1.js"; import "./exports.B84S-6H1.js";
import "./erreurs3.js"; import "./erreurs3.js";
import "./products2.js"; import "./products2.js";
import "./belt_Option-91f3b350.cBye8bLJ.js"; import "./belt_Option-91f3b350.cBye8bLJ.js";
const ETATS_PAGE = _etats; const ETATS_PAGE = _etats;
const GRILLE_PRODUITS = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS); const E = {
const BOUTON_PLUS_DE_PRODUITS = recupereElementDocumentEither( BOUTON_PLUS_DE_PRODUITS: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_PLUS_PRODUITS),
SELECTEUR_BOUTON_PLUS_PRODUITS GRILLE_PRODUITS: recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS)
); };
const initialisePageBoutique = () => { const initialisePageBoutique = () => {
const idCategorieProduits = GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS); const idCategorieProduits = E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);
BOUTON_PLUS_DE_PRODUITS.ifRight((bouton) => { E.BOUTON_PLUS_DE_PRODUITS.addEventListener("click", () => {
bouton.addEventListener("click", () => { const nouveauNumeroPage = Number(E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;
const nouvellePage = Number(GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1; const args = {
const args = { page: nouveauNumeroPage,
page: nouvellePage, per_page: 12,
per_page: 13, // Ajoute conditionnellement la Catégorie de Produits
// Ajoute conditionnellement la Catégorie de Produits ...idCategorieProduits && { category: idCategorieProduits }
...idCategorieProduits && { category: idCategorieProduits } };
}; void EitherAsync.liftEither(eitherParse(args, WCV3ProductsArgsSchema)).ifRight(() => {
Either.encase(() => parse(WCV3ProductsArgsSchema, args)).map( E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_DESACTIVE, "");
async (args2) => { E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_CHARGEMENT, "");
await EitherAsync( const animation = lanceAnimationCycleTexte({
() => getBackendAvecParametresUrl({ attribut: ATTRIBUT_CHARGEMENT,
authString: ETATS_PAGE.authString, element: E.BOUTON_PLUS_DE_PRODUITS,
nonce: ETATS_PAGE.nonce, etapes: [
route: ROUTE_API_NOUVELLE_PRODUCTS, "Loading",
searchParams: new URLSearchParams(args2).toString() "Loading.",
}) "Loading..",
).map((reponse) => { "Loading..."
if (estReponse500(reponse)) leveServerError("500 Server Error"); ]
return reponse.json(); });
}).map( animation.callback();
(corpsReponse) => ( animation.interval = setInterval(animation.callback, 500);
// Traite tous les codes HTTPs possibles }).chain(
traiteReponseBackendWCSelonCodesHTTP( (args2) => EitherAsync(
corpsReponse, () => getBackendAvecParametresUrl({
WCV3ProductsSchema authString: ETATS_PAGE.authString,
) nonce: ETATS_PAGE.nonce,
) route: ROUTE_API_NOUVELLE_PRODUCTS,
).ifRight((donnees) => { searchParams: new URLSearchParams(args2).toString()
if (donnees.length < 12) { })
bouton.toggleAttribute(ATTRIBUT_HIDDEN); )
} ).chain(
const fragment = document.createDocumentFragment(); (reponse) => EitherAsync(async ({ throwE }) => {
for (const produit of donnees.slice(0, 12)) { const reponseSimplifiee = {
pipe( body: await reponse.json(),
html` status: reponse.status
<article class="produit"> };
<figure> return z(reponseSimplifiee).with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))).with({ status: 400 }, () => throwE(new BadRequestError("400 Server Error"))).with({ status: 200 }, () => reponseSimplifiee.body).run();
<a href="/product/${produit.slug}"> })
<picture class="produit__illustration produit__illustration__principale"> ).chain((corpsReponse) => EitherAsync.liftEither(eitherParse(corpsReponse, WCV3ProductsSchema))).ifRight((donnees) => {
${produit.image_repos ?? ""} if (donnees.length < 12) {
</picture> E.BOUTON_PLUS_DE_PRODUITS.toggleAttribute(ATTRIBUT_HIDDEN);
}
const fragment = document.createDocumentFragment();
for (const produit of donnees.slice(0, 12)) {
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"> <picture class="produit__illustration produit__illustration__survol">
${produit.image_survol ?? ""} ${produit.image_survol ?? ""}
</picture> </picture>
</a> </a>
<figcaption class="produit__textuel"> <figcaption class="produit__textuel">
<h3 class="produit__textuel__titre"> <h3 class="produit__textuel__titre">
<a href="${produit.permalink}">${produit.name}</a> <a href="${produit.permalink}">${produit.name}</a>
</h3> </h3>
<p class="produit__textuel__prix"> <p class="produit__textuel__prix">
${produit.prix_maximal} ${produit.prix_maximal}
</p> </p>
</figcaption> </figcaption>
</figure> </figure>
</article> </article>
`, `,
tap((article) => { tap((article) => fragment.appendChild(article))
fragment.appendChild(article); );
}) }
); E.GRILLE_PRODUITS.appendChild(fragment);
} E.GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouveauNumeroPage));
GRILLE_PRODUITS.appendChild(fragment); E.BOUTON_PLUS_DE_PRODUITS.textContent = "Show more";
GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouvellePage)); }).ifLeft((erreur) => {
}).ifLeft((e) => { z(erreur).with(N.instanceOf(ValiError), (e) => console.error("ValiError", e.issues)).otherwise((e) => console.error("Erreur", e));
z(e).with({ issues: N.select(), name: "ValiError" }, (problemes) => console.error("ValiError", problemes)).otherwise((e2) => console.error("Autre", e2.name, e2)); E.BOUTON_PLUS_DE_PRODUITS.textContent = "Error, try again?";
}).void(); }).finally(() => {
} E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_CHARGEMENT);
); E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_DESACTIVE);
}); }).run();
}); });
}; };
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {

File diff suppressed because one or more lines are too long

View file

@ -1,16 +1,17 @@
import { z } from "./index.CeK6pfoJ.js"; import { z, N } from "./index.CeK6pfoJ.js";
import { V as ValiError } from "./index.DxUTT09Y.js"; import { V as ValiError } from "./index.BAmxwLeJ.js";
import { c as ROUTE_API_MAJ_CLIENT, d as ROUTE_API_NOUVELLE_COMMANDES } from "./api.js"; import { c as ROUTE_API_MAJ_CLIENT, d as ROUTE_API_NOUVELLE_COMMANDES } from "./api.js";
import { l as SELECTEUR_ENTREES_PANIER, z as SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, B as SELECTEUR_FORMULAIRE_PANIER, C as SELECTEUR_INSTRUCTIONS_CLIENT, D as SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT, E as SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, y as ATTRIBUT_DESACTIVE, F as ATTRIBUT_CHARGEMENT } from "./dom.js"; import { n as SELECTEUR_ENTREES_PANIER, B as SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, C as SELECTEUR_FORMULAIRE_PANIER, D as SELECTEUR_INSTRUCTIONS_CLIENT, E as SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES, F as SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT, G as SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, k as ATTRIBUT_DESACTIVE, l as ATTRIBUT_CHARGEMENT } from "./dom.js";
import { E as ERREUR_GENERIQUE_SOUMISSION_ADRESSES } from "./messages-utilisateur.js";
import { l as lanceAnimationCycleTexte } from "./animations.js"; import { l as lanceAnimationCycleTexte } from "./animations.js";
import { e as eitherSessionStorageGet, c as eitherJsonParse } from "./dom2.js"; import { e as eitherSessionStorageGet, c as eitherJsonParse } from "./dom2.js";
import { S as ServerError, a as leveErreur, l as leveServerError } from "./erreurs2.js"; import { S as ServerError, B as BadRequestError, a as leveErreur, l as leveServerError } from "./erreurs2.js";
import { e as estReponse500 } from "./gardes.js"; import { e as estReponse500 } from "./gardes.js";
import { p as postBackend } from "./reseau.js"; import { p as postBackend } from "./reseau.js";
import { W as WCStoreCartSchema } from "./cart.js"; import { W as WCStoreCartSchema } from "./cart.js";
import { W as WCStoreCartUpdateCustomerArgsSchema } from "./cart-update-customer.js"; import { W as WCStoreCartUpdateCustomerArgsSchema } from "./cart-update-customer.js";
import { W as WCStoreShippingRateShippingRateSchema } from "./couts-livraison.js"; import { W as WCStoreShippingRateShippingRateSchema } from "./couts-livraison.js";
import { W as WCV3OrdersArgsSchema, a as WCV3OrderSchema } from "./orders2.js"; import { W as WCV3OrdersArgsSchema, a as WCV3OrderSchema } from "./orders.js";
import { a as recupereElementDansDocumentOuLeve, c as recupereElementsDocumentEither } from "./utils.js"; import { a as recupereElementDansDocumentOuLeve, c as recupereElementsDocumentEither } from "./utils.js";
import { e as eitherParse } from "./validation.js"; import { e as eitherParse } from "./validation.js";
import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js"; import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js";
@ -21,13 +22,16 @@ import "./erreurs3.js";
import "./cart2.js"; import "./cart2.js";
import "./adresses.js"; import "./adresses.js";
import "./cart-coupons.js"; import "./cart-coupons.js";
import "./orders3.js"; import "./orders2.js";
const ETATS_PAGE = _etats; const ETATS_PAGE = _etats;
const ELEMENTS = { const ELEMENTS = {
BOUTON_ACTIONS_FORMULAIRE: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE), BOUTON_ACTIONS_FORMULAIRE: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE),
ENTREES_PANIER_EITHER: recupereElementsDocumentEither(SELECTEUR_ENTREES_PANIER), ENTREES_PANIER_EITHER: recupereElementsDocumentEither(SELECTEUR_ENTREES_PANIER),
FORMULAIRE_PANIER: recupereElementDansDocumentOuLeve(SELECTEUR_FORMULAIRE_PANIER), FORMULAIRE_PANIER: recupereElementDansDocumentOuLeve(SELECTEUR_FORMULAIRE_PANIER),
INSTRUCTIONS_CLIENT: recupereElementDansDocumentOuLeve(SELECTEUR_INSTRUCTIONS_CLIENT), INSTRUCTIONS_CLIENT: recupereElementDansDocumentOuLeve(SELECTEUR_INSTRUCTIONS_CLIENT),
MESSAGE_FORMULAIRE_ADRESSES: recupereElementDansDocumentOuLeve(
SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES
),
TOTAL_LIVRAISON_COUT: recupereElementDansDocumentOuLeve(SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT), TOTAL_LIVRAISON_COUT: recupereElementDansDocumentOuLeve(SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT),
TOTAL_LIVRAISON_PRESTATAIRE: recupereElementDansDocumentOuLeve( TOTAL_LIVRAISON_PRESTATAIRE: recupereElementDansDocumentOuLeve(
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE
@ -58,7 +62,7 @@ const initialiseBoutonSoumissionAdresses = () => {
address_2: "", address_2: "",
city: donneesFormulaire["facturation-ville"] ?? donneesFormulaire["livraison-ville"] ?? "", city: donneesFormulaire["facturation-ville"] ?? donneesFormulaire["livraison-ville"] ?? "",
company: "", company: "",
country: "FR", country: donneesFormulaire["facturation-pays"] ?? donneesFormulaire["livraison-pays"] ?? "",
email: donneesFormulaire["facturation-email"] ?? donneesFormulaire["livraison-email"] ?? "", email: donneesFormulaire["facturation-email"] ?? donneesFormulaire["livraison-email"] ?? "",
first_name: donneesFormulaire["facturation-prenom"] ?? donneesFormulaire["livraison-prenom"] ?? "", first_name: donneesFormulaire["facturation-prenom"] ?? donneesFormulaire["livraison-prenom"] ?? "",
last_name: donneesFormulaire["facturation-nom"] ?? donneesFormulaire["livraison-nom"] ?? "", last_name: donneesFormulaire["facturation-nom"] ?? donneesFormulaire["livraison-nom"] ?? "",
@ -71,7 +75,7 @@ const initialiseBoutonSoumissionAdresses = () => {
address_2: "", address_2: "",
city: donneesFormulaire["livraison-ville"] ?? "", city: donneesFormulaire["livraison-ville"] ?? "",
company: "", company: "",
country: "FR", country: donneesFormulaire["livraison-pays"] ?? "",
first_name: donneesFormulaire["livraison-prenom"] ?? "", first_name: donneesFormulaire["livraison-prenom"] ?? "",
last_name: donneesFormulaire["livraison-nom"] ?? "", last_name: donneesFormulaire["livraison-nom"] ?? "",
phone: donneesFormulaire["livraison-telephone"] ?? "", phone: donneesFormulaire["livraison-telephone"] ?? "",
@ -91,11 +95,11 @@ const initialiseBoutonSoumissionAdresses = () => {
body: await reponse.json(), body: await reponse.json(),
status: reponse.status status: reponse.status
}; };
return z(reponseSimplifiee).with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))).with({ status: 200 }, () => reponseSimplifiee.body).run(); return z(reponseSimplifiee).with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))).with({ status: 400 }, () => throwE(new BadRequestError("400 Bad Request Error"))).with({ status: 200 }, () => reponseSimplifiee.body).run();
}) })
).chain((corsReponse) => EitherAsync.liftEither(eitherParse(corsReponse, WCStoreCartSchema))).ifRight((panier) => { ).chain((corsReponse) => EitherAsync.liftEither(eitherParse(corsReponse, WCStoreCartSchema))).ifRight((panier) => {
console.debug(panier.shipping_rates); console.debug(panier.shipping_rates);
const sousTotalLivraison = panier.totals.total_shipping === "0" ? "Free" : `${String(panier.totals.total_shipping)}`; const sousTotalLivraison = panier.totals.total_shipping === "0" ? "Free" : `${String(Number(panier.totals.total_shipping) / 100)}`;
const prestataireLivraison = panier.shipping_rates[0]?.shipping_rates[0]?.name ?? ""; const prestataireLivraison = panier.shipping_rates[0]?.shipping_rates[0]?.name ?? "";
ELEMENTS.TOTAL_LIVRAISON_COUT.textContent = sousTotalLivraison; ELEMENTS.TOTAL_LIVRAISON_COUT.textContent = sousTotalLivraison;
ELEMENTS.TOTAL_LIVRAISON_PRESTATAIRE.textContent = prestataireLivraison; ELEMENTS.TOTAL_LIVRAISON_PRESTATAIRE.textContent = prestataireLivraison;
@ -105,7 +109,15 @@ const initialiseBoutonSoumissionAdresses = () => {
); );
ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.textContent = "Check-out"; ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.textContent = "Check-out";
initialiseBoutonCreationCommande(); initialiseBoutonCreationCommande();
}).ifLeft((erreur) => z(erreur).with).finally(() => { }).ifLeft(
(erreur) => z(erreur).with(N.instanceOf(ValiError), (e) => {
console.error(e.issues);
ELEMENTS.MESSAGE_FORMULAIRE_ADRESSES.textContent = ERREUR_GENERIQUE_SOUMISSION_ADRESSES;
}).with(N.instanceOf(ServerError), (e) => {
console.error(e);
ELEMENTS.MESSAGE_FORMULAIRE_ADRESSES.textContent = ERREUR_GENERIQUE_SOUMISSION_ADRESSES;
}).exhaustive()
).finally(() => {
ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_CHARGEMENT); ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_CHARGEMENT);
ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_DESACTIVE); ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_DESACTIVE);
}).run(); }).run();

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
import { z, N } from "./index.CeK6pfoJ.js"; import { z, N } from "./index.CeK6pfoJ.js";
import { V as ValiError } from "./index.DxUTT09Y.js"; import { V as ValiError } from "./index.BAmxwLeJ.js";
import { e as ROUTE_API_APPLIQUE_COUPON, f as ROUTE_API_RETIRE_COUPON } from "./api.js"; import { e as ROUTE_API_APPLIQUE_COUPON, f as ROUTE_API_RETIRE_COUPON } from "./api.js";
import { G as SELECTEUR_BOUTON_CODE_PROMO, H as SELECTEUR_CHAMP_CODE_PROMO, I as SELECTEUR_ENSEMBLE_CODE_PROMO, J as SELECTEUR_MESSAGE_CODE_PROMO, p as SELECTEUR_TOTAL_PANIER, K as SELECTEUR_TOTAL_REDUCTION, o as SELECTEUR_TOTAL_REDUCTION_VALEUR, y as ATTRIBUT_DESACTIVE, F as ATTRIBUT_CHARGEMENT, L as ATTRIBUT_CODE_PROMO_PRESENT, k as ATTRIBUT_HIDDEN } from "./dom.js"; import { H as SELECTEUR_BOUTON_CODE_PROMO, I as SELECTEUR_CHAMP_CODE_PROMO, J as SELECTEUR_ENSEMBLE_CODE_PROMO, K as SELECTEUR_MESSAGE_CODE_PROMO, r as SELECTEUR_TOTAL_PANIER, L as SELECTEUR_TOTAL_REDUCTION, q as SELECTEUR_TOTAL_REDUCTION_VALEUR, k as ATTRIBUT_DESACTIVE, l as ATTRIBUT_CHARGEMENT, M as ATTRIBUT_CODE_PROMO_PRESENT, m as ATTRIBUT_HIDDEN } from "./dom.js";
import { E as ERREUR_CODE_PROMO_INVALIDE } from "./erreurs.js"; import { E as ERREUR_CODE_PROMO_INVALIDE } from "./erreurs.js";
import { l as lanceAnimationCycleTexte } from "./animations.js"; import { l as lanceAnimationCycleTexte } from "./animations.js";
import { d as accorderCibleASelecteur, i as identity } from "./dom2.js"; import { d as accorderCibleASelecteur, i as identity } from "./dom2.js";

View file

@ -1,11 +1,12 @@
import { p as parse } from "./index.DxUTT09Y.js"; import { p as parse } from "./index.BAmxwLeJ.js";
import { a as ROUTE_API_RETIRE_ARTICLE_PANIER, b as ROUTE_API_MAJ_ARTICLE_PANIER } from "./api.js"; import { a as ROUTE_API_RETIRE_ARTICLE_PANIER, b as ROUTE_API_MAJ_ARTICLE_PANIER } from "./api.js";
import { l as SELECTEUR_ENTREES_PANIER, m as SELECTEUR_CONTENEUR_PANIER, n as SELECTEUR_SOUS_TOTAL_PRODUITS, o as SELECTEUR_TOTAL_REDUCTION_VALEUR, p as SELECTEUR_TOTAL_PANIER, q as SELECTEUR_BOUTON_SEPARATION_ADRESSES, r as SELECTEUR_FORMULAIRE_FACTURATION, s as ATTRIBUT_CLE_PANIER, t as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, u as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, v as SELECTEUR_BOUTON_ADDITION_QUANTITE, w as SELECTEUR_BOUTON_SUPPRESSION_PANIER, A as ATTRIBUT_CONTIENT_ARTICLES, x as SELECTEUR_PRIX_LIGNE_PANIER, k as ATTRIBUT_HIDDEN, y as ATTRIBUT_DESACTIVE } from "./dom.js"; import { n as SELECTEUR_ENTREES_PANIER, o as SELECTEUR_CONTENEUR_PANIER, p as SELECTEUR_SOUS_TOTAL_PRODUITS, q as SELECTEUR_TOTAL_REDUCTION_VALEUR, r as SELECTEUR_TOTAL_PANIER, s as SELECTEUR_BOUTON_SEPARATION_ADRESSES, t as SELECTEUR_FORMULAIRE_FACTURATION, u as ATTRIBUT_CLE_PANIER, v as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, w as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, x as SELECTEUR_BOUTON_ADDITION_QUANTITE, y as SELECTEUR_BOUTON_SUPPRESSION_PANIER, A as ATTRIBUT_CONTIENT_ARTICLES, z as SELECTEUR_PRIX_LIGNE_PANIER, m as ATTRIBUT_HIDDEN, k as ATTRIBUT_DESACTIVE } from "./dom.js";
import { N as NOM_CANAL_BOUTON_PANIER, a as NOM_CANAL_CONTENU_PANIER } from "./messages3.js"; import { N as NOM_CANAL_BOUTON_PANIER, a as NOM_CANAL_CONTENU_PANIER } from "./messages3.js";
import { a as recupereElementsAvecSelecteur, b as recupereElementAvecSelecteur, r as recupereElementOuLeve } from "./dom2.js"; import { a as recupereElementsAvecSelecteur, b as recupereElementAvecSelecteur, r as recupereElementOuLeve } from "./dom2.js";
import { l as leveServerError, r as reporteErreur } from "./erreurs2.js"; import { l as leveServerError, r as reporteErreur } from "./erreurs2.js";
import { e as estReponse500, a as estError } from "./gardes.js"; import { e as estReponse500, a as estError } from "./gardes.js";
import { e as emetMessageMajBoutonPanier, a as emetMessageMajContenuPanier, v as valideMessageMajBoutonPanier, b as valideMessageMajContenuPanier } from "./messages.js"; import { e as emetMessageMajBoutonPanier, a as emetMessageMajContenuPanier, v as valideMessageMajBoutonPanier, b as valideMessageMajContenuPanier } from "./messages.js";
import { d as diviseParCent, f as formateEnEuros, i as inverseNombre, a as arrondisAZeroOuDeuxDecimales } from "./nombres.js";
import { p as postBackend, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js"; import { p as postBackend, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js";
import { W as WCStoreCartRemoveItemArgsSchema } from "./cart-remove-item.js"; import { W as WCStoreCartRemoveItemArgsSchema } from "./cart-remove-item.js";
import { W as WCStoreCartUpdateItemArgsSchema } from "./cart-update-item.js"; import { W as WCStoreCartUpdateItemArgsSchema } from "./cart-update-item.js";
@ -25,10 +26,11 @@ import "./cart2.js";
import "./adresses.js"; import "./adresses.js";
import "./cart-coupons.js"; import "./cart-coupons.js";
import "./couts-livraison.js"; import "./couts-livraison.js";
import "./messages-utilisateur.js";
import "./animations.js"; import "./animations.js";
import "./cart-update-customer.js"; import "./cart-update-customer.js";
import "./orders.js";
import "./orders2.js"; import "./orders2.js";
import "./orders3.js";
import "./MaybeAsync.AE1jnxuc.js"; import "./MaybeAsync.AE1jnxuc.js";
import "./erreurs.js"; import "./erreurs.js";
import "./codes-promo.js"; import "./codes-promo.js";
@ -58,7 +60,7 @@ const desactiveBoutonsEntreesPanier = (entrees) => entrees.forEach((entree) => {
elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, ""); elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, "");
elements.boutonAddition.setAttribute(ATTRIBUT_DESACTIVE, ""); elements.boutonAddition.setAttribute(ATTRIBUT_DESACTIVE, "");
elements.boutonSuppression.setAttribute(ATTRIBUT_DESACTIVE, ""); elements.boutonSuppression.setAttribute(ATTRIBUT_DESACTIVE, "");
elements.boutonSuppression.textContent = "C= C= C= C= C=┌(;・ω・)┘"; elements.boutonSuppression.textContent = "Loading...";
}); });
const majEtatsActivationBoutons = (entrees) => entrees.forEach((entree) => { const majEtatsActivationBoutons = (entrees) => entrees.forEach((entree) => {
const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree); const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);
@ -109,9 +111,9 @@ const initialiseMajEntreesPanier = () => {
emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count }); emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });
emetMessageMajContenuPanier({ emetMessageMajContenuPanier({
produits: panier.items, produits: panier.items,
sousTotalProduits: Number(panier.totals.total_items) / 100, sousTotalProduits: diviseParCent(panier.totals.total_items),
sousTotalReduction: Number(panier.totals.total_discount) / 100, sousTotalReduction: diviseParCent(panier.totals.total_discount),
totalPanier: Number(panier.totals.total_price) / 100 totalPanier: diviseParCent(panier.totals.total_price)
}); });
entree.remove(); entree.remove();
}) })
@ -150,9 +152,9 @@ const initialiseMajEntreesPanier = () => {
emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count }); emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });
emetMessageMajContenuPanier({ emetMessageMajContenuPanier({
produits: panier.items, produits: panier.items,
sousTotalProduits: Number(panier.totals.total_items) / 100, sousTotalProduits: diviseParCent(panier.totals.total_items),
sousTotalReduction: Number(panier.totals.total_discount) / 100, sousTotalReduction: diviseParCent(panier.totals.total_discount),
totalPanier: Number(panier.totals.total_price) / 100 totalPanier: diviseParCent(panier.totals.total_price)
}); });
}) })
); );
@ -191,9 +193,9 @@ const initialiseMajEntreesPanier = () => {
emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count }); emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });
emetMessageMajContenuPanier({ emetMessageMajContenuPanier({
produits: panier.items, produits: panier.items,
sousTotalProduits: Number(panier.totals.total_items) / 100, sousTotalProduits: diviseParCent(panier.totals.total_items),
sousTotalReduction: Number(panier.totals.total_discount) / 100, sousTotalReduction: diviseParCent(panier.totals.total_discount),
totalPanier: Number(panier.totals.total_price) / 100 totalPanier: diviseParCent(panier.totals.total_price)
}); });
}) })
); );
@ -230,13 +232,17 @@ const initialiseMajContenuPanier = () => {
SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER
); );
entree.setAttribute("data-quantite", String(ligne.quantity)); entree.setAttribute("data-quantite", String(ligne.quantity));
prixLigne.textContent = `${String(Number(ligne.totals.line_subtotal) / 100)}`; prixLigne.textContent = pipe(diviseParCent(ligne.totals.line_subtotal), formateEnEuros);
champQuantite.setAttribute("value", String(ligne.quantity)); champQuantite.setAttribute("value", String(ligne.quantity));
majEtatsActivationBoutons(entrees); majEtatsActivationBoutons(entrees);
}); });
SOUS_TOTAL_REDUCTION.textContent = `-${String(donnees.sousTotalReduction)}`; SOUS_TOTAL_PRODUITS.textContent = formateEnEuros(donnees.sousTotalProduits);
SOUS_TOTAL_PRODUITS.textContent = `${String(donnees.sousTotalProduits)}`; SOUS_TOTAL_REDUCTION.textContent = pipe(
TOTAL_PANIER.textContent = `${String(donnees.totalPanier)}`; inverseNombre(donnees.sousTotalReduction),
arrondisAZeroOuDeuxDecimales,
formateEnEuros
);
TOTAL_PANIER.textContent = pipe(arrondisAZeroOuDeuxDecimales(donnees.totalPanier), formateEnEuros);
}); });
}); });
}).ifLeft((erreur) => { }).ifLeft((erreur) => {

File diff suppressed because one or more lines are too long

View file

@ -1,6 +1,6 @@
import { z } from "./index.CeK6pfoJ.js"; import { z } from "./index.CeK6pfoJ.js";
import { g as ROUTE_API_AJOUTE_ARTICLE_PANIER, E as ENTETE_WC_NONCE } from "./api.js"; import { g as ROUTE_API_AJOUTE_ARTICLE_PANIER, E as ENTETE_WC_NONCE } from "./api.js";
import { M as SELECTEUR_BOUTON_AJOUT_PANIER, N as SELECTEUR_SELECTEUR_QUANTITE, O as SELECTEUR_LIENS_ONGLETS, P as SELECTEUR_SECTIONS_CONTENUS, Q as SELECTEUR_PRIX_PRODUIT, R as SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT, T as SELECTEUR_FLECHE_DEFILEMENT_GAUCHE, U as SELECTEUR_FLECHE_DEFILEMENT_DROITE, V as SELECTEUR_PHOTOS_PRODUIT, W as SELECTEUR_IMAGE_COLONNE_GAUCHE, X as SELECTEUR_IMAGES_COLONNE_DROITE, Y as ATTRIBUT_INDEX_IMAGE_ACTIVE, Z as ATTRIBUT_ARIA_SELECTED, k as ATTRIBUT_HIDDEN, y as ATTRIBUT_DESACTIVE, _ as ATTRIBUT_PRIX } from "./dom.js"; import { N as SELECTEUR_BOUTON_AJOUT_PANIER, O as SELECTEUR_SELECTEUR_QUANTITE, P as SELECTEUR_LIENS_ONGLETS, Q as SELECTEUR_SECTIONS_CONTENUS, R as SELECTEUR_PRIX_PRODUIT, T as SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT, U as SELECTEUR_FLECHE_DEFILEMENT_GAUCHE, V as SELECTEUR_FLECHE_DEFILEMENT_DROITE, W as SELECTEUR_PHOTOS_PRODUIT, X as SELECTEUR_IMAGE_COLONNE_GAUCHE, Y as SELECTEUR_IMAGES_COLONNE_DROITE, Z as ATTRIBUT_INDEX_IMAGE_ACTIVE, _ as ATTRIBUT_ARIA_SELECTED, m as ATTRIBUT_HIDDEN, k as ATTRIBUT_DESACTIVE, $ as ATTRIBUT_PRIX } from "./dom.js";
import { r as recupereElementOuLeve, f as recupereElementsOuLeve, R as Ra } from "./dom2.js"; import { r as recupereElementOuLeve, f as recupereElementsOuLeve, R as Ra } from "./dom2.js";
import { l as leveServerError, r as reporteErreur } from "./erreurs2.js"; import { l as leveServerError, r as reporteErreur } from "./erreurs2.js";
import { b as estHTMLSelectElement, e as estReponse500, a as estError } from "./gardes.js"; import { b as estHTMLSelectElement, e as estReponse500, a as estError } from "./gardes.js";
@ -14,7 +14,7 @@ import { p as pipe } from "./pipe.XPB0wEfw.js";
import { l } from "./index-0eef19ec.DoJSf22Z.js"; import { l } from "./index-0eef19ec.DoJSf22Z.js";
import { M as Maybe } from "./Either.wHNxn7Os.js"; import { M as Maybe } from "./Either.wHNxn7Os.js";
import "./exports.B84S-6H1.js"; import "./exports.B84S-6H1.js";
import "./index.DxUTT09Y.js"; import "./index.BAmxwLeJ.js";
import "./messages3.js"; import "./messages3.js";
import "./erreurs3.js"; import "./erreurs3.js";
import "./messages2.js"; import "./messages2.js";

View file

@ -1,4 +1,4 @@
import { p as parse } from "./index.DxUTT09Y.js"; import { p as parse } from "./index.BAmxwLeJ.js";
import { E as Either } from "./Either.wHNxn7Os.js"; import { E as Either } from "./Either.wHNxn7Os.js";
const eitherParse = (valeur, schema) => Either.encase(() => parse(schema, valeur)); const eitherParse = (valeur, schema) => Either.encase(() => parse(schema, valeur));
export { export {

View file

@ -5,6 +5,7 @@
declare(strict_types=1); declare(strict_types=1);
use Illuminate\Support\Number;
use Timber\Timber; use Timber\Timber;
use function Crell\fp\pipe; use function Crell\fp\pipe;
@ -15,16 +16,87 @@ require_once __DIR__ . "/src/inc/TraitementInformations.php";
$contexte = Timber::context(); $contexte = Timber::context();
$modeles = ["panier.twig"]; $modeles = ["panier.twig"];
$pays_acceptes = [
"AD",
"AL",
"AM",
"AR",
"AT",
"AU",
"BA",
"BE",
"BG",
"BR",
"CA",
"CH",
"CL",
"CR",
"CU",
"CY",
"CZ",
"DE",
"DK",
"DZ",
"EE",
"EG",
"ES",
"FI",
"FR",
"GF",
"GP",
"GR",
"HR",
"HU",
"IE",
"IS",
"IT",
"JP",
"KR",
"LB",
"LI",
"LT",
"LU",
"LV",
"MA",
"MD",
"ME",
"MF",
"MQ",
"MT",
"MX",
"NC",
"NL",
"NO",
"NZ",
"PF",
"PL",
"PM",
"PS",
"PT",
"RE",
"RO",
"SE",
"SI",
"SK",
"SM",
"TN",
"TR",
"TW",
"US",
"YT",
"ZA",
];
// Récupère les informations affichés des Produits du Panier // Récupère les informations affichés des Produits du Panier
$panier = []; $panier = [];
/** @var int $sous_total_panier Le sous-total de la Commande dans le Panier. */ /** @var float $sous_total_panier Le sous-total de la Commande dans le Panier. */
$sous_total_panier = pipe(WC()->cart->get_subtotal(), fn($sous_total) => intval($sous_total)); $sous_total_panier = WC()->cart->get_subtotal();
/** @var string|null $code_promo Le code promo appliqué au Panier s'il existe. */ /** @var string|null $code_promo Le code promo appliqué au Panier s'il existe. */
$code_promo = collect(WC()->cart->get_applied_coupons())->first(); $code_promo = collect(WC()->cart->get_applied_coupons())->first();
/** @var int $sous_total_reduction Le total du montant de la Réduction appliquée au Panier */ /** @var int $sous_total_reduction Le total du montant de la Réduction appliquée au Panier */
$sous_total_reduction = WC()->cart->get_totals()["discount_total"]; $sous_total_reduction = Number::format(WC()->cart->get_totals()["discount_total"], precision: 2);
/** @var int $total_panier Le total de la Commande dans le Panier. */ /** @var float $total_panier Le total de la Commande dans le Panier. */
$total_panier = pipe(WC()->cart->get_total(""), fn($total) => intval($total)); $total_panier = Number::format(floatval(WC()->cart->get_totals()["total"]), precision: 2);
foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) { foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) {
$panier[$cle_panier] = [ $panier[$cle_panier] = [
@ -43,17 +115,17 @@ foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) {
]; ];
} }
// echo "<br><br><br><pre>";
// print_r($code_promo);
// echo "<br>";
// print_r(WC()->cart->get_applied_coupons());
// print_r(WC()->cart->get_coupon_discount_totals());
// echo "</pre>";
// Récupère les Adresses de l'Utilisateur // Récupère les Adresses de l'Utilisateur
$email = WC()->customer->get_billing_email(); $email = WC()->customer->get_billing_email();
$adresse_livraison = WC()->customer->get_shipping(); $adresse_livraison = WC()->customer->get_shipping();
$adresse_facturation = WC()->customer->get_billing(); $adresse_facturation = WC()->customer->get_billing();
$pays_livraison = collect(WC()->countries->get_countries())->only($pays_acceptes)->toArray();
$total_livraison = Number::format(floatval(WC()->cart->get_totals()["shipping_total"]), precision: 0);
echo "<pre>";
// print_r(WC()->countries->get_countries());
// print_r($adresse_livraison);
echo "</pre>";
$contexte["email"] = $email; $contexte["email"] = $email;
$contexte["adresse_livraison"] = $adresse_livraison; $contexte["adresse_livraison"] = $adresse_livraison;
@ -63,14 +135,12 @@ $contexte["code_promo"] = $code_promo;
$contexte["sous_total_reduction"] = $sous_total_reduction; $contexte["sous_total_reduction"] = $sous_total_reduction;
$contexte["total_panier"] = $total_panier; $contexte["total_panier"] = $total_panier;
$contexte["produits_panier"] = $panier; $contexte["produits_panier"] = $panier;
$contexte["pays_livraison"] = $pays_livraison;
// Récupère les Pays pris en charge par WooCommerce $contexte["sous_total_livraison"] = $total_livraison;
// $countries_obj = new WC_Shipping_Zones(); $contexte["methode_livraison"] =
// $chosen_shipping_methods = WC()->session; collect(WC()->session->get("shipping_for_package_0")["rates"])
// echo "<pre>"; ->first()
// print_r($countries_obj); ?->get_label() ?? "";
// print_r($chosen_shipping_methods);
// echo "</pre>";
// Charge les scripts et styles de la page // Charge les scripts et styles de la page
function charge_scripts_styles_page_panier(): void { function charge_scripts_styles_page_panier(): void {

View file

@ -167,7 +167,7 @@ class StarterSite extends Site {
return $options; return $options;
} }
public function charge_traductions_theme(): void { // public function charge_traductions_theme(): void {
load_theme_textdomain("haiku-atelier-2024", get_template_directory() . "/languages"); // load_theme_textdomain("haiku-atelier-2024", get_template_directory() . "/languages");
} // }
} }

View file

@ -16,9 +16,13 @@
position: absolute; position: absolute;
z-index: 5; z-index: 5;
bottom: calc(var(--position-y-fleches) / 2 - var(--espace-l) / 2); bottom: calc(var(--position-y-fleches) / 2 - var(--espace-l) / 2);
width: 3rem; display: flex;
height: 3rem; place-content: center;
padding: var(--espace-s); place-items: center;
min-width: 2rem;
max-width: 2rem;
min-height: 2rem;
max-height: 2rem;
visibility: hidden; visibility: hidden;
opacity: 0; opacity: 0;
border-radius: 100%; border-radius: 100%;
@ -27,25 +31,30 @@
transition: 0.2s opacity, 0.2s visibility; transition: 0.2s opacity, 0.2s visibility;
&:first-of-type { &:first-of-type {
left: var(--espace-l); left: var(--espace-s);
} }
&:last-of-type { &:last-of-type {
right: var(--espace-l); right: var(--espace-s);
}
svg {
min-width: 1.5rem;
min-height: 1.5rem;
} }
} }
&[data-images-presentes-debut] { &[data-images-presentes-debut] {
.fleches-defilement__bouton:first-of-type { .fleches-defilement__bouton:first-of-type {
cursor: pointer; cursor: pointer;
opacity: 1; opacity: 0.7;
} }
} }
&[data-images-presentes-fin] { &[data-images-presentes-fin] {
.fleches-defilement__bouton:last-of-type { .fleches-defilement__bouton:last-of-type {
cursor: pointer; cursor: pointer;
opacity: 1; opacity: 0.7;
} }
} }

View file

@ -35,7 +35,6 @@
display: flex; display: flex;
flex-flow: column nowrap; flex-flow: column nowrap;
row-gap: var(--espace-xl); row-gap: var(--espace-xl);
padding: var(--espace-m);
a { a {
position: relative; position: relative;
@ -106,6 +105,7 @@
display: flex; display: flex;
flex-flow: row nowrap; flex-flow: row nowrap;
justify-content: space-between; justify-content: space-between;
padding: var(--espace-m);
margin-bottom: var(--espace-xl); margin-bottom: var(--espace-xl);
h3 { h3 {

View file

@ -89,6 +89,10 @@
} }
} }
} }
.panneau__formulaires__message {
margin: var(--espace-l) 0;
}
} }
.formulaire { .formulaire {
@ -119,8 +123,6 @@
place-items: center; place-items: center;
justify-content: space-between; justify-content: space-between;
// width: min(25rem, 100%);
+ .formulaire__champs__champ { + .formulaire__champs__champ {
margin-top: var(--espace-l); margin-top: var(--espace-l);
} }
@ -137,7 +139,7 @@
} }
} }
input { input, select {
width: 15rem; width: 15rem;
} }
} }

View file

@ -57,6 +57,7 @@ export const SELECTEUR_ENSEMBLE_CODE_PROMO = "#panneau-panier #ensemble-code-pro
export const SELECTEUR_CHAMP_CODE_PROMO = "#panneau-panier #champ-code-promo"; export const SELECTEUR_CHAMP_CODE_PROMO = "#panneau-panier #champ-code-promo";
export const SELECTEUR_BOUTON_CODE_PROMO = "#panneau-panier #bouton-code-promo"; export const SELECTEUR_BOUTON_CODE_PROMO = "#panneau-panier #bouton-code-promo";
export const SELECTEUR_MESSAGE_CODE_PROMO = "#panneau-panier .panneau__instructions-code-promo__code-promo__message"; export const SELECTEUR_MESSAGE_CODE_PROMO = "#panneau-panier .panneau__instructions-code-promo__code-promo__message";
export const SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES = "#panneau-informations-client #message-formulaire-adresses";
// Accueil // Accueil
export const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling"; export const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling";

View file

@ -0,0 +1,4 @@
/** Constantes des Messages affichés aux Utilisateurs. */
export const ERREUR_GENERIQUE_SOUMISSION_ADRESSES =
"Something went wrong while submitting the addresses. Please refresh your page and try again?";

View file

@ -1,4 +1,16 @@
import { N } from "@mobily/ts-belt"; import { N, pipe } from "@mobily/ts-belt";
export const estEntreDeuxNombres = (nombre: number, min: number, max: number): boolean => export const estEntreDeuxNombres = (nombre: number, min: number, max: number): boolean =>
N.gte(nombre, min) && N.lt(nombre, max); N.gte(nombre, min) && N.lt(nombre, max);
export const diviseParCent = (n: number | string): number => Number(n) / 100;
export const arrondisAZeroOuDeuxDecimales = (n: number | string): string =>
(Number(n) / Math.round(Number(n))) === 1 ? Number(n).toFixed(0) : Number(n).toFixed(2);
export const inverseNombre = (n: number | string): number => Number(n) * -1;
export const formateEnEuros = (n: number | string): string => `${String(n)}`;
export const diviseParCentEtArrondis = (nombre: number | string): string =>
pipe(Number(nombre), diviseParCent, arrondisAZeroOuDeuxDecimales);

View file

@ -4,29 +4,31 @@
import { pipe } from "@mobily/ts-belt"; import { pipe } from "@mobily/ts-belt";
import { tap } from "@mobily/ts-belt/Function"; import { tap } from "@mobily/ts-belt/Function";
import { Either, EitherAsync } from "purify-ts"; import { EitherAsync } from "purify-ts";
import { match, P } from "ts-pattern"; import { match, P } from "ts-pattern";
import { parse, type ValiError } from "valibot"; import { ValiError } from "valibot";
import type { APIFetchErrors } from "./lib/types/api/erreurs"; import type { APIFetchErrors } from "./lib/types/api/erreurs";
import type { WCProductsArgs } from "./lib/types/api/products";
import type { WCV3Products, WCV3ProductsArgs } from "./lib/types/api/v3/products.ts"; import type { WCV3Products, WCV3ProductsArgs } from "./lib/types/api/v3/products.ts";
import type { ReponseSimplifiee } from "./lib/types/reseau";
import { ROUTE_API_NOUVELLE_PRODUCTS } from "./constantes/api.ts"; import { ROUTE_API_NOUVELLE_PRODUCTS } from "./constantes/api.ts";
import { import {
ATTRIBUT_CHARGEMENT,
ATTRIBUT_DESACTIVE,
ATTRIBUT_HIDDEN, ATTRIBUT_HIDDEN,
ATTRIBUT_ID_CATEGORIE_PRODUITS, ATTRIBUT_ID_CATEGORIE_PRODUITS,
ATTRIBUT_PAGE, ATTRIBUT_PAGE,
SELECTEUR_BOUTON_PLUS_PRODUITS, SELECTEUR_BOUTON_PLUS_PRODUITS,
SELECTEUR_GRILLE_PRODUITS, SELECTEUR_GRILLE_PRODUITS,
} from "./constantes/dom.ts"; } from "./constantes/dom.ts";
import { lanceAnimationCycleTexte } from "./lib/animations.ts";
import { html } from "./lib/dom.ts"; import { html } from "./lib/dom.ts";
import { leveServerError } from "./lib/erreurs.ts"; import { BadRequestError, ServerError } from "./lib/erreurs.ts";
import { estReponse500 } from "./lib/gardes.ts"; import { getBackendAvecParametresUrl } from "./lib/reseau.ts";
import { getBackendAvecParametresUrl, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts"; import { WCV3ProductsArgsSchema, WCV3ProductsSchema } from "./lib/schemas/api/v3/products.ts";
import { WCV3ProductsSchema } from "./lib/schemas/api/v3/products.ts"; import { recupereElementDansDocumentOuLeve } from "./lib/utils.ts";
import { WCV3ProductsArgsSchema } from "./lib/schemas/api/v3/products.ts"; import { eitherParse } from "./lib/validation.ts";
import { recupereElementDansDocumentOuLeve, recupereElementDocumentEither } from "./lib/utils.ts";
/** États utiles pour les scripts de la page. */ /** États utiles pour les scripts de la page. */
type EtatsPage = { type EtatsPage = {
@ -40,117 +42,137 @@ type EtatsPage = {
const ETATS_PAGE: EtatsPage = _etats; const ETATS_PAGE: EtatsPage = _etats;
// Éléments d'intérêt // Éléments d'intérêt
const GRILLE_PRODUITS: HTMLDivElement = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS); const E = {
const BOUTON_PLUS_DE_PRODUITS: Either<SyntaxError, HTMLButtonElement> = recupereElementDocumentEither( BOUTON_PLUS_DE_PRODUITS: recupereElementDansDocumentOuLeve<HTMLButtonElement>(SELECTEUR_BOUTON_PLUS_PRODUITS),
SELECTEUR_BOUTON_PLUS_PRODUITS, GRILLE_PRODUITS: recupereElementDansDocumentOuLeve<HTMLDivElement>(SELECTEUR_GRILLE_PRODUITS),
); };
/** /**
* TODO * TODO
*/ */
const initialisePageBoutique = (): void => { const initialisePageBoutique = (): void => {
const idCategorieProduits: null | string = GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS); const idCategorieProduits: null | string = E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);
BOUTON_PLUS_DE_PRODUITS.ifRight(bouton => { E.BOUTON_PLUS_DE_PRODUITS.addEventListener("click", (): void => {
bouton.addEventListener("click", (): void => { const nouveauNumeroPage = Number(E.GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;
const nouvellePage = Number(GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1; const args: WCV3ProductsArgs = {
const args: WCV3ProductsArgs = { page: nouveauNumeroPage,
page: nouvellePage, per_page: 12,
per_page: 13, // Ajoute conditionnellement la Catégorie de Produits
// Ajoute conditionnellement la Catégorie de Produits ...(idCategorieProduits && { category: idCategorieProduits }),
...(idCategorieProduits && { category: idCategorieProduits }), };
};
type APIProductsErrors = type APIProductsErrors =
| APIFetchErrors | APIFetchErrors
| ValiError<typeof WCV3ProductsArgsSchema> | ValiError<typeof WCV3ProductsArgsSchema>
| ValiError<typeof WCV3ProductsSchema>; | ValiError<typeof WCV3ProductsSchema>;
// Réalise la requête et traite sa réponse void EitherAsync
Either .liftEither(eitherParse(args, WCV3ProductsArgsSchema))
// Valide les arguments de la requête .ifRight(() => {
.encase<ValiError<typeof WCV3ProductsArgsSchema>, WCV3ProductsArgs>(() => parse(WCV3ProductsArgsSchema, args)) // Désactive le Bouton pour empêcher des requêtes concurrentes
.map( E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_DESACTIVE, "");
async (args: WCProductsArgs) => { E.BOUTON_PLUS_DE_PRODUITS.setAttribute(ATTRIBUT_CHARGEMENT, "");
// Réalise la requête
await EitherAsync<APIProductsErrors, Response>(() =>
getBackendAvecParametresUrl({
authString: ETATS_PAGE.authString,
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_NOUVELLE_PRODUCTS,
searchParams: new URLSearchParams(args).toString(),
})
)
.map((reponse: Response) => {
// Traite le cas d'erreur 500
if (estReponse500(reponse)) leveServerError("500 Server Error");
// Retourne le corps de la Réponse
return reponse.json();
})
.map((corpsReponse: unknown) =>
// Traite tous les codes HTTPs possibles
traiteReponseBackendWCSelonCodesHTTP<WCV3Products, typeof WCV3ProductsSchema>(
corpsReponse,
WCV3ProductsSchema,
)
)
.ifRight((donnees: WCV3Products) => {
// Cache le bouton s'il y a moins de 12 Produits disponibles (que l'on est à la dernière page)
if (donnees.length < 12) {
bouton.toggleAttribute(ATTRIBUT_HIDDEN);
}
// Créé un DocumentFragment qui recevra tous les nouveaux Produits // Lance un cycle d'animation sur le texte de chargement
const fragment: DocumentFragment = document.createDocumentFragment(); const animation = lanceAnimationCycleTexte({
attribut: ATTRIBUT_CHARGEMENT,
element: E.BOUTON_PLUS_DE_PRODUITS,
etapes: [
"Loading",
"Loading.",
"Loading..",
"Loading...",
],
});
animation.callback();
animation.interval = setInterval(animation.callback, 500);
})
.chain((args: WCV3ProductsArgs) =>
EitherAsync<Error, Response>(() =>
getBackendAvecParametresUrl({
authString: ETATS_PAGE.authString,
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_NOUVELLE_PRODUCTS,
searchParams: new URLSearchParams(args).toString(),
})
)
)
.chain((reponse: Response) =>
EitherAsync<APIFetchErrors, unknown>(async ({ throwE }) => {
const reponseSimplifiee: ReponseSimplifiee = {
body: await reponse.json(),
status: reponse.status,
};
// Créé les Éléments <article> à insérer return match(reponseSimplifiee)
for (const produit of donnees.slice(0, 12)) { .with({ status: 500 }, () => throwE(new ServerError("500 Server Error")))
pipe( .with({ status: 400 }, () => throwE(new BadRequestError("400 Server Error")))
html` .with({ status: 200 }, () => reponseSimplifiee.body)
<article class="produit"> .run();
<figure> })
<a href="/product/${produit.slug}"> )
<picture class="produit__illustration produit__illustration__principale"> .chain((corpsReponse: unknown) => EitherAsync.liftEither(eitherParse(corpsReponse, WCV3ProductsSchema)))
${produit.image_repos ?? ""} .ifRight((donnees: WCV3Products) => {
</picture> // Cache le bouton s'il y a moins de 12 Produits disponibles (que l'on est à la dernière page)
if (donnees.length < 12) {
E.BOUTON_PLUS_DE_PRODUITS.toggleAttribute(ATTRIBUT_HIDDEN);
}
<picture class="produit__illustration produit__illustration__survol"> // Créé un DocumentFragment qui recevra tous les nouveaux Produits
${produit.image_survol ?? ""} const fragment: DocumentFragment = document.createDocumentFragment();
</picture>
</a>
<figcaption class="produit__textuel"> // Créé les Éléments <article> à insérer
<h3 class="produit__textuel__titre"> for (const produit of donnees.slice(0, 12)) {
<a href="${produit.permalink}">${produit.name}</a> pipe(
</h3> html`
<p class="produit__textuel__prix"> <article class="produit">
${produit.prix_maximal} <figure>
</p> <a href="/product/${produit.slug}">
</figcaption> <picture class="produit__illustration produit__illustration__principale">
</figure> ${produit.image_repos ?? ""}
</article> </picture>
`,
tap(article => {
fragment.appendChild(article);
}),
);
}
// Ajoute les nouveaux Produits dans le DOM <picture class="produit__illustration produit__illustration__survol">
GRILLE_PRODUITS.appendChild(fragment); ${produit.image_survol ?? ""}
GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouvellePage)); </picture>
}) </a>
.ifLeft(e => {
match(e) <figcaption class="produit__textuel">
// TODO: Créer une méthode pour rapporter les problèmes de validation <h3 class="produit__textuel__titre">
.with({ issues: P.select(), name: "ValiError" }, problemes => console.error("ValiError", problemes)) <a href="${produit.permalink}">${produit.name}</a>
.otherwise(e => console.error("Autre", e.name, e)); </h3>
}) <p class="produit__textuel__prix">
// Pas d'intérêt à récupérer le résultat ${produit.prix_maximal}
.void(); </p>
}, </figcaption>
); </figure>
}); </article>
`,
tap(article => fragment.appendChild(article)),
);
}
// Ajoute les nouveaux Produits dans le DOM
E.GRILLE_PRODUITS.appendChild(fragment);
E.GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouveauNumeroPage));
E.BOUTON_PLUS_DE_PRODUITS.textContent = "Show more";
})
.ifLeft((erreur: APIProductsErrors) => {
// Traite les Erreurs et affiche un Message à l'Utilisateur
match(erreur)
.with(P.instanceOf(ValiError), e => console.error("ValiError", e.issues))
.otherwise(e => console.error("Erreur", e));
E.BOUTON_PLUS_DE_PRODUITS.textContent = "Error, try again?";
})
.finally(() => {
// Désactive l'animation de chargement et rend le Bouton de nouveau cliquable
E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_CHARGEMENT);
E.BOUTON_PLUS_DE_PRODUITS.removeAttribute(ATTRIBUT_DESACTIVE);
})
.run();
}); });
}; };

View file

@ -1,6 +1,6 @@
import { pipe } from "@mobily/ts-belt"; import { pipe } from "@mobily/ts-belt";
import { EitherAsync, Maybe } from "purify-ts"; import { EitherAsync, Maybe } from "purify-ts";
import { match } from "ts-pattern"; import { match, P } from "ts-pattern";
import { ValiError } from "valibot"; import { ValiError } from "valibot";
import type { WCStoreCart, WCStoreShippingRateShippingRate } from "./lib/types/api/cart"; import type { WCStoreCart, WCStoreShippingRateShippingRate } from "./lib/types/api/cart";
@ -16,12 +16,14 @@ import {
SELECTEUR_ENTREES_PANIER, SELECTEUR_ENTREES_PANIER,
SELECTEUR_FORMULAIRE_PANIER, SELECTEUR_FORMULAIRE_PANIER,
SELECTEUR_INSTRUCTIONS_CLIENT, SELECTEUR_INSTRUCTIONS_CLIENT,
SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES,
SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT, SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT,
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE,
} from "./constantes/dom"; } from "./constantes/dom";
import { ERREUR_GENERIQUE_SOUMISSION_ADRESSES } from "./constantes/messages-utilisateur";
import { lanceAnimationCycleTexte } from "./lib/animations"; import { lanceAnimationCycleTexte } from "./lib/animations";
import { eitherJsonParse, eitherSessionStorageGet } from "./lib/dom"; import { eitherJsonParse, eitherSessionStorageGet } from "./lib/dom";
import { leveErreur, leveServerError, ServerError } from "./lib/erreurs"; import { BadRequestError, leveErreur, leveServerError, ServerError } from "./lib/erreurs";
import { estReponse500 } from "./lib/gardes"; import { estReponse500 } from "./lib/gardes";
import { postBackend } from "./lib/reseau"; import { postBackend } from "./lib/reseau";
import { WCStoreCartSchema } from "./lib/schemas/api/cart"; import { WCStoreCartSchema } from "./lib/schemas/api/cart";
@ -46,6 +48,9 @@ const ELEMENTS = {
ENTREES_PANIER_EITHER: recupereElementsDocumentEither<HTMLElement>(SELECTEUR_ENTREES_PANIER), ENTREES_PANIER_EITHER: recupereElementsDocumentEither<HTMLElement>(SELECTEUR_ENTREES_PANIER),
FORMULAIRE_PANIER: recupereElementDansDocumentOuLeve<HTMLFormElement>(SELECTEUR_FORMULAIRE_PANIER), FORMULAIRE_PANIER: recupereElementDansDocumentOuLeve<HTMLFormElement>(SELECTEUR_FORMULAIRE_PANIER),
INSTRUCTIONS_CLIENT: recupereElementDansDocumentOuLeve<HTMLTextAreaElement>(SELECTEUR_INSTRUCTIONS_CLIENT), INSTRUCTIONS_CLIENT: recupereElementDansDocumentOuLeve<HTMLTextAreaElement>(SELECTEUR_INSTRUCTIONS_CLIENT),
MESSAGE_FORMULAIRE_ADRESSES: recupereElementDansDocumentOuLeve<HTMLParagraphElement>(
SELECTEUR_MESSAGE_FORMULAIRE_ADRESSES,
),
TOTAL_LIVRAISON_COUT: recupereElementDansDocumentOuLeve<HTMLElement>(SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT), TOTAL_LIVRAISON_COUT: recupereElementDansDocumentOuLeve<HTMLElement>(SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT),
TOTAL_LIVRAISON_PRESTATAIRE: recupereElementDansDocumentOuLeve<HTMLSpanElement>( TOTAL_LIVRAISON_PRESTATAIRE: recupereElementDansDocumentOuLeve<HTMLSpanElement>(
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE,
@ -92,7 +97,7 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
address_2: "", address_2: "",
city: donneesFormulaire["facturation-ville"] ?? donneesFormulaire["livraison-ville"] ?? "", city: donneesFormulaire["facturation-ville"] ?? donneesFormulaire["livraison-ville"] ?? "",
company: "", company: "",
country: "FR", country: donneesFormulaire["facturation-pays"] ?? donneesFormulaire["livraison-pays"] ?? "",
email: donneesFormulaire["facturation-email"] ?? donneesFormulaire["livraison-email"] ?? "", email: donneesFormulaire["facturation-email"] ?? donneesFormulaire["livraison-email"] ?? "",
first_name: donneesFormulaire["facturation-prenom"] ?? donneesFormulaire["livraison-prenom"] ?? "", first_name: donneesFormulaire["facturation-prenom"] ?? donneesFormulaire["livraison-prenom"] ?? "",
last_name: donneesFormulaire["facturation-nom"] ?? donneesFormulaire["livraison-nom"] ?? "", last_name: donneesFormulaire["facturation-nom"] ?? donneesFormulaire["livraison-nom"] ?? "",
@ -105,7 +110,7 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
address_2: "", address_2: "",
city: donneesFormulaire["livraison-ville"] ?? "", city: donneesFormulaire["livraison-ville"] ?? "",
company: "", company: "",
country: "FR", country: donneesFormulaire["livraison-pays"] ?? "",
first_name: donneesFormulaire["livraison-prenom"] ?? "", first_name: donneesFormulaire["livraison-prenom"] ?? "",
last_name: donneesFormulaire["livraison-nom"] ?? "", last_name: donneesFormulaire["livraison-nom"] ?? "",
phone: donneesFormulaire["livraison-telephone"] ?? "", phone: donneesFormulaire["livraison-telephone"] ?? "",
@ -135,6 +140,7 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
return match(reponseSimplifiee) return match(reponseSimplifiee)
.with({ status: 500 }, () => throwE(new ServerError("500 Server Error"))) .with({ status: 500 }, () => throwE(new ServerError("500 Server Error")))
.with({ status: 400 }, () => throwE(new BadRequestError("400 Bad Request Error")))
.with({ status: 200 }, () => reponseSimplifiee.body) .with({ status: 200 }, () => reponseSimplifiee.body)
.run(); .run();
}) })
@ -146,7 +152,7 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
const sousTotalLivraison = panier.totals.total_shipping === "0" const sousTotalLivraison = panier.totals.total_shipping === "0"
? "Free" ? "Free"
: `${String(panier.totals.total_shipping)}`; : `${String(Number(panier.totals.total_shipping) / 100)}`;
const prestataireLivraison = panier.shipping_rates[0]?.shipping_rates[0]?.name ?? ""; const prestataireLivraison = panier.shipping_rates[0]?.shipping_rates[0]?.name ?? "";
// Met à jour les informations de Livraison affichés à l'Utilisateur // Met à jour les informations de Livraison affichés à l'Utilisateur
@ -164,7 +170,23 @@ export const initialiseBoutonSoumissionAdresses = (): void => {
// Active le Bouton pour la création de la Commande // Active le Bouton pour la création de la Commande
initialiseBoutonCreationCommande(); initialiseBoutonCreationCommande();
}) })
.ifLeft(erreur => match(erreur).with) .ifLeft((
erreur:
| ServerError
| ValiError<typeof WCStoreCartSchema>
| ValiError<typeof WCStoreCartUpdateCustomerArgsSchema>,
) =>
match(erreur)
.with(P.instanceOf(ValiError), e => {
console.error(e.issues);
ELEMENTS.MESSAGE_FORMULAIRE_ADRESSES.textContent = ERREUR_GENERIQUE_SOUMISSION_ADRESSES;
})
.with(P.instanceOf(ServerError), e => {
console.error(e);
ELEMENTS.MESSAGE_FORMULAIRE_ADRESSES.textContent = ERREUR_GENERIQUE_SOUMISSION_ADRESSES;
})
.exhaustive()
)
.finally(() => { .finally(() => {
// Désactive l'animation de chargement et rend le Bouton de nouveau cliquable // Désactive l'animation de chargement et rend le Bouton de nouveau cliquable
ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_CHARGEMENT); ELEMENTS.BOUTON_ACTIONS_FORMULAIRE.removeAttribute(ATTRIBUT_CHARGEMENT);

View file

@ -1,6 +1,6 @@
import { D, F, pipe } from "@mobily/ts-belt"; import { D, F, pipe } from "@mobily/ts-belt";
import { Either, Maybe } from "purify-ts"; import { Either, Maybe } from "purify-ts";
import { parse, ValiError } from "valibot"; import { parse, type ValiError } from "valibot";
import type { MessageMajContenuPanierSchema } from "./lib/schemas/messages.ts"; import type { MessageMajContenuPanierSchema } from "./lib/schemas/messages.ts";
import type { WCStoreCart, WCStoreCartItem } from "./lib/types/api/cart"; import type { WCStoreCart, WCStoreCartItem } from "./lib/types/api/cart";
@ -37,6 +37,7 @@ import {
valideMessageMajBoutonPanier, valideMessageMajBoutonPanier,
valideMessageMajContenuPanier, valideMessageMajContenuPanier,
} from "./lib/messages.ts"; } from "./lib/messages.ts";
import { arrondisAZeroOuDeuxDecimales, diviseParCent, formateEnEuros, inverseNombre } from "./lib/nombres.ts";
import { postBackend, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts"; import { postBackend, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts";
import { WCStoreCartRemoveItemArgsSchema } from "./lib/schemas/api/cart-remove-item.ts"; import { WCStoreCartRemoveItemArgsSchema } from "./lib/schemas/api/cart-remove-item.ts";
import { WCStoreCartUpdateItemArgsSchema } from "./lib/schemas/api/cart-update-item.ts"; import { WCStoreCartUpdateItemArgsSchema } from "./lib/schemas/api/cart-update-item.ts";
@ -102,7 +103,7 @@ const desactiveBoutonsEntreesPanier = (entrees: Array<HTMLElement>): void =>
elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, ""); elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, "");
elements.boutonAddition.setAttribute(ATTRIBUT_DESACTIVE, ""); elements.boutonAddition.setAttribute(ATTRIBUT_DESACTIVE, "");
elements.boutonSuppression.setAttribute(ATTRIBUT_DESACTIVE, ""); elements.boutonSuppression.setAttribute(ATTRIBUT_DESACTIVE, "");
elements.boutonSuppression.textContent = "C= C= C= C= C=┌(;・ω・)┘"; elements.boutonSuppression.textContent = "Loading...";
}); });
const majEtatsActivationBoutons = (entrees: Array<HTMLElement>): void => const majEtatsActivationBoutons = (entrees: Array<HTMLElement>): void =>
@ -181,9 +182,9 @@ const initialiseMajEntreesPanier = (): void => {
// Émet un Message avec le nouveau contenu du Panier // Émet un Message avec le nouveau contenu du Panier
emetMessageMajContenuPanier({ emetMessageMajContenuPanier({
produits: panier.items, produits: panier.items,
sousTotalProduits: Number(panier.totals.total_items) / 100, sousTotalProduits: diviseParCent(panier.totals.total_items),
sousTotalReduction: Number(panier.totals.total_discount) / 100, sousTotalReduction: diviseParCent(panier.totals.total_discount),
totalPanier: Number(panier.totals.total_price) / 100, totalPanier: diviseParCent(panier.totals.total_price),
}); });
// Retire l'entrée du Panier du DOM // Retire l'entrée du Panier du DOM
entree.remove(); entree.remove();
@ -241,9 +242,9 @@ const initialiseMajEntreesPanier = (): void => {
// Émet un Message avec le nouveau contenu du Panier // Émet un Message avec le nouveau contenu du Panier
emetMessageMajContenuPanier({ emetMessageMajContenuPanier({
produits: panier.items, produits: panier.items,
sousTotalProduits: Number(panier.totals.total_items) / 100, sousTotalProduits: diviseParCent(panier.totals.total_items),
sousTotalReduction: Number(panier.totals.total_discount) / 100, sousTotalReduction: diviseParCent(panier.totals.total_discount),
totalPanier: Number(panier.totals.total_price) / 100, totalPanier: diviseParCent(panier.totals.total_price),
}); });
}), }),
); );
@ -298,9 +299,9 @@ const initialiseMajEntreesPanier = (): void => {
// Émet un Message avec le nouveau contenu du Panier // Émet un Message avec le nouveau contenu du Panier
emetMessageMajContenuPanier({ emetMessageMajContenuPanier({
produits: panier.items, produits: panier.items,
sousTotalProduits: Number(panier.totals.total_items) / 100, sousTotalProduits: diviseParCent(panier.totals.total_items),
sousTotalReduction: Number(panier.totals.total_discount) / 100, sousTotalReduction: diviseParCent(panier.totals.total_discount),
totalPanier: Number(panier.totals.total_price) / 100, totalPanier: diviseParCent(panier.totals.total_price),
}); });
}), }),
); );
@ -356,7 +357,7 @@ const initialiseMajContenuPanier = (): void => {
// Met à jour les valeurs // Met à jour les valeurs
entree.setAttribute("data-quantite", String(ligne.quantity)); entree.setAttribute("data-quantite", String(ligne.quantity));
prixLigne.textContent = `${String(Number(ligne.totals.line_subtotal) / 100)}`; prixLigne.textContent = pipe(diviseParCent(ligne.totals.line_subtotal), formateEnEuros);
champQuantite.setAttribute("value", String(ligne.quantity)); champQuantite.setAttribute("value", String(ligne.quantity));
// Réactive les Boutons // Réactive les Boutons
@ -364,9 +365,13 @@ const initialiseMajContenuPanier = (): void => {
}); });
// Met à jour les totaux du Panier // Met à jour les totaux du Panier
SOUS_TOTAL_REDUCTION.textContent = `-${String(donnees.sousTotalReduction)}`; SOUS_TOTAL_PRODUITS.textContent = formateEnEuros(donnees.sousTotalProduits);
SOUS_TOTAL_PRODUITS.textContent = `${String(donnees.sousTotalProduits)}`; SOUS_TOTAL_REDUCTION.textContent = pipe(
TOTAL_PANIER.textContent = `${String(donnees.totalPanier)}`; inverseNombre(donnees.sousTotalReduction),
arrondisAZeroOuDeuxDecimales,
formateEnEuros,
);
TOTAL_PANIER.textContent = pipe(arrondisAZeroOuDeuxDecimales(donnees.totalPanier), formateEnEuros);
}); });
}); });
}) })

View file

@ -18,16 +18,15 @@
<main id="page-boutique"> <main id="page-boutique">
{% include "parts/pages/shop/grille-produits.twig" %} {% include "parts/pages/shop/grille-produits.twig" %}
{% if produits|length == 12 %} <div class="actions">
<div class="actions"> <button
<button {{produits|length == 12 ? "" : "hidden"}}
class="bouton-case-pleine bouton-blanc-sur-noir" class="bouton-case-pleine bouton-blanc-sur-noir"
id="bouton-plus-de-produits" id="bouton-plus-de-produits"
type="button" type="button"
> >
Show more products Show more products
</button> </button>
</div> </div>
{% endif %}
</main> </main>
{% endblock contenu %} {% endblock contenu %}

View file

@ -80,7 +80,10 @@
</nav> </nav>
{# Bouton « Panier » avec l'indicateur de quantité de Produits #} {# Bouton « Panier » avec l'indicateur de quantité de Produits #}
<section class="compte-panier" hidden> <section
class="compte-panier"
hidden
>
<a <a
class="lien-bouton" class="lien-bouton"
data-contient-articles="{{ articles_presents }}" data-contient-articles="{{ articles_presents }}"

View file

@ -14,6 +14,8 @@
name="viewport" name="viewport"
content="width=device-width, initial-scale=1" content="width=device-width, initial-scale=1"
/> />
{# Pinterest #}
<meta name="p:domain_verify" content="98fed4c924501d2f2a90c5b37e165085"/>
<link <link
rel="apple-touch-icon" rel="apple-touch-icon"

View file

@ -87,7 +87,6 @@
<div class="formulaire__champs__champ"> <div class="formulaire__champs__champ">
<label for="livraison-code-postal">Postcode</label> <label for="livraison-code-postal">Postcode</label>
<input <input
autocomplete="postal-code"
id="livraison-code-postal" id="livraison-code-postal"
minlength="3" minlength="3"
name="livraison-code-postal" name="livraison-code-postal"
@ -127,7 +126,17 @@
<select <select
id="livraison-pays" id="livraison-pays"
name="livraison-pays" name="livraison-pays"
></select> required
>
{% for cle, pays in pays_livraison %}
<option
{{cle == adresse_livraison.country ? "selected" : ""}}
value="{{cle}}"
>
{{ pays }}
</option>
{% endfor %}
</select>
</div> </div>
<div class="formulaire__champs__champ"> <div class="formulaire__champs__champ">
@ -211,7 +220,6 @@
<div class="formulaire__champs__champ"> <div class="formulaire__champs__champ">
<label for="facturation-code-postal">Postcode</label> <label for="facturation-code-postal">Postcode</label>
<input <input
autocomplete="postal-code"
disabled disabled
id="facturation-code-postal" id="facturation-code-postal"
minlength="3" minlength="3"
@ -290,6 +298,15 @@
</div> </div>
</div> </div>
<div class="panneau__formulaires__message">
<p
class="message"
id="message-formulaire-adresses"
>
&nbsp;
</p>
</div>
{# Formulaire de paiement #} {# Formulaire de paiement #}
<div class="panneau__formulaires__paiement formulaire"> <div class="panneau__formulaires__paiement formulaire">
<h3 class="formulaire__titre">Payment:</h3> <h3 class="formulaire__titre">Payment:</h3>

View file

@ -134,11 +134,19 @@
id="sous-total-livraison" id="sous-total-livraison"
> >
<p>Shipping:</p> <p>Shipping:</p>
<p> {% if sous_total_livraison == 0 %}
<strong>Enter your delivery address</strong> <p>
<br /> <strong>Enter your delivery address</strong>
<span>&nbsp;</span> <br />
</p> <span>&nbsp;</span>
</p>
{% else %}
<p>
<strong>{{ sous_total_livraison }}€</strong>
<br />
<span>{{ methode_livraison }}</span>
</p>
{% endif %}
</div> </div>
<p class="panneau__sous-totaux__conditions-livraison"> <p class="panneau__sous-totaux__conditions-livraison">

View file

@ -3,15 +3,29 @@
class="fleches-defilement__bouton bouton-fleche" class="fleches-defilement__bouton bouton-fleche"
type="button" type="button"
> >
{#
<svg
height="2rem"
transform="scale(-1 1)"
viewBox="0 0 15 15"
width="2rem"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M8.293 2.293a1 1 0 0 1 1.414 0l4.5 4.5a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414-1.414L11 8.5H1.5a1 1 0 0 1 0-2H11L8.293 3.707a1 1 0 0 1 0-1.414"
fill="#fff"
/>
</svg>
#}
<svg <svg
height="2rem" height="1.5rem"
transform="scale(-1 1)" transform="scale(-1 1)"
viewBox="0 0 15 15" viewBox="94.634 56.652 88.879 79.521"
width="2rem" width="1.5rem"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M8.293 2.293a1 1 0 0 1 1.414 0l4.5 4.5a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414-1.414L11 8.5H1.5a1 1 0 0 1 0-2H11L8.293 3.707a1 1 0 0 1 0-1.414" d="m94.623 136.156 88.869-36.863-88.869-42.648s21.33 20.87 21.33 39.756c0 18.891-21.33 39.755-21.33 39.755"
fill="#fff" fill="#fff"
/> />
</svg> </svg>
@ -22,13 +36,13 @@
type="button" type="button"
> >
<svg <svg
height="2rem" height="1.5rem"
viewBox="0 0 15 15" viewBox="94.634 56.652 88.879 79.521"
width="2rem" width="1.5rem"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
> >
<path <path
d="M8.293 2.293a1 1 0 0 1 1.414 0l4.5 4.5a1 1 0 0 1 0 1.414l-4.5 4.5a1 1 0 0 1-1.414-1.414L11 8.5H1.5a1 1 0 0 1 0-2H11L8.293 3.707a1 1 0 0 1 0-1.414" d="m94.623 136.156 88.869-36.863-88.869-42.648s21.33 20.87 21.33 39.756c0 18.891-21.33 39.755-21.33 39.755"
fill="#fff" fill="#fff"
/> />
</svg> </svg>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 KiB

After

Width:  |  Height:  |  Size: 307 KiB

Before After
Before After

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 KiB

After

Width:  |  Height:  |  Size: 280 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Before After
Before After

Some files were not shown because too many files have changed in this diff Show more