2024-11-19

This commit is contained in:
gcch 2024-11-19 23:34:40 +01:00
commit 85c44279a3
80 changed files with 1478 additions and 1399 deletions

16
composer.lock generated
View file

@ -4762,12 +4762,12 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
"reference": "9f1d9b2460cdd0422e8cfd58763bf3156ad7f487"
"reference": "d521fa951b3fc37146a2fe9aef1b06c0af78fd3f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/9f1d9b2460cdd0422e8cfd58763bf3156ad7f487",
"reference": "9f1d9b2460cdd0422e8cfd58763bf3156ad7f487",
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/d521fa951b3fc37146a2fe9aef1b06c0af78fd3f",
"reference": "d521fa951b3fc37146a2fe9aef1b06c0af78fd3f",
"shasum": ""
},
"conflict": {
@ -4813,7 +4813,7 @@
"azuracast/azuracast": "<0.18.3",
"backdrop/backdrop": "<1.27.3|>=1.28,<1.28.2",
"backpack/crud": "<3.4.9",
"backpack/filemanager": "<3.0.9",
"backpack/filemanager": "<2.0.2|>=3,<3.0.9",
"bacula-web/bacula-web": "<8.0.0.0-RC2-dev",
"badaso/core": "<2.7",
"bagisto/bagisto": "<2.1",
@ -5145,7 +5145,7 @@
"mojo42/jirafeau": "<4.4",
"mongodb/mongodb": ">=1,<1.9.2",
"monolog/monolog": ">=1.8,<1.12",
"moodle/moodle": "<4.3.6|>=4.4,<4.4.4",
"moodle/moodle": "<4.3.8|>=4.4,<4.4.4",
"mos/cimage": "<0.7.19",
"movim/moxl": ">=0.8,<=0.10",
"movingbytes/social-network": "<=1.2.1",
@ -5233,7 +5233,7 @@
"phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5",
"phpoffice/common": "<0.2.9",
"phpoffice/phpexcel": "<1.8.1",
"phpoffice/phpspreadsheet": "<1.29.2|>=2,<2.1.1|>=2.2,<2.3",
"phpoffice/phpspreadsheet": "<1.29.4|>=2,<2.1.3|>=2.2,<2.3.2|>=3.3,<3.4",
"phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36",
"phpservermon/phpservermon": "<3.6",
"phpsysinfo/phpsysinfo": "<3.4.3",
@ -5343,7 +5343,7 @@
"slim/slim": "<2.6",
"slub/slub-events": "<3.0.3",
"smarty/smarty": "<4.5.3|>=5,<5.1.1",
"snipe/snipe-it": "<7.0.10",
"snipe/snipe-it": "<=7.0.13",
"socalnick/scn-social-auth": "<1.15.2",
"socialiteproviders/steam": "<1.1",
"spatie/browsershot": "<3.57.4",
@ -5596,7 +5596,7 @@
"type": "tidelift"
}
],
"time": "2024-11-13T19:05:18+00:00"
"time": "2024-11-19T00:20:23+00:00"
},
{
"name": "sebastian/diff",

View file

@ -11,7 +11,7 @@
"scripts": { "knip": "knip", "test": "echo \"Error: no test specified\" && exit 1" },
"dependencies": {
"@mobily/ts-belt": "4.0.0-rc.5",
"@sentry/browser": "8.38.0",
"@sentry/browser": "8.39.0",
"@swan-io/boxed": "^3.1.2",
"a11y-dialog": "^8.1.1",
"purify-ts": "^2.1.0",
@ -23,15 +23,15 @@
"@eslint/js": "^9.15.0",
"@prettier/plugin-php": "^0.22.2",
"@prettier/plugin-xml": "^3.4.1",
"@sentry/types": "8.38.0",
"@swc/cli": "0.5.0",
"@sentry/types": "8.39.0",
"@swc/cli": "0.5.1",
"@types/eslint__js": "^8.42.3",
"@types/node": "^22.9.0",
"better-typescript-lib": "^2.9.0",
"browserslist": "^4.24.2",
"eslint": "^9.15.0",
"eslint-plugin-oxlint": "^0.11.1",
"eslint-plugin-perfectionist": "^3.9.1",
"eslint-plugin-perfectionist": "^4.0.2",
"fdir": "^6.4.2",
"globals": "^15.12.0",
"knip": "^5.37.1",
@ -48,7 +48,7 @@
"stylelint-declaration-block-no-ignored-properties": "^2.8.0",
"stylelint-plugin-logical-css": "^1.2.1",
"typescript": "5.7.0-dev.20241105",
"typescript-eslint": "^8.14.0",
"typescript-eslint": "^8.15.0",
"vite": "^5.4.11",
"vite-plugin-manifest-sri": "^0.2.0",
"vite-plugin-node-polyfills": "^0.22.0",

1154
pnpm-lock.yaml generated

File diff suppressed because it is too large Load diff

View file

@ -4,45 +4,45 @@
"name": "Either",
"integrity": "sha512-iA88qYfaqIo+2/H0VzUP5VPULY8gMF4bgybyguKQQj/k1/LKHmurwKDvKCIPz3/kdz+2jUjG9/vlqu9+i6/klg=="
},
"_MaybeAsync.Ba-OfjWy.js": {
"file": "MaybeAsync.Ba-OfjWy.js",
"_MaybeAsync.AE1jnxuc.js": {
"file": "MaybeAsync.AE1jnxuc.js",
"name": "MaybeAsync",
"imports": [
"_Either.wHNxn7Os.js"
],
"integrity": "sha512-iLyoaxrZR9rsJL8d2tu48LymRiSdej5+2ZWqaIDBVWtM8n5PMvng5xVtXGPNJ5UZpEtZvAUOf7w+jNrY2LP10g=="
"integrity": "sha512-zBecrvIRiJOu6YYRpnc0k8S2hhntD+UpPtg3zhLd4KQSyWdXQTt6ubhfDTOhBtMYi/W1LLcZX89krSQqxkWfGA=="
},
"_belt_Option-91f3b350.BKMoZFhU.js": {
"file": "belt_Option-91f3b350.BKMoZFhU.js",
"_belt_Option-91f3b350.cBye8bLJ.js": {
"file": "belt_Option-91f3b350.cBye8bLJ.js",
"name": "belt_Option-91f3b350",
"imports": [
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts"
],
"integrity": "sha512-aQFt1IL5vfOZ0G3wLQlW0OxXxOVtECojJ1MLeZKU4ZUa5wEsjWZy8e+hxxA01tMRNvQ0sGvS9VeUkSqtIM5Cjg=="
"integrity": "sha512-9jLdf+ptxzABI2/IowOZjgnuQLIzj36EJ7+u1FMIXffUF+jtqNSBFfsTSpmVe1MaAivun9Bb3/fjur20hZhk8w=="
},
"_exports.DT-46nyp.js": {
"file": "exports.DT-46nyp.js",
"_exports.3IcOsN8u.js": {
"file": "exports.3IcOsN8u.js",
"name": "exports",
"integrity": "sha512-guj1IEABa9hA7TonTv4PlBhvqlwPQeE1vPyMmeRSOemTg5Mih4jIfeZOsFr+pVP0AYgP4dJO0+Vj3YCWwPVZZg=="
"integrity": "sha512-cypdx7oMHdSZiIga2ymXfkWqiMhM+7lluZ4vfwcWozGCOLB0tS7QuuClk9yHMEjJjiMZB9U3bdeV3Gg0x+YrbQ=="
},
"_index-0eef19ec.CFsloYN6.js": {
"file": "index-0eef19ec.CFsloYN6.js",
"_index-0eef19ec.DoJSf22Z.js": {
"file": "index-0eef19ec.DoJSf22Z.js",
"name": "index-0eef19ec",
"imports": [
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"_belt_Option-91f3b350.BKMoZFhU.js"
"_belt_Option-91f3b350.cBye8bLJ.js"
],
"integrity": "sha512-wORZ0WkOfNuzAUKhf7XA8LXG4geR64dUCIHwukqdLnUhkEFdeLpLtmDfuYMl5Aff09c7XjJxUQIVGwRb8uTbcA=="
"integrity": "sha512-BYIJDDOI3NTIytshd2k13/Wyep1oJ6pfwg9dCdZ18XVQrzO9uj99f5wF9bS0pjKa7OkbM2F27wF817UKn6thgg=="
},
"_index.CeK6pfoJ.js": {
"file": "index.CeK6pfoJ.js",
"name": "index",
"integrity": "sha512-cxTw0sKKut2H95JwMgiKgEVLyZ0QswK/HydKTapcqcs3w6xHIHNUpYBLdRzEYdeRfHKUsA0kvPNBXBk/QeazjQ=="
},
"_index.DeCaB8sW.js": {
"file": "index.DeCaB8sW.js",
"_index.DKC_Jv5v.js": {
"file": "index.DKC_Jv5v.js",
"name": "index",
"integrity": "sha512-VESVuActn/4kpl+gzqYgRTFoQLbW4WDZeuMjQEyixdpUaEK7n+ALNomAYHW9H2rNclHjlKCd8AIRi3Pnof+bpw=="
"integrity": "sha512-FnNBV2ecIkPlV7wsbCaK1Hc8B4+HEgZvdZrMBVdKa7JAnwDm6gH9PpuM7z/KfTM6Ee+bDTJeyJnZbRpjOfvlLA=="
},
"_pipe.XPB0wEfw.js": {
"file": "pipe.XPB0wEfw.js",
@ -54,7 +54,7 @@
"name": "api",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
"isEntry": true,
"integrity": "sha512-oDVrrWjz3SSnlBy/OeAAxg+LjpBmHDxBzGsUS1fqirjK1CP2l29BqQqM4rfdvE38iMsvu0WlEYve3uCmyB7PIA=="
"integrity": "sha512-DrDkVrVqdTqe7XX60O++FWFn1nm/X7naPDhDe61T2m57a2seCAi0NdNoaA7+76GLG5WL7fywLGIG9V9uOhoXyg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts": {
"file": "cart2.js",
@ -68,7 +68,7 @@
"name": "dom",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"isEntry": true,
"integrity": "sha512-sSwUifw859f7ljok6cQWFI9El3qerOTqmW3nVQbjXUjYhTYT6G+iIEAUwVjsAFJw+opvE93EHcIkfETrKNVhFg=="
"integrity": "sha512-xjjWPpOvFbqRaz8tTHQddCsAUitaALWYAqg54uc6zi1ZEMq3m4+DwuL6NtupZJj1yM52vGcALkzUaWIcmh2wqg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": {
"file": "messages3.js",
@ -78,18 +78,18 @@
"integrity": "sha512-M8me/iGRLfItVHaEf+BhA3xdEIxEwdyNuN+H87daJ1jl1oOENbROB7ub6RPP47NdFsQUChTRphEhQglT+qc6RA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts": {
"file": "orders2.js",
"file": "orders3.js",
"name": "orders",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts",
"isEntry": true,
"integrity": "sha512-wV9B3cW/1TnjBcesuc4a2M+28+67nsmX2++/Up1QUraP4Bdzbn9RiToohkone5Z+1mZNOjB/Hrd8x7Gc+jtVvg=="
"integrity": "sha512-dLV15du4JF6iPF2I93pExJpqAG13hXNCrRj8hF1dO47SFaa/7S74hT3puqnojjF5g1vStbjuGX+dLVklMIZuOw=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts": {
"file": "products2.js",
"name": "products",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts",
"isEntry": true,
"integrity": "sha512-kSyYMKtrlEELmR+Oi/SElrlhfn/mg/1QJkddMt+/w4jlrhYrUlApLvwAr1/ynpCBzj0g4CmBOYen5rTO53bJ1w=="
"integrity": "sha512-Hh8yxeOZedoSWNSUhV6BuO/YXUgZt2KaGQZgbZRedtz0jM90Yc7d2Ir6YJhnbZVRzedow6+uXlxutG9oHeGB0Q=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/gaffe.ts": {
"file": "gaffe.js",
@ -98,10 +98,10 @@
"isEntry": true,
"imports": [
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
"_exports.DT-46nyp.js",
"_exports.3IcOsN8u.js",
"_pipe.XPB0wEfw.js"
],
"integrity": "sha512-VOFE4Hcn84/zkx9+7f96xARQfIjFTjxj77+vPW+axDmgJdzTqzeepoUlWWlMvMhnXPzlZg8hECzJ9LPbbaMkdQ=="
"integrity": "sha512-mskLArAQPBWERMQR6U4/xLPd+NfjZ59hrptjz2G/7KUnC8cVe33bzBkQzUHZDNxy2/YlDFXTWO6NwQjgKKzgxQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts": {
"file": "dom2.js",
@ -110,11 +110,11 @@
"isEntry": true,
"imports": [
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_Either.wHNxn7Os.js",
"_pipe.XPB0wEfw.js",
"_exports.DT-46nyp.js"
"_Either.wHNxn7Os.js",
"_exports.3IcOsN8u.js"
],
"integrity": "sha512-q4nE3OSywq1d12PYGyULtsAdxT2OtFe5E0Ec81VSvKP0/+g1qbHqqu7FPYzCcxNXTGuLEsmtdZLPowfIESBzyg=="
"integrity": "sha512-RVlTwrCnvAW250x/R9UG3yxyQ0p+fnLIe3HUZN8rIGnWpg0yd3YGpVSClQGPohi2YNPppWS74J3zWlmdRP7qiw=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts": {
"file": "erreurs.js",
@ -122,9 +122,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"isEntry": true,
"imports": [
"_exports.DT-46nyp.js"
"_exports.3IcOsN8u.js"
],
"integrity": "sha512-ycCJdagUL+AOJ9CK7idsyochoV+fGvM1apEuijceXsjZ9RfROHMbweTcpZYs8OvQ8h/GVd6gP3F7ajOeNDLm6A=="
"integrity": "sha512-tiEWQ6pmEHs+n04C+vJHPXibpUZ+9ZA5iH4nQzN5jvgK6R058rm+q8dO8Lwem25Jh+cSo8np4/c76yVXI5zl/w=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts": {
"file": "gardes.js",
@ -140,10 +140,10 @@
"isEntry": true,
"imports": [
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts",
"_MaybeAsync.Ba-OfjWy.js",
"_MaybeAsync.AE1jnxuc.js",
"_Either.wHNxn7Os.js"
],
"integrity": "sha512-5w6tDnjHcmdQkNGKIfoCvHl92oc+ofbg4S0QY3PS5Fe7Opiwx2chB9+KWBBYBFek2mG3hekzTyznvrr7JZKYXA=="
"integrity": "sha512-4Z9hRY3XtEbYTEViQK/Rpzxlfvx5zXtLRQtXIDbqNg7gxXbkOgF3KZaYwZdOytvbMfGDgf9XVk75VakJOdFJOA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts": {
"file": "messages.js",
@ -151,18 +151,19 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"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/schemas/messages.ts",
"_Either.wHNxn7Os.js",
"_exports.DT-46nyp.js",
"_exports.3IcOsN8u.js",
"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/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/couts-livraison.ts"
],
"integrity": "sha512-mVB7iJ9eYAlGmsedqDBABBDBz7QBbEbJOira6EczLdLFjMoXRqOmBSvq/T2yTVPZE7Vm4bOy1MEseSxJRBt9Dw=="
"integrity": "sha512-94orRrPxJFN+qWNi1NyL15PG3iKx9mivWneHmduvAzPFzhJOl2UpJFX80rIGGOQKx76DvkrNs0r8Lz0S5E/lXA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts": {
"file": "nombres.js",
@ -178,14 +179,14 @@
"isEntry": true,
"imports": [
"_index.CeK6pfoJ.js",
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"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/schemas/api/erreurs.ts",
"_pipe.XPB0wEfw.js",
"_exports.DT-46nyp.js"
"_exports.3IcOsN8u.js"
],
"integrity": "sha512-l7cBiK3u4J6noRj/5bRjsdUywP+ITyBUK/UBJHSdEAXr0IkZDLy3gZjrWeO7gV81cZyfFQ+qtWBQzlsIlKsCzw=="
"integrity": "sha512-jamYkNXH2680XzDhjyTyaJhA5N6Qbgj9L5NPBpQ94nmQQKIWOnlhB5ECY3ulny2PX4fmgUVWZskYOgkx/DrbjA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts": {
"file": "adresses.js",
@ -193,9 +194,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js"
"_index.DKC_Jv5v.js"
],
"integrity": "sha512-MMxY7Qev3mDi/rNKwRhL+VvzA17YL7+/Ne2X/Gfr8UlhmDjnqN5WAeJmVFUQarUe5af7+XXYBS97jPTuhwxmwg=="
"integrity": "sha512-hp7nWc3CrWm2+zbU0mlAqbILcj5jeIp3bNBLiD1ZJCZkQYBttIyEA26+1m5s0smj4zPCYh7cnGoxqFd8/XeLRQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts": {
"file": "cart-add-item.js",
@ -203,9 +204,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js"
"_index.DKC_Jv5v.js"
],
"integrity": "sha512-jtLTsorapki2SSs3gEQ4o/ElG1ecJQXOM8C9M8ropdjFYjLhnNTsRjOQN3JSxc7Fdm/6mvn9M2lRRFdliJ85CQ=="
"integrity": "sha512-mbHXCUexMdgzCAGOEVUQaIPaMQiI04HXWCQEx9L541qkkLJVKQGD4TWVRuHmetCyNuOJ4B3etIEHv9M3jqveXA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts": {
"file": "cart-apply-coupon.js",
@ -213,16 +214,19 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js"
"_index.DKC_Jv5v.js"
],
"integrity": "sha512-BMCLu7o5txvpnrvMbaO+fCvx40S+B+1kFRa4zhJTip+tMfA8VGucuJVgSZOs1G7RFbKQKhk4Sxv0Djd5louYGA=="
"integrity": "sha512-qUrpZo097VcnjC5rGxl7boGS7m8evPkHAnsYn1jHKzKVGBRLu+W5bdjXAGzIdaB7TmUBC+xxbANZx79F/xL+wQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts": {
"file": "cart-coupons.js",
"name": "cart-coupons",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts",
"isEntry": true,
"integrity": "sha512-kamZpV4ivpmgTZOvxlrFF28P97K9C2tlKIuLt2yYIUj40qbTrS1JZNn1WTEF+jiFvIVDJTt1zKrKJOD2ptDBvg=="
"imports": [
"_index.DKC_Jv5v.js"
],
"integrity": "sha512-Xgd5HYn6SPOvNb1VVKEjVaSng7kwIQYrDQs288KrtXf4DTOVymIhvXl/o6diMCGsCuPVoh67cK9eFckdCbs/Dg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts": {
"file": "cart-remove-coupon.js",
@ -230,9 +234,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js"
"_index.DKC_Jv5v.js"
],
"integrity": "sha512-hRxsjUgQbfhkmW9NTopSXU+2JLiARm+iz6Ub09lTaqnvjPT28QUTrTRQ+g96SQlyvZl4Pxmr5qeevo4nRN1ZPw=="
"integrity": "sha512-i4ks7+X0CnmjMd2CRT5ytUC4LBvu4lEHKzJkTqdeYnAG7mlFkdjbrifNU/UqvO6ZLA293f2/pNvV8XrXDp7erw=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts": {
"file": "cart-remove-item.js",
@ -240,9 +244,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js"
"_index.DKC_Jv5v.js"
],
"integrity": "sha512-prpxKV2zTo++qCwxAXdHHnOR5PzaYKVZvZe0yYCGTlRaBHYHlnC1+5jfN9EKjsshwd+agH91mMOuVsM5q6Ptcw=="
"integrity": "sha512-97h5QCYr2tffzqwnv+45xT8RViFIYVdtHeT/xdarjjYS6lSF6F8mjwo0o9szKwb1wXry5vvvLfzEzWphl+649w=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts": {
"file": "cart-update-customer.js",
@ -250,10 +254,10 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
],
"integrity": "sha512-ioQUabvwDl6JWayPctjngWpjmb7BkIFnWcoAYVQjfeue1sfv8Aa7NXcTB8Bmmd2ZGm7nX2xur91I1DrYz0BnYQ=="
"integrity": "sha512-6YBAVIuC4+D6f2ro2U4nVUHk3hEIqs2+Z0MtGRzL3/1ZdM+oGqF5WyNYLU96qRAlSohmUzbhoONqpb+WVJVsbA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts": {
"file": "cart-update-item.js",
@ -261,9 +265,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js"
"_index.DKC_Jv5v.js"
],
"integrity": "sha512-DqeR6ekRzBk1cWAlhFx25NBxMsulAEstDkb87ZZ8sPIjLlgwe5TfqBYegXclTC9Wg9cLK1VR6DHoWrNDDrUHpw=="
"integrity": "sha512-gjO4tVbq4MQ3PJpSDl11Uw9wFXN2dq580DH9Br8fZCJvTT15Liw4bewqcXjOlFMQSeyh2o5DfJTEpeNNFUbWcQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts": {
"file": "cart.js",
@ -271,12 +275,13 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"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/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
],
"integrity": "sha512-quTwNVIvYDgwjiQDgZQUc8usQML19ABUBTtLtSPFVD11yrfTKCe3qgnvjH4sy/8URUN/JChYhgxKA+6tf2GQHw=="
"integrity": "sha512-Vij49uAaSPn0pnPskrurveRYMvbODXDXfGCeRaW8A0hUJNPtopBdhMslppSpom3UoEOg8iRh4Pr0FUmUB7oThQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts": {
"file": "couts-livraison.js",
@ -284,10 +289,10 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
],
"integrity": "sha512-zOIvFVeeme0okbWtPxAgYiJ9ApVZ3WqFRGm8pPeTivjgxwbVVb/f7bSbtvK3Wr1yUALE7wQXulTvFMpwO+vH1A=="
"integrity": "sha512-YuWaVfcugmGKrrcrxarYURiOQuOvqG+woBDw79SAa/DkvoV9j8s26xkuHV0lPCSWGmJ+lIhP0r9DeMxVqq6oeQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts": {
"file": "erreurs2.js",
@ -295,9 +300,9 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js"
"_index.DKC_Jv5v.js"
],
"integrity": "sha512-0aovUwOkfcV+G3x1owksl5ILTHx7ER0ka0Af2eL0ZB7rj0kyWkQXpUP5MlerrMKrOPDUBmIqjJbVg6sMGMFvsA=="
"integrity": "sha512-kx+Bf9zzHdCwB0vxBE+/KLElyW0soM0ki0d3lT/b40LweGGJD5OyEF1fdc54RqLEvXT2/XDksDRUGdwKdLudrQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts": {
"file": "products3.js",
@ -305,22 +310,22 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts"
],
"integrity": "sha512-Trpy89hQymfheaW8dgJR4VhW5JAi/KPRC1RqCxmJFZUToqNqA7W2GAAIpaGGywMwwlVqmXndfTN5U0fpOCM3Tg=="
"integrity": "sha512-frGqySW9ausejkcUyAeJZNecXA5vq9/XfvDiYe8ccJb96v2kZdCQaHCdGVbYJPb0wOF/JdVUsNfTTeSu7U8DcA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts": {
"file": "orders.js",
"file": "orders2.js",
"name": "orders",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts"
],
"integrity": "sha512-Kre4n1ECvEQb4rJ2CSvaCfYQDiMPwseQAltQuaQ7bIgXfnRGCRXWZ+H8xK7hKGenaZQnSp8kVwZ2lcyGzSC4dw=="
"integrity": "sha512-SqTZk6JurX847irpPtuz4+pFmu52sZ5PtytHR63XJ3foElbLgMdyorTU6P8jc0OELmL6qAsSNTpmWufkbJKqAA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts": {
"file": "products.js",
@ -328,10 +333,10 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts"
],
"integrity": "sha512-drUCjv7zIsJahz4nwVEcEEFS6McC4Jk/NVfabKHIajgdC6r/PpAhMT9Dv6udLFLODbu/hYSGxfnRAuyXSv4GJw=="
"integrity": "sha512-nDODvHALLqwSzO0AKoZzYVKPg4BGO8VBwJGEMyEgjNO2NBDHrGD85/ptRVgWEZdYHcAHu2mGw10KXkcb+0QEnQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts": {
"file": "messages2.js",
@ -339,21 +344,22 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"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/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/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
],
"integrity": "sha512-JKw9KmQsaKjXeXDkKkxPWyLGP7os2etoHcOeei88t3+XbDgGddzVbAVFallljGaDLMRYDRhl81aCwFohyRe8qA=="
"integrity": "sha512-Z1k+lR05ggnpPfMRz+rkIz/hgZaOSn4QEoMO0gn9PqfulMuAwc+Enbm+4tHey/kPnYVthqLVU9JD45T6WwFkgw=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts": {
"file": "orders3.js",
"file": "orders.js",
"name": "orders",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts",
"isEntry": true,
"integrity": "sha512-nqCjj7B9DjVJS7/4WgLDt58w1LMfLMxDfutD7vY99PNX9rjdiF1ckCffcMuxCGureeEu8qw9RCRKMavMDEX2bw=="
"integrity": "sha512-FxX8RZIDDZuWNSNyFz9fYxNVJyRtwOZfK0KQ6c3Vn98d/Ovd3m+OjmjXXiYnENzH86EpLIuHjxc/RiUIVsAvDQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/products.ts": {
"file": "products4.js",
@ -372,9 +378,9 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_pipe.XPB0wEfw.js",
"_Either.wHNxn7Os.js",
"_exports.DT-46nyp.js"
"_exports.3IcOsN8u.js"
],
"integrity": "sha512-F3Lt50ZQrOGB4auHPp9I2CNbXTxd8bjMyUaNHrYYw2Ujy8p+EW8VqHTj2aAperb/C+0VrKEIYn4u2QtZiY/PWw=="
"integrity": "sha512-x3y5f8DNLaNwFU4OIZWHmBHwTKsay8L54ocQdNS+YtIALQETdiLIU3DWBhcflJQagMHjs18d7GHMBAU91t6z+Q=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts": {
"file": "validation.js",
@ -382,10 +388,10 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts",
"isEntry": true,
"imports": [
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"_Either.wHNxn7Os.js"
],
"integrity": "sha512-+JFwOCgnzY60Mc2eSWHulo7Pmg1WdcghpZICm82dY6cCnu9MfszbqTvAis8mH7lk0Jq0+FdWNXYMNdmoHzA3fg=="
"integrity": "sha512-Dhmgzl/XrIuQ1eQdlXuLMdzZpBFlSVPMsGPJV24H4uetPrFJS5ifvqOCuL2vYT50sK8boIg2OSWzRSbDO2l/ZQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": {
"file": "scripts-bouton-panier.js",
@ -400,16 +406,17 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"_pipe.XPB0wEfw.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.DT-46nyp.js",
"_exports.3IcOsN8u.js",
"_Either.wHNxn7Os.js",
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"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/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/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
],
"integrity": "sha512-c2lPVLw4/BtVqdses0KHAGQL3WRcx6r78mek0FwrCD10x6Lrzg1VEt4c96Z/QX8gx0upzZt7XZwo+GfwQU/1sA=="
"integrity": "sha512-mHc6AtX1ym8HmptAgpbetiNRV1BLrBYZaz5ERTFv38/uFGTgaF6eR3I+51YLVSL84di4HeU/JmhYgUPmzIXRdg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-categories.ts": {
"file": "scripts-menu-categories.js",
@ -422,11 +429,11 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.DT-46nyp.js",
"_exports.3IcOsN8u.js",
"_pipe.XPB0wEfw.js",
"_Either.wHNxn7Os.js"
],
"integrity": "sha512-hcAmR1lM0Iu4YQT67krIiilSomqNJTYIMLWJpyOz7Kqm9yEFRuCE/CDo12l1cIbFz5vpxi6IaCEUjPBSkL7wbQ=="
"integrity": "sha512-j3ILSBME932tOctTi7Zh/O0nNcWVK6CZXnP0cDwVutrUSuIgQZUedocLvyZoqhqEZDE3bDylXvbOdmL97ovovw=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-mobile.ts": {
"file": "scripts-menu-mobile.js",
@ -438,11 +445,11 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.DT-46nyp.js",
"_Either.wHNxn7Os.js",
"_pipe.XPB0wEfw.js"
"_exports.3IcOsN8u.js",
"_pipe.XPB0wEfw.js",
"_Either.wHNxn7Os.js"
],
"integrity": "sha512-ur8F71PhcmJxjz5vOWwvpEDwgvtt3DIvUs70ZoHky1dc3366AxxW/eneNBhh2brWTxr+XB06JVVMDSVywZ0D8A=="
"integrity": "sha512-ug1m3ReK/rEWNlcqtQSpt4mUMSkEFt9vqH+TDliSml0CQNHdyFx5k5/+B9gwpBCu7aJi0WLxExOzO1JnnKhb3Q=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts": {
"file": "scripts-page-a-propos.js",
@ -454,12 +461,12 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"_pipe.XPB0wEfw.js",
"_belt_Option-91f3b350.BKMoZFhU.js",
"_belt_Option-91f3b350.cBye8bLJ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.DT-46nyp.js",
"_exports.3IcOsN8u.js",
"_Either.wHNxn7Os.js"
],
"integrity": "sha512-n5kzxn/FUDN7WZaghlqMv3n+7wgBbO5ntBQYGvtpO0f3maqwXSw16O5Kz0FPxQpif97Xgh8xdxL7SRWeUHkg8A=="
"integrity": "sha512-i8fpg/m7dfAfi1JtF5Dg+JqmW7Me3NkOtlhjVyQnatzYO+KAmbifg/6hLnJmPlKnNoDcpLzWWurmp+LUUayt5w=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts": {
"file": "scripts-page-accueil.js",
@ -472,11 +479,11 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.DT-46nyp.js",
"_Either.wHNxn7Os.js",
"_pipe.XPB0wEfw.js"
"_exports.3IcOsN8u.js",
"_pipe.XPB0wEfw.js",
"_Either.wHNxn7Os.js"
],
"integrity": "sha512-7LblNdCZyF4JvOcu4bu+66BL2bwPMDfTqkHlIVvEfyK5DBtuR0IgDCdyJ/bOa6t/gWODVzRCzDYWQPqc0RjJrg=="
"integrity": "sha512-h+g7IEbO5YmdMbcfG4JK+FISSSVIy0VQJRL8JQXY/kyy76KIYosJOMmWbi+Xf9wIFJmkQdS8/eUIbwmfztYqOA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-boutique.ts": {
"file": "scripts-page-boutique.js",
@ -485,7 +492,7 @@
"isEntry": true,
"imports": [
"_index.CeK6pfoJ.js",
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"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/lib/dom.ts",
@ -494,16 +501,16 @@
"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/utils.ts",
"_MaybeAsync.Ba-OfjWy.js",
"_MaybeAsync.AE1jnxuc.js",
"_pipe.XPB0wEfw.js",
"_index-0eef19ec.CFsloYN6.js",
"_index-0eef19ec.DoJSf22Z.js",
"_Either.wHNxn7Os.js",
"_exports.DT-46nyp.js",
"_exports.3IcOsN8u.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts",
"_belt_Option-91f3b350.BKMoZFhU.js"
"_belt_Option-91f3b350.cBye8bLJ.js"
],
"integrity": "sha512-UJ65bimSLn101pT4fvkq+ri0VXxmg9iZ/y66jq5XBmPLi2E788SZs/mtVaFVLKGCIyil64JSIH9J8dhFx0D1Ow=="
"integrity": "sha512-uNYyKGhjHeqYncjAyE+T/e7QBoQ/f9UvdSiQDykcwh166q7omicesrkD2sIlLz/N439aSMU26A09bm+GRe6elg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts": {
"file": "scripts-page-panier-code-promo.js",
@ -511,15 +518,30 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts",
"isEntry": true,
"imports": [
"_index.CeK6pfoJ.js",
"_index.DKC_Jv5v.js",
"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/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.DT-46nyp.js",
"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/schemas/api/cart.ts",
"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-remove-coupon.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",
"_pipe.XPB0wEfw.js",
"_Either.wHNxn7Os.js",
"_pipe.XPB0wEfw.js"
"_exports.3IcOsN8u.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.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/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
],
"integrity": "sha512-WgxyPzbqGfZbXTo1NrcaGULnyN53Ad2srjXoTRkx990EVtK5DcrPEP6BvA1YOc1p/vOfu8Ry8KpeTSl4blwXwg=="
"integrity": "sha512-22TkRIZOEsST92UYKs46BLpB7h9wrAHlaPGzlEtapPuHZRDzN5KDgh/iWTC9Wy16m/4MMTCJ42UNZD3cGIpgOg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": {
"file": "scripts-page-panier.js",
@ -528,7 +550,7 @@
"isEntry": true,
"imports": [
"_index.CeK6pfoJ.js",
"_index.DeCaB8sW.js",
"_index.DKC_Jv5v.js",
"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/messages.ts",
@ -537,8 +559,6 @@
"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/reseau.ts",
"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-remove-coupon.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-customer.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts",
@ -547,19 +567,23 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts",
"_pipe.XPB0wEfw.js",
"_index-0eef19ec.CFsloYN6.js",
"_MaybeAsync.Ba-OfjWy.js",
"_index-0eef19ec.DoJSf22Z.js",
"_Either.wHNxn7Os.js",
"_exports.DT-46nyp.js",
"_exports.3IcOsN8u.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/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/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.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",
"_belt_Option-91f3b350.BKMoZFhU.js"
"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-remove-coupon.ts",
"_MaybeAsync.AE1jnxuc.js",
"_belt_Option-91f3b350.cBye8bLJ.js"
],
"integrity": "sha512-JT02QHHnBgQjwcB2dwaM08tKsQO3HaQLSmy1hkB4xxKuC92rBv2jBd6Hj2SBMTjch4H0270NPMC98esVTcET+g=="
"integrity": "sha512-pjdI16uzECwZBDM0wQrEmMY5cAcToOu2qjDsct0nuz5TqNsP8VqtQ36TqPKJ7ADy+LKVyaajCqpUr4KaErg2Dg=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": {
"file": "scripts-page-produit.js",
@ -580,18 +604,19 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts",
"_pipe.XPB0wEfw.js",
"_index-0eef19ec.CFsloYN6.js",
"_index-0eef19ec.DoJSf22Z.js",
"_Either.wHNxn7Os.js",
"_exports.DT-46nyp.js",
"_index.DeCaB8sW.js",
"_exports.3IcOsN8u.js",
"_index.DKC_Jv5v.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/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/erreurs.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/cart-coupons.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
"_belt_Option-91f3b350.BKMoZFhU.js"
"_belt_Option-91f3b350.cBye8bLJ.js"
],
"integrity": "sha512-xezJYeBOyJhax3Kdcv6WJqp1RgZF7WG5wKf9XMjyTKsvUAlppMnhADz/xFhUEGJIAHIsvkKep4Z02GslZRN0oQ=="
"integrity": "sha512-AfazFsXwZx7Jw4OFVOqn67aMHb33rZaKnWzJWhXb065QNCmsGpBpTpXIN+MceSmx/b/6uKsieqH6PwFKyIk9jw=="
}
}

View file

@ -1,4 +1,4 @@
import { r as right, l as left, E as Either, n as nothing, j as just, M as Maybe } from "./Either.wHNxn7Os.js";
import { E as Either, r as right, l as left, M as Maybe, n as nothing, j as just } from "./Either.wHNxn7Os.js";
var _a$1;
const helpers$1 = {
liftEither(either) {
@ -311,4 +311,4 @@ MaybeAsyncImpl.prototype.constructor = MaybeAsync;
export {
EitherAsync as E
};
//# sourceMappingURL=MaybeAsync.Ba-OfjWy.js.map
//# sourceMappingURL=MaybeAsync.AE1jnxuc.js.map

View file

@ -1,4 +1,4 @@
import { o as object, s as string } from "./index.DeCaB8sW.js";
import { o as object, s as string } from "./index.DKC_Jv5v.js";
const WCStoreBillingAddressSchema = object({
address_1: string(),
address_2: string(),
@ -26,7 +26,7 @@ const WCStoreShippingAddressSchema = object({
state: string()
});
export {
WCStoreShippingAddressSchema as W,
WCStoreBillingAddressSchema as a
WCStoreBillingAddressSchema as W,
WCStoreShippingAddressSchema as a
};
//# sourceMappingURL=adresses.js.map

View file

@ -18,11 +18,11 @@ export {
ROUTE_API_MAJ_ARTICLE_PANIER as b,
ROUTE_API_MAJ_CLIENT as c,
ROUTE_API_NOUVELLE_COMMANDES as d,
ROUTE_API_RETIRE_COUPON as e,
ROUTE_API_APPLIQUE_COUPON as f,
ROUTE_API_APPLIQUE_COUPON as e,
ROUTE_API_RETIRE_COUPON as f,
ROUTE_API_AJOUTE_ARTICLE_PANIER as g,
ROUTE_API_PANIER as h,
ENTETE_GLITCHTIP_RETRY_AFTER as i,
ENTETE_GLITCHTIP_RATE_LIMITS as j
ENTETE_GLITCHTIP_RATE_LIMITS as i,
ENTETE_GLITCHTIP_RETRY_AFTER as j
};
//# sourceMappingURL=api.js.map

View file

@ -1,4 +1,4 @@
import { v as valFromOption, s as some } from "./dom2.js";
import { v as valFromOption, k as some } from "./dom2.js";
function sub(n2, r, t) {
var e = new Array(t);
var u = 0;
@ -136,14 +136,14 @@ function isNone(t) {
export {
_1 as _,
isSome as a,
isNone as b,
getWithDefault as b,
create as c,
getExn as d,
isNone as d,
mapU as e,
flatMapU as f,
getWithDefault as g,
flatMap as h,
flatMap as f,
getExn as g,
flatMapU as h,
is_extension as i,
mapWithDefaultU as m
};
//# sourceMappingURL=belt_Option-91f3b350.BKMoZFhU.js.map
//# sourceMappingURL=belt_Option-91f3b350.cBye8bLJ.js.map

View file

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

View file

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

View file

@ -1,2 +1,32 @@
import { o as object, s as string, a as pipe, i as integer, n as number } from "./index.DKC_Jv5v.js";
const WCStoreCartCouponsSchema = object({
/** The coupon's unique code. */
code: string(),
// The discount type for the coupon (eg percentage or fixed amount)
discount_type: string(),
// Total amounts provided using the smallest unit of the currency.
totals: object({
// Currency code (in ISO format) for returned prices.
currency_code: string(),
// Decimal separator for the currency which can be used to format returned prices.
currency_decimal_separator: string(),
// Currency minor unit (number of digits after the decimal separator) for returned prices.
currency_minor_unit: pipe(number(), integer()),
// Price prefix for the currency which can be used to format returned prices.
currency_prefix: string(),
// Price prefix for the currency which can be used to format returned prices.
currency_suffix: string(),
// Currency symbol for the currency which can be used to format returned prices.
currency_symbol: string(),
// Thousand separator for the currency which can be used to format returned prices.
currency_thousand_separator: string(),
// Total discount applied by this coupon.
total_discount: string(),
// Total tax removed due to discount applied by this coupon.
total_discount_tax: string()
})
});
export {
WCStoreCartCouponsSchema as W
};
//# sourceMappingURL=cart-coupons.js.map

View file

@ -1 +1 @@
{"version":3,"file":"cart-coupons.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
{"version":3,"file":"cart-coupons.js","sources":["../../src/scripts/lib/schemas/api/cart-coupons.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nexport const WCStoreCartCouponsArgSchema = v.object({\n // Unique identifier for the coupon within the basket.\n code: v.string(),\n});\n\nexport const WCStoreCartCouponsSchema = v.object({\n /** The coupon's unique code. */\n code: v.string(),\n // The discount type for the coupon (eg percentage or fixed amount)\n discount_type: v.string(),\n // Total amounts provided using the smallest unit of the currency.\n totals: v.object({\n // Currency code (in ISO format) for returned prices.\n currency_code: v.string(),\n // Decimal separator for the currency which can be used to format returned prices.\n currency_decimal_separator: v.string(),\n // Currency minor unit (number of digits after the decimal separator) for returned prices.\n currency_minor_unit: v.pipe(v.number(), v.integer()),\n // Price prefix for the currency which can be used to format returned prices.\n currency_prefix: v.string(),\n // Price prefix for the currency which can be used to format returned prices.\n currency_suffix: v.string(),\n // Currency symbol for the currency which can be used to format returned prices.\n currency_symbol: v.string(),\n // Thousand separator for the currency which can be used to format returned prices.\n currency_thousand_separator: v.string(),\n // Total discount applied by this coupon.\n total_discount: v.string(),\n // Total tax removed due to discount applied by this coupon.\n total_discount_tax: v.string(),\n }),\n});\n"],"names":["v.object","v.string","v.pipe","v.number","v.integer"],"mappings":";AAOa,MAAA,2BAA2BA,OAAS;AAAA;AAAA,EAE/C,MAAMC,OAAS;AAAA;AAAA,EAEf,eAAeA,OAAS;AAAA;AAAA,EAExB,QAAQD,OAAS;AAAA;AAAA,IAEf,eAAeC,OAAS;AAAA;AAAA,IAExB,4BAA4BA,OAAS;AAAA;AAAA,IAErC,qBAAqBC,KAAOC,OAAY,GAAAC,SAAW;AAAA;AAAA,IAEnD,iBAAiBH,OAAS;AAAA;AAAA,IAE1B,iBAAiBA,OAAS;AAAA;AAAA,IAE1B,iBAAiBA,OAAS;AAAA;AAAA,IAE1B,6BAA6BA,OAAS;AAAA;AAAA,IAEtC,gBAAgBA,OAAS;AAAA;AAAA,IAEzB,oBAAoBA,OAAS;AAAA,EAC9B,CAAA;AACH,CAAC;"}

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,7 @@
import { o as object, b as array, u as unknown, s as string, n as number, d as boolean, a as pipe, f as url, g as union, h as null_, e as enum_, i as integer } from "./index.DeCaB8sW.js";
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, i as integer } from "./index.DKC_Jv5v.js";
import { C as CATALOG_VISIBILITIES } from "./cart2.js";
import { W as WCStoreShippingAddressSchema, a as WCStoreBillingAddressSchema } from "./adresses.js";
import { W as WCStoreBillingAddressSchema, a as WCStoreShippingAddressSchema } from "./adresses.js";
import { W as WCStoreCartCouponsSchema } from "./cart-coupons.js";
import { a as WCStoreShippingRateSchema } from "./couts-livraison.js";
const WCStoreCartItemTotalsSchema = object({
currency_code: string(),
@ -60,7 +61,8 @@ const WCStoreCartTotalsSchema = object({
});
const WCStoreCartSchema = object({
billing_address: WCStoreBillingAddressSchema,
coupons: unknown(),
/** List of applied basket coupons. */
coupons: array(WCStoreCartCouponsSchema),
cross_sells: unknown(),
errors: unknown(),
extensions: unknown(),

File diff suppressed because one or more lines are too long

View file

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

View file

@ -63,64 +63,64 @@ const SELECTEUR_PRIX_PRODUIT = ".selecteur-produit__prix";
export {
ATTRIBUT_MENU_MOBILE_ACTIVE as $,
ATTRIBUT_CONTIENT_ARTICLES as A,
SELECTEUR_BOUTON_ACTIONS_FORMULAIRE as B,
SELECTEUR_BOUTON_CODE_PROMO as B,
ATTRIBUT_CLE_PANIER as C,
SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE as D,
SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER as E,
SELECTEUR_BOUTON_ADDITION_QUANTITE as F,
SELECTEUR_BOUTON_SUPPRESSION_PANIER as G,
ATTRIBUT_DESACTIVE as H,
SELECTEUR_PRIX_LIGNE_PANIER as I,
SELECTEUR_PRIX_LIGNE_PANIER as H,
ATTRIBUT_DESACTIVE as I,
ATTRIBUT_CODE_PROMO_PRESENT as J,
SELECTEUR_BOUTON_AJOUT_PANIER as K,
SELECTEUR_SELECTEUR_QUANTITE as L,
SELECTEUR_PRIX_PRODUIT as M,
SELECTEUR_LIENS_ONGLETS as N,
SELECTEUR_SECTIONS_CONTENUS as O,
ATTRIBUT_ARIA_SELECTED as P,
ATTRIBUT_PRIX as Q,
SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT as R,
SELECTEUR_LIENS_ONGLETS as M,
SELECTEUR_SECTIONS_CONTENUS as N,
SELECTEUR_PRIX_PRODUIT as O,
SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT as P,
SELECTEUR_FLECHE_DEFILEMENT_GAUCHE as Q,
SELECTEUR_FLECHE_DEFILEMENT_DROITE as R,
SELECTEUR_BOUTON_PANIER as S,
SELECTEUR_FLECHE_DEFILEMENT_GAUCHE as T,
SELECTEUR_FLECHE_DEFILEMENT_DROITE as U,
SELECTEUR_PHOTOS_PRODUIT as V,
SELECTEUR_IMAGE_COLONNE_GAUCHE as W,
SELECTEUR_IMAGES_COLONNE_DROITE as X,
ATTRIBUT_INDEX_IMAGE_ACTIVE as Y,
SELECTEUR_PHOTOS_PRODUIT as T,
SELECTEUR_IMAGE_COLONNE_GAUCHE as U,
SELECTEUR_IMAGES_COLONNE_DROITE as V,
ATTRIBUT_INDEX_IMAGE_ACTIVE as W,
ATTRIBUT_ARIA_SELECTED as X,
ATTRIBUT_PRIX as Y,
SELECTEUR_BOUTON_MENU_MOBILE as Z,
SELECTEUR_MENU_MOBILE as _,
SELECTEUR_MENU_CATEGORIES_PRODUITS as a,
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS as a0,
SELECTEUR_EPINGLE as a1,
SELECTEUR_BOITE_TEXTE as a2,
ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE as a3,
ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF as a4,
CLASS_BOUTON_FERMETURE_BOITE_TEXTE as a5,
CLASS_EPINGLE as a6,
ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE as a0,
ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF as a1,
CLASS_BOUTON_FERMETURE_BOITE_TEXTE as a2,
CLASS_EPINGLE as a3,
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS as a4,
SELECTEUR_EPINGLE as a5,
SELECTEUR_BOITE_TEXTE as a6,
SELECTEUR_ENTREE_MENU_CATEGORIES_PRODUITS as b,
SELECTEUR_CONTENEUR_STORYTELLING as c,
SELECTEUR_IMAGES_STORYTELLING as d,
ATTRIBUT_CACHE as e,
ATTRIBUT_ARIA_HIDDEN as f,
SELECTEUR_GRILLE_PRODUITS as g,
SELECTEUR_BOUTON_PLUS_PRODUITS as h,
SELECTEUR_BOUTON_PLUS_PRODUITS as g,
SELECTEUR_GRILLE_PRODUITS as h,
ATTRIBUT_ID_CATEGORIE_PRODUITS as i,
ATTRIBUT_PAGE as j,
ATTRIBUT_HIDDEN as k,
SELECTEUR_BOUTON_CODE_PROMO as l,
SELECTEUR_CHAMP_CODE_PROMO as m,
SELECTEUR_ENSEMBLE_CODE_PROMO as n,
SELECTEUR_TOTAL_REDUCTION_VALEUR as o,
SELECTEUR_TOTAL_REDUCTION as p,
SELECTEUR_ENTREES_PANIER as q,
SELECTEUR_CONTENEUR_PANIER as r,
SELECTEUR_SOUS_TOTAL_PRODUITS as s,
SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT as t,
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE as u,
SELECTEUR_INSTRUCTIONS_CLIENT as v,
SELECTEUR_TOTAL_PANIER as w,
SELECTEUR_BOUTON_SEPARATION_ADRESSES as x,
SELECTEUR_FORMULAIRE_PANIER as y,
SELECTEUR_FORMULAIRE_FACTURATION as z
SELECTEUR_ENTREES_PANIER as l,
SELECTEUR_CONTENEUR_PANIER as m,
SELECTEUR_SOUS_TOTAL_PRODUITS as n,
SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT as o,
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE as p,
SELECTEUR_TOTAL_PANIER as q,
SELECTEUR_BOUTON_SEPARATION_ADRESSES as r,
SELECTEUR_FORMULAIRE_PANIER as s,
SELECTEUR_FORMULAIRE_FACTURATION as t,
SELECTEUR_BOUTON_ACTIONS_FORMULAIRE as u,
SELECTEUR_TOTAL_REDUCTION as v,
SELECTEUR_TOTAL_REDUCTION_VALEUR as w,
SELECTEUR_INSTRUCTIONS_CLIENT as x,
SELECTEUR_ENSEMBLE_CODE_PROMO as y,
SELECTEUR_CHAMP_CODE_PROMO as z
};
//# sourceMappingURL=dom.js.map

View file

@ -1,7 +1,7 @@
import { e as creeSyntaxError, f as ERREUR_SYNTAXE_INVALIDE, g as ERREUR_SELECTEUR_INEXISTANT, h as reporteEtLeveErreur, i as ErreurEntreeInexistante } from "./erreurs.js";
import { E as Either, r as right, l as left, M as Maybe } from "./Either.wHNxn7Os.js";
import { e as creeSyntaxError, f as reporteEtLeveErreur, g as ErreurEntreeInexistante, h as ERREUR_SYNTAXE_INVALIDE, i as ERREUR_SELECTEUR_INEXISTANT } from "./erreurs.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import "./exports.DT-46nyp.js";
import { E as Either, r as right, l as left, M as Maybe } from "./Either.wHNxn7Os.js";
import "./exports.3IcOsN8u.js";
function int_compare(e, r) {
if (e < r) {
return -1;
@ -2035,29 +2035,32 @@ const html = (strings, ...args) => pipe(
);
const eitherSessionStorageGet = (cle) => Maybe.fromNullable(sessionStorage.getItem(cle)).toEither(ErreurEntreeInexistante(`Clé ${cle} absente dans le stockage de session.`));
const eitherJsonParse = (chaine) => Either.encase(() => JSON.parse(chaine));
const correspondCibleSelecteur = (cible, selecteur) => cible !== null && cible.matches(selecteur);
export {
Ra as R,
recupereElementAvecSelecteur as a,
recupereElementsAvecSelecteur as b,
eitherJsonParse as c,
recupereElementsOuLeve as d,
recupereElementsAvecSelecteur as a,
eitherJsonParse as b,
recupereElementAvecSelecteur as c,
correspondCibleSelecteur as d,
eitherSessionStorageGet as e,
someU as f,
everyU as g,
recupereElementsOuLeve as f,
equal as g,
html as h,
equal as i,
fromArray as j,
reduceU as k,
append as l,
mapU as m,
forEachU as n,
get$1 as o,
values as p,
concat$1 as q,
identity as i,
everyU as j,
some$1 as k,
values as l,
fromArray as m,
get$1 as n,
forEachU as o,
mapU as p,
reduceU as q,
recupereElementOuLeve as r,
some$1 as s,
nullable_to_opt as t,
someU as s,
append as t,
unsafeDeleteKey as u,
valFromOption as v
valFromOption as v,
nullable_to_opt as w,
concat$1 as x
};
//# sourceMappingURL=dom2.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
import { c as captureException } from "./exports.DT-46nyp.js";
import { c as captureException } from "./exports.3IcOsN8u.js";
const ERREUR_SYNTAXE_INVALIDE = (selecteur) => `Le selecteur "${selecteur}" est invalide`;
const ERREUR_SELECTEUR_INEXISTANT = (selecteur) => `La requête "${selecteur}" n'a retourné aucun Élément.`;
const creeSyntaxError = (message) => new SyntaxError(message);
@ -78,10 +78,10 @@ export {
leveUnauthorizedError as c,
leveNotFoundError as d,
creeSyntaxError as e,
ERREUR_SYNTAXE_INVALIDE as f,
ERREUR_SELECTEUR_INEXISTANT as g,
reporteEtLeveErreur as h,
ErreurEntreeInexistante as i,
reporteEtLeveErreur as f,
ErreurEntreeInexistante as g,
ERREUR_SYNTAXE_INVALIDE as h,
ERREUR_SELECTEUR_INEXISTANT as i,
leveServerError as l,
reporteErreur as r
};

View file

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

View file

@ -81,10 +81,10 @@ function safeJoin(input, delimiter) {
}
return output.join(delimiter);
}
const SDK_VERSION = "8.38.0";
const SDK_VERSION = "8.39.0";
const GLOBAL_OBJ = globalThis;
function getGlobalSingleton(name, creator, obj) {
const gbl = obj || GLOBAL_OBJ;
const gbl = GLOBAL_OBJ;
const __SENTRY__ = gbl.__SENTRY__ = gbl.__SENTRY__ || {};
const versionedCarrier = __SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {};
return versionedCarrier[name] || (versionedCarrier[name] = creator());
@ -2117,8 +2117,8 @@ function captureEvent(event, hint) {
}
export {
getCurrentScope as $,
isThenable as A,
isPlainObject as B,
isPlainObject as A,
isParameterizedString as B,
CONSOLE_LEVELS as C,
DEBUG_BUILD$1 as D,
SDK_VERSION as E,
@ -2126,24 +2126,24 @@ export {
GLOBAL_OBJ as G,
getOriginalFunction as H,
getFramesFromEvent as I,
isErrorEvent as J,
isDOMError as K,
isDOMException as L,
addExceptionTypeValue as M,
isEvent as N,
normalizeToSize as O,
extractExceptionKeysForMessage as P,
addExceptionMechanism as Q,
addExceptionMechanism as J,
isErrorEvent as K,
isDOMError as L,
isDOMException as M,
addExceptionTypeValue as N,
isEvent as O,
normalizeToSize as P,
extractExceptionKeysForMessage as Q,
isString as R,
SyncPromise as S,
createStackParser as T,
UNKNOWN_FUNCTION as U,
safeJoin as V,
getEventDescription as V,
htmlTreeAsString as W,
getEventDescription as X,
safeJoin as X,
getComponentName as Y,
getLocationHref as Z,
captureEvent as _,
captureEvent as Z,
getLocationHref as _,
consoleSandbox as a,
timestampInSeconds as b,
captureException as c,
@ -2151,7 +2151,7 @@ export {
addNonEnumerableProperty as e,
fill as f,
getFunctionName as g,
rejectedSyncPromise as h,
resolvedSyncPromise as h,
isInstanceOf as i,
dropUndefinedKeys as j,
dateTimestampInSeconds as k,
@ -2161,14 +2161,14 @@ export {
originalConsoleMethods as o,
uuid4 as p,
checkOrSetAlreadyCaught as q,
resolvedSyncPromise as r,
rejectedSyncPromise as r,
isPrimitive as s,
truncate as t,
urlEncode as u,
isParameterizedString as v,
updateSession as w,
prepareEvent as x,
getDynamicSamplingContextFromClient as y,
getIsolationScope as z
updateSession as v,
prepareEvent as w,
getDynamicSamplingContextFromClient as x,
getIsolationScope as y,
isThenable as z
};
//# sourceMappingURL=exports.DT-46nyp.js.map
//# sourceMappingURL=exports.3IcOsN8u.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
import { i as ENTETE_GLITCHTIP_RETRY_AFTER, j as ENTETE_GLITCHTIP_RATE_LIMITS } from "./api.js";
import { i as isInstanceOf, t as truncate, a as consoleSandbox, D as DEBUG_BUILD$1, l as logger, g as getFunctionName, G as GLOBAL_OBJ, C as CONSOLE_LEVELS, f as fill, o as originalConsoleMethods, b as timestampInSeconds, d as isError, e as addNonEnumerableProperty, S as SyncPromise, r as resolvedSyncPromise, h as rejectedSyncPromise, j as dropUndefinedKeys, n as normalize, k as dateTimestampInSeconds, m as DEBUG_BUILD$2, u as urlEncode, p as uuid4, q as checkOrSetAlreadyCaught, s as isPrimitive, v as isParameterizedString, w as updateSession, x as prepareEvent, y as getDynamicSamplingContextFromClient, z as getIsolationScope, A as isThenable, B as isPlainObject, E as SDK_VERSION, F as getClient, H as getOriginalFunction, I as getFramesFromEvent, J as isErrorEvent$1, K as isDOMError, L as isDOMException, M as addExceptionTypeValue, N as isEvent, O as normalizeToSize, P as extractExceptionKeysForMessage, Q as addExceptionMechanism, R as isString, T as createStackParser, U as UNKNOWN_FUNCTION, V as safeJoin, W as htmlTreeAsString, X as getEventDescription, Y as getComponentName, Z as getLocationHref, _ as captureEvent, $ as getCurrentScope } from "./exports.DT-46nyp.js";
import { i as ENTETE_GLITCHTIP_RATE_LIMITS, j as ENTETE_GLITCHTIP_RETRY_AFTER } from "./api.js";
import { i as isInstanceOf, t as truncate, a as consoleSandbox, D as DEBUG_BUILD$1, l as logger, g as getFunctionName, G as GLOBAL_OBJ, C as CONSOLE_LEVELS, f as fill, o as originalConsoleMethods, b as timestampInSeconds, d as isError, e as addNonEnumerableProperty, r as rejectedSyncPromise, S as SyncPromise, h as resolvedSyncPromise, j as dropUndefinedKeys, n as normalize, k as dateTimestampInSeconds, m as DEBUG_BUILD$2, u as urlEncode, p as uuid4, q as checkOrSetAlreadyCaught, s as isPrimitive, v as updateSession, w as prepareEvent, x as getDynamicSamplingContextFromClient, y as getIsolationScope, z as isThenable, A as isPlainObject, B as isParameterizedString, E as SDK_VERSION, F as getClient, H as getOriginalFunction, I as getFramesFromEvent, J as addExceptionMechanism, K as isErrorEvent$1, L as isDOMError, M as isDOMException, N as addExceptionTypeValue, O as isEvent, P as normalizeToSize, Q as extractExceptionKeysForMessage, R as isString, T as createStackParser, U as UNKNOWN_FUNCTION, V as getEventDescription, W as htmlTreeAsString, X as safeJoin, Y as getComponentName, Z as captureEvent, _ as getLocationHref, $ as getCurrentScope } from "./exports.3IcOsN8u.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
function applyAggregateErrorsToEvent(exceptionFromErrorImplementation, parser, maxValueLimit = 250, key, limit, event, hint) {
if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {

File diff suppressed because one or more lines are too long

View file

@ -1,5 +1,5 @@
import { h as ROUTE_API_PANIER, E as ENTETE_WC_NONCE } from "./api.js";
import { E as EitherAsync } from "./MaybeAsync.Ba-OfjWy.js";
import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js";
import { r as right, l as left } from "./Either.wHNxn7Os.js";
const ETATS = _etats;
const requeteRecuperePanier = () => fetch(

View file

@ -1,5 +1,5 @@
import { s as some, v as valFromOption, f as someU, g as everyU, i as equal } from "./dom2.js";
import { i as is_extension, m as mapWithDefaultU, a as isSome } from "./belt_Option-91f3b350.BKMoZFhU.js";
import { g as equal, j as everyU, s as someU, k as some, v as valFromOption } from "./dom2.js";
import { i as is_extension, a as isSome, m as mapWithDefaultU } from "./belt_Option-91f3b350.cBye8bLJ.js";
function internalToOCamlException(e) {
if (is_extension(e)) {
return e;
@ -580,4 +580,4 @@ export {
l,
tap as t
};
//# sourceMappingURL=index-0eef19ec.CFsloYN6.js.map
//# sourceMappingURL=index-0eef19ec.DoJSf22Z.js.map

View file

@ -603,14 +603,14 @@ export {
optional as c,
boolean as d,
enum_ as e,
url as f,
union as g,
null_ as h,
union as f,
null_ as g,
url as h,
integer as i,
omit as j,
minValue as k,
maxValue as k,
is as l,
maxValue as m,
minValue as m,
number as n,
object as o,
parse as p,
@ -618,4 +618,4 @@ export {
unknown as u,
value as v
};
//# sourceMappingURL=index.DeCaB8sW.js.map
//# sourceMappingURL=index.DKC_Jv5v.js.map

View file

@ -1,12 +1,13 @@
import { p as parse } from "./index.DeCaB8sW.js";
import { p as parse } from "./index.DKC_Jv5v.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 "./erreurs.js";
import { M as MessageMajBoutonPanierSchema, a as MessageMajContenuPanierSchema } from "./messages2.js";
import { E as Either } from "./Either.wHNxn7Os.js";
import "./exports.DT-46nyp.js";
import "./exports.3IcOsN8u.js";
import "./cart.js";
import "./cart2.js";
import "./adresses.js";
import "./cart-coupons.js";
import "./couts-livraison.js";
const emetMessageMajBoutonPanier = (args) => {
const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);

View file

@ -1 +1 @@
{"version":3,"file":"messages.js","sources":["../../src/scripts/lib/messages.ts"],"sourcesContent":["import { Either } from \"purify-ts\";\nimport { parse, type ValiError } from \"valibot\";\n\nimport type {\n MessageMajBoutonPanier,\n MessageMajBoutonPanierDonnees,\n MessageMajContenuPanier,\n MessageMajContenuPanierDonnees,\n} from \"./types/messages\";\n\nimport { NOM_CANAL_BOUTON_PANIER, NOM_CANAL_CONTENU_PANIER, TYPES_MESSAGES } from \"../constantes/messages.ts\";\nimport { reporteErreur } from \"./erreurs.ts\";\nimport { MessageMajBoutonPanierSchema, MessageMajContenuPanierSchema } from \"./schemas/messages.ts\";\n\n// Émissions\nexport const emetMessageMajBoutonPanier = (args: MessageMajBoutonPanierDonnees): void => {\n const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n canal.postMessage({\n donnees: {\n quantiteProduits: args.quantiteProduits,\n },\n type: TYPES_MESSAGES.MajBoutonPanier,\n } as MessageMajBoutonPanier);\n canal.close();\n};\n\nexport const emetMessageMajContenuPanier = (args: MessageMajContenuPanierDonnees): void => {\n const canal = new BroadcastChannel(NOM_CANAL_CONTENU_PANIER);\n canal.postMessage({\n donnees: {\n produits: args.produits,\n sousTotalPanier: args.sousTotalPanier,\n totalPanier: args.totalPanier,\n },\n type: TYPES_MESSAGES.MajContenuPanier,\n } as MessageMajContenuPanier);\n canal.close();\n};\n\n// Validations\nexport const valideMessageMajBoutonPanier = (\n evenementMessage: MessageEvent<unknown>,\n): Either<ValiError<typeof MessageMajBoutonPanierSchema>, MessageMajBoutonPanier> =>\n Either\n .of<ValiError<typeof MessageMajBoutonPanierSchema>, MessageMajBoutonPanier>(\n parse(MessageMajBoutonPanierSchema, evenementMessage.data),\n )\n .ifLeft(erreur => reporteErreur(erreur));\n\nexport const valideMessageMajContenuPanier = (\n evenementMessage: MessageEvent<unknown>,\n): Either<ValiError<typeof MessageMajContenuPanierSchema>, MessageMajContenuPanier> =>\n Either\n .of<ValiError<typeof MessageMajContenuPanierSchema>, MessageMajContenuPanier>(\n parse(MessageMajContenuPanierSchema, evenementMessage.data),\n )\n .ifLeft(erreur => reporteErreur(erreur));\n"],"names":[],"mappings":";;;;;;;;;;AAea,MAAA,6BAA6B,CAAC,SAA8C;AACjF,QAAA,QAAQ,IAAI,iBAAiB,uBAAuB;AAC1D,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,kBAAkB,KAAK;AAAA,IACzB;AAAA,IACA,MAAM,eAAe;AAAA,EAAA,CACI;AAC3B,QAAM,MAAM;AACd;AAEa,MAAA,8BAA8B,CAAC,SAA+C;AACnF,QAAA,QAAQ,IAAI,iBAAiB,wBAAwB;AAC3D,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,UAAU,KAAK;AAAA,MACf,iBAAiB,KAAK;AAAA,MACtB,aAAa,KAAK;AAAA,IACpB;AAAA,IACA,MAAM,eAAe;AAAA,EAAA,CACK;AAC5B,QAAM,MAAM;AACd;AAGa,MAAA,+BAA+B,CAC1C,qBAEA,OACG;AAAA,EACC,MAAM,8BAA8B,iBAAiB,IAAI;AAC3D,EACC,OAAO,CAAA,WAAU,cAAc,MAAM,CAAC;AAE9B,MAAA,gCAAgC,CAC3C,qBAEA,OACG;AAAA,EACC,MAAM,+BAA+B,iBAAiB,IAAI;AAC5D,EACC,OAAO,CAAA,WAAU,cAAc,MAAM,CAAC;"}
{"version":3,"file":"messages.js","sources":["../../src/scripts/lib/messages.ts"],"sourcesContent":["import { Either } from \"purify-ts\";\nimport { parse, type ValiError } from \"valibot\";\n\nimport type {\n MessageMajBoutonPanier,\n MessageMajBoutonPanierDonnees,\n MessageMajContenuPanier,\n MessageMajContenuPanierDonnees,\n} from \"./types/messages\";\n\nimport { NOM_CANAL_BOUTON_PANIER, NOM_CANAL_CONTENU_PANIER, TYPES_MESSAGES } from \"../constantes/messages.ts\";\nimport { reporteErreur } from \"./erreurs.ts\";\nimport { MessageMajBoutonPanierSchema, MessageMajContenuPanierSchema } from \"./schemas/messages.ts\";\n\n// Émissions\nexport const emetMessageMajBoutonPanier = (args: MessageMajBoutonPanierDonnees): void => {\n const canal = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n canal.postMessage({\n donnees: {\n quantiteProduits: args.quantiteProduits,\n },\n type: TYPES_MESSAGES.MajBoutonPanier,\n } as MessageMajBoutonPanier);\n canal.close();\n};\n\nexport const emetMessageMajContenuPanier = (args: MessageMajContenuPanierDonnees): void => {\n const canal = new BroadcastChannel(NOM_CANAL_CONTENU_PANIER);\n canal.postMessage({\n donnees: {\n produits: args.produits,\n sousTotalPanier: args.sousTotalPanier,\n totalPanier: args.totalPanier,\n },\n type: TYPES_MESSAGES.MajContenuPanier,\n } as MessageMajContenuPanier);\n canal.close();\n};\n\n// Validations\nexport const valideMessageMajBoutonPanier = (\n evenementMessage: MessageEvent<unknown>,\n): Either<ValiError<typeof MessageMajBoutonPanierSchema>, MessageMajBoutonPanier> =>\n Either\n .of<ValiError<typeof MessageMajBoutonPanierSchema>, MessageMajBoutonPanier>(\n parse(MessageMajBoutonPanierSchema, evenementMessage.data),\n )\n .ifLeft(erreur => reporteErreur(erreur));\n\nexport const valideMessageMajContenuPanier = (\n evenementMessage: MessageEvent<unknown>,\n): Either<ValiError<typeof MessageMajContenuPanierSchema>, MessageMajContenuPanier> =>\n Either\n .of<ValiError<typeof MessageMajContenuPanierSchema>, MessageMajContenuPanier>(\n parse(MessageMajContenuPanierSchema, evenementMessage.data),\n )\n .ifLeft(erreur => reporteErreur(erreur));\n"],"names":[],"mappings":";;;;;;;;;;;AAea,MAAA,6BAA6B,CAAC,SAA8C;AACjF,QAAA,QAAQ,IAAI,iBAAiB,uBAAuB;AAC1D,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,kBAAkB,KAAK;AAAA,IACzB;AAAA,IACA,MAAM,eAAe;AAAA,EAAA,CACI;AAC3B,QAAM,MAAM;AACd;AAEa,MAAA,8BAA8B,CAAC,SAA+C;AACnF,QAAA,QAAQ,IAAI,iBAAiB,wBAAwB;AAC3D,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,MACP,UAAU,KAAK;AAAA,MACf,iBAAiB,KAAK;AAAA,MACtB,aAAa,KAAK;AAAA,IACpB;AAAA,IACA,MAAM,eAAe;AAAA,EAAA,CACK;AAC5B,QAAM,MAAM;AACd;AAGa,MAAA,+BAA+B,CAC1C,qBAEA,OACG;AAAA,EACC,MAAM,8BAA8B,iBAAiB,IAAI;AAC3D,EACC,OAAO,CAAA,WAAU,cAAc,MAAM,CAAC;AAE9B,MAAA,gCAAgC,CAC3C,qBAEA,OACG;AAAA,EACC,MAAM,+BAA+B,iBAAiB,IAAI;AAC5D,EACC,OAAO,CAAA,WAAU,cAAc,MAAM,CAAC;"}

View file

@ -1,8 +1,9 @@
import { e as enum_, o as object, a as pipe, v as value, s as string, n as number, b as array } from "./index.DeCaB8sW.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.DKC_Jv5v.js";
import { T as TYPES_MESSAGES } from "./messages3.js";
import { a as WCStoreCartItemSchema } from "./cart.js";
import "./cart2.js";
import "./adresses.js";
import "./cart-coupons.js";
import "./couts-livraison.js";
enum_(TYPES_MESSAGES);
const MessageMajBoutonPanierDonneesSchema = object({

View file

@ -1 +1 @@
{"version":3,"file":"messages2.js","sources":["../../src/scripts/lib/schemas/messages.ts"],"sourcesContent":["/**\n * Schémas des Messages passés avec BroadcastChannel.\n */\n\nimport * as v from \"valibot\";\n\nimport { TYPES_MESSAGES } from \"../../constantes/messages.ts\";\nimport { WCStoreCartItemSchema } from \"./api/cart.ts\";\n\nexport const TypesMessagesSchema = v.enum(TYPES_MESSAGES);\n\nexport const MessageMajBoutonPanierDonneesSchema = v.object({\n quantiteProduits: v.number(),\n});\n\nexport const MessageMajBoutonPanierSchema = v.object({\n donnees: MessageMajBoutonPanierDonneesSchema,\n type: v.pipe(v.string(), v.value(TYPES_MESSAGES.MajBoutonPanier)),\n});\n\nexport const MessageMajContenuPanierDonneesSchema = v.object({\n produits: v.array(WCStoreCartItemSchema),\n sousTotalPanier: v.number(),\n totalPanier: v.number(),\n});\n\nexport const MessageMajContenuPanierSchema = v.object({\n donnees: MessageMajContenuPanierDonneesSchema,\n type: v.pipe(v.string(), v.value(TYPES_MESSAGES.MajContenuPanier)),\n});\n"],"names":["v.enum","v.object","v.number","v.pipe","v.string","v.value","v.array"],"mappings":";;;;;;AASmCA,MAAO,cAAc;AAE3C,MAAA,sCAAsCC,OAAS;AAAA,EAC1D,kBAAkBC,OAAS;AAC7B,CAAC;AAEY,MAAA,+BAA+BD,OAAS;AAAA,EACnD,SAAS;AAAA,EACT,MAAME,KAAOC,OAAE,GAAUC,MAAQ,eAAe,eAAe,CAAC;AAClE,CAAC;AAEY,MAAA,uCAAuCJ,OAAS;AAAA,EAC3D,UAAUK,MAAQ,qBAAqB;AAAA,EACvC,iBAAiBJ,OAAS;AAAA,EAC1B,aAAaA,OAAS;AACxB,CAAC;AAEY,MAAA,gCAAgCD,OAAS;AAAA,EACpD,SAAS;AAAA,EACT,MAAME,KAAOC,OAAE,GAAUC,MAAQ,eAAe,gBAAgB,CAAC;AACnE,CAAC;"}
{"version":3,"file":"messages2.js","sources":["../../src/scripts/lib/schemas/messages.ts"],"sourcesContent":["/**\n * Schémas des Messages passés avec BroadcastChannel.\n */\n\nimport * as v from \"valibot\";\n\nimport { TYPES_MESSAGES } from \"../../constantes/messages.ts\";\nimport { WCStoreCartItemSchema } from \"./api/cart.ts\";\n\nexport const TypesMessagesSchema = v.enum(TYPES_MESSAGES);\n\nexport const MessageMajBoutonPanierDonneesSchema = v.object({\n quantiteProduits: v.number(),\n});\n\nexport const MessageMajBoutonPanierSchema = v.object({\n donnees: MessageMajBoutonPanierDonneesSchema,\n type: v.pipe(v.string(), v.value(TYPES_MESSAGES.MajBoutonPanier)),\n});\n\nexport const MessageMajContenuPanierDonneesSchema = v.object({\n produits: v.array(WCStoreCartItemSchema),\n sousTotalPanier: v.number(),\n totalPanier: v.number(),\n});\n\nexport const MessageMajContenuPanierSchema = v.object({\n donnees: MessageMajContenuPanierDonneesSchema,\n type: v.pipe(v.string(), v.value(TYPES_MESSAGES.MajContenuPanier)),\n});\n"],"names":["v.enum","v.object","v.number","v.pipe","v.string","v.value","v.array"],"mappings":";;;;;;;AASmCA,MAAO,cAAc;AAE3C,MAAA,sCAAsCC,OAAS;AAAA,EAC1D,kBAAkBC,OAAS;AAC7B,CAAC;AAEY,MAAA,+BAA+BD,OAAS;AAAA,EACnD,SAAS;AAAA,EACT,MAAME,KAAOC,OAAE,GAAUC,MAAQ,eAAe,eAAe,CAAC;AAClE,CAAC;AAEY,MAAA,uCAAuCJ,OAAS;AAAA,EAC3D,UAAUK,MAAQ,qBAAqB;AAAA,EACvC,iBAAiBJ,OAAS;AAAA,EAC1B,aAAaA,OAAS;AACxB,CAAC;AAEY,MAAA,gCAAgCD,OAAS;AAAA,EACpD,SAAS;AAAA,EACT,MAAME,KAAOC,OAAE,GAAUC,MAAQ,eAAe,gBAAgB,CAAC;AACnE,CAAC;"}

View file

@ -1,162 +1,2 @@
import { o as object, s as string, b as array, a as pipe, i as integer, n as number, e as enum_, u as unknown, g as union, c as optional, h as null_, d as boolean } from "./index.DeCaB8sW.js";
import { T as TAX_STATUSES, O as ORDER_STATUSES } from "./orders2.js";
import { W as WCStoreShippingAddressSchema, a as WCStoreBillingAddressSchema } 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

File diff suppressed because one or more lines are too long

View file

@ -1,20 +1,162 @@
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"
};
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, i as integer, n as number, g as null_ } from "./index.DKC_Jv5v.js";
import { T as TAX_STATUSES, O as ORDER_STATUSES } from "./orders3.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 {
ORDER_STATUSES as O,
TAX_STATUSES as T
WCV3OrdersArgsSchema as W,
WCV3OrderSchema as a
};
//# sourceMappingURL=orders2.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,20 @@
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

View file

@ -1 +1 @@
{"version":3,"file":"orders3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
{"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;"}

View file

@ -1,5 +1,5 @@
import { o as object, c as optional, e as enum_, s as string, b as array, a as pipe, m as maxValue, k as minValue, n as number, i as integer, d as boolean, u as unknown, g as union, h as null_, f as url } from "./index.DeCaB8sW.js";
import { P as PRODUCT_TYPES, T as TAG_OPERATORS, S as STOCK_STATUSES, a as PRODUCT_STATUTES, R as RATINGS, O as ORDERBY_VALUES, b as ORDER_VALUES, D as DATE_COLUMN_VALUES, c as PRODUCTS_CONTEXTES, C as CATEGORY_OPERATORS, d as CATALOG_VISIBILITIES, A as ATTRIBUTES_RELATIONS, e as TAX_STATUTES, B as BACKORDERS_SETTINGS } from "./products2.js";
import { o as object, c as optional, e as enum_, a as pipe, m as minValue, n as number, k as maxValue, b as array, s as string, d as boolean, f as union, u as unknown, i as integer, g as null_, h as url } from "./index.DKC_Jv5v.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({
// Date ISO8601
after: optional(string()),

View file

@ -86,17 +86,17 @@ const BACKORDERS_SETTINGS = {
export {
ATTRIBUTES_RELATIONS as A,
BACKORDERS_SETTINGS as B,
CATEGORY_OPERATORS as C,
CATALOG_VISIBILITIES as C,
DATE_COLUMN_VALUES as D,
ORDERBY_VALUES as O,
PRODUCT_TYPES as P,
ORDER_VALUES as O,
PRODUCTS_CONTEXTES as P,
RATINGS as R,
STOCK_STATUSES as S,
TAG_OPERATORS as T,
PRODUCT_STATUTES as a,
ORDER_VALUES as b,
PRODUCTS_CONTEXTES as c,
CATALOG_VISIBILITIES as d,
CATEGORY_OPERATORS as a,
ORDERBY_VALUES as b,
PRODUCT_STATUTES as c,
PRODUCT_TYPES as d,
TAX_STATUTES as e
};
//# sourceMappingURL=products2.js.map

View file

@ -1,5 +1,5 @@
import { o as object, c as optional, e as enum_, s as string, b as array, a as pipe, m as maxValue, k as minValue, n as number, i as integer, d as boolean, u as unknown, g as union, h as null_ } from "./index.DeCaB8sW.js";
import { P as PRODUCT_TYPES, T as TAG_OPERATORS, S as STOCK_STATUSES, R as RATINGS, O as ORDERBY_VALUES, b as ORDER_VALUES, D as DATE_COLUMN_VALUES, c as PRODUCTS_CONTEXTES, C as CATEGORY_OPERATORS, d as CATALOG_VISIBILITIES, A as ATTRIBUTES_RELATIONS } from "./products2.js";
import { o as object, c as optional, e as enum_, a as pipe, m as minValue, n as number, k as maxValue, b as array, s as string, u as unknown, d as boolean, f as union, i as integer, g as null_ } from "./index.DKC_Jv5v.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({
// Date ISO8601
after: optional(optional(string())),

View file

@ -1,10 +1,10 @@
import { z, N } from "./index.CeK6pfoJ.js";
import { p as parse } from "./index.DeCaB8sW.js";
import { p as parse } from "./index.DKC_Jv5v.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 "./erreurs.js";
import { e as estWCError } from "./erreurs2.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import "./exports.DT-46nyp.js";
import "./exports.3IcOsN8u.js";
const getBackendAvecParametresUrl = (args) => fetch(
`${args.route}?${args.searchParams}`,
{

View file

@ -5,13 +5,14 @@ import { v as valideMessageMajBoutonPanier } from "./messages.js";
import { r as recupereElementDocumentEither } from "./utils.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import "./erreurs.js";
import "./exports.DT-46nyp.js";
import "./exports.3IcOsN8u.js";
import "./Either.wHNxn7Os.js";
import "./index.DeCaB8sW.js";
import "./index.DKC_Jv5v.js";
import "./messages2.js";
import "./cart.js";
import "./cart2.js";
import "./adresses.js";
import "./cart-coupons.js";
import "./couts-livraison.js";
const initialiseBoutonPanier = () => {
const BOUTON_PANIER = pipe(

View file

@ -1 +1 @@
{"version":3,"file":"scripts-bouton-panier.js","sources":["../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport { pipe } from \"@mobily/ts-belt\";\n\nimport type { MessageMajBoutonPanier } from \"./lib/types/messages\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER } from \"./constantes/messages.ts\";\nimport { recupereElementOuLeve } from \"./lib/dom.ts\";\nimport { valideMessageMajBoutonPanier } from \"./lib/messages.ts\";\nimport { recupereElementDocumentEither } from \"./lib/utils.ts\";\n\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\n const BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither<HTMLAnchorElement>(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n );\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n\n CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent<unknown>): void => {\n valideMessageMajBoutonPanier(evenementMessage)\n // Met à jour le Bouton du Panier\n .ifRight((message: MessageMajBoutonPanier) => {\n BOUTON_PANIER.textContent = `cart (${String(message.donnees.quantiteProduits)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees.quantiteProduits > 0));\n });\n };\n\n // Ferme le BroadcastChannel à la fermeture de la page\n document.addEventListener(\"visibilitychange\", (): void => {\n CANAL_BOUTON_PANIER.close();\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseBoutonPanier();\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAcA,MAAM,yBAAyB,MAAY;AAEzC,QAAM,gBAAmC;AAAA,IACvC,8BAAiD,uBAAuB;AAAA,IACxE;AAAA,EACF;AACM,QAAA,sBAAwC,IAAI,iBAAiB,uBAAuB;AAEtE,sBAAA,YAAY,CAAC,qBAAkD;AACjF,iCAA6B,gBAAgB,EAE1C,QAAQ,CAAC,YAAoC;AAC5C,oBAAc,cAAc,SAAS,OAAO,QAAQ,QAAQ,gBAAgB,CAAC;AAC7E,oBAAc,aAAa,4BAA4B,OAAO,QAAQ,QAAQ,mBAAmB,CAAC,CAAC;AAAA,IAAA,CACpG;AAAA,EACL;AAGS,WAAA,iBAAiB,oBAAoB,MAAY;AACxD,wBAAoB,MAAM;AAAA,EAAA,CAC3B;AACH;AAEA,SAAS,iBAAiB,oBAAoB,MAAM;AAC3B,yBAAA;AACzB,CAAC;"}
{"version":3,"file":"scripts-bouton-panier.js","sources":["../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport { pipe } from \"@mobily/ts-belt\";\n\nimport type { MessageMajBoutonPanier } from \"./lib/types/messages\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER } from \"./constantes/messages.ts\";\nimport { recupereElementOuLeve } from \"./lib/dom.ts\";\nimport { valideMessageMajBoutonPanier } from \"./lib/messages.ts\";\nimport { recupereElementDocumentEither } from \"./lib/utils.ts\";\n\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\n const BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither<HTMLAnchorElement>(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n );\n const CANAL_BOUTON_PANIER: BroadcastChannel = new BroadcastChannel(NOM_CANAL_BOUTON_PANIER);\n\n CANAL_BOUTON_PANIER.onmessage = (evenementMessage: MessageEvent<unknown>): void => {\n valideMessageMajBoutonPanier(evenementMessage)\n // Met à jour le Bouton du Panier\n .ifRight((message: MessageMajBoutonPanier) => {\n BOUTON_PANIER.textContent = `cart (${String(message.donnees.quantiteProduits)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees.quantiteProduits > 0));\n });\n };\n\n // Ferme le BroadcastChannel à la fermeture de la page\n document.addEventListener(\"visibilitychange\", (): void => {\n CANAL_BOUTON_PANIER.close();\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseBoutonPanier();\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAcA,MAAM,yBAAyB,MAAY;AAEzC,QAAM,gBAAmC;AAAA,IACvC,8BAAiD,uBAAuB;AAAA,IACxE;AAAA,EACF;AACM,QAAA,sBAAwC,IAAI,iBAAiB,uBAAuB;AAEtE,sBAAA,YAAY,CAAC,qBAAkD;AACjF,iCAA6B,gBAAgB,EAE1C,QAAQ,CAAC,YAAoC;AAC5C,oBAAc,cAAc,SAAS,OAAO,QAAQ,QAAQ,gBAAgB,CAAC;AAC7E,oBAAc,aAAa,4BAA4B,OAAO,QAAQ,QAAQ,mBAAmB,CAAC,CAAC;AAAA,IAAA,CACpG;AAAA,EACL;AAGS,WAAA,iBAAiB,oBAAoB,MAAY;AACxD,wBAAoB,MAAM;AAAA,EAAA,CAC3B;AACH;AAEA,SAAS,iBAAiB,oBAAoB,MAAM;AAC3B,yBAAA;AACzB,CAAC;"}

View file

@ -3,7 +3,7 @@ import { a as SELECTEUR_MENU_CATEGORIES_PRODUITS, b as SELECTEUR_ENTREE_MENU_CAT
import { a as recupereElementDansDocumentOuLeve, b as recupereElementsDansDocumentOuLeve } from "./utils.js";
import { R as Ra } from "./dom2.js";
import "./erreurs.js";
import "./exports.DT-46nyp.js";
import "./exports.3IcOsN8u.js";
import "./pipe.XPB0wEfw.js";
import "./Either.wHNxn7Os.js";
document.addEventListener("DOMContentLoaded", () => {

View file

@ -5,9 +5,9 @@ import { Z as SELECTEUR_BOUTON_MENU_MOBILE, _ as SELECTEUR_MENU_MOBILE, $ as ATT
import { a as recupereElementDansDocumentOuLeve } from "./utils.js";
import "./dom2.js";
import "./erreurs.js";
import "./exports.DT-46nyp.js";
import "./Either.wHNxn7Os.js";
import "./exports.3IcOsN8u.js";
import "./pipe.XPB0wEfw.js";
import "./Either.wHNxn7Os.js";
const not = {
inert: ":not([inert]):not([inert] *)",
negTabIndex: ':not([tabindex^="-"])',

View file

@ -1,10 +1,10 @@
import { a0 as SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS, a1 as SELECTEUR_EPINGLE, a2 as SELECTEUR_BOITE_TEXTE, 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 } from "./dom.js";
import { a0 as ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE, a1 as ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF, a2 as CLASS_BOUTON_FERMETURE_BOITE_TEXTE, a3 as CLASS_EPINGLE, a4 as SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS, a5 as SELECTEUR_EPINGLE, a6 as SELECTEUR_BOITE_TEXTE } from "./dom.js";
import { a as recupereElementDansDocumentOuLeve, b as recupereElementsDansDocumentOuLeve } from "./utils.js";
import { k as reduceU, q as concat, v as valFromOption, s as some, i as equal, t as nullable_to_opt, 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 { _ as _1, i as is_extension, c as create, f as flatMapU, m as mapWithDefaultU, a as isSome, b as isNone, g as getWithDefault$1, d as getExn, e as mapU, h as flatMap$1 } from "./belt_Option-91f3b350.BKMoZFhU.js";
import { _ as _1, i as is_extension, c as create, g as getExn, b as getWithDefault$1, d as isNone, a as isSome, f as flatMap$1, e as mapU, h as flatMapU, m as mapWithDefaultU } from "./belt_Option-91f3b350.cBye8bLJ.js";
import "./erreurs.js";
import "./exports.DT-46nyp.js";
import "./exports.3IcOsN8u.js";
import "./Either.wHNxn7Os.js";
var t = create("Promise.JsError");
function $$catch(r, s) {

View file

@ -3,9 +3,9 @@ import { e as estEntreDeuxNombres } from "./nombres.js";
import { a as recupereElementDansDocumentOuLeve, b as recupereElementsDansDocumentOuLeve } from "./utils.js";
import "./dom2.js";
import "./erreurs.js";
import "./exports.DT-46nyp.js";
import "./Either.wHNxn7Os.js";
import "./exports.3IcOsN8u.js";
import "./pipe.XPB0wEfw.js";
import "./Either.wHNxn7Os.js";
const initialiseScrollStorytelling = () => {
const STORYTELLING = recupereElementDansDocumentOuLeve(SELECTEUR_CONTENEUR_STORYTELLING);
const CONTENEUR_STORYTELLING = recupereElementDansDocumentOuLeve(".storytelling__conteneur");

View file

@ -1,21 +1,21 @@
import { z, N } from "./index.CeK6pfoJ.js";
import { p as parse } from "./index.DeCaB8sW.js";
import { p as parse } from "./index.DKC_Jv5v.js";
import { R as ROUTE_API_NOUVELLE_PRODUCTS } from "./api.js";
import { g as SELECTEUR_GRILLE_PRODUITS, h as SELECTEUR_BOUTON_PLUS_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_HIDDEN } from "./dom.js";
import { h as html } from "./dom2.js";
import { l as leveServerError } from "./erreurs.js";
import { e as estReponse500 } from "./gardes.js";
import { g as getBackendAvecParametresUrl, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js";
import { W as WCV3ProductsArgsSchema, a as WCV3ProductsSchema } from "./products.js";
import { a as recupereElementDansDocumentOuLeve, r as recupereElementDocumentEither } from "./utils.js";
import { E as EitherAsync } from "./MaybeAsync.Ba-OfjWy.js";
import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import { t as tap } from "./index-0eef19ec.CFsloYN6.js";
import { t as tap } from "./index-0eef19ec.DoJSf22Z.js";
import { E as Either } from "./Either.wHNxn7Os.js";
import "./exports.DT-46nyp.js";
import "./exports.3IcOsN8u.js";
import "./erreurs2.js";
import "./products2.js";
import "./belt_Option-91f3b350.BKMoZFhU.js";
import "./belt_Option-91f3b350.cBye8bLJ.js";
const ETATS_PAGE = _etats;
const GRILLE_PRODUITS = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS);
const BOUTON_PLUS_DE_PRODUITS = recupereElementDocumentEither(

View file

@ -1,15 +1,106 @@
import { l as SELECTEUR_BOUTON_CODE_PROMO, m as SELECTEUR_CHAMP_CODE_PROMO, n as SELECTEUR_ENSEMBLE_CODE_PROMO, o as SELECTEUR_TOTAL_REDUCTION_VALEUR, p as SELECTEUR_TOTAL_REDUCTION } from "./dom.js";
import { z, N } from "./index.CeK6pfoJ.js";
import { V as ValiError } from "./index.DKC_Jv5v.js";
import { e as ROUTE_API_APPLIQUE_COUPON, f as ROUTE_API_RETIRE_COUPON } from "./api.js";
import { B as SELECTEUR_BOUTON_CODE_PROMO, z as SELECTEUR_CHAMP_CODE_PROMO, y as SELECTEUR_ENSEMBLE_CODE_PROMO, q as SELECTEUR_TOTAL_PANIER, v as SELECTEUR_TOTAL_REDUCTION, w as SELECTEUR_TOTAL_REDUCTION_VALEUR, I as ATTRIBUT_DESACTIVE, J as ATTRIBUT_CODE_PROMO_PRESENT, k as ATTRIBUT_HIDDEN } from "./dom.js";
import { d as correspondCibleSelecteur, i as identity } from "./dom2.js";
import { S as ServerError } from "./erreurs.js";
import { e as estReponse500 } from "./gardes.js";
import { p as postBackend } from "./reseau.js";
import { W as WCStoreCartSchema } from "./cart.js";
import { W as WCStoreCartApplyCouponArgsSchema } from "./cart-apply-coupon.js";
import { W as WCStoreCartRemoveCouponArgsSchema } from "./cart-remove-coupon.js";
import { a as recupereElementDansDocumentOuLeve } from "./utils.js";
import "./dom2.js";
import "./erreurs.js";
import "./exports.DT-46nyp.js";
import "./Either.wHNxn7Os.js";
import "./pipe.XPB0wEfw.js";
({
TOTAL_REDUCTION_LIGNE: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION),
TOTAL_REDUCTION_VALEUR: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION_VALEUR),
ENSEMBLE_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_ENSEMBLE_CODE_PROMO),
import { e as eitherParse } from "./validation.js";
import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import { M as Maybe } from "./Either.wHNxn7Os.js";
import "./exports.3IcOsN8u.js";
import "./erreurs2.js";
import "./cart2.js";
import "./adresses.js";
import "./cart-coupons.js";
import "./couts-livraison.js";
const ETATS_PAGE = _etats;
const ELEMENTS = {
BOUTON_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_CODE_PROMO),
CHAMP_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_CHAMP_CODE_PROMO),
BOUTON_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_CODE_PROMO)
});
ENSEMBLE_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_ENSEMBLE_CODE_PROMO),
TOTAL_PANIER: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_PANIER),
TOTAL_REDUCTION_LIGNE: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION),
TOTAL_REDUCTION_VALEUR: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION_VALEUR)
};
const initialiseElementsCodePromo = () => {
const recupereCodePromoValeur = () => Maybe.fromFalsy(ELEMENTS.CHAMP_CODE_PROMO.value.trim()).extractNullable();
const recupereCodePromoPresent = () => ELEMENTS.ENSEMBLE_CODE_PROMO.hasAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
ELEMENTS.ENSEMBLE_CODE_PROMO.addEventListener(
"click",
(evenement) => z({
cible: evenement.target,
codePromoPresent: recupereCodePromoPresent(),
codePromoValeur: recupereCodePromoValeur()
}).with(
{
cible: N.when((cible) => correspondCibleSelecteur(cible, SELECTEUR_BOUTON_CODE_PROMO)),
codePromoPresent: false,
codePromoValeur: N.string
},
({ codePromoValeur }) => void EitherAsync.liftEither(eitherParse({ code: codePromoValeur }, WCStoreCartApplyCouponArgsSchema)).map(
(args) => postBackend({
corps: JSON.stringify(args),
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_APPLIQUE_COUPON
})
).chain(
(reponse) => EitherAsync(async ({ throwE }) => {
if (estReponse500(reponse)) throwE(new ServerError("500 Server Error"));
return await reponse.json();
})
).chain((corpsReponse) => EitherAsync.liftEither(eitherParse(corpsReponse, WCStoreCartSchema))).ifRight((panier) => {
const totalReduction = pipe(Number(panier.totals.total_discount) / 100, String, (v) => `-${v}`);
const totalPanier = pipe(Number(panier.totals.total_price) / 100, String, (v) => `${v}`);
ELEMENTS.BOUTON_CODE_PROMO.textContent = "Remove";
ELEMENTS.CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);
ELEMENTS.CHAMP_CODE_PROMO.value = panier.coupons[0]?.code ?? "";
ELEMENTS.ENSEMBLE_CODE_PROMO.toggleAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
ELEMENTS.TOTAL_PANIER.textContent = totalPanier;
ELEMENTS.TOTAL_REDUCTION_LIGNE.toggleAttribute(ATTRIBUT_HIDDEN);
ELEMENTS.TOTAL_REDUCTION_VALEUR.textContent = totalReduction;
}).ifLeft(
(erreur) => z(erreur).with(N.instanceOf(ValiError), (e) => console.error("retour ajout code promo", e.issues)).with(N.instanceOf(ServerError), (e) => console.error("retour ajout code promo", e)).with(N.instanceOf(TypeError), (e) => console.error("retour ajout code promo", e)).exhaustive()
).run()
).with(
{
cible: N.when((cible) => correspondCibleSelecteur(cible, SELECTEUR_BOUTON_CODE_PROMO)),
codePromoPresent: true,
codePromoValeur: N.string
},
({ codePromoValeur }) => void EitherAsync.liftEither(eitherParse({ code: codePromoValeur }, WCStoreCartRemoveCouponArgsSchema)).map(
(args) => postBackend({
corps: JSON.stringify(args),
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_RETIRE_COUPON
})
).chain(
(reponse) => EitherAsync(async ({ throwE }) => {
if (estReponse500(reponse)) throwE(new ServerError("500 server Error"));
return await reponse.json();
})
).chain((corpsReponse) => EitherAsync.liftEither(eitherParse(corpsReponse, WCStoreCartSchema))).ifRight((panier) => {
const totalPanier = pipe(Number(panier.totals.total_price) / 100, String, (v) => `${v}`);
ELEMENTS.BOUTON_CODE_PROMO.textContent = "Apply";
ELEMENTS.CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);
ELEMENTS.CHAMP_CODE_PROMO.value = "";
ELEMENTS.ENSEMBLE_CODE_PROMO.toggleAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
ELEMENTS.TOTAL_PANIER.textContent = totalPanier;
ELEMENTS.TOTAL_REDUCTION_LIGNE.toggleAttribute(ATTRIBUT_HIDDEN);
ELEMENTS.TOTAL_REDUCTION_VALEUR.textContent = "-0€";
}).ifLeft(
(erreur) => z(erreur).with(N.instanceOf(ValiError), (e) => console.error("retour ajout code promo", e.issues)).with(N.instanceOf(ServerError), (e) => console.error("retour ajout code promo", e)).with(N.instanceOf(TypeError), (e) => console.error("retour ajout code promo", e)).exhaustive()
).run()
).with(N._, identity)
);
};
export {
initialiseElementsCodePromo as i
};
//# sourceMappingURL=scripts-page-panier-code-promo.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,34 +1,36 @@
import { z, N } from "./index.CeK6pfoJ.js";
import { p as parse, V as ValiError } from "./index.DeCaB8sW.js";
import { a as ROUTE_API_RETIRE_ARTICLE_PANIER, b as ROUTE_API_MAJ_ARTICLE_PANIER, c as ROUTE_API_MAJ_CLIENT, d as ROUTE_API_NOUVELLE_COMMANDES, e as ROUTE_API_RETIRE_COUPON, f as ROUTE_API_APPLIQUE_COUPON } from "./api.js";
import { q as SELECTEUR_ENTREES_PANIER, r as SELECTEUR_CONTENEUR_PANIER, s as SELECTEUR_SOUS_TOTAL_PRODUITS, t as SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT, u as SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, p as SELECTEUR_TOTAL_REDUCTION, o as SELECTEUR_TOTAL_REDUCTION_VALEUR, v as SELECTEUR_INSTRUCTIONS_CLIENT, w as SELECTEUR_TOTAL_PANIER, x as SELECTEUR_BOUTON_SEPARATION_ADRESSES, n as SELECTEUR_ENSEMBLE_CODE_PROMO, m as SELECTEUR_CHAMP_CODE_PROMO, l as SELECTEUR_BOUTON_CODE_PROMO, y as SELECTEUR_FORMULAIRE_PANIER, z as SELECTEUR_FORMULAIRE_FACTURATION, B as SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, C as ATTRIBUT_CLE_PANIER, D as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, E as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, F as SELECTEUR_BOUTON_ADDITION_QUANTITE, G as SELECTEUR_BOUTON_SUPPRESSION_PANIER, H as ATTRIBUT_DESACTIVE, A as ATTRIBUT_CONTIENT_ARTICLES, I as SELECTEUR_PRIX_LIGNE_PANIER, k as ATTRIBUT_HIDDEN, J as ATTRIBUT_CODE_PROMO_PRESENT } from "./dom.js";
import { z } from "./index.CeK6pfoJ.js";
import { p as parse, V as ValiError } from "./index.DKC_Jv5v.js";
import { a as ROUTE_API_RETIRE_ARTICLE_PANIER, b as ROUTE_API_MAJ_ARTICLE_PANIER, c as ROUTE_API_MAJ_CLIENT, d as ROUTE_API_NOUVELLE_COMMANDES } from "./api.js";
import { l as SELECTEUR_ENTREES_PANIER, m as SELECTEUR_CONTENEUR_PANIER, n as SELECTEUR_SOUS_TOTAL_PRODUITS, o as SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT, p as SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, q as SELECTEUR_TOTAL_PANIER, r as SELECTEUR_BOUTON_SEPARATION_ADRESSES, s as SELECTEUR_FORMULAIRE_PANIER, t as SELECTEUR_FORMULAIRE_FACTURATION, u as SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, v as SELECTEUR_TOTAL_REDUCTION, w as SELECTEUR_TOTAL_REDUCTION_VALEUR, x as SELECTEUR_INSTRUCTIONS_CLIENT, y as SELECTEUR_ENSEMBLE_CODE_PROMO, z as SELECTEUR_CHAMP_CODE_PROMO, B as SELECTEUR_BOUTON_CODE_PROMO, C as ATTRIBUT_CLE_PANIER, D as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, E as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, F as SELECTEUR_BOUTON_ADDITION_QUANTITE, G as SELECTEUR_BOUTON_SUPPRESSION_PANIER, A as ATTRIBUT_CONTIENT_ARTICLES, H as SELECTEUR_PRIX_LIGNE_PANIER, k as ATTRIBUT_HIDDEN, I as ATTRIBUT_DESACTIVE } from "./dom.js";
import { N as NOM_CANAL_BOUTON_PANIER, a as NOM_CANAL_CONTENU_PANIER } from "./messages3.js";
import { r as recupereElementOuLeve, a as recupereElementAvecSelecteur, b as recupereElementsAvecSelecteur, e as eitherSessionStorageGet, c as eitherJsonParse } from "./dom2.js";
import { l as leveServerError, r as reporteErreur, a as leveErreur, S as ServerError } from "./erreurs.js";
import { r as recupereElementOuLeve, a as recupereElementsAvecSelecteur, e as eitherSessionStorageGet, b as eitherJsonParse, c as recupereElementAvecSelecteur } from "./dom2.js";
import { l as leveServerError, r as reporteErreur, a as leveErreur } from "./erreurs.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 { p as postBackend, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js";
import { W as WCStoreCartApplyCouponArgsSchema } from "./cart-apply-coupon.js";
import { W as WCStoreCartRemoveCouponArgsSchema } from "./cart-remove-coupon.js";
import { W as WCStoreCartRemoveItemArgsSchema } from "./cart-remove-item.js";
import { W as WCStoreCartUpdateCustomerArgsSchema } from "./cart-update-customer.js";
import { W as WCStoreCartUpdateItemArgsSchema } from "./cart-update-item.js";
import { W as WCStoreCartSchema } from "./cart.js";
import { W as WCStoreShippingRateShippingRateSchema } from "./couts-livraison.js";
import { W as WCV3OrdersArgsSchema, a as WCV3OrderSchema } from "./orders.js";
import { W as WCV3OrdersArgsSchema, a as WCV3OrderSchema } from "./orders2.js";
import { c as recupereElementsDocumentEither, r as recupereElementDocumentEither, a as recupereElementDansDocumentOuLeve, y, p as propEither } from "./utils.js";
import { e as eitherParse } from "./validation.js";
import { i as initialiseElementsCodePromo } from "./scripts-page-panier-code-promo.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import { l } from "./index-0eef19ec.CFsloYN6.js";
import { E as EitherAsync } from "./MaybeAsync.Ba-OfjWy.js";
import { l } from "./index-0eef19ec.DoJSf22Z.js";
import { M as Maybe, E as Either } from "./Either.wHNxn7Os.js";
import "./exports.DT-46nyp.js";
import "./exports.3IcOsN8u.js";
import "./messages2.js";
import "./erreurs2.js";
import "./adresses.js";
import "./cart2.js";
import "./orders2.js";
import "./belt_Option-91f3b350.BKMoZFhU.js";
import "./cart-coupons.js";
import "./orders3.js";
import "./cart-apply-coupon.js";
import "./cart-remove-coupon.js";
import "./MaybeAsync.AE1jnxuc.js";
import "./belt_Option-91f3b350.cBye8bLJ.js";
const ETATS_PAGE = _etats;
const ENTREES_PANIER_EITHER = recupereElementsDocumentEither(
SELECTEUR_ENTREES_PANIER
@ -49,8 +51,8 @@ const SOUS_TOTAL_LIVRAISON_PRESTATAIRE = pipe(
recupereElementDocumentEither(SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE),
recupereElementOuLeve
);
const SOUS_TOTAL_REDUCTION_LIGNE = recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION);
const SOUS_TOTAL_REDUCTION_VALEUR = recupereElementDansDocumentOuLeve(
recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION);
recupereElementDansDocumentOuLeve(
SELECTEUR_TOTAL_REDUCTION_VALEUR
);
const INSTRUCTIONS_CLIENT = recupereElementDansDocumentOuLeve(
@ -64,13 +66,13 @@ const BOUTON_SEPARATION_ADRESSES = pipe(
recupereElementDocumentEither(SELECTEUR_BOUTON_SEPARATION_ADRESSES),
recupereElementOuLeve
);
const ENSEMBLE_CODE_PROMO = recupereElementDansDocumentOuLeve(
recupereElementDansDocumentOuLeve(
SELECTEUR_ENSEMBLE_CODE_PROMO
);
const CHAMP_CODE_PROMO = recupereElementDansDocumentOuLeve(
recupereElementDansDocumentOuLeve(
SELECTEUR_CHAMP_CODE_PROMO
);
let BOUTON_CODE_PROMO = recupereElementDansDocumentOuLeve(
recupereElementDansDocumentOuLeve(
SELECTEUR_BOUTON_CODE_PROMO
);
const FORMULAIRE_PANIER = pipe(
@ -375,81 +377,6 @@ const initialiseBoutonActions = () => {
});
});
};
const initialiseElementsCodePromo = () => {
const codePromoPresent = ENSEMBLE_CODE_PROMO.hasAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
BOUTON_CODE_PROMO.outerHTML = BOUTON_CODE_PROMO.outerHTML;
BOUTON_CODE_PROMO = recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_CODE_PROMO);
if (codePromoPresent) {
BOUTON_CODE_PROMO.addEventListener("click", () => {
const code = CHAMP_CODE_PROMO.value;
EitherAsync.liftEither(eitherParse({ code }, WCStoreCartRemoveCouponArgsSchema)).map(
(args) => postBackend({
corps: JSON.stringify(args),
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_RETIRE_COUPON
})
).chain(
async (reponse) => EitherAsync(async ({ throwE }) => {
if (estReponse500(reponse)) throwE(new ServerError("500 Server Error"));
return await reponse.json();
})
).chain(
(corpsReponse) => EitherAsync(
({ liftEither }) => liftEither(eitherParse(corpsReponse, WCStoreCartSchema))
)
).ifRight((panier) => {
const totalPanier = `${String(Number(panier.totals.total_price) / 100)}`;
ENSEMBLE_CODE_PROMO.removeAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
BOUTON_CODE_PROMO.textContent = "Apply";
CHAMP_CODE_PROMO.value = "";
CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);
TOTAL_PANIER.textContent = totalPanier;
SOUS_TOTAL_REDUCTION_VALEUR.textContent = "-0€";
SOUS_TOTAL_REDUCTION_LIGNE.setAttribute(ATTRIBUT_HIDDEN, "");
initialiseElementsCodePromo();
}).ifLeft((e) => {
console.error("requête", e);
if (e instanceof ValiError) console.error(e.issues);
}).run();
});
return;
}
BOUTON_CODE_PROMO.addEventListener("click", () => {
const codePromo = Maybe.fromFalsy(CHAMP_CODE_PROMO.value.trim()).toEither(new TypeError("Aucun code promo n'a été renseigné.")).chain((code) => eitherParse({ code }, WCStoreCartApplyCouponArgsSchema)).ifRight((args) => console.debug(args)).ifLeft(
(erreur) => z(erreur).with(N.instanceOf(ValiError), (e) => console.error("codePromo", e.issues)).with(N.instanceOf(TypeError), (e) => console.error("codePromo", e)).exhaustive()
);
EitherAsync.liftEither(codePromo).map(
async (args) => await postBackend({
corps: JSON.stringify(args),
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_APPLIQUE_COUPON
})
).chain(
async (reponse) => EitherAsync(async ({ throwE }) => {
if (estReponse500(reponse)) throwE(new ServerError("500 Server Error"));
return await reponse.json();
})
).chain(
(corpsReponse) => EitherAsync(
({ liftEither }) => liftEither(eitherParse(corpsReponse, WCStoreCartSchema))
)
).ifRight((panier) => {
const totalReduction = `-${String(Number(panier.totals.total_discount) / 100)}`;
const totalPanier = `${Number(panier.totals.total_price) / 100}`;
ENSEMBLE_CODE_PROMO.setAttribute(ATTRIBUT_CODE_PROMO_PRESENT, "");
BOUTON_CODE_PROMO.textContent = "Remove";
CHAMP_CODE_PROMO.value = panier.coupons[0].code;
CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);
TOTAL_PANIER.textContent = totalPanier;
SOUS_TOTAL_REDUCTION_VALEUR.textContent = totalReduction;
SOUS_TOTAL_REDUCTION_LIGNE.removeAttribute(ATTRIBUT_HIDDEN);
initialiseElementsCodePromo();
}).ifLeft((e) => {
console.error("requête", e);
if (e instanceof ValiError) console.error(e.issues);
}).run();
});
};
const initialiseBoutonCreationCommande = () => {
BOUTON_ACTIONS_FORMULAIRE.outerHTML = BOUTON_ACTIONS_FORMULAIRE.outerHTML;
BOUTON_ACTIONS_FORMULAIRE = recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE);
@ -491,8 +418,8 @@ const initialiseBoutonCreationCommande = () => {
postcode: donneesFormulaire["facturation-code-postal"] ?? donneesFormulaire["livraison-code-postal"] ?? "",
state: donneesFormulaire["facturation-region-etat"] ?? donneesFormulaire["livraison-region-etat"] ?? ""
},
customer_note: INSTRUCTIONS_CLIENT.value,
currency: methodeLivraison.currency_code,
customer_note: INSTRUCTIONS_CLIENT.value,
line_items: articlesPanier,
shipping: {
address_1: donneesFormulaire["livraison-adresse"] ?? "",

File diff suppressed because one or more lines are too long

View file

@ -1,27 +1,28 @@
import { z } from "./index.CeK6pfoJ.js";
import { g as ROUTE_API_AJOUTE_ARTICLE_PANIER, E as ENTETE_WC_NONCE } from "./api.js";
import { K as SELECTEUR_BOUTON_AJOUT_PANIER, L as SELECTEUR_SELECTEUR_QUANTITE, M as SELECTEUR_PRIX_PRODUIT, N as SELECTEUR_LIENS_ONGLETS, O as SELECTEUR_SECTIONS_CONTENUS, P as ATTRIBUT_ARIA_SELECTED, k as ATTRIBUT_HIDDEN, H as ATTRIBUT_DESACTIVE, Q as ATTRIBUT_PRIX, 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 } from "./dom.js";
import { r as recupereElementOuLeve, d as recupereElementsOuLeve, R as Ra } from "./dom2.js";
import { K as SELECTEUR_BOUTON_AJOUT_PANIER, L as SELECTEUR_SELECTEUR_QUANTITE, M as SELECTEUR_LIENS_ONGLETS, N as SELECTEUR_SECTIONS_CONTENUS, O as SELECTEUR_PRIX_PRODUIT, P as SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT, Q as SELECTEUR_FLECHE_DEFILEMENT_GAUCHE, R as SELECTEUR_FLECHE_DEFILEMENT_DROITE, T as SELECTEUR_PHOTOS_PRODUIT, U as SELECTEUR_IMAGE_COLONNE_GAUCHE, V as SELECTEUR_IMAGES_COLONNE_DROITE, W as ATTRIBUT_INDEX_IMAGE_ACTIVE, X as ATTRIBUT_ARIA_SELECTED, k as ATTRIBUT_HIDDEN, I as ATTRIBUT_DESACTIVE, Y as ATTRIBUT_PRIX } from "./dom.js";
import { r as recupereElementOuLeve, f as recupereElementsOuLeve, R as Ra } from "./dom2.js";
import { l as leveServerError, r as reporteErreur } from "./erreurs.js";
import { b as estHTMLSelectElement, e as estReponse500, a as estError } from "./gardes.js";
import { e as emetMessageMajBoutonPanier } from "./messages.js";
import { t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.js";
import { W as WCStoreCartSchema } from "./cart.js";
import { W as WCStoreCartAddItemArgsSchema } from "./cart-add-item.js";
import { r as recupereElementDocumentEither, a as recupereElementDansDocumentOuLeve, c as recupereElementsDocumentEither, y, b as recupereElementsDansDocumentOuLeve } from "./utils.js";
import { r as recupereElementDocumentEither, a as recupereElementDansDocumentOuLeve, c as recupereElementsDocumentEither, b as recupereElementsDansDocumentOuLeve, y } from "./utils.js";
import { e as eitherParse } from "./validation.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import { l } from "./index-0eef19ec.CFsloYN6.js";
import { l } from "./index-0eef19ec.DoJSf22Z.js";
import { M as Maybe } from "./Either.wHNxn7Os.js";
import "./exports.DT-46nyp.js";
import "./index.DeCaB8sW.js";
import "./exports.3IcOsN8u.js";
import "./index.DKC_Jv5v.js";
import "./messages3.js";
import "./messages2.js";
import "./erreurs2.js";
import "./cart2.js";
import "./adresses.js";
import "./cart-coupons.js";
import "./couts-livraison.js";
import "./belt_Option-91f3b350.BKMoZFhU.js";
import "./belt_Option-91f3b350.cBye8bLJ.js";
const ETATS_PAGE = _etats;
const deplieToutesSections = (ensembleLiensContenus) => {
ensembleLiensContenus.forEach((ensemble) => {

File diff suppressed because one or more lines are too long

View file

@ -1,8 +1,8 @@
import { i as equal, j as fromArray, k as reduceU, l as append, m as mapU, n as forEachU, u as unsafeDeleteKey, o as get$1, p as values, a as recupereElementAvecSelecteur, r as recupereElementOuLeve, b as recupereElementsAvecSelecteur, d as recupereElementsOuLeve } from "./dom2.js";
import { l as values, m as fromArray, g as equal, n as get$1, u as unsafeDeleteKey, o as forEachU, p as mapU, q as reduceU, t as append, a as recupereElementsAvecSelecteur, c as recupereElementAvecSelecteur, r as recupereElementOuLeve, f as recupereElementsOuLeve } from "./dom2.js";
import { C as CleNonTrouveError } from "./erreurs.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import { M as Maybe } from "./Either.wHNxn7Os.js";
import "./exports.DT-46nyp.js";
import "./exports.3IcOsN8u.js";
function placeholder(e) {
}
function makeEmpty(e) {

View file

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

View file

@ -21,10 +21,22 @@ export class BadRequestError extends Error {
this.name = "BadRequestError";
}
}
export class UnauthorizedError extends Error {
constructor(message = "401 UnauthorizedError") {
super(message);
this.name = "UnauthorizedError";
export class CleNonTrouveError extends Error {
constructor(message: unknown) {
super(JSON.stringify(message));
this.name = "CleNonTrouveError";
}
}
export class DOMElementAbsentError extends Error {
constructor(message: unknown) {
super(JSON.stringify(message));
this.name = "DOMElementAbsentError";
}
}
export class NonExistingKeyError extends Error {
constructor(message: unknown) {
super(JSON.stringify(message));
this.name = "NonExistingKeyError";
}
}
export class NotFoundError extends Error {
@ -39,30 +51,18 @@ export class ServerError extends Error {
this.name = "ServerError";
}
}
export class UnauthorizedError extends Error {
constructor(message = "401 UnauthorizedError") {
super(message);
this.name = "UnauthorizedError";
}
}
export class UnknownError extends Error {
constructor(message: unknown) {
super(JSON.stringify(message));
this.name = "UnknownError";
}
}
export class DOMElementAbsentError extends Error {
constructor(message: unknown) {
super(JSON.stringify(message));
this.name = "DOMElementAbsentError";
}
}
export class CleNonTrouveError extends Error {
constructor(message: unknown) {
super(JSON.stringify(message));
this.name = "CleNonTrouveError";
}
}
export class NonExistingKeyError extends Error {
constructor(message: unknown) {
super(JSON.stringify(message));
this.name = "NonExistingKeyError";
}
}
/* Fonction utilitaire pour créer ou lever des Erreurs */
export const Erreur = (message: string): Error => new Error(message);

View file

@ -17,6 +17,14 @@ import {
} from "./erreurs.ts";
import { estWCError } from "./schemas/api/erreurs.ts";
type ArgumentsDeleteBackendWC = {
authString?: string;
/** Une chaîne de caractères généré par le backend et à joindre à chaque requête pour l'authentifier. */
nonce: string;
/** La route, ou chemin, de l'API à demander au backend. */
route: string;
};
type ArgumentsGetBackendWC = {
authString?: string;
/** Une chaîne de caractères généré par le backend et à joindre à chaque requête pour l'authentifier. */
@ -27,14 +35,6 @@ type ArgumentsGetBackendWC = {
searchParams?: string;
};
type ArgumentsDeleteBackendWC = {
authString?: string;
/** Une chaîne de caractères généré par le backend et à joindre à chaque requête pour l'authentifier. */
nonce: string;
/** La route, ou chemin, de l'API à demander au backend. */
route: string;
};
type ArgumentsPostBackendWC = {
authString?: string;
/** Le corps de la requête (ses arguments). */
@ -47,7 +47,7 @@ type ArgumentsPostBackendWC = {
export const getBackend = (args: ArgumentsGetBackendWC) =>
fetch(
`${args.route}`,
args.route,
{
credentials: "same-origin",
headers: {
@ -134,16 +134,16 @@ export const traiteReponseBackendWCSelonCodesHTTP = <R, S extends GenericSchema<
// Réponses inconnues
.otherwise(e => pipe(e, ErreurInconnue, leveErreur<UnknownError>));
export type TraitementReponseBackend<R, S extends GenericSchema<R>> = Either<
TraitementReponseBackendErrors<R, S>,
R
>;
export type TraitementReponseBackendErrors<R, S extends GenericSchema<R>> =
| BadRequestError
| NotFoundError
| UnauthorizedError
| UnknownError
| ValiError<S>;
export type TraitementReponseBackend<R, S extends GenericSchema<R>> = Either<
TraitementReponseBackendErrors<R, S>,
R
>;
export const eitherTraiteReponseBackend = <R, S extends GenericSchema<R>>(
corpsReponse: unknown,

View file

@ -6,7 +6,7 @@ export const WCStoreCartCouponsArgSchema = v.object({
});
export const WCStoreCartCouponsSchema = v.object({
// The coupon's unique code.
/** The coupon's unique code. */
code: v.string(),
// The discount type for the coupon (eg percentage or fixed amount)
discount_type: v.string(),
@ -14,18 +14,18 @@ export const WCStoreCartCouponsSchema = v.object({
totals: v.object({
// Currency code (in ISO format) for returned prices.
currency_code: v.string(),
// Currency symbol for the currency which can be used to format returned prices.
currency_symbol: v.string(),
// Currency minor unit (number of digits after the decimal separator) for returned prices.
currency_minor_unit: v.pipe(v.number(), v.integer()),
// Decimal separator for the currency which can be used to format returned prices.
currency_decimal_separator: v.string(),
// Thousand separator for the currency which can be used to format returned prices.
currency_thousand_separator: v.string(),
// Currency minor unit (number of digits after the decimal separator) for returned prices.
currency_minor_unit: v.pipe(v.number(), v.integer()),
// Price prefix for the currency which can be used to format returned prices.
currency_prefix: v.string(),
// Price prefix for the currency which can be used to format returned prices.
currency_suffix: v.string(),
// Currency symbol for the currency which can be used to format returned prices.
currency_symbol: v.string(),
// Thousand separator for the currency which can be used to format returned prices.
currency_thousand_separator: v.string(),
// Total discount applied by this coupon.
total_discount: v.string(),
// Total tax removed due to discount applied by this coupon.

View file

@ -2,6 +2,7 @@ import * as v from "valibot";
import { CATALOG_VISIBILITIES } from "../../../constantes/cart.ts";
import { WCStoreBillingAddressSchema, WCStoreShippingAddressSchema } from "./adresses.ts";
import { WCStoreCartCouponsSchema } from "./cart-coupons.ts";
import { WCStoreShippingRateSchema } from "./couts-livraison.ts";
export const WCStoreCartItemTotalsSchema = v.object({
@ -65,7 +66,8 @@ export const WCStoreCartTotalsSchema = v.object({
export const WCStoreCartSchema = v.object({
billing_address: WCStoreBillingAddressSchema,
coupons: v.unknown(),
/** List of applied basket coupons. */
coupons: v.array(WCStoreCartCouponsSchema),
cross_sells: v.unknown(),
errors: v.unknown(),
extensions: v.unknown(),

View file

@ -5,5 +5,5 @@ import type {
WCStoreCartAddItemArgsSchema,
} from "../../schemas/api/cart-add-item.ts";
export type WCStoreCartAddItemArgsItems = InferOutput<typeof WCStoreCartAddItemArgsItemsSchema>;
export type WCStoreCartAddItemArgs = InferOutput<typeof WCStoreCartAddItemArgsSchema>;
export type WCStoreCartAddItemArgsItems = InferOutput<typeof WCStoreCartAddItemArgsItemsSchema>;

View file

@ -1,4 +1,5 @@
import type { InferOutput } from "valibot";
import type { WCStoreCartApplyCouponArgsSchema } from "../../schemas/api/cart-apply-coupon";
export type WCStoreCartApplyCouponArgs = InferOutput<typeof WCStoreCartApplyCouponArgsSchema>;

View file

@ -1,6 +1,7 @@
import type { InferOutput } from "valibot";
import type { WCStoreCartApplyCouponArgsSchema } from "../../schemas/api/cart-apply-coupon";
import type { WCStoreCartCouponsSchema } from "../../schemas/api/cart-coupons";
export type WCStoreCartCouponsArgs = InferOutput<typeof WCStoreCartApplyCouponArgsSchema>;
export type WCStoreCartCoupons = InferOutput<typeof WCStoreCartCouponsSchema>;
export type WCStoreCartCouponsArgs = InferOutput<typeof WCStoreCartApplyCouponArgsSchema>;

View file

@ -1,4 +1,5 @@
import type { InferOutput } from "valibot";
import type { WCStoreCartRemoveCouponArgsSchema } from "../../schemas/api/cart-remove-coupon";
export type WCStoreCartRemoveCouponArgs = InferOutput<typeof WCStoreCartRemoveCouponArgsSchema>;

View file

@ -6,6 +6,6 @@ import type {
WCStoreShippingRateShippingRateSchema,
} from "../../schemas/api/couts-livraison.ts";
export type WCStoreShippingRateShippingRate = InferOutput<typeof WCStoreShippingRateShippingRateSchema>;
export type WCStoreCartItem = InferOutput<typeof WCStoreCartItemSchema>;
export type WCStoreCart = InferOutput<typeof WCStoreCartSchema>;
export type WCStoreCartItem = InferOutput<typeof WCStoreCartItemSchema>;
export type WCStoreShippingRateShippingRate = InferOutput<typeof WCStoreShippingRateShippingRateSchema>;

View file

@ -3,12 +3,12 @@ import type { InferOutput } from "valibot";
import type { BadRequestError, NotFoundError, ServerError, UnauthorizedError, UnknownError } from "../../erreurs.ts";
import type { WCErrorBodySchema, WCErrorSchema } from "../../schemas/api/erreurs.ts";
export type WCErrorBody = InferOutput<typeof WCErrorBodySchema>;
export type WCError = InferOutput<typeof WCErrorSchema>;
export type APIFetchErrors =
| BadRequestError
| NotFoundError
| ServerError
| UnauthorizedError
| UnknownError;
export type WCError = InferOutput<typeof WCErrorSchema>;
export type WCErrorBody = InferOutput<typeof WCErrorBodySchema>;

View file

@ -7,8 +7,8 @@ import type {
MessageMajContenuPanierSchema,
} from "../schemas/messages.ts";
export type MessageMajBoutonPanierDonnees = InferOutput<typeof MessageMajBoutonPanierDonneesSchema>;
export type MessageMajBoutonPanier = InferOutput<typeof MessageMajBoutonPanierSchema>;
export type MessageMajContenuPanierDonnees = InferOutput<typeof MessageMajContenuPanierDonneesSchema>;
export type MessageMajBoutonPanierDonnees = InferOutput<typeof MessageMajBoutonPanierDonneesSchema>;
export type MessageMajContenuPanier = InferOutput<typeof MessageMajContenuPanierSchema>;
export type MessageMajContenuPanierDonnees = InferOutput<typeof MessageMajContenuPanierDonneesSchema>;

View file

@ -2,18 +2,36 @@
* Scripts pour la gestion des codes promos (coupons) sur la Page Panier.
*/
import { Maybe } from "purify-ts";
import { pipe } from "@mobily/ts-belt";
import { EitherAsync, identity, Maybe } from "purify-ts";
import { match, P } from "ts-pattern";
import { ValiError } from "valibot";
import type { WCStoreCart } from "./lib/types/api/cart";
import type { WCStoreCartApplyCouponArgs } from "./lib/types/api/cart-apply-coupon";
import type { WCStoreCartRemoveCouponArgs } from "./lib/types/api/cart-remove-coupon";
import { ROUTE_API_APPLIQUE_COUPON, ROUTE_API_RETIRE_COUPON } from "./constantes/api";
import {
ATTRIBUT_CODE_PROMO_PRESENT,
ATTRIBUT_DESACTIVE,
ATTRIBUT_HIDDEN,
SELECTEUR_BOUTON_CODE_PROMO,
SELECTEUR_CHAMP_CODE_PROMO,
SELECTEUR_ENSEMBLE_CODE_PROMO,
SELECTEUR_TOTAL_PANIER,
SELECTEUR_TOTAL_REDUCTION,
SELECTEUR_TOTAL_REDUCTION_VALEUR,
} from "./constantes/dom";
import { correspondCibleSelecteur } from "./lib/dom";
import { ServerError } from "./lib/erreurs";
import { estReponse500 } from "./lib/gardes";
import { postBackend } from "./lib/reseau";
import { WCStoreCartSchema } from "./lib/schemas/api/cart";
import { WCStoreCartApplyCouponArgsSchema } from "./lib/schemas/api/cart-apply-coupon";
import { WCStoreCartRemoveCouponArgsSchema } from "./lib/schemas/api/cart-remove-coupon";
import { recupereElementDansDocumentOuLeve } from "./lib/utils";
import { eitherParse } from "./lib/validation";
/** États utiles pour les scripts de la page. */
type EtatsPage = {
@ -27,45 +45,120 @@ type EtatsPage = {
const ETATS_PAGE: EtatsPage = _etats;
const ELEMENTS = {
BOUTON_CODE_PROMO: recupereElementDansDocumentOuLeve<HTMLButtonElement>(SELECTEUR_BOUTON_CODE_PROMO),
CHAMP_CODE_PROMO: recupereElementDansDocumentOuLeve<HTMLInputElement>(SELECTEUR_CHAMP_CODE_PROMO),
ENSEMBLE_CODE_PROMO: recupereElementDansDocumentOuLeve<HTMLDivElement>(SELECTEUR_ENSEMBLE_CODE_PROMO),
TOTAL_PANIER: recupereElementDansDocumentOuLeve<HTMLParagraphElement>(SELECTEUR_TOTAL_PANIER),
TOTAL_REDUCTION_LIGNE: recupereElementDansDocumentOuLeve<HTMLDivElement>(SELECTEUR_TOTAL_REDUCTION),
TOTAL_REDUCTION_VALEUR: recupereElementDansDocumentOuLeve<HTMLSpanElement>(SELECTEUR_TOTAL_REDUCTION_VALEUR),
ENSEMBLE_CODE_PROMO: recupereElementDansDocumentOuLeve<HTMLDivElement>(SELECTEUR_ENSEMBLE_CODE_PROMO),
CHAMP_CODE_PROMO: recupereElementDansDocumentOuLeve<HTMLInputElement>(SELECTEUR_CHAMP_CODE_PROMO),
BOUTON_CODE_PROMO: recupereElementDansDocumentOuLeve<HTMLButtonElement>(SELECTEUR_BOUTON_CODE_PROMO),
};
const initialiseElementsCodePromo = (): void => {
// Récupère la présence s'il existe
const recupereCodePromo = (): null | string =>
Maybe
.fromFalsy(ELEMENTS.ENSEMBLE_CODE_PROMO.hasAttribute(ATTRIBUT_CODE_PROMO_PRESENT))
.chain(() => Maybe.fromNullable(ELEMENTS.CHAMP_CODE_PROMO.value))
.extractNullable();
export const initialiseElementsCodePromo = (): void => {
// Récupère le code promo s'il existe
const recupereCodePromoValeur = (): null | string =>
Maybe.fromFalsy(ELEMENTS.CHAMP_CODE_PROMO.value.trim()).extractNullable();
const recupereCodePromoPresent = (): boolean =>
ELEMENTS.ENSEMBLE_CODE_PROMO.hasAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
// Créé la délégation d'Événements
ELEMENTS.ENSEMBLE_CODE_PROMO.addEventListener("click", (evenement: Event) => {
match({
codePromo: recupereCodePromo(),
cible: evenement.target,
})
.with(
{
codePromo: P.string,
cible: P.when(cible => correspondCibleSelecteur<HTMLButtonElement>(cible, SELECTEUR_BOUTON_CODE_PROMO)),
},
v => {
console.debug(v);
},
)
// Ne rien faire en cas de code promo absent
.with(
{
codePromo: P.nullish,
cible: P.when(cible => correspondCibleSelecteur<HTMLButtonElement>(cible, SELECTEUR_BOUTON_CODE_PROMO)),
},
v => {
console.debug(v);
},
);
});
ELEMENTS.ENSEMBLE_CODE_PROMO.addEventListener(
"click",
(evenement: Event) =>
match({
cible: evenement.target,
codePromoPresent: recupereCodePromoPresent(),
codePromoValeur: recupereCodePromoValeur(),
})
// Un code promo doit être ajouté
.with(
{
cible: P.when(cible => correspondCibleSelecteur<HTMLButtonElement>(cible, SELECTEUR_BOUTON_CODE_PROMO)),
codePromoPresent: false,
codePromoValeur: P.string,
},
({ codePromoValeur }) =>
void EitherAsync
.liftEither(eitherParse({ code: codePromoValeur }, WCStoreCartApplyCouponArgsSchema))
.map((args: WCStoreCartApplyCouponArgs) =>
postBackend({
corps: JSON.stringify(args),
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_APPLIQUE_COUPON,
})
)
.chain((reponse: Response) =>
EitherAsync<ServerError, unknown>(async ({ throwE }) => {
if (estReponse500(reponse)) throwE(new ServerError("500 Server Error"));
return await reponse.json();
})
)
.chain((corpsReponse: unknown) => EitherAsync.liftEither(eitherParse(corpsReponse, WCStoreCartSchema)))
.ifRight((panier: WCStoreCart) => {
const totalReduction = pipe(Number(panier.totals.total_discount) / 100, String, v => `-${v}`);
const totalPanier = pipe(Number(panier.totals.total_price) / 100, String, v => `${v}`);
ELEMENTS.BOUTON_CODE_PROMO.textContent = "Remove";
ELEMENTS.CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);
ELEMENTS.CHAMP_CODE_PROMO.value = panier.coupons[0]?.code ?? "";
ELEMENTS.ENSEMBLE_CODE_PROMO.toggleAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
ELEMENTS.TOTAL_PANIER.textContent = totalPanier;
ELEMENTS.TOTAL_REDUCTION_LIGNE.toggleAttribute(ATTRIBUT_HIDDEN);
ELEMENTS.TOTAL_REDUCTION_VALEUR.textContent = totalReduction;
})
.ifLeft(erreur =>
match(erreur)
.with(P.instanceOf(ValiError), e => console.error("retour ajout code promo", e.issues))
.with(P.instanceOf(ServerError), e => console.error("retour ajout code promo", e))
.with(P.instanceOf(TypeError), e => console.error("retour ajout code promo", e))
.exhaustive()
)
.run(),
)
// Un code promo doit être retiré
.with(
{
cible: P.when(cible => correspondCibleSelecteur<HTMLButtonElement>(cible, SELECTEUR_BOUTON_CODE_PROMO)),
codePromoPresent: true,
codePromoValeur: P.string,
},
({ codePromoValeur }) =>
void EitherAsync
.liftEither(eitherParse({ code: codePromoValeur }, WCStoreCartRemoveCouponArgsSchema))
.map((args: WCStoreCartRemoveCouponArgs) =>
postBackend({
corps: JSON.stringify(args),
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_RETIRE_COUPON,
})
)
.chain((reponse: Response) =>
EitherAsync<ServerError, unknown>(async ({ throwE }) => {
if (estReponse500(reponse)) throwE(new ServerError("500 server Error"));
return await reponse.json();
})
)
.chain((corpsReponse: unknown) => EitherAsync.liftEither(eitherParse(corpsReponse, WCStoreCartSchema)))
.ifRight((panier: WCStoreCart) => {
const totalPanier = pipe(Number(panier.totals.total_price) / 100, String, v => `${v}`);
ELEMENTS.BOUTON_CODE_PROMO.textContent = "Apply";
ELEMENTS.CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);
ELEMENTS.CHAMP_CODE_PROMO.value = "";
ELEMENTS.ENSEMBLE_CODE_PROMO.toggleAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
ELEMENTS.TOTAL_PANIER.textContent = totalPanier;
ELEMENTS.TOTAL_REDUCTION_LIGNE.toggleAttribute(ATTRIBUT_HIDDEN);
ELEMENTS.TOTAL_REDUCTION_VALEUR.textContent = "-0€";
})
.ifLeft(erreur =>
match(erreur)
.with(P.instanceOf(ValiError), e => console.error("retour ajout code promo", e.issues))
.with(P.instanceOf(ServerError), e => console.error("retour ajout code promo", e))
.with(P.instanceOf(TypeError), e => console.error("retour ajout code promo", e))
.exhaustive()
)
.run(),
)
// Ne rien faire en dehors de ces deux situations
.with(P._, identity),
);
};

View file

@ -5,6 +5,8 @@ import { parse, ValiError } from "valibot";
import type { MessageMajContenuPanierSchema } from "./lib/schemas/messages.ts";
import type { WCStoreCart, WCStoreCartItem, WCStoreShippingRateShippingRate } from "./lib/types/api/cart";
import type { WCStoreCartApplyCouponArgs } from "./lib/types/api/cart-apply-coupon";
import type { WCStoreCartRemoveCouponArgs } from "./lib/types/api/cart-remove-coupon";
import type { WCStoreCartRemoveItemArgs } from "./lib/types/api/cart-remove-item";
import type { WCStoreCartUpdateCustomerArgs } from "./lib/types/api/cart-update-customer";
import type { WCStoreCartUpdateItemArgs } from "./lib/types/api/cart-update-item";
@ -43,9 +45,9 @@ import {
SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT,
SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE,
SELECTEUR_SOUS_TOTAL_PRODUITS,
SELECTEUR_TOTAL_PANIER,
SELECTEUR_TOTAL_REDUCTION,
SELECTEUR_TOTAL_REDUCTION_VALEUR,
SELECTEUR_TOTAL_PANIER,
} from "./constantes/dom.ts";
import { NOM_CANAL_BOUTON_PANIER, NOM_CANAL_CONTENU_PANIER } from "./constantes/messages.ts";
import {
@ -72,8 +74,6 @@ import { WCStoreCartUpdateItemArgsSchema } from "./lib/schemas/api/cart-update-i
import { WCStoreCartSchema } from "./lib/schemas/api/cart.ts";
import { WCStoreShippingRateShippingRateSchema } from "./lib/schemas/api/couts-livraison.ts";
import { WCV3OrdersArgsSchema, WCV3OrderSchema } from "./lib/schemas/api/v3/orders.ts";
import type { WCStoreCartApplyCouponArgs } from "./lib/types/api/cart-apply-coupon";
import type { WCStoreCartRemoveCouponArgs } from "./lib/types/api/cart-remove-coupon";
import {
propEither,
recupereElementDansDocumentOuLeve,
@ -81,13 +81,7 @@ import {
recupereElementsDocumentEither,
} from "./lib/utils.ts";
import { eitherParse } from "./lib/validation.ts";
/** États utiles pour les scripts de la page. */
type EtatsPage = {
authString: string;
/** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */
nonce: string;
};
import { initialiseElementsCodePromo } from "./scripts-page-panier-code-promo.ts";
type ElementsEntreePanier = {
boutonAddition: HTMLButtonElement;
@ -96,6 +90,13 @@ type ElementsEntreePanier = {
champQuantite?: HTMLInputElement;
};
/** États utiles pour les scripts de la page. */
type EtatsPage = {
authString: string;
/** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */
nonce: string;
};
// @ts-expect-error -- États injectés par le modèle PHP
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP
const ETATS_PAGE: EtatsPage = _etats;
@ -141,7 +142,7 @@ const ENSEMBLE_CODE_PROMO: HTMLDivElement = recupereElementDansDocumentOuLeve(
const CHAMP_CODE_PROMO: HTMLInputElement = recupereElementDansDocumentOuLeve(
SELECTEUR_CHAMP_CODE_PROMO,
);
let BOUTON_CODE_PROMO: HTMLButtonElement = recupereElementDansDocumentOuLeve(
const BOUTON_CODE_PROMO: HTMLButtonElement = recupereElementDansDocumentOuLeve(
SELECTEUR_BOUTON_CODE_PROMO,
);
const FORMULAIRE_PANIER: HTMLFormElement = pipe(
@ -584,130 +585,6 @@ const initialiseBoutonActions = (): void => {
});
};
const initialiseElementsCodePromo = (): void => {
// Récupérer un code promo assigné au Panier s'il existe
const codePromoPresent = ENSEMBLE_CODE_PROMO.hasAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
BOUTON_CODE_PROMO.outerHTML = BOUTON_CODE_PROMO.outerHTML;
BOUTON_CODE_PROMO = recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_CODE_PROMO);
// Au clic, retire le code promo présent
if (codePromoPresent) {
BOUTON_CODE_PROMO.addEventListener("click", () => {
const code = CHAMP_CODE_PROMO.value;
EitherAsync
.liftEither(eitherParse<typeof WCStoreCartRemoveCouponArgsSchema>({ code }, WCStoreCartRemoveCouponArgsSchema))
.map((args: WCStoreCartRemoveCouponArgs) =>
postBackend({
corps: JSON.stringify(args),
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_RETIRE_COUPON,
})
)
// Traite le cas d'une erreur 500 et récupère le corps de la Réponse
.chain(async (reponse: Response) =>
EitherAsync<ServerError, unknown>(async ({ throwE }) => {
if (estReponse500(reponse)) throwE(new ServerError("500 Server Error"));
return await reponse.json();
})
)
// Vérifie le schéma de la Réponse
.chain((corpsReponse: unknown) =>
EitherAsync<ValiError<typeof WCStoreCartSchema>, WCStoreCart>(({ liftEither }) =>
liftEither(eitherParse(corpsReponse, WCStoreCartSchema))
)
)
.ifRight((panier: WCStoreCart) => {
const totalPanier: string = `${String(Number(panier.totals.total_price) / 100)}`;
ENSEMBLE_CODE_PROMO.removeAttribute(ATTRIBUT_CODE_PROMO_PRESENT);
BOUTON_CODE_PROMO.textContent = "Apply";
CHAMP_CODE_PROMO.value = "";
CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);
TOTAL_PANIER.textContent = totalPanier;
SOUS_TOTAL_REDUCTION_VALEUR.textContent = "-0€";
SOUS_TOTAL_REDUCTION_LIGNE.setAttribute(ATTRIBUT_HIDDEN, "");
initialiseElementsCodePromo();
})
.ifLeft(e => {
console.error("requête", e);
if (e instanceof ValiError) console.error(e.issues);
})
.run();
});
return;
}
// Au clic, ajoute le code promo demandé
BOUTON_CODE_PROMO.addEventListener("click", () => {
// Récupère le code promo du champ et valide sa forme
const codePromo: Either<
TypeError | ValiError<typeof WCStoreCartApplyCouponArgsSchema>,
WCStoreCartApplyCouponArgs
> = Maybe
.fromFalsy(CHAMP_CODE_PROMO.value.trim())
// Transforme le Maybe en Either avec à Gauche une Erreur en cas d'absence de valeur, à Droite le code renseigné
.toEither(new TypeError("Aucun code promo n'a été renseigné."))
.chain((code: string) => eitherParse({ code }, WCStoreCartApplyCouponArgsSchema))
.ifRight((args: WCStoreCartApplyCouponArgs) => console.debug(args))
// Traitement différencié des Erreurs
.ifLeft(erreur =>
match(erreur)
.with(P.instanceOf(ValiError), e => console.error("codePromo", e.issues))
.with(P.instanceOf(TypeError), e => console.error("codePromo", e))
.exhaustive()
);
EitherAsync
.liftEither(codePromo)
// Réalise la requête
.map(async args =>
await postBackend({
corps: JSON.stringify(args),
nonce: ETATS_PAGE.nonce,
route: ROUTE_API_APPLIQUE_COUPON,
})
)
// Traite le cas d'une erreur 500 et récupère le corps de la Réponse
.chain(async (reponse: Response) =>
EitherAsync<ServerError, unknown>(async ({ throwE }) => {
if (estReponse500(reponse)) throwE(new ServerError("500 Server Error"));
return await reponse.json();
})
)
// Vérifie le schéma de la Réponse
.chain((corpsReponse: unknown) =>
EitherAsync<ValiError<typeof WCStoreCartSchema>, WCStoreCart>(({ liftEither }) =>
liftEither(eitherParse(corpsReponse, WCStoreCartSchema))
)
)
.ifRight((panier: WCStoreCart) => {
const totalReduction: string = `-${String(Number(panier.totals.total_discount) / 100)}`;
const totalPanier: string = `${Number(panier.totals.total_price) / 100}`;
ENSEMBLE_CODE_PROMO.setAttribute(ATTRIBUT_CODE_PROMO_PRESENT, "");
BOUTON_CODE_PROMO.textContent = "Remove";
CHAMP_CODE_PROMO.value = panier.coupons[0].code;
CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);
TOTAL_PANIER.textContent = totalPanier;
SOUS_TOTAL_REDUCTION_VALEUR.textContent = totalReduction;
SOUS_TOTAL_REDUCTION_LIGNE.removeAttribute(ATTRIBUT_HIDDEN);
initialiseElementsCodePromo();
})
.ifLeft(e => {
console.error("requête", e);
if (e instanceof ValiError) console.error(e.issues);
})
.run();
});
};
const initialiseBoutonCreationCommande = (): void => {
// Permet de supprimer tout Écouteur d'Évènement assigné au Bouton
BOUTON_ACTIONS_FORMULAIRE.outerHTML = BOUTON_ACTIONS_FORMULAIRE.outerHTML;
@ -769,8 +646,8 @@ const initialiseBoutonCreationCommande = (): void => {
postcode: donneesFormulaire["facturation-code-postal"] ?? donneesFormulaire["livraison-code-postal"] ?? "",
state: donneesFormulaire["facturation-region-etat"] ?? donneesFormulaire["livraison-region-etat"] ?? "",
},
customer_note: INSTRUCTIONS_CLIENT.value,
currency: methodeLivraison.currency_code,
customer_note: INSTRUCTIONS_CLIENT.value,
line_items: articlesPanier,
shipping: {
address_1: donneesFormulaire["livraison-adresse"] ?? "",

View file

@ -31,8 +31,8 @@ import { leveServerError, reporteErreur } from "./lib/erreurs.ts";
import { estError, estHTMLSelectElement, estReponse500 } from "./lib/gardes.ts";
import { emetMessageMajBoutonPanier } from "./lib/messages.ts";
import { traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts";
import { WCStoreCartSchema } from "./lib/schemas/api/cart.ts";
import { WCStoreCartAddItemArgsSchema } from "./lib/schemas/api/cart-add-item.ts";
import { WCStoreCartSchema } from "./lib/schemas/api/cart.ts";
import {
recupereElementDansDocumentOuLeve,
recupereElementDocumentEither,
@ -41,6 +41,7 @@ import {
} from "./lib/utils.ts";
import { eitherParse } from "./lib/validation.ts";
type EnsembleLienContenu = [HTMLAnchorElement, HTMLElement];
/** États utiles pour les scripts de la page. */
type EtatsPage = {
/** L'ID en base de données du Produit. */
@ -48,7 +49,6 @@ type EtatsPage = {
/** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */
nonce: string;
};
type EnsembleLienContenu = [HTMLAnchorElement, HTMLElement];
// @ts-expect-error -- États injectés par le modèle PHP
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP

View file

@ -1,12 +1,12 @@
/// <reference types="vite/client" />
interface ImportMeta {
readonly env: ImportMetaEnv;
}
interface ImportMetaEnv {
/** URL du endpoint pour le report d'Erreurs au service GlitchTip. */
readonly VITE_GLITCHTIP_NSD: string;
/** URL du site. */
readonly VITE_URL: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}