diff --git a/.vscode/settings.json b/.vscode/settings.json index 7f2744ab..1a59561c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -23,6 +23,7 @@ "Epingle", "EPINGLE", "EPINGLES", + "etat", "etats", "ETATS", "etendu", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 53d705a4..6da0a50b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1271,8 +1271,9 @@ packages: resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} engines: {node: '>= 14.16.0'} - cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + cipher-base@1.0.5: + resolution: {integrity: sha512-xq7ICKB4TMHUx7Tz1L9O2SGKOhYMOTR32oir45Bq28/AQTpHogKgHcoYFSdRbMtddl+ozNXfXY9jWcgYKmde0w==} + engines: {node: '>= 0.10'} clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} @@ -1346,8 +1347,8 @@ packages: cross-spawn@5.1.0: resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@7.0.5: - resolution: {integrity: sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} crypto-browserify@3.12.1: @@ -1633,8 +1634,8 @@ packages: resolution: {integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==} engines: {node: '>=18'} - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} focusable-selectors@0.8.4: resolution: {integrity: sha512-0XxbkD0KhOnX10qmnfF9U8DkDD8N/e4M77wMYw2Itoi4vdcoRjSkqXLZFIzkrLIOxzmzCGy88fNG1EbeXMD/zw==} @@ -2288,8 +2289,8 @@ packages: purify-ts@2.1.0: resolution: {integrity: sha512-+KNUHV9FxB9BbjadFdvxa+LNJIaqZmSF7CQH5Rv6+f0rBzsxm9FEqrvkALQbWYJobAja2ZCbBDUY7O4fH2znMA==} - qs@6.13.0: - resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + qs@6.13.1: + resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} engines: {node: '>=0.6'} querystring-es3@0.2.1: @@ -3850,7 +3851,7 @@ snapshots: browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 - cipher-base: 1.0.4 + cipher-base: 1.0.5 create-hash: 1.2.0 evp_bytestokey: 1.0.3 inherits: 2.0.4 @@ -3864,7 +3865,7 @@ snapshots: browserify-des@1.0.2: dependencies: - cipher-base: 1.0.4 + cipher-base: 1.0.5 des.js: 1.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 @@ -3948,7 +3949,7 @@ snapshots: readdirp: 4.0.2 optional: true - cipher-base@1.0.4: + cipher-base@1.0.5: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 @@ -4004,7 +4005,7 @@ snapshots: create-hash@1.2.0: dependencies: - cipher-base: 1.0.4 + cipher-base: 1.0.5 inherits: 2.0.4 md5.js: 1.3.5 ripemd160: 2.0.2 @@ -4012,7 +4013,7 @@ snapshots: create-hmac@1.1.7: dependencies: - cipher-base: 1.0.4 + cipher-base: 1.0.5 create-hash: 1.2.0 inherits: 2.0.4 ripemd160: 2.0.2 @@ -4027,7 +4028,7 @@ snapshots: shebang-command: 1.2.0 which: 1.3.1 - cross-spawn@7.0.5: + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -4219,7 +4220,7 @@ snapshots: '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 debug: 4.3.7 escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 @@ -4283,7 +4284,7 @@ snapshots: execa@5.1.1: dependencies: - cross-spawn: 7.0.5 + cross-spawn: 7.0.6 get-stream: 6.0.1 human-signals: 2.1.0 is-stream: 2.0.1 @@ -4369,15 +4370,15 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.1 + flatted: 3.3.2 keyv: 4.5.4 flat-cache@5.0.0: dependencies: - flatted: 3.3.1 + flatted: 3.3.2 keyv: 4.5.4 - flatted@3.3.1: {} + flatted@3.3.2: {} focusable-selectors@0.8.4: {} @@ -4986,7 +4987,7 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - qs@6.13.0: + qs@6.13.1: dependencies: side-channel: 1.0.6 @@ -5521,7 +5522,7 @@ snapshots: url@0.11.4: dependencies: punycode: 1.4.1 - qs: 6.13.0 + qs: 6.13.1 util-deprecate@1.0.2: {} diff --git a/web/app/themes/haiku-atelier-2024/assets/css/main.css b/web/app/themes/haiku-atelier-2024/assets/css/main.css index 139b9f65..ba956415 100644 --- a/web/app/themes/haiku-atelier-2024/assets/css/main.css +++ b/web/app/themes/haiku-atelier-2024/assets/css/main.css @@ -46,7 +46,6 @@ --couleur-fond: rgb(236 234 235 / 80%); /* Polices */ --police-lato: "Lato", sans-serif; - --police-myriad: "Myriad", sans-serif; /* Hauteurs de ligne */ --hauteur-ligne-classique: 1.5; --hauteur-ligne-moitie: 1.2; diff --git a/web/app/themes/haiku-atelier-2024/assets/css/main.css.map b/web/app/themes/haiku-atelier-2024/assets/css/main.css.map index 1905504e..0a1f4cbc 100644 --- a/web/app/themes/haiku-atelier-2024/assets/css/main.css.map +++ b/web/app/themes/haiku-atelier-2024/assets/css/main.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../../src/sass/base/polices/_lato.scss","../../src/sass/base/polices/_myriad.scss","../../src/sass/abstracts/_variables.scss","../../src/sass/base/_base.scss","../../src/sass/base/_typographie.scss","../../src/sass/base/elements/_boutons.scss","../../src/sass/base/elements/_formulaires.scss","../../src/sass/base/elements/_images.scss","../../src/sass/base/elements/_liens.scss","../../src/sass/base/elements/_listes.scss","../../src/sass/layouts/_menu-mobile.scss","../../src/sass/layouts/_en-tete.scss","../../src/sass/layouts/_menu-categories-produits.scss","../../src/sass/layouts/_colonnes-photos.scss","../../src/sass/layouts/_grille-produits.scss","../../src/sass/layouts/_informations-produit.scss","../../src/sass/layouts/_produits-similaires.scss","../../src/sass/layouts/_pied-de-page.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EACA;EACA;EACA,KACE;EAQF,eACE;;AAmBJ;EACE;EACA;EACA;EACA;EACA,KACE;EAQF,eACE;;ACjDJ;EACE;EACA;EACA;EACA;EACA;EACA,KACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA,KACE;;ACjBJ;AACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;AAAA;AAKA;EACA;EACA;EACA;EACA;EACA;;;AC9CF;AAAA;AAAA;AAGA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;EACE;EACA;;;AAGF;AAAA;AAAA;AAGA;EACE;;;AAGF;AAAA;AAAA;AAGA;EACE;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;;;AAGF;AAAA;AAAA;AAGA;EACE;IACE;IACA;IACA;;;AChEJ;AAAA;AAAA;AAAA;AAIA;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AC1BA;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;IACE;IACA;;;AAKN;EACE;EAEA;;AAIF;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;EACA;;AAIA;EADF;IAEI;;;;AC9DN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EAEA;;;AAKF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;;AAQJ;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;AAwBA;AAAA;AAAA;;AAtBA;EACE;;AAGA;EACE;EACA;EACA;EACA;;AAGF;EACE;IACE;;;AAKN;EACE;;AAMF;EACE;EACA;;AAGF;EACE;IACE;;;;AAMJ;EACE;;AAGF;EACE;IACE;;;;ACpGN;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;EACE;EACA;;;ACZF;AAAA;AAAA;AAAA;AAAA;AAKA;AACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA,YACE,uIAM4B;EAE9B;AAEA;AAKA;AA8BA;AAiBA;;AAnDA;EACE;;AAIF;AACE;EACA;EACA;AAEA;EACA;EAEA;EACA;AAEA;AAKA;AAKA;;AATA;EACE;;AAIF;EACE;;AAIF;EACE;IACE;;;AAMN;EACE;;AAEA;EACE;EACA;;AAGF;EACE;IACE;IACA;;;AAOJ;EACE;IACE;;;;ACjFR;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMA;AACE;EACA;AAEA;EACA;AAEA;EACA;;AAEA;EACE;EACA,qLAEkE;;;AC3BxE;EACE;EACA;;;AAGF;EAEE;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAOV;EArEF;IAsEI;;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AC5FJ;EAEE;EACA;EAGA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAeA;;AAbA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;AAUA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AARA;EACE;EACA;EACA;EACA;EACA;;AAYF;AACE;EACA;EACA;EACA;AAEA;EACA;;AAEA;EACE;EACA,yFAC2C;EAE3C;;AAGF;EACE;;AAIF;EACE;IACE;;;AAOJ;EADF;IAEI;;;AAKN;EACE;EACA;EACA;EACA;EACA;AAaA;AAAA;AAAA;;AAXA;EACE;;AAGA;EACE;EACA;EACA;;AAOJ;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;ACpIR;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACE;EACA;EAGA;EACA;EAIA;EACA;AAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AApCE;EACE;;AAKF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAIF;EApBF;IAqBI;;;AAWJ;EACE;EACA,uBACE;EACF;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAgBA;AAAA;AAAA;AAAA;AAAA;;AAbE;EACE;EACA;EACA;;AAEA;EACE;IACE;;;AAWR;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;IACE;IACA;;;AAMR;EA5DF;IA6DI;IAEA;IACA;IACA;;EAEA;IACE;IACA;;EAEA;IACE;IACA;;;AAMN;EA/EF;IAgFI;IACA;IACA;;EAEA;IACE;IACA;;;;ACnJR;EAEE;EAEA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAKF;EACE;EACA;;AAKF;EACE;EACA;;AAIJ;EACE;IACE;;;;AAKN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EAEE;EAGA;EACA;AAAA;AAAA;EAGA;EAGA;EAEA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGA;EACE;;AAKF;EACE;EACA;;AAIF;EACE;EACA;;AAMN;EApDF;IAqDI;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;;EAEA;IACE;;EAIJ;IACE;;EAEA;IACE;IACA;;EAEA;IACE;;;;AC1JZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA,uBACE;EACF;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EAEI;IACE;IACA;IACA;;;AAMR;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAMR;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;IACE;;EAEA;IACE;;;;AAMR;EACE;IACE;;;ACjJJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EAEE;EACA;EAGA;EACA;EAEA;EACA;EACA;EACA;EACA;AA8HA;;AA5HA;EACE;EACA;EACA;EACA;EACA;AAIA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;IACE;;;AAQR;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;AAEA;AA2BA;;AA1BA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;IACE;;;AAKN;EACE;;AAIF;EACE;AAEA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEI;IACE;IACA;;;AAKN;EAEI;IACE;IACA;;;AAOV;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIE;EACE;IACE;;;AAQV;EA5QF;IA6QI;;EAEA;IACE;IACA;IACA;IACA;IACA;;;AAKJ;EAzRF;IA0RI;IACA;IAEA;IACA;IACA;IACA;IACA;;EAEA;IACE;;;;AC3SN;EAEE;EACA;EAEA;EACA;EACA,qBACE;EAEF;EACA;EACA;EACA;AAEA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EAEI;IACE;IACA;IACA;;;AAMR;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAMR;EACE;IACE;;EAEA;IACE;;;;ACjHV;AACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA","file":"main.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../../src/sass/base/polices/_lato.scss","../../src/sass/base/polices/_myriad.scss","../../src/sass/abstracts/_variables.scss","../../src/sass/base/_base.scss","../../src/sass/base/_typographie.scss","../../src/sass/base/elements/_boutons.scss","../../src/sass/base/elements/_formulaires.scss","../../src/sass/base/elements/_images.scss","../../src/sass/base/elements/_liens.scss","../../src/sass/base/elements/_listes.scss","../../src/sass/layouts/_menu-mobile.scss","../../src/sass/layouts/_en-tete.scss","../../src/sass/layouts/_menu-categories-produits.scss","../../src/sass/layouts/_colonnes-photos.scss","../../src/sass/layouts/_grille-produits.scss","../../src/sass/layouts/_informations-produit.scss","../../src/sass/layouts/_produits-similaires.scss","../../src/sass/layouts/_pied-de-page.scss"],"names":[],"mappings":";AAAA;EACE;EACA;EACA;EACA;EACA,KACE;EAQF,eACE;;AAmBJ;EACE;EACA;EACA;EACA;EACA,KACE;EAQF,eACE;;ACjDJ;EACE;EACA;EACA;EACA;EACA;EACA,KACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA,KACE;;ACjBJ;AACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;AAEA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;AAAA;AAAA;EAGA;AAAA;AAAA;AAAA;AAKA;EACA;EACA;EACA;EACA;EACA;;;AC7CF;AAAA;AAAA;AAGA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;EACE;EACA;;;AAGF;AAAA;AAAA;AAGA;EACE;;;AAGF;AAAA;AAAA;AAGA;EACE;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;;;AAGF;AAAA;AAAA;AAGA;EACE;IACE;IACA;IACA;;;AChEJ;AAAA;AAAA;AAAA;AAIA;EACE;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AC1BA;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;IACE;IACA;;;AAKN;EACE;EAEA;;AAIF;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAKN;EACE;EACA;;AAIA;EADF;IAEI;;;;AC9DN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EAEA;;;AAKF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;;AAQJ;EACE;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;AAwBA;AAAA;AAAA;;AAtBA;EACE;;AAGA;EACE;EACA;EACA;EACA;;AAGF;EACE;IACE;;;AAKN;EACE;;AAMF;EACE;EACA;;AAGF;EACE;IACE;;;;AAMJ;EACE;;AAGF;EACE;IACE;;;;ACpGN;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;;;AAGF;EACE;EACA;;;ACZF;AAAA;AAAA;AAAA;AAAA;AAKA;AACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA,YACE,uIAM4B;EAE9B;AAEA;AAKA;AA8BA;AAiBA;;AAnDA;EACE;;AAIF;AACE;EACA;EACA;AAEA;EACA;EAEA;EACA;AAEA;AAKA;AAKA;;AATA;EACE;;AAIF;EACE;;AAIF;EACE;IACE;;;AAMN;EACE;;AAEA;EACE;EACA;;AAGF;EACE;IACE;IACA;;;AAOJ;EACE;IACE;;;;ACjFR;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMA;AACE;EACA;AAEA;EACA;AAEA;EACA;;AAEA;EACE;EACA,qLAEkE;;;AC3BxE;EACE;EACA;;;AAGF;EAEE;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAOV;EArEF;IAsEI;;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AAIJ;EACE;IACE;;;AC5FJ;EAEE;EACA;EAGA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAeA;;AAbA;EACE;;AAEA;EACE;;AAGF;EACE;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;AAUA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AARA;EACE;EACA;EACA;EACA;EACA;;AAYF;AACE;EACA;EACA;EACA;AAEA;EACA;;AAEA;EACE;EACA,yFAC2C;EAE3C;;AAGF;EACE;;AAIF;EACE;IACE;;;AAOJ;EADF;IAEI;;;AAKN;EACE;EACA;EACA;EACA;EACA;AAaA;AAAA;AAAA;;AAXA;EACE;;AAGA;EACE;EACA;EACA;;AAOJ;EACE;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;;ACpIR;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACE;EACA;EAGA;EACA;EAIA;EACA;AAuCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AApCE;EACE;;AAKF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAIF;EApBF;IAqBI;;;AAWJ;EACE;EACA,uBACE;EACF;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAgBA;AAAA;AAAA;AAAA;AAAA;;AAbE;EACE;EACA;EACA;;AAEA;EACE;IACE;;;AAWR;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;IACE;IACA;;;AAMR;EA5DF;IA6DI;IAEA;IACA;IACA;;EAEA;IACE;IACA;;EAEA;IACE;IACA;;;AAMN;EA/EF;IAgFI;IACA;IACA;;EAEA;IACE;IACA;;;;ACnJR;EAEE;EAEA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAKF;EACE;EACA;;AAKF;EACE;EACA;;AAIJ;EACE;IACE;;;;AAKN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EAEE;EAGA;EACA;AAAA;AAAA;EAGA;EAGA;EAEA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGA;EACE;;AAKF;EACE;EACA;;AAIF;EACE;EACA;;AAMN;EApDF;IAqDI;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;IACA;;EAEA;IACE;;EAGF;IACE;IACA;;EAEA;IACE;;EAIJ;IACE;;EAEA;IACE;IACA;;EAEA;IACE;;;;AC1JZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;EAEE;EACA;EACA;EACA;EAEA;EACA;EACA,uBACE;EACF;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EAEI;IACE;IACA;IACA;;;AAMR;EACE;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAMR;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;IACE;;EAEA;IACE;;;;AAMR;EACE;IACE;;;ACjJJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EAEE;EACA;EAGA;EACA;EAEA;EACA;EACA;EACA;EACA;AA8HA;;AA5HA;EACE;EACA;EACA;EACA;EACA;AAIA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;IACE;;;AAQR;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;AAEA;AA2BA;;AA1BA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;IACE;;;AAKN;EACE;;AAIF;EACE;AAEA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EAEI;IACE;IACA;;;AAKN;EAEI;IACE;IACA;;;AAOV;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAIE;EACE;IACE;;;AAQV;EA5QF;IA6QI;;EAEA;IACE;IACA;IACA;IACA;IACA;;;AAKJ;EAzRF;IA0RI;IACA;IAEA;IACA;IACA;IACA;IACA;;EAEA;IACE;;;;AC3SN;EAEE;EACA;EAEA;EACA;EACA,qBACE;EAEF;EACA;EACA;EACA;AAEA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EAEI;IACE;IACA;IACA;;;AAMR;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAMR;EACE;IACE;;EAEA;IACE;;;;ACjHV;AACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA","file":"main.css"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/css/main.min.css b/web/app/themes/haiku-atelier-2024/assets/css/main.min.css index 619403ca..281ccf99 100644 --- a/web/app/themes/haiku-atelier-2024/assets/css/main.min.css +++ b/web/app/themes/haiku-atelier-2024/assets/css/main.min.css @@ -1 +1 @@ -@font-face{font-family:Lato;font-weight:100 900;font-style:normal;font-display:swap;src:url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2)format("woff2")tech(variations),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2)format("woff2-variations"),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2)format("woff2"),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.ttf)format("truetype");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-weight:100 900;font-style:italic;font-display:swap;src:url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2)format("woff2")tech(variations),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2)format("woff2-variations"),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2)format("woff2"),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.ttf)format("truetype");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Myriad;font-weight:300 900;font-style:normal;font-display:swap;font-stretch:70% 110%;src:url(/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable.woff2)format("woff2"),url(/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable.ttf)format("truetype")}@font-face{font-family:Myriad;font-weight:300 900;font-style:italic;font-display:swap;font-stretch:70% 110%;src:url(/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable-italic.woff2)format("woff2"),url(/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable-italic.ttf)format("truetype")}:root{--couleur-blanc:#fff;--couleur-blanc-fond:#ffffffe6;--couleur-gris:#eceaeb;--couleur-gris-fonce:gray;--couleur-gris-fonce-fond:#808080cc;--couleur-bordeaux:#490918;--couleur-bordeaux-fond:#490918cc;--couleur-jaune:#ebffb8;--couleur-jaune-fond:#ebffb8cc;--couleur-noir:#202020;--couleur-fond:#eceaebcc;--police-lato:"Lato",sans-serif;--police-myriad:"Myriad",sans-serif;--hauteur-ligne-classique:1.5;--hauteur-ligne-moitie:1.2;--hauteur-ligne-compacte:1.1;--hauteur-ligne-rapprochee:1;--espacement-inter-lettres-rapproche-s:-.5px;--espacement-inter-lettres-etendu-s:.5px;--espacement-inter-lettres-etendu-m:1px;--espacement-inter-lettres-etendu-l:1.5px;--espacement-inter-lettres-etendu-xl:2px;--en-tete-hauteur:61px;--menu-categories-produits-hauteur:54.39px;--pied-de-page-hauteur:calc(var(--espace-m)*2 + 3lh);--contenu-page-hauteur-minimale-sans-categories:calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));--contenu-page-hauteur-minimale-avec-categories:calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--menu-categories-produits-hauteur));--espace-xs:.25rem;--espace-s:.5rem;--espace-m:1rem;--espace-l:1.25rem;--espace-xl:2rem}html{box-sizing:border-box}*,:before,:after{box-sizing:inherit;font:inherit;color:inherit;margin:0;padding:0}body{accent-color:var(--couleur-jaune);background:var(--couleur-gris)}button,input,select,textarea{font:inherit}::selection{background:var(--couleur-jaune)}[hidden]{display:none!important}[disabled]{cursor:not-allowed}@media (prefers-reduced-motion){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:0s!important}}html{font:1rem/var(--hauteur-ligne-classique)Lato;font-optical-sizing:auto;font-kerning:normal;font-variant-ligatures:common-ligatures no-discretionary-ligatures no-historical-ligatures contextual;-webkit-font-smoothing:antialiased;color:var(--couleur-noir);text-decoration-skip-ink:auto;text-size-adjust:none;text-rendering:geometricprecision;letter-spacing:var(--espacement-inter-lettres-etendu-s)}strong{font-weight:600}em{font-style:italic}button{all:initial;cursor:pointer;box-sizing:border-box;text-align:center;letter-spacing:inherit;outline:2px solid #0000;font-family:Lato;transition:background .2s,color .2s}button:not[disabled]:focus-visible{z-index:5;outline:2px solid var(--couleur-noir)}button:not[disabled]:active{color:var(--couleur-blanc)!important;background:var(--couleur-noir)!important}@media (hover:hover){button:not[disabled]:hover{color:var(--couleur-noir);background:var(--couleur-jaune)}}button:disabled,button[disabled]{background:repeating-conic-gradient(var(--couleur-noir)0% 25%,transparent 0% 100%)1px .5px/2px 2px;outline-color:#0000}button.bouton-case-pleine{width:100%;height:100%}button.bouton-case-pleine.bouton-blanc-sur-noir{text-transform:uppercase;letter-spacing:var(--espacement-inter-lettres-etendu-m);font-style:italic}button.bouton-case-pleine.bouton-blanc-sur-noir:focus-visible{color:var(--couleur-noir);background:var(--couleur-jaune)}button.bouton-blanc-sur-noir{color:var(--couleur-blanc);background:var(--couleur-noir)}@media (hover:hover){button.bouton-fleche{background:initial}}input,select,textarea{padding:var(--espace-xs);background:var(--couleur-gris);border:1px solid var(--couleur-noir);outline:2px solid #0000;transition:background .2s,outline .2s}input:focus-visible,input:focus-within,input:active,select:focus-visible,select:focus-within,select:active,textarea:focus-visible,textarea:focus-within,textarea:active{z-index:10;outline:2px solid var(--couleur-noir)}input:disabled,input[disabled],select:disabled,select[disabled],textarea:disabled,textarea[disabled]{background:repeating-conic-gradient(var(--couleur-noir)0% 25%,transparent 0% 100%)1px .5px/2px 2px;outline-color:#0000}input:is([type=email],[type=text],[type=tel])::placeholder,textarea::placeholder{text-transform:lowercase;letter-spacing:var(--espacement-inter-lettres-etendu-s)}input:is([type=email],[type=text],[type=tel])::selection,textarea::selection{color:var(--couleur-blanc);background:var(--couleur-noir)}input:is([type=email],[type=text],[type=tel]):user-valid,textarea:user-valid{background:var(--couleur-jaune)}input:is([type=email],[type=text],[type=tel]):user-invalid,textarea:user-invalid{background:var(--couleur-gris)}input,label,select,textarea{cursor:pointer}input[type=checkbox],input[type=radio]{width:var(--espace-l);height:var(--espace-l);padding:initial;appearance:none;border:1px solid var(--couleur-noir);transition:background .2s}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--couleur-jaune)}input[type=checkbox]:checked:before,input[type=radio]:checked:before{content:"x";position:relative;bottom:.1rem;left:.35rem}@media (hover:hover){input[type=checkbox]:checked:hover,input[type=radio]:checked:hover{color:var(--couleur-noir)}}input[type=checkbox]:not(:checked):user-valid,input[type=radio]:not(:checked):user-valid{background:initial}label:has(~input[type=checkbox],~input[type=radio]),input[type=checkbox]+label,input[type=radio]+label{padding-top:1px;font-size:.9rem}@media (hover:hover){input[type=checkbox]:hover,input[type=radio]:hover{background:var(--couleur-jaune)}}textarea:focus-visible,textarea:focus-within{outline:1px solid var(--couleur-noir)}@media (hover:hover){textarea:hover{color:var(--couleur-noir)}}img,picture{max-width:100%;display:block}img{object-fit:cover;background:var(--couleur-jaune)}a{--lien-contour-couleur-focus:var(--couleur-noir);text-decoration-skip-ink:auto;outline-offset:initial;text-decoration-skip:edges;outline:1px solid #0000;text-decoration:underline #0000;transition:background .2s,border-color .2s,color .2s,font-weight .2s,outline-color .2s,letter-spacing .2s,text-decoration-color .2s}a:focus-visible{outline-color:var(--lien-contour-couleur-focus)}a.lien-bouton{--lien-bouton-marges-internes-bloc:var(--espace-xs);--lien-bouton-marges-internes-ligne:var(--espace-m);--lien-bouton-arriere-plan-couleur-survol:var(--couleur-jaune);padding:var(--lien-bouton-marges-internes-bloc)var(--lien-bouton-marges-internes-ligne);border:1px solid var(--couleur-noir)}a.lien-bouton:focus-visible{background:var(--lien-bouton-arriere-plan-couleur-survol)}a.lien-bouton:active{border-color:var(--lien-bouton-arriere-plan-couleur-survol)}@media (hover:hover){a.lien-bouton:hover{background:var(--lien-bouton-arriere-plan-couleur-survol)}}a.lien-lien{text-decoration:underline}a.lien-lien:active{text-decoration-color:var(--couleur-jaune);background:var(--couleur-jaune)}@media (hover:hover){a.lien-lien:hover{text-decoration-color:var(--couleur-jaune);background:var(--couleur-jaune)}a:not([class]):hover{text-decoration-color:var(--couleur-noir)}}ul{list-style:none}ul.avec-puce-cercle{--liste-puce-cercle-lien-marges-internes-ligne-debut:2ch;--liste-puce-cercle-puce-position-horizontale:1ch;--liste-puce-cercle-puce-taille:1.25ex}ul.avec-puce-cercle a{padding-left:var(--liste-puce-cercle-lien-marges-internes-ligne-debut);background:no-repeat var(--liste-puce-cercle-puce-position-horizontale)center/var(--liste-puce-cercle-puce-taille)url(/app/themes/haiku-atelier-2024/assets/img/icons/dot.svg)}body:has(#menu-mobile:not([aria-hidden=true])){touch-action:none;overflow:hidden}#menu-mobile{--menu-mobile-hauteur:calc(100svh - var(--en-tete-hauteur));z-index:997;inset:var(--en-tete-hauteur)0 0 0;overscroll-behavior:contain;width:100vw;height:var(--menu-mobile-hauteur);transition:display .4s;transition:display .4s allow-discrete;-webkit-overflow-scrolling:none;display:flex;position:fixed;overflow:hidden}#menu-mobile[aria-hidden=true]{animation:.4s both fade-out;display:none}#menu-mobile[aria-hidden=true] .menu-modale__fond{animation:.4s both fade-out}#menu-mobile .menu-modale__fond{z-index:998;inset:var(--en-tete-hauteur)0 0 0;height:var(--menu-mobile-hauteur);opacity:0;background-color:var(--couleur-fond);animation:.4s both fade-in;position:fixed}#menu-mobile .menu-modale__conteneur{z-index:999;width:100%;height:fit-content;padding:var(--espace-xl);opacity:0;background-color:var(--couleur-gris);border-bottom:1px solid var(--couleur-noir);flex-flow:column;animation:.4s .2s both fade-in;display:flex;position:relative}#menu-mobile .menu-modale__conteneur .menu-navigation{grid-template-columns:1fr}#menu-mobile .menu-modale__conteneur .menu-navigation ul{grid-column:initial;flex-flow:column;place-items:center}#menu-mobile .menu-modale__conteneur .menu-navigation ul>span{width:fit-content}#menu-mobile .menu-modale__conteneur .menu-navigation ul>span li a{padding-top:var(--espace-m);padding-bottom:var(--espace-m)}@media (width>=1000px){#menu-mobile{display:none}}@keyframes fade-in{to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes slide-in{to{transform:translateY(0)}}#en-tete{--en-tete-marges-internes-ligne:var(--espace-xl);--en-tete-marges-internes-bloc:var(--espace-m);--en-tete-section-hauteur:var(--en-tete-hauteur);--en-tete-logo-longueur:80px;z-index:60;min-width:100vw;max-width:100vw;height:var(--en-tete-hauteur);padding:var(--en-tete-marges-internes-bloc)var(--en-tete-marges-internes-ligne);background:var(--couleur-gris);border-bottom:1px solid var(--couleur-noir);flex-flow:row;justify-content:space-between;place-items:center;display:flex;position:fixed;top:0}#en-tete .logo{width:var(--en-tete-logo-longueur)}#en-tete .logo picture,#en-tete .logo img{background:0 0}#en-tete .logo button{align-content:center;display:block}#en-tete .menu-navigation{text-align:center;text-transform:lowercase;flex:1;grid-template-columns:1fr auto 1fr;font-size:1.1rem;display:grid}#en-tete .menu-navigation ul{gap:var(--espace-m);flex-flow:row;grid-column:2;justify-content:space-between;display:flex}#en-tete .menu-navigation__entree{--nav-entree-marges-internes-bloc:var(--espace-xs);--nav-entree-marges-internes-ligne:3rem;--liste-puce-cercle-lien-marges-internes-ligne-debut:calc(var(--espace-m) + 1.5ch);--liste-puce-cercle-puce-position-horizontale:3.5ch}#en-tete .menu-navigation__entree a{padding:var(--nav-entree-marges-internes-bloc)var(--nav-entree-marges-internes-ligne);text-align:center;display:inline-block}#en-tete .menu-navigation__entree--courante{background:url(/app/themes/haiku-atelier-2024/assets/img/icons/cloud.svg) 50%/auto 90% no-repeat}@media (hover:hover){#en-tete .menu-navigation__entree:hover{background:url(/app/themes/haiku-atelier-2024/assets/img/icons/cloud.svg) 50%/auto 90% no-repeat}}@media (width<=1000px){#en-tete .menu-navigation#menu-navigation-en-tete{display:none}}#en-tete .compte-panier{text-align:center;flex-flow:row;place-items:center;gap:1rem;display:flex}#en-tete .compte-panier[disabled]{background:repeating-conic-gradient(var(--couleur-noir)0% 25%,transparent 0% 100%)1px .5px/2px 2px}#en-tete .compte-panier[disabled] a:hover,#en-tete .compte-panier[disabled] a:active,#en-tete .compte-panier[disabled] a:focus-within{background:initial;border:1px solid var(--couleur-noir);outline:1px solid #0000}#en-tete .compte-panier a{text-transform:lowercase;min-width:10ch;font-size:1.1rem}#en-tete .compte-panier a.lien-compte{border-color:#0000}#en-tete .compte-panier a[data-contient-articles=true]{background:var(--couleur-jaune)}#menu-categories-produits{--menu-entree-longueur-minimale:13ch;--menu-section-marges-bloc-debut:var(--en-tete-hauteur);--menu-entree-marges-internes-ligne:var(--espace-m);margin-top:var(--menu-section-marges-bloc-debut);position:relative}#menu-categories-produits[data-entrees-presentes-debut] svg:first-of-type,#menu-categories-produits[data-entrees-presentes-fin] svg:last-of-type{opacity:1}#menu-categories-produits svg{pointer-events:none;opacity:0;mix-blend-mode:exclusion;width:.8rem;height:.8rem;shape-rendering:geometricprecision;transition:opacity .2s;position:absolute;bottom:calc(17.59px - .35rem)}#menu-categories-produits svg:first-of-type{left:var(--espace-xs)}#menu-categories-produits svg:last-of-type{right:var(--espace-xs)}@media (width>600px){#menu-categories-produits svg{visibility:hidden}}#menu-categories-produits ul{grid-template-columns:repeat(auto-fit,minmax(var(--menu-entree-longueur-minimale),1fr));place-items:center;gap:1px;display:grid}#menu-categories-produits ul li{width:100%;color:var(--couleur-gris);text-align:center;text-transform:uppercase;letter-spacing:var(--espacement-inter-lettres-etendu-m);background:var(--couleur-noir);font-style:italic;font-weight:450}#menu-categories-produits ul li.categorie-courante a{color:var(--couleur-noir);background:var(--couleur-jaune);font-weight:600}@media (hover:hover){#menu-categories-produits ul li.categorie-courante a:hover{color:var(--couleur-noir)}}#menu-categories-produits ul li a{width:inherit;padding:var(--menu-entree-marges-internes-ligne)0;outline:initial;text-decoration:none;display:inline-block}#menu-categories-produits ul li a:focus-visible{color:var(--couleur-jaune);outline:initial}@media (hover:hover){#menu-categories-produits ul li a:hover{color:var(--couleur-noir);background:var(--couleur-jaune)}}@media (width<=1000px){#menu-categories-produits ul{--menu-entree-marges-internes-ligne:var(--espace-s);flex-flow:wrap;font-size:.8rem;display:flex}#menu-categories-produits ul li{flex-grow:1;width:min(140px,100%)}#menu-categories-produits ul li a{border:initial;width:100%}}@media (width<=600px){#menu-categories-produits ul{scrollbar-width:none;flex-flow:row;overflow-x:scroll}#menu-categories-produits ul li{width:initial;min-width:140px}}.fleches-defilement{--position-y-fleches:calc(100svh - var(--menu-categories-produits-hauteur));pointer-events:none;width:100%;height:calc(100svh - var(--en-tete-hauteur) - 63px);position:absolute}.fleches-defilement__bouton{cursor:initial;z-index:5;bottom:calc(var(--position-y-fleches)/2 - var(--espace-l)/2);width:3rem;height:3rem;padding:var(--espace-s);visibility:hidden;opacity:0;mix-blend-mode:difference;shape-rendering:geometricprecision;border-radius:100%;transition:opacity .2s,visibility .2s;position:absolute}.fleches-defilement__bouton:first-of-type{left:var(--espace-l)}.fleches-defilement__bouton:last-of-type{right:var(--espace-l)}.fleches-defilement[data-images-presentes-debut] .fleches-defilement__bouton:first-of-type,.fleches-defilement[data-images-presentes-fin] .fleches-defilement__bouton:last-of-type{cursor:pointer;opacity:1}@media (width<=60rem){.fleches-defilement button{visibility:visible}}.photos-produit{--colonne-gauche-position-haut:var(--menu-categories-produits-hauteur);--colonne-gauche-photo-hauteur:calc(100svh - var(--menu-categories-produits-hauteur));--colonne-droite-photo-hauteur-minimale:calc(100svh + var(--en-tete-hauteur) + var(--menu-categories-produits-hauteur));--colonne-photo-longueur-minimale:30rem;--section-marges-externes-bloc-fin:1rem;flex-flow:row;max-width:100%;display:flex;position:relative}.photos-produit .colonne{width:min(var(--colonne-photo-longueur-minimale),100%);flex-flow:column;flex-grow:1;display:flex;position:relative}.photos-produit .colonne.colonne-gauche{top:var(--colonne-gauche-position-haut);height:var(--colonne-gauche-photo-hauteur);position:sticky}.photos-produit .colonne.colonne-gauche figure,.photos-produit .colonne.colonne-gauche picture,.photos-produit .colonne.colonne-gauche img{height:100%}.photos-produit .colonne.colonne-droite img{width:100%;max-height:var(--colonne-droite-photo-hauteur-minimale)}.photos-produit .colonne.colonne-droite figure picture img:only-child{min-height:var(--colonne-droite-photo-hauteur-minimale);max-height:var(--colonne-droite-photo-hauteur-minimale)}@media (width<=60rem){.photos-produit{scroll-behavior:smooth;scrollbar-width:none;scroll-snap-type:x mandatory;width:fit-content;max-width:initial;flex-flow:row;overflow-x:scroll}.photos-produit::-webkit-scrollbar{display:none}.photos-produit .colonne{scroll-snap-type:x mandatory;width:100%;min-width:100%}.photos-produit .colonne figure{scroll-snap-align:none center}.photos-produit .colonne.colonne-gauche{position:initial;height:initial}.photos-produit .colonne.colonne-gauche img{max-height:calc(100svh - var(--en-tete-hauteur) - 63px)}.photos-produit .colonne.colonne-droite{flex-flow:row}.photos-produit .colonne.colonne-droite figure{flex-grow:1;min-width:100%}.photos-produit .colonne.colonne-droite figure img{max-height:calc(100svh - var(--en-tete-hauteur) - 63px)}}.grille-produits{--grille-produits-hauteur-minimale:var(--contenu-page-hauteur-minimale-avec-categories);--aucun-produit-hauteur:var(--contenu-page-hauteur-minimale-avec-categories);--carte-produit-longueur-minimale:448px;--carte-produit-longueur-maximale:1000px;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fit,minmax(var(--carte-produit-longueur-minimale),1fr));min-height:var(--grille-produits-hauteur-minimale);gap:1px;display:grid}.grille-produits article{max-width:var(--carte-produit-longueur-maximale);box-shadow:0 0 0 1px var(--couleur-noir)}.grille-produits article figure{row-gap:var(--espace-xl);padding:var(--espace-m);flex-flow:column;display:flex}.grille-produits article figure a{position:relative}@media (hover:hover){.grille-produits article figure a:hover .produit__illustration__survol{visibility:visible;opacity:1;transition:opacity .3s,visibility .3s}}.grille-produits article figure img{position:inherit;aspect-ratio:9/16;object-fit:cover;background:0 0;width:100%;max-height:70vh}.grille-produits article figure .produit__illustration__principale{display:block}.grille-produits article figure .produit__illustration__principale:before{content:"";z-index:-1;opacity:0;filter:opacity(20%);background-image:url(/app/themes/haiku-atelier-2024/assets/img/icons/cloud-gris.svg);background-position:50%;background-repeat:no-repeat;background-size:50%;width:100%;height:100%;animation:1.5s linear .5s infinite alternate both test;position:absolute;top:0;left:0}.grille-produits article figure .produit__illustration__principale img{opacity:0;transition:opacity 1s}.grille-produits article figure .produit__illustration__survol{visibility:hidden;opacity:0;width:100%;height:100%;transition:opacity .15s,visibility .15s;display:block;position:absolute;top:0;left:0}.grille-produits article figure .produit__illustration__survol img{background:var(--couleur-fond)}.grille-produits article figure figcaption{margin-bottom:var(--espace-xl);flex-flow:row;justify-content:space-between;display:flex}.grille-produits article figure figcaption h3{letter-spacing:var(--espacement-inter-lettres-etendu-m);font-style:italic}.grille-produits article figure figcaption p{letter-spacing:var(--espacement-inter-lettres-rapproche-s);font-weight:500}.grille-produits__aucun-produit{min-height:var(--aucun-produit-hauteur);text-align:center;grid-column:span 3;align-content:center}.grille-produits__aucun-produit p+p{margin-top:var(--espace-l);font-size:1.25rem}@media (width<=700px){.grille-produits{grid-template-columns:100%}.grille-produits article figure img{max-height:50svh}}@keyframes test{to{opacity:1}}.informations-produit{--boite-position-basse:var(--espace-m);--boite-longueur:70ch;--section-marges-internes:var(--espace-m);--onglet-marges-internes:var(--espace-xl);bottom:var(--boite-position-basse);width:0;height:0;position:sticky;overflow:visible}.informations-produit__conteneur{transform:translate(calc(50vw - var(--boite-longueur)/2),-100%);width:var(--boite-longueur);max-width:var(--boite-longueur);display:grid;position:relative}.informations-produit__conteneur>section{height:100%;padding:var(--section-marges-internes);background:var(--couleur-blanc-fond);flex-flow:row;display:flex}.informations-produit__conteneur>section+section{border-top:1px solid var(--couleur-noir)}.informations-produit .onglets-details-produit{padding:initial;grid-template-rows:auto min-content;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.informations-produit .onglets-details-produit>section{width:100%;padding:var(--onglet-marges-internes);visibility:visible;opacity:1;background:inherit;border-color:var(--couleur-noir);border-style:solid;border-width:1px 1px 0;grid-column:span 3;transition:opacity .2s,visibility .2s;position:absolute;top:0;left:0;overflow-y:auto;transform:translateY(-100%)}.informations-produit .onglets-details-produit>section[hidden]{visibility:hidden;opacity:0;display:initial!important}.informations-produit .onglets-details-produit>section ul{list-style:inside}.informations-produit .onglets-details-produit>section a{text-decoration-color:var(--couleur-noir)}.informations-produit .onglets-details-produit>section>*+*{margin-top:1rem}.informations-produit .onglets-details-produit>ul{text-align:center;text-transform:lowercase;grid-area:2/span 3;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.informations-produit .onglets-details-produit>ul li{width:100%}.informations-produit .onglets-details-produit>ul li:first-of-type a{border-right-color:#0000}.informations-produit .onglets-details-produit>ul li:last-of-type a{border-left-color:#0000}.informations-produit .onglets-details-produit>ul li a{width:100%;height:100%;padding:var(--espace-xs)0;text-decoration:initial;border-top:1px solid var(--couleur-noir);border-right:1px solid var(--couleur-noir);border-left:1px solid var(--couleur-noir);display:inline-block}.informations-produit .onglets-details-produit>ul li a[aria-selected=true]{border-top-color:#0000;font-weight:600}.informations-produit .onglets-details-produit>ul li a:focus-visible{outline:2px solid var(--couleur-noir);outline-offset:-2px}@media (hover:hover){.informations-produit .onglets-details-produit>ul li a:hover{font-weight:600}}.informations-produit .onglets-details-produit:has(section:not([hidden]))>ul li a:not([aria-selected=true]){border-top-color:var(--couleur-noir)}.informations-produit .selecteur-produit{column-gap:var(--espace-xl);font-size:1.25rem;font-style:italic;font-weight:500;line-height:var(--hauteur-ligne-compacte);border:1px solid var(--couleur-noir);flex-flow:row;justify-content:space-between;place-items:center;display:flex}.informations-produit .selecteur-produit__selection-variation{text-transform:lowercase;place-items:center;font-weight:400;display:flex}.informations-produit .selecteur-produit__selection-variation label{height:100%;margin-right:var(--espace-s);font-size:1rem}.informations-produit .selecteur-produit__selection-variation select{padding:var(--espace-xs)var(--espace-l);text-align:center;letter-spacing:initial;appearance:none;background:var(--couleur-fond);border:1px solid var(--couleur-noir);position:relative}@supports selector(:user-valid){.informations-produit .selecteur-produit__selection-variation select:user-valid{background:var(--couleur-jaune-fond)}}.informations-produit .selecteur-produit__selection-variation option{background:var(--couleur-fond)}.informations-produit .selecteur-produit__selection-variation__selecteurs{position:relative}.informations-produit .selecteur-produit__selection-variation__selecteurs:after{pointer-events:none;content:" ";text-align:center;visibility:visible;opacity:1;background:url(/app/themes/haiku-atelier-2024/assets/img/icons/arrow.svg) no-repeat;width:.9rem;height:.9rem;transition:opacity .2s,visibility .2s;display:inline-block;position:absolute;top:10px;right:.4rem}@supports not selector(:user-valid){.informations-produit .selecteur-produit__selection-variation__selecteurs:has(select:valid):after{visibility:hidden;opacity:0}}@supports selector(:user-valid){.informations-produit .selecteur-produit__selection-variation__selecteurs:has(select:user-valid):after{visibility:hidden;opacity:0}}.informations-produit .selecteur-produit__prix{font-style:initial}.informations-produit .actions-produit{padding:initial;background:var(--couleur-jaune);border:1px solid var(--couleur-noir);border-top:initial;transition:background .2s;overflow:hidden}.informations-produit .actions-produit:has(button[disabled]){background:var(--couleur-fond)}.informations-produit .actions-produit button{height:initial;padding:var(--section-marges-internes);text-transform:uppercase;font-style:italic;transition:background .2s,font-weight .2s}@media (hover:hover){.informations-produit .actions-produit button:not([disabled]):hover{font-weight:600}}@media (width<=800px){.informations-produit{width:100%}.informations-produit__conteneur{width:inherit;max-width:initial;border-right:initial;border-left:initial;transform:translateY(-100%)}}@media (width<=700px){.informations-produit{--section-marges-internes:var(--espace-l);--onglet-marges-internes:var(--espace-l);bottom:var(--espace-xl);width:min(var(--boite-longueur),100%);height:initial;margin:auto;position:relative}.informations-produit__conteneur{transform:initial}}.produits-similaires{--carte-produit-longueur-minimale:448px;--carte-produit-longueur-maximale:1000px;margin-top:var(--espace-m);grid-template-rows:1fr auto;grid-template-columns:repeat(3,1fr);grid-template-areas:"en-tete en-tete en-tete""produits produits produits";place-items:center;display:grid;position:relative}.produits-similaires header{z-index:10;top:calc(1lh + var(--espace-l) + var(--espace-m));width:100%;padding:var(--espace-l)0 var(--espace-m);color:var(--couleur-blanc);text-align:center;background:var(--couleur-noir);grid-area:en-tete;position:sticky}.produits-similaires header h2{font-style:italic;line-height:var(--hauteur-ligne-rapprochee);text-transform:uppercase;letter-spacing:var(--espacement-inter-lettres-etendu-m)}.produits-similaires .grille-produits-similaires{grid-area:produits;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fit,minmax(var(--carte-produit-longueur-minimale),1fr));gap:1px;width:100%;display:grid}.produits-similaires .grille-produits-similaires article{max-width:var(--carte-produit-longueur-maximale);box-shadow:0 0 0 1px var(--couleur-noir)}.produits-similaires .grille-produits-similaires article figure{row-gap:var(--espace-xl);padding:var(--espace-m);flex-flow:column;display:flex}.produits-similaires .grille-produits-similaires article figure a{position:relative}@media (hover:hover){.produits-similaires .grille-produits-similaires article figure a:hover .produit__illustration__survol{visibility:visible;opacity:1;transition:opacity .3s,visibility .3s}}.produits-similaires .grille-produits-similaires article figure .produit__illustration__principale{display:block}.produits-similaires .grille-produits-similaires article figure .produit__illustration__survol{visibility:hidden;opacity:0;width:100%;height:100%;transition:opacity .15s,visibility .15s;display:block;position:absolute;top:0;left:0}.produits-similaires .grille-produits-similaires article figure img{aspect-ratio:9/16;object-fit:cover;width:100%;max-height:70svh}.produits-similaires .grille-produits-similaires article figure figcaption{margin-bottom:var(--espace-xl);flex-flow:row;justify-content:space-between;display:flex}.produits-similaires .grille-produits-similaires article figure figcaption h3{letter-spacing:var(--espacement-inter-lettres-etendu-m);font-style:italic}.produits-similaires .grille-produits-similaires article figure figcaption p{letter-spacing:var(--espacement-inter-lettres-rapproche-s);font-weight:500}@media (width<=700px){.produits-similaires .grille-produits-similaires{grid-template-columns:100%}.produits-similaires .grille-produits-similaires article figure img{max-height:50svh}}#pied-de-page{--pied-de-page-marges-internes-bloc:var(--espace-m);--pied-de-page-marges-internes-ligne:var(--espace-xl);max-width:100vw;height:var(--pied-de-page-hauteur);padding:var(--pied-de-page-marges-internes-bloc)var(--pied-de-page-marges-internes-ligne);background:var(--couleur-jaune);border-top:1px solid var(--couleur-noir);grid-template-columns:1fr 1fr;place-items:center;display:grid}#pied-de-page .zone-menu-navigation-secondaire{text-transform:lowercase;justify-self:start;width:100%;height:100%}#pied-de-page .zone-liens-reseaux-sociaux{text-align:right;justify-items:end;width:100%;height:100%} \ No newline at end of file +@font-face{font-family:Lato;font-weight:100 900;font-style:normal;font-display:swap;src:url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2)format("woff2")tech(variations),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2)format("woff2-variations"),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.woff2)format("woff2"),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-webfont.ttf)format("truetype");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lato;font-weight:100 900;font-style:italic;font-display:swap;src:url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2)format("woff2")tech(variations),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2)format("woff2-variations"),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.woff2)format("woff2"),url(/app/themes/haiku-atelier-2024/assets/fonts/lato/lato-variable-italic-webfont.ttf)format("truetype");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Myriad;font-weight:300 900;font-style:normal;font-display:swap;font-stretch:70% 110%;src:url(/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable.woff2)format("woff2"),url(/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable.ttf)format("truetype")}@font-face{font-family:Myriad;font-weight:300 900;font-style:italic;font-display:swap;font-stretch:70% 110%;src:url(/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable-italic.woff2)format("woff2"),url(/app/themes/haiku-atelier-2024/assets/fonts/myriad/myriad-variable-italic.ttf)format("truetype")}:root{--couleur-blanc:#fff;--couleur-blanc-fond:#ffffffe6;--couleur-gris:#eceaeb;--couleur-gris-fonce:gray;--couleur-gris-fonce-fond:#808080cc;--couleur-bordeaux:#490918;--couleur-bordeaux-fond:#490918cc;--couleur-jaune:#ebffb8;--couleur-jaune-fond:#ebffb8cc;--couleur-noir:#202020;--couleur-fond:#eceaebcc;--police-lato:"Lato",sans-serif;--hauteur-ligne-classique:1.5;--hauteur-ligne-moitie:1.2;--hauteur-ligne-compacte:1.1;--hauteur-ligne-rapprochee:1;--espacement-inter-lettres-rapproche-s:-.5px;--espacement-inter-lettres-etendu-s:.5px;--espacement-inter-lettres-etendu-m:1px;--espacement-inter-lettres-etendu-l:1.5px;--espacement-inter-lettres-etendu-xl:2px;--en-tete-hauteur:61px;--menu-categories-produits-hauteur:54.39px;--pied-de-page-hauteur:calc(var(--espace-m)*2 + 3lh);--contenu-page-hauteur-minimale-sans-categories:calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur));--contenu-page-hauteur-minimale-avec-categories:calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--menu-categories-produits-hauteur));--espace-xs:.25rem;--espace-s:.5rem;--espace-m:1rem;--espace-l:1.25rem;--espace-xl:2rem}html{box-sizing:border-box}*,:before,:after{box-sizing:inherit;font:inherit;color:inherit;margin:0;padding:0}body{accent-color:var(--couleur-jaune);background:var(--couleur-gris)}button,input,select,textarea{font:inherit}::selection{background:var(--couleur-jaune)}[hidden]{display:none!important}[disabled]{cursor:not-allowed}@media (prefers-reduced-motion){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:0s!important}}html{font:1rem/var(--hauteur-ligne-classique)Lato;font-optical-sizing:auto;font-kerning:normal;font-variant-ligatures:common-ligatures no-discretionary-ligatures no-historical-ligatures contextual;-webkit-font-smoothing:antialiased;color:var(--couleur-noir);text-decoration-skip-ink:auto;text-size-adjust:none;text-rendering:geometricprecision;letter-spacing:var(--espacement-inter-lettres-etendu-s)}strong{font-weight:600}em{font-style:italic}button{all:initial;cursor:pointer;box-sizing:border-box;text-align:center;letter-spacing:inherit;outline:2px solid #0000;font-family:Lato;transition:background .2s,color .2s}button:not[disabled]:focus-visible{z-index:5;outline:2px solid var(--couleur-noir)}button:not[disabled]:active{color:var(--couleur-blanc)!important;background:var(--couleur-noir)!important}@media (hover:hover){button:not[disabled]:hover{color:var(--couleur-noir);background:var(--couleur-jaune)}}button:disabled,button[disabled]{background:repeating-conic-gradient(var(--couleur-noir)0% 25%,transparent 0% 100%)1px .5px/2px 2px;outline-color:#0000}button.bouton-case-pleine{width:100%;height:100%}button.bouton-case-pleine.bouton-blanc-sur-noir{text-transform:uppercase;letter-spacing:var(--espacement-inter-lettres-etendu-m);font-style:italic}button.bouton-case-pleine.bouton-blanc-sur-noir:focus-visible{color:var(--couleur-noir);background:var(--couleur-jaune)}button.bouton-blanc-sur-noir{color:var(--couleur-blanc);background:var(--couleur-noir)}@media (hover:hover){button.bouton-fleche{background:initial}}input,select,textarea{padding:var(--espace-xs);background:var(--couleur-gris);border:1px solid var(--couleur-noir);outline:2px solid #0000;transition:background .2s,outline .2s}input:focus-visible,input:focus-within,input:active,select:focus-visible,select:focus-within,select:active,textarea:focus-visible,textarea:focus-within,textarea:active{z-index:10;outline:2px solid var(--couleur-noir)}input:disabled,input[disabled],select:disabled,select[disabled],textarea:disabled,textarea[disabled]{background:repeating-conic-gradient(var(--couleur-noir)0% 25%,transparent 0% 100%)1px .5px/2px 2px;outline-color:#0000}input:is([type=email],[type=text],[type=tel])::placeholder,textarea::placeholder{text-transform:lowercase;letter-spacing:var(--espacement-inter-lettres-etendu-s)}input:is([type=email],[type=text],[type=tel])::selection,textarea::selection{color:var(--couleur-blanc);background:var(--couleur-noir)}input:is([type=email],[type=text],[type=tel]):user-valid,textarea:user-valid{background:var(--couleur-jaune)}input:is([type=email],[type=text],[type=tel]):user-invalid,textarea:user-invalid{background:var(--couleur-gris)}input,label,select,textarea{cursor:pointer}input[type=checkbox],input[type=radio]{width:var(--espace-l);height:var(--espace-l);padding:initial;appearance:none;border:1px solid var(--couleur-noir);transition:background .2s}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--couleur-jaune)}input[type=checkbox]:checked:before,input[type=radio]:checked:before{content:"x";position:relative;bottom:.1rem;left:.35rem}@media (hover:hover){input[type=checkbox]:checked:hover,input[type=radio]:checked:hover{color:var(--couleur-noir)}}input[type=checkbox]:not(:checked):user-valid,input[type=radio]:not(:checked):user-valid{background:initial}label:has(~input[type=checkbox],~input[type=radio]),input[type=checkbox]+label,input[type=radio]+label{padding-top:1px;font-size:.9rem}@media (hover:hover){input[type=checkbox]:hover,input[type=radio]:hover{background:var(--couleur-jaune)}}textarea:focus-visible,textarea:focus-within{outline:1px solid var(--couleur-noir)}@media (hover:hover){textarea:hover{color:var(--couleur-noir)}}img,picture{max-width:100%;display:block}img{object-fit:cover;background:var(--couleur-jaune)}a{--lien-contour-couleur-focus:var(--couleur-noir);text-decoration-skip-ink:auto;outline-offset:initial;text-decoration-skip:edges;outline:1px solid #0000;text-decoration:underline #0000;transition:background .2s,border-color .2s,color .2s,font-weight .2s,outline-color .2s,letter-spacing .2s,text-decoration-color .2s}a:focus-visible{outline-color:var(--lien-contour-couleur-focus)}a.lien-bouton{--lien-bouton-marges-internes-bloc:var(--espace-xs);--lien-bouton-marges-internes-ligne:var(--espace-m);--lien-bouton-arriere-plan-couleur-survol:var(--couleur-jaune);padding:var(--lien-bouton-marges-internes-bloc)var(--lien-bouton-marges-internes-ligne);border:1px solid var(--couleur-noir)}a.lien-bouton:focus-visible{background:var(--lien-bouton-arriere-plan-couleur-survol)}a.lien-bouton:active{border-color:var(--lien-bouton-arriere-plan-couleur-survol)}@media (hover:hover){a.lien-bouton:hover{background:var(--lien-bouton-arriere-plan-couleur-survol)}}a.lien-lien{text-decoration:underline}a.lien-lien:active{text-decoration-color:var(--couleur-jaune);background:var(--couleur-jaune)}@media (hover:hover){a.lien-lien:hover{text-decoration-color:var(--couleur-jaune);background:var(--couleur-jaune)}a:not([class]):hover{text-decoration-color:var(--couleur-noir)}}ul{list-style:none}ul.avec-puce-cercle{--liste-puce-cercle-lien-marges-internes-ligne-debut:2ch;--liste-puce-cercle-puce-position-horizontale:1ch;--liste-puce-cercle-puce-taille:1.25ex}ul.avec-puce-cercle a{padding-left:var(--liste-puce-cercle-lien-marges-internes-ligne-debut);background:no-repeat var(--liste-puce-cercle-puce-position-horizontale)center/var(--liste-puce-cercle-puce-taille)url(/app/themes/haiku-atelier-2024/assets/img/icons/dot.svg)}body:has(#menu-mobile:not([aria-hidden=true])){touch-action:none;overflow:hidden}#menu-mobile{--menu-mobile-hauteur:calc(100svh - var(--en-tete-hauteur));z-index:997;inset:var(--en-tete-hauteur)0 0 0;overscroll-behavior:contain;width:100vw;height:var(--menu-mobile-hauteur);transition:display .4s;transition:display .4s allow-discrete;-webkit-overflow-scrolling:none;display:flex;position:fixed;overflow:hidden}#menu-mobile[aria-hidden=true]{animation:.4s both fade-out;display:none}#menu-mobile[aria-hidden=true] .menu-modale__fond{animation:.4s both fade-out}#menu-mobile .menu-modale__fond{z-index:998;inset:var(--en-tete-hauteur)0 0 0;height:var(--menu-mobile-hauteur);opacity:0;background-color:var(--couleur-fond);animation:.4s both fade-in;position:fixed}#menu-mobile .menu-modale__conteneur{z-index:999;width:100%;height:fit-content;padding:var(--espace-xl);opacity:0;background-color:var(--couleur-gris);border-bottom:1px solid var(--couleur-noir);flex-flow:column;animation:.4s .2s both fade-in;display:flex;position:relative}#menu-mobile .menu-modale__conteneur .menu-navigation{grid-template-columns:1fr}#menu-mobile .menu-modale__conteneur .menu-navigation ul{grid-column:initial;flex-flow:column;place-items:center}#menu-mobile .menu-modale__conteneur .menu-navigation ul>span{width:fit-content}#menu-mobile .menu-modale__conteneur .menu-navigation ul>span li a{padding-top:var(--espace-m);padding-bottom:var(--espace-m)}@media (width>=1000px){#menu-mobile{display:none}}@keyframes fade-in{to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes slide-in{to{transform:translateY(0)}}#en-tete{--en-tete-marges-internes-ligne:var(--espace-xl);--en-tete-marges-internes-bloc:var(--espace-m);--en-tete-section-hauteur:var(--en-tete-hauteur);--en-tete-logo-longueur:80px;z-index:60;min-width:100vw;max-width:100vw;height:var(--en-tete-hauteur);padding:var(--en-tete-marges-internes-bloc)var(--en-tete-marges-internes-ligne);background:var(--couleur-gris);border-bottom:1px solid var(--couleur-noir);flex-flow:row;justify-content:space-between;place-items:center;display:flex;position:fixed;top:0}#en-tete .logo{width:var(--en-tete-logo-longueur)}#en-tete .logo picture,#en-tete .logo img{background:0 0}#en-tete .logo button{align-content:center;display:block}#en-tete .menu-navigation{text-align:center;text-transform:lowercase;flex:1;grid-template-columns:1fr auto 1fr;font-size:1.1rem;display:grid}#en-tete .menu-navigation ul{gap:var(--espace-m);flex-flow:row;grid-column:2;justify-content:space-between;display:flex}#en-tete .menu-navigation__entree{--nav-entree-marges-internes-bloc:var(--espace-xs);--nav-entree-marges-internes-ligne:3rem;--liste-puce-cercle-lien-marges-internes-ligne-debut:calc(var(--espace-m) + 1.5ch);--liste-puce-cercle-puce-position-horizontale:3.5ch}#en-tete .menu-navigation__entree a{padding:var(--nav-entree-marges-internes-bloc)var(--nav-entree-marges-internes-ligne);text-align:center;display:inline-block}#en-tete .menu-navigation__entree--courante{background:url(/app/themes/haiku-atelier-2024/assets/img/icons/cloud.svg) 50%/auto 90% no-repeat}@media (hover:hover){#en-tete .menu-navigation__entree:hover{background:url(/app/themes/haiku-atelier-2024/assets/img/icons/cloud.svg) 50%/auto 90% no-repeat}}@media (width<=1000px){#en-tete .menu-navigation#menu-navigation-en-tete{display:none}}#en-tete .compte-panier{text-align:center;flex-flow:row;place-items:center;gap:1rem;display:flex}#en-tete .compte-panier[disabled]{background:repeating-conic-gradient(var(--couleur-noir)0% 25%,transparent 0% 100%)1px .5px/2px 2px}#en-tete .compte-panier[disabled] a:hover,#en-tete .compte-panier[disabled] a:active,#en-tete .compte-panier[disabled] a:focus-within{background:initial;border:1px solid var(--couleur-noir);outline:1px solid #0000}#en-tete .compte-panier a{text-transform:lowercase;min-width:10ch;font-size:1.1rem}#en-tete .compte-panier a.lien-compte{border-color:#0000}#en-tete .compte-panier a[data-contient-articles=true]{background:var(--couleur-jaune)}#menu-categories-produits{--menu-entree-longueur-minimale:13ch;--menu-section-marges-bloc-debut:var(--en-tete-hauteur);--menu-entree-marges-internes-ligne:var(--espace-m);margin-top:var(--menu-section-marges-bloc-debut);position:relative}#menu-categories-produits[data-entrees-presentes-debut] svg:first-of-type,#menu-categories-produits[data-entrees-presentes-fin] svg:last-of-type{opacity:1}#menu-categories-produits svg{pointer-events:none;opacity:0;mix-blend-mode:exclusion;width:.8rem;height:.8rem;shape-rendering:geometricprecision;transition:opacity .2s;position:absolute;bottom:calc(17.59px - .35rem)}#menu-categories-produits svg:first-of-type{left:var(--espace-xs)}#menu-categories-produits svg:last-of-type{right:var(--espace-xs)}@media (width>600px){#menu-categories-produits svg{visibility:hidden}}#menu-categories-produits ul{grid-template-columns:repeat(auto-fit,minmax(var(--menu-entree-longueur-minimale),1fr));place-items:center;gap:1px;display:grid}#menu-categories-produits ul li{width:100%;color:var(--couleur-gris);text-align:center;text-transform:uppercase;letter-spacing:var(--espacement-inter-lettres-etendu-m);background:var(--couleur-noir);font-style:italic;font-weight:450}#menu-categories-produits ul li.categorie-courante a{color:var(--couleur-noir);background:var(--couleur-jaune);font-weight:600}@media (hover:hover){#menu-categories-produits ul li.categorie-courante a:hover{color:var(--couleur-noir)}}#menu-categories-produits ul li a{width:inherit;padding:var(--menu-entree-marges-internes-ligne)0;outline:initial;text-decoration:none;display:inline-block}#menu-categories-produits ul li a:focus-visible{color:var(--couleur-jaune);outline:initial}@media (hover:hover){#menu-categories-produits ul li a:hover{color:var(--couleur-noir);background:var(--couleur-jaune)}}@media (width<=1000px){#menu-categories-produits ul{--menu-entree-marges-internes-ligne:var(--espace-s);flex-flow:wrap;font-size:.8rem;display:flex}#menu-categories-produits ul li{flex-grow:1;width:min(140px,100%)}#menu-categories-produits ul li a{border:initial;width:100%}}@media (width<=600px){#menu-categories-produits ul{scrollbar-width:none;flex-flow:row;overflow-x:scroll}#menu-categories-produits ul li{width:initial;min-width:140px}}.fleches-defilement{--position-y-fleches:calc(100svh - var(--menu-categories-produits-hauteur));pointer-events:none;width:100%;height:calc(100svh - var(--en-tete-hauteur) - 63px);position:absolute}.fleches-defilement__bouton{cursor:initial;z-index:5;bottom:calc(var(--position-y-fleches)/2 - var(--espace-l)/2);width:3rem;height:3rem;padding:var(--espace-s);visibility:hidden;opacity:0;mix-blend-mode:difference;shape-rendering:geometricprecision;border-radius:100%;transition:opacity .2s,visibility .2s;position:absolute}.fleches-defilement__bouton:first-of-type{left:var(--espace-l)}.fleches-defilement__bouton:last-of-type{right:var(--espace-l)}.fleches-defilement[data-images-presentes-debut] .fleches-defilement__bouton:first-of-type,.fleches-defilement[data-images-presentes-fin] .fleches-defilement__bouton:last-of-type{cursor:pointer;opacity:1}@media (width<=60rem){.fleches-defilement button{visibility:visible}}.photos-produit{--colonne-gauche-position-haut:var(--menu-categories-produits-hauteur);--colonne-gauche-photo-hauteur:calc(100svh - var(--menu-categories-produits-hauteur));--colonne-droite-photo-hauteur-minimale:calc(100svh + var(--en-tete-hauteur) + var(--menu-categories-produits-hauteur));--colonne-photo-longueur-minimale:30rem;--section-marges-externes-bloc-fin:1rem;flex-flow:row;max-width:100%;display:flex;position:relative}.photos-produit .colonne{width:min(var(--colonne-photo-longueur-minimale),100%);flex-flow:column;flex-grow:1;display:flex;position:relative}.photos-produit .colonne.colonne-gauche{top:var(--colonne-gauche-position-haut);height:var(--colonne-gauche-photo-hauteur);position:sticky}.photos-produit .colonne.colonne-gauche figure,.photos-produit .colonne.colonne-gauche picture,.photos-produit .colonne.colonne-gauche img{height:100%}.photos-produit .colonne.colonne-droite img{width:100%;max-height:var(--colonne-droite-photo-hauteur-minimale)}.photos-produit .colonne.colonne-droite figure picture img:only-child{min-height:var(--colonne-droite-photo-hauteur-minimale);max-height:var(--colonne-droite-photo-hauteur-minimale)}@media (width<=60rem){.photos-produit{scroll-behavior:smooth;scrollbar-width:none;scroll-snap-type:x mandatory;width:fit-content;max-width:initial;flex-flow:row;overflow-x:scroll}.photos-produit::-webkit-scrollbar{display:none}.photos-produit .colonne{scroll-snap-type:x mandatory;width:100%;min-width:100%}.photos-produit .colonne figure{scroll-snap-align:none center}.photos-produit .colonne.colonne-gauche{position:initial;height:initial}.photos-produit .colonne.colonne-gauche img{max-height:calc(100svh - var(--en-tete-hauteur) - 63px)}.photos-produit .colonne.colonne-droite{flex-flow:row}.photos-produit .colonne.colonne-droite figure{flex-grow:1;min-width:100%}.photos-produit .colonne.colonne-droite figure img{max-height:calc(100svh - var(--en-tete-hauteur) - 63px)}}.grille-produits{--grille-produits-hauteur-minimale:var(--contenu-page-hauteur-minimale-avec-categories);--aucun-produit-hauteur:var(--contenu-page-hauteur-minimale-avec-categories);--carte-produit-longueur-minimale:448px;--carte-produit-longueur-maximale:1000px;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fit,minmax(var(--carte-produit-longueur-minimale),1fr));min-height:var(--grille-produits-hauteur-minimale);gap:1px;display:grid}.grille-produits article{max-width:var(--carte-produit-longueur-maximale);box-shadow:0 0 0 1px var(--couleur-noir)}.grille-produits article figure{row-gap:var(--espace-xl);padding:var(--espace-m);flex-flow:column;display:flex}.grille-produits article figure a{position:relative}@media (hover:hover){.grille-produits article figure a:hover .produit__illustration__survol{visibility:visible;opacity:1;transition:opacity .3s,visibility .3s}}.grille-produits article figure img{position:inherit;aspect-ratio:9/16;object-fit:cover;background:0 0;width:100%;max-height:70vh}.grille-produits article figure .produit__illustration__principale{display:block}.grille-produits article figure .produit__illustration__principale:before{content:"";z-index:-1;opacity:0;filter:opacity(20%);background-image:url(/app/themes/haiku-atelier-2024/assets/img/icons/cloud-gris.svg);background-position:50%;background-repeat:no-repeat;background-size:50%;width:100%;height:100%;animation:1.5s linear .5s infinite alternate both test;position:absolute;top:0;left:0}.grille-produits article figure .produit__illustration__principale img{opacity:0;transition:opacity 1s}.grille-produits article figure .produit__illustration__survol{visibility:hidden;opacity:0;width:100%;height:100%;transition:opacity .15s,visibility .15s;display:block;position:absolute;top:0;left:0}.grille-produits article figure .produit__illustration__survol img{background:var(--couleur-fond)}.grille-produits article figure figcaption{margin-bottom:var(--espace-xl);flex-flow:row;justify-content:space-between;display:flex}.grille-produits article figure figcaption h3{letter-spacing:var(--espacement-inter-lettres-etendu-m);font-style:italic}.grille-produits article figure figcaption p{letter-spacing:var(--espacement-inter-lettres-rapproche-s);font-weight:500}.grille-produits__aucun-produit{min-height:var(--aucun-produit-hauteur);text-align:center;grid-column:span 3;align-content:center}.grille-produits__aucun-produit p+p{margin-top:var(--espace-l);font-size:1.25rem}@media (width<=700px){.grille-produits{grid-template-columns:100%}.grille-produits article figure img{max-height:50svh}}@keyframes test{to{opacity:1}}.informations-produit{--boite-position-basse:var(--espace-m);--boite-longueur:70ch;--section-marges-internes:var(--espace-m);--onglet-marges-internes:var(--espace-xl);bottom:var(--boite-position-basse);width:0;height:0;position:sticky;overflow:visible}.informations-produit__conteneur{transform:translate(calc(50vw - var(--boite-longueur)/2),-100%);width:var(--boite-longueur);max-width:var(--boite-longueur);display:grid;position:relative}.informations-produit__conteneur>section{height:100%;padding:var(--section-marges-internes);background:var(--couleur-blanc-fond);flex-flow:row;display:flex}.informations-produit__conteneur>section+section{border-top:1px solid var(--couleur-noir)}.informations-produit .onglets-details-produit{padding:initial;grid-template-rows:auto min-content;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.informations-produit .onglets-details-produit>section{width:100%;padding:var(--onglet-marges-internes);visibility:visible;opacity:1;background:inherit;border-color:var(--couleur-noir);border-style:solid;border-width:1px 1px 0;grid-column:span 3;transition:opacity .2s,visibility .2s;position:absolute;top:0;left:0;overflow-y:auto;transform:translateY(-100%)}.informations-produit .onglets-details-produit>section[hidden]{visibility:hidden;opacity:0;display:initial!important}.informations-produit .onglets-details-produit>section ul{list-style:inside}.informations-produit .onglets-details-produit>section a{text-decoration-color:var(--couleur-noir)}.informations-produit .onglets-details-produit>section>*+*{margin-top:1rem}.informations-produit .onglets-details-produit>ul{text-align:center;text-transform:lowercase;grid-area:2/span 3;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.informations-produit .onglets-details-produit>ul li{width:100%}.informations-produit .onglets-details-produit>ul li:first-of-type a{border-right-color:#0000}.informations-produit .onglets-details-produit>ul li:last-of-type a{border-left-color:#0000}.informations-produit .onglets-details-produit>ul li a{width:100%;height:100%;padding:var(--espace-xs)0;text-decoration:initial;border-top:1px solid var(--couleur-noir);border-right:1px solid var(--couleur-noir);border-left:1px solid var(--couleur-noir);display:inline-block}.informations-produit .onglets-details-produit>ul li a[aria-selected=true]{border-top-color:#0000;font-weight:600}.informations-produit .onglets-details-produit>ul li a:focus-visible{outline:2px solid var(--couleur-noir);outline-offset:-2px}@media (hover:hover){.informations-produit .onglets-details-produit>ul li a:hover{font-weight:600}}.informations-produit .onglets-details-produit:has(section:not([hidden]))>ul li a:not([aria-selected=true]){border-top-color:var(--couleur-noir)}.informations-produit .selecteur-produit{column-gap:var(--espace-xl);font-size:1.25rem;font-style:italic;font-weight:500;line-height:var(--hauteur-ligne-compacte);border:1px solid var(--couleur-noir);flex-flow:row;justify-content:space-between;place-items:center;display:flex}.informations-produit .selecteur-produit__selection-variation{text-transform:lowercase;place-items:center;font-weight:400;display:flex}.informations-produit .selecteur-produit__selection-variation label{height:100%;margin-right:var(--espace-s);font-size:1rem}.informations-produit .selecteur-produit__selection-variation select{padding:var(--espace-xs)var(--espace-l);text-align:center;letter-spacing:initial;appearance:none;background:var(--couleur-fond);border:1px solid var(--couleur-noir);position:relative}@supports selector(:user-valid){.informations-produit .selecteur-produit__selection-variation select:user-valid{background:var(--couleur-jaune-fond)}}.informations-produit .selecteur-produit__selection-variation option{background:var(--couleur-fond)}.informations-produit .selecteur-produit__selection-variation__selecteurs{position:relative}.informations-produit .selecteur-produit__selection-variation__selecteurs:after{pointer-events:none;content:" ";text-align:center;visibility:visible;opacity:1;background:url(/app/themes/haiku-atelier-2024/assets/img/icons/arrow.svg) no-repeat;width:.9rem;height:.9rem;transition:opacity .2s,visibility .2s;display:inline-block;position:absolute;top:10px;right:.4rem}@supports not selector(:user-valid){.informations-produit .selecteur-produit__selection-variation__selecteurs:has(select:valid):after{visibility:hidden;opacity:0}}@supports selector(:user-valid){.informations-produit .selecteur-produit__selection-variation__selecteurs:has(select:user-valid):after{visibility:hidden;opacity:0}}.informations-produit .selecteur-produit__prix{font-style:initial}.informations-produit .actions-produit{padding:initial;background:var(--couleur-jaune);border:1px solid var(--couleur-noir);border-top:initial;transition:background .2s;overflow:hidden}.informations-produit .actions-produit:has(button[disabled]){background:var(--couleur-fond)}.informations-produit .actions-produit button{height:initial;padding:var(--section-marges-internes);text-transform:uppercase;font-style:italic;transition:background .2s,font-weight .2s}@media (hover:hover){.informations-produit .actions-produit button:not([disabled]):hover{font-weight:600}}@media (width<=800px){.informations-produit{width:100%}.informations-produit__conteneur{width:inherit;max-width:initial;border-right:initial;border-left:initial;transform:translateY(-100%)}}@media (width<=700px){.informations-produit{--section-marges-internes:var(--espace-l);--onglet-marges-internes:var(--espace-l);bottom:var(--espace-xl);width:min(var(--boite-longueur),100%);height:initial;margin:auto;position:relative}.informations-produit__conteneur{transform:initial}}.produits-similaires{--carte-produit-longueur-minimale:448px;--carte-produit-longueur-maximale:1000px;margin-top:var(--espace-m);grid-template-rows:1fr auto;grid-template-columns:repeat(3,1fr);grid-template-areas:"en-tete en-tete en-tete""produits produits produits";place-items:center;display:grid;position:relative}.produits-similaires header{z-index:10;top:calc(1lh + var(--espace-l) + var(--espace-m));width:100%;padding:var(--espace-l)0 var(--espace-m);color:var(--couleur-blanc);text-align:center;background:var(--couleur-noir);grid-area:en-tete;position:sticky}.produits-similaires header h2{font-style:italic;line-height:var(--hauteur-ligne-rapprochee);text-transform:uppercase;letter-spacing:var(--espacement-inter-lettres-etendu-m)}.produits-similaires .grille-produits-similaires{grid-area:produits;grid-auto-rows:1fr;grid-template-columns:repeat(auto-fit,minmax(var(--carte-produit-longueur-minimale),1fr));gap:1px;width:100%;display:grid}.produits-similaires .grille-produits-similaires article{max-width:var(--carte-produit-longueur-maximale);box-shadow:0 0 0 1px var(--couleur-noir)}.produits-similaires .grille-produits-similaires article figure{row-gap:var(--espace-xl);padding:var(--espace-m);flex-flow:column;display:flex}.produits-similaires .grille-produits-similaires article figure a{position:relative}@media (hover:hover){.produits-similaires .grille-produits-similaires article figure a:hover .produit__illustration__survol{visibility:visible;opacity:1;transition:opacity .3s,visibility .3s}}.produits-similaires .grille-produits-similaires article figure .produit__illustration__principale{display:block}.produits-similaires .grille-produits-similaires article figure .produit__illustration__survol{visibility:hidden;opacity:0;width:100%;height:100%;transition:opacity .15s,visibility .15s;display:block;position:absolute;top:0;left:0}.produits-similaires .grille-produits-similaires article figure img{aspect-ratio:9/16;object-fit:cover;width:100%;max-height:70svh}.produits-similaires .grille-produits-similaires article figure figcaption{margin-bottom:var(--espace-xl);flex-flow:row;justify-content:space-between;display:flex}.produits-similaires .grille-produits-similaires article figure figcaption h3{letter-spacing:var(--espacement-inter-lettres-etendu-m);font-style:italic}.produits-similaires .grille-produits-similaires article figure figcaption p{letter-spacing:var(--espacement-inter-lettres-rapproche-s);font-weight:500}@media (width<=700px){.produits-similaires .grille-produits-similaires{grid-template-columns:100%}.produits-similaires .grille-produits-similaires article figure img{max-height:50svh}}#pied-de-page{--pied-de-page-marges-internes-bloc:var(--espace-m);--pied-de-page-marges-internes-ligne:var(--espace-xl);max-width:100vw;height:var(--pied-de-page-hauteur);padding:var(--pied-de-page-marges-internes-bloc)var(--pied-de-page-marges-internes-ligne);background:var(--couleur-jaune);border-top:1px solid var(--couleur-noir);grid-template-columns:1fr 1fr;place-items:center;display:grid}#pied-de-page .zone-menu-navigation-secondaire{text-transform:lowercase;justify-self:start;width:100%;height:100%}#pied-de-page .zone-liens-reseaux-sociaux{text-align:right;justify-items:end;width:100%;height:100%} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.avif b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.avif new file mode 100644 index 00000000..47f6d4a8 Binary files /dev/null and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.avif differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.jxl new file mode 100644 index 00000000..0503e6d4 Binary files /dev/null and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.png b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.png new file mode 100644 index 00000000..8ca5b467 Binary files /dev/null and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.png differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.webp new file mode 100644 index 00000000..98ec8006 Binary files /dev/null and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll0.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll1.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll1.jxl index 2b10a081..d6610f44 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll1.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll1.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll1.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll1.webp index adc4707a..15d0c923 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll1.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll1.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll10.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll10.jxl index 5df0f75e..b0d8dc21 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll10.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll10.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll10.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll10.webp index eb61f1a6..ce791433 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll10.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll10.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll11.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll11.jxl index 2dd37f97..c7091843 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll11.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll11.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll11.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll11.webp index f99ab700..5511398b 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll11.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll11.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll12.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll12.jxl index f4f6ddab..164c3e13 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll12.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll12.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll12.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll12.webp index 662e2054..1ace82ac 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll12.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll12.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll13.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll13.jxl index a710c692..2fdba694 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll13.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll13.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll13.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll13.webp index fec9a464..94f6fa31 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll13.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll13.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll2.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll2.jxl index 8377a97d..5c8ecfe6 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll2.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll2.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll2.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll2.webp index 6c173842..8f05ab3f 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll2.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll2.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll3.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll3.jxl index 96247858..9306bd65 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll3.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll3.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll3.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll3.webp index 1fdae203..6387496c 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll3.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll3.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll4.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll4.jxl index 167c793e..1bb28281 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll4.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll4.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll4.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll4.webp index 5d5c184d..84ef3226 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll4.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll4.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll5.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll5.jxl index 029cdd9b..bcf2ce2f 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll5.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll5.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll5.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll5.webp index 9ed299b8..00915a32 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll5.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll5.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll6.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll6.jxl index 311774f7..c4eeaab5 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll6.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll6.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll6.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll6.webp index ec9ed235..291e1d80 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll6.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll6.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll7.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll7.jxl index 36c0f182..e4239f75 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll7.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll7.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll7.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll7.webp index e8730ee9..a1bf17e6 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll7.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll7.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll8.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll8.jxl index c209d482..f3d1fe16 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll8.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll8.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll8.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll8.webp index 0fc05a0d..0a08aabc 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll8.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll8.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll9.jxl b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll9.jxl index 625a6ef7..1749c15f 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll9.jxl and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll9.jxl differ diff --git a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll9.webp b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll9.webp index ce3b8b6e..58c8c6ce 100644 Binary files a/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll9.webp and b/web/app/themes/haiku-atelier-2024/assets/img/storytelling/scroll9.webp differ diff --git a/web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json b/web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json index 847a9826..5a1cc5a8 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json +++ b/web/app/themes/haiku-atelier-2024/assets/js/.vite/manifest.json @@ -34,16 +34,16 @@ ], "integrity": "sha512-wORZ0WkOfNuzAUKhf7XA8LXG4geR64dUCIHwukqdLnUhkEFdeLpLtmDfuYMl5Aff09c7XjJxUQIVGwRb8uTbcA==" }, - "_index.CXGAS3st.js": { - "file": "index.CXGAS3st.js", - "name": "index", - "integrity": "sha512-eDANGhRhGm64JXPMqSK3b9l2B9IgUl4mo9ssnLZo8wcn8nWgv+R8JklbZ5xKI8JXxuLCYthYHsAuPG0ylMgKgg==" - }, "_index.CeK6pfoJ.js": { "file": "index.CeK6pfoJ.js", "name": "index", "integrity": "sha512-cxTw0sKKut2H95JwMgiKgEVLyZ0QswK/HydKTapcqcs3w6xHIHNUpYBLdRzEYdeRfHKUsA0kvPNBXBk/QeazjQ==" }, + "_index.DeCaB8sW.js": { + "file": "index.DeCaB8sW.js", + "name": "index", + "integrity": "sha512-VESVuActn/4kpl+gzqYgRTFoQLbW4WDZeuMjQEyixdpUaEK7n+ALNomAYHW9H2rNclHjlKCd8AIRi3Pnof+bpw==" + }, "_pipe.XPB0wEfw.js": { "file": "pipe.XPB0wEfw.js", "name": "pipe", @@ -54,7 +54,7 @@ "name": "api", "src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts", "isEntry": true, - "integrity": "sha512-IwhkTU893yoVKm6XHK5H3hAtfFt/SDe0ftjM4h2RttKPvlxIl71FP6sOYCNeLEuGsuCx0Hz6FsrdqsUEqOpqVg==" + "integrity": "sha512-oDVrrWjz3SSnlBy/OeAAxg+LjpBmHDxBzGsUS1fqirjK1CP2l29BqQqM4rfdvE38iMsvu0WlEYve3uCmyB7PIA==" }, "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-vXHO4Jy2lfm9PCvsOvkMcjB4+vGiuyqyugcDomkqWd1W4z7ugvBl7C000uKJAw3vPLlng2TqbqlIMx9eqplQMA==" + "integrity": "sha512-sSwUifw859f7ljok6cQWFI9El3qerOTqmW3nVQbjXUjYhTYT6G+iIEAUwVjsAFJw+opvE93EHcIkfETrKNVhFg==" }, "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": { "file": "messages3.js", @@ -78,11 +78,11 @@ "integrity": "sha512-M8me/iGRLfItVHaEf+BhA3xdEIxEwdyNuN+H87daJ1jl1oOENbROB7ub6RPP47NdFsQUChTRphEhQglT+qc6RA==" }, "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts": { - "file": "orders3.js", + "file": "orders2.js", "name": "orders", "src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts", "isEntry": true, - "integrity": "sha512-dLV15du4JF6iPF2I93pExJpqAG13hXNCrRj8hF1dO47SFaa/7S74hT3puqnojjF5g1vStbjuGX+dLVklMIZuOw==" + "integrity": "sha512-wV9B3cW/1TnjBcesuc4a2M+28+67nsmX2++/Up1QUraP4Bdzbn9RiToohkone5Z+1mZNOjB/Hrd8x7Gc+jtVvg==" }, "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts": { "file": "products2.js", @@ -101,7 +101,7 @@ "_exports.DT-46nyp.js", "_pipe.XPB0wEfw.js" ], - "integrity": "sha512-QQ4AgRankxszy2lL9PwpKn4u1qftdAEfH2fjKIsz2r1r1vbAVy9RxvnRolMzQoDMp9Z5u0LYBibtRl0phcP6Bg==" + "integrity": "sha512-VOFE4Hcn84/zkx9+7f96xARQfIjFTjxj77+vPW+axDmgJdzTqzeepoUlWWlMvMhnXPzlZg8hECzJ9LPbbaMkdQ==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts": { "file": "dom2.js", @@ -124,7 +124,7 @@ "imports": [ "_exports.DT-46nyp.js" ], - "integrity": "sha512-VCvTqmBichQ2MC4UG1jCaBSZYI814NOS6zm+RJJ8dfvdR9foeXGuvnAEtZAU1U4tBk79bkIHUc6O/hkR8JpcmA==" + "integrity": "sha512-ycCJdagUL+AOJ9CK7idsyochoV+fGvM1apEuijceXsjZ9RfROHMbweTcpZYs8OvQ8h/GVd6gP3F7ajOeNDLm6A==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts": { "file": "gardes.js", @@ -143,7 +143,7 @@ "_MaybeAsync.Ba-OfjWy.js", "_Either.wHNxn7Os.js" ], - "integrity": "sha512-cPmRTewvt0FOjnKDlX4Bj+7BhUXeBTVJc1FMaFYBFbiaePTsftZ084cwHuR2eQRV4dSoK6H0JfRwjAolgfcGQA==" + "integrity": "sha512-5w6tDnjHcmdQkNGKIfoCvHl92oc+ofbg4S0QY3PS5Fe7Opiwx2chB9+KWBBYBFek2mG3hekzTyznvrr7JZKYXA==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts": { "file": "messages.js", @@ -151,7 +151,7 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/messages.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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", @@ -162,7 +162,7 @@ "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts" ], - "integrity": "sha512-fmTMGQ1CAm5f/E+VaFBldk3mzb47nIyaNZjs7WSrAOefIVDPqtpRAHFcyHuTYFZeq7QX5ApeEgUtvWyYHP2PHQ==" + "integrity": "sha512-mVB7iJ9eYAlGmsedqDBABBDBz7QBbEbJOira6EczLdLFjMoXRqOmBSvq/T2yTVPZE7Vm4bOy1MEseSxJRBt9Dw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/nombres.ts": { "file": "nombres.js", @@ -178,14 +178,14 @@ "isEntry": true, "imports": [ "_index.CeK6pfoJ.js", - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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" ], - "integrity": "sha512-3DwXfy4COJ8iEKuipI7/CJkgB2RALGz+sXzZL9nRKnQoYVSHDTS2a3mxaasRZkV8MxRaUtbq6GBtciF9uhDZOA==" + "integrity": "sha512-l7cBiK3u4J6noRj/5bRjsdUywP+ITyBUK/UBJHSdEAXr0IkZDLy3gZjrWeO7gV81cZyfFQ+qtWBQzlsIlKsCzw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts": { "file": "adresses.js", @@ -193,9 +193,9 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js" + "_index.DeCaB8sW.js" ], - "integrity": "sha512-wxZc24uay8AJp/9gR77xSxP/1jxPqE0dwEIjJOSUSZ5iaZ0E+u98NkVDVnJjvf+k+vaBaDdyEUPJg/gJpWTFcw==" + "integrity": "sha512-MMxY7Qev3mDi/rNKwRhL+VvzA17YL7+/Ne2X/Gfr8UlhmDjnqN5WAeJmVFUQarUe5af7+XXYBS97jPTuhwxmwg==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts": { "file": "cart-add-item.js", @@ -203,9 +203,36 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-add-item.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js" + "_index.DeCaB8sW.js" ], - "integrity": "sha512-7nxF9KlbqvnjKgJRHy9gp6KYR9x6HIeYbekYRme7uD9zYI7ijvOworgbikKhh/VpyU0DMsxipMkIbN5aTywvVg==" + "integrity": "sha512-jtLTsorapki2SSs3gEQ4o/ElG1ecJQXOM8C9M8ropdjFYjLhnNTsRjOQN3JSxc7Fdm/6mvn9M2lRRFdliJ85CQ==" + }, + "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts": { + "file": "cart-apply-coupon.js", + "name": "cart-apply-coupon", + "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts", + "isEntry": true, + "imports": [ + "_index.DeCaB8sW.js" + ], + "integrity": "sha512-BMCLu7o5txvpnrvMbaO+fCvx40S+B+1kFRa4zhJTip+tMfA8VGucuJVgSZOs1G7RFbKQKhk4Sxv0Djd5louYGA==" + }, + "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==" + }, + "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts": { + "file": "cart-remove-coupon.js", + "name": "cart-remove-coupon", + "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts", + "isEntry": true, + "imports": [ + "_index.DeCaB8sW.js" + ], + "integrity": "sha512-hRxsjUgQbfhkmW9NTopSXU+2JLiARm+iz6Ub09lTaqnvjPT28QUTrTRQ+g96SQlyvZl4Pxmr5qeevo4nRN1ZPw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts": { "file": "cart-remove-item.js", @@ -213,9 +240,9 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-item.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js" + "_index.DeCaB8sW.js" ], - "integrity": "sha512-Y9EkBSzy3+A3xo0eKBp6BMxerG5/WKC6KI8U/NcI5rqsTP3L/o70pj6YfhtjRT+KesOfNPdsTAy0mFVsLgWwrg==" + "integrity": "sha512-prpxKV2zTo++qCwxAXdHHnOR5PzaYKVZvZe0yYCGTlRaBHYHlnC1+5jfN9EKjsshwd+agH91mMOuVsM5q6Ptcw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts": { "file": "cart-update-customer.js", @@ -223,10 +250,10 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-customer.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.js", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts" ], - "integrity": "sha512-PivxAS9NMdYD9NUHNPvHA5e3DB7RByKN+Cg5tX4HDzSrMg2XNC7oCATNgFMn/hSpr5Eh0A84giqIJV+vt3d5zw==" + "integrity": "sha512-ioQUabvwDl6JWayPctjngWpjmb7BkIFnWcoAYVQjfeue1sfv8Aa7NXcTB8Bmmd2ZGm7nX2xur91I1DrYz0BnYQ==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts": { "file": "cart-update-item.js", @@ -234,9 +261,9 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js" + "_index.DeCaB8sW.js" ], - "integrity": "sha512-Jkl0iSGOukBIjOv+zEVDcUX/sUtfdyl6mJd+gXyjx7WbTy4KYYLv68BhZigLzOJptrWoCF08ajWAQ8BODiM19g==" + "integrity": "sha512-DqeR6ekRzBk1cWAlhFx25NBxMsulAEstDkb87ZZ8sPIjLlgwe5TfqBYegXclTC9Wg9cLK1VR6DHoWrNDDrUHpw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts": { "file": "cart.js", @@ -244,12 +271,12 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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/couts-livraison.ts" ], - "integrity": "sha512-fwzj5jqgK8lTM+j1f1NkFdwhJVErJtKWyW9zJMV/1m9efxo0XHxY+OO+3Xkn0/ycHSni1bI1tCzVCMuTg6vpKQ==" + "integrity": "sha512-quTwNVIvYDgwjiQDgZQUc8usQML19ABUBTtLtSPFVD11yrfTKCe3qgnvjH4sy/8URUN/JChYhgxKA+6tf2GQHw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts": { "file": "couts-livraison.js", @@ -257,10 +284,10 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.js", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts" ], - "integrity": "sha512-EJLCLruWUYLwW+gIaOvchNjq46HFs1f3Xq7OacFEHvM23fYen4EMZbuN0LWhAxnIhQwIu2W4TPYU7IwXHu5Xng==" + "integrity": "sha512-zOIvFVeeme0okbWtPxAgYiJ9ApVZ3WqFRGm8pPeTivjgxwbVVb/f7bSbtvK3Wr1yUALE7wQXulTvFMpwO+vH1A==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts": { "file": "erreurs2.js", @@ -268,9 +295,9 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js" + "_index.DeCaB8sW.js" ], - "integrity": "sha512-dowi5DfOrRfPTkwCskhvYFC81FPuTs+aGWQJ5S/jC37V9nT20vUfGgmT81arvPn6wpnNaHf9aVcEE+1+bctgdQ==" + "integrity": "sha512-0aovUwOkfcV+G3x1owksl5ILTHx7ER0ka0Af2eL0ZB7rj0kyWkQXpUP5MlerrMKrOPDUBmIqjJbVg6sMGMFvsA==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts": { "file": "products3.js", @@ -278,22 +305,22 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/products.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.js", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts" ], - "integrity": "sha512-EoP6Wq6Pv9atR1Rq38hxNLiwwjVeA87qZivbidmtMNlEQ3lc5Xv1GHGIhVKoiZp9YFo7r82ZSnI7UeyS3YOkSA==" + "integrity": "sha512-Trpy89hQymfheaW8dgJR4VhW5JAi/KPRC1RqCxmJFZUToqNqA7W2GAAIpaGGywMwwlVqmXndfTN5U0fpOCM3Tg==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts": { - "file": "orders2.js", + "file": "orders.js", "name": "orders", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/orders.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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-snLY2wshCn9hIGTa8fooyNqFsGIQBfQhsMTypG0HOfTlmUV2ib+ranc0q4lsEoHixrpSB2sD0qXNdHSt2kgFoA==" + "integrity": "sha512-Kre4n1ECvEQb4rJ2CSvaCfYQDiMPwseQAltQuaQ7bIgXfnRGCRXWZ+H8xK7hKGenaZQnSp8kVwZ2lcyGzSC4dw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts": { "file": "products.js", @@ -301,10 +328,10 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/v3/products.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.js", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts" ], - "integrity": "sha512-rmvhLGUPYFJleUJIqCvt8xg4hHR74+yiQ0QPtleozfSgGOkZiV+WN/oRYd6MCHEGXXeKC2z5rA83EM7PdDLLBA==" + "integrity": "sha512-drUCjv7zIsJahz4nwVEcEEFS6McC4Jk/NVfabKHIajgdC6r/PpAhMT9Dv6udLFLODbu/hYSGxfnRAuyXSv4GJw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts": { "file": "messages2.js", @@ -312,21 +339,21 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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/couts-livraison.ts" ], - "integrity": "sha512-rqsyrxdcmlk/Xwmam1mSpoWzBRKQz6Eb9hUTxD0qOsW7gaC/BDS009V0/9icF0lP+GTddWNfNIAiWPStLCTQww==" + "integrity": "sha512-JKw9KmQsaKjXeXDkKkxPWyLGP7os2etoHcOeei88t3+XbDgGddzVbAVFallljGaDLMRYDRhl81aCwFohyRe8qA==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts": { - "file": "orders.js", + "file": "orders3.js", "name": "orders", "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/orders.ts", "isEntry": true, - "integrity": "sha512-FxX8RZIDDZuWNSNyFz9fYxNVJyRtwOZfK0KQ6c3Vn98d/Ovd3m+OjmjXXiYnENzH86EpLIuHjxc/RiUIVsAvDQ==" + "integrity": "sha512-nqCjj7B9DjVJS7/4WgLDt58w1LMfLMxDfutD7vY99PNX9rjdiF1ckCffcMuxCGureeEu8qw9RCRKMavMDEX2bw==" }, "web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/v3/products.ts": { "file": "products4.js", @@ -355,10 +382,10 @@ "src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts", "isEntry": true, "imports": [ - "_index.CXGAS3st.js", + "_index.DeCaB8sW.js", "_Either.wHNxn7Os.js" ], - "integrity": "sha512-Wr3Pn/SgzL55B/UiVKszE14pueIbR2UK5ZQ+zQHUrv+QViOSm+Bk5RyNxEqZNdKX2P/lbWs9/QwGgj7AieVq5g==" + "integrity": "sha512-+JFwOCgnzY60Mc2eSWHulo7Pmg1WdcghpZICm82dY6cCnu9MfszbqTvAis8mH7lk0Jq0+FdWNXYMNdmoHzA3fg==" }, "web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": { "file": "scripts-bouton-panier.js", @@ -375,14 +402,14 @@ "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts", "_exports.DT-46nyp.js", "_Either.wHNxn7Os.js", - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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/couts-livraison.ts" ], - "integrity": "sha512-CEgEh4Ysj8RFg6s3vYPH7p2w9Xfrpjx+Fk46y7Mx1L2ZuMnCYq8Lbo73cnIneA4afMZdaR2F+DXKduDNMV88mw==" + "integrity": "sha512-c2lPVLw4/BtVqdses0KHAGQL3WRcx6r78mek0FwrCD10x6Lrzg1VEt4c96Z/QX8gx0upzZt7XZwo+GfwQU/1sA==" }, "web/app/themes/haiku-atelier-2024/src/scripts/scripts-menu-categories.ts": { "file": "scripts-menu-categories.js", @@ -415,7 +442,7 @@ "_Either.wHNxn7Os.js", "_pipe.XPB0wEfw.js" ], - "integrity": "sha512-S32/7dQE0D49gv3wprzFmUiQOC8GW67Xoemaa68wGE61zS0EYHTRmcCTagkTg+0uJw/knSv8if1Ms4XaytnClA==" + "integrity": "sha512-ur8F71PhcmJxjz5vOWwvpEDwgvtt3DIvUs70ZoHky1dc3366AxxW/eneNBhh2brWTxr+XB06JVVMDSVywZ0D8A==" }, "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts": { "file": "scripts-page-a-propos.js", @@ -432,7 +459,7 @@ "_exports.DT-46nyp.js", "_Either.wHNxn7Os.js" ], - "integrity": "sha512-WUcoEKVDXWekPdSMzpJepPYynA1j1zIK/QzETBesaXkFjNN0AG7sdSkFEtlhf4kcXh4GaSBZvPtuzBwPNbCx2Q==" + "integrity": "sha512-n5kzxn/FUDN7WZaghlqMv3n+7wgBbO5ntBQYGvtpO0f3maqwXSw16O5Kz0FPxQpif97Xgh8xdxL7SRWeUHkg8A==" }, "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts": { "file": "scripts-page-accueil.js", @@ -458,7 +485,7 @@ "isEntry": true, "imports": [ "_index.CeK6pfoJ.js", - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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", @@ -476,7 +503,23 @@ "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts", "_belt_Option-91f3b350.BKMoZFhU.js" ], - "integrity": "sha512-F/ScBzgbN07v1YNg/j/T8BPeLoAP7aS3qA1C1wLQ/V7IVQjqV7GVWUqqDQczcg0Sh2xWgE1tBIkgzJMb8VZ1lA==" + "integrity": "sha512-UJ65bimSLn101pT4fvkq+ri0VXxmg9iZ/y66jq5XBmPLi2E788SZs/mtVaFVLKGCIyil64JSIH9J8dhFx0D1Ow==" + }, + "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts": { + "file": "scripts-page-panier-code-promo.js", + "name": "scripts-page-panier-code-promo", + "src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts", + "isEntry": true, + "imports": [ + "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", + "_Either.wHNxn7Os.js", + "_pipe.XPB0wEfw.js" + ], + "integrity": "sha512-WgxyPzbqGfZbXTo1NrcaGULnyN53Ad2srjXoTRkx990EVtK5DcrPEP6BvA1YOc1p/vOfu8Ry8KpeTSl4blwXwg==" }, "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": { "file": "scripts-page-panier.js", @@ -485,7 +528,7 @@ "isEntry": true, "imports": [ "_index.CeK6pfoJ.js", - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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", @@ -494,6 +537,8 @@ "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", @@ -504,6 +549,7 @@ "web/app/themes/haiku-atelier-2024/src/scripts/lib/validation.ts", "_pipe.XPB0wEfw.js", "_index-0eef19ec.CFsloYN6.js", + "_MaybeAsync.Ba-OfjWy.js", "_Either.wHNxn7Os.js", "_exports.DT-46nyp.js", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", @@ -513,7 +559,7 @@ "web/app/themes/haiku-atelier-2024/src/scripts/constantes/orders.ts", "_belt_Option-91f3b350.BKMoZFhU.js" ], - "integrity": "sha512-43e9x7ZGQl7cv+OHv91Gk55D7yWLIT+OimqniA+E+Ol3+yddsj8ez3xcDOIv0vZZVu0kZTby+LZ0mgnoed3wlQ==" + "integrity": "sha512-JT02QHHnBgQjwcB2dwaM08tKsQO3HaQLSmy1hkB4xxKuC92rBv2jBd6Hj2SBMTjch4H0270NPMC98esVTcET+g==" }, "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": { "file": "scripts-page-produit.js", @@ -537,7 +583,7 @@ "_index-0eef19ec.CFsloYN6.js", "_Either.wHNxn7Os.js", "_exports.DT-46nyp.js", - "_index.CXGAS3st.js", + "_index.DeCaB8sW.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", @@ -546,6 +592,6 @@ "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts", "_belt_Option-91f3b350.BKMoZFhU.js" ], - "integrity": "sha512-eEzW7ukzpYsVTOkmJPO6vEnOefXhetRPh4+bkjdbf6nNL651Ms7o5zwip+6ZwtXpMxQeqDSRIV+M2LxGzxaDiQ==" + "integrity": "sha512-xezJYeBOyJhax3Kdcv6WJqp1RgZF7WG5wKf9XMjyTKsvUAlppMnhADz/xFhUEGJIAHIsvkKep4Z02GslZRN0oQ==" } } \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/adresses.js b/web/app/themes/haiku-atelier-2024/assets/js/adresses.js index e26408c1..557fa25a 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/adresses.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/adresses.js @@ -1,4 +1,4 @@ -import { o as object, s as string } from "./index.CXGAS3st.js"; +import { o as object, s as string } from "./index.DeCaB8sW.js"; const WCStoreBillingAddressSchema = object({ address_1: string(), address_2: string(), diff --git a/web/app/themes/haiku-atelier-2024/assets/js/api.js b/web/app/themes/haiku-atelier-2024/assets/js/api.js index 51ee0f91..6567e5bd 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/api.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/api.js @@ -1,6 +1,8 @@ const CHEMIN_API_REST = "wp-json"; const ROUTE_API_PANIER = `/${CHEMIN_API_REST}/wc/store/cart`; const ROUTE_API_AJOUTE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/add-item`; +const ROUTE_API_APPLIQUE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/apply-coupon`; +const ROUTE_API_RETIRE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/remove-coupon`; const ROUTE_API_RETIRE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/remove-item`; const ROUTE_API_MAJ_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/update-item`; const ROUTE_API_MAJ_CLIENT = `/${CHEMIN_API_REST}/wc/store/cart/update-customer`; @@ -16,9 +18,11 @@ export { ROUTE_API_MAJ_ARTICLE_PANIER as b, ROUTE_API_MAJ_CLIENT as c, ROUTE_API_NOUVELLE_COMMANDES as d, - ROUTE_API_AJOUTE_ARTICLE_PANIER as e, - ROUTE_API_PANIER as f, - ENTETE_GLITCHTIP_RETRY_AFTER as g, - ENTETE_GLITCHTIP_RATE_LIMITS as h + ROUTE_API_RETIRE_COUPON as e, + ROUTE_API_APPLIQUE_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 }; //# sourceMappingURL=api.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/api.js.map b/web/app/themes/haiku-atelier-2024/assets/js/api.js.map index 65695dc4..d163eca6 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/api.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/api.js.map @@ -1 +1 @@ -{"version":3,"file":"api.js","sources":["../../src/scripts/constantes/api.ts"],"sourcesContent":["// Chemins et Routes pour l'API WordPress\nexport const CHEMIN_API_REST = \"wp-json\";\nexport const ROUTE_API_PANIER = `/${CHEMIN_API_REST}/wc/store/cart`;\nexport const ROUTE_API_AJOUTE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/add-item`;\nexport const ROUTE_API_RETIRE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/remove-item`;\nexport const ROUTE_API_MAJ_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/update-item`;\nexport const ROUTE_API_MAJ_CLIENT = `/${CHEMIN_API_REST}/wc/store/cart/update-customer`;\nexport const ROUTE_API_PRODUITS = `/${CHEMIN_API_REST}/wc/store/products`;\nexport const ROUTE_API_NOUVELLE_PRODUCTS = `/${CHEMIN_API_REST}/wc/v3/products`;\nexport const ROUTE_API_NOUVELLE_COMMANDES = `/${CHEMIN_API_REST}/wc/v3/orders`;\n\n// En-têtes\nexport const ENTETE_WC_NONCE = \"Nonce\";\nexport const ENTETE_GLITCHTIP_RETRY_AFTER = \"retry-after\";\nexport const ENTETE_GLITCHTIP_RATE_LIMITS = \"x-sentry-rate-limits\";\n"],"names":[],"mappings":"AACO,MAAM,kBAAkB;AAClB,MAAA,mBAAmB,IAAI,eAAe;AACtC,MAAA,kCAAkC,IAAI,eAAe;AACrD,MAAA,kCAAkC,IAAI,eAAe;AACrD,MAAA,+BAA+B,IAAI,eAAe;AAClD,MAAA,uBAAuB,IAAI,eAAe;AAE1C,MAAA,8BAA8B,IAAI,eAAe;AACjD,MAAA,+BAA+B,IAAI,eAAe;AAGxD,MAAM,kBAAkB;AACxB,MAAM,+BAA+B;AACrC,MAAM,+BAA+B;"} \ No newline at end of file +{"version":3,"file":"api.js","sources":["../../src/scripts/constantes/api.ts"],"sourcesContent":["// Chemins et Routes pour l'API WordPress\nexport const CHEMIN_API_REST = \"wp-json\";\nexport const ROUTE_API_PANIER = `/${CHEMIN_API_REST}/wc/store/cart`;\nexport const ROUTE_API_AJOUTE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/add-item`;\nexport const ROUTE_API_APPLIQUE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/apply-coupon`;\nexport const ROUTE_API_RETIRE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/remove-coupon`;\nexport const ROUTE_API_COUPONS = `/${CHEMIN_API_REST}/wc/store/cart/coupons`;\nexport const ROUTE_API_RETIRE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/remove-item`;\nexport const ROUTE_API_MAJ_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/update-item`;\nexport const ROUTE_API_MAJ_CLIENT = `/${CHEMIN_API_REST}/wc/store/cart/update-customer`;\nexport const ROUTE_API_PRODUITS = `/${CHEMIN_API_REST}/wc/store/products`;\nexport const ROUTE_API_NOUVELLE_PRODUCTS = `/${CHEMIN_API_REST}/wc/v3/products`;\nexport const ROUTE_API_NOUVELLE_COMMANDES = `/${CHEMIN_API_REST}/wc/v3/orders`;\n\n// En-têtes\nexport const ENTETE_WC_NONCE = \"Nonce\";\nexport const ENTETE_GLITCHTIP_RETRY_AFTER = \"retry-after\";\nexport const ENTETE_GLITCHTIP_RATE_LIMITS = \"x-sentry-rate-limits\";\n"],"names":[],"mappings":"AACO,MAAM,kBAAkB;AAClB,MAAA,mBAAmB,IAAI,eAAe;AACtC,MAAA,kCAAkC,IAAI,eAAe;AACrD,MAAA,4BAA4B,IAAI,eAAe;AAC/C,MAAA,0BAA0B,IAAI,eAAe;AAE7C,MAAA,kCAAkC,IAAI,eAAe;AACrD,MAAA,+BAA+B,IAAI,eAAe;AAClD,MAAA,uBAAuB,IAAI,eAAe;AAE1C,MAAA,8BAA8B,IAAI,eAAe;AACjD,MAAA,+BAA+B,IAAI,eAAe;AAGxD,MAAM,kBAAkB;AACxB,MAAM,+BAA+B;AACrC,MAAM,+BAA+B;"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-add-item.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-add-item.js index 4b062895..ac9bfb9f 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/cart-add-item.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-add-item.js @@ -1,4 +1,4 @@ -import { o as object, c as optional, b as array, s as string, n as number } from "./index.CXGAS3st.js"; +import { o as object, c as optional, b as array, s as string, n as number } from "./index.DeCaB8sW.js"; const WCStoreCartAddItemArgsItemsSchema = object({ /** Variation attribute name. */ attribute: string(), diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-apply-coupon.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-apply-coupon.js new file mode 100644 index 00000000..35813726 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-apply-coupon.js @@ -0,0 +1,9 @@ +import { o as object, c as optional, s as string } from "./index.DeCaB8sW.js"; +const WCStoreCartApplyCouponArgsSchema = object({ + /** Unique identifier for the coupon within the basket */ + code: optional(string()) +}); +export { + WCStoreCartApplyCouponArgsSchema as W +}; +//# sourceMappingURL=cart-apply-coupon.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-apply-coupon.js.map b/web/app/themes/haiku-atelier-2024/assets/js/cart-apply-coupon.js.map new file mode 100644 index 00000000..b8644e55 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-apply-coupon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cart-apply-coupon.js","sources":["../../src/scripts/lib/schemas/api/cart-apply-coupon.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nexport const WCStoreCartApplyCouponArgsSchema = v.object({\n /** Unique identifier for the coupon within the basket */\n code: v.optional(v.string()),\n});\n"],"names":["v.object","v.optional","v.string"],"mappings":";AAEa,MAAA,mCAAmCA,OAAS;AAAA;AAAA,EAEvD,MAAMC,SAAWC,OAAU,CAAA;AAC7B,CAAC;"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-coupons.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-coupons.js new file mode 100644 index 00000000..11c0af17 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-coupons.js @@ -0,0 +1,2 @@ + +//# sourceMappingURL=cart-coupons.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-coupons.js.map b/web/app/themes/haiku-atelier-2024/assets/js/cart-coupons.js.map new file mode 100644 index 00000000..c99845b5 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-coupons.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cart-coupons.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-coupon.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-coupon.js new file mode 100644 index 00000000..92bd16cd --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-coupon.js @@ -0,0 +1,9 @@ +import { o as object, c as optional, s as string } from "./index.DeCaB8sW.js"; +const WCStoreCartRemoveCouponArgsSchema = object({ + /** Unique identifier for the coupon within the basket */ + code: optional(string()) +}); +export { + WCStoreCartRemoveCouponArgsSchema as W +}; +//# sourceMappingURL=cart-remove-coupon.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-coupon.js.map b/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-coupon.js.map new file mode 100644 index 00000000..d1f81ccf --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-coupon.js.map @@ -0,0 +1 @@ +{"version":3,"file":"cart-remove-coupon.js","sources":["../../src/scripts/lib/schemas/api/cart-remove-coupon.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nexport const WCStoreCartRemoveCouponArgsSchema = v.object({\n /** Unique identifier for the coupon within the basket */\n code: v.optional(v.string()),\n});\n"],"names":["v.object","v.optional","v.string"],"mappings":";AAEa,MAAA,oCAAoCA,OAAS;AAAA;AAAA,EAExD,MAAMC,SAAWC,OAAU,CAAA;AAC7B,CAAC;"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-item.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-item.js index c5a0a731..db754949 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-item.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-remove-item.js @@ -1,4 +1,4 @@ -import { o as object, s as string } from "./index.CXGAS3st.js"; +import { o as object, s as string } from "./index.DeCaB8sW.js"; const WCStoreCartRemoveItemArgsSchema = object({ /** Unique identifier (key) for the basket item. */ key: string() diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-update-customer.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-update-customer.js index 3b51b2e4..a3425b47 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/cart-update-customer.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-update-customer.js @@ -1,4 +1,4 @@ -import { o as object, c as optional } from "./index.CXGAS3st.js"; +import { o as object, c as optional } from "./index.DeCaB8sW.js"; import { W as WCStoreShippingAddressSchema, a as WCStoreBillingAddressSchema } from "./adresses.js"; const WCStoreCartUpdateCustomerArgsSchema = object({ billing_address: optional(WCStoreBillingAddressSchema), diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart-update-item.js b/web/app/themes/haiku-atelier-2024/assets/js/cart-update-item.js index f1b0b68e..e2dccdd8 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/cart-update-item.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart-update-item.js @@ -1,4 +1,4 @@ -import { o as object, a as pipe, m as minValue, n as number, s as string } from "./index.CXGAS3st.js"; +import { o as object, a as pipe, k as minValue, n as number, s as string } from "./index.DeCaB8sW.js"; const WCStoreCartUpdateItemArgsSchema = object({ /** Unique identifier (key) for the basket item to update. */ key: string(), diff --git a/web/app/themes/haiku-atelier-2024/assets/js/cart.js b/web/app/themes/haiku-atelier-2024/assets/js/cart.js index 4235e0b8..923fdc26 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/cart.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/cart.js @@ -1,4 +1,4 @@ -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.CXGAS3st.js"; +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 { C as CATALOG_VISIBILITIES } from "./cart2.js"; import { W as WCStoreShippingAddressSchema, a as WCStoreBillingAddressSchema } from "./adresses.js"; import { a as WCStoreShippingRateSchema } from "./couts-livraison.js"; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/couts-livraison.js b/web/app/themes/haiku-atelier-2024/assets/js/couts-livraison.js index 93d610d8..825782d5 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/couts-livraison.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/couts-livraison.js @@ -1,4 +1,4 @@ -import { o as object, b as array, s as string, d as boolean, u as unknown, n as number, j as omit } from "./index.CXGAS3st.js"; +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"; const WCStoreShippingRateItemSchema = object({ key: string(), diff --git a/web/app/themes/haiku-atelier-2024/assets/js/dom.js b/web/app/themes/haiku-atelier-2024/assets/js/dom.js index 26e6dabe..871ed1c3 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/dom.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/dom.js @@ -12,6 +12,7 @@ const ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE = "data-id-ensemble-epingle-boite"; const ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF = "data-ensemble-epingle-boite-actif"; const ATTRIBUT_INDEX_IMAGE_ACTIVE = "data-index-image-active"; const ATTRIBUT_PRIX = "data-prix"; +const ATTRIBUT_CODE_PROMO_PRESENT = "data-code-promo-present"; const SELECTEUR_BOUTON_MENU_MOBILE = "#bouton-menu-mobile"; const SELECTEUR_BOUTON_PANIER = ".compte-panier a[rel='cart']"; const SELECTEUR_MENU_MOBILE = "#menu-mobile"; @@ -31,12 +32,17 @@ const SELECTEUR_PRIX_LIGNE_PANIER = ".detail-produit__nom-prix span"; const SELECTEUR_SOUS_TOTAL_PRODUITS = "#panneau-panier #sous-total-produits strong"; const SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT = "#panneau-panier #sous-total-livraison strong"; const SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE = "#panneau-panier #sous-total-livraison span"; +const SELECTEUR_TOTAL_REDUCTION = "#panneau-panier #sous-total-reduction"; +const SELECTEUR_TOTAL_REDUCTION_VALEUR = "#panneau-panier #sous-total-reduction strong"; const SELECTEUR_TOTAL_PANIER = "#panneau-panier .panneau__pied-de-page p span"; const SELECTEUR_BOUTON_SEPARATION_ADRESSES = "#separation-adresses"; const SELECTEUR_FORMULAIRE_PANIER = "#panneau-informations-client form"; const SELECTEUR_FORMULAIRE_FACTURATION = "#panneau-informations-client .panneau__formulaires__facturation"; const SELECTEUR_BOUTON_ACTIONS_FORMULAIRE = "#panneau-informations-client .panneau__pied-de-page button"; const SELECTEUR_INSTRUCTIONS_CLIENT = "#panneau-panier #instructions-client"; +const SELECTEUR_ENSEMBLE_CODE_PROMO = "#panneau-panier #ensemble-code-promo"; +const SELECTEUR_CHAMP_CODE_PROMO = "#panneau-panier #champ-code-promo"; +const SELECTEUR_BOUTON_CODE_PROMO = "#panneau-panier #bouton-code-promo"; const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling"; const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image"; const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-produits"; @@ -55,36 +61,42 @@ const SELECTEUR_IMAGE_COLONNE_GAUCHE = ".colonne-gauche img"; const SELECTEUR_IMAGES_COLONNE_DROITE = ".colonne-droite img"; const SELECTEUR_PRIX_PRODUIT = ".selecteur-produit__prix"; export { - CLASS_BOUTON_FERMETURE_BOITE_TEXTE as $, + ATTRIBUT_MENU_MOBILE_ACTIVE as $, ATTRIBUT_CONTIENT_ARTICLES as A, - SELECTEUR_BOUTON_SUPPRESSION_PANIER as B, - ATTRIBUT_DESACTIVE as C, - SELECTEUR_PRIX_LIGNE_PANIER as D, - SELECTEUR_BOUTON_AJOUT_PANIER as E, - SELECTEUR_SELECTEUR_QUANTITE as F, - SELECTEUR_PRIX_PRODUIT as G, - SELECTEUR_LIENS_ONGLETS as H, - SELECTEUR_SECTIONS_CONTENUS as I, - ATTRIBUT_ARIA_SELECTED as J, - ATTRIBUT_PRIX as K, - SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT as L, - SELECTEUR_FLECHE_DEFILEMENT_GAUCHE as M, - SELECTEUR_FLECHE_DEFILEMENT_DROITE as N, - SELECTEUR_PHOTOS_PRODUIT as O, - SELECTEUR_IMAGE_COLONNE_GAUCHE as P, - SELECTEUR_IMAGES_COLONNE_DROITE as Q, - ATTRIBUT_INDEX_IMAGE_ACTIVE as R, + SELECTEUR_BOUTON_ACTIONS_FORMULAIRE 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, + 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_BOUTON_PANIER as S, - SELECTEUR_BOUTON_MENU_MOBILE as T, - SELECTEUR_MENU_MOBILE as U, - ATTRIBUT_MENU_MOBILE_ACTIVE as V, - SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS as W, - SELECTEUR_EPINGLE as X, - SELECTEUR_BOITE_TEXTE as Y, - ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE as Z, - ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF as _, + 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_BOUTON_MENU_MOBILE as Z, + SELECTEUR_MENU_MOBILE as _, SELECTEUR_MENU_CATEGORIES_PRODUITS as a, - CLASS_EPINGLE as a0, + 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, SELECTEUR_ENTREE_MENU_CATEGORIES_PRODUITS as b, SELECTEUR_CONTENEUR_STORYTELLING as c, SELECTEUR_IMAGES_STORYTELLING as d, @@ -95,20 +107,20 @@ export { ATTRIBUT_ID_CATEGORIE_PRODUITS as i, ATTRIBUT_PAGE as j, ATTRIBUT_HIDDEN as k, - 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_INSTRUCTIONS_CLIENT as q, - SELECTEUR_TOTAL_PANIER as r, - SELECTEUR_BOUTON_SEPARATION_ADRESSES as s, - SELECTEUR_FORMULAIRE_PANIER as t, - SELECTEUR_FORMULAIRE_FACTURATION as u, - SELECTEUR_BOUTON_ACTIONS_FORMULAIRE as v, - ATTRIBUT_CLE_PANIER as w, - SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE as x, - SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER as y, - SELECTEUR_BOUTON_ADDITION_QUANTITE as z + 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 }; //# sourceMappingURL=dom.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/dom.js.map b/web/app/themes/haiku-atelier-2024/assets/js/dom.js.map index a0ba9c6c..d20f79c1 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/dom.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/dom.js.map @@ -1 +1 @@ -{"version":3,"file":"dom.js","sources":["../../src/scripts/constantes/dom.ts"],"sourcesContent":["/** Constantes de valeurs pour la manipulation du DOM : sélecteurs et attributs. */\n\nexport const ATTRIBUT_ARIA_HIDDEN = \"aria-hidden\";\nexport const ATTRIBUT_ARIA_SELECTED = \"aria-selected\";\nexport const ATTRIBUT_CACHE = \"data-cache\";\nexport const ATTRIBUT_CLE_PANIER = \"data-cle-panier\";\nexport const ATTRIBUT_CONTIENT_ARTICLES = \"data-contient-articles\";\nexport const ATTRIBUT_DESACTIVE = \"disabled\";\nexport const ATTRIBUT_HIDDEN = \"hidden\";\nexport const ATTRIBUT_INDEX = \"data-index\";\nexport const ATTRIBUT_MENU_MOBILE_ACTIVE = \"data-menu-mobile-active\";\nexport const ATTRIBUT_PAGE = \"data-page\";\nexport const ATTRIBUT_ID_CATEGORIE_PRODUITS = \"data-id-categorie-produits\";\nexport const ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE = \"data-id-ensemble-epingle-boite\";\nexport const ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF = \"data-ensemble-epingle-boite-actif\";\nexport const ATTRIBUT_INDEX_IMAGE_ACTIVE = \"data-index-image-active\";\nexport const ATTRIBUT_PRIX = \"data-prix\";\n\n// En-tête\nexport const SELECTEUR_BOUTON_MENU_MOBILE = \"#bouton-menu-mobile\";\nexport const SELECTEUR_BOUTON_PANIER = \".compte-panier a[rel='cart']\";\nexport const SELECTEUR_MENU_MOBILE = \"#menu-mobile\";\nexport const SELECTEUR_MENU_CATEGORIES_PRODUITS = \"#menu-categories-produits\";\nexport const SELECTEUR_ENTREE_MENU_CATEGORIES_PRODUITS = \"#menu-categories-produits ul li a\";\nexport const SELECTEUR_FLECHE_GAUCHE_CATEGORIES_PRODUITS = \"#fleche-defilement-categories-produits-gauche\";\nexport const SELECTEUR_FLECHE_DROITE_CATEGORIES_PRODUITS = \"#fleche-defilement-categories-produits-droite\";\n\n// ???\nexport const SELECTEUR_CONTENEUR_PANIER = \"#page-panier\";\nexport const SELECTEUR_SELECTEUR_QUANTITE = \"#selecteur-variation\";\nexport const SELECTEUR_BOUTON_AJOUT_PANIER = \"#bouton-ajout-panier\";\nexport const SELECTEUR_LIENS_ONGLETS = \"a[role='tab']\";\nexport const SELECTEUR_SECTIONS_CONTENUS = \"section[role='tabpanel']\";\n\n// Panier\nexport const SELECTEUR_ENTREES_PANIER = \"article\";\nexport const SELECTEUR_BOUTON_SUPPRESSION_PANIER = \"button.detail-produit__actions__suppression\";\nexport const SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE = \"button.detail-produit__actions__soustraction\";\nexport const SELECTEUR_BOUTON_ADDITION_QUANTITE = \"button.detail-produit__actions__addition\";\nexport const SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER = \"input\";\nexport const SELECTEUR_PRIX_LIGNE_PANIER = \".detail-produit__nom-prix span\";\nexport const SELECTEUR_SOUS_TOTAL_PRODUITS = \"#panneau-panier #sous-total-produits strong\";\nexport const SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT = \"#panneau-panier #sous-total-livraison strong\";\nexport const SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE = \"#panneau-panier #sous-total-livraison span\";\nexport const SELECTEUR_TOTAL_PANIER = \"#panneau-panier .panneau__pied-de-page p span\";\nexport const SELECTEUR_BOUTON_SEPARATION_ADRESSES = \"#separation-adresses\";\nexport const SELECTEUR_FORMULAIRE_PANIER = \"#panneau-informations-client form\";\nexport const SELECTEUR_FORMULAIRE_LIVRAISON = \"#panneau-informations-client .panneau__formulaires__livraison\";\nexport const SELECTEUR_FORMULAIRE_FACTURATION = \"#panneau-informations-client .panneau__formulaires__facturation\";\nexport const SELECTEUR_BOUTON_ACTIONS_FORMULAIRE = \"#panneau-informations-client .panneau__pied-de-page button\";\nexport const SELECTEUR_INSTRUCTIONS_CLIENT = \"#panneau-panier #instructions-client\";\n\n// Accueil\nexport const SELECTEUR_CONTENEUR_STORYTELLING = \".storytelling\";\nexport const SELECTEUR_IMAGES_STORYTELLING = \".storytelling__image\";\n\n// Boutique\nexport const SELECTEUR_GRILLE_PRODUITS = \"#page-boutique .grille-produits\";\nexport const SELECTEUR_BOUTON_PLUS_PRODUITS = \"#page-boutique #bouton-plus-de-produits\";\n\n// À propos\nexport const SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS = \".storytelling__conteneur\";\nexport const CLASS_EPINGLE = \"epingle\";\nexport const SELECTEUR_EPINGLE = `.${CLASS_EPINGLE}`;\nexport const CLASS_BOITE_TEXTE = \"boite-texte\";\nexport const SELECTEUR_BOITE_TEXTE = `.${CLASS_BOITE_TEXTE}`;\nexport const CLASS_BOUTON_FERMETURE_BOITE_TEXTE = \"boite-texte__bouton-fermeture\";\nexport const SELECTEUR_BOUTON_FERMETURE_BOITE_TEXTE = `.${CLASS_BOUTON_FERMETURE_BOITE_TEXTE}`;\n\n// Produit\nexport const SELECTEUR_PHOTOS_PRODUIT = \".photos-produit\";\nexport const SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT = \".fleches-defilement\";\nexport const SELECTEUR_FLECHE_DEFILEMENT_GAUCHE = \".fleches-defilement__bouton:first-of-type\";\nexport const SELECTEUR_FLECHE_DEFILEMENT_DROITE = \".fleches-defilement__bouton:last-of-type\";\nexport const SELECTEUR_IMAGE_COLONNE_GAUCHE = \".colonne-gauche img\";\nexport const SELECTEUR_IMAGES_COLONNE_DROITE = \".colonne-droite img\";\nexport const SELECTEUR_PRIX_PRODUIT = \".selecteur-produit__prix\";\n"],"names":[],"mappings":"AAEO,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAC/B,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,qBAAqB;AAC3B,MAAM,kBAAkB;AAExB,MAAM,8BAA8B;AACpC,MAAM,gBAAgB;AACtB,MAAM,iCAAiC;AACvC,MAAM,qCAAqC;AAC3C,MAAM,wCAAwC;AAC9C,MAAM,8BAA8B;AACpC,MAAM,gBAAgB;AAGtB,MAAM,+BAA+B;AACrC,MAAM,0BAA0B;AAChC,MAAM,wBAAwB;AAC9B,MAAM,qCAAqC;AAC3C,MAAM,4CAA4C;AAKlD,MAAM,6BAA6B;AACnC,MAAM,+BAA+B;AACrC,MAAM,gCAAgC;AACtC,MAAM,0BAA0B;AAChC,MAAM,8BAA8B;AAGpC,MAAM,2BAA2B;AACjC,MAAM,sCAAsC;AAC5C,MAAM,yCAAyC;AAC/C,MAAM,qCAAqC;AAC3C,MAAM,wCAAwC;AAC9C,MAAM,8BAA8B;AACpC,MAAM,gCAAgC;AACtC,MAAM,sCAAsC;AAC5C,MAAM,6CAA6C;AACnD,MAAM,yBAAyB;AAC/B,MAAM,uCAAuC;AAC7C,MAAM,8BAA8B;AAEpC,MAAM,mCAAmC;AACzC,MAAM,sCAAsC;AAC5C,MAAM,gCAAgC;AAGtC,MAAM,mCAAmC;AACzC,MAAM,gCAAgC;AAGtC,MAAM,4BAA4B;AAClC,MAAM,iCAAiC;AAGvC,MAAM,4CAA4C;AAClD,MAAM,gBAAgB;AAChB,MAAA,oBAAoB,IAAI,aAAa;AAC3C,MAAM,oBAAoB;AACpB,MAAA,wBAAwB,IAAI,iBAAiB;AACnD,MAAM,qCAAqC;AAI3C,MAAM,2BAA2B;AACjC,MAAM,yCAAyC;AAC/C,MAAM,qCAAqC;AAC3C,MAAM,qCAAqC;AAC3C,MAAM,iCAAiC;AACvC,MAAM,kCAAkC;AACxC,MAAM,yBAAyB;"} \ No newline at end of file +{"version":3,"file":"dom.js","sources":["../../src/scripts/constantes/dom.ts"],"sourcesContent":["/** Constantes de valeurs pour la manipulation du DOM : sélecteurs et attributs. */\n\nexport const ATTRIBUT_ARIA_HIDDEN = \"aria-hidden\";\nexport const ATTRIBUT_ARIA_SELECTED = \"aria-selected\";\nexport const ATTRIBUT_CACHE = \"data-cache\";\nexport const ATTRIBUT_CLE_PANIER = \"data-cle-panier\";\nexport const ATTRIBUT_CONTIENT_ARTICLES = \"data-contient-articles\";\nexport const ATTRIBUT_DESACTIVE = \"disabled\";\nexport const ATTRIBUT_HIDDEN = \"hidden\";\nexport const ATTRIBUT_INDEX = \"data-index\";\nexport const ATTRIBUT_MENU_MOBILE_ACTIVE = \"data-menu-mobile-active\";\nexport const ATTRIBUT_PAGE = \"data-page\";\nexport const ATTRIBUT_ID_CATEGORIE_PRODUITS = \"data-id-categorie-produits\";\nexport const ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE = \"data-id-ensemble-epingle-boite\";\nexport const ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF = \"data-ensemble-epingle-boite-actif\";\nexport const ATTRIBUT_INDEX_IMAGE_ACTIVE = \"data-index-image-active\";\nexport const ATTRIBUT_PRIX = \"data-prix\";\nexport const ATTRIBUT_CODE_PROMO_PRESENT = \"data-code-promo-present\";\n\n// En-tête\nexport const SELECTEUR_BOUTON_MENU_MOBILE = \"#bouton-menu-mobile\";\nexport const SELECTEUR_BOUTON_PANIER = \".compte-panier a[rel='cart']\";\nexport const SELECTEUR_MENU_MOBILE = \"#menu-mobile\";\nexport const SELECTEUR_MENU_CATEGORIES_PRODUITS = \"#menu-categories-produits\";\nexport const SELECTEUR_ENTREE_MENU_CATEGORIES_PRODUITS = \"#menu-categories-produits ul li a\";\nexport const SELECTEUR_FLECHE_GAUCHE_CATEGORIES_PRODUITS = \"#fleche-defilement-categories-produits-gauche\";\nexport const SELECTEUR_FLECHE_DROITE_CATEGORIES_PRODUITS = \"#fleche-defilement-categories-produits-droite\";\n\n// ???\nexport const SELECTEUR_CONTENEUR_PANIER = \"#page-panier\";\nexport const SELECTEUR_SELECTEUR_QUANTITE = \"#selecteur-variation\";\nexport const SELECTEUR_BOUTON_AJOUT_PANIER = \"#bouton-ajout-panier\";\nexport const SELECTEUR_LIENS_ONGLETS = \"a[role='tab']\";\nexport const SELECTEUR_SECTIONS_CONTENUS = \"section[role='tabpanel']\";\n\n// Panier\nexport const SELECTEUR_ENTREES_PANIER = \"article\";\nexport const SELECTEUR_BOUTON_SUPPRESSION_PANIER = \"button.detail-produit__actions__suppression\";\nexport const SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE = \"button.detail-produit__actions__soustraction\";\nexport const SELECTEUR_BOUTON_ADDITION_QUANTITE = \"button.detail-produit__actions__addition\";\nexport const SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER = \"input\";\nexport const SELECTEUR_PRIX_LIGNE_PANIER = \".detail-produit__nom-prix span\";\nexport const SELECTEUR_SOUS_TOTAL_PRODUITS = \"#panneau-panier #sous-total-produits strong\";\nexport const SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT = \"#panneau-panier #sous-total-livraison strong\";\nexport const SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE = \"#panneau-panier #sous-total-livraison span\";\nexport const SELECTEUR_TOTAL_REDUCTION = \"#panneau-panier #sous-total-reduction\";\nexport const SELECTEUR_TOTAL_REDUCTION_VALEUR = \"#panneau-panier #sous-total-reduction strong\";\nexport const SELECTEUR_TOTAL_PANIER = \"#panneau-panier .panneau__pied-de-page p span\";\nexport const SELECTEUR_BOUTON_SEPARATION_ADRESSES = \"#separation-adresses\";\nexport const SELECTEUR_FORMULAIRE_PANIER = \"#panneau-informations-client form\";\nexport const SELECTEUR_FORMULAIRE_LIVRAISON = \"#panneau-informations-client .panneau__formulaires__livraison\";\nexport const SELECTEUR_FORMULAIRE_FACTURATION = \"#panneau-informations-client .panneau__formulaires__facturation\";\nexport const SELECTEUR_BOUTON_ACTIONS_FORMULAIRE = \"#panneau-informations-client .panneau__pied-de-page button\";\nexport const SELECTEUR_INSTRUCTIONS_CLIENT = \"#panneau-panier #instructions-client\";\nexport const SELECTEUR_ENSEMBLE_CODE_PROMO = \"#panneau-panier #ensemble-code-promo\";\nexport const SELECTEUR_CHAMP_CODE_PROMO = \"#panneau-panier #champ-code-promo\";\nexport const SELECTEUR_BOUTON_CODE_PROMO = \"#panneau-panier #bouton-code-promo\";\n\n// Accueil\nexport const SELECTEUR_CONTENEUR_STORYTELLING = \".storytelling\";\nexport const SELECTEUR_IMAGES_STORYTELLING = \".storytelling__image\";\n\n// Boutique\nexport const SELECTEUR_GRILLE_PRODUITS = \"#page-boutique .grille-produits\";\nexport const SELECTEUR_BOUTON_PLUS_PRODUITS = \"#page-boutique #bouton-plus-de-produits\";\n\n// À propos\nexport const SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS = \".storytelling__conteneur\";\nexport const CLASS_EPINGLE = \"epingle\";\nexport const SELECTEUR_EPINGLE = `.${CLASS_EPINGLE}`;\nexport const CLASS_BOITE_TEXTE = \"boite-texte\";\nexport const SELECTEUR_BOITE_TEXTE = `.${CLASS_BOITE_TEXTE}`;\nexport const CLASS_BOUTON_FERMETURE_BOITE_TEXTE = \"boite-texte__bouton-fermeture\";\nexport const SELECTEUR_BOUTON_FERMETURE_BOITE_TEXTE = `.${CLASS_BOUTON_FERMETURE_BOITE_TEXTE}`;\n\n// Produit\nexport const SELECTEUR_PHOTOS_PRODUIT = \".photos-produit\";\nexport const SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT = \".fleches-defilement\";\nexport const SELECTEUR_FLECHE_DEFILEMENT_GAUCHE = \".fleches-defilement__bouton:first-of-type\";\nexport const SELECTEUR_FLECHE_DEFILEMENT_DROITE = \".fleches-defilement__bouton:last-of-type\";\nexport const SELECTEUR_IMAGE_COLONNE_GAUCHE = \".colonne-gauche img\";\nexport const SELECTEUR_IMAGES_COLONNE_DROITE = \".colonne-droite img\";\nexport const SELECTEUR_PRIX_PRODUIT = \".selecteur-produit__prix\";\n"],"names":[],"mappings":"AAEO,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAC/B,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,qBAAqB;AAC3B,MAAM,kBAAkB;AAExB,MAAM,8BAA8B;AACpC,MAAM,gBAAgB;AACtB,MAAM,iCAAiC;AACvC,MAAM,qCAAqC;AAC3C,MAAM,wCAAwC;AAC9C,MAAM,8BAA8B;AACpC,MAAM,gBAAgB;AACtB,MAAM,8BAA8B;AAGpC,MAAM,+BAA+B;AACrC,MAAM,0BAA0B;AAChC,MAAM,wBAAwB;AAC9B,MAAM,qCAAqC;AAC3C,MAAM,4CAA4C;AAKlD,MAAM,6BAA6B;AACnC,MAAM,+BAA+B;AACrC,MAAM,gCAAgC;AACtC,MAAM,0BAA0B;AAChC,MAAM,8BAA8B;AAGpC,MAAM,2BAA2B;AACjC,MAAM,sCAAsC;AAC5C,MAAM,yCAAyC;AAC/C,MAAM,qCAAqC;AAC3C,MAAM,wCAAwC;AAC9C,MAAM,8BAA8B;AACpC,MAAM,gCAAgC;AACtC,MAAM,sCAAsC;AAC5C,MAAM,6CAA6C;AACnD,MAAM,4BAA4B;AAClC,MAAM,mCAAmC;AACzC,MAAM,yBAAyB;AAC/B,MAAM,uCAAuC;AAC7C,MAAM,8BAA8B;AAEpC,MAAM,mCAAmC;AACzC,MAAM,sCAAsC;AAC5C,MAAM,gCAAgC;AACtC,MAAM,gCAAgC;AACtC,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AAGpC,MAAM,mCAAmC;AACzC,MAAM,gCAAgC;AAGtC,MAAM,4BAA4B;AAClC,MAAM,iCAAiC;AAGvC,MAAM,4CAA4C;AAClD,MAAM,gBAAgB;AAChB,MAAA,oBAAoB,IAAI,aAAa;AAC3C,MAAM,oBAAoB;AACpB,MAAA,wBAAwB,IAAI,iBAAiB;AACnD,MAAM,qCAAqC;AAI3C,MAAM,2BAA2B;AACjC,MAAM,yCAAyC;AAC/C,MAAM,qCAAqC;AAC3C,MAAM,qCAAqC;AAC3C,MAAM,iCAAiC;AACvC,MAAM,kCAAkC;AACxC,MAAM,yBAAyB;"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/dom2.js.map b/web/app/themes/haiku-atelier-2024/assets/js/dom2.js.map index e26b8e11..ac78281f 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/dom2.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/dom2.js.map @@ -1 +1 @@ -{"version":3,"file":"dom2.js","sources":["../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/caml-aa4fccd9.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/caml_obj-c29533cc.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/caml_option-16487d6d.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/belt_Array-b9ebcaa6.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/Array.bs-4b4ec77c.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/index-69bc96f0.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/index-e7228f55.mjs","../../../../../../node_modules/.pnpm/purify-ts@2.1.0/node_modules/purify-ts/esm/Function.js","../../src/scripts/lib/dom.ts"],"sourcesContent":["function int_compare(e, r) {\n if (e < r) {\n return -1;\n } else if (e === r) {\n return 0;\n } else {\n return 1;\n }\n}\n\nfunction bool_compare(e, r) {\n if (e) {\n if (r) {\n return 0;\n } else {\n return 1;\n }\n } else if (r) {\n return -1;\n } else {\n return 0;\n }\n}\n\nfunction string_compare(e, r) {\n if (e === r) {\n return 0;\n } else if (e < r) {\n return -1;\n } else {\n return 1;\n }\n}\n\nfunction int_max(e, r) {\n if (e > r) {\n return e;\n } else {\n return r;\n }\n}\n\nexport { int_max as a, bool_compare as b, int_compare as i, string_compare as s };\n","import { s as r, i as e, b as n } from \"./caml-aa4fccd9.mjs\";\n\nvar for_in = function(r, e) {\n for (var n in r) {\n e(n);\n }\n};\n\nfunction compare(t, a) {\n if (t === a) {\n return 0;\n }\n var i = typeof t;\n var u = typeof a;\n switch (i) {\n case \"boolean\":\n if (\"boolean\" === u) {\n return n(t, a);\n }\n break;\n\n case \"function\":\n if (\"function\" === u) {\n throw {\n RE_EXN_ID: \"Invalid_argument\",\n _1: \"compare: functional value\",\n Error: new Error\n };\n }\n break;\n\n case \"number\":\n if (\"number\" === u) {\n return e(t, a);\n }\n break;\n\n case \"string\":\n if (\"string\" === u) {\n return r(t, a);\n } else {\n return 1;\n }\n\n case \"undefined\":\n return -1;\n }\n switch (u) {\n case \"string\":\n return -1;\n\n case \"undefined\":\n return 1;\n\n default:\n if (\"boolean\" === i) {\n return 1;\n }\n if (\"boolean\" === u) {\n return -1;\n }\n if (\"function\" === i) {\n return 1;\n }\n if (\"function\" === u) {\n return -1;\n }\n if (\"number\" === i) {\n if (null === a || void 0 !== a.BS_PRIVATE_NESTED_SOME_NONE) {\n return 1;\n } else {\n return -1;\n }\n }\n if (\"number\" === u) {\n if (null === t || void 0 !== t.BS_PRIVATE_NESTED_SOME_NONE) {\n return -1;\n } else {\n return 1;\n }\n }\n if (null === t) {\n if (void 0 !== a.BS_PRIVATE_NESTED_SOME_NONE) {\n return 1;\n } else {\n return -1;\n }\n }\n if (null === a) {\n if (void 0 !== t.BS_PRIVATE_NESTED_SOME_NONE) {\n return -1;\n } else {\n return 1;\n }\n }\n if (void 0 !== t.BS_PRIVATE_NESTED_SOME_NONE) {\n if (void 0 !== a.BS_PRIVATE_NESTED_SOME_NONE) {\n return aux_obj_compare(t, a);\n } else {\n return -1;\n }\n }\n var o = 0 | t.TAG;\n var f = 0 | a.TAG;\n if (248 === o) {\n return e(t[1], a[1]);\n }\n if (251 === o) {\n throw {\n RE_EXN_ID: \"Invalid_argument\",\n _1: \"equal: abstract value\",\n Error: new Error\n };\n }\n if (o !== f) {\n if (o < f) {\n return -1;\n } else {\n return 1;\n }\n }\n var l = 0 | t.length;\n var s = 0 | a.length;\n if (l === s) {\n if (Array.isArray(t)) {\n var c = 0;\n while (1) {\n var v = c;\n if (v === l) {\n return 0;\n }\n var E = compare(t[v], a[v]);\n if (0 !== E) {\n return E;\n }\n c = v + 1 | 0;\n }\n } else if (t instanceof Date && a instanceof Date) {\n return t - a;\n } else {\n return aux_obj_compare(t, a);\n }\n } else if (l < s) {\n var _ = 0;\n while (1) {\n var d = _;\n if (d === l) {\n return -1;\n }\n var p = compare(t[d], a[d]);\n if (0 !== p) {\n return p;\n }\n _ = d + 1 | 0;\n }\n } else {\n var m = 0;\n while (1) {\n var b = m;\n if (b === s) {\n return 1;\n }\n var N = compare(t[b], a[b]);\n if (0 !== N) {\n return N;\n }\n m = b + 1 | 0;\n }\n }\n }\n}\n\nfunction aux_obj_compare(e, n) {\n var t = {\n contents: void 0\n };\n var a = {\n contents: void 0\n };\n var do_key = function(r, e) {\n var n = r[2];\n var t = r[1];\n if (Object.prototype.hasOwnProperty.call(t, e) && !(compare(r[0][e], t[e]) > 0)) {\n return;\n }\n var a = n.contents;\n if (void 0 !== a && e >= a) {\n return;\n } else {\n n.contents = e;\n return;\n }\n };\n var i = [ e, n, a ];\n var u = [ n, e, t ];\n for_in(e, (function(r) {\n return do_key(i, r);\n }));\n for_in(n, (function(r) {\n return do_key(u, r);\n }));\n var o = t.contents;\n var f = a.contents;\n if (void 0 !== o) {\n if (void 0 !== f) {\n return r(o, f);\n } else {\n return -1;\n }\n } else if (void 0 !== f) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction equal(r, e) {\n if (r === e) {\n return !0;\n }\n var n = typeof r;\n if (\"string\" === n || \"number\" === n || \"boolean\" === n || \"undefined\" === n || null === r) {\n return !1;\n }\n var t = typeof e;\n if (\"function\" === n || \"function\" === t) {\n throw {\n RE_EXN_ID: \"Invalid_argument\",\n _1: \"equal: functional value\",\n Error: new Error\n };\n }\n if (\"number\" === t || \"undefined\" === t || null === e) {\n return !1;\n }\n var a = 0 | r.TAG;\n var i = 0 | e.TAG;\n if (248 === a) {\n return r[1] === e[1];\n }\n if (251 === a) {\n throw {\n RE_EXN_ID: \"Invalid_argument\",\n _1: \"equal: abstract value\",\n Error: new Error\n };\n }\n if (a !== i) {\n return !1;\n }\n var u = 0 | r.length;\n if (u === (0 | e.length)) {\n if (Array.isArray(r)) {\n var o = 0;\n while (1) {\n var f = o;\n if (f === u) {\n return !0;\n }\n if (!equal(r[f], e[f])) {\n return !1;\n }\n o = f + 1 | 0;\n }\n } else if (r instanceof Date && e instanceof Date) {\n return !(r > e || r < e);\n } else {\n var l = {\n contents: !0\n };\n for_in(r, (function(r) {\n if (!Object.prototype.hasOwnProperty.call(e, r)) {\n l.contents = !1;\n return;\n }\n }));\n if (l.contents) {\n for_in(e, (function(n) {\n if (!Object.prototype.hasOwnProperty.call(r, n) || !equal(e[n], r[n])) {\n l.contents = !1;\n return;\n }\n }));\n }\n return l.contents;\n }\n } else {\n return !1;\n }\n}\n\nfunction lessthan(r, e) {\n return compare(r, e) < 0;\n}\n\nexport { equal as e, lessthan as l };\n","function some(_) {\n if (void 0 === _) {\n return {\n BS_PRIVATE_NESTED_SOME_NONE: 0\n };\n } else if (null !== _ && void 0 !== _.BS_PRIVATE_NESTED_SOME_NONE) {\n return {\n BS_PRIVATE_NESTED_SOME_NONE: _.BS_PRIVATE_NESTED_SOME_NONE + 1 | 0\n };\n } else {\n return _;\n }\n}\n\nfunction nullable_to_opt(_) {\n if (null == _) {\n return;\n } else {\n return some(_);\n }\n}\n\nfunction undefined_to_opt(_) {\n if (void 0 === _) {\n return;\n } else {\n return some(_);\n }\n}\n\nfunction null_to_opt(_) {\n if (null === _) {\n return;\n } else {\n return some(_);\n }\n}\n\nfunction valFromOption(_) {\n if (null === _ || void 0 === _.BS_PRIVATE_NESTED_SOME_NONE) {\n return _;\n }\n var n = _.BS_PRIVATE_NESTED_SOME_NONE;\n if (0 === n) {\n return;\n } else {\n return {\n BS_PRIVATE_NESTED_SOME_NONE: n - 1 | 0\n };\n }\n}\n\nexport { null_to_opt as a, nullable_to_opt as n, some as s, undefined_to_opt as u, valFromOption as v };\n","import { a as r } from \"./caml-aa4fccd9.mjs\";\n\nimport { s as n, v as a } from \"./caml_option-16487d6d.mjs\";\n\nfunction floor_int(r) {\n if (r > 2147483647) {\n return 2147483647;\n } else if (r < -2147483648) {\n return -2147483648;\n } else {\n return Math.floor(r);\n }\n}\n\nfunction random_int(r, n) {\n return floor_int(Math.random() * (n - r | 0)) + r | 0;\n}\n\nfunction get(r, a) {\n if (a >= 0 && a < r.length) {\n return n(r[a]);\n }\n}\n\nfunction getExn(r, n) {\n if (!(n >= 0 && n < r.length)) {\n throw {\n RE_EXN_ID: \"Assert_failure\",\n _1: [ \"belt_Array.ml\", 35, 2 ],\n Error: new Error\n };\n }\n return r[n];\n}\n\nfunction swapUnsafe(r, n, a) {\n var e = r[n];\n r[n] = r[a];\n r[a] = e;\n}\n\nfunction shuffle(r) {\n var n = r.slice(0);\n !function shuffleInPlace(r) {\n var n = r.length;\n for (var a = 0; a < n; ++a) {\n swapUnsafe(r, a, random_int(a, n));\n }\n }(n);\n return n;\n}\n\nfunction reverse(r) {\n var n = r.length;\n var a = new Array(n);\n for (var e = 0; e < n; ++e) {\n a[e] = r[(n - 1 | 0) - e | 0];\n }\n return a;\n}\n\nfunction make(r, n) {\n if (r <= 0) {\n return [];\n }\n var a = new Array(r);\n for (var e = 0; e < r; ++e) {\n a[e] = n;\n }\n return a;\n}\n\nfunction makeByU(r, n) {\n if (r <= 0) {\n return [];\n }\n var a = new Array(r);\n for (var e = 0; e < r; ++e) {\n a[e] = n(e);\n }\n return a;\n}\n\nfunction range(r, n) {\n var a = n - r | 0;\n if (a < 0) {\n return [];\n }\n var e = new Array(a + 1 | 0);\n for (var t = 0; t <= a; ++t) {\n e[t] = r + t | 0;\n }\n return e;\n}\n\nfunction rangeBy(r, n, a) {\n var e = n - r | 0;\n if (e < 0 || a <= 0) {\n return [];\n }\n var t = 1 + (e / a | 0) | 0;\n var v = new Array(t);\n var f = r;\n for (var o = 0; o < t; ++o) {\n v[o] = f;\n f = f + a | 0;\n }\n return v;\n}\n\nfunction zip(r, n) {\n var a = r.length;\n var e = n.length;\n var t = a < e ? a : e;\n var v = new Array(t);\n for (var f = 0; f < t; ++f) {\n v[f] = [ r[f], n[f] ];\n }\n return v;\n}\n\nfunction zipByU(r, n, a) {\n var e = r.length;\n var t = n.length;\n var v = e < t ? e : t;\n var f = new Array(v);\n for (var o = 0; o < v; ++o) {\n f[o] = a(r[o], n[o]);\n }\n return f;\n}\n\nfunction concat(r, n) {\n var a = r.length;\n var e = n.length;\n var t = new Array(a + e | 0);\n for (var v = 0; v < a; ++v) {\n t[v] = r[v];\n }\n for (var f = 0; f < e; ++f) {\n t[a + f | 0] = n[f];\n }\n return t;\n}\n\nfunction concatMany(r) {\n var n = r.length;\n var a = 0;\n for (var e = 0; e < n; ++e) {\n a = a + r[e].length | 0;\n }\n var t = new Array(a);\n a = 0;\n for (var v = 0; v < n; ++v) {\n var f = r[v];\n for (var o = 0, i = f.length; o < i; ++o) {\n t[a] = f[o];\n a = a + 1 | 0;\n }\n }\n return t;\n}\n\nfunction slice(n, a, e) {\n if (e <= 0) {\n return [];\n }\n var t = n.length;\n var v = a < 0 ? r(t + a | 0, 0) : a;\n var f = t - v | 0;\n var o = f < e ? f : e;\n if (o <= 0) {\n return [];\n }\n var i = new Array(o);\n for (var u = 0; u < o; ++u) {\n i[u] = n[v + u | 0];\n }\n return i;\n}\n\nfunction sliceToEnd(n, a) {\n var e = n.length;\n var t = a < 0 ? r(e + a | 0, 0) : a;\n var v = e > t ? e - t | 0 : 0;\n var f = new Array(v);\n for (var o = 0; o < v; ++o) {\n f[o] = n[t + o | 0];\n }\n return f;\n}\n\nfunction blitUnsafe(r, n, a, e, t) {\n if (e <= n) {\n for (var v = 0; v < t; ++v) {\n a[v + e | 0] = r[v + n | 0];\n }\n return;\n }\n for (var f = t - 1 | 0; f >= 0; --f) {\n a[f + e | 0] = r[f + n | 0];\n }\n}\n\nfunction forEachU(r, n) {\n for (var a = 0, e = r.length; a < e; ++a) {\n n(r[a]);\n }\n}\n\nfunction mapU(r, n) {\n var a = r.length;\n var e = new Array(a);\n for (var t = 0; t < a; ++t) {\n e[t] = n(r[t]);\n }\n return e;\n}\n\nfunction getByU(r, a) {\n var e = r.length;\n var t = 0;\n var v;\n while (void 0 === v && t < e) {\n var f = r[t];\n if (a(f)) {\n v = n(f);\n }\n t = t + 1 | 0;\n }\n return v;\n}\n\nfunction getIndexByU(r, n) {\n var a = r.length;\n var e = 0;\n var t;\n while (void 0 === t && e < a) {\n if (n(r[e])) {\n t = e;\n }\n e = e + 1 | 0;\n }\n return t;\n}\n\nfunction keepMapU(r, n) {\n var e = r.length;\n var t = new Array(e);\n var v = 0;\n for (var f = 0; f < e; ++f) {\n var o = n(r[f]);\n if (void 0 !== o) {\n t[v] = a(o);\n v = v + 1 | 0;\n }\n }\n t.length = v;\n return t;\n}\n\nfunction forEachWithIndexU(r, n) {\n for (var a = 0, e = r.length; a < e; ++a) {\n n(a, r[a]);\n }\n}\n\nfunction mapWithIndexU(r, n) {\n var a = r.length;\n var e = new Array(a);\n for (var t = 0; t < a; ++t) {\n e[t] = n(t, r[t]);\n }\n return e;\n}\n\nfunction reduceU(r, n, a) {\n var e = n;\n for (var t = 0, v = r.length; t < v; ++t) {\n e = a(e, r[t]);\n }\n return e;\n}\n\nfunction reduceReverseU(r, n, a) {\n var e = n;\n for (var t = r.length - 1 | 0; t >= 0; --t) {\n e = a(e, r[t]);\n }\n return e;\n}\n\nfunction reduceWithIndexU(r, n, a) {\n var e = n;\n for (var t = 0, v = r.length; t < v; ++t) {\n e = a(e, r[t], t);\n }\n return e;\n}\n\nfunction everyU(r, n) {\n var a = r.length;\n var e = 0;\n while (1) {\n var t = e;\n if (t === a) {\n return !0;\n }\n if (!n(r[t])) {\n return !1;\n }\n e = t + 1 | 0;\n }\n}\n\nfunction someU(r, n) {\n var a = r.length;\n var e = 0;\n while (1) {\n var t = e;\n if (t === a) {\n return !1;\n }\n if (n(r[t])) {\n return !0;\n }\n e = t + 1 | 0;\n }\n}\n\nfunction eqU(r, n, a) {\n var e = r.length;\n if (e === n.length) {\n return function everyAux2(r, n, a, e, t) {\n while (1) {\n var v = a;\n if (v === t) {\n return !0;\n }\n if (!e(r[v], n[v])) {\n return !1;\n }\n a = v + 1 | 0;\n }\n }(r, n, 0, a, e);\n } else {\n return !1;\n }\n}\n\nfunction partitionU(r, n) {\n var a = r.length;\n var e = 0;\n var t = 0;\n var v = new Array(a);\n var f = new Array(a);\n for (var o = 0; o < a; ++o) {\n var i = r[o];\n if (n(i)) {\n v[e] = i;\n e = e + 1 | 0;\n } else {\n f[t] = i;\n t = t + 1 | 0;\n }\n }\n v.length = e;\n f.length = t;\n return [ v, f ];\n}\n\nfunction unzip(r) {\n var n = r.length;\n var a = new Array(n);\n var e = new Array(n);\n for (var t = 0; t < n; ++t) {\n var v = r[t];\n a[t] = v[0];\n e[t] = v[1];\n }\n return [ a, e ];\n}\n\nexport { zip as A, zipByU as B, forEachWithIndexU as C, getIndexByU as D, keepMapU as E, reduceWithIndexU as a, mapU as b, concat as c, blitUnsafe as d, everyU as e, forEachU as f, reverse as g, get as h, sliceToEnd as i, slice as j, getExn as k, shuffle as l, makeByU as m, concatMany as n, random_int as o, make as p, getByU as q, reduceU as r, someU as s, mapWithIndexU as t, unzip as u, reduceReverseU as v, partitionU as w, eqU as x, range as y, rangeBy as z };\n","import { s as n, v as t } from \"./caml_option-16487d6d.mjs\";\n\nimport { d as r, g as e, h as u, i, j as f, k as a, l as o, n as c, u as s, r as l, a as h, o as p, m as v, p as g, c as _, q as d, b as y, t as m, v as A, w as x, e as B, s as W, x as E, y as k, z as I, A as j, B as w, f as q, C as F, D as T, E as U } from \"./belt_Array-b9ebcaa6.mjs\";\n\nimport { e as b, l as M } from \"./caml_obj-c29533cc.mjs\";\n\nfunction merge(n, t, e, u, i, f, a, o, c) {\n var s = t + e | 0;\n var l = i + f | 0;\n var h = t;\n var p = n[t];\n var v = i;\n var g = u[i];\n var _ = o;\n while (1) {\n var d = _;\n var y = g;\n var m = v;\n var A = p;\n var x = h;\n if (c(A, y) <= 0) {\n a[d] = A;\n var B = x + 1 | 0;\n if (B >= s) {\n return r(u, m, a, d + 1 | 0, l - m | 0);\n }\n _ = d + 1 | 0;\n p = n[B];\n h = B;\n continue;\n }\n a[d] = y;\n var W = m + 1 | 0;\n if (W >= l) {\n return r(n, x, a, d + 1 | 0, s - x | 0);\n }\n _ = d + 1 | 0;\n g = u[W];\n v = W;\n }\n}\n\nfunction insertionSort(n, t, r, e, u, i) {\n for (var f = 0; f < u; ++f) {\n var a = n[t + f | 0];\n var o = (e + f | 0) - 1 | 0;\n while (o >= e && i(r[o], a) > 0) {\n r[o + 1 | 0] = r[o];\n o = o - 1 | 0;\n }\n r[o + 1 | 0] = a;\n }\n}\n\nfunction sortTo(n, t, r, e, u, i) {\n if (u <= 5) {\n return insertionSort(n, t, r, e, u, i);\n }\n var f = u / 2 | 0;\n var a = u - f | 0;\n sortTo(n, t + f | 0, r, e + f | 0, a, i);\n sortTo(n, t, n, t + a | 0, f, i);\n merge(n, t + a | 0, f, r, e + f | 0, a, r, e, i);\n}\n\nfunction stableSortByU(n, t) {\n var r = n.slice(0);\n !function stableSortInPlaceByU(n, t) {\n var r = n.length;\n if (r <= 5) {\n return insertionSort(n, 0, n, 0, r, t);\n }\n var e = r / 2 | 0;\n var u = r - e | 0;\n var i = new Array(u);\n sortTo(n, e, i, 0, u, t);\n sortTo(n, 0, n, u, e, t);\n merge(n, u, e, i, 0, u, n, 0, t);\n }(r, t);\n return r;\n}\n\nfunction get$1(t, r) {\n if (r in t) {\n return n(t[r]);\n }\n}\n\nvar unsafeDeleteKey = function(n, t) {\n delete n[t];\n};\n\nfunction values(n) {\n var t = Object.keys(n);\n var r = t.length;\n var e = new Array(r);\n for (var u = 0; u < r; ++u) {\n e[u] = n[t[u]];\n }\n return e;\n}\n\nfunction fromArray(n) {\n var t = {};\n var r = n.length;\n for (var e = 0; e < r; ++e) {\n var u = n[e];\n t[u[0]] = u[1];\n }\n return t;\n}\n\nfunction placeholder(n) {}\n\nfunction makeEmpty(n) {\n return [];\n}\n\nvar z = v;\n\nfunction makeWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return z(t, n[0]);\n };\n }\n return z(arguments[0], arguments[1]);\n}\n\nvar S = g;\n\nfunction make() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return S(t, n[0]);\n };\n }\n return S(arguments[0], arguments[1]);\n}\n\nvar O = g;\n\nfunction repeat() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return O(t, n[0]);\n };\n }\n return O(arguments[0], arguments[1]);\n}\n\nfunction length(n) {\n return n.length;\n}\n\nfunction isEmpty(n) {\n return 0 === n.length;\n}\n\nfunction isNotEmpty(n) {\n return 0 !== n.length;\n}\n\nvar $ = e;\n\nfunction _append(n, t) {\n return _(n, [ t ]);\n}\n\nfunction append() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _append(t, n[0]);\n };\n }\n return _append(arguments[0], arguments[1]);\n}\n\nfunction _prepend(n, t) {\n return _([ t ], n);\n}\n\nfunction prepend() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _prepend(t, n[0]);\n };\n }\n return _prepend(arguments[0], arguments[1]);\n}\n\nfunction _prependToAll(n, t) {\n return l(n, [], (function(n, r) {\n return _(n, [ t, r ]);\n }));\n}\n\nfunction prependToAll() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _prependToAll(t, n[0]);\n };\n }\n return _prependToAll(arguments[0], arguments[1]);\n}\n\nfunction _intersperse(n, t) {\n return h(n, [], (function(r, e, u) {\n if ((n.length - 1 | 0) === u) {\n r.push(e);\n } else {\n r.push(e, t);\n }\n return r;\n }));\n}\n\nfunction intersperse() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _intersperse(t, n[0]);\n };\n }\n return _intersperse(arguments[0], arguments[1]);\n}\n\nvar C = u;\n\nfunction get() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return C(t, n[0]);\n };\n }\n return C(arguments[0], arguments[1]);\n}\n\nvar D = u;\n\nfunction at() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return D(t, n[0]);\n };\n }\n return D(arguments[0], arguments[1]);\n}\n\nfunction _getUnsafe(n, t) {\n return n[t];\n}\n\nfunction getUnsafe() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _getUnsafe(t, n[0]);\n };\n }\n return _getUnsafe(arguments[0], arguments[1]);\n}\n\nfunction _getUndefined(n, t) {\n return n[t];\n}\n\nfunction getUndefined() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _getUndefined(t, n[0]);\n };\n }\n return _getUndefined(arguments[0], arguments[1]);\n}\n\nvar N = d;\n\nfunction getBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return N(t, n[0]);\n };\n }\n return N(arguments[0], arguments[1]);\n}\n\nvar R = d;\n\nfunction find() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return R(t, n[0]);\n };\n }\n return R(arguments[0], arguments[1]);\n}\n\nfunction head(n) {\n return u(n, 0);\n}\n\nfunction last(n) {\n var t = n.length;\n if (0 === t) {\n return;\n } else {\n return u(n, t - 1 | 0);\n }\n}\n\nfunction tail(n) {\n var t = n.length;\n if (1 === t) {\n return [];\n }\n if (0 === t) {\n return;\n }\n var r = i(n, 1);\n if (0 !== r.length) {\n return r;\n }\n}\n\nfunction tailOrEmpty(n) {\n var t = tail(n);\n if (void 0 !== t) {\n return t;\n } else {\n return [];\n }\n}\n\nfunction init(n) {\n var t = n.length;\n if (0 === t) {\n return;\n } else {\n return f(n, 0, t - 1 | 0);\n }\n}\n\nfunction initOrEmpty(n) {\n var t = init(n);\n if (void 0 !== t) {\n return t;\n } else {\n return [];\n }\n}\n\nfunction _take(n, t) {\n var r = n.length;\n return f(n, 0, t < 0 ? 0 : r < t ? r : t);\n}\n\nfunction take() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _take(t, n[0]);\n };\n }\n return _take(arguments[0], arguments[1]);\n}\n\nfunction _takeExactly(n, t) {\n if (t < 0 || t > n.length) {\n return;\n } else {\n return f(n, 0, t);\n }\n}\n\nfunction takeExactly() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _takeExactly(t, n[0]);\n };\n }\n return _takeExactly(arguments[0], arguments[1]);\n}\n\nfunction _takeWhile(n, t) {\n var r = 0;\n var e = !1;\n var u = [];\n while (r < n.length && !e) {\n var i = n[r];\n if (t(i)) {\n u.push(i);\n r = r + 1 | 0;\n } else {\n e = !0;\n }\n }\n return u;\n}\n\nfunction takeWhile() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _takeWhile(t, n[0]);\n };\n }\n return _takeWhile(arguments[0], arguments[1]);\n}\n\nfunction _drop(n, t) {\n var r = n.length;\n return i(n, t < 0 ? 0 : r < t ? r : t);\n}\n\nfunction drop() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _drop(t, n[0]);\n };\n }\n return _drop(arguments[0], arguments[1]);\n}\n\nfunction _dropExactly(n, t) {\n if (t < 0 || t > n.length) {\n return;\n } else {\n return i(n, t);\n }\n}\n\nfunction dropExactly() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _dropExactly(t, n[0]);\n };\n }\n return _dropExactly(arguments[0], arguments[1]);\n}\n\nfunction _dropWhile(n, t) {\n return l(n, [], (function(n, r) {\n if (!t(r)) {\n n.push(r);\n }\n return n;\n }));\n}\n\nfunction dropWhile() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _dropWhile(t, n[0]);\n };\n }\n return _dropWhile(arguments[0], arguments[1]);\n}\n\nfunction uncons(n) {\n if (0 !== n.length) {\n return [ a(n, 0), i(n, 1) ];\n }\n}\n\nfunction _map(n, t) {\n return y(n, t);\n}\n\nfunction map() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _map(t, n[0]);\n };\n }\n return _map(arguments[0], arguments[1]);\n}\n\nvar G = m;\n\nfunction mapWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return G(t, n[0]);\n };\n }\n return G(arguments[0], arguments[1]);\n}\n\nfunction _filter(n, t) {\n var r = 0;\n var e = [];\n while (r < n.length) {\n var u = n[r];\n if (t(u)) {\n e.push(u);\n }\n r = r + 1 | 0;\n }\n return e;\n}\n\nfunction filter() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _filter(t, n[0]);\n };\n }\n return _filter(arguments[0], arguments[1]);\n}\n\nvar P = filter;\n\nfunction _filterWithIndex(n, t) {\n var r = 0;\n var e = [];\n while (r < n.length) {\n var u = n[r];\n if (t(r, u)) {\n e.push(u);\n }\n r = r + 1 | 0;\n }\n return e;\n}\n\nfunction filterWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _filterWithIndex(t, n[0]);\n };\n }\n return _filterWithIndex(arguments[0], arguments[1]);\n}\n\nvar H = filterWithIndex;\n\nfunction _reject(n, t) {\n return filter(n, (function(n) {\n return !t(n);\n }));\n}\n\nfunction reject() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _reject(t, n[0]);\n };\n }\n return _reject(arguments[0], arguments[1]);\n}\n\nfunction _rejectWithIndex(n, t) {\n return filterWithIndex(n, (function(n, r) {\n return !t(n, r);\n }));\n}\n\nfunction rejectWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _rejectWithIndex(t, n[0]);\n };\n }\n return _rejectWithIndex(arguments[0], arguments[1]);\n}\n\nvar J = l;\n\nfunction reduce() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return J(t, n[0], n[1]);\n };\n }\n return J(arguments[0], arguments[1], arguments[2]);\n}\n\nvar K = A;\n\nfunction reduceReverse() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return K(t, n[0], n[1]);\n };\n }\n return K(arguments[0], arguments[1], arguments[2]);\n}\n\nvar L = h;\n\nfunction reduceWithIndex() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return L(t, n[0], n[1]);\n };\n }\n return L(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _splitAt(n, t) {\n if (t < 0 || t > n.length) {\n return;\n } else {\n return [ f(n, 0, t), i(n, t) ];\n }\n}\n\nfunction splitAt() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _splitAt(t, n[0]);\n };\n }\n return _splitAt(arguments[0], arguments[1]);\n}\n\nfunction _splitEvery(n, t) {\n if (t < 1 || n.length <= t) {\n return [ n ];\n }\n var r = 0;\n var e = [];\n while (r < n.length) {\n var u = r + t | 0;\n e.push(f(n, r, t));\n r = u;\n }\n return e;\n}\n\nfunction splitEvery() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _splitEvery(t, n[0]);\n };\n }\n return _splitEvery(arguments[0], arguments[1]);\n}\n\nvar Q = o;\n\nvar V = x;\n\nfunction partition() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return V(t, n[0]);\n };\n }\n return V(arguments[0], arguments[1]);\n}\n\nvar X = _;\n\nfunction concat() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return X(t, n[0]);\n };\n }\n return X(arguments[0], arguments[1]);\n}\n\nvar Y = c;\n\nvar Z = B;\n\nfunction every() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return Z(t, n[0]);\n };\n }\n return Z(arguments[0], arguments[1]);\n}\n\nvar nn = W;\n\nfunction some() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return nn(t, n[0]);\n };\n }\n return nn(arguments[0], arguments[1]);\n}\n\nvar tn = f;\n\nfunction slice() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return tn(t, n[0], n[1]);\n };\n }\n return tn(arguments[0], arguments[1], arguments[2]);\n}\n\nvar rn = i;\n\nfunction sliceToEnd() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return rn(t, n[0]);\n };\n }\n return rn(arguments[0], arguments[1]);\n}\n\nvar en = E;\n\nfunction eq() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return en(t, n[0], n[1]);\n };\n }\n return en(arguments[0], arguments[1], arguments[2]);\n}\n\nvar un = k;\n\nfunction range() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return un(t, n[0]);\n };\n }\n return un(arguments[0], arguments[1]);\n}\n\nvar an = I;\n\nfunction rangeBy() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return an(t, n[0], n[1]);\n };\n }\n return an(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction copy(n) {\n return n.slice(0);\n}\n\nvar on = j;\n\nfunction zip() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return on(t, n[0]);\n };\n }\n return on(arguments[0], arguments[1]);\n}\n\nvar cn = w;\n\nfunction zipWith() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return cn(t, n[0], n[1]);\n };\n }\n return cn(arguments[0], arguments[1], arguments[2]);\n}\n\nvar sn = s;\n\nfunction _replaceAt(n, t, r) {\n return m(n, (function(n, e) {\n if (n === t) {\n return r;\n } else {\n return e;\n }\n }));\n}\n\nfunction replaceAt() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _replaceAt(t, n[0], n[1]);\n };\n }\n return _replaceAt(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _insertAt(n, t, r) {\n var e = splitAt(n, t);\n if (void 0 !== e) {\n return _(e[0], _([ r ], e[1]));\n } else {\n return n;\n }\n}\n\nfunction insertAt() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _insertAt(t, n[0], n[1]);\n };\n }\n return _insertAt(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _updateAt(n, t, r) {\n return m(n, (function(n, e) {\n if (n === t) {\n return r(e);\n } else {\n return e;\n }\n }));\n}\n\nfunction updateAt() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _updateAt(t, n[0], n[1]);\n };\n }\n return _updateAt(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _swapAt(n, r, e) {\n var i = u(n, r);\n var f = u(n, e);\n if (void 0 === i) {\n return n;\n }\n if (void 0 === f) {\n return n;\n }\n var a = t(f);\n var o = t(i);\n return m(n, (function(n, t) {\n if (r === n) {\n return a;\n } else if (e === n) {\n return o;\n } else {\n return t;\n }\n }));\n}\n\nfunction swapAt() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _swapAt(t, n[0], n[1]);\n };\n }\n return _swapAt(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _removeAt(n, t) {\n return filterWithIndex(n, (function(n, r) {\n return n !== t;\n }));\n}\n\nfunction removeAt() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _removeAt(t, n[0]);\n };\n }\n return _removeAt(arguments[0], arguments[1]);\n}\n\nfunction _uniqBy(n, t) {\n var r = 0;\n var e = [];\n while (r < n.length) {\n var u = n[r];\n var i = W(e, function(n) {\n return function(r) {\n return b(t(r), t(n));\n };\n }(u));\n if (!i) {\n e.push(u);\n }\n r = r + 1 | 0;\n }\n return e;\n}\n\nfunction uniqBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _uniqBy(t, n[0]);\n };\n }\n return _uniqBy(arguments[0], arguments[1]);\n}\n\nfunction uniq(n) {\n return uniqBy(n, (function(n) {\n return n;\n }));\n}\n\nvar ln = q;\n\nfunction forEach() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return ln(t, n[0]);\n };\n }\n return ln(arguments[0], arguments[1]);\n}\n\nvar hn = F;\n\nfunction forEachWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return hn(t, n[0]);\n };\n }\n return hn(arguments[0], arguments[1]);\n}\n\nvar pn = T;\n\nfunction getIndexBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return pn(t, n[0]);\n };\n }\n return pn(arguments[0], arguments[1]);\n}\n\nfunction _includes(n, t) {\n return W(n, (function(n) {\n return b(n, t);\n }));\n}\n\nfunction includes() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _includes(t, n[0]);\n };\n }\n return _includes(arguments[0], arguments[1]);\n}\n\nfunction _join(n, t) {\n return n.join(t);\n}\n\nfunction join() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _join(t, n[0]);\n };\n }\n return _join(arguments[0], arguments[1]);\n}\n\nvar vn = stableSortByU;\n\nfunction sort() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return vn(t, n[0]);\n };\n }\n return vn(arguments[0], arguments[1]);\n}\n\nfunction _sortBy(n, t) {\n return stableSortByU(n, (function(n, r) {\n var e = t(n);\n var u = t(r);\n if (e === u) {\n return 0;\n } else if (M(e, u)) {\n return -1;\n } else {\n return 1;\n }\n }));\n}\n\nfunction sortBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _sortBy(t, n[0]);\n };\n }\n return _sortBy(arguments[0], arguments[1]);\n}\n\nfunction _groupBy(n, t) {\n return l(n, {}, (function(n, r) {\n var e = t(r);\n var u = get$1(n, e);\n if (void 0 !== u) {\n u.push(r);\n } else {\n n[e] = [ r ];\n }\n return n;\n }));\n}\n\nfunction groupBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _groupBy(t, n[0]);\n };\n }\n return _groupBy(arguments[0], arguments[1]);\n}\n\nfunction flat(n) {\n return l(n, [], (function(n, t) {\n if (Array.isArray(t)) {\n q(t, (function(t) {\n n.push(t);\n }));\n } else {\n n.push(t);\n }\n return n;\n }));\n}\n\nfunction _flatten(n, t) {\n var r = 0;\n while (r < n.length) {\n var e = n[r];\n if (Array.isArray(e)) {\n flatten(e, t);\n } else {\n t.push(e);\n }\n r = r + 1 | 0;\n }\n return t;\n}\n\nfunction flatten() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _flatten(t, n[0]);\n };\n }\n return _flatten(arguments[0], arguments[1]);\n}\n\nfunction deepFlat(n) {\n return flatten(n, []);\n}\n\nfunction toTuple(n) {\n return n;\n}\n\nfunction _tap(n, t) {\n q(n, t);\n return n;\n}\n\nfunction tap() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _tap(t, n[0]);\n };\n }\n return _tap(arguments[0], arguments[1]);\n}\n\nfunction flip(n) {\n return [ n[1], n[0] ];\n}\n\nvar gn = U;\n\nfunction filterMap() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return gn(t, n[0]);\n };\n }\n return gn(arguments[0], arguments[1]);\n}\n\nvar _n = U;\n\nfunction keepMap() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _n(t, n[0]);\n };\n }\n return _n(arguments[0], arguments[1]);\n}\n\nfunction _removeFirstBy(n, t, r) {\n return l(n, [ !1, [] ], (function(n, e) {\n var u = n[1];\n if (n[0]) {\n u.push(e);\n return [ !0, u ];\n } else if (r(e, t)) {\n return [ !0, u ];\n } else {\n u.push(e);\n return [ !1, u ];\n }\n }))[1];\n}\n\nfunction removeFirstBy() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _removeFirstBy(t, n[0], n[1]);\n };\n }\n return _removeFirstBy(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _removeFirst(n, t) {\n return removeFirstBy(n, t, b);\n}\n\nfunction removeFirst() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _removeFirst(t, n[0]);\n };\n }\n return _removeFirst(arguments[0], arguments[1]);\n}\n\nfunction zipWithIndex(n) {\n return h(n, [], (function(n, t, r) {\n n.push([ t, r ]);\n return n;\n }));\n}\n\nfunction _all(n, t) {\n return B(n, t);\n}\n\nfunction all() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _all(t, n[0]);\n };\n }\n return _all(arguments[0], arguments[1]);\n}\n\nfunction _any(n, t) {\n return W(n, t);\n}\n\nfunction any() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _any(t, n[0]);\n };\n }\n return _any(arguments[0], arguments[1]);\n}\n\nfunction _difference(n, t) {\n return reject(uniqBy(n, (function(n) {\n return n;\n })), (function(n) {\n return includes(t, n);\n }));\n}\n\nfunction difference() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _difference(t, n[0]);\n };\n }\n return _difference(arguments[0], arguments[1]);\n}\n\nfunction _union(n, t) {\n return uniqBy(_(n, t), (function(n) {\n return n;\n }));\n}\n\nfunction union() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _union(t, n[0]);\n };\n }\n return _union(arguments[0], arguments[1]);\n}\n\nfunction _intersection(n, t) {\n var r = n.length > t.length ? [ n, t ] : [ t, n ];\n var e = r[1];\n return uniqBy(filter(r[0], (function(n) {\n return includes(e, n);\n })), (function(n) {\n return n;\n }));\n}\n\nfunction intersection() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _intersection(t, n[0]);\n };\n }\n return _intersection(arguments[0], arguments[1]);\n}\n\nfunction sample(n) {\n return n[p(0, n.length - 1 | 0)];\n}\n\nfunction _flatMap(n, t) {\n return flat(y(n, t));\n}\n\nfunction flatMap() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _flatMap(t, n[0]);\n };\n }\n return _flatMap(arguments[0], arguments[1]);\n}\n\nexport { eq as $, takeExactly as A, takeWhile as B, drop as C, dropExactly as D, dropWhile as E, uncons as F, map as G, mapWithIndex as H, filter as I, P as J, filterWithIndex as K, H as L, reject as M, rejectWithIndex as N, reduce as O, reduceReverse as P, reduceWithIndex as Q, splitAt as R, splitEvery as S, Q as T, partition as U, concat as V, Y as W, every as X, some as Y, slice as Z, sliceToEnd as _, makeWithIndex as a, range as a0, rangeBy as a1, copy as a2, zip as a3, zipWith as a4, sn as a5, replaceAt as a6, insertAt as a7, updateAt as a8, swapAt as a9, intersection as aA, sample as aB, flatMap as aC, values as aD, fromArray as aE, get$1 as aF, unsafeDeleteKey as aG, removeAt as aa, uniqBy as ab, uniq as ac, forEach as ad, forEachWithIndex as ae, getIndexBy as af, includes as ag, join as ah, sort as ai, sortBy as aj, groupBy as ak, flat as al, flatten as am, deepFlat as an, toTuple as ao, tap as ap, flip as aq, filterMap as ar, keepMap as as, removeFirstBy as at, removeFirst as au, zipWithIndex as av, all as aw, any as ax, difference as ay, union as az, make as b, isNotEmpty as c, $ as d, append as e, prepend as f, prependToAll as g, intersperse as h, isEmpty as i, get as j, at as k, length as l, makeEmpty as m, getUnsafe as n, getUndefined as o, placeholder as p, getBy as q, repeat as r, find as s, head as t, last as u, tail as v, tailOrEmpty as w, init as x, initOrEmpty as y, take as z };\n","import { p as a, m as s, a as e, b as t, r as i, l as r, i as p, c as n, d as l, e as o, f as d, g as c, h as y, j as m, k as f, n as h, o as u, q as x, s as E, t as W, u as g, v as k, w as v, x as A, y as I, z as B, A as j, B as z, C as q, D as M, E as _, F, G as T, H as b, I as w, J as O, K as U, L as C, M as N, N as R, O as D, P as G, Q as H, R as J, S as K, T as L, U as P, V as Q, W as S, X as V, Y as X, Z as Y, _ as Z, $, a0 as aa, a1 as sa, a2 as ea, a3 as ta, a4 as ia, a5 as ra, a6 as pa, a7 as na, a8 as la, a9 as oa, aa as da, ab as ca, ac as ya, ad as ma, ae as fa, af as ha, ag as ua, ah as xa, ai as Ea, aj as Wa, ak as ga, al as ka, am as va, an as Aa, ao as Ia, ap as Ba, aq as ja, ar as za, as as qa, at as Ma, au as _a, av as Fa, aw as Ta, ax as ba, ay as wa, az as Oa, aA as Ua, aB as Ca, aC as Na } from \"./Array.bs-4b4ec77c.mjs\";\n\nvar Ra = {\n __proto__: null,\n placeholder: a,\n makeEmpty: s,\n makeWithIndex: e,\n make: t,\n repeat: i,\n length: r,\n isEmpty: p,\n isNotEmpty: n,\n reverse: l,\n append: o,\n prepend: d,\n prependToAll: c,\n intersperse: y,\n get: m,\n at: f,\n getUnsafe: h,\n getUndefined: u,\n getBy: x,\n find: E,\n head: W,\n last: g,\n tail: k,\n tailOrEmpty: v,\n init: A,\n initOrEmpty: I,\n take: B,\n takeExactly: j,\n takeWhile: z,\n drop: q,\n dropExactly: M,\n dropWhile: _,\n uncons: F,\n map: T,\n mapWithIndex: b,\n filter: w,\n keep: O,\n filterWithIndex: U,\n keepWithIndex: C,\n reject: N,\n rejectWithIndex: R,\n reduce: D,\n reduceReverse: G,\n reduceWithIndex: H,\n splitAt: J,\n splitEvery: K,\n shuffle: L,\n partition: P,\n concat: Q,\n concatMany: S,\n every: V,\n some: X,\n slice: Y,\n sliceToEnd: Z,\n eq: $,\n range: aa,\n rangeBy: sa,\n copy: ea,\n zip: ta,\n zipWith: ia,\n unzip: ra,\n replaceAt: pa,\n insertAt: na,\n updateAt: la,\n swapAt: oa,\n removeAt: da,\n uniqBy: ca,\n uniq: ya,\n forEach: ma,\n forEachWithIndex: fa,\n getIndexBy: ha,\n includes: ua,\n join: xa,\n sort: Ea,\n sortBy: Wa,\n groupBy: ga,\n flat: ka,\n flatten: va,\n deepFlat: Aa,\n toTuple: Ia,\n tap: Ba,\n flip: ja,\n filterMap: za,\n keepMap: qa,\n removeFirstBy: Ma,\n removeFirst: _a,\n zipWithIndex: Fa,\n all: Ta,\n any: ba,\n difference: wa,\n union: Oa,\n intersection: Ua,\n sample: Ca,\n flatMap: Na\n};\n\nexport { Ra as i };\n","function _is(i, n) {\n return typeof i === n;\n}\n\nfunction is() {\n if (1 === arguments.length) {\n const i = arguments;\n return function fn(n) {\n return _is(n, i[0]);\n };\n }\n return _is(arguments[0], arguments[1]);\n}\n\nfunction isString(i) {\n return \"string\" == typeof i;\n}\n\nfunction isNumber(i) {\n if (\"number\" == typeof i) {\n return !Number.isNaN(i);\n } else {\n return !1;\n }\n}\n\nfunction isBoolean(i) {\n return \"boolean\" == typeof i;\n}\n\nvar isPromise = i => i instanceof Promise;\n\nfunction isArray(i) {\n return Array.isArray(i);\n}\n\nfunction isObject(i) {\n if (i && !Array.isArray(i)) {\n return \"object\" == typeof i;\n } else {\n return !1;\n }\n}\n\nfunction isFunction(i) {\n return \"function\" == typeof i;\n}\n\nvar isError = i => i instanceof Error;\n\nvar isDate = i => i instanceof Date;\n\nfunction isNullable(i) {\n return null == i;\n}\n\nfunction isNotNullable(i) {\n return !(null == i);\n}\n\nvar isNull = i => null === i;\n\nvar isUndefined = i => void 0 === i;\n\nfunction _isNot(i, n) {\n return !n(i);\n}\n\nfunction isNot() {\n if (1 === arguments.length) {\n const i = arguments;\n return function fn(n) {\n return _isNot(n, i[0]);\n };\n }\n return _isNot(arguments[0], arguments[1]);\n}\n\nvar i = {\n __proto__: null,\n is,\n isString,\n isNumber,\n isBoolean,\n isPromise,\n isArray,\n isObject,\n isFunction,\n isError,\n isDate,\n isNullable,\n isNotNullable,\n isNull,\n isUndefined,\n isNot\n};\n\nexport { is as a, isString as b, isNumber as c, isBoolean as d, isPromise as e, isArray as f, isObject as g, isFunction as h, i, isError as j, isDate as k, isNullable as l, isNotNullable as m, isNull as n, isUndefined as o, isNot as p };\n","/** The identity function, returns the value it was given */\nexport const identity = (x) => x;\n/** Returns a function that always returns the same value. Also known as `const` in other languages */\nexport const always = (x) => () => x;\nexport const Order = {\n LT: 'LT',\n EQ: 'EQ',\n GT: 'GT'\n};\n/** Compares two values using the default \"<\" and \">\" operators */\nexport const compare = (x, y) => {\n if (x > y) {\n return Order.GT;\n }\n else if (x < y) {\n return Order.LT;\n }\n else {\n return Order.EQ;\n }\n};\n/** Maps the Order enum to the values expected by the standard ECMAScript library when doing comparison (Array.prototype.sort, for example) */\nexport const orderToNumber = (order) => {\n switch (order) {\n case Order.LT:\n return -1;\n case Order.EQ:\n return 0;\n case Order.GT:\n return 1;\n }\n};\n/** Takes a function that receives multiple arguments and returns a \"curried\" version of that function that can take any number of those arguments and if they are less than needed a new function that takes the rest of them will be returned */\nexport const curry = (fn) => function currify(...args) {\n return args.length >= fn.length\n ? fn.apply(undefined, args)\n : currify.bind(undefined, ...args);\n};\n","import { A, G, pipe } from \"@mobily/ts-belt\";\nimport { Either, identity, Left, Maybe, Right } from \"purify-ts\";\n\nimport type { ElementParent } from \"./types/dom.d.ts\";\n\nimport {\n creeSyntaxError,\n ERREUR_SELECTEUR_INEXISTANT,\n ERREUR_SYNTAXE_INVALIDE,\n ErreurEntreeInexistante,\n type NonExistingKeyError,\n reporteEtLeveErreur,\n} from \"./erreurs\";\n\n/**\n * @param parent L'Élément parent dans lequel l'Élément souhaité sera recherché.\n * @param selecteur Le sélecteur de l'Élément recherché.\n *\n * @throws Une Erreur si aucun Élément n'a été trouvé.\n * @returns Un Élément.\n */\nexport const safeQuerySelector: (parent: ElementParent) => (selecteur: string) => Element = parent => selecteur => {\n const element: Element | null = parent.querySelector(selecteur);\n\n if (!element) throw new DOMException(ERREUR_SELECTEUR_INEXISTANT(selecteur));\n return element;\n};\n\n/**\n * @param parent L'Élément parent dans lequel l'Élément souhaité sera recherché.\n * @param selecteur Le sélecteur de l'Élément recherché.\n *\n * @returns Un tableau pouvant être vide d'Éléments.\n */\nexport const safeQuerySelectorAll: (parent: ElementParent) => (selecteur: string) => Array =\n parent => selecteur => {\n const elements: Array = Array.from(parent.querySelectorAll(selecteur));\n\n if (A.isEmpty(elements)) {\n throw new DOMException(ERREUR_SELECTEUR_INEXISTANT(selecteur));\n }\n return elements;\n };\n\nexport const recupereElementAvecSelecteur =\n (parent: ElementParent) => (selecteur: string): Either =>\n Either\n // Retourne une SyntaxError dans un Left si le sélecteur est invalide\n .encase(() => parent.querySelector(selecteur))\n // Transforme le Left en une erreur plus sympathique\n .mapLeft(_ => creeSyntaxError(ERREUR_SYNTAXE_INVALIDE(selecteur)))\n // Retourne une SyntaxError si l'Élément est null\n .chain((e: E | null) =>\n G.isNotNullable(e) ? Right(e) : Left(creeSyntaxError(ERREUR_SELECTEUR_INEXISTANT(selecteur)))\n );\n\nexport const recupereElementsAvecSelecteur =\n (parent: ElementParent) => (selecteur: string): Either> =>\n Either\n // Retourne une SyntaxError dans un Left si le sélecteur est invalide\n .encase(() => pipe(parent.querySelectorAll(selecteur), Array.from))\n // Transforme le Left en une erreur plus sympathique\n .mapLeft(_ => creeSyntaxError(ERREUR_SYNTAXE_INVALIDE(selecteur)))\n // Retourne une SyntaxError si le tableau est vide\n .chain((e: Array) => A.isEmpty(e) ? Left(creeSyntaxError(ERREUR_SELECTEUR_INEXISTANT(selecteur))) : Right(e));\n\n/**\n * @param element\n * @returns Un booléen\n */\nexport const estDansLaVue: (element: Element) => boolean = element => {\n const rect: DOMRect = element.getBoundingClientRect();\n\n return (\n rect.top >= 0\n && rect.left >= 0\n && rect.top <= (window.innerHeight || document.documentElement.clientHeight)\n && rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n};\n\nexport const recupereElementOuLeve = (elementOuErreur: Either): E =>\n elementOuErreur.caseOf({\n Left: reporteEtLeveErreur,\n Right: identity,\n });\n\nexport const recupereElementsOuLeve = (\n elementsOuErreur: Either>,\n): Array =>\n elementsOuErreur.caseOf({\n Left: reporteEtLeveErreur,\n Right: identity,\n });\n\nexport const majElementInnerHtml = (element: T) => (innerHtml: string) => {\n element.innerHTML = innerHtml;\n return element;\n};\n\n// Merci facon (https://github.com/terkelg/facon)\nexport const html = (strings: TemplateStringsArray, ...args: Array) =>\n pipe(\n document.createElement(\"template\"),\n template =>\n majElementInnerHtml(template)(args.reduce((prev, value, i) => prev + value + strings[i + 1], strings[0])),\n template => template.content,\n );\n\n/**\n * Récupère une entrée dans le Stockage de Session (`storageSession`) sous forme d'`Either`.\n *\n * @param cle La clé de l'entrée.\n * @returns Un `Either` avec une `NonExistingKeyError` si la clé est absente (`Left`), la\n * valeur de l'entrée sinon (`Right`).\n */\nexport const eitherSessionStorageGet = (cle: string): Either =>\n Maybe\n .fromNullable(sessionStorage.getItem(cle))\n .toEither(ErreurEntreeInexistante(`Clé ${cle} absente dans le stockage de session.`));\n\n/**\n * Convertis une chaîne JSON en un objet JavaScript sous forme d'`Either`.\n * @param chaine La chaîne à convertir.\n * @returns Un `Either` avec une `SyntaxError` si la chaîne est invalide, un objet JS sinon\n * (`Right`).\n */\nexport const eitherJsonParse = (chaine: string): Either =>\n Either.encase(() => JSON.parse(chaine));\n"],"names":["i","n","e","r","N","t","a","some","get","make","range","rangeBy","zip","concat","slice","sliceToEnd","v","g","_","l","h","u","d","f","y","m","A","o","x","c","B","W","E","k","I","j","w","s","b","q","F","T","M","U","p","O","C","L","S","ra","G","Right","Left"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]} \ No newline at end of file +{"version":3,"file":"dom2.js","sources":["../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/caml-aa4fccd9.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/caml_obj-c29533cc.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/caml_option-16487d6d.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/belt_Array-b9ebcaa6.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/Array.bs-4b4ec77c.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/index-69bc96f0.mjs","../../../../../../node_modules/.pnpm/@mobily+ts-belt@4.0.0-rc.5/node_modules/@mobily/ts-belt/dist/index-e7228f55.mjs","../../../../../../node_modules/.pnpm/purify-ts@2.1.0/node_modules/purify-ts/esm/Function.js","../../src/scripts/lib/dom.ts"],"sourcesContent":["function int_compare(e, r) {\n if (e < r) {\n return -1;\n } else if (e === r) {\n return 0;\n } else {\n return 1;\n }\n}\n\nfunction bool_compare(e, r) {\n if (e) {\n if (r) {\n return 0;\n } else {\n return 1;\n }\n } else if (r) {\n return -1;\n } else {\n return 0;\n }\n}\n\nfunction string_compare(e, r) {\n if (e === r) {\n return 0;\n } else if (e < r) {\n return -1;\n } else {\n return 1;\n }\n}\n\nfunction int_max(e, r) {\n if (e > r) {\n return e;\n } else {\n return r;\n }\n}\n\nexport { int_max as a, bool_compare as b, int_compare as i, string_compare as s };\n","import { s as r, i as e, b as n } from \"./caml-aa4fccd9.mjs\";\n\nvar for_in = function(r, e) {\n for (var n in r) {\n e(n);\n }\n};\n\nfunction compare(t, a) {\n if (t === a) {\n return 0;\n }\n var i = typeof t;\n var u = typeof a;\n switch (i) {\n case \"boolean\":\n if (\"boolean\" === u) {\n return n(t, a);\n }\n break;\n\n case \"function\":\n if (\"function\" === u) {\n throw {\n RE_EXN_ID: \"Invalid_argument\",\n _1: \"compare: functional value\",\n Error: new Error\n };\n }\n break;\n\n case \"number\":\n if (\"number\" === u) {\n return e(t, a);\n }\n break;\n\n case \"string\":\n if (\"string\" === u) {\n return r(t, a);\n } else {\n return 1;\n }\n\n case \"undefined\":\n return -1;\n }\n switch (u) {\n case \"string\":\n return -1;\n\n case \"undefined\":\n return 1;\n\n default:\n if (\"boolean\" === i) {\n return 1;\n }\n if (\"boolean\" === u) {\n return -1;\n }\n if (\"function\" === i) {\n return 1;\n }\n if (\"function\" === u) {\n return -1;\n }\n if (\"number\" === i) {\n if (null === a || void 0 !== a.BS_PRIVATE_NESTED_SOME_NONE) {\n return 1;\n } else {\n return -1;\n }\n }\n if (\"number\" === u) {\n if (null === t || void 0 !== t.BS_PRIVATE_NESTED_SOME_NONE) {\n return -1;\n } else {\n return 1;\n }\n }\n if (null === t) {\n if (void 0 !== a.BS_PRIVATE_NESTED_SOME_NONE) {\n return 1;\n } else {\n return -1;\n }\n }\n if (null === a) {\n if (void 0 !== t.BS_PRIVATE_NESTED_SOME_NONE) {\n return -1;\n } else {\n return 1;\n }\n }\n if (void 0 !== t.BS_PRIVATE_NESTED_SOME_NONE) {\n if (void 0 !== a.BS_PRIVATE_NESTED_SOME_NONE) {\n return aux_obj_compare(t, a);\n } else {\n return -1;\n }\n }\n var o = 0 | t.TAG;\n var f = 0 | a.TAG;\n if (248 === o) {\n return e(t[1], a[1]);\n }\n if (251 === o) {\n throw {\n RE_EXN_ID: \"Invalid_argument\",\n _1: \"equal: abstract value\",\n Error: new Error\n };\n }\n if (o !== f) {\n if (o < f) {\n return -1;\n } else {\n return 1;\n }\n }\n var l = 0 | t.length;\n var s = 0 | a.length;\n if (l === s) {\n if (Array.isArray(t)) {\n var c = 0;\n while (1) {\n var v = c;\n if (v === l) {\n return 0;\n }\n var E = compare(t[v], a[v]);\n if (0 !== E) {\n return E;\n }\n c = v + 1 | 0;\n }\n } else if (t instanceof Date && a instanceof Date) {\n return t - a;\n } else {\n return aux_obj_compare(t, a);\n }\n } else if (l < s) {\n var _ = 0;\n while (1) {\n var d = _;\n if (d === l) {\n return -1;\n }\n var p = compare(t[d], a[d]);\n if (0 !== p) {\n return p;\n }\n _ = d + 1 | 0;\n }\n } else {\n var m = 0;\n while (1) {\n var b = m;\n if (b === s) {\n return 1;\n }\n var N = compare(t[b], a[b]);\n if (0 !== N) {\n return N;\n }\n m = b + 1 | 0;\n }\n }\n }\n}\n\nfunction aux_obj_compare(e, n) {\n var t = {\n contents: void 0\n };\n var a = {\n contents: void 0\n };\n var do_key = function(r, e) {\n var n = r[2];\n var t = r[1];\n if (Object.prototype.hasOwnProperty.call(t, e) && !(compare(r[0][e], t[e]) > 0)) {\n return;\n }\n var a = n.contents;\n if (void 0 !== a && e >= a) {\n return;\n } else {\n n.contents = e;\n return;\n }\n };\n var i = [ e, n, a ];\n var u = [ n, e, t ];\n for_in(e, (function(r) {\n return do_key(i, r);\n }));\n for_in(n, (function(r) {\n return do_key(u, r);\n }));\n var o = t.contents;\n var f = a.contents;\n if (void 0 !== o) {\n if (void 0 !== f) {\n return r(o, f);\n } else {\n return -1;\n }\n } else if (void 0 !== f) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction equal(r, e) {\n if (r === e) {\n return !0;\n }\n var n = typeof r;\n if (\"string\" === n || \"number\" === n || \"boolean\" === n || \"undefined\" === n || null === r) {\n return !1;\n }\n var t = typeof e;\n if (\"function\" === n || \"function\" === t) {\n throw {\n RE_EXN_ID: \"Invalid_argument\",\n _1: \"equal: functional value\",\n Error: new Error\n };\n }\n if (\"number\" === t || \"undefined\" === t || null === e) {\n return !1;\n }\n var a = 0 | r.TAG;\n var i = 0 | e.TAG;\n if (248 === a) {\n return r[1] === e[1];\n }\n if (251 === a) {\n throw {\n RE_EXN_ID: \"Invalid_argument\",\n _1: \"equal: abstract value\",\n Error: new Error\n };\n }\n if (a !== i) {\n return !1;\n }\n var u = 0 | r.length;\n if (u === (0 | e.length)) {\n if (Array.isArray(r)) {\n var o = 0;\n while (1) {\n var f = o;\n if (f === u) {\n return !0;\n }\n if (!equal(r[f], e[f])) {\n return !1;\n }\n o = f + 1 | 0;\n }\n } else if (r instanceof Date && e instanceof Date) {\n return !(r > e || r < e);\n } else {\n var l = {\n contents: !0\n };\n for_in(r, (function(r) {\n if (!Object.prototype.hasOwnProperty.call(e, r)) {\n l.contents = !1;\n return;\n }\n }));\n if (l.contents) {\n for_in(e, (function(n) {\n if (!Object.prototype.hasOwnProperty.call(r, n) || !equal(e[n], r[n])) {\n l.contents = !1;\n return;\n }\n }));\n }\n return l.contents;\n }\n } else {\n return !1;\n }\n}\n\nfunction lessthan(r, e) {\n return compare(r, e) < 0;\n}\n\nexport { equal as e, lessthan as l };\n","function some(_) {\n if (void 0 === _) {\n return {\n BS_PRIVATE_NESTED_SOME_NONE: 0\n };\n } else if (null !== _ && void 0 !== _.BS_PRIVATE_NESTED_SOME_NONE) {\n return {\n BS_PRIVATE_NESTED_SOME_NONE: _.BS_PRIVATE_NESTED_SOME_NONE + 1 | 0\n };\n } else {\n return _;\n }\n}\n\nfunction nullable_to_opt(_) {\n if (null == _) {\n return;\n } else {\n return some(_);\n }\n}\n\nfunction undefined_to_opt(_) {\n if (void 0 === _) {\n return;\n } else {\n return some(_);\n }\n}\n\nfunction null_to_opt(_) {\n if (null === _) {\n return;\n } else {\n return some(_);\n }\n}\n\nfunction valFromOption(_) {\n if (null === _ || void 0 === _.BS_PRIVATE_NESTED_SOME_NONE) {\n return _;\n }\n var n = _.BS_PRIVATE_NESTED_SOME_NONE;\n if (0 === n) {\n return;\n } else {\n return {\n BS_PRIVATE_NESTED_SOME_NONE: n - 1 | 0\n };\n }\n}\n\nexport { null_to_opt as a, nullable_to_opt as n, some as s, undefined_to_opt as u, valFromOption as v };\n","import { a as r } from \"./caml-aa4fccd9.mjs\";\n\nimport { s as n, v as a } from \"./caml_option-16487d6d.mjs\";\n\nfunction floor_int(r) {\n if (r > 2147483647) {\n return 2147483647;\n } else if (r < -2147483648) {\n return -2147483648;\n } else {\n return Math.floor(r);\n }\n}\n\nfunction random_int(r, n) {\n return floor_int(Math.random() * (n - r | 0)) + r | 0;\n}\n\nfunction get(r, a) {\n if (a >= 0 && a < r.length) {\n return n(r[a]);\n }\n}\n\nfunction getExn(r, n) {\n if (!(n >= 0 && n < r.length)) {\n throw {\n RE_EXN_ID: \"Assert_failure\",\n _1: [ \"belt_Array.ml\", 35, 2 ],\n Error: new Error\n };\n }\n return r[n];\n}\n\nfunction swapUnsafe(r, n, a) {\n var e = r[n];\n r[n] = r[a];\n r[a] = e;\n}\n\nfunction shuffle(r) {\n var n = r.slice(0);\n !function shuffleInPlace(r) {\n var n = r.length;\n for (var a = 0; a < n; ++a) {\n swapUnsafe(r, a, random_int(a, n));\n }\n }(n);\n return n;\n}\n\nfunction reverse(r) {\n var n = r.length;\n var a = new Array(n);\n for (var e = 0; e < n; ++e) {\n a[e] = r[(n - 1 | 0) - e | 0];\n }\n return a;\n}\n\nfunction make(r, n) {\n if (r <= 0) {\n return [];\n }\n var a = new Array(r);\n for (var e = 0; e < r; ++e) {\n a[e] = n;\n }\n return a;\n}\n\nfunction makeByU(r, n) {\n if (r <= 0) {\n return [];\n }\n var a = new Array(r);\n for (var e = 0; e < r; ++e) {\n a[e] = n(e);\n }\n return a;\n}\n\nfunction range(r, n) {\n var a = n - r | 0;\n if (a < 0) {\n return [];\n }\n var e = new Array(a + 1 | 0);\n for (var t = 0; t <= a; ++t) {\n e[t] = r + t | 0;\n }\n return e;\n}\n\nfunction rangeBy(r, n, a) {\n var e = n - r | 0;\n if (e < 0 || a <= 0) {\n return [];\n }\n var t = 1 + (e / a | 0) | 0;\n var v = new Array(t);\n var f = r;\n for (var o = 0; o < t; ++o) {\n v[o] = f;\n f = f + a | 0;\n }\n return v;\n}\n\nfunction zip(r, n) {\n var a = r.length;\n var e = n.length;\n var t = a < e ? a : e;\n var v = new Array(t);\n for (var f = 0; f < t; ++f) {\n v[f] = [ r[f], n[f] ];\n }\n return v;\n}\n\nfunction zipByU(r, n, a) {\n var e = r.length;\n var t = n.length;\n var v = e < t ? e : t;\n var f = new Array(v);\n for (var o = 0; o < v; ++o) {\n f[o] = a(r[o], n[o]);\n }\n return f;\n}\n\nfunction concat(r, n) {\n var a = r.length;\n var e = n.length;\n var t = new Array(a + e | 0);\n for (var v = 0; v < a; ++v) {\n t[v] = r[v];\n }\n for (var f = 0; f < e; ++f) {\n t[a + f | 0] = n[f];\n }\n return t;\n}\n\nfunction concatMany(r) {\n var n = r.length;\n var a = 0;\n for (var e = 0; e < n; ++e) {\n a = a + r[e].length | 0;\n }\n var t = new Array(a);\n a = 0;\n for (var v = 0; v < n; ++v) {\n var f = r[v];\n for (var o = 0, i = f.length; o < i; ++o) {\n t[a] = f[o];\n a = a + 1 | 0;\n }\n }\n return t;\n}\n\nfunction slice(n, a, e) {\n if (e <= 0) {\n return [];\n }\n var t = n.length;\n var v = a < 0 ? r(t + a | 0, 0) : a;\n var f = t - v | 0;\n var o = f < e ? f : e;\n if (o <= 0) {\n return [];\n }\n var i = new Array(o);\n for (var u = 0; u < o; ++u) {\n i[u] = n[v + u | 0];\n }\n return i;\n}\n\nfunction sliceToEnd(n, a) {\n var e = n.length;\n var t = a < 0 ? r(e + a | 0, 0) : a;\n var v = e > t ? e - t | 0 : 0;\n var f = new Array(v);\n for (var o = 0; o < v; ++o) {\n f[o] = n[t + o | 0];\n }\n return f;\n}\n\nfunction blitUnsafe(r, n, a, e, t) {\n if (e <= n) {\n for (var v = 0; v < t; ++v) {\n a[v + e | 0] = r[v + n | 0];\n }\n return;\n }\n for (var f = t - 1 | 0; f >= 0; --f) {\n a[f + e | 0] = r[f + n | 0];\n }\n}\n\nfunction forEachU(r, n) {\n for (var a = 0, e = r.length; a < e; ++a) {\n n(r[a]);\n }\n}\n\nfunction mapU(r, n) {\n var a = r.length;\n var e = new Array(a);\n for (var t = 0; t < a; ++t) {\n e[t] = n(r[t]);\n }\n return e;\n}\n\nfunction getByU(r, a) {\n var e = r.length;\n var t = 0;\n var v;\n while (void 0 === v && t < e) {\n var f = r[t];\n if (a(f)) {\n v = n(f);\n }\n t = t + 1 | 0;\n }\n return v;\n}\n\nfunction getIndexByU(r, n) {\n var a = r.length;\n var e = 0;\n var t;\n while (void 0 === t && e < a) {\n if (n(r[e])) {\n t = e;\n }\n e = e + 1 | 0;\n }\n return t;\n}\n\nfunction keepMapU(r, n) {\n var e = r.length;\n var t = new Array(e);\n var v = 0;\n for (var f = 0; f < e; ++f) {\n var o = n(r[f]);\n if (void 0 !== o) {\n t[v] = a(o);\n v = v + 1 | 0;\n }\n }\n t.length = v;\n return t;\n}\n\nfunction forEachWithIndexU(r, n) {\n for (var a = 0, e = r.length; a < e; ++a) {\n n(a, r[a]);\n }\n}\n\nfunction mapWithIndexU(r, n) {\n var a = r.length;\n var e = new Array(a);\n for (var t = 0; t < a; ++t) {\n e[t] = n(t, r[t]);\n }\n return e;\n}\n\nfunction reduceU(r, n, a) {\n var e = n;\n for (var t = 0, v = r.length; t < v; ++t) {\n e = a(e, r[t]);\n }\n return e;\n}\n\nfunction reduceReverseU(r, n, a) {\n var e = n;\n for (var t = r.length - 1 | 0; t >= 0; --t) {\n e = a(e, r[t]);\n }\n return e;\n}\n\nfunction reduceWithIndexU(r, n, a) {\n var e = n;\n for (var t = 0, v = r.length; t < v; ++t) {\n e = a(e, r[t], t);\n }\n return e;\n}\n\nfunction everyU(r, n) {\n var a = r.length;\n var e = 0;\n while (1) {\n var t = e;\n if (t === a) {\n return !0;\n }\n if (!n(r[t])) {\n return !1;\n }\n e = t + 1 | 0;\n }\n}\n\nfunction someU(r, n) {\n var a = r.length;\n var e = 0;\n while (1) {\n var t = e;\n if (t === a) {\n return !1;\n }\n if (n(r[t])) {\n return !0;\n }\n e = t + 1 | 0;\n }\n}\n\nfunction eqU(r, n, a) {\n var e = r.length;\n if (e === n.length) {\n return function everyAux2(r, n, a, e, t) {\n while (1) {\n var v = a;\n if (v === t) {\n return !0;\n }\n if (!e(r[v], n[v])) {\n return !1;\n }\n a = v + 1 | 0;\n }\n }(r, n, 0, a, e);\n } else {\n return !1;\n }\n}\n\nfunction partitionU(r, n) {\n var a = r.length;\n var e = 0;\n var t = 0;\n var v = new Array(a);\n var f = new Array(a);\n for (var o = 0; o < a; ++o) {\n var i = r[o];\n if (n(i)) {\n v[e] = i;\n e = e + 1 | 0;\n } else {\n f[t] = i;\n t = t + 1 | 0;\n }\n }\n v.length = e;\n f.length = t;\n return [ v, f ];\n}\n\nfunction unzip(r) {\n var n = r.length;\n var a = new Array(n);\n var e = new Array(n);\n for (var t = 0; t < n; ++t) {\n var v = r[t];\n a[t] = v[0];\n e[t] = v[1];\n }\n return [ a, e ];\n}\n\nexport { zip as A, zipByU as B, forEachWithIndexU as C, getIndexByU as D, keepMapU as E, reduceWithIndexU as a, mapU as b, concat as c, blitUnsafe as d, everyU as e, forEachU as f, reverse as g, get as h, sliceToEnd as i, slice as j, getExn as k, shuffle as l, makeByU as m, concatMany as n, random_int as o, make as p, getByU as q, reduceU as r, someU as s, mapWithIndexU as t, unzip as u, reduceReverseU as v, partitionU as w, eqU as x, range as y, rangeBy as z };\n","import { s as n, v as t } from \"./caml_option-16487d6d.mjs\";\n\nimport { d as r, g as e, h as u, i, j as f, k as a, l as o, n as c, u as s, r as l, a as h, o as p, m as v, p as g, c as _, q as d, b as y, t as m, v as A, w as x, e as B, s as W, x as E, y as k, z as I, A as j, B as w, f as q, C as F, D as T, E as U } from \"./belt_Array-b9ebcaa6.mjs\";\n\nimport { e as b, l as M } from \"./caml_obj-c29533cc.mjs\";\n\nfunction merge(n, t, e, u, i, f, a, o, c) {\n var s = t + e | 0;\n var l = i + f | 0;\n var h = t;\n var p = n[t];\n var v = i;\n var g = u[i];\n var _ = o;\n while (1) {\n var d = _;\n var y = g;\n var m = v;\n var A = p;\n var x = h;\n if (c(A, y) <= 0) {\n a[d] = A;\n var B = x + 1 | 0;\n if (B >= s) {\n return r(u, m, a, d + 1 | 0, l - m | 0);\n }\n _ = d + 1 | 0;\n p = n[B];\n h = B;\n continue;\n }\n a[d] = y;\n var W = m + 1 | 0;\n if (W >= l) {\n return r(n, x, a, d + 1 | 0, s - x | 0);\n }\n _ = d + 1 | 0;\n g = u[W];\n v = W;\n }\n}\n\nfunction insertionSort(n, t, r, e, u, i) {\n for (var f = 0; f < u; ++f) {\n var a = n[t + f | 0];\n var o = (e + f | 0) - 1 | 0;\n while (o >= e && i(r[o], a) > 0) {\n r[o + 1 | 0] = r[o];\n o = o - 1 | 0;\n }\n r[o + 1 | 0] = a;\n }\n}\n\nfunction sortTo(n, t, r, e, u, i) {\n if (u <= 5) {\n return insertionSort(n, t, r, e, u, i);\n }\n var f = u / 2 | 0;\n var a = u - f | 0;\n sortTo(n, t + f | 0, r, e + f | 0, a, i);\n sortTo(n, t, n, t + a | 0, f, i);\n merge(n, t + a | 0, f, r, e + f | 0, a, r, e, i);\n}\n\nfunction stableSortByU(n, t) {\n var r = n.slice(0);\n !function stableSortInPlaceByU(n, t) {\n var r = n.length;\n if (r <= 5) {\n return insertionSort(n, 0, n, 0, r, t);\n }\n var e = r / 2 | 0;\n var u = r - e | 0;\n var i = new Array(u);\n sortTo(n, e, i, 0, u, t);\n sortTo(n, 0, n, u, e, t);\n merge(n, u, e, i, 0, u, n, 0, t);\n }(r, t);\n return r;\n}\n\nfunction get$1(t, r) {\n if (r in t) {\n return n(t[r]);\n }\n}\n\nvar unsafeDeleteKey = function(n, t) {\n delete n[t];\n};\n\nfunction values(n) {\n var t = Object.keys(n);\n var r = t.length;\n var e = new Array(r);\n for (var u = 0; u < r; ++u) {\n e[u] = n[t[u]];\n }\n return e;\n}\n\nfunction fromArray(n) {\n var t = {};\n var r = n.length;\n for (var e = 0; e < r; ++e) {\n var u = n[e];\n t[u[0]] = u[1];\n }\n return t;\n}\n\nfunction placeholder(n) {}\n\nfunction makeEmpty(n) {\n return [];\n}\n\nvar z = v;\n\nfunction makeWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return z(t, n[0]);\n };\n }\n return z(arguments[0], arguments[1]);\n}\n\nvar S = g;\n\nfunction make() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return S(t, n[0]);\n };\n }\n return S(arguments[0], arguments[1]);\n}\n\nvar O = g;\n\nfunction repeat() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return O(t, n[0]);\n };\n }\n return O(arguments[0], arguments[1]);\n}\n\nfunction length(n) {\n return n.length;\n}\n\nfunction isEmpty(n) {\n return 0 === n.length;\n}\n\nfunction isNotEmpty(n) {\n return 0 !== n.length;\n}\n\nvar $ = e;\n\nfunction _append(n, t) {\n return _(n, [ t ]);\n}\n\nfunction append() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _append(t, n[0]);\n };\n }\n return _append(arguments[0], arguments[1]);\n}\n\nfunction _prepend(n, t) {\n return _([ t ], n);\n}\n\nfunction prepend() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _prepend(t, n[0]);\n };\n }\n return _prepend(arguments[0], arguments[1]);\n}\n\nfunction _prependToAll(n, t) {\n return l(n, [], (function(n, r) {\n return _(n, [ t, r ]);\n }));\n}\n\nfunction prependToAll() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _prependToAll(t, n[0]);\n };\n }\n return _prependToAll(arguments[0], arguments[1]);\n}\n\nfunction _intersperse(n, t) {\n return h(n, [], (function(r, e, u) {\n if ((n.length - 1 | 0) === u) {\n r.push(e);\n } else {\n r.push(e, t);\n }\n return r;\n }));\n}\n\nfunction intersperse() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _intersperse(t, n[0]);\n };\n }\n return _intersperse(arguments[0], arguments[1]);\n}\n\nvar C = u;\n\nfunction get() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return C(t, n[0]);\n };\n }\n return C(arguments[0], arguments[1]);\n}\n\nvar D = u;\n\nfunction at() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return D(t, n[0]);\n };\n }\n return D(arguments[0], arguments[1]);\n}\n\nfunction _getUnsafe(n, t) {\n return n[t];\n}\n\nfunction getUnsafe() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _getUnsafe(t, n[0]);\n };\n }\n return _getUnsafe(arguments[0], arguments[1]);\n}\n\nfunction _getUndefined(n, t) {\n return n[t];\n}\n\nfunction getUndefined() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _getUndefined(t, n[0]);\n };\n }\n return _getUndefined(arguments[0], arguments[1]);\n}\n\nvar N = d;\n\nfunction getBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return N(t, n[0]);\n };\n }\n return N(arguments[0], arguments[1]);\n}\n\nvar R = d;\n\nfunction find() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return R(t, n[0]);\n };\n }\n return R(arguments[0], arguments[1]);\n}\n\nfunction head(n) {\n return u(n, 0);\n}\n\nfunction last(n) {\n var t = n.length;\n if (0 === t) {\n return;\n } else {\n return u(n, t - 1 | 0);\n }\n}\n\nfunction tail(n) {\n var t = n.length;\n if (1 === t) {\n return [];\n }\n if (0 === t) {\n return;\n }\n var r = i(n, 1);\n if (0 !== r.length) {\n return r;\n }\n}\n\nfunction tailOrEmpty(n) {\n var t = tail(n);\n if (void 0 !== t) {\n return t;\n } else {\n return [];\n }\n}\n\nfunction init(n) {\n var t = n.length;\n if (0 === t) {\n return;\n } else {\n return f(n, 0, t - 1 | 0);\n }\n}\n\nfunction initOrEmpty(n) {\n var t = init(n);\n if (void 0 !== t) {\n return t;\n } else {\n return [];\n }\n}\n\nfunction _take(n, t) {\n var r = n.length;\n return f(n, 0, t < 0 ? 0 : r < t ? r : t);\n}\n\nfunction take() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _take(t, n[0]);\n };\n }\n return _take(arguments[0], arguments[1]);\n}\n\nfunction _takeExactly(n, t) {\n if (t < 0 || t > n.length) {\n return;\n } else {\n return f(n, 0, t);\n }\n}\n\nfunction takeExactly() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _takeExactly(t, n[0]);\n };\n }\n return _takeExactly(arguments[0], arguments[1]);\n}\n\nfunction _takeWhile(n, t) {\n var r = 0;\n var e = !1;\n var u = [];\n while (r < n.length && !e) {\n var i = n[r];\n if (t(i)) {\n u.push(i);\n r = r + 1 | 0;\n } else {\n e = !0;\n }\n }\n return u;\n}\n\nfunction takeWhile() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _takeWhile(t, n[0]);\n };\n }\n return _takeWhile(arguments[0], arguments[1]);\n}\n\nfunction _drop(n, t) {\n var r = n.length;\n return i(n, t < 0 ? 0 : r < t ? r : t);\n}\n\nfunction drop() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _drop(t, n[0]);\n };\n }\n return _drop(arguments[0], arguments[1]);\n}\n\nfunction _dropExactly(n, t) {\n if (t < 0 || t > n.length) {\n return;\n } else {\n return i(n, t);\n }\n}\n\nfunction dropExactly() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _dropExactly(t, n[0]);\n };\n }\n return _dropExactly(arguments[0], arguments[1]);\n}\n\nfunction _dropWhile(n, t) {\n return l(n, [], (function(n, r) {\n if (!t(r)) {\n n.push(r);\n }\n return n;\n }));\n}\n\nfunction dropWhile() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _dropWhile(t, n[0]);\n };\n }\n return _dropWhile(arguments[0], arguments[1]);\n}\n\nfunction uncons(n) {\n if (0 !== n.length) {\n return [ a(n, 0), i(n, 1) ];\n }\n}\n\nfunction _map(n, t) {\n return y(n, t);\n}\n\nfunction map() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _map(t, n[0]);\n };\n }\n return _map(arguments[0], arguments[1]);\n}\n\nvar G = m;\n\nfunction mapWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return G(t, n[0]);\n };\n }\n return G(arguments[0], arguments[1]);\n}\n\nfunction _filter(n, t) {\n var r = 0;\n var e = [];\n while (r < n.length) {\n var u = n[r];\n if (t(u)) {\n e.push(u);\n }\n r = r + 1 | 0;\n }\n return e;\n}\n\nfunction filter() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _filter(t, n[0]);\n };\n }\n return _filter(arguments[0], arguments[1]);\n}\n\nvar P = filter;\n\nfunction _filterWithIndex(n, t) {\n var r = 0;\n var e = [];\n while (r < n.length) {\n var u = n[r];\n if (t(r, u)) {\n e.push(u);\n }\n r = r + 1 | 0;\n }\n return e;\n}\n\nfunction filterWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _filterWithIndex(t, n[0]);\n };\n }\n return _filterWithIndex(arguments[0], arguments[1]);\n}\n\nvar H = filterWithIndex;\n\nfunction _reject(n, t) {\n return filter(n, (function(n) {\n return !t(n);\n }));\n}\n\nfunction reject() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _reject(t, n[0]);\n };\n }\n return _reject(arguments[0], arguments[1]);\n}\n\nfunction _rejectWithIndex(n, t) {\n return filterWithIndex(n, (function(n, r) {\n return !t(n, r);\n }));\n}\n\nfunction rejectWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _rejectWithIndex(t, n[0]);\n };\n }\n return _rejectWithIndex(arguments[0], arguments[1]);\n}\n\nvar J = l;\n\nfunction reduce() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return J(t, n[0], n[1]);\n };\n }\n return J(arguments[0], arguments[1], arguments[2]);\n}\n\nvar K = A;\n\nfunction reduceReverse() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return K(t, n[0], n[1]);\n };\n }\n return K(arguments[0], arguments[1], arguments[2]);\n}\n\nvar L = h;\n\nfunction reduceWithIndex() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return L(t, n[0], n[1]);\n };\n }\n return L(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _splitAt(n, t) {\n if (t < 0 || t > n.length) {\n return;\n } else {\n return [ f(n, 0, t), i(n, t) ];\n }\n}\n\nfunction splitAt() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _splitAt(t, n[0]);\n };\n }\n return _splitAt(arguments[0], arguments[1]);\n}\n\nfunction _splitEvery(n, t) {\n if (t < 1 || n.length <= t) {\n return [ n ];\n }\n var r = 0;\n var e = [];\n while (r < n.length) {\n var u = r + t | 0;\n e.push(f(n, r, t));\n r = u;\n }\n return e;\n}\n\nfunction splitEvery() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _splitEvery(t, n[0]);\n };\n }\n return _splitEvery(arguments[0], arguments[1]);\n}\n\nvar Q = o;\n\nvar V = x;\n\nfunction partition() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return V(t, n[0]);\n };\n }\n return V(arguments[0], arguments[1]);\n}\n\nvar X = _;\n\nfunction concat() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return X(t, n[0]);\n };\n }\n return X(arguments[0], arguments[1]);\n}\n\nvar Y = c;\n\nvar Z = B;\n\nfunction every() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return Z(t, n[0]);\n };\n }\n return Z(arguments[0], arguments[1]);\n}\n\nvar nn = W;\n\nfunction some() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return nn(t, n[0]);\n };\n }\n return nn(arguments[0], arguments[1]);\n}\n\nvar tn = f;\n\nfunction slice() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return tn(t, n[0], n[1]);\n };\n }\n return tn(arguments[0], arguments[1], arguments[2]);\n}\n\nvar rn = i;\n\nfunction sliceToEnd() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return rn(t, n[0]);\n };\n }\n return rn(arguments[0], arguments[1]);\n}\n\nvar en = E;\n\nfunction eq() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return en(t, n[0], n[1]);\n };\n }\n return en(arguments[0], arguments[1], arguments[2]);\n}\n\nvar un = k;\n\nfunction range() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return un(t, n[0]);\n };\n }\n return un(arguments[0], arguments[1]);\n}\n\nvar an = I;\n\nfunction rangeBy() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return an(t, n[0], n[1]);\n };\n }\n return an(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction copy(n) {\n return n.slice(0);\n}\n\nvar on = j;\n\nfunction zip() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return on(t, n[0]);\n };\n }\n return on(arguments[0], arguments[1]);\n}\n\nvar cn = w;\n\nfunction zipWith() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return cn(t, n[0], n[1]);\n };\n }\n return cn(arguments[0], arguments[1], arguments[2]);\n}\n\nvar sn = s;\n\nfunction _replaceAt(n, t, r) {\n return m(n, (function(n, e) {\n if (n === t) {\n return r;\n } else {\n return e;\n }\n }));\n}\n\nfunction replaceAt() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _replaceAt(t, n[0], n[1]);\n };\n }\n return _replaceAt(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _insertAt(n, t, r) {\n var e = splitAt(n, t);\n if (void 0 !== e) {\n return _(e[0], _([ r ], e[1]));\n } else {\n return n;\n }\n}\n\nfunction insertAt() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _insertAt(t, n[0], n[1]);\n };\n }\n return _insertAt(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _updateAt(n, t, r) {\n return m(n, (function(n, e) {\n if (n === t) {\n return r(e);\n } else {\n return e;\n }\n }));\n}\n\nfunction updateAt() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _updateAt(t, n[0], n[1]);\n };\n }\n return _updateAt(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _swapAt(n, r, e) {\n var i = u(n, r);\n var f = u(n, e);\n if (void 0 === i) {\n return n;\n }\n if (void 0 === f) {\n return n;\n }\n var a = t(f);\n var o = t(i);\n return m(n, (function(n, t) {\n if (r === n) {\n return a;\n } else if (e === n) {\n return o;\n } else {\n return t;\n }\n }));\n}\n\nfunction swapAt() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _swapAt(t, n[0], n[1]);\n };\n }\n return _swapAt(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _removeAt(n, t) {\n return filterWithIndex(n, (function(n, r) {\n return n !== t;\n }));\n}\n\nfunction removeAt() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _removeAt(t, n[0]);\n };\n }\n return _removeAt(arguments[0], arguments[1]);\n}\n\nfunction _uniqBy(n, t) {\n var r = 0;\n var e = [];\n while (r < n.length) {\n var u = n[r];\n var i = W(e, function(n) {\n return function(r) {\n return b(t(r), t(n));\n };\n }(u));\n if (!i) {\n e.push(u);\n }\n r = r + 1 | 0;\n }\n return e;\n}\n\nfunction uniqBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _uniqBy(t, n[0]);\n };\n }\n return _uniqBy(arguments[0], arguments[1]);\n}\n\nfunction uniq(n) {\n return uniqBy(n, (function(n) {\n return n;\n }));\n}\n\nvar ln = q;\n\nfunction forEach() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return ln(t, n[0]);\n };\n }\n return ln(arguments[0], arguments[1]);\n}\n\nvar hn = F;\n\nfunction forEachWithIndex() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return hn(t, n[0]);\n };\n }\n return hn(arguments[0], arguments[1]);\n}\n\nvar pn = T;\n\nfunction getIndexBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return pn(t, n[0]);\n };\n }\n return pn(arguments[0], arguments[1]);\n}\n\nfunction _includes(n, t) {\n return W(n, (function(n) {\n return b(n, t);\n }));\n}\n\nfunction includes() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _includes(t, n[0]);\n };\n }\n return _includes(arguments[0], arguments[1]);\n}\n\nfunction _join(n, t) {\n return n.join(t);\n}\n\nfunction join() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _join(t, n[0]);\n };\n }\n return _join(arguments[0], arguments[1]);\n}\n\nvar vn = stableSortByU;\n\nfunction sort() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return vn(t, n[0]);\n };\n }\n return vn(arguments[0], arguments[1]);\n}\n\nfunction _sortBy(n, t) {\n return stableSortByU(n, (function(n, r) {\n var e = t(n);\n var u = t(r);\n if (e === u) {\n return 0;\n } else if (M(e, u)) {\n return -1;\n } else {\n return 1;\n }\n }));\n}\n\nfunction sortBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _sortBy(t, n[0]);\n };\n }\n return _sortBy(arguments[0], arguments[1]);\n}\n\nfunction _groupBy(n, t) {\n return l(n, {}, (function(n, r) {\n var e = t(r);\n var u = get$1(n, e);\n if (void 0 !== u) {\n u.push(r);\n } else {\n n[e] = [ r ];\n }\n return n;\n }));\n}\n\nfunction groupBy() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _groupBy(t, n[0]);\n };\n }\n return _groupBy(arguments[0], arguments[1]);\n}\n\nfunction flat(n) {\n return l(n, [], (function(n, t) {\n if (Array.isArray(t)) {\n q(t, (function(t) {\n n.push(t);\n }));\n } else {\n n.push(t);\n }\n return n;\n }));\n}\n\nfunction _flatten(n, t) {\n var r = 0;\n while (r < n.length) {\n var e = n[r];\n if (Array.isArray(e)) {\n flatten(e, t);\n } else {\n t.push(e);\n }\n r = r + 1 | 0;\n }\n return t;\n}\n\nfunction flatten() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _flatten(t, n[0]);\n };\n }\n return _flatten(arguments[0], arguments[1]);\n}\n\nfunction deepFlat(n) {\n return flatten(n, []);\n}\n\nfunction toTuple(n) {\n return n;\n}\n\nfunction _tap(n, t) {\n q(n, t);\n return n;\n}\n\nfunction tap() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _tap(t, n[0]);\n };\n }\n return _tap(arguments[0], arguments[1]);\n}\n\nfunction flip(n) {\n return [ n[1], n[0] ];\n}\n\nvar gn = U;\n\nfunction filterMap() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return gn(t, n[0]);\n };\n }\n return gn(arguments[0], arguments[1]);\n}\n\nvar _n = U;\n\nfunction keepMap() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _n(t, n[0]);\n };\n }\n return _n(arguments[0], arguments[1]);\n}\n\nfunction _removeFirstBy(n, t, r) {\n return l(n, [ !1, [] ], (function(n, e) {\n var u = n[1];\n if (n[0]) {\n u.push(e);\n return [ !0, u ];\n } else if (r(e, t)) {\n return [ !0, u ];\n } else {\n u.push(e);\n return [ !1, u ];\n }\n }))[1];\n}\n\nfunction removeFirstBy() {\n if (2 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _removeFirstBy(t, n[0], n[1]);\n };\n }\n return _removeFirstBy(arguments[0], arguments[1], arguments[2]);\n}\n\nfunction _removeFirst(n, t) {\n return removeFirstBy(n, t, b);\n}\n\nfunction removeFirst() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _removeFirst(t, n[0]);\n };\n }\n return _removeFirst(arguments[0], arguments[1]);\n}\n\nfunction zipWithIndex(n) {\n return h(n, [], (function(n, t, r) {\n n.push([ t, r ]);\n return n;\n }));\n}\n\nfunction _all(n, t) {\n return B(n, t);\n}\n\nfunction all() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _all(t, n[0]);\n };\n }\n return _all(arguments[0], arguments[1]);\n}\n\nfunction _any(n, t) {\n return W(n, t);\n}\n\nfunction any() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _any(t, n[0]);\n };\n }\n return _any(arguments[0], arguments[1]);\n}\n\nfunction _difference(n, t) {\n return reject(uniqBy(n, (function(n) {\n return n;\n })), (function(n) {\n return includes(t, n);\n }));\n}\n\nfunction difference() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _difference(t, n[0]);\n };\n }\n return _difference(arguments[0], arguments[1]);\n}\n\nfunction _union(n, t) {\n return uniqBy(_(n, t), (function(n) {\n return n;\n }));\n}\n\nfunction union() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _union(t, n[0]);\n };\n }\n return _union(arguments[0], arguments[1]);\n}\n\nfunction _intersection(n, t) {\n var r = n.length > t.length ? [ n, t ] : [ t, n ];\n var e = r[1];\n return uniqBy(filter(r[0], (function(n) {\n return includes(e, n);\n })), (function(n) {\n return n;\n }));\n}\n\nfunction intersection() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _intersection(t, n[0]);\n };\n }\n return _intersection(arguments[0], arguments[1]);\n}\n\nfunction sample(n) {\n return n[p(0, n.length - 1 | 0)];\n}\n\nfunction _flatMap(n, t) {\n return flat(y(n, t));\n}\n\nfunction flatMap() {\n if (1 === arguments.length) {\n const n = arguments;\n return function fn(t) {\n return _flatMap(t, n[0]);\n };\n }\n return _flatMap(arguments[0], arguments[1]);\n}\n\nexport { eq as $, takeExactly as A, takeWhile as B, drop as C, dropExactly as D, dropWhile as E, uncons as F, map as G, mapWithIndex as H, filter as I, P as J, filterWithIndex as K, H as L, reject as M, rejectWithIndex as N, reduce as O, reduceReverse as P, reduceWithIndex as Q, splitAt as R, splitEvery as S, Q as T, partition as U, concat as V, Y as W, every as X, some as Y, slice as Z, sliceToEnd as _, makeWithIndex as a, range as a0, rangeBy as a1, copy as a2, zip as a3, zipWith as a4, sn as a5, replaceAt as a6, insertAt as a7, updateAt as a8, swapAt as a9, intersection as aA, sample as aB, flatMap as aC, values as aD, fromArray as aE, get$1 as aF, unsafeDeleteKey as aG, removeAt as aa, uniqBy as ab, uniq as ac, forEach as ad, forEachWithIndex as ae, getIndexBy as af, includes as ag, join as ah, sort as ai, sortBy as aj, groupBy as ak, flat as al, flatten as am, deepFlat as an, toTuple as ao, tap as ap, flip as aq, filterMap as ar, keepMap as as, removeFirstBy as at, removeFirst as au, zipWithIndex as av, all as aw, any as ax, difference as ay, union as az, make as b, isNotEmpty as c, $ as d, append as e, prepend as f, prependToAll as g, intersperse as h, isEmpty as i, get as j, at as k, length as l, makeEmpty as m, getUnsafe as n, getUndefined as o, placeholder as p, getBy as q, repeat as r, find as s, head as t, last as u, tail as v, tailOrEmpty as w, init as x, initOrEmpty as y, take as z };\n","import { p as a, m as s, a as e, b as t, r as i, l as r, i as p, c as n, d as l, e as o, f as d, g as c, h as y, j as m, k as f, n as h, o as u, q as x, s as E, t as W, u as g, v as k, w as v, x as A, y as I, z as B, A as j, B as z, C as q, D as M, E as _, F, G as T, H as b, I as w, J as O, K as U, L as C, M as N, N as R, O as D, P as G, Q as H, R as J, S as K, T as L, U as P, V as Q, W as S, X as V, Y as X, Z as Y, _ as Z, $, a0 as aa, a1 as sa, a2 as ea, a3 as ta, a4 as ia, a5 as ra, a6 as pa, a7 as na, a8 as la, a9 as oa, aa as da, ab as ca, ac as ya, ad as ma, ae as fa, af as ha, ag as ua, ah as xa, ai as Ea, aj as Wa, ak as ga, al as ka, am as va, an as Aa, ao as Ia, ap as Ba, aq as ja, ar as za, as as qa, at as Ma, au as _a, av as Fa, aw as Ta, ax as ba, ay as wa, az as Oa, aA as Ua, aB as Ca, aC as Na } from \"./Array.bs-4b4ec77c.mjs\";\n\nvar Ra = {\n __proto__: null,\n placeholder: a,\n makeEmpty: s,\n makeWithIndex: e,\n make: t,\n repeat: i,\n length: r,\n isEmpty: p,\n isNotEmpty: n,\n reverse: l,\n append: o,\n prepend: d,\n prependToAll: c,\n intersperse: y,\n get: m,\n at: f,\n getUnsafe: h,\n getUndefined: u,\n getBy: x,\n find: E,\n head: W,\n last: g,\n tail: k,\n tailOrEmpty: v,\n init: A,\n initOrEmpty: I,\n take: B,\n takeExactly: j,\n takeWhile: z,\n drop: q,\n dropExactly: M,\n dropWhile: _,\n uncons: F,\n map: T,\n mapWithIndex: b,\n filter: w,\n keep: O,\n filterWithIndex: U,\n keepWithIndex: C,\n reject: N,\n rejectWithIndex: R,\n reduce: D,\n reduceReverse: G,\n reduceWithIndex: H,\n splitAt: J,\n splitEvery: K,\n shuffle: L,\n partition: P,\n concat: Q,\n concatMany: S,\n every: V,\n some: X,\n slice: Y,\n sliceToEnd: Z,\n eq: $,\n range: aa,\n rangeBy: sa,\n copy: ea,\n zip: ta,\n zipWith: ia,\n unzip: ra,\n replaceAt: pa,\n insertAt: na,\n updateAt: la,\n swapAt: oa,\n removeAt: da,\n uniqBy: ca,\n uniq: ya,\n forEach: ma,\n forEachWithIndex: fa,\n getIndexBy: ha,\n includes: ua,\n join: xa,\n sort: Ea,\n sortBy: Wa,\n groupBy: ga,\n flat: ka,\n flatten: va,\n deepFlat: Aa,\n toTuple: Ia,\n tap: Ba,\n flip: ja,\n filterMap: za,\n keepMap: qa,\n removeFirstBy: Ma,\n removeFirst: _a,\n zipWithIndex: Fa,\n all: Ta,\n any: ba,\n difference: wa,\n union: Oa,\n intersection: Ua,\n sample: Ca,\n flatMap: Na\n};\n\nexport { Ra as i };\n","function _is(i, n) {\n return typeof i === n;\n}\n\nfunction is() {\n if (1 === arguments.length) {\n const i = arguments;\n return function fn(n) {\n return _is(n, i[0]);\n };\n }\n return _is(arguments[0], arguments[1]);\n}\n\nfunction isString(i) {\n return \"string\" == typeof i;\n}\n\nfunction isNumber(i) {\n if (\"number\" == typeof i) {\n return !Number.isNaN(i);\n } else {\n return !1;\n }\n}\n\nfunction isBoolean(i) {\n return \"boolean\" == typeof i;\n}\n\nvar isPromise = i => i instanceof Promise;\n\nfunction isArray(i) {\n return Array.isArray(i);\n}\n\nfunction isObject(i) {\n if (i && !Array.isArray(i)) {\n return \"object\" == typeof i;\n } else {\n return !1;\n }\n}\n\nfunction isFunction(i) {\n return \"function\" == typeof i;\n}\n\nvar isError = i => i instanceof Error;\n\nvar isDate = i => i instanceof Date;\n\nfunction isNullable(i) {\n return null == i;\n}\n\nfunction isNotNullable(i) {\n return !(null == i);\n}\n\nvar isNull = i => null === i;\n\nvar isUndefined = i => void 0 === i;\n\nfunction _isNot(i, n) {\n return !n(i);\n}\n\nfunction isNot() {\n if (1 === arguments.length) {\n const i = arguments;\n return function fn(n) {\n return _isNot(n, i[0]);\n };\n }\n return _isNot(arguments[0], arguments[1]);\n}\n\nvar i = {\n __proto__: null,\n is,\n isString,\n isNumber,\n isBoolean,\n isPromise,\n isArray,\n isObject,\n isFunction,\n isError,\n isDate,\n isNullable,\n isNotNullable,\n isNull,\n isUndefined,\n isNot\n};\n\nexport { is as a, isString as b, isNumber as c, isBoolean as d, isPromise as e, isArray as f, isObject as g, isFunction as h, i, isError as j, isDate as k, isNullable as l, isNotNullable as m, isNull as n, isUndefined as o, isNot as p };\n","/** The identity function, returns the value it was given */\nexport const identity = (x) => x;\n/** Returns a function that always returns the same value. Also known as `const` in other languages */\nexport const always = (x) => () => x;\nexport const Order = {\n LT: 'LT',\n EQ: 'EQ',\n GT: 'GT'\n};\n/** Compares two values using the default \"<\" and \">\" operators */\nexport const compare = (x, y) => {\n if (x > y) {\n return Order.GT;\n }\n else if (x < y) {\n return Order.LT;\n }\n else {\n return Order.EQ;\n }\n};\n/** Maps the Order enum to the values expected by the standard ECMAScript library when doing comparison (Array.prototype.sort, for example) */\nexport const orderToNumber = (order) => {\n switch (order) {\n case Order.LT:\n return -1;\n case Order.EQ:\n return 0;\n case Order.GT:\n return 1;\n }\n};\n/** Takes a function that receives multiple arguments and returns a \"curried\" version of that function that can take any number of those arguments and if they are less than needed a new function that takes the rest of them will be returned */\nexport const curry = (fn) => function currify(...args) {\n return args.length >= fn.length\n ? fn.apply(undefined, args)\n : currify.bind(undefined, ...args);\n};\n","import { A, G, pipe } from \"@mobily/ts-belt\";\nimport { Either, identity, Left, Maybe, Right } from \"purify-ts\";\n\nimport type { ElementParent } from \"./types/dom.d.ts\";\n\nimport {\n creeSyntaxError,\n ERREUR_SELECTEUR_INEXISTANT,\n ERREUR_SYNTAXE_INVALIDE,\n ErreurEntreeInexistante,\n type NonExistingKeyError,\n reporteEtLeveErreur,\n} from \"./erreurs\";\n\n/**\n * @param parent L'Élément parent dans lequel l'Élément souhaité sera recherché.\n * @param selecteur Le sélecteur de l'Élément recherché.\n *\n * @throws Une Erreur si aucun Élément n'a été trouvé.\n * @returns Un Élément.\n */\nexport const safeQuerySelector: (parent: ElementParent) => (selecteur: string) => Element = parent => selecteur => {\n const element: Element | null = parent.querySelector(selecteur);\n\n if (!element) throw new DOMException(ERREUR_SELECTEUR_INEXISTANT(selecteur));\n return element;\n};\n\n/**\n * @param parent L'Élément parent dans lequel l'Élément souhaité sera recherché.\n * @param selecteur Le sélecteur de l'Élément recherché.\n *\n * @returns Un tableau pouvant être vide d'Éléments.\n */\nexport const safeQuerySelectorAll: (parent: ElementParent) => (selecteur: string) => Array =\n parent => selecteur => {\n const elements: Array = Array.from(parent.querySelectorAll(selecteur));\n\n if (A.isEmpty(elements)) {\n throw new DOMException(ERREUR_SELECTEUR_INEXISTANT(selecteur));\n }\n return elements;\n };\n\nexport const recupereElementAvecSelecteur =\n (parent: ElementParent) => (selecteur: string): Either =>\n Either\n // Retourne une SyntaxError dans un Left si le sélecteur est invalide\n .encase(() => parent.querySelector(selecteur))\n // Transforme le Left en une erreur plus sympathique\n .mapLeft(_ => creeSyntaxError(ERREUR_SYNTAXE_INVALIDE(selecteur)))\n // Retourne une SyntaxError si l'Élément est null\n .chain((e: E | null) =>\n G.isNotNullable(e) ? Right(e) : Left(creeSyntaxError(ERREUR_SELECTEUR_INEXISTANT(selecteur)))\n );\n\nexport const recupereElementsAvecSelecteur =\n (parent: ElementParent) => (selecteur: string): Either> =>\n Either\n // Retourne une SyntaxError dans un Left si le sélecteur est invalide\n .encase(() => pipe(parent.querySelectorAll(selecteur), Array.from))\n // Transforme le Left en une erreur plus sympathique\n .mapLeft(_ => creeSyntaxError(ERREUR_SYNTAXE_INVALIDE(selecteur)))\n // Retourne une SyntaxError si le tableau est vide\n .chain((e: Array) => A.isEmpty(e) ? Left(creeSyntaxError(ERREUR_SELECTEUR_INEXISTANT(selecteur))) : Right(e));\n\n/**\n * @param element\n * @returns Un booléen\n */\nexport const estDansLaVue: (element: Element) => boolean = element => {\n const rect: DOMRect = element.getBoundingClientRect();\n\n return (\n rect.top >= 0\n && rect.left >= 0\n && rect.top <= (window.innerHeight || document.documentElement.clientHeight)\n && rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n};\n\nexport const recupereElementOuLeve = (elementOuErreur: Either): E =>\n elementOuErreur.caseOf({\n Left: reporteEtLeveErreur,\n Right: identity,\n });\n\nexport const recupereElementsOuLeve = (\n elementsOuErreur: Either>,\n): Array =>\n elementsOuErreur.caseOf({\n Left: reporteEtLeveErreur,\n Right: identity,\n });\n\nexport const majElementInnerHtml = (element: T) => (innerHtml: string) => {\n element.innerHTML = innerHtml;\n return element;\n};\n\n// Merci facon (https://github.com/terkelg/facon)\nexport const html = (strings: TemplateStringsArray, ...args: Array) =>\n pipe(\n document.createElement(\"template\"),\n template =>\n majElementInnerHtml(template)(args.reduce((prev, value, i) => prev + value + strings[i + 1], strings[0])),\n template => template.content,\n );\n\n/**\n * Récupère une entrée dans le Stockage de Session (`storageSession`) sous forme d'`Either`.\n *\n * @param cle La clé de l'entrée.\n * @returns Un `Either` avec une `NonExistingKeyError` si la clé est absente (`Left`), la\n * valeur de l'entrée sinon (`Right`).\n */\nexport const eitherSessionStorageGet = (cle: string): Either =>\n Maybe\n .fromNullable(sessionStorage.getItem(cle))\n .toEither(ErreurEntreeInexistante(`Clé ${cle} absente dans le stockage de session.`));\n\n/**\n * Convertis une chaîne JSON en un objet JavaScript sous forme d'`Either`.\n * @param chaine La chaîne à convertir.\n * @returns Un `Either` avec une `SyntaxError` si la chaîne est invalide, un objet JS sinon\n * (`Right`).\n */\nexport const eitherJsonParse = (chaine: string): Either =>\n Either.encase(() => JSON.parse(chaine));\n\n/** TODO */\nexport const correspondCibleSelecteur = (\n cible: EventTarget | null,\n selecteur: string,\n): cible is E => cible !== null && (cible as HTMLElement).matches(selecteur);\n"],"names":["i","n","e","r","N","t","a","some","get","make","range","rangeBy","zip","concat","slice","sliceToEnd","v","g","_","l","h","u","d","f","y","m","A","o","x","c","B","W","E","k","I","j","w","s","b","q","F","T","M","U","p","O","C","L","S","ra","G","Right","Left"],"mappings":";;;;AAAA,SAAS,YAAY,GAAG,GAAG;AACzB,MAAI,IAAI,GAAG;AACT,WAAO;AAAA,EACX,WAAa,MAAM,GAAG;AAClB,WAAO;AAAA,EACX,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,aAAa,GAAG,GAAG;AAC1B,MAAI,GAAG;AACL,QAAI,GAAG;AACL,aAAO;AAAA,IACb,OAAW;AACL,aAAO;AAAA,IACb;AAAA,EACG,WAAU,GAAG;AACZ,WAAO;AAAA,EACX,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,eAAe,GAAG,GAAG;AAC5B,MAAI,MAAM,GAAG;AACX,WAAO;AAAA,EACX,WAAa,IAAI,GAAG;AAChB,WAAO;AAAA,EACX,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,QAAQ,GAAG,GAAG;AACrB,MAAI,IAAI,GAAG;AACT,WAAO;AAAA,EACX,OAAS;AACL,WAAO;AAAA,EACX;AACA;ACtCA,IAAI,SAAS,SAAS,GAAG,GAAG;AAC1B,WAAS,KAAK,GAAG;AACf,MAAE,CAAC;AAAA,EACP;AACA;AAEA,SAAS,QAAQ,GAAG,GAAG;AACrB,MAAI,MAAM,GAAG;AACX,WAAO;AAAA,EACX;AACE,MAAIA,KAAI,OAAO;AACf,MAAI,IAAI,OAAO;AACf,UAAQA,IAAC;AAAA,IACR,KAAK;AACJ,UAAI,cAAc,GAAG;AACnB,eAAOC,aAAE,GAAG,CAAC;AAAA,MACnB;AACI;AAAA,IAED,KAAK;AACJ,UAAI,eAAe,GAAG;AACpB,cAAM;AAAA,UACJ,WAAW;AAAA,UACX,IAAI;AAAA,UACJ,OAAO,IAAI;AAAA,QACZ;AAAA,MACP;AACI;AAAA,IAED,KAAK;AACJ,UAAI,aAAa,GAAG;AAClB,eAAOC,YAAE,GAAG,CAAC;AAAA,MACnB;AACI;AAAA,IAED,KAAK;AACJ,UAAI,aAAa,GAAG;AAClB,eAAOC,eAAE,GAAG,CAAC;AAAA,MACnB,OAAW;AACL,eAAO;AAAA,MACb;AAAA,IAEG,KAAK;AACJ,aAAO;AAAA,EACX;AACE,UAAQ,GAAC;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IAER,KAAK;AACJ,aAAO;AAAA,IAER;AACC,UAAI,cAAcH,IAAG;AACnB,eAAO;AAAA,MACb;AACI,UAAI,cAAc,GAAG;AACnB,eAAO;AAAA,MACb;AACI,UAAI,eAAeA,IAAG;AACpB,eAAO;AAAA,MACb;AACI,UAAI,eAAe,GAAG;AACpB,eAAO;AAAA,MACb;AACI,UAAI,aAAaA,IAAG;AAClB,YAAI,SAAS,KAAK,WAAW,EAAE,6BAA6B;AAC1D,iBAAO;AAAA,QACf,OAAa;AACL,iBAAO;AAAA,QACf;AAAA,MACA;AACI,UAAI,aAAa,GAAG;AAClB,YAAI,SAAS,KAAK,WAAW,EAAE,6BAA6B;AAC1D,iBAAO;AAAA,QACf,OAAa;AACL,iBAAO;AAAA,QACf;AAAA,MACA;AACI,UAAI,SAAS,GAAG;AACd,YAAI,WAAW,EAAE,6BAA6B;AAC5C,iBAAO;AAAA,QACf,OAAa;AACL,iBAAO;AAAA,QACf;AAAA,MACA;AACI,UAAI,SAAS,GAAG;AACd,YAAI,WAAW,EAAE,6BAA6B;AAC5C,iBAAO;AAAA,QACf,OAAa;AACL,iBAAO;AAAA,QACf;AAAA,MACA;AACI,UAAI,WAAW,EAAE,6BAA6B;AAC5C,YAAI,WAAW,EAAE,6BAA6B;AAC5C,iBAAO,gBAAgB,GAAG,CAAC;AAAA,QACnC,OAAa;AACL,iBAAO;AAAA,QACf;AAAA,MACA;AACI,UAAI,IAAI,IAAI,EAAE;AACd,UAAI,IAAI,IAAI,EAAE;AACd,UAAI,QAAQ,GAAG;AACb,eAAOE,YAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,MACzB;AACI,UAAI,QAAQ,GAAG;AACb,cAAM;AAAA,UACJ,WAAW;AAAA,UACX,IAAI;AAAA,UACJ,OAAO,IAAI;AAAA,QACZ;AAAA,MACP;AACI,UAAI,MAAM,GAAG;AACX,YAAI,IAAI,GAAG;AACT,iBAAO;AAAA,QACf,OAAa;AACL,iBAAO;AAAA,QACf;AAAA,MACA;AACI,UAAI,IAAI,IAAI,EAAE;AACd,UAAI,IAAI,IAAI,EAAE;AACd,UAAI,MAAM,GAAG;AACX,YAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,cAAI,IAAI;AACR,iBAAO,GAAG;AACR,gBAAI,IAAI;AACR,gBAAI,MAAM,GAAG;AACX,qBAAO;AAAA,YACnB;AACU,gBAAI,IAAI,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1B,gBAAI,MAAM,GAAG;AACX,qBAAO;AAAA,YACnB;AACU,gBAAI,IAAI,IAAI;AAAA,UACtB;AAAA,QACO,WAAU,aAAa,QAAQ,aAAa,MAAM;AACjD,iBAAO,IAAI;AAAA,QACnB,OAAa;AACL,iBAAO,gBAAgB,GAAG,CAAC;AAAA,QACnC;AAAA,MACA,WAAe,IAAI,GAAG;AAChB,YAAI,IAAI;AACR,eAAO,GAAG;AACR,cAAI,IAAI;AACR,cAAI,MAAM,GAAG;AACX,mBAAO;AAAA,UACjB;AACQ,cAAI,IAAI,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1B,cAAI,MAAM,GAAG;AACX,mBAAO;AAAA,UACjB;AACQ,cAAI,IAAI,IAAI;AAAA,QACpB;AAAA,MACA,OAAW;AACL,YAAI,IAAI;AACR,eAAO,GAAG;AACR,cAAI,IAAI;AACR,cAAI,MAAM,GAAG;AACX,mBAAO;AAAA,UACjB;AACQ,cAAIE,KAAI,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1B,cAAI,MAAMA,IAAG;AACX,mBAAOA;AAAA,UACjB;AACQ,cAAI,IAAI,IAAI;AAAA,QACpB;AAAA,MACA;AAAA,EACA;AACA;AAEA,SAAS,gBAAgB,GAAG,GAAG;AAC7B,MAAI,IAAI;AAAA,IACN,UAAU;AAAA,EACX;AACD,MAAI,IAAI;AAAA,IACN,UAAU;AAAA,EACX;AACD,MAAI,SAAS,SAAS,GAAGF,IAAG;AAC1B,QAAID,KAAI,EAAE,CAAC;AACX,QAAII,KAAI,EAAE,CAAC;AACX,QAAI,OAAO,UAAU,eAAe,KAAKA,IAAGH,EAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAEA,EAAC,GAAGG,GAAEH,EAAC,CAAC,IAAI,IAAI;AAC/E;AAAA,IACN;AACI,QAAII,KAAIL,GAAE;AACV,QAAI,WAAWK,MAAKJ,MAAKI,IAAG;AAC1B;AAAA,IACN,OAAW;AACL,MAAAL,GAAE,WAAWC;AACb;AAAA,IACN;AAAA,EACG;AACD,MAAIF,KAAI,CAAE,GAAG,GAAG,CAAG;AACnB,MAAI,IAAI,CAAE,GAAG,GAAG,CAAG;AACnB,SAAO,GAAI,SAAS,GAAG;AACrB,WAAO,OAAOA,IAAG,CAAC;AAAA,EACtB,CAAK;AACH,SAAO,GAAI,SAAS,GAAG;AACrB,WAAO,OAAO,GAAG,CAAC;AAAA,EACtB,CAAK;AACH,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,EAAE;AACV,MAAI,WAAW,GAAG;AAChB,QAAI,WAAW,GAAG;AAChB,aAAOG,eAAE,GAAG,CAAC;AAAA,IACnB,OAAW;AACL,aAAO;AAAA,IACb;AAAA,EACA,WAAa,WAAW,GAAG;AACvB,WAAO;AAAA,EACX,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,MAAM,GAAG,GAAG;AACnB,MAAI,MAAM,GAAG;AACX,WAAO;AAAA,EACX;AACE,MAAI,IAAI,OAAO;AACf,MAAI,aAAa,KAAK,aAAa,KAAK,cAAc,KAAK,gBAAgB,KAAK,SAAS,GAAG;AAC1F,WAAO;AAAA,EACX;AACE,MAAI,IAAI,OAAO;AACf,MAAI,eAAe,KAAK,eAAe,GAAG;AACxC,UAAM;AAAA,MACJ,WAAW;AAAA,MACX,IAAI;AAAA,MACJ,OAAO,IAAI;AAAA,IACZ;AAAA,EACL;AACE,MAAI,aAAa,KAAK,gBAAgB,KAAK,SAAS,GAAG;AACrD,WAAO;AAAA,EACX;AACE,MAAI,IAAI,IAAI,EAAE;AACd,MAAIH,KAAI,IAAI,EAAE;AACd,MAAI,QAAQ,GAAG;AACb,WAAO,EAAE,CAAC,MAAM,EAAE,CAAC;AAAA,EACvB;AACE,MAAI,QAAQ,GAAG;AACb,UAAM;AAAA,MACJ,WAAW;AAAA,MACX,IAAI;AAAA,MACJ,OAAO,IAAI;AAAA,IACZ;AAAA,EACL;AACE,MAAI,MAAMA,IAAG;AACX,WAAO;AAAA,EACX;AACE,MAAI,IAAI,IAAI,EAAE;AACd,MAAI,OAAO,IAAI,EAAE,SAAS;AACxB,QAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,UAAI,IAAI;AACR,aAAO,GAAG;AACR,YAAI,IAAI;AACR,YAAI,MAAM,GAAG;AACX,iBAAO;AAAA,QACjB;AACQ,YAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG;AACtB,iBAAO;AAAA,QACjB;AACQ,YAAI,IAAI,IAAI;AAAA,MACpB;AAAA,IACK,WAAU,aAAa,QAAQ,aAAa,MAAM;AACjD,aAAO,EAAE,IAAI,KAAK,IAAI;AAAA,IAC5B,OAAW;AACL,UAAI,IAAI;AAAA,QACN,UAAU;AAAA,MACX;AACD,aAAO,GAAI,SAASG,IAAG;AACrB,YAAI,CAAC,OAAO,UAAU,eAAe,KAAK,GAAGA,EAAC,GAAG;AAC/C,YAAE,WAAW;AACb;AAAA,QACV;AAAA,MACA,CAAS;AACH,UAAI,EAAE,UAAU;AACd,eAAO,GAAI,SAASF,IAAG;AACrB,cAAI,CAAC,OAAO,UAAU,eAAe,KAAK,GAAGA,EAAC,KAAK,CAAC,MAAM,EAAEA,EAAC,GAAG,EAAEA,EAAC,CAAC,GAAG;AACrE,cAAE,WAAW;AACb;AAAA,UACZ;AAAA,QACA,CAAW;AAAA,MACX;AACM,aAAO,EAAE;AAAA,IACf;AAAA,EACA,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,SAAS,GAAG,GAAG;AACtB,SAAO,QAAQ,GAAG,CAAC,IAAI;AACzB;ACrSA,SAASM,OAAK,GAAG;AACf,MAAI,WAAW,GAAG;AAChB,WAAO;AAAA,MACL,6BAA6B;AAAA,IAC9B;AAAA,EACL,WAAa,SAAS,KAAK,WAAW,EAAE,6BAA6B;AACjE,WAAO;AAAA,MACL,6BAA6B,EAAE,8BAA8B,IAAI;AAAA,IAClE;AAAA,EACL,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,gBAAgB,GAAG;AAC1B,MAAI,QAAQ,GAAG;AACb;AAAA,EACJ,OAAS;AACL,WAAOA,OAAK,CAAC;AAAA,EACjB;AACA;AAkBA,SAAS,cAAc,GAAG;AACxB,MAAI,SAAS,KAAK,WAAW,EAAE,6BAA6B;AAC1D,WAAO;AAAA,EACX;AACE,MAAI,IAAI,EAAE;AACV,MAAI,MAAM,GAAG;AACX;AAAA,EACJ,OAAS;AACL,WAAO;AAAA,MACL,6BAA6B,IAAI,IAAI;AAAA,IACtC;AAAA,EACL;AACA;AC9CA,SAAS,UAAU,GAAG;AACpB,MAAI,IAAI,YAAY;AAClB,WAAO;AAAA,EACX,WAAa,IAAI,aAAa;AAC1B,WAAO;AAAA,EACX,OAAS;AACL,WAAO,KAAK,MAAM,CAAC;AAAA,EACvB;AACA;AAEA,SAAS,WAAW,GAAG,GAAG;AACxB,SAAO,UAAU,KAAK,YAAY,IAAI,IAAI,EAAE,IAAI,IAAI;AACtD;AAEA,SAASC,MAAI,GAAG,GAAG;AACjB,MAAI,KAAK,KAAK,IAAI,EAAE,QAAQ;AAC1B,WAAOP,OAAE,EAAE,CAAC,CAAC;AAAA,EACjB;AACA;AAEA,SAAS,OAAO,GAAG,GAAG;AACpB,MAAI,EAAY,IAAI,EAAE,SAAS;AAC7B,UAAM;AAAA,MACJ,WAAW;AAAA,MACX,IAAI,CAAE,iBAAiB,IAAI,CAAG;AAAA,MAC9B,OAAO,IAAI;AAAA,IACZ;AAAA,EACL;AACE,SAAO,EAAE,CAAC;AACZ;AAEA,SAAS,WAAW,GAAG,GAAG,GAAG;AAC3B,MAAI,IAAI,EAAE,CAAC;AACX,IAAE,CAAC,IAAI,EAAE,CAAC;AACV,IAAE,CAAC,IAAI;AACT;AAEA,SAAS,QAAQ,GAAG;AAClB,MAAI,IAAI,EAAE,MAAM,CAAC;AACjB,GAAC,SAAS,eAAeE,IAAG;AAC1B,QAAIF,KAAIE,GAAE;AACV,aAAS,IAAI,GAAG,IAAIF,IAAG,EAAE,GAAG;AAC1B,iBAAWE,IAAG,GAAG,WAAW,GAAGF,EAAC,CAAC;AAAA,IACvC;AAAA,EACG,EAAC,CAAC;AACH,SAAO;AACT;AAEA,SAAS,QAAQ,GAAG;AAClB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC;AAAA,EAChC;AACE,SAAO;AACT;AAEA,SAASQ,OAAK,GAAG,GAAG;AAClB,MAAI,KAAK,GAAG;AACV,WAAO,CAAE;AAAA,EACb;AACE,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI;AAAA,EACX;AACE,SAAO;AACT;AAEA,SAAS,QAAQ,GAAG,GAAG;AACrB,MAAI,KAAK,GAAG;AACV,WAAO,CAAE;AAAA,EACb;AACE,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,EAAE,CAAC;AAAA,EACd;AACE,SAAO;AACT;AAEA,SAASC,QAAM,GAAG,GAAG;AACnB,MAAI,IAAI,IAAI,IAAI;AAChB,MAAI,IAAI,GAAG;AACT,WAAO,CAAE;AAAA,EACb;AACE,MAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC;AAC3B,WAAS,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG;AAC3B,MAAE,CAAC,IAAI,IAAI,IAAI;AAAA,EACnB;AACE,SAAO;AACT;AAEA,SAASC,UAAQ,GAAG,GAAG,GAAG;AACxB,MAAI,IAAI,IAAI,IAAI;AAChB,MAAI,IAAI,KAAK,KAAK,GAAG;AACnB,WAAO,CAAE;AAAA,EACb;AACE,MAAI,IAAI,KAAK,IAAI,IAAI,KAAK;AAC1B,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI;AACP,QAAI,IAAI,IAAI;AAAA,EAChB;AACE,SAAO;AACT;AAEA,SAASC,MAAI,GAAG,GAAG;AACjB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,IAAI,IAAI;AACpB,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,CAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAG;AAAA,EACzB;AACE,SAAO;AACT;AAEA,SAAS,OAAO,GAAG,GAAG,GAAG;AACvB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,IAAI,IAAI;AACpB,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,EACvB;AACE,SAAO;AACT;AAEA,SAASC,SAAO,GAAG,GAAG;AACpB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC;AAC3B,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,EAAE,CAAC;AAAA,EACd;AACE,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;AAAA,EACtB;AACE,SAAO;AACT;AAEA,SAAS,WAAW,GAAG;AACrB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,QAAI,IAAI,EAAE,CAAC,EAAE,SAAS;AAAA,EAC1B;AACE,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,MAAI;AACJ,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,QAAI,IAAI,EAAE,CAAC;AACX,aAAS,IAAI,GAAGb,KAAI,EAAE,QAAQ,IAAIA,IAAG,EAAE,GAAG;AACxC,QAAE,CAAC,IAAI,EAAE,CAAC;AACV,UAAI,IAAI,IAAI;AAAA,IAClB;AAAA,EACA;AACE,SAAO;AACT;AAEA,SAASc,QAAM,GAAG,GAAG,GAAG;AACtB,MAAI,KAAK,GAAG;AACV,WAAO,CAAE;AAAA,EACb;AACE,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,IAAIX,QAAE,IAAI,IAAI,GAAG,CAAC,IAAI;AAClC,MAAI,IAAI,IAAI,IAAI;AAChB,MAAI,IAAI,IAAI,IAAI,IAAI;AACpB,MAAI,KAAK,GAAG;AACV,WAAO,CAAE;AAAA,EACb;AACE,MAAIH,KAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,IAAAA,GAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAAA,EACtB;AACE,SAAOA;AACT;AAEA,SAASe,aAAW,GAAG,GAAG;AACxB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,IAAIZ,QAAE,IAAI,IAAI,GAAG,CAAC,IAAI;AAClC,MAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AAC5B,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAAA,EACtB;AACE,SAAO;AACT;AAEA,SAAS,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG;AACjC,MAAI,KAAK,GAAG;AACV,aAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,QAAE,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAAA,IAChC;AACI;AAAA,EACJ;AACE,WAAS,IAAI,IAAI,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG;AACnC,MAAE,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;AAAA,EAC9B;AACA;AAEA,SAAS,SAAS,GAAG,GAAG;AACtB,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAI,GAAG,EAAE,GAAG;AACxC,MAAE,EAAE,CAAC,CAAC;AAAA,EACV;AACA;AAEA,SAAS,KAAK,GAAG,GAAG;AAClB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAA,EACjB;AACE,SAAO;AACT;AAEA,SAAS,OAAO,GAAG,GAAG;AACpB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI;AACR,MAAI;AACJ,SAAO,WAAW,KAAK,IAAI,GAAG;AAC5B,QAAI,IAAI,EAAE,CAAC;AACX,QAAI,EAAE,CAAC,GAAG;AACR,UAAIF,OAAE,CAAC;AAAA,IACb;AACI,QAAI,IAAI,IAAI;AAAA,EAChB;AACE,SAAO;AACT;AAEA,SAAS,YAAY,GAAG,GAAG;AACzB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI;AACR,MAAI;AACJ,SAAO,WAAW,KAAK,IAAI,GAAG;AAC5B,QAAI,EAAE,EAAE,CAAC,CAAC,GAAG;AACX,UAAI;AAAA,IACV;AACI,QAAI,IAAI,IAAI;AAAA,EAChB;AACE,SAAO;AACT;AAEA,SAAS,SAAS,GAAG,GAAG;AACtB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,QAAI,IAAI,EAAE,EAAE,CAAC,CAAC;AACd,QAAI,WAAW,GAAG;AAChB,QAAE,CAAC,IAAIK,cAAE,CAAC;AACV,UAAI,IAAI,IAAI;AAAA,IAClB;AAAA,EACA;AACE,IAAE,SAAS;AACX,SAAO;AACT;AAEA,SAAS,kBAAkB,GAAG,GAAG;AAC/B,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAI,GAAG,EAAE,GAAG;AACxC,MAAE,GAAG,EAAE,CAAC,CAAC;AAAA,EACb;AACA;AAEA,SAAS,cAAc,GAAG,GAAG;AAC3B,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,EACpB;AACE,SAAO;AACT;AAEA,SAAS,QAAQ,GAAG,GAAG,GAAG;AACxB,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAI,GAAG,EAAE,GAAG;AACxC,QAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,EACjB;AACE,SAAO;AACT;AAEA,SAAS,eAAe,GAAG,GAAG,GAAG;AAC/B,MAAI,IAAI;AACR,WAAS,IAAI,EAAE,SAAS,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG;AAC1C,QAAI,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,EACjB;AACE,SAAO;AACT;AAEA,SAAS,iBAAiB,GAAG,GAAG,GAAG;AACjC,MAAI,IAAI;AACR,WAAS,IAAI,GAAG,IAAI,EAAE,QAAQ,IAAI,GAAG,EAAE,GAAG;AACxC,QAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;AAAA,EACpB;AACE,SAAO;AACT;AAEA,SAAS,OAAO,GAAG,GAAG;AACpB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI;AACR,SAAO,GAAG;AACR,QAAI,IAAI;AACR,QAAI,MAAM,GAAG;AACX,aAAO;AAAA,IACb;AACI,QAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG;AACZ,aAAO;AAAA,IACb;AACI,QAAI,IAAI,IAAI;AAAA,EAChB;AACA;AAEA,SAAS,MAAM,GAAG,GAAG;AACnB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI;AACR,SAAO,GAAG;AACR,QAAI,IAAI;AACR,QAAI,MAAM,GAAG;AACX,aAAO;AAAA,IACb;AACI,QAAI,EAAE,EAAE,CAAC,CAAC,GAAG;AACX,aAAO;AAAA,IACb;AACI,QAAI,IAAI,IAAI;AAAA,EAChB;AACA;AAEA,SAAS,IAAI,GAAG,GAAG,GAAG;AACpB,MAAI,IAAI,EAAE;AACV,MAAI,MAAM,EAAE,QAAQ;AAClB,WAAO,SAAS,UAAUH,IAAGF,IAAGK,IAAGJ,IAAG,GAAG;AACvC,aAAO,GAAG;AACR,YAAI,IAAII;AACR,YAAI,MAAM,GAAG;AACX,iBAAO;AAAA,QACjB;AACQ,YAAI,CAACJ,GAAEC,GAAE,CAAC,GAAGF,GAAE,CAAC,CAAC,GAAG;AAClB,iBAAO;AAAA,QACjB;AACQ,QAAAK,KAAI,IAAI,IAAI;AAAA,MACpB;AAAA,IACK,EAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAAA,EACnB,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,WAAW,GAAG,GAAG;AACxB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI;AACR,MAAI,IAAI;AACR,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,QAAIN,KAAI,EAAE,CAAC;AACX,QAAI,EAAEA,EAAC,GAAG;AACR,QAAE,CAAC,IAAIA;AACP,UAAI,IAAI,IAAI;AAAA,IAClB,OAAW;AACL,QAAE,CAAC,IAAIA;AACP,UAAI,IAAI,IAAI;AAAA,IAClB;AAAA,EACA;AACE,IAAE,SAAS;AACX,IAAE,SAAS;AACX,SAAO,CAAE,GAAG,CAAG;AACjB;AAEA,SAAS,MAAM,GAAG;AAChB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,QAAI,IAAI,EAAE,CAAC;AACX,MAAE,CAAC,IAAI,EAAE,CAAC;AACV,MAAE,CAAC,IAAI,EAAE,CAAC;AAAA,EACd;AACE,SAAO,CAAE,GAAG,CAAG;AACjB;ACvXA,SAAS,MAAM,GAAG,GAAG,GAAG,GAAGA,IAAG,GAAG,GAAG,GAAG,GAAG;AACxC,MAAI,IAAI,IAAI,IAAI;AAChB,MAAI,IAAIA,KAAI,IAAI;AAChB,MAAI,IAAI;AACR,MAAI,IAAI,EAAE,CAAC;AACX,MAAI,IAAIA;AACR,MAAI,IAAI,EAAEA,EAAC;AACX,MAAI,IAAI;AACR,SAAO,GAAG;AACR,QAAI,IAAI;AACR,QAAI,IAAI;AACR,QAAI,IAAI;AACR,QAAI,IAAI;AACR,QAAI,IAAI;AACR,QAAI,EAAE,GAAG,CAAC,KAAK,GAAG;AAChB,QAAE,CAAC,IAAI;AACP,UAAI,IAAI,IAAI,IAAI;AAChB,UAAI,KAAK,GAAG;AACV,eAAOG,WAAE,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;AAAA,MAC9C;AACM,UAAI,IAAI,IAAI;AACZ,UAAI,EAAE,CAAC;AACP,UAAI;AACJ;AAAA,IACN;AACI,MAAE,CAAC,IAAI;AACP,QAAI,IAAI,IAAI,IAAI;AAChB,QAAI,KAAK,GAAG;AACV,aAAOA,WAAE,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC;AAAA,IAC5C;AACI,QAAI,IAAI,IAAI;AACZ,QAAI,EAAE,CAAC;AACP,QAAI;AAAA,EACR;AACA;AAEA,SAAS,cAAc,GAAG,GAAG,GAAG,GAAG,GAAGH,IAAG;AACvC,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,QAAI,IAAI,EAAE,IAAI,IAAI,CAAC;AACnB,QAAI,KAAK,IAAI,IAAI,KAAK,IAAI;AAC1B,WAAO,KAAK,KAAKA,GAAE,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG;AAC/B,QAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;AAClB,UAAI,IAAI,IAAI;AAAA,IAClB;AACI,MAAE,IAAI,IAAI,CAAC,IAAI;AAAA,EACnB;AACA;AAEA,SAAS,OAAO,GAAG,GAAG,GAAG,GAAG,GAAGA,IAAG;AAChC,MAAI,KAAK,GAAG;AACV,WAAO,cAAc,GAAG,GAAG,GAAG,GAAG,GAAGA,EAAC;AAAA,EACzC;AACE,MAAI,IAAI,IAAI,IAAI;AAChB,MAAI,IAAI,IAAI,IAAI;AAChB,SAAO,GAAG,IAAI,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,GAAGA,EAAC;AACvC,SAAO,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAGA,EAAC;AAC/B,QAAM,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,GAAG,GAAG,GAAGA,EAAC;AACjD;AAEA,SAAS,cAAc,GAAG,GAAG;AAC3B,MAAI,IAAI,EAAE,MAAM,CAAC;AACjB,GAAC,SAAS,qBAAqBC,IAAGI,IAAG;AACnC,QAAIF,KAAIF,GAAE;AACV,QAAIE,MAAK,GAAG;AACV,aAAO,cAAcF,IAAG,GAAGA,IAAG,GAAGE,IAAGE,EAAC;AAAA,IAC3C;AACI,QAAI,IAAIF,KAAI,IAAI;AAChB,QAAI,IAAIA,KAAI,IAAI;AAChB,QAAIH,KAAI,IAAI,MAAM,CAAC;AACnB,WAAOC,IAAG,GAAGD,IAAG,GAAG,GAAGK,EAAC;AACvB,WAAOJ,IAAG,GAAGA,IAAG,GAAG,GAAGI,EAAC;AACvB,UAAMJ,IAAG,GAAG,GAAGD,IAAG,GAAG,GAAGC,IAAG,GAAGI,EAAC;AAAA,EACnC,EAAI,GAAG,CAAC;AACN,SAAO;AACT;AAEA,SAAS,MAAM,GAAG,GAAG;AACnB,MAAI,KAAK,GAAG;AACV,WAAOJ,OAAE,EAAE,CAAC,CAAC;AAAA,EACjB;AACA;AAEG,IAAC,kBAAkB,SAAS,GAAG,GAAG;AACnC,SAAO,EAAE,CAAC;AACZ;AAEA,SAAS,OAAO,GAAG;AACjB,MAAI,IAAI,OAAO,KAAK,CAAC;AACrB,MAAI,IAAI,EAAE;AACV,MAAI,IAAI,IAAI,MAAM,CAAC;AACnB,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,MAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAAA,EACjB;AACE,SAAO;AACT;AAEA,SAAS,UAAU,GAAG;AACpB,MAAI,IAAI,CAAE;AACV,MAAI,IAAI,EAAE;AACV,WAAS,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG;AAC1B,QAAI,IAAI,EAAE,CAAC;AACX,MAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAAA,EACjB;AACE,SAAO;AACT;AAEA,SAAS,YAAY,GAAG;AAAA;AAExB,SAAS,UAAU,GAAG;AACpB,SAAO,CAAE;AACX;AAEA,IAAI,IAAIe;AAER,SAAS,gBAAgB;AACvB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,IAAI,IAAIC;AAER,SAAS,OAAO;AACd,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,IAAI,IAAIA;AAER,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,SAAS,OAAO,GAAG;AACjB,SAAO,EAAE;AACX;AAEA,SAAS,QAAQ,GAAG;AAClB,SAAO,MAAM,EAAE;AACjB;AAEA,SAAS,WAAW,GAAG;AACrB,SAAO,MAAM,EAAE;AACjB;AAEA,IAAI,IAAIf;AAER,SAAS,QAAQ,GAAG,GAAG;AACrB,SAAOgB,SAAE,GAAG,CAAE,EAAG;AACnB;AAEA,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,QAAQ,GAAG,EAAE,CAAC,CAAC;AAAA,IACvB;AAAA,EACL;AACE,SAAO,QAAQ,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3C;AAEA,SAAS,SAAS,GAAG,GAAG;AACtB,SAAOA,SAAE,CAAE,CAAG,GAAE,CAAC;AACnB;AAEA,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,SAAS,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,SAAS,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC5C;AAEA,SAAS,cAAc,GAAG,GAAG;AAC3B,SAAOC,QAAE,GAAG,CAAE,GAAG,SAASlB,IAAG,GAAG;AAC9B,WAAOiB,SAAEjB,IAAG,CAAE,GAAG,CAAC,CAAE;AAAA,EACxB,CAAK;AACL;AAEA,SAAS,eAAe;AACtB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,cAAc,GAAG,EAAE,CAAC,CAAC;AAAA,IAC7B;AAAA,EACL;AACE,SAAO,cAAc,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACjD;AAEA,SAAS,aAAa,GAAG,GAAG;AAC1B,SAAOmB,iBAAE,GAAG,CAAA,GAAK,SAAS,GAAG,GAAG,GAAG;AACjC,SAAK,EAAE,SAAS,IAAI,OAAO,GAAG;AAC5B,QAAE,KAAK,CAAC;AAAA,IACd,OAAW;AACL,QAAE,KAAK,GAAG,CAAC;AAAA,IACjB;AACI,WAAO;AAAA,EACX,CAAK;AACL;AAEA,SAAS,cAAc;AACrB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,aAAa,GAAG,EAAE,CAAC,CAAC;AAAA,IAC5B;AAAA,EACL;AACE,SAAO,aAAa,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAChD;AAEA,IAAI,IAAIC;AAER,SAAS,MAAM;AACb,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,IAAI,IAAIA;AAER,SAAS,KAAK;AACZ,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,SAAS,WAAW,GAAG,GAAG;AACxB,SAAO,EAAE,CAAC;AACZ;AAEA,SAAS,YAAY;AACnB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,WAAW,GAAG,EAAE,CAAC,CAAC;AAAA,IAC1B;AAAA,EACL;AACE,SAAO,WAAW,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9C;AAEA,SAAS,cAAc,GAAG,GAAG;AAC3B,SAAO,EAAE,CAAC;AACZ;AAEA,SAAS,eAAe;AACtB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,cAAc,GAAG,EAAE,CAAC,CAAC;AAAA,IAC7B;AAAA,EACL;AACE,SAAO,cAAc,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACjD;AAEA,IAAI,IAAIC;AAER,SAAS,QAAQ;AACf,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,IAAI,IAAIA;AAER,SAAS,OAAO;AACd,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,SAAS,KAAK,GAAG;AACf,SAAOD,MAAE,GAAG,CAAC;AACf;AAEA,SAAS,KAAK,GAAG;AACf,MAAI,IAAI,EAAE;AACV,MAAI,MAAM,GAAG;AACX;AAAA,EACJ,OAAS;AACL,WAAOA,MAAE,GAAG,IAAI,IAAI,CAAC;AAAA,EACzB;AACA;AAEA,SAAS,KAAK,GAAG;AACf,MAAI,IAAI,EAAE;AACV,MAAI,MAAM,GAAG;AACX,WAAO,CAAE;AAAA,EACb;AACE,MAAI,MAAM,GAAG;AACX;AAAA,EACJ;AACE,MAAI,IAAIrB,aAAE,GAAG,CAAC;AACd,MAAI,MAAM,EAAE,QAAQ;AAClB,WAAO;AAAA,EACX;AACA;AAEA,SAAS,YAAY,GAAG;AACtB,MAAI,IAAI,KAAK,CAAC;AACd,MAAI,WAAW,GAAG;AAChB,WAAO;AAAA,EACX,OAAS;AACL,WAAO,CAAE;AAAA,EACb;AACA;AAEA,SAAS,KAAK,GAAG;AACf,MAAI,IAAI,EAAE;AACV,MAAI,MAAM,GAAG;AACX;AAAA,EACJ,OAAS;AACL,WAAOuB,QAAE,GAAG,GAAG,IAAI,IAAI,CAAC;AAAA,EAC5B;AACA;AAEA,SAAS,YAAY,GAAG;AACtB,MAAI,IAAI,KAAK,CAAC;AACd,MAAI,WAAW,GAAG;AAChB,WAAO;AAAA,EACX,OAAS;AACL,WAAO,CAAE;AAAA,EACb;AACA;AAEA,SAAS,MAAM,GAAG,GAAG;AACnB,MAAI,IAAI,EAAE;AACV,SAAOA,QAAE,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC;AAC1C;AAEA,SAAS,OAAO;AACd,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACrB;AAAA,EACL;AACE,SAAO,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACzC;AAEA,SAAS,aAAa,GAAG,GAAG;AAC1B,MAAI,IAAI,KAAK,IAAI,EAAE,QAAQ;AACzB;AAAA,EACJ,OAAS;AACL,WAAOA,QAAE,GAAG,GAAG,CAAC;AAAA,EACpB;AACA;AAEA,SAAS,cAAc;AACrB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,aAAa,GAAG,EAAE,CAAC,CAAC;AAAA,IAC5B;AAAA,EACL;AACE,SAAO,aAAa,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAChD;AAEA,SAAS,WAAW,GAAG,GAAG;AACxB,MAAI,IAAI;AACR,MAAI,IAAI;AACR,MAAI,IAAI,CAAE;AACV,SAAO,IAAI,EAAE,UAAU,CAAC,GAAG;AACzB,QAAIvB,KAAI,EAAE,CAAC;AACX,QAAI,EAAEA,EAAC,GAAG;AACR,QAAE,KAAKA,EAAC;AACR,UAAI,IAAI,IAAI;AAAA,IAClB,OAAW;AACL,UAAI;AAAA,IACV;AAAA,EACA;AACE,SAAO;AACT;AAEA,SAAS,YAAY;AACnB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,WAAW,GAAG,EAAE,CAAC,CAAC;AAAA,IAC1B;AAAA,EACL;AACE,SAAO,WAAW,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9C;AAEA,SAAS,MAAM,GAAG,GAAG;AACnB,MAAI,IAAI,EAAE;AACV,SAAOA,aAAE,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC;AACvC;AAEA,SAAS,OAAO;AACd,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACrB;AAAA,EACL;AACE,SAAO,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACzC;AAEA,SAAS,aAAa,GAAG,GAAG;AAC1B,MAAI,IAAI,KAAK,IAAI,EAAE,QAAQ;AACzB;AAAA,EACJ,OAAS;AACL,WAAOA,aAAE,GAAG,CAAC;AAAA,EACjB;AACA;AAEA,SAAS,cAAc;AACrB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,aAAa,GAAG,EAAE,CAAC,CAAC;AAAA,IAC5B;AAAA,EACL;AACE,SAAO,aAAa,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAChD;AAEA,SAAS,WAAW,GAAG,GAAG;AACxB,SAAOmB,QAAE,GAAG,CAAE,GAAG,SAASlB,IAAG,GAAG;AAC9B,QAAI,CAAC,EAAE,CAAC,GAAG;AACT,MAAAA,GAAE,KAAK,CAAC;AAAA,IACd;AACI,WAAOA;AAAA,EACX,CAAK;AACL;AAEA,SAAS,YAAY;AACnB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,WAAW,GAAG,EAAE,CAAC,CAAC;AAAA,IAC1B;AAAA,EACL;AACE,SAAO,WAAW,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC9C;AAEA,SAAS,OAAO,GAAG;AACjB,MAAI,MAAM,EAAE,QAAQ;AAClB,WAAO,CAAEK,OAAE,GAAG,CAAC,GAAGN,aAAE,GAAG,CAAC,CAAG;AAAA,EAC/B;AACA;AAEA,SAAS,KAAK,GAAG,GAAG;AAClB,SAAOwB,KAAE,GAAG,CAAC;AACf;AAEA,SAAS,MAAM;AACb,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,KAAK,GAAG,EAAE,CAAC,CAAC;AAAA,IACpB;AAAA,EACL;AACE,SAAO,KAAK,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACxC;AAEA,IAAI,IAAIC;AAER,SAAS,eAAe;AACtB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,SAAS,QAAQ,GAAG,GAAG;AACrB,MAAI,IAAI;AACR,MAAI,IAAI,CAAE;AACV,SAAO,IAAI,EAAE,QAAQ;AACnB,QAAI,IAAI,EAAE,CAAC;AACX,QAAI,EAAE,CAAC,GAAG;AACR,QAAE,KAAK,CAAC;AAAA,IACd;AACI,QAAI,IAAI,IAAI;AAAA,EAChB;AACE,SAAO;AACT;AAEA,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,QAAQ,GAAG,EAAE,CAAC,CAAC;AAAA,IACvB;AAAA,EACL;AACE,SAAO,QAAQ,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3C;AAEA,IAAI,IAAI;AAER,SAAS,iBAAiB,GAAG,GAAG;AAC9B,MAAI,IAAI;AACR,MAAI,IAAI,CAAE;AACV,SAAO,IAAI,EAAE,QAAQ;AACnB,QAAI,IAAI,EAAE,CAAC;AACX,QAAI,EAAE,GAAG,CAAC,GAAG;AACX,QAAE,KAAK,CAAC;AAAA,IACd;AACI,QAAI,IAAI,IAAI;AAAA,EAChB;AACE,SAAO;AACT;AAEA,SAAS,kBAAkB;AACzB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,iBAAiB,GAAG,EAAE,CAAC,CAAC;AAAA,IAChC;AAAA,EACL;AACE,SAAO,iBAAiB,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACpD;AAEA,IAAI,IAAI;AAER,SAAS,QAAQ,GAAG,GAAG;AACrB,SAAO,OAAO,GAAI,SAASxB,IAAG;AAC5B,WAAO,CAAC,EAAEA,EAAC;AAAA,EACf,CAAK;AACL;AAEA,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,QAAQ,GAAG,EAAE,CAAC,CAAC;AAAA,IACvB;AAAA,EACL;AACE,SAAO,QAAQ,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3C;AAEA,SAAS,iBAAiB,GAAG,GAAG;AAC9B,SAAO,gBAAgB,GAAI,SAASA,IAAG,GAAG;AACxC,WAAO,CAAC,EAAEA,IAAG,CAAC;AAAA,EAClB,CAAK;AACL;AAEA,SAAS,kBAAkB;AACzB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,iBAAiB,GAAG,EAAE,CAAC,CAAC;AAAA,IAChC;AAAA,EACL;AACE,SAAO,iBAAiB,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACpD;AAEA,IAAI,IAAIkB;AAER,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACvB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACnD;AAEA,IAAI,IAAIO;AAER,SAAS,gBAAgB;AACvB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACvB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACnD;AAEA,IAAI,IAAIN;AAER,SAAS,kBAAkB;AACzB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACvB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACnD;AAEA,SAAS,SAAS,GAAG,GAAG;AACtB,MAAI,IAAI,KAAK,IAAI,EAAE,QAAQ;AACzB;AAAA,EACJ,OAAS;AACL,WAAO,CAAEG,QAAE,GAAG,GAAG,CAAC,GAAGvB,aAAE,GAAG,CAAC,CAAG;AAAA,EAClC;AACA;AAEA,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,SAAS,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,SAAS,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC5C;AAEA,SAAS,YAAY,GAAG,GAAG;AACzB,MAAI,IAAI,KAAK,EAAE,UAAU,GAAG;AAC1B,WAAO,CAAE,CAAG;AAAA,EAChB;AACE,MAAI,IAAI;AACR,MAAI,IAAI,CAAE;AACV,SAAO,IAAI,EAAE,QAAQ;AACnB,QAAI,IAAI,IAAI,IAAI;AAChB,MAAE,KAAKuB,QAAE,GAAG,GAAG,CAAC,CAAC;AACjB,QAAI;AAAA,EACR;AACE,SAAO;AACT;AAEA,SAAS,aAAa;AACpB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,YAAY,GAAG,EAAE,CAAC,CAAC;AAAA,IAC3B;AAAA,EACL;AACE,SAAO,YAAY,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC/C;AAEA,IAAI,IAAII;AAER,IAAI,IAAIC;AAER,SAAS,YAAY;AACnB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,IAAI,IAAIV;AAER,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,IAAI,IAAIW;AAER,IAAI,IAAIC;AAER,SAAS,QAAQ;AACf,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAAA,IACjB;AAAA,EACL;AACE,SAAO,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACrC;AAEA,IAAI,KAAKC;AAET,SAAS,OAAO;AACd,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,IAAI,KAAKR;AAET,SAAS,QAAQ;AACf,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACpD;AAEA,IAAI,KAAKvB;AAET,SAAS,aAAa;AACpB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,IAAI,KAAKgC;AAET,SAAS,KAAK;AACZ,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACpD;AAEA,IAAI,KAAKC;AAET,SAAS,QAAQ;AACf,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,IAAI,KAAKC;AAET,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACpD;AAEA,SAAS,KAAK,GAAG;AACf,SAAO,EAAE,MAAM,CAAC;AAClB;AAEA,IAAI,KAAKC;AAET,SAAS,MAAM;AACb,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,IAAI,KAAKC;AAET,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACpD;AAEA,IAAI,KAAKC;AAET,SAAS,WAAW,GAAG,GAAG,GAAG;AAC3B,SAAOZ,cAAE,GAAI,SAASxB,IAAG,GAAG;AAC1B,QAAIA,OAAM,GAAG;AACX,aAAO;AAAA,IACb,OAAW;AACL,aAAO;AAAA,IACb;AAAA,EACA,CAAK;AACL;AAEA,SAAS,YAAY;AACnB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,WAAW,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IAChC;AAAA,EACL;AACE,SAAO,WAAW,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC5D;AAEA,SAAS,UAAU,GAAG,GAAG,GAAG;AAC1B,MAAI,IAAI,QAAQ,GAAG,CAAC;AACpB,MAAI,WAAW,GAAG;AAChB,WAAOiB,SAAE,EAAE,CAAC,GAAGA,SAAE,CAAE,IAAK,EAAE,CAAC,CAAC,CAAC;AAAA,EACjC,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,WAAW;AAClB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,UAAU,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IAC/B;AAAA,EACL;AACE,SAAO,UAAU,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3D;AAEA,SAAS,UAAU,GAAG,GAAG,GAAG;AAC1B,SAAOO,cAAE,GAAI,SAASxB,IAAG,GAAG;AAC1B,QAAIA,OAAM,GAAG;AACX,aAAO,EAAE,CAAC;AAAA,IAChB,OAAW;AACL,aAAO;AAAA,IACb;AAAA,EACA,CAAK;AACL;AAEA,SAAS,WAAW;AAClB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,UAAU,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IAC/B;AAAA,EACL;AACE,SAAO,UAAU,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3D;AAEA,SAAS,QAAQ,GAAG,GAAG,GAAG;AACxB,MAAID,KAAIqB,MAAE,GAAG,CAAC;AACd,MAAI,IAAIA,MAAE,GAAG,CAAC;AACd,MAAI,WAAWrB,IAAG;AAChB,WAAO;AAAA,EACX;AACE,MAAI,WAAW,GAAG;AAChB,WAAO;AAAA,EACX;AACE,MAAI,IAAIK,cAAE,CAAC;AACX,MAAI,IAAIA,cAAEL,EAAC;AACX,SAAOyB,cAAE,GAAI,SAASxB,IAAG,GAAG;AAC1B,QAAI,MAAMA,IAAG;AACX,aAAO;AAAA,IACb,WAAe,MAAMA,IAAG;AAClB,aAAO;AAAA,IACb,OAAW;AACL,aAAO;AAAA,IACb;AAAA,EACA,CAAK;AACL;AAEA,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,QAAQ,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IAC7B;AAAA,EACL;AACE,SAAO,QAAQ,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACzD;AAEA,SAAS,UAAU,GAAG,GAAG;AACvB,SAAO,gBAAgB,GAAI,SAASA,IAAG,GAAG;AACxC,WAAOA,OAAM;AAAA,EACjB,CAAK;AACL;AAEA,SAAS,WAAW;AAClB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,UAAU,GAAG,EAAE,CAAC,CAAC;AAAA,IACzB;AAAA,EACL;AACE,SAAO,UAAU,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC7C;AAEA,SAAS,QAAQ,GAAG,GAAG;AACrB,MAAI,IAAI;AACR,MAAI,IAAI,CAAE;AACV,SAAO,IAAI,EAAE,QAAQ;AACnB,QAAI,IAAI,EAAE,CAAC;AACX,QAAID,KAAI+B,MAAE,GAAG,yBAAS9B,IAAG;AACvB,aAAO,SAASE,IAAG;AACjB,eAAOmC,MAAE,EAAEnC,EAAC,GAAG,EAAEF,EAAC,CAAC;AAAA,MACpB;AAAA,IACF,EAAC,CAAC,CAAC;AACJ,QAAI,CAACD,IAAG;AACN,QAAE,KAAK,CAAC;AAAA,IACd;AACI,QAAI,IAAI,IAAI;AAAA,EAChB;AACE,SAAO;AACT;AAEA,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,QAAQ,GAAG,EAAE,CAAC,CAAC;AAAA,IACvB;AAAA,EACL;AACE,SAAO,QAAQ,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3C;AAEA,SAAS,KAAK,GAAG;AACf,SAAO,OAAO,GAAI,SAASC,IAAG;AAC5B,WAAOA;AAAA,EACX,CAAK;AACL;AAEA,IAAI,KAAKsC;AAET,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,IAAI,KAAKC;AAET,SAAS,mBAAmB;AAC1B,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,IAAI,KAAKC;AAET,SAAS,aAAa;AACpB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,SAAS,UAAU,GAAG,GAAG;AACvB,SAAOV,MAAE,GAAI,SAAS9B,IAAG;AACvB,WAAOqC,MAAErC,IAAG,CAAC;AAAA,EACjB,CAAK;AACL;AAEA,SAAS,WAAW;AAClB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,UAAU,GAAG,EAAE,CAAC,CAAC;AAAA,IACzB;AAAA,EACL;AACE,SAAO,UAAU,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC7C;AAEA,SAAS,MAAM,GAAG,GAAG;AACnB,SAAO,EAAE,KAAK,CAAC;AACjB;AAEA,SAAS,OAAO;AACd,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,MAAM,GAAG,EAAE,CAAC,CAAC;AAAA,IACrB;AAAA,EACL;AACE,SAAO,MAAM,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACzC;AAEA,IAAI,KAAK;AAET,SAAS,OAAO;AACd,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,SAAS,QAAQ,GAAG,GAAG;AACrB,SAAO,cAAc,GAAI,SAASA,IAAG,GAAG;AACtC,QAAI,IAAI,EAAEA,EAAC;AACX,QAAI,IAAI,EAAE,CAAC;AACX,QAAI,MAAM,GAAG;AACX,aAAO;AAAA,IACR,WAAUyC,SAAE,GAAG,CAAC,GAAG;AAClB,aAAO;AAAA,IACb,OAAW;AACL,aAAO;AAAA,IACb;AAAA,EACA,CAAK;AACL;AAEA,SAAS,SAAS;AAChB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,QAAQ,GAAG,EAAE,CAAC,CAAC;AAAA,IACvB;AAAA,EACL;AACE,SAAO,QAAQ,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC3C;AAEA,SAAS,SAAS,GAAG,GAAG;AACtB,SAAOvB,QAAE,GAAG,CAAE,GAAG,SAASlB,IAAG,GAAG;AAC9B,QAAI,IAAI,EAAE,CAAC;AACX,QAAI,IAAI,MAAMA,IAAG,CAAC;AAClB,QAAI,WAAW,GAAG;AAChB,QAAE,KAAK,CAAC;AAAA,IACd,OAAW;AACL,MAAAA,GAAE,CAAC,IAAI,CAAE,CAAG;AAAA,IAClB;AACI,WAAOA;AAAA,EACX,CAAK;AACL;AAEA,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,SAAS,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,SAAS,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC5C;AAEA,SAAS,KAAK,GAAG;AACf,SAAOkB,QAAE,GAAG,CAAE,GAAG,SAASlB,IAAG,GAAG;AAC9B,QAAI,MAAM,QAAQ,CAAC,GAAG;AACpBsC,eAAE,GAAI,SAASlC,IAAG;AAChB,QAAAJ,GAAE,KAAKI,EAAC;AAAA,MAChB,CAAS;AAAA,IACT,OAAW;AACL,MAAAJ,GAAE,KAAK,CAAC;AAAA,IACd;AACI,WAAOA;AAAA,EACX,CAAK;AACL;AAEA,SAAS,SAAS,GAAG,GAAG;AACtB,MAAI,IAAI;AACR,SAAO,IAAI,EAAE,QAAQ;AACnB,QAAI,IAAI,EAAE,CAAC;AACX,QAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,cAAQ,GAAG,CAAC;AAAA,IAClB,OAAW;AACL,QAAE,KAAK,CAAC;AAAA,IACd;AACI,QAAI,IAAI,IAAI;AAAA,EAChB;AACE,SAAO;AACT;AAEA,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,SAAS,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,SAAS,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC5C;AAEA,SAAS,SAAS,GAAG;AACnB,SAAO,QAAQ,GAAG,EAAE;AACtB;AAEA,SAAS,QAAQ,GAAG;AAClB,SAAO;AACT;AAEA,SAAS,KAAK,GAAG,GAAG;AAClBsC,WAAE,GAAG,CAAC;AACN,SAAO;AACT;AAEA,SAAS,MAAM;AACb,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,KAAK,GAAG,EAAE,CAAC,CAAC;AAAA,IACpB;AAAA,EACL;AACE,SAAO,KAAK,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACxC;AAEA,SAAS,KAAK,GAAG;AACf,SAAO,CAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAG;AACvB;AAEA,IAAI,KAAKI;AAET,SAAS,YAAY;AACnB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,IAAI,KAAKA;AAET,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,GAAG,GAAG,EAAE,CAAC,CAAC;AAAA,IAClB;AAAA,EACL;AACE,SAAO,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACtC;AAEA,SAAS,eAAe,GAAG,GAAG,GAAG;AAC/B,SAAOxB,QAAE,GAAG,CAAE,OAAI,CAAA,IAAO,SAASlB,IAAG,GAAG;AACtC,QAAI,IAAIA,GAAE,CAAC;AACX,QAAIA,GAAE,CAAC,GAAG;AACR,QAAE,KAAK,CAAC;AACR,aAAO,CAAE,MAAI,CAAG;AAAA,IACjB,WAAU,EAAE,GAAG,CAAC,GAAG;AAClB,aAAO,CAAE,MAAI,CAAG;AAAA,IACtB,OAAW;AACL,QAAE,KAAK,CAAC;AACR,aAAO,CAAE,OAAI,CAAG;AAAA,IACtB;AAAA,EACG,CAAA,EAAG,CAAC;AACP;AAEA,SAAS,gBAAgB;AACvB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,eAAe,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAAA,IACpC;AAAA,EACL;AACE,SAAO,eAAe,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAChE;AAEA,SAAS,aAAa,GAAG,GAAG;AAC1B,SAAO,cAAc,GAAG,GAAGqC,KAAC;AAC9B;AAEA,SAAS,cAAc;AACrB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,aAAa,GAAG,EAAE,CAAC,CAAC;AAAA,IAC5B;AAAA,EACL;AACE,SAAO,aAAa,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAChD;AAEA,SAAS,aAAa,GAAG;AACvB,SAAOlB,iBAAE,GAAG,CAAA,GAAK,SAASnB,IAAG,GAAG,GAAG;AACjC,IAAAA,GAAE,KAAK,CAAE,GAAG,CAAC,CAAE;AACf,WAAOA;AAAA,EACX,CAAK;AACL;AAEA,SAAS,KAAK,GAAG,GAAG;AAClB,SAAO6B,OAAE,GAAG,CAAC;AACf;AAEA,SAAS,MAAM;AACb,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,KAAK,GAAG,EAAE,CAAC,CAAC;AAAA,IACpB;AAAA,EACL;AACE,SAAO,KAAK,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACxC;AAEA,SAAS,KAAK,GAAG,GAAG;AAClB,SAAOC,MAAE,GAAG,CAAC;AACf;AAEA,SAAS,MAAM;AACb,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,KAAK,GAAG,EAAE,CAAC,CAAC;AAAA,IACpB;AAAA,EACL;AACE,SAAO,KAAK,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACxC;AAEA,SAAS,YAAY,GAAG,GAAG;AACzB,SAAO,OAAO,OAAO,GAAI,SAAS9B,IAAG;AACnC,WAAOA;AAAA,EACX,CAAK,GAAG,SAASA,IAAG;AAChB,WAAO,SAAS,GAAGA,EAAC;AAAA,EACxB,CAAK;AACL;AAEA,SAAS,aAAa;AACpB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,YAAY,GAAG,EAAE,CAAC,CAAC;AAAA,IAC3B;AAAA,EACL;AACE,SAAO,YAAY,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC/C;AAEA,SAAS,OAAO,GAAG,GAAG;AACpB,SAAO,OAAOiB,SAAE,GAAG,CAAC,GAAI,SAASjB,IAAG;AAClC,WAAOA;AAAA,EACX,CAAK;AACL;AAEA,SAAS,QAAQ;AACf,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,OAAO,GAAG,EAAE,CAAC,CAAC;AAAA,IACtB;AAAA,EACL;AACE,SAAO,OAAO,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC1C;AAEA,SAAS,cAAc,GAAG,GAAG;AAC3B,MAAI,IAAI,EAAE,SAAS,EAAE,SAAS,CAAE,GAAG,CAAC,IAAK,CAAE,GAAG,CAAG;AACjD,MAAI,IAAI,EAAE,CAAC;AACX,SAAO,OAAO,OAAO,EAAE,CAAC,GAAI,SAASA,IAAG;AACtC,WAAO,SAAS,GAAGA,EAAC;AAAA,EACxB,CAAK,GAAG,SAASA,IAAG;AAChB,WAAOA;AAAA,EACX,CAAK;AACL;AAEA,SAAS,eAAe;AACtB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,cAAc,GAAG,EAAE,CAAC,CAAC;AAAA,IAC7B;AAAA,EACL;AACE,SAAO,cAAc,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACjD;AAEA,SAAS,OAAO,GAAG;AACjB,SAAO,EAAE2C,WAAE,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC;AACjC;AAEA,SAAS,SAAS,GAAG,GAAG;AACtB,SAAO,KAAKpB,KAAE,GAAG,CAAC,CAAC;AACrB;AAEA,SAAS,UAAU;AACjB,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAM,IAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,SAAS,GAAG,EAAE,CAAC,CAAC;AAAA,IACxB;AAAA,EACL;AACE,SAAO,SAAS,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC5C;ACxxCG,IAAC,KAAK;AAAA,EACP,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAASL;AAAAA,EACT;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,MAAM0B;AAAAA,EACN;AAAA,EACA,eAAeC;AAAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAASC;AAAAA,EACT;AAAA,EACA;AAAA,EACA,YAAYC;AAAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAOC;AAAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;ACjGA,SAAS,IAAIjD,IAAG,GAAG;AACjB,SAAO,OAAOA,OAAM;AACtB;AAEA,SAAS,KAAK;AACZ,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAMA,KAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,IAAI,GAAGA,GAAE,CAAC,CAAC;AAAA,IACnB;AAAA,EACL;AACE,SAAO,IAAI,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AACvC;AAEA,SAAS,SAASA,IAAG;AACnB,SAAO,YAAY,OAAOA;AAC5B;AAEA,SAAS,SAASA,IAAG;AACnB,MAAI,YAAY,OAAOA,IAAG;AACxB,WAAO,CAAC,OAAO,MAAMA,EAAC;AAAA,EAC1B,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,UAAUA,IAAG;AACpB,SAAO,aAAa,OAAOA;AAC7B;AAEA,IAAI,YAAY,CAAAA,OAAKA,cAAa;AAElC,SAAS,QAAQA,IAAG;AAClB,SAAO,MAAM,QAAQA,EAAC;AACxB;AAEA,SAAS,SAASA,IAAG;AACnB,MAAIA,MAAK,CAAC,MAAM,QAAQA,EAAC,GAAG;AAC1B,WAAO,YAAY,OAAOA;AAAA,EAC9B,OAAS;AACL,WAAO;AAAA,EACX;AACA;AAEA,SAAS,WAAWA,IAAG;AACrB,SAAO,cAAc,OAAOA;AAC9B;AAEA,IAAI,UAAU,CAAAA,OAAKA,cAAa;AAEhC,IAAI,SAAS,CAAAA,OAAKA,cAAa;AAE/B,SAAS,WAAWA,IAAG;AACrB,SAAO,QAAQA;AACjB;AAEA,SAAS,cAAcA,IAAG;AACxB,SAAO,EAAE,QAAQA;AACnB;AAEA,IAAI,SAAS,CAAAA,OAAK,SAASA;AAE3B,IAAI,cAAc,CAAAA,OAAK,WAAWA;AAElC,SAAS,OAAOA,IAAG,GAAG;AACpB,SAAO,CAAC,EAAEA,EAAC;AACb;AAEA,SAAS,QAAQ;AACf,MAAI,MAAM,UAAU,QAAQ;AAC1B,UAAMA,KAAI;AACV,WAAO,SAAS,GAAG,GAAG;AACpB,aAAO,OAAO,GAAGA,GAAE,CAAC,CAAC;AAAA,IACtB;AAAA,EACL;AACE,SAAO,OAAO,UAAU,CAAC,GAAG,UAAU,CAAC,CAAC;AAC1C;AAEA,IAAI,IAAI;AAAA,EACN,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AC9FO,MAAM,WAAW,CAAC,MAAM;AC2ClB,MAAA,+BACX,CAAC,WAA0B,CAA8B,cACvD,OAEG,OAAO,MAAM,OAAO,cAAiB,SAAS,CAAC,EAE/C,QAAQ,CAAK,MAAA,gBAAgB,wBAAwB,SAAS,CAAC,CAAC,EAEhE;AAAA,EAAM,CAAC,MACNkD,EAAE,cAAc,CAAC,IAAIC,MAAM,CAAC,IAAIC,KAAK,gBAAgB,4BAA4B,SAAS,CAAC,CAAC;AAC9F;AAEC,MAAM,gCACX,CAAC,WAA0B,CAA8B,cACvD,OAEG,OAAO,MAAM,KAAK,OAAO,iBAAoB,SAAS,GAAG,MAAM,IAAO,CAAC,EAEvE,QAAQ,CAAK,MAAA,gBAAgB,wBAAwB,SAAS,CAAC,CAAC,EAEhE,MAAM,CAAC,MAAgB1B,GAAE,QAAQ,CAAC,IAAI0B,KAAK,gBAAgB,4BAA4B,SAAS,CAAC,CAAC,IAAID,MAAM,CAAC,CAAC;AAiB9G,MAAM,wBAAwB,CAA8B,oBACjE,gBAAgB,OAAO;AAAA,EACrB,MAAM;AAAA,EACN,OAAO;AACT,CAAC;AAEI,MAAM,yBAAyB,CACpC,qBAEA,iBAAiB,OAAO;AAAA,EACtB,MAAM;AAAA,EACN,OAAO;AACT,CAAC;AAEI,MAAM,sBAAsB,CAAwB,YAAe,CAAC,cAAsB;AAC/F,UAAQ,YAAY;AACb,SAAA;AACT;AAGa,MAAA,OAAO,CAAC,YAAkC,SACrD;AAAA,EACE,SAAS,cAAc,UAAU;AAAA,EACjC,cACE,oBAAoB,QAAQ,EAAE,KAAK,OAAO,CAAC,MAAM,OAAOnD,OAAM,OAAO,QAAQ,QAAQA,KAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAAA,EAC1G,cAAY,SAAS;AACvB;AASK,MAAM,0BAA0B,CAAC,QACtC,MACG,aAAa,eAAe,QAAQ,GAAG,CAAC,EACxC,SAAS,wBAAwB,OAAO,GAAG,uCAAuC,CAAC;AAQ3E,MAAA,kBAAkB,CAAC,WAC9B,OAAO,OAAO,MAAM,KAAK,MAAM,MAAM,CAAC;","x_google_ignoreList":[0,1,2,3,4,5,6,7]} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/erreurs.js b/web/app/themes/haiku-atelier-2024/assets/js/erreurs.js index 98baacc0..b2dae12c 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/erreurs.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/erreurs.js @@ -72,6 +72,7 @@ const reporteEtLeveErreur = (erreur) => { export { CleNonTrouveError as C, ErreurInconnue as E, + ServerError as S, leveErreur as a, leveBadRequestError as b, leveUnauthorizedError as c, diff --git a/web/app/themes/haiku-atelier-2024/assets/js/erreurs2.js b/web/app/themes/haiku-atelier-2024/assets/js/erreurs2.js index e35f5460..a609c637 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/erreurs2.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/erreurs2.js @@ -1,4 +1,4 @@ -import { l as is, o as object, n as number, s as string } from "./index.CXGAS3st.js"; +import { l as is, o as object, n as number, s as string } from "./index.DeCaB8sW.js"; const WCErrorBodySchema = object({ code: string(), data: object({ diff --git a/web/app/themes/haiku-atelier-2024/assets/js/gaffe.js b/web/app/themes/haiku-atelier-2024/assets/js/gaffe.js index 018d3718..65564ffb 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/gaffe.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/gaffe.js @@ -1,4 +1,4 @@ -import { g as ENTETE_GLITCHTIP_RETRY_AFTER, h as ENTETE_GLITCHTIP_RATE_LIMITS } from "./api.js"; +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 { p as pipe } from "./pipe.XPB0wEfw.js"; function applyAggregateErrorsToEvent(exceptionFromErrorImplementation, parser, maxValueLimit = 250, key, limit, event, hint) { diff --git a/web/app/themes/haiku-atelier-2024/assets/js/gestion-panier.js b/web/app/themes/haiku-atelier-2024/assets/js/gestion-panier.js index 83992935..c9568aa9 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/gestion-panier.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/gestion-panier.js @@ -1,4 +1,4 @@ -import { f as ROUTE_API_PANIER, E as ENTETE_WC_NONCE } from "./api.js"; +import { h as ROUTE_API_PANIER, E as ENTETE_WC_NONCE } from "./api.js"; import { E as EitherAsync } from "./MaybeAsync.Ba-OfjWy.js"; import { r as right, l as left } from "./Either.wHNxn7Os.js"; const ETATS = _etats; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/index.CXGAS3st.js b/web/app/themes/haiku-atelier-2024/assets/js/index.DeCaB8sW.js similarity index 99% rename from web/app/themes/haiku-atelier-2024/assets/js/index.CXGAS3st.js rename to web/app/themes/haiku-atelier-2024/assets/js/index.DeCaB8sW.js index bf5d6761..b18f9c88 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/index.CXGAS3st.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/index.DeCaB8sW.js @@ -608,9 +608,9 @@ export { null_ as h, integer as i, omit as j, - maxValue as k, + minValue as k, is as l, - minValue as m, + maxValue as m, number as n, object as o, parse as p, @@ -618,4 +618,4 @@ export { unknown as u, value as v }; -//# sourceMappingURL=index.CXGAS3st.js.map +//# sourceMappingURL=index.DeCaB8sW.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/index.CXGAS3st.js.map b/web/app/themes/haiku-atelier-2024/assets/js/index.DeCaB8sW.js.map similarity index 99% rename from web/app/themes/haiku-atelier-2024/assets/js/index.CXGAS3st.js.map rename to web/app/themes/haiku-atelier-2024/assets/js/index.DeCaB8sW.js.map index 24d41d04..729ab4ba 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/index.CXGAS3st.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/index.DeCaB8sW.js.map @@ -1 +1 @@ -{"version":3,"file":"index.CXGAS3st.js","sources":["../../../../../../node_modules/.pnpm/valibot@1.0.0-beta.7_typescript@5.7.0-dev.20241105/node_modules/valibot/dist/index.js"],"sourcesContent":["// src/storages/globalConfig/globalConfig.ts\nvar store;\nfunction setGlobalConfig(config2) {\n store = { ...store, ...config2 };\n}\nfunction getGlobalConfig(config2) {\n return {\n lang: config2?.lang ?? store?.lang,\n message: config2?.message,\n abortEarly: config2?.abortEarly ?? store?.abortEarly,\n abortPipeEarly: config2?.abortPipeEarly ?? store?.abortPipeEarly\n };\n}\nfunction deleteGlobalConfig() {\n store = void 0;\n}\n\n// src/storages/globalMessage/globalMessage.ts\nvar store2;\nfunction setGlobalMessage(message, lang) {\n if (!store2) store2 = /* @__PURE__ */ new Map();\n store2.set(lang, message);\n}\nfunction getGlobalMessage(lang) {\n return store2?.get(lang);\n}\nfunction deleteGlobalMessage(lang) {\n store2?.delete(lang);\n}\n\n// src/storages/schemaMessage/schemaMessage.ts\nvar store3;\nfunction setSchemaMessage(message, lang) {\n if (!store3) store3 = /* @__PURE__ */ new Map();\n store3.set(lang, message);\n}\nfunction getSchemaMessage(lang) {\n return store3?.get(lang);\n}\nfunction deleteSchemaMessage(lang) {\n store3?.delete(lang);\n}\n\n// src/storages/specificMessage/specificMessage.ts\nvar store4;\nfunction setSpecificMessage(reference, message, lang) {\n if (!store4) store4 = /* @__PURE__ */ new Map();\n if (!store4.get(reference)) store4.set(reference, /* @__PURE__ */ new Map());\n store4.get(reference).set(lang, message);\n}\nfunction getSpecificMessage(reference, lang) {\n return store4?.get(reference)?.get(lang);\n}\nfunction deleteSpecificMessage(reference, lang) {\n store4?.get(reference)?.delete(lang);\n}\n\n// src/utils/_stringify/_stringify.ts\nfunction _stringify(input) {\n const type = typeof input;\n if (type === \"string\") {\n return `\"${input}\"`;\n }\n if (type === \"number\" || type === \"bigint\" || type === \"boolean\") {\n return `${input}`;\n }\n if (type === \"object\" || type === \"function\") {\n return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n }\n return type;\n}\n\n// src/utils/_addIssue/_addIssue.ts\nfunction _addIssue(context, label, dataset, config2, other) {\n const input = other && \"input\" in other ? other.input : dataset.value;\n const expected = other?.expected ?? context.expects ?? null;\n const received = other?.received ?? _stringify(input);\n const issue = {\n kind: context.kind,\n type: context.type,\n input,\n expected,\n received,\n message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n requirement: context.requirement,\n path: other?.path,\n issues: other?.issues,\n lang: config2.lang,\n abortEarly: config2.abortEarly,\n abortPipeEarly: config2.abortPipeEarly\n };\n const isSchema = context.kind === \"schema\";\n const message = other?.message ?? context.message ?? getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? getSchemaMessage(issue.lang) : null) ?? config2.message ?? getGlobalMessage(issue.lang);\n if (message) {\n issue.message = typeof message === \"function\" ? (\n // @ts-expect-error\n message(issue)\n ) : message;\n }\n if (isSchema) {\n dataset.typed = false;\n }\n if (dataset.issues) {\n dataset.issues.push(issue);\n } else {\n dataset.issues = [issue];\n }\n}\n\n// src/utils/_getByteCount/_getByteCount.ts\nvar textEncoder;\nfunction _getByteCount(input) {\n if (!textEncoder) {\n textEncoder = new TextEncoder();\n }\n return textEncoder.encode(input).length;\n}\n\n// src/utils/_getGraphemeCount/_getGraphemeCount.ts\nvar segmenter;\nfunction _getGraphemeCount(input) {\n if (!segmenter) {\n segmenter = new Intl.Segmenter();\n }\n const segments = segmenter.segment(input);\n let count = 0;\n for (const _ of segments) {\n count++;\n }\n return count;\n}\n\n// src/utils/_getStandardProps/_getStandardProps.ts\nfunction _getStandardProps(context) {\n return {\n version: 1,\n vendor: \"valibot\",\n validate(value2) {\n return context[\"~run\"]({ value: value2 }, getGlobalConfig());\n }\n };\n}\n\n// src/utils/_getWordCount/_getWordCount.ts\nvar store5;\nfunction _getWordCount(locales, input) {\n if (!store5) {\n store5 = /* @__PURE__ */ new Map();\n }\n if (!store5.get(locales)) {\n store5.set(locales, new Intl.Segmenter(locales, { granularity: \"word\" }));\n }\n const segments = store5.get(locales).segment(input);\n let count = 0;\n for (const segment of segments) {\n if (segment.isWordLike) {\n count++;\n }\n }\n return count;\n}\n\n// src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\nvar NON_DIGIT_REGEX = /\\D/gu;\nfunction _isLuhnAlgo(input) {\n const number2 = input.replace(NON_DIGIT_REGEX, \"\");\n let length2 = number2.length;\n let bit = 1;\n let sum = 0;\n while (length2) {\n const value2 = +number2[--length2];\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;\n }\n return sum % 10 === 0;\n}\n\n// src/utils/_isValidObjectKey/_isValidObjectKey.ts\nfunction _isValidObjectKey(object2, key) {\n return Object.hasOwn(object2, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n// src/utils/_joinExpects/_joinExpects.ts\nfunction _joinExpects(values, separator) {\n const list = [...new Set(values)];\n if (list.length > 1) {\n return `(${list.join(` ${separator} `)})`;\n }\n return list[0] ?? \"never\";\n}\n\n// src/utils/entriesFromList/entriesFromList.ts\nfunction entriesFromList(list, schema) {\n const entries = {};\n for (const key of list) {\n entries[key] = schema;\n }\n return entries;\n}\n\n// src/utils/getDotPath/getDotPath.ts\nfunction getDotPath(issue) {\n if (issue.path) {\n let key = \"\";\n for (const item of issue.path) {\n if (typeof item.key === \"string\" || typeof item.key === \"number\") {\n if (key) {\n key += `.${item.key}`;\n } else {\n key += item.key;\n }\n } else {\n return null;\n }\n }\n return key;\n }\n return null;\n}\n\n// src/utils/isOfKind/isOfKind.ts\nfunction isOfKind(kind, object2) {\n return object2.kind === kind;\n}\n\n// src/utils/isOfType/isOfType.ts\nfunction isOfType(type, object2) {\n return object2.type === type;\n}\n\n// src/utils/isValiError/isValiError.ts\nfunction isValiError(error) {\n return error instanceof ValiError;\n}\n\n// src/utils/ValiError/ValiError.ts\nvar ValiError = class extends Error {\n /**\n * The error issues.\n */\n issues;\n /**\n * Creates a Valibot error with useful information.\n *\n * @param issues The error issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"ValiError\";\n this.issues = issues;\n }\n};\n\n// src/actions/args/args.ts\nfunction args(schema) {\n return {\n kind: \"transformation\",\n type: \"args\",\n reference: args,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = (...args_) => {\n const argsDataset = this.schema[\"~run\"]({ value: args_ }, config2);\n if (argsDataset.issues) {\n throw new ValiError(argsDataset.issues);\n }\n return func(...argsDataset.value);\n };\n return dataset;\n }\n };\n}\n\n// src/actions/args/argsAsync.ts\nfunction argsAsync(schema) {\n return {\n kind: \"transformation\",\n type: \"args\",\n reference: argsAsync,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = async (...args2) => {\n const argsDataset = await schema[\"~run\"]({ value: args2 }, config2);\n if (argsDataset.issues) {\n throw new ValiError(argsDataset.issues);\n }\n return func(...argsDataset.value);\n };\n return dataset;\n }\n };\n}\n\n// src/actions/await/awaitAsync.ts\nfunction awaitAsync() {\n return {\n kind: \"transformation\",\n type: \"await\",\n reference: awaitAsync,\n async: true,\n async \"~run\"(dataset) {\n dataset.value = await dataset.value;\n return dataset;\n }\n };\n}\n\n// src/regex.ts\nvar BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\nvar BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\nvar CUID2_REGEX = /^[a-z][\\da-z]*$/u;\nvar DECIMAL_REGEX = /^[+-]?\\d+(?:\\.\\d+)?$/u;\nvar DIGITS_REGEX = /^\\d+$/u;\nvar EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\nvar EMOJI_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex, regexp/no-dupe-disjunctions -- false positives\n /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}))*)+$/u\n);\nvar HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-f]+$/iu;\nvar HEX_COLOR_REGEX = /^#(?:[\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$/iu;\nvar IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\nvar IPV4_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive\n /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u\n);\nvar IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\nvar ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\nvar ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z|[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\nvar ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\nvar MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\nvar MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar MAC_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$|^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar NANO_ID_REGEX = /^[\\w-]+$/u;\nvar OCTAL_REGEX = /^(?:0o)?[0-7]+$/iu;\nvar ULID_REGEX = /^[\\da-hjkmnp-tv-z]{26}$/iu;\nvar UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n// src/actions/base64/base64.ts\nfunction base64(message) {\n return {\n kind: \"validation\",\n type: \"base64\",\n reference: base64,\n async: false,\n expects: null,\n requirement: BASE64_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Base64\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/bic/bic.ts\nfunction bic(message) {\n return {\n kind: \"validation\",\n type: \"bic\",\n reference: bic,\n async: false,\n expects: null,\n requirement: BIC_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"BIC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/brand/brand.ts\nfunction brand(name) {\n return {\n kind: \"transformation\",\n type: \"brand\",\n reference: brand,\n async: false,\n name,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/bytes/bytes.ts\nfunction bytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"bytes\",\n reference: bytes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 !== this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/check.ts\nfunction check(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: check,\n async: false,\n expects: null,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/checkAsync.ts\nfunction checkAsync(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: checkAsync,\n async: true,\n expects: null,\n requirement,\n message,\n async \"~run\"(dataset, config2) {\n if (dataset.typed && !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItems.ts\nfunction checkItems(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItems,\n async: false,\n expects: null,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n for (let index = 0; index < dataset.value.length; index++) {\n const item = dataset.value[index];\n if (!this.requirement(item, index, dataset.value)) {\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItemsAsync.ts\nfunction checkItemsAsync(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItemsAsync,\n async: true,\n expects: null,\n requirement,\n message,\n async \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const requirementResults = await Promise.all(\n dataset.value.map(this.requirement)\n );\n for (let index = 0; index < dataset.value.length; index++) {\n if (!requirementResults[index]) {\n const item = dataset.value[index];\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/creditCard/creditCard.ts\nvar CREDIT_CARD_REGEX = /^(?:\\d{14,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\nvar SANITIZE_REGEX = /[- ]/gu;\nvar PROVIDER_REGEX_LIST = [\n // American Express\n /^3[47]\\d{13}$/u,\n // Diners Club\n /^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n // Discover\n /^6(?:011|5\\d{2})\\d{12,15}$/u,\n // JCB\n /^(?:2131|1800|35\\d{3})\\d{11}$/u,\n // Mastercard\n /^5[1-5]\\d{2}|(?:222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n // UnionPay\n /^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n // Visa\n /^4\\d{12}(?:\\d{3,6})?$/u\n];\nfunction creditCard(message) {\n return {\n kind: \"validation\",\n type: \"credit_card\",\n reference: creditCard,\n async: false,\n expects: null,\n requirement(input) {\n let sanitized;\n return CREDIT_CARD_REGEX.test(input) && // Remove any hyphens and blanks\n (sanitized = input.replace(SANITIZE_REGEX, \"\")) && // Check if it matches a provider\n PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && // Check if passes luhn algorithm\n _isLuhnAlgo(sanitized);\n },\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"credit card\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/cuid2/cuid2.ts\nfunction cuid2(message) {\n return {\n kind: \"validation\",\n type: \"cuid2\",\n reference: cuid2,\n async: false,\n expects: null,\n requirement: CUID2_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Cuid2\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/decimal/decimal.ts\nfunction decimal(message) {\n return {\n kind: \"validation\",\n type: \"decimal\",\n reference: decimal,\n async: false,\n expects: null,\n requirement: DECIMAL_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"decimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/description/description.ts\nfunction description(description_) {\n return {\n kind: \"metadata\",\n type: \"description\",\n reference: description,\n description: description_\n };\n}\n\n// src/actions/digits/digits.ts\nfunction digits(message) {\n return {\n kind: \"validation\",\n type: \"digits\",\n reference: digits,\n async: false,\n expects: null,\n requirement: DIGITS_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"digits\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/email/email.ts\nfunction email(message) {\n return {\n kind: \"validation\",\n type: \"email\",\n reference: email,\n expects: null,\n async: false,\n requirement: EMAIL_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"email\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/emoji/emoji.ts\nfunction emoji(message) {\n return {\n kind: \"validation\",\n type: \"emoji\",\n reference: emoji,\n async: false,\n expects: null,\n requirement: EMOJI_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"emoji\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/empty/empty.ts\nfunction empty(message) {\n return {\n kind: \"validation\",\n type: \"empty\",\n reference: empty,\n async: false,\n expects: \"0\",\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/endsWith/endsWith.ts\nfunction endsWith(requirement, message) {\n return {\n kind: \"validation\",\n type: \"ends_with\",\n reference: endsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.endsWith(this.requirement)) {\n _addIssue(this, \"end\", dataset, config2, {\n received: `\"${dataset.value.slice(-this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/everyItem/everyItem.ts\nfunction everyItem(requirement, message) {\n return {\n kind: \"validation\",\n type: \"every_item\",\n reference: everyItem,\n async: false,\n expects: null,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.every(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/excludes/excludes.ts\nfunction excludes(requirement, message) {\n const received = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"excludes\",\n reference: excludes,\n async: false,\n expects: `!${received}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, { received });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/filterItems/filterItems.ts\nfunction filterItems(operation) {\n return {\n kind: \"transformation\",\n type: \"filter_items\",\n reference: filterItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.filter(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/findItem/findItem.ts\nfunction findItem(operation) {\n return {\n kind: \"transformation\",\n type: \"find_item\",\n reference: findItem,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.find(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/finite/finite.ts\nfunction finite(message) {\n return {\n kind: \"validation\",\n type: \"finite\",\n reference: finite,\n async: false,\n expects: null,\n requirement: Number.isFinite,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"finite\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/graphemes/graphemes.ts\nfunction graphemes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"graphemes\",\n reference: graphemes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count !== this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hash/hash.ts\nvar HASH_LENGTHS = {\n md4: 32,\n md5: 32,\n sha1: 40,\n sha256: 64,\n sha384: 96,\n sha512: 128,\n ripemd128: 32,\n ripemd160: 40,\n tiger128: 32,\n tiger160: 40,\n tiger192: 48,\n crc32: 8,\n crc32b: 8,\n adler32: 8\n};\nfunction hash(types, message) {\n return {\n kind: \"validation\",\n type: \"hash\",\n reference: hash,\n expects: null,\n async: false,\n requirement: RegExp(\n types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"),\n \"iu\"\n ),\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hash\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexadecimal/hexadecimal.ts\nfunction hexadecimal(message) {\n return {\n kind: \"validation\",\n type: \"hexadecimal\",\n reference: hexadecimal,\n async: false,\n expects: null,\n requirement: HEXADECIMAL_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hexadecimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexColor/hexColor.ts\nfunction hexColor(message) {\n return {\n kind: \"validation\",\n type: \"hex_color\",\n reference: hexColor,\n async: false,\n expects: null,\n requirement: HEX_COLOR_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hex color\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/imei/imei.ts\nfunction imei(message) {\n return {\n kind: \"validation\",\n type: \"imei\",\n reference: imei,\n async: false,\n expects: null,\n requirement(input) {\n return IMEI_REGEX.test(input) && _isLuhnAlgo(input);\n },\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"IMEI\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/includes/includes.ts\nfunction includes(requirement, message) {\n const expects = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"includes\",\n reference: includes,\n async: false,\n expects,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, {\n received: `!${expects}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/integer/integer.ts\nfunction integer(message) {\n return {\n kind: \"validation\",\n type: \"integer\",\n reference: integer,\n async: false,\n expects: null,\n requirement: Number.isInteger,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ip/ip.ts\nfunction ip(message) {\n return {\n kind: \"validation\",\n type: \"ip\",\n reference: ip,\n async: false,\n expects: null,\n requirement: IP_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IP\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv4/ipv4.ts\nfunction ipv4(message) {\n return {\n kind: \"validation\",\n type: \"ipv4\",\n reference: ipv4,\n async: false,\n expects: null,\n requirement: IPV4_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv4\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv6/ipv6.ts\nfunction ipv6(message) {\n return {\n kind: \"validation\",\n type: \"ipv6\",\n reference: ipv6,\n async: false,\n expects: null,\n requirement: IPV6_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv6\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDate/isoDate.ts\nfunction isoDate(message) {\n return {\n kind: \"validation\",\n type: \"iso_date\",\n reference: isoDate,\n async: false,\n expects: null,\n requirement: ISO_DATE_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDateTime/isoDateTime.ts\nfunction isoDateTime(message) {\n return {\n kind: \"validation\",\n type: \"iso_date_time\",\n reference: isoDateTime,\n async: false,\n expects: null,\n requirement: ISO_DATE_TIME_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date-time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTime/isoTime.ts\nfunction isoTime(message) {\n return {\n kind: \"validation\",\n type: \"iso_time\",\n reference: isoTime,\n async: false,\n expects: null,\n requirement: ISO_TIME_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimeSecond/isoTimeSecond.ts\nfunction isoTimeSecond(message) {\n return {\n kind: \"validation\",\n type: \"iso_time_second\",\n reference: isoTimeSecond,\n async: false,\n expects: null,\n requirement: ISO_TIME_SECOND_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time-second\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimestamp/isoTimestamp.ts\nfunction isoTimestamp(message) {\n return {\n kind: \"validation\",\n type: \"iso_timestamp\",\n reference: isoTimestamp,\n async: false,\n expects: null,\n requirement: ISO_TIMESTAMP_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"timestamp\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoWeek/isoWeek.ts\nfunction isoWeek(message) {\n return {\n kind: \"validation\",\n type: \"iso_week\",\n reference: isoWeek,\n async: false,\n expects: null,\n requirement: ISO_WEEK_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"week\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/length/length.ts\nfunction length(requirement, message) {\n return {\n kind: \"validation\",\n type: \"length\",\n reference: length,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length !== this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac/mac.ts\nfunction mac(message) {\n return {\n kind: \"validation\",\n type: \"mac\",\n reference: mac,\n async: false,\n expects: null,\n requirement: MAC_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac48/mac48.ts\nfunction mac48(message) {\n return {\n kind: \"validation\",\n type: \"mac48\",\n reference: mac48,\n async: false,\n expects: null,\n requirement: MAC48_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"48-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac64/mac64.ts\nfunction mac64(message) {\n return {\n kind: \"validation\",\n type: \"mac64\",\n reference: mac64,\n async: false,\n expects: null,\n requirement: MAC64_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"64-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mapItems/mapItems.ts\nfunction mapItems(operation) {\n return {\n kind: \"transformation\",\n type: \"map_items\",\n reference: mapItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.map(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/maxBytes/maxBytes.ts\nfunction maxBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_bytes\",\n reference: maxBytes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 > this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxGraphemes/maxGraphemes.ts\nfunction maxGraphemes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_graphemes\",\n reference: maxGraphemes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count > this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxLength/maxLength.ts\nfunction maxLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_length\",\n reference: maxLength,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxSize/maxSize.ts\nfunction maxSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_size\",\n reference: maxSize,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size > this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxValue/maxValue.ts\nfunction maxValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_value\",\n reference: maxValue,\n async: false,\n expects: `<=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value <= this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxWords/maxWords.ts\nfunction maxWords(locales, requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_words\",\n reference: maxWords,\n async: false,\n expects: `<=${requirement}`,\n locales,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count > this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/metadata/metadata.ts\nfunction metadata(metadata_) {\n return {\n kind: \"metadata\",\n type: \"metadata\",\n reference: metadata,\n metadata: metadata_\n };\n}\n\n// src/actions/mimeType/mimeType.ts\nfunction mimeType(requirement, message) {\n return {\n kind: \"validation\",\n type: \"mime_type\",\n reference: mimeType,\n async: false,\n expects: _joinExpects(\n requirement.map((option) => `\"${option}\"`),\n \"|\"\n ),\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.includes(dataset.value.type)) {\n _addIssue(this, \"MIME type\", dataset, config2, {\n received: `\"${dataset.value.type}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minBytes/minBytes.ts\nfunction minBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_bytes\",\n reference: minBytes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 < this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minGraphemes/minGraphemes.ts\nfunction minGraphemes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_graphemes\",\n reference: minGraphemes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count < this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minLength/minLength.ts\nfunction minLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_length\",\n reference: minLength,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length < this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minSize/minSize.ts\nfunction minSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_size\",\n reference: minSize,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size < this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minValue/minValue.ts\nfunction minValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_value\",\n reference: minValue,\n async: false,\n expects: `>=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value >= this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minWords/minWords.ts\nfunction minWords(locales, requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_words\",\n reference: minWords,\n async: false,\n expects: `>=${requirement}`,\n locales,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count < this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/multipleOf/multipleOf.ts\nfunction multipleOf(requirement, message) {\n return {\n kind: \"validation\",\n type: \"multiple_of\",\n reference: multipleOf,\n async: false,\n expects: `%${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value % this.requirement !== 0) {\n _addIssue(this, \"multiple\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nanoid/nanoid.ts\nfunction nanoid(message) {\n return {\n kind: \"validation\",\n type: \"nanoid\",\n reference: nanoid,\n async: false,\n expects: null,\n requirement: NANO_ID_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Nano ID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nonEmpty/nonEmpty.ts\nfunction nonEmpty(message) {\n return {\n kind: \"validation\",\n type: \"non_empty\",\n reference: nonEmpty,\n async: false,\n expects: \"!0\",\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: \"0\"\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/normalize/normalize.ts\nfunction normalize(form) {\n return {\n kind: \"transformation\",\n type: \"normalize\",\n reference: normalize,\n async: false,\n form,\n \"~run\"(dataset) {\n dataset.value = dataset.value.normalize(this.form);\n return dataset;\n }\n };\n}\n\n// src/actions/notBytes/notBytes.ts\nfunction notBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_bytes\",\n reference: notBytes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 === this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notGraphemes/notGraphemes.ts\nfunction notGraphemes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_graphemes\",\n reference: notGraphemes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count === this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notLength/notLength.ts\nfunction notLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_length\",\n reference: notLength,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notSize/notSize.ts\nfunction notSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_size\",\n reference: notSize,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size === this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notValue/notValue.ts\nfunction notValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_value\",\n reference: notValue,\n async: false,\n expects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${_stringify(requirement)}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notWords/notWords.ts\nfunction notWords(locales, requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_words\",\n reference: notWords,\n async: false,\n expects: `!${requirement}`,\n locales,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count === this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/octal/octal.ts\nfunction octal(message) {\n return {\n kind: \"validation\",\n type: \"octal\",\n reference: octal,\n async: false,\n expects: null,\n requirement: OCTAL_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"octal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\nfunction _isPartiallyTyped(dataset, pathList) {\n if (dataset.issues) {\n for (const path of pathList) {\n for (const issue of dataset.issues) {\n let typed = false;\n const bound = Math.min(path.length, issue.path?.length ?? 0);\n for (let index = 0; index < bound; index++) {\n if (path[index] !== issue.path[index].key) {\n typed = true;\n break;\n }\n }\n if (!typed) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\n// src/actions/partialCheck/partialCheck.ts\nfunction partialCheck(pathList, requirement, message) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheck,\n async: false,\n expects: null,\n pathList,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (_isPartiallyTyped(dataset, pathList) && // @ts-expect-error\n !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/partialCheckAsync.ts\nfunction partialCheckAsync(pathList, requirement, message) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheckAsync,\n async: true,\n expects: null,\n pathList,\n requirement,\n message,\n async \"~run\"(dataset, config2) {\n if (_isPartiallyTyped(dataset, pathList) && // @ts-expect-error\n !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheck.ts\nfunction rawCheck(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheck,\n async: false,\n expects: null,\n \"~run\"(dataset, config2) {\n action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheckAsync.ts\nfunction rawCheckAsync(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheckAsync,\n async: true,\n expects: null,\n async \"~run\"(dataset, config2) {\n await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransform.ts\nfunction rawTransform(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransform,\n async: false,\n \"~run\"(dataset, config2) {\n const output = action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransformAsync.ts\nfunction rawTransformAsync(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransformAsync,\n async: true,\n async \"~run\"(dataset, config2) {\n const output = await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/readonly/readonly.ts\nfunction readonly() {\n return {\n kind: \"transformation\",\n type: \"readonly\",\n reference: readonly,\n async: false,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/reduceItems/reduceItems.ts\nfunction reduceItems(operation, initial) {\n return {\n kind: \"transformation\",\n type: \"reduce_items\",\n reference: reduceItems,\n async: false,\n operation,\n initial,\n \"~run\"(dataset) {\n dataset.value = dataset.value.reduce(this.operation, this.initial);\n return dataset;\n }\n };\n}\n\n// src/actions/regex/regex.ts\nfunction regex(requirement, message) {\n return {\n kind: \"validation\",\n type: \"regex\",\n reference: regex,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"format\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/returns/returns.ts\nfunction returns(schema) {\n return {\n kind: \"transformation\",\n type: \"returns\",\n reference: returns,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = (...args_) => {\n const returnsDataset = this.schema[\"~run\"](\n { value: func(...args_) },\n config2\n );\n if (returnsDataset.issues) {\n throw new ValiError(returnsDataset.issues);\n }\n return returnsDataset.value;\n };\n return dataset;\n }\n };\n}\n\n// src/actions/returns/returnsAsync.ts\nfunction returnsAsync(schema) {\n return {\n kind: \"transformation\",\n type: \"returns\",\n reference: returnsAsync,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = async (...args_) => {\n const returnsDataset = await this.schema[\"~run\"](\n { value: await func(...args_) },\n config2\n );\n if (returnsDataset.issues) {\n throw new ValiError(returnsDataset.issues);\n }\n return returnsDataset.value;\n };\n return dataset;\n }\n };\n}\n\n// src/actions/safeInteger/safeInteger.ts\nfunction safeInteger(message) {\n return {\n kind: \"validation\",\n type: \"safe_integer\",\n reference: safeInteger,\n async: false,\n expects: null,\n requirement: Number.isSafeInteger,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"safe integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/size/size.ts\nfunction size(requirement, message) {\n return {\n kind: \"validation\",\n type: \"size\",\n reference: size,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size !== this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/someItem/someItem.ts\nfunction someItem(requirement, message) {\n return {\n kind: \"validation\",\n type: \"some_item\",\n reference: someItem,\n async: false,\n expects: null,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.some(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/sortItems/sortItems.ts\nfunction sortItems(operation) {\n return {\n kind: \"transformation\",\n type: \"sort_items\",\n reference: sortItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.sort(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/startsWith/startsWith.ts\nfunction startsWith(requirement, message) {\n return {\n kind: \"validation\",\n type: \"starts_with\",\n reference: startsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.startsWith(this.requirement)) {\n _addIssue(this, \"start\", dataset, config2, {\n received: `\"${dataset.value.slice(0, this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/title/title.ts\nfunction title(title_) {\n return {\n kind: \"metadata\",\n type: \"title\",\n reference: title,\n title: title_\n };\n}\n\n// src/actions/toLowerCase/toLowerCase.ts\nfunction toLowerCase() {\n return {\n kind: \"transformation\",\n type: \"to_lower_case\",\n reference: toLowerCase,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.toLowerCase();\n return dataset;\n }\n };\n}\n\n// src/actions/toMaxValue/toMaxValue.ts\nfunction toMaxValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_max_value\",\n reference: toMaxValue,\n async: false,\n requirement,\n \"~run\"(dataset) {\n dataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toMinValue/toMinValue.ts\nfunction toMinValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_min_value\",\n reference: toMinValue,\n async: false,\n requirement,\n \"~run\"(dataset) {\n dataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toUpperCase/toUpperCase.ts\nfunction toUpperCase() {\n return {\n kind: \"transformation\",\n type: \"to_upper_case\",\n reference: toUpperCase,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.toUpperCase();\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transform.ts\nfunction transform(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transform,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transformAsync.ts\nfunction transformAsync(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transformAsync,\n async: true,\n operation,\n async \"~run\"(dataset) {\n dataset.value = await this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/trim/trim.ts\nfunction trim() {\n return {\n kind: \"transformation\",\n type: \"trim\",\n reference: trim,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trim();\n return dataset;\n }\n };\n}\n\n// src/actions/trimEnd/trimEnd.ts\nfunction trimEnd() {\n return {\n kind: \"transformation\",\n type: \"trim_end\",\n reference: trimEnd,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trimEnd();\n return dataset;\n }\n };\n}\n\n// src/actions/trimStart/trimStart.ts\nfunction trimStart() {\n return {\n kind: \"transformation\",\n type: \"trim_start\",\n reference: trimStart,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trimStart();\n return dataset;\n }\n };\n}\n\n// src/actions/ulid/ulid.ts\nfunction ulid(message) {\n return {\n kind: \"validation\",\n type: \"ulid\",\n reference: ulid,\n async: false,\n expects: null,\n requirement: ULID_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"ULID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/url/url.ts\nfunction url(message) {\n return {\n kind: \"validation\",\n type: \"url\",\n reference: url,\n async: false,\n expects: null,\n requirement(input) {\n try {\n new URL(input);\n return true;\n } catch {\n return false;\n }\n },\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"URL\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/uuid/uuid.ts\nfunction uuid(message) {\n return {\n kind: \"validation\",\n type: \"uuid\",\n reference: uuid,\n async: false,\n expects: null,\n requirement: UUID_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"UUID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/value/value.ts\nfunction value(requirement, message) {\n return {\n kind: \"validation\",\n type: \"value\",\n reference: value,\n async: false,\n expects: requirement instanceof Date ? requirement.toJSON() : _stringify(requirement),\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(this.requirement <= dataset.value && this.requirement >= dataset.value)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/words/words.ts\nfunction words(locales, requirement, message) {\n return {\n kind: \"validation\",\n type: \"words\",\n reference: words,\n async: false,\n expects: `${requirement}`,\n locales,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count !== this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/assert/assert.ts\nfunction assert(schema, input) {\n const issues = schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n if (issues) {\n throw new ValiError(issues);\n }\n}\n\n// src/methods/config/config.ts\nfunction config(schema, config2) {\n return {\n ...schema,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config_) {\n return schema[\"~run\"](dataset, { ...config_, ...config2 });\n }\n };\n}\n\n// src/methods/getFallback/getFallback.ts\nfunction getFallback(schema, dataset, config2) {\n return typeof schema.fallback === \"function\" ? (\n // @ts-expect-error\n schema.fallback(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.fallback\n );\n}\n\n// src/methods/fallback/fallback.ts\nfunction fallback(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const outputDataset = schema[\"~run\"](dataset, config2);\n return outputDataset.issues ? { typed: true, value: getFallback(this, outputDataset, config2) } : outputDataset;\n }\n };\n}\n\n// src/methods/fallback/fallbackAsync.ts\nfunction fallbackAsync(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n async: true,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const outputDataset = await schema[\"~run\"](dataset, config2);\n return outputDataset.issues ? {\n typed: true,\n value: await getFallback(this, outputDataset, config2)\n } : outputDataset;\n }\n };\n}\n\n// src/methods/flatten/flatten.ts\nfunction flatten(issues) {\n const flatErrors = {};\n for (const issue of issues) {\n if (issue.path) {\n const dotPath = getDotPath(issue);\n if (dotPath) {\n if (!flatErrors.nested) {\n flatErrors.nested = {};\n }\n if (flatErrors.nested[dotPath]) {\n flatErrors.nested[dotPath].push(issue.message);\n } else {\n flatErrors.nested[dotPath] = [issue.message];\n }\n } else {\n if (flatErrors.other) {\n flatErrors.other.push(issue.message);\n } else {\n flatErrors.other = [issue.message];\n }\n }\n } else {\n if (flatErrors.root) {\n flatErrors.root.push(issue.message);\n } else {\n flatErrors.root = [issue.message];\n }\n }\n }\n return flatErrors;\n}\n\n// src/methods/forward/forward.ts\nfunction forward(action, pathKeys) {\n return {\n ...action,\n \"~run\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n dataset = action[\"~run\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of pathKeys) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/forward/forwardAsync.ts\nfunction forwardAsync(action, pathKeys) {\n return {\n ...action,\n async: true,\n async \"~run\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n dataset = await action[\"~run\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of pathKeys) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/getDefault/getDefault.ts\nfunction getDefault(schema, dataset, config2) {\n return typeof schema.default === \"function\" ? (\n // @ts-expect-error\n schema.default(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.default\n );\n}\n\n// src/methods/getDefaults/getDefaults.ts\nfunction getDefaults(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = getDefaults(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getDefaults);\n }\n return getDefault(schema);\n}\n\n// src/methods/getDefaults/getDefaultsAsync.ts\nasync function getDefaultsAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getDefaultsAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getDefaultsAsync));\n }\n return getDefault(schema);\n}\n\n// src/methods/getFallbacks/getFallbacks.ts\nfunction getFallbacks(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = getFallbacks(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getFallbacks);\n }\n return getFallback(schema);\n}\n\n// src/methods/getFallbacks/getFallbacksAsync.ts\nasync function getFallbacksAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getFallbacksAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getFallbacksAsync));\n }\n return getFallback(schema);\n}\n\n// src/methods/is/is.ts\nfunction is(schema, input) {\n return !schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n}\n\n// src/schemas/any/any.ts\nfunction any() {\n return {\n kind: \"schema\",\n type: \"any\",\n reference: any,\n expects: \"any\",\n async: false,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/array/array.ts\nfunction array(item, message) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: array,\n expects: \"Array\",\n async: false,\n item,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.item[\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/array/arrayAsync.ts\nfunction arrayAsync(item, message) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: arrayAsync,\n expects: \"Array\",\n async: true,\n item,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n input.map((value2) => this.item[\"~run\"]({ value: value2 }, config2))\n );\n for (let key = 0; key < itemDatasets.length; key++) {\n const itemDataset = itemDatasets[key];\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: input[key]\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/bigint/bigint.ts\nfunction bigint(message) {\n return {\n kind: \"schema\",\n type: \"bigint\",\n reference: bigint,\n expects: \"bigint\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"bigint\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/blob/blob.ts\nfunction blob(message) {\n return {\n kind: \"schema\",\n type: \"blob\",\n reference: blob,\n expects: \"Blob\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Blob) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/boolean/boolean.ts\nfunction boolean(message) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: boolean,\n expects: \"boolean\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"boolean\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/custom.ts\nfunction custom(check2, message) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: custom,\n expects: \"unknown\",\n async: false,\n check: check2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/customAsync.ts\nfunction customAsync(check2, message) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: customAsync,\n expects: \"unknown\",\n async: true,\n check: check2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (await this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/date/date.ts\nfunction date(message) {\n return {\n kind: \"schema\",\n type: \"date\",\n reference: date,\n expects: \"Date\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Date) {\n if (!isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n received: '\"Invalid Date\"'\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/enum/enum.ts\nfunction enum_(enum__, message) {\n const options = Object.entries(enum__).filter(([key]) => isNaN(+key)).map(([, value2]) => value2);\n return {\n kind: \"schema\",\n type: \"enum\",\n reference: enum_,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n enum: enum__,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/file/file.ts\nfunction file(message) {\n return {\n kind: \"schema\",\n type: \"file\",\n reference: file,\n expects: \"File\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof File) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/function/function.ts\nfunction function_(message) {\n return {\n kind: \"schema\",\n type: \"function\",\n reference: function_,\n expects: \"Function\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"function\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/instance/instance.ts\nfunction instance(class_, message) {\n return {\n kind: \"schema\",\n type: \"instance\",\n reference: instance,\n expects: class_.name,\n async: false,\n class: class_,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof this.class) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/utils/_merge/_merge.ts\nfunction _merge(value1, value2) {\n if (typeof value1 === typeof value2) {\n if (value1 === value2 || value1 instanceof Date && value2 instanceof Date && +value1 === +value2) {\n return { value: value1 };\n }\n if (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n for (const key in value2) {\n if (key in value1) {\n const dataset = _merge(value1[key], value2[key]);\n if (dataset.issue) {\n return dataset;\n }\n value1[key] = dataset.value;\n } else {\n value1[key] = value2[key];\n }\n }\n return { value: value1 };\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n if (value1.length === value2.length) {\n for (let index = 0; index < value1.length; index++) {\n const dataset = _merge(value1[index], value2[index]);\n if (dataset.issue) {\n return dataset;\n }\n value1[index] = dataset.value;\n }\n return { value: value1 };\n }\n }\n }\n return { issue: true };\n}\n\n// src/schemas/intersect/intersect.ts\nfunction intersect(options, message) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersect,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: false,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n for (const schema of this.options) {\n const optionDataset = schema[\"~run\"]({ value: input }, config2);\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/intersectAsync.ts\nfunction intersectAsync(options, message) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersectAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: true,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n const optionDatasets = await Promise.all(\n this.options.map((schema) => schema[\"~run\"]({ value: input }, config2))\n );\n for (const optionDataset of optionDatasets) {\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/lazy/lazy.ts\nfunction lazy(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazy,\n expects: \"unknown\",\n async: false,\n getter,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n return this.getter(dataset.value)[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/lazy/lazyAsync.ts\nfunction lazyAsync(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazyAsync,\n expects: \"unknown\",\n async: true,\n getter,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n return (await this.getter(dataset.value))[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/literal/literal.ts\nfunction literal(literal_, message) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: literal,\n expects: _stringify(literal_),\n async: false,\n literal: literal_,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === this.literal) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObject.ts\nfunction looseObject(entries, message) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObject,\n expects: \"Object\",\n async: false,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObjectAsync.ts\nfunction looseObjectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObjectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~run\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTuple.ts\nfunction looseTuple(items, message) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTupleAsync.ts\nfunction looseTupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/map.ts\nfunction map(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: map,\n expects: \"Map\",\n async: false,\n key,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n for (const [inputKey, inputValue] of input) {\n const keyDataset = this.key[\"~run\"]({ value: inputKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~run\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/mapAsync.ts\nfunction mapAsync(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: mapAsync,\n expects: \"Map\",\n async: true,\n key,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n const datasets = await Promise.all(\n [...input].map(\n ([inputKey, inputValue]) => Promise.all([\n inputKey,\n inputValue,\n this.key[\"~run\"]({ value: inputKey }, config2),\n this.value[\"~run\"]({ value: inputValue }, config2)\n ])\n )\n );\n for (const [\n inputKey,\n inputValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nan/nan.ts\nfunction nan(message) {\n return {\n kind: \"schema\",\n type: \"nan\",\n reference: nan,\n expects: \"NaN\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (Number.isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/never/never.ts\nfunction never(message) {\n return {\n kind: \"schema\",\n type: \"never\",\n reference: never,\n expects: \"never\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullable.ts\nfunction nonNullable(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullable,\n expects: \"!null\",\n async: false,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value !== null) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullableAsync.ts\nfunction nonNullableAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullableAsync,\n expects: \"!null\",\n async: true,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value !== null) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullish.ts\nfunction nonNullish(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullish,\n expects: \"(!null & !undefined)\",\n async: false,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (!(dataset.value === null || dataset.value === void 0)) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullishAsync.ts\nfunction nonNullishAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullishAsync,\n expects: \"(!null & !undefined)\",\n async: true,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (!(dataset.value === null || dataset.value === void 0)) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptional.ts\nfunction nonOptional(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptional,\n expects: \"!undefined\",\n async: false,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value !== void 0) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptionalAsync.ts\nfunction nonOptionalAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptionalAsync,\n expects: \"!undefined\",\n async: true,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value !== void 0) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/null/null.ts\nfunction null_(message) {\n return {\n kind: \"schema\",\n type: \"null\",\n reference: null_,\n expects: \"null\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nullable/nullable.ts\nfunction nullable(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullable,\n expects: `(${wrapped.expects} | null)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullable/nullableAsync.ts\nfunction nullableAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullableAsync,\n expects: `(${wrapped.expects} | null)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullish/nullish.ts\nfunction nullish(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullish,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null || dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullish/nullishAsync.ts\nfunction nullishAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullishAsync,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === null || dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/number/number.ts\nfunction number(message) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: number,\n expects: \"number\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"number\" && !isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/object.ts\nfunction object(entries, message) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: object,\n expects: \"Object\",\n async: false,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/objectAsync.ts\nfunction objectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: objectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~run\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRest.ts\nfunction objectWithRest(entries, rest, message) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRest,\n expects: \"Object\",\n async: false,\n entries,\n rest,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n const value2 = input[key];\n const valueDataset = this.rest[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRestAsync.ts\nfunction objectWithRestAsync(entries, rest, message) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRestAsync,\n expects: \"Object\",\n async: true,\n entries,\n rest,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal entry\n // Hint: We do not distinguish between missing and `undefined` entries.\n // The reason for this decision is that it reduces the bundle size, and\n // we also expect that most users will expect this behavior.\n Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~run\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other entries with rest schema\n // Hint: We exclude specific keys for security reasons\n Promise.all(\n Object.entries(input).filter(\n ([key]) => _isValidObjectKey(input, key) && !(key in this.entries)\n ).map(\n async ([key, value2]) => [\n key,\n value2,\n await this.rest[\"~run\"]({ value: value2 }, config2)\n ]\n )\n )\n ]);\n for (const [key, value2, valueDataset] of normalDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, valueDataset] of restDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/optional/optional.ts\nfunction optional(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: optional,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/optional/optionalAsync.ts\nfunction optionalAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: optionalAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/picklist/picklist.ts\nfunction picklist(options, message) {\n return {\n kind: \"schema\",\n type: \"picklist\",\n reference: picklist,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/promise/promise.ts\nfunction promise(message) {\n return {\n kind: \"schema\",\n type: \"promise\",\n reference: promise,\n expects: \"Promise\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Promise) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/record.ts\nfunction record(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: record,\n expects: \"Object\",\n async: false,\n key,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const entryKey in input) {\n if (_isValidObjectKey(input, entryKey)) {\n const entryValue = input[entryKey];\n const keyDataset = this.key[\"~run\"]({ value: entryKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~run\"](\n { value: entryValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/recordAsync.ts\nfunction recordAsync(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: recordAsync,\n expects: \"Object\",\n async: true,\n key,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const datasets = await Promise.all(\n Object.entries(input).filter(([key2]) => _isValidObjectKey(input, key2)).map(\n ([entryKey, entryValue]) => Promise.all([\n entryKey,\n entryValue,\n this.key[\"~run\"]({ value: entryKey }, config2),\n this.value[\"~run\"]({ value: entryValue }, config2)\n ])\n )\n );\n for (const [\n entryKey,\n entryValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/set.ts\nfunction set(value2, message) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: set,\n expects: \"Set\",\n async: false,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n for (const inputValue of input) {\n const valueDataset = this.value[\"~run\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/setAsync.ts\nfunction setAsync(value2, message) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: setAsync,\n expects: \"Set\",\n async: true,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n const valueDatasets = await Promise.all(\n [...input].map(\n async (inputValue) => [\n inputValue,\n await this.value[\"~run\"]({ value: inputValue }, config2)\n ]\n )\n );\n for (const [inputValue, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObject.ts\nfunction strictObject(entries, message) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObject,\n expects: \"Object\",\n async: false,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObjectAsync.ts\nfunction strictObjectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObjectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~run\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTuple.ts\nfunction strictTuple(items, message) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n const value2 = input[items.length];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: value2\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTupleAsync.ts\nfunction strictTupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n const value2 = input[items.length];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: value2\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/string/string.ts\nfunction string(message) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: string,\n expects: \"string\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"string\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/symbol/symbol.ts\nfunction symbol(message) {\n return {\n kind: \"schema\",\n type: \"symbol\",\n reference: symbol,\n expects: \"symbol\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"symbol\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tuple.ts\nfunction tuple(items, message) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tupleAsync.ts\nfunction tupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRest.ts\nfunction tupleWithRest(items, rest, message) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRest,\n expects: \"Array\",\n async: false,\n items,\n rest,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.rest[\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRestAsync.ts\nfunction tupleWithRestAsync(items, rest, message) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRestAsync,\n expects: \"Array\",\n async: true,\n items,\n rest,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal item\n Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~run\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other items with rest schema\n Promise.all(\n input.slice(this.items.length).map(async (value2, key) => {\n return [\n key + this.items.length,\n value2,\n await this.rest[\"~run\"]({ value: value2 }, config2)\n ];\n })\n )\n ]);\n for (const [key, value2, itemDataset] of normalDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, itemDataset] of restDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefined/undefined.ts\nfunction undefined_(message) {\n return {\n kind: \"schema\",\n type: \"undefined\",\n reference: undefined_,\n expects: \"undefined\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedable.ts\nfunction undefinedable(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedable,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedableAsync.ts\nfunction undefinedableAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedableAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/union/utils/_subIssues/_subIssues.ts\nfunction _subIssues(datasets) {\n let issues;\n if (datasets) {\n for (const dataset of datasets) {\n if (issues) {\n issues.push(...dataset.issues);\n } else {\n issues = dataset.issues;\n }\n }\n }\n return issues;\n}\n\n// src/schemas/union/union.ts\nfunction union(options, message) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: union,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: false,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = schema[\"~run\"]({ value: dataset.value }, config2);\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/union/unionAsync.ts\nfunction unionAsync(options, message) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: unionAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: true,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = await schema[\"~run\"](\n { value: dataset.value },\n config2\n );\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/unknown/unknown.ts\nfunction unknown() {\n return {\n kind: \"schema\",\n type: \"unknown\",\n reference: unknown,\n expects: \"unknown\",\n async: false,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variant.ts\nfunction variant(key, options, message) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variant,\n expects: \"Object\",\n async: false,\n key,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n if (schema.entries[currentKey][\"~run\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n config2\n ).issues) {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = schema[\"~run\"]({ value: input }, config2);\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variantAsync.ts\nfunction variantAsync(key, options, message) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variantAsync,\n expects: \"Object\",\n async: true,\n key,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = async (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n await parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n if ((await schema.entries[currentKey][\"~run\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n config2\n )).issues) {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = await schema[\"~run\"](\n { value: input },\n config2\n );\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n await parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/void/void.ts\nfunction void_(message) {\n return {\n kind: \"schema\",\n type: \"void\",\n reference: void_,\n expects: \"void\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/methods/keyof/keyof.ts\nfunction keyof(schema, message) {\n return picklist(Object.keys(schema.entries), message);\n}\n\n// src/methods/omit/omit.ts\nfunction omit(schema, keys) {\n const entries = {\n ...schema.entries\n };\n for (const key of keys) {\n delete entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/parse/parse.ts\nfunction parse(schema, input, config2) {\n const dataset = schema[\"~run\"]({ value: input }, getGlobalConfig(config2));\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parse/parseAsync.ts\nasync function parseAsync(schema, input, config2) {\n const dataset = await schema[\"~run\"](\n { value: input },\n getGlobalConfig(config2)\n );\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parser/parser.ts\nfunction parser(schema, config2) {\n const func = (input) => parse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/parser/parserAsync.ts\nfunction parserAsync(schema, config2) {\n const func = (input) => parseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/partial/partial.ts\nfunction partial(schema, keys) {\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? optional(schema.entries[key]) : schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/partial/partialAsync.ts\nfunction partialAsync(schema, keys) {\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? optionalAsync(schema.entries[key]) : schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/pick/pick.ts\nfunction pick(schema, keys) {\n const entries = {};\n for (const key of keys) {\n entries[key] = schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/pipe/pipe.ts\nfunction pipe(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = item[\"~run\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/pipe/pipeAsync.ts\nfunction pipeAsync(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n async: true,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = await item[\"~run\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/required/required.ts\nfunction required(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message = Array.isArray(arg2) ? arg3 : arg2;\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? nonOptional(schema.entries[key], message) : schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/required/requiredAsync.ts\nfunction requiredAsync(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message = Array.isArray(arg2) ? arg3 : arg2;\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? nonOptionalAsync(schema.entries[key], message) : schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/safeParse/safeParse.ts\nfunction safeParse(schema, input, config2) {\n const dataset = schema[\"~run\"]({ value: input }, getGlobalConfig(config2));\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParse/safeParseAsync.ts\nasync function safeParseAsync(schema, input, config2) {\n const dataset = await schema[\"~run\"](\n { value: input },\n getGlobalConfig(config2)\n );\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParser/safeParser.ts\nfunction safeParser(schema, config2) {\n const func = (input) => safeParse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/safeParser/safeParserAsync.ts\nfunction safeParserAsync(schema, config2) {\n const func = (input) => safeParseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/unwrap/unwrap.ts\nfunction unwrap(schema) {\n return schema.wrapped;\n}\nexport {\n BASE64_REGEX,\n BIC_REGEX,\n CUID2_REGEX,\n DECIMAL_REGEX,\n DIGITS_REGEX,\n EMAIL_REGEX,\n EMOJI_REGEX,\n HEXADECIMAL_REGEX,\n HEX_COLOR_REGEX,\n IMEI_REGEX,\n IPV4_REGEX,\n IPV6_REGEX,\n IP_REGEX,\n ISO_DATE_REGEX,\n ISO_DATE_TIME_REGEX,\n ISO_TIMESTAMP_REGEX,\n ISO_TIME_REGEX,\n ISO_TIME_SECOND_REGEX,\n ISO_WEEK_REGEX,\n MAC48_REGEX,\n MAC64_REGEX,\n MAC_REGEX,\n NANO_ID_REGEX,\n OCTAL_REGEX,\n ULID_REGEX,\n UUID_REGEX,\n ValiError,\n _addIssue,\n _getByteCount,\n _getGraphemeCount,\n _getStandardProps,\n _getWordCount,\n _isLuhnAlgo,\n _isValidObjectKey,\n _joinExpects,\n _stringify,\n any,\n args,\n argsAsync,\n array,\n arrayAsync,\n assert,\n awaitAsync,\n base64,\n bic,\n bigint,\n blob,\n boolean,\n brand,\n bytes,\n check,\n checkAsync,\n checkItems,\n checkItemsAsync,\n config,\n creditCard,\n cuid2,\n custom,\n customAsync,\n date,\n decimal,\n deleteGlobalConfig,\n deleteGlobalMessage,\n deleteSchemaMessage,\n deleteSpecificMessage,\n description,\n digits,\n email,\n emoji,\n empty,\n endsWith,\n entriesFromList,\n enum_ as enum,\n enum_,\n everyItem,\n excludes,\n fallback,\n fallbackAsync,\n file,\n filterItems,\n findItem,\n finite,\n flatten,\n forward,\n forwardAsync,\n function_ as function,\n function_,\n getDefault,\n getDefaults,\n getDefaultsAsync,\n getDotPath,\n getFallback,\n getFallbacks,\n getFallbacksAsync,\n getGlobalConfig,\n getGlobalMessage,\n getSchemaMessage,\n getSpecificMessage,\n graphemes,\n hash,\n hexColor,\n hexadecimal,\n imei,\n includes,\n instance,\n integer,\n intersect,\n intersectAsync,\n ip,\n ipv4,\n ipv6,\n is,\n isOfKind,\n isOfType,\n isValiError,\n isoDate,\n isoDateTime,\n isoTime,\n isoTimeSecond,\n isoTimestamp,\n isoWeek,\n keyof,\n lazy,\n lazyAsync,\n length,\n literal,\n looseObject,\n looseObjectAsync,\n looseTuple,\n looseTupleAsync,\n mac,\n mac48,\n mac64,\n map,\n mapAsync,\n mapItems,\n maxBytes,\n maxGraphemes,\n maxLength,\n maxSize,\n maxValue,\n maxWords,\n metadata,\n mimeType,\n minBytes,\n minGraphemes,\n minLength,\n minSize,\n minValue,\n minWords,\n multipleOf,\n nan,\n nanoid,\n never,\n nonEmpty,\n nonNullable,\n nonNullableAsync,\n nonNullish,\n nonNullishAsync,\n nonOptional,\n nonOptionalAsync,\n normalize,\n notBytes,\n notGraphemes,\n notLength,\n notSize,\n notValue,\n notWords,\n null_ as null,\n null_,\n nullable,\n nullableAsync,\n nullish,\n nullishAsync,\n number,\n object,\n objectAsync,\n objectWithRest,\n objectWithRestAsync,\n octal,\n omit,\n optional,\n optionalAsync,\n parse,\n parseAsync,\n parser,\n parserAsync,\n partial,\n partialAsync,\n partialCheck,\n partialCheckAsync,\n pick,\n picklist,\n pipe,\n pipeAsync,\n promise,\n rawCheck,\n rawCheckAsync,\n rawTransform,\n rawTransformAsync,\n readonly,\n record,\n recordAsync,\n reduceItems,\n regex,\n required,\n requiredAsync,\n returns,\n returnsAsync,\n safeInteger,\n safeParse,\n safeParseAsync,\n safeParser,\n safeParserAsync,\n set,\n setAsync,\n setGlobalConfig,\n setGlobalMessage,\n setSchemaMessage,\n setSpecificMessage,\n size,\n someItem,\n sortItems,\n startsWith,\n strictObject,\n strictObjectAsync,\n strictTuple,\n strictTupleAsync,\n string,\n symbol,\n title,\n toLowerCase,\n toMaxValue,\n toMinValue,\n toUpperCase,\n transform,\n transformAsync,\n trim,\n trimEnd,\n trimStart,\n tuple,\n tupleAsync,\n tupleWithRest,\n tupleWithRestAsync,\n ulid,\n undefined_ as undefined,\n undefined_,\n undefinedable,\n undefinedableAsync,\n union,\n unionAsync,\n unknown,\n unwrap,\n url,\n uuid,\n value,\n variant,\n variantAsync,\n void_ as void,\n void_,\n words\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file +{"version":3,"file":"index.DeCaB8sW.js","sources":["../../../../../../node_modules/.pnpm/valibot@1.0.0-beta.7_typescript@5.7.0-dev.20241105/node_modules/valibot/dist/index.js"],"sourcesContent":["// src/storages/globalConfig/globalConfig.ts\nvar store;\nfunction setGlobalConfig(config2) {\n store = { ...store, ...config2 };\n}\nfunction getGlobalConfig(config2) {\n return {\n lang: config2?.lang ?? store?.lang,\n message: config2?.message,\n abortEarly: config2?.abortEarly ?? store?.abortEarly,\n abortPipeEarly: config2?.abortPipeEarly ?? store?.abortPipeEarly\n };\n}\nfunction deleteGlobalConfig() {\n store = void 0;\n}\n\n// src/storages/globalMessage/globalMessage.ts\nvar store2;\nfunction setGlobalMessage(message, lang) {\n if (!store2) store2 = /* @__PURE__ */ new Map();\n store2.set(lang, message);\n}\nfunction getGlobalMessage(lang) {\n return store2?.get(lang);\n}\nfunction deleteGlobalMessage(lang) {\n store2?.delete(lang);\n}\n\n// src/storages/schemaMessage/schemaMessage.ts\nvar store3;\nfunction setSchemaMessage(message, lang) {\n if (!store3) store3 = /* @__PURE__ */ new Map();\n store3.set(lang, message);\n}\nfunction getSchemaMessage(lang) {\n return store3?.get(lang);\n}\nfunction deleteSchemaMessage(lang) {\n store3?.delete(lang);\n}\n\n// src/storages/specificMessage/specificMessage.ts\nvar store4;\nfunction setSpecificMessage(reference, message, lang) {\n if (!store4) store4 = /* @__PURE__ */ new Map();\n if (!store4.get(reference)) store4.set(reference, /* @__PURE__ */ new Map());\n store4.get(reference).set(lang, message);\n}\nfunction getSpecificMessage(reference, lang) {\n return store4?.get(reference)?.get(lang);\n}\nfunction deleteSpecificMessage(reference, lang) {\n store4?.get(reference)?.delete(lang);\n}\n\n// src/utils/_stringify/_stringify.ts\nfunction _stringify(input) {\n const type = typeof input;\n if (type === \"string\") {\n return `\"${input}\"`;\n }\n if (type === \"number\" || type === \"bigint\" || type === \"boolean\") {\n return `${input}`;\n }\n if (type === \"object\" || type === \"function\") {\n return (input && Object.getPrototypeOf(input)?.constructor?.name) ?? \"null\";\n }\n return type;\n}\n\n// src/utils/_addIssue/_addIssue.ts\nfunction _addIssue(context, label, dataset, config2, other) {\n const input = other && \"input\" in other ? other.input : dataset.value;\n const expected = other?.expected ?? context.expects ?? null;\n const received = other?.received ?? _stringify(input);\n const issue = {\n kind: context.kind,\n type: context.type,\n input,\n expected,\n received,\n message: `Invalid ${label}: ${expected ? `Expected ${expected} but r` : \"R\"}eceived ${received}`,\n requirement: context.requirement,\n path: other?.path,\n issues: other?.issues,\n lang: config2.lang,\n abortEarly: config2.abortEarly,\n abortPipeEarly: config2.abortPipeEarly\n };\n const isSchema = context.kind === \"schema\";\n const message = other?.message ?? context.message ?? getSpecificMessage(context.reference, issue.lang) ?? (isSchema ? getSchemaMessage(issue.lang) : null) ?? config2.message ?? getGlobalMessage(issue.lang);\n if (message) {\n issue.message = typeof message === \"function\" ? (\n // @ts-expect-error\n message(issue)\n ) : message;\n }\n if (isSchema) {\n dataset.typed = false;\n }\n if (dataset.issues) {\n dataset.issues.push(issue);\n } else {\n dataset.issues = [issue];\n }\n}\n\n// src/utils/_getByteCount/_getByteCount.ts\nvar textEncoder;\nfunction _getByteCount(input) {\n if (!textEncoder) {\n textEncoder = new TextEncoder();\n }\n return textEncoder.encode(input).length;\n}\n\n// src/utils/_getGraphemeCount/_getGraphemeCount.ts\nvar segmenter;\nfunction _getGraphemeCount(input) {\n if (!segmenter) {\n segmenter = new Intl.Segmenter();\n }\n const segments = segmenter.segment(input);\n let count = 0;\n for (const _ of segments) {\n count++;\n }\n return count;\n}\n\n// src/utils/_getStandardProps/_getStandardProps.ts\nfunction _getStandardProps(context) {\n return {\n version: 1,\n vendor: \"valibot\",\n validate(value2) {\n return context[\"~run\"]({ value: value2 }, getGlobalConfig());\n }\n };\n}\n\n// src/utils/_getWordCount/_getWordCount.ts\nvar store5;\nfunction _getWordCount(locales, input) {\n if (!store5) {\n store5 = /* @__PURE__ */ new Map();\n }\n if (!store5.get(locales)) {\n store5.set(locales, new Intl.Segmenter(locales, { granularity: \"word\" }));\n }\n const segments = store5.get(locales).segment(input);\n let count = 0;\n for (const segment of segments) {\n if (segment.isWordLike) {\n count++;\n }\n }\n return count;\n}\n\n// src/utils/_isLuhnAlgo/_isLuhnAlgo.ts\nvar NON_DIGIT_REGEX = /\\D/gu;\nfunction _isLuhnAlgo(input) {\n const number2 = input.replace(NON_DIGIT_REGEX, \"\");\n let length2 = number2.length;\n let bit = 1;\n let sum = 0;\n while (length2) {\n const value2 = +number2[--length2];\n bit ^= 1;\n sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value2] : value2;\n }\n return sum % 10 === 0;\n}\n\n// src/utils/_isValidObjectKey/_isValidObjectKey.ts\nfunction _isValidObjectKey(object2, key) {\n return Object.hasOwn(object2, key) && key !== \"__proto__\" && key !== \"prototype\" && key !== \"constructor\";\n}\n\n// src/utils/_joinExpects/_joinExpects.ts\nfunction _joinExpects(values, separator) {\n const list = [...new Set(values)];\n if (list.length > 1) {\n return `(${list.join(` ${separator} `)})`;\n }\n return list[0] ?? \"never\";\n}\n\n// src/utils/entriesFromList/entriesFromList.ts\nfunction entriesFromList(list, schema) {\n const entries = {};\n for (const key of list) {\n entries[key] = schema;\n }\n return entries;\n}\n\n// src/utils/getDotPath/getDotPath.ts\nfunction getDotPath(issue) {\n if (issue.path) {\n let key = \"\";\n for (const item of issue.path) {\n if (typeof item.key === \"string\" || typeof item.key === \"number\") {\n if (key) {\n key += `.${item.key}`;\n } else {\n key += item.key;\n }\n } else {\n return null;\n }\n }\n return key;\n }\n return null;\n}\n\n// src/utils/isOfKind/isOfKind.ts\nfunction isOfKind(kind, object2) {\n return object2.kind === kind;\n}\n\n// src/utils/isOfType/isOfType.ts\nfunction isOfType(type, object2) {\n return object2.type === type;\n}\n\n// src/utils/isValiError/isValiError.ts\nfunction isValiError(error) {\n return error instanceof ValiError;\n}\n\n// src/utils/ValiError/ValiError.ts\nvar ValiError = class extends Error {\n /**\n * The error issues.\n */\n issues;\n /**\n * Creates a Valibot error with useful information.\n *\n * @param issues The error issues.\n */\n constructor(issues) {\n super(issues[0].message);\n this.name = \"ValiError\";\n this.issues = issues;\n }\n};\n\n// src/actions/args/args.ts\nfunction args(schema) {\n return {\n kind: \"transformation\",\n type: \"args\",\n reference: args,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = (...args_) => {\n const argsDataset = this.schema[\"~run\"]({ value: args_ }, config2);\n if (argsDataset.issues) {\n throw new ValiError(argsDataset.issues);\n }\n return func(...argsDataset.value);\n };\n return dataset;\n }\n };\n}\n\n// src/actions/args/argsAsync.ts\nfunction argsAsync(schema) {\n return {\n kind: \"transformation\",\n type: \"args\",\n reference: argsAsync,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = async (...args2) => {\n const argsDataset = await schema[\"~run\"]({ value: args2 }, config2);\n if (argsDataset.issues) {\n throw new ValiError(argsDataset.issues);\n }\n return func(...argsDataset.value);\n };\n return dataset;\n }\n };\n}\n\n// src/actions/await/awaitAsync.ts\nfunction awaitAsync() {\n return {\n kind: \"transformation\",\n type: \"await\",\n reference: awaitAsync,\n async: true,\n async \"~run\"(dataset) {\n dataset.value = await dataset.value;\n return dataset;\n }\n };\n}\n\n// src/regex.ts\nvar BASE64_REGEX = /^(?:[\\da-z+/]{4})*(?:[\\da-z+/]{2}==|[\\da-z+/]{3}=)?$/iu;\nvar BIC_REGEX = /^[A-Z]{6}(?!00)[\\dA-Z]{2}(?:[\\dA-Z]{3})?$/u;\nvar CUID2_REGEX = /^[a-z][\\da-z]*$/u;\nvar DECIMAL_REGEX = /^[+-]?\\d+(?:\\.\\d+)?$/u;\nvar DIGITS_REGEX = /^\\d+$/u;\nvar EMAIL_REGEX = /^[\\w+-]+(?:\\.[\\w+-]+)*@[\\da-z]+(?:[.-][\\da-z]+)*\\.[a-z]{2,}$/iu;\nvar EMOJI_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex, regexp/no-dupe-disjunctions -- false positives\n /^(?:[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}))*)+$/u\n);\nvar HEXADECIMAL_REGEX = /^(?:0[hx])?[\\da-f]+$/iu;\nvar HEX_COLOR_REGEX = /^#(?:[\\da-f]{3,4}|[\\da-f]{6}|[\\da-f]{8})$/iu;\nvar IMEI_REGEX = /^\\d{15}$|^\\d{2}-\\d{6}-\\d{6}-\\d$/u;\nvar IPV4_REGEX = (\n // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive\n /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$/u\n);\nvar IPV6_REGEX = /^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar IP_REGEX = /^(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])(?:\\.(?:(?:[1-9]|1\\d|2[0-4])?\\d|25[0-5])){3}$|^(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:|(?:[\\da-f]{1,4}:){1,6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,5}(?::[\\da-f]{1,4}){1,2}|(?:[\\da-f]{1,4}:){1,4}(?::[\\da-f]{1,4}){1,3}|(?:[\\da-f]{1,4}:){1,3}(?::[\\da-f]{1,4}){1,4}|(?:[\\da-f]{1,4}:){1,2}(?::[\\da-f]{1,4}){1,5}|[\\da-f]{1,4}:(?::[\\da-f]{1,4}){1,6}|:(?:(?::[\\da-f]{1,4}){1,7}|:)|fe80:(?::[\\da-f]{0,4}){0,4}%[\\da-z]+|::(?:f{4}(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)|(?:[\\da-f]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d)\\.){3}(?:25[0-5]|(?:2[0-4]|1?\\d)?\\d))$/iu;\nvar ISO_DATE_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])$/u;\nvar ISO_DATE_TIME_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_REGEX = /^(?:0\\d|1\\d|2[0-3]):[0-5]\\d$/u;\nvar ISO_TIME_SECOND_REGEX = /^(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}$/u;\nvar ISO_TIMESTAMP_REGEX = /^\\d{4}-(?:0[1-9]|1[0-2])-(?:[12]\\d|0[1-9]|3[01])T(?:0\\d|1\\d|2[0-3])(?::[0-5]\\d){2}(?:\\.\\d{1,9})?(?:Z|[+-](?:0\\d|1\\d|2[0-3])(?::?[0-5]\\d)?)$/u;\nvar ISO_WEEK_REGEX = /^\\d{4}-W(?:0[1-9]|[1-4]\\d|5[0-3])$/u;\nvar MAC48_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$/iu;\nvar MAC64_REGEX = /^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar MAC_REGEX = /^(?:[\\da-f]{2}:){5}[\\da-f]{2}$|^(?:[\\da-f]{2}-){5}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){2}[\\da-f]{4}$|^(?:[\\da-f]{2}:){7}[\\da-f]{2}$|^(?:[\\da-f]{2}-){7}[\\da-f]{2}$|^(?:[\\da-f]{4}\\.){3}[\\da-f]{4}$|^(?:[\\da-f]{4}:){3}[\\da-f]{4}$/iu;\nvar NANO_ID_REGEX = /^[\\w-]+$/u;\nvar OCTAL_REGEX = /^(?:0o)?[0-7]+$/iu;\nvar ULID_REGEX = /^[\\da-hjkmnp-tv-z]{26}$/iu;\nvar UUID_REGEX = /^[\\da-f]{8}(?:-[\\da-f]{4}){3}-[\\da-f]{12}$/iu;\n\n// src/actions/base64/base64.ts\nfunction base64(message) {\n return {\n kind: \"validation\",\n type: \"base64\",\n reference: base64,\n async: false,\n expects: null,\n requirement: BASE64_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Base64\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/bic/bic.ts\nfunction bic(message) {\n return {\n kind: \"validation\",\n type: \"bic\",\n reference: bic,\n async: false,\n expects: null,\n requirement: BIC_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"BIC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/brand/brand.ts\nfunction brand(name) {\n return {\n kind: \"transformation\",\n type: \"brand\",\n reference: brand,\n async: false,\n name,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/bytes/bytes.ts\nfunction bytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"bytes\",\n reference: bytes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 !== this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/check.ts\nfunction check(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: check,\n async: false,\n expects: null,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/check/checkAsync.ts\nfunction checkAsync(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check\",\n reference: checkAsync,\n async: true,\n expects: null,\n requirement,\n message,\n async \"~run\"(dataset, config2) {\n if (dataset.typed && !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItems.ts\nfunction checkItems(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItems,\n async: false,\n expects: null,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n for (let index = 0; index < dataset.value.length; index++) {\n const item = dataset.value[index];\n if (!this.requirement(item, index, dataset.value)) {\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/checkItems/checkItemsAsync.ts\nfunction checkItemsAsync(requirement, message) {\n return {\n kind: \"validation\",\n type: \"check_items\",\n reference: checkItemsAsync,\n async: true,\n expects: null,\n requirement,\n message,\n async \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const requirementResults = await Promise.all(\n dataset.value.map(this.requirement)\n );\n for (let index = 0; index < dataset.value.length; index++) {\n if (!requirementResults[index]) {\n const item = dataset.value[index];\n _addIssue(this, \"item\", dataset, config2, {\n input: item,\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input: dataset.value,\n key: index,\n value: item\n }\n ]\n });\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/creditCard/creditCard.ts\nvar CREDIT_CARD_REGEX = /^(?:\\d{14,19}|\\d{4}(?: \\d{3,6}){2,4}|\\d{4}(?:-\\d{3,6}){2,4})$/u;\nvar SANITIZE_REGEX = /[- ]/gu;\nvar PROVIDER_REGEX_LIST = [\n // American Express\n /^3[47]\\d{13}$/u,\n // Diners Club\n /^3(?:0[0-5]|[68]\\d)\\d{11,13}$/u,\n // Discover\n /^6(?:011|5\\d{2})\\d{12,15}$/u,\n // JCB\n /^(?:2131|1800|35\\d{3})\\d{11}$/u,\n // Mastercard\n /^5[1-5]\\d{2}|(?:222\\d|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}$/u,\n // UnionPay\n /^(?:6[27]\\d{14,17}|81\\d{14,17})$/u,\n // Visa\n /^4\\d{12}(?:\\d{3,6})?$/u\n];\nfunction creditCard(message) {\n return {\n kind: \"validation\",\n type: \"credit_card\",\n reference: creditCard,\n async: false,\n expects: null,\n requirement(input) {\n let sanitized;\n return CREDIT_CARD_REGEX.test(input) && // Remove any hyphens and blanks\n (sanitized = input.replace(SANITIZE_REGEX, \"\")) && // Check if it matches a provider\n PROVIDER_REGEX_LIST.some((regex2) => regex2.test(sanitized)) && // Check if passes luhn algorithm\n _isLuhnAlgo(sanitized);\n },\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"credit card\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/cuid2/cuid2.ts\nfunction cuid2(message) {\n return {\n kind: \"validation\",\n type: \"cuid2\",\n reference: cuid2,\n async: false,\n expects: null,\n requirement: CUID2_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Cuid2\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/decimal/decimal.ts\nfunction decimal(message) {\n return {\n kind: \"validation\",\n type: \"decimal\",\n reference: decimal,\n async: false,\n expects: null,\n requirement: DECIMAL_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"decimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/description/description.ts\nfunction description(description_) {\n return {\n kind: \"metadata\",\n type: \"description\",\n reference: description,\n description: description_\n };\n}\n\n// src/actions/digits/digits.ts\nfunction digits(message) {\n return {\n kind: \"validation\",\n type: \"digits\",\n reference: digits,\n async: false,\n expects: null,\n requirement: DIGITS_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"digits\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/email/email.ts\nfunction email(message) {\n return {\n kind: \"validation\",\n type: \"email\",\n reference: email,\n expects: null,\n async: false,\n requirement: EMAIL_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"email\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/emoji/emoji.ts\nfunction emoji(message) {\n return {\n kind: \"validation\",\n type: \"emoji\",\n reference: emoji,\n async: false,\n expects: null,\n requirement: EMOJI_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"emoji\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/empty/empty.ts\nfunction empty(message) {\n return {\n kind: \"validation\",\n type: \"empty\",\n reference: empty,\n async: false,\n expects: \"0\",\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/endsWith/endsWith.ts\nfunction endsWith(requirement, message) {\n return {\n kind: \"validation\",\n type: \"ends_with\",\n reference: endsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.endsWith(this.requirement)) {\n _addIssue(this, \"end\", dataset, config2, {\n received: `\"${dataset.value.slice(-this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/everyItem/everyItem.ts\nfunction everyItem(requirement, message) {\n return {\n kind: \"validation\",\n type: \"every_item\",\n reference: everyItem,\n async: false,\n expects: null,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.every(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/excludes/excludes.ts\nfunction excludes(requirement, message) {\n const received = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"excludes\",\n reference: excludes,\n async: false,\n expects: `!${received}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, { received });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/filterItems/filterItems.ts\nfunction filterItems(operation) {\n return {\n kind: \"transformation\",\n type: \"filter_items\",\n reference: filterItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.filter(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/findItem/findItem.ts\nfunction findItem(operation) {\n return {\n kind: \"transformation\",\n type: \"find_item\",\n reference: findItem,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.find(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/finite/finite.ts\nfunction finite(message) {\n return {\n kind: \"validation\",\n type: \"finite\",\n reference: finite,\n async: false,\n expects: null,\n requirement: Number.isFinite,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"finite\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/graphemes/graphemes.ts\nfunction graphemes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"graphemes\",\n reference: graphemes,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count !== this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hash/hash.ts\nvar HASH_LENGTHS = {\n md4: 32,\n md5: 32,\n sha1: 40,\n sha256: 64,\n sha384: 96,\n sha512: 128,\n ripemd128: 32,\n ripemd160: 40,\n tiger128: 32,\n tiger160: 40,\n tiger192: 48,\n crc32: 8,\n crc32b: 8,\n adler32: 8\n};\nfunction hash(types, message) {\n return {\n kind: \"validation\",\n type: \"hash\",\n reference: hash,\n expects: null,\n async: false,\n requirement: RegExp(\n types.map((type) => `^[a-f0-9]{${HASH_LENGTHS[type]}}$`).join(\"|\"),\n \"iu\"\n ),\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hash\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexadecimal/hexadecimal.ts\nfunction hexadecimal(message) {\n return {\n kind: \"validation\",\n type: \"hexadecimal\",\n reference: hexadecimal,\n async: false,\n expects: null,\n requirement: HEXADECIMAL_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hexadecimal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/hexColor/hexColor.ts\nfunction hexColor(message) {\n return {\n kind: \"validation\",\n type: \"hex_color\",\n reference: hexColor,\n async: false,\n expects: null,\n requirement: HEX_COLOR_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"hex color\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/imei/imei.ts\nfunction imei(message) {\n return {\n kind: \"validation\",\n type: \"imei\",\n reference: imei,\n async: false,\n expects: null,\n requirement(input) {\n return IMEI_REGEX.test(input) && _isLuhnAlgo(input);\n },\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"IMEI\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/includes/includes.ts\nfunction includes(requirement, message) {\n const expects = _stringify(requirement);\n return {\n kind: \"validation\",\n type: \"includes\",\n reference: includes,\n async: false,\n expects,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.includes(this.requirement)) {\n _addIssue(this, \"content\", dataset, config2, {\n received: `!${expects}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/integer/integer.ts\nfunction integer(message) {\n return {\n kind: \"validation\",\n type: \"integer\",\n reference: integer,\n async: false,\n expects: null,\n requirement: Number.isInteger,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ip/ip.ts\nfunction ip(message) {\n return {\n kind: \"validation\",\n type: \"ip\",\n reference: ip,\n async: false,\n expects: null,\n requirement: IP_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IP\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv4/ipv4.ts\nfunction ipv4(message) {\n return {\n kind: \"validation\",\n type: \"ipv4\",\n reference: ipv4,\n async: false,\n expects: null,\n requirement: IPV4_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv4\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/ipv6/ipv6.ts\nfunction ipv6(message) {\n return {\n kind: \"validation\",\n type: \"ipv6\",\n reference: ipv6,\n async: false,\n expects: null,\n requirement: IPV6_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"IPv6\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDate/isoDate.ts\nfunction isoDate(message) {\n return {\n kind: \"validation\",\n type: \"iso_date\",\n reference: isoDate,\n async: false,\n expects: null,\n requirement: ISO_DATE_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoDateTime/isoDateTime.ts\nfunction isoDateTime(message) {\n return {\n kind: \"validation\",\n type: \"iso_date_time\",\n reference: isoDateTime,\n async: false,\n expects: null,\n requirement: ISO_DATE_TIME_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"date-time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTime/isoTime.ts\nfunction isoTime(message) {\n return {\n kind: \"validation\",\n type: \"iso_time\",\n reference: isoTime,\n async: false,\n expects: null,\n requirement: ISO_TIME_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimeSecond/isoTimeSecond.ts\nfunction isoTimeSecond(message) {\n return {\n kind: \"validation\",\n type: \"iso_time_second\",\n reference: isoTimeSecond,\n async: false,\n expects: null,\n requirement: ISO_TIME_SECOND_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"time-second\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoTimestamp/isoTimestamp.ts\nfunction isoTimestamp(message) {\n return {\n kind: \"validation\",\n type: \"iso_timestamp\",\n reference: isoTimestamp,\n async: false,\n expects: null,\n requirement: ISO_TIMESTAMP_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"timestamp\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/isoWeek/isoWeek.ts\nfunction isoWeek(message) {\n return {\n kind: \"validation\",\n type: \"iso_week\",\n reference: isoWeek,\n async: false,\n expects: null,\n requirement: ISO_WEEK_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"week\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/length/length.ts\nfunction length(requirement, message) {\n return {\n kind: \"validation\",\n type: \"length\",\n reference: length,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length !== this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac/mac.ts\nfunction mac(message) {\n return {\n kind: \"validation\",\n type: \"mac\",\n reference: mac,\n async: false,\n expects: null,\n requirement: MAC_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac48/mac48.ts\nfunction mac48(message) {\n return {\n kind: \"validation\",\n type: \"mac48\",\n reference: mac48,\n async: false,\n expects: null,\n requirement: MAC48_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"48-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mac64/mac64.ts\nfunction mac64(message) {\n return {\n kind: \"validation\",\n type: \"mac64\",\n reference: mac64,\n async: false,\n expects: null,\n requirement: MAC64_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"64-bit MAC\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/mapItems/mapItems.ts\nfunction mapItems(operation) {\n return {\n kind: \"transformation\",\n type: \"map_items\",\n reference: mapItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.map(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/maxBytes/maxBytes.ts\nfunction maxBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_bytes\",\n reference: maxBytes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 > this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxGraphemes/maxGraphemes.ts\nfunction maxGraphemes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_graphemes\",\n reference: maxGraphemes,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count > this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxLength/maxLength.ts\nfunction maxLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_length\",\n reference: maxLength,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length > this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxSize/maxSize.ts\nfunction maxSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_size\",\n reference: maxSize,\n async: false,\n expects: `<=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size > this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxValue/maxValue.ts\nfunction maxValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_value\",\n reference: maxValue,\n async: false,\n expects: `<=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value <= this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/maxWords/maxWords.ts\nfunction maxWords(locales, requirement, message) {\n return {\n kind: \"validation\",\n type: \"max_words\",\n reference: maxWords,\n async: false,\n expects: `<=${requirement}`,\n locales,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count > this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/metadata/metadata.ts\nfunction metadata(metadata_) {\n return {\n kind: \"metadata\",\n type: \"metadata\",\n reference: metadata,\n metadata: metadata_\n };\n}\n\n// src/actions/mimeType/mimeType.ts\nfunction mimeType(requirement, message) {\n return {\n kind: \"validation\",\n type: \"mime_type\",\n reference: mimeType,\n async: false,\n expects: _joinExpects(\n requirement.map((option) => `\"${option}\"`),\n \"|\"\n ),\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.includes(dataset.value.type)) {\n _addIssue(this, \"MIME type\", dataset, config2, {\n received: `\"${dataset.value.type}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minBytes/minBytes.ts\nfunction minBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_bytes\",\n reference: minBytes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 < this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minGraphemes/minGraphemes.ts\nfunction minGraphemes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_graphemes\",\n reference: minGraphemes,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count < this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minLength/minLength.ts\nfunction minLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_length\",\n reference: minLength,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length < this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minSize/minSize.ts\nfunction minSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_size\",\n reference: minSize,\n async: false,\n expects: `>=${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size < this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minValue/minValue.ts\nfunction minValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_value\",\n reference: minValue,\n async: false,\n expects: `>=${requirement instanceof Date ? requirement.toJSON() : _stringify(requirement)}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(dataset.value >= this.requirement)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/minWords/minWords.ts\nfunction minWords(locales, requirement, message) {\n return {\n kind: \"validation\",\n type: \"min_words\",\n reference: minWords,\n async: false,\n expects: `>=${requirement}`,\n locales,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count < this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/multipleOf/multipleOf.ts\nfunction multipleOf(requirement, message) {\n return {\n kind: \"validation\",\n type: \"multiple_of\",\n reference: multipleOf,\n async: false,\n expects: `%${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value % this.requirement !== 0) {\n _addIssue(this, \"multiple\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nanoid/nanoid.ts\nfunction nanoid(message) {\n return {\n kind: \"validation\",\n type: \"nanoid\",\n reference: nanoid,\n async: false,\n expects: null,\n requirement: NANO_ID_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"Nano ID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/nonEmpty/nonEmpty.ts\nfunction nonEmpty(message) {\n return {\n kind: \"validation\",\n type: \"non_empty\",\n reference: nonEmpty,\n async: false,\n expects: \"!0\",\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === 0) {\n _addIssue(this, \"length\", dataset, config2, {\n received: \"0\"\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/normalize/normalize.ts\nfunction normalize(form) {\n return {\n kind: \"transformation\",\n type: \"normalize\",\n reference: normalize,\n async: false,\n form,\n \"~run\"(dataset) {\n dataset.value = dataset.value.normalize(this.form);\n return dataset;\n }\n };\n}\n\n// src/actions/notBytes/notBytes.ts\nfunction notBytes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_bytes\",\n reference: notBytes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const length2 = _getByteCount(dataset.value);\n if (length2 === this.requirement) {\n _addIssue(this, \"bytes\", dataset, config2, {\n received: `${length2}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notGraphemes/notGraphemes.ts\nfunction notGraphemes(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_graphemes\",\n reference: notGraphemes,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getGraphemeCount(dataset.value);\n if (count === this.requirement) {\n _addIssue(this, \"graphemes\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notLength/notLength.ts\nfunction notLength(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_length\",\n reference: notLength,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.length === this.requirement) {\n _addIssue(this, \"length\", dataset, config2, {\n received: `${dataset.value.length}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notSize/notSize.ts\nfunction notSize(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_size\",\n reference: notSize,\n async: false,\n expects: `!${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size === this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notValue/notValue.ts\nfunction notValue(requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_value\",\n reference: notValue,\n async: false,\n expects: requirement instanceof Date ? `!${requirement.toJSON()}` : `!${_stringify(requirement)}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && this.requirement <= dataset.value && this.requirement >= dataset.value) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/notWords/notWords.ts\nfunction notWords(locales, requirement, message) {\n return {\n kind: \"validation\",\n type: \"not_words\",\n reference: notWords,\n async: false,\n expects: `!${requirement}`,\n locales,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count === this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/actions/octal/octal.ts\nfunction octal(message) {\n return {\n kind: \"validation\",\n type: \"octal\",\n reference: octal,\n async: false,\n expects: null,\n requirement: OCTAL_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"octal\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/utils/_isPartiallyTyped/_isPartiallyTyped.ts\nfunction _isPartiallyTyped(dataset, pathList) {\n if (dataset.issues) {\n for (const path of pathList) {\n for (const issue of dataset.issues) {\n let typed = false;\n const bound = Math.min(path.length, issue.path?.length ?? 0);\n for (let index = 0; index < bound; index++) {\n if (path[index] !== issue.path[index].key) {\n typed = true;\n break;\n }\n }\n if (!typed) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\n// src/actions/partialCheck/partialCheck.ts\nfunction partialCheck(pathList, requirement, message) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheck,\n async: false,\n expects: null,\n pathList,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (_isPartiallyTyped(dataset, pathList) && // @ts-expect-error\n !this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/partialCheck/partialCheckAsync.ts\nfunction partialCheckAsync(pathList, requirement, message) {\n return {\n kind: \"validation\",\n type: \"partial_check\",\n reference: partialCheckAsync,\n async: true,\n expects: null,\n pathList,\n requirement,\n message,\n async \"~run\"(dataset, config2) {\n if (_isPartiallyTyped(dataset, pathList) && // @ts-expect-error\n !await this.requirement(dataset.value)) {\n _addIssue(this, \"input\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheck.ts\nfunction rawCheck(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheck,\n async: false,\n expects: null,\n \"~run\"(dataset, config2) {\n action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawCheck/rawCheckAsync.ts\nfunction rawCheckAsync(action) {\n return {\n kind: \"validation\",\n type: \"raw_check\",\n reference: rawCheckAsync,\n async: true,\n expects: null,\n async \"~run\"(dataset, config2) {\n await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info)\n });\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransform.ts\nfunction rawTransform(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransform,\n async: false,\n \"~run\"(dataset, config2) {\n const output = action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/rawTransform/rawTransformAsync.ts\nfunction rawTransformAsync(action) {\n return {\n kind: \"transformation\",\n type: \"raw_transform\",\n reference: rawTransformAsync,\n async: true,\n async \"~run\"(dataset, config2) {\n const output = await action({\n dataset,\n config: config2,\n addIssue: (info) => _addIssue(this, info?.label ?? \"input\", dataset, config2, info),\n NEVER: null\n });\n if (dataset.issues) {\n dataset.typed = false;\n } else {\n dataset.value = output;\n }\n return dataset;\n }\n };\n}\n\n// src/actions/readonly/readonly.ts\nfunction readonly() {\n return {\n kind: \"transformation\",\n type: \"readonly\",\n reference: readonly,\n async: false,\n \"~run\"(dataset) {\n return dataset;\n }\n };\n}\n\n// src/actions/reduceItems/reduceItems.ts\nfunction reduceItems(operation, initial) {\n return {\n kind: \"transformation\",\n type: \"reduce_items\",\n reference: reduceItems,\n async: false,\n operation,\n initial,\n \"~run\"(dataset) {\n dataset.value = dataset.value.reduce(this.operation, this.initial);\n return dataset;\n }\n };\n}\n\n// src/actions/regex/regex.ts\nfunction regex(requirement, message) {\n return {\n kind: \"validation\",\n type: \"regex\",\n reference: regex,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"format\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/returns/returns.ts\nfunction returns(schema) {\n return {\n kind: \"transformation\",\n type: \"returns\",\n reference: returns,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = (...args_) => {\n const returnsDataset = this.schema[\"~run\"](\n { value: func(...args_) },\n config2\n );\n if (returnsDataset.issues) {\n throw new ValiError(returnsDataset.issues);\n }\n return returnsDataset.value;\n };\n return dataset;\n }\n };\n}\n\n// src/actions/returns/returnsAsync.ts\nfunction returnsAsync(schema) {\n return {\n kind: \"transformation\",\n type: \"returns\",\n reference: returnsAsync,\n async: false,\n schema,\n \"~run\"(dataset, config2) {\n const func = dataset.value;\n dataset.value = async (...args_) => {\n const returnsDataset = await this.schema[\"~run\"](\n { value: await func(...args_) },\n config2\n );\n if (returnsDataset.issues) {\n throw new ValiError(returnsDataset.issues);\n }\n return returnsDataset.value;\n };\n return dataset;\n }\n };\n}\n\n// src/actions/safeInteger/safeInteger.ts\nfunction safeInteger(message) {\n return {\n kind: \"validation\",\n type: \"safe_integer\",\n reference: safeInteger,\n async: false,\n expects: null,\n requirement: Number.isSafeInteger,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"safe integer\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/size/size.ts\nfunction size(requirement, message) {\n return {\n kind: \"validation\",\n type: \"size\",\n reference: size,\n async: false,\n expects: `${requirement}`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && dataset.value.size !== this.requirement) {\n _addIssue(this, \"size\", dataset, config2, {\n received: `${dataset.value.size}`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/someItem/someItem.ts\nfunction someItem(requirement, message) {\n return {\n kind: \"validation\",\n type: \"some_item\",\n reference: someItem,\n async: false,\n expects: null,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.some(this.requirement)) {\n _addIssue(this, \"item\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/sortItems/sortItems.ts\nfunction sortItems(operation) {\n return {\n kind: \"transformation\",\n type: \"sort_items\",\n reference: sortItems,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = dataset.value.sort(this.operation);\n return dataset;\n }\n };\n}\n\n// src/actions/startsWith/startsWith.ts\nfunction startsWith(requirement, message) {\n return {\n kind: \"validation\",\n type: \"starts_with\",\n reference: startsWith,\n async: false,\n expects: `\"${requirement}\"`,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !dataset.value.startsWith(this.requirement)) {\n _addIssue(this, \"start\", dataset, config2, {\n received: `\"${dataset.value.slice(0, this.requirement.length)}\"`\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/title/title.ts\nfunction title(title_) {\n return {\n kind: \"metadata\",\n type: \"title\",\n reference: title,\n title: title_\n };\n}\n\n// src/actions/toLowerCase/toLowerCase.ts\nfunction toLowerCase() {\n return {\n kind: \"transformation\",\n type: \"to_lower_case\",\n reference: toLowerCase,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.toLowerCase();\n return dataset;\n }\n };\n}\n\n// src/actions/toMaxValue/toMaxValue.ts\nfunction toMaxValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_max_value\",\n reference: toMaxValue,\n async: false,\n requirement,\n \"~run\"(dataset) {\n dataset.value = dataset.value > this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toMinValue/toMinValue.ts\nfunction toMinValue(requirement) {\n return {\n kind: \"transformation\",\n type: \"to_min_value\",\n reference: toMinValue,\n async: false,\n requirement,\n \"~run\"(dataset) {\n dataset.value = dataset.value < this.requirement ? this.requirement : dataset.value;\n return dataset;\n }\n };\n}\n\n// src/actions/toUpperCase/toUpperCase.ts\nfunction toUpperCase() {\n return {\n kind: \"transformation\",\n type: \"to_upper_case\",\n reference: toUpperCase,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.toUpperCase();\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transform.ts\nfunction transform(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transform,\n async: false,\n operation,\n \"~run\"(dataset) {\n dataset.value = this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/transform/transformAsync.ts\nfunction transformAsync(operation) {\n return {\n kind: \"transformation\",\n type: \"transform\",\n reference: transformAsync,\n async: true,\n operation,\n async \"~run\"(dataset) {\n dataset.value = await this.operation(dataset.value);\n return dataset;\n }\n };\n}\n\n// src/actions/trim/trim.ts\nfunction trim() {\n return {\n kind: \"transformation\",\n type: \"trim\",\n reference: trim,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trim();\n return dataset;\n }\n };\n}\n\n// src/actions/trimEnd/trimEnd.ts\nfunction trimEnd() {\n return {\n kind: \"transformation\",\n type: \"trim_end\",\n reference: trimEnd,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trimEnd();\n return dataset;\n }\n };\n}\n\n// src/actions/trimStart/trimStart.ts\nfunction trimStart() {\n return {\n kind: \"transformation\",\n type: \"trim_start\",\n reference: trimStart,\n async: false,\n \"~run\"(dataset) {\n dataset.value = dataset.value.trimStart();\n return dataset;\n }\n };\n}\n\n// src/actions/ulid/ulid.ts\nfunction ulid(message) {\n return {\n kind: \"validation\",\n type: \"ulid\",\n reference: ulid,\n async: false,\n expects: null,\n requirement: ULID_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"ULID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/url/url.ts\nfunction url(message) {\n return {\n kind: \"validation\",\n type: \"url\",\n reference: url,\n async: false,\n expects: null,\n requirement(input) {\n try {\n new URL(input);\n return true;\n } catch {\n return false;\n }\n },\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement(dataset.value)) {\n _addIssue(this, \"URL\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/uuid/uuid.ts\nfunction uuid(message) {\n return {\n kind: \"validation\",\n type: \"uuid\",\n reference: uuid,\n async: false,\n expects: null,\n requirement: UUID_REGEX,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !this.requirement.test(dataset.value)) {\n _addIssue(this, \"UUID\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/actions/value/value.ts\nfunction value(requirement, message) {\n return {\n kind: \"validation\",\n type: \"value\",\n reference: value,\n async: false,\n expects: requirement instanceof Date ? requirement.toJSON() : _stringify(requirement),\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed && !(this.requirement <= dataset.value && this.requirement >= dataset.value)) {\n _addIssue(this, \"value\", dataset, config2, {\n received: dataset.value instanceof Date ? dataset.value.toJSON() : _stringify(dataset.value)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/actions/words/words.ts\nfunction words(locales, requirement, message) {\n return {\n kind: \"validation\",\n type: \"words\",\n reference: words,\n async: false,\n expects: `${requirement}`,\n locales,\n requirement,\n message,\n \"~run\"(dataset, config2) {\n if (dataset.typed) {\n const count = _getWordCount(this.locales, dataset.value);\n if (count !== this.requirement) {\n _addIssue(this, \"words\", dataset, config2, {\n received: `${count}`\n });\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/assert/assert.ts\nfunction assert(schema, input) {\n const issues = schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n if (issues) {\n throw new ValiError(issues);\n }\n}\n\n// src/methods/config/config.ts\nfunction config(schema, config2) {\n return {\n ...schema,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config_) {\n return schema[\"~run\"](dataset, { ...config_, ...config2 });\n }\n };\n}\n\n// src/methods/getFallback/getFallback.ts\nfunction getFallback(schema, dataset, config2) {\n return typeof schema.fallback === \"function\" ? (\n // @ts-expect-error\n schema.fallback(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.fallback\n );\n}\n\n// src/methods/fallback/fallback.ts\nfunction fallback(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const outputDataset = schema[\"~run\"](dataset, config2);\n return outputDataset.issues ? { typed: true, value: getFallback(this, outputDataset, config2) } : outputDataset;\n }\n };\n}\n\n// src/methods/fallback/fallbackAsync.ts\nfunction fallbackAsync(schema, fallback2) {\n return {\n ...schema,\n fallback: fallback2,\n async: true,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const outputDataset = await schema[\"~run\"](dataset, config2);\n return outputDataset.issues ? {\n typed: true,\n value: await getFallback(this, outputDataset, config2)\n } : outputDataset;\n }\n };\n}\n\n// src/methods/flatten/flatten.ts\nfunction flatten(issues) {\n const flatErrors = {};\n for (const issue of issues) {\n if (issue.path) {\n const dotPath = getDotPath(issue);\n if (dotPath) {\n if (!flatErrors.nested) {\n flatErrors.nested = {};\n }\n if (flatErrors.nested[dotPath]) {\n flatErrors.nested[dotPath].push(issue.message);\n } else {\n flatErrors.nested[dotPath] = [issue.message];\n }\n } else {\n if (flatErrors.other) {\n flatErrors.other.push(issue.message);\n } else {\n flatErrors.other = [issue.message];\n }\n }\n } else {\n if (flatErrors.root) {\n flatErrors.root.push(issue.message);\n } else {\n flatErrors.root = [issue.message];\n }\n }\n }\n return flatErrors;\n}\n\n// src/methods/forward/forward.ts\nfunction forward(action, pathKeys) {\n return {\n ...action,\n \"~run\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n dataset = action[\"~run\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of pathKeys) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/forward/forwardAsync.ts\nfunction forwardAsync(action, pathKeys) {\n return {\n ...action,\n async: true,\n async \"~run\"(dataset, config2) {\n const prevIssues = dataset.issues && [...dataset.issues];\n dataset = await action[\"~run\"](dataset, config2);\n if (dataset.issues) {\n for (const issue of dataset.issues) {\n if (!prevIssues?.includes(issue)) {\n let pathInput = dataset.value;\n for (const key of pathKeys) {\n const pathValue = pathInput[key];\n const pathItem = {\n type: \"unknown\",\n origin: \"value\",\n input: pathInput,\n key,\n value: pathValue\n };\n if (issue.path) {\n issue.path.push(pathItem);\n } else {\n issue.path = [pathItem];\n }\n if (!pathValue) {\n break;\n }\n pathInput = pathValue;\n }\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/getDefault/getDefault.ts\nfunction getDefault(schema, dataset, config2) {\n return typeof schema.default === \"function\" ? (\n // @ts-expect-error\n schema.default(dataset, config2)\n ) : (\n // @ts-expect-error\n schema.default\n );\n}\n\n// src/methods/getDefaults/getDefaults.ts\nfunction getDefaults(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = getDefaults(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getDefaults);\n }\n return getDefault(schema);\n}\n\n// src/methods/getDefaults/getDefaultsAsync.ts\nasync function getDefaultsAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getDefaultsAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getDefaultsAsync));\n }\n return getDefault(schema);\n}\n\n// src/methods/getFallbacks/getFallbacks.ts\nfunction getFallbacks(schema) {\n if (\"entries\" in schema) {\n const object2 = {};\n for (const key in schema.entries) {\n object2[key] = getFallbacks(schema.entries[key]);\n }\n return object2;\n }\n if (\"items\" in schema) {\n return schema.items.map(getFallbacks);\n }\n return getFallback(schema);\n}\n\n// src/methods/getFallbacks/getFallbacksAsync.ts\nasync function getFallbacksAsync(schema) {\n if (\"entries\" in schema) {\n return Object.fromEntries(\n await Promise.all(\n Object.entries(schema.entries).map(async ([key, value2]) => [\n key,\n await getFallbacksAsync(value2)\n ])\n )\n );\n }\n if (\"items\" in schema) {\n return Promise.all(schema.items.map(getFallbacksAsync));\n }\n return getFallback(schema);\n}\n\n// src/methods/is/is.ts\nfunction is(schema, input) {\n return !schema[\"~run\"]({ value: input }, { abortEarly: true }).issues;\n}\n\n// src/schemas/any/any.ts\nfunction any() {\n return {\n kind: \"schema\",\n type: \"any\",\n reference: any,\n expects: \"any\",\n async: false,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/array/array.ts\nfunction array(item, message) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: array,\n expects: \"Array\",\n async: false,\n item,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.item[\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/array/arrayAsync.ts\nfunction arrayAsync(item, message) {\n return {\n kind: \"schema\",\n type: \"array\",\n reference: arrayAsync,\n expects: \"Array\",\n async: true,\n item,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n input.map((value2) => this.item[\"~run\"]({ value: value2 }, config2))\n );\n for (let key = 0; key < itemDatasets.length; key++) {\n const itemDataset = itemDatasets[key];\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: input[key]\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/bigint/bigint.ts\nfunction bigint(message) {\n return {\n kind: \"schema\",\n type: \"bigint\",\n reference: bigint,\n expects: \"bigint\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"bigint\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/blob/blob.ts\nfunction blob(message) {\n return {\n kind: \"schema\",\n type: \"blob\",\n reference: blob,\n expects: \"Blob\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Blob) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/boolean/boolean.ts\nfunction boolean(message) {\n return {\n kind: \"schema\",\n type: \"boolean\",\n reference: boolean,\n expects: \"boolean\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"boolean\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/custom.ts\nfunction custom(check2, message) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: custom,\n expects: \"unknown\",\n async: false,\n check: check2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/custom/customAsync.ts\nfunction customAsync(check2, message) {\n return {\n kind: \"schema\",\n type: \"custom\",\n reference: customAsync,\n expects: \"unknown\",\n async: true,\n check: check2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (await this.check(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/date/date.ts\nfunction date(message) {\n return {\n kind: \"schema\",\n type: \"date\",\n reference: date,\n expects: \"Date\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Date) {\n if (!isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n received: '\"Invalid Date\"'\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/enum/enum.ts\nfunction enum_(enum__, message) {\n const options = Object.entries(enum__).filter(([key]) => isNaN(+key)).map(([, value2]) => value2);\n return {\n kind: \"schema\",\n type: \"enum\",\n reference: enum_,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n enum: enum__,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/file/file.ts\nfunction file(message) {\n return {\n kind: \"schema\",\n type: \"file\",\n reference: file,\n expects: \"File\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof File) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/function/function.ts\nfunction function_(message) {\n return {\n kind: \"schema\",\n type: \"function\",\n reference: function_,\n expects: \"Function\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"function\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/instance/instance.ts\nfunction instance(class_, message) {\n return {\n kind: \"schema\",\n type: \"instance\",\n reference: instance,\n expects: class_.name,\n async: false,\n class: class_,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof this.class) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/utils/_merge/_merge.ts\nfunction _merge(value1, value2) {\n if (typeof value1 === typeof value2) {\n if (value1 === value2 || value1 instanceof Date && value2 instanceof Date && +value1 === +value2) {\n return { value: value1 };\n }\n if (value1 && value2 && value1.constructor === Object && value2.constructor === Object) {\n for (const key in value2) {\n if (key in value1) {\n const dataset = _merge(value1[key], value2[key]);\n if (dataset.issue) {\n return dataset;\n }\n value1[key] = dataset.value;\n } else {\n value1[key] = value2[key];\n }\n }\n return { value: value1 };\n }\n if (Array.isArray(value1) && Array.isArray(value2)) {\n if (value1.length === value2.length) {\n for (let index = 0; index < value1.length; index++) {\n const dataset = _merge(value1[index], value2[index]);\n if (dataset.issue) {\n return dataset;\n }\n value1[index] = dataset.value;\n }\n return { value: value1 };\n }\n }\n }\n return { issue: true };\n}\n\n// src/schemas/intersect/intersect.ts\nfunction intersect(options, message) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersect,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: false,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n for (const schema of this.options) {\n const optionDataset = schema[\"~run\"]({ value: input }, config2);\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/intersect/intersectAsync.ts\nfunction intersectAsync(options, message) {\n return {\n kind: \"schema\",\n type: \"intersect\",\n reference: intersectAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"&\"\n ),\n async: true,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (this.options.length) {\n const input = dataset.value;\n let outputs;\n dataset.typed = true;\n const optionDatasets = await Promise.all(\n this.options.map((schema) => schema[\"~run\"]({ value: input }, config2))\n );\n for (const optionDataset of optionDatasets) {\n if (optionDataset.issues) {\n if (dataset.issues) {\n dataset.issues.push(...optionDataset.issues);\n } else {\n dataset.issues = optionDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!optionDataset.typed) {\n dataset.typed = false;\n }\n if (dataset.typed) {\n if (outputs) {\n outputs.push(optionDataset.value);\n } else {\n outputs = [optionDataset.value];\n }\n }\n }\n if (dataset.typed) {\n dataset.value = outputs[0];\n for (let index = 1; index < outputs.length; index++) {\n const mergeDataset = _merge(dataset.value, outputs[index]);\n if (mergeDataset.issue) {\n _addIssue(this, \"type\", dataset, config2, {\n received: \"unknown\"\n });\n break;\n }\n dataset.value = mergeDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/lazy/lazy.ts\nfunction lazy(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazy,\n expects: \"unknown\",\n async: false,\n getter,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n return this.getter(dataset.value)[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/lazy/lazyAsync.ts\nfunction lazyAsync(getter) {\n return {\n kind: \"schema\",\n type: \"lazy\",\n reference: lazyAsync,\n expects: \"unknown\",\n async: true,\n getter,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n return (await this.getter(dataset.value))[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/literal/literal.ts\nfunction literal(literal_, message) {\n return {\n kind: \"schema\",\n type: \"literal\",\n reference: literal,\n expects: _stringify(literal_),\n async: false,\n literal: literal_,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === this.literal) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObject.ts\nfunction looseObject(entries, message) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObject,\n expects: \"Object\",\n async: false,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseObject/looseObjectAsync.ts\nfunction looseObjectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"loose_object\",\n reference: looseObjectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~run\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n dataset.value[key] = input[key];\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTuple.ts\nfunction looseTuple(items, message) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/looseTuple/looseTupleAsync.ts\nfunction looseTupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"loose_tuple\",\n reference: looseTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n dataset.value.push(input[key]);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/map.ts\nfunction map(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: map,\n expects: \"Map\",\n async: false,\n key,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n for (const [inputKey, inputValue] of input) {\n const keyDataset = this.key[\"~run\"]({ value: inputKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~run\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/map/mapAsync.ts\nfunction mapAsync(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"map\",\n reference: mapAsync,\n expects: \"Map\",\n async: true,\n key,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Map) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Map();\n const datasets = await Promise.all(\n [...input].map(\n ([inputKey, inputValue]) => Promise.all([\n inputKey,\n inputValue,\n this.key[\"~run\"]({ value: inputKey }, config2),\n this.value[\"~run\"]({ value: inputValue }, config2)\n ])\n )\n );\n for (const [\n inputKey,\n inputValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"key\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of keyDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"map\",\n origin: \"value\",\n input,\n key: inputKey,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.set(keyDataset.value, valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nan/nan.ts\nfunction nan(message) {\n return {\n kind: \"schema\",\n type: \"nan\",\n reference: nan,\n expects: \"NaN\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (Number.isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/never/never.ts\nfunction never(message) {\n return {\n kind: \"schema\",\n type: \"never\",\n reference: never,\n expects: \"never\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n _addIssue(this, \"type\", dataset, config2);\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullable.ts\nfunction nonNullable(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullable,\n expects: \"!null\",\n async: false,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value !== null) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullable/nonNullableAsync.ts\nfunction nonNullableAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullable\",\n reference: nonNullableAsync,\n expects: \"!null\",\n async: true,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value !== null) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullish.ts\nfunction nonNullish(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullish,\n expects: \"(!null & !undefined)\",\n async: false,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (!(dataset.value === null || dataset.value === void 0)) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonNullish/nonNullishAsync.ts\nfunction nonNullishAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_nullish\",\n reference: nonNullishAsync,\n expects: \"(!null & !undefined)\",\n async: true,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (!(dataset.value === null || dataset.value === void 0)) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptional.ts\nfunction nonOptional(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptional,\n expects: \"!undefined\",\n async: false,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value !== void 0) {\n dataset = this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nonOptional/nonOptionalAsync.ts\nfunction nonOptionalAsync(wrapped, message) {\n return {\n kind: \"schema\",\n type: \"non_optional\",\n reference: nonOptionalAsync,\n expects: \"!undefined\",\n async: true,\n wrapped,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value !== void 0) {\n dataset = await this.wrapped[\"~run\"](dataset, config2);\n }\n if (dataset.value === void 0) {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/null/null.ts\nfunction null_(message) {\n return {\n kind: \"schema\",\n type: \"null\",\n reference: null_,\n expects: \"null\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/nullable/nullable.ts\nfunction nullable(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullable,\n expects: `(${wrapped.expects} | null)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullable/nullableAsync.ts\nfunction nullableAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullable\",\n reference: nullableAsync,\n expects: `(${wrapped.expects} | null)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === null) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullish/nullish.ts\nfunction nullish(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullish,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === null || dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/nullish/nullishAsync.ts\nfunction nullishAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"nullish\",\n reference: nullishAsync,\n expects: `(${wrapped.expects} | null | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === null || dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === null || dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/number/number.ts\nfunction number(message) {\n return {\n kind: \"schema\",\n type: \"number\",\n reference: number,\n expects: \"number\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"number\" && !isNaN(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/object.ts\nfunction object(entries, message) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: object,\n expects: \"Object\",\n async: false,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/object/objectAsync.ts\nfunction objectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"object\",\n reference: objectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~run\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRest.ts\nfunction objectWithRest(entries, rest, message) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRest,\n expects: \"Object\",\n async: false,\n entries,\n rest,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (_isValidObjectKey(input, key) && !(key in this.entries)) {\n const value2 = input[key];\n const valueDataset = this.rest[\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/objectWithRest/objectWithRestAsync.ts\nfunction objectWithRestAsync(entries, rest, message) {\n return {\n kind: \"schema\",\n type: \"object_with_rest\",\n reference: objectWithRestAsync,\n expects: \"Object\",\n async: true,\n entries,\n rest,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal entry\n // Hint: We do not distinguish between missing and `undefined` entries.\n // The reason for this decision is that it reduces the bundle size, and\n // we also expect that most users will expect this behavior.\n Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~run\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other entries with rest schema\n // Hint: We exclude specific keys for security reasons\n Promise.all(\n Object.entries(input).filter(\n ([key]) => _isValidObjectKey(input, key) && !(key in this.entries)\n ).map(\n async ([key, value2]) => [\n key,\n value2,\n await this.rest[\"~run\"]({ value: value2 }, config2)\n ]\n )\n )\n ]);\n for (const [key, value2, valueDataset] of normalDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, valueDataset] of restDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value[key] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/optional/optional.ts\nfunction optional(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: optional,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/optional/optionalAsync.ts\nfunction optionalAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"optional\",\n reference: optionalAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/picklist/picklist.ts\nfunction picklist(options, message) {\n return {\n kind: \"schema\",\n type: \"picklist\",\n reference: picklist,\n expects: _joinExpects(options.map(_stringify), \"|\"),\n async: false,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (this.options.includes(dataset.value)) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/promise/promise.ts\nfunction promise(message) {\n return {\n kind: \"schema\",\n type: \"promise\",\n reference: promise,\n expects: \"Promise\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value instanceof Promise) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/record.ts\nfunction record(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: record,\n expects: \"Object\",\n async: false,\n key,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const entryKey in input) {\n if (_isValidObjectKey(input, entryKey)) {\n const entryValue = input[entryKey];\n const keyDataset = this.key[\"~run\"]({ value: entryKey }, config2);\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n const valueDataset = this.value[\"~run\"](\n { value: entryValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/record/recordAsync.ts\nfunction recordAsync(key, value2, message) {\n return {\n kind: \"schema\",\n type: \"record\",\n reference: recordAsync,\n expects: \"Object\",\n async: true,\n key,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const datasets = await Promise.all(\n Object.entries(input).filter(([key2]) => _isValidObjectKey(input, key2)).map(\n ([entryKey, entryValue]) => Promise.all([\n entryKey,\n entryValue,\n this.key[\"~run\"]({ value: entryKey }, config2),\n this.value[\"~run\"]({ value: entryValue }, config2)\n ])\n )\n );\n for (const [\n entryKey,\n entryValue,\n keyDataset,\n valueDataset\n ] of datasets) {\n if (keyDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"key\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of keyDataset.issues) {\n issue.path = [pathItem];\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = keyDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key: entryKey,\n value: entryValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!keyDataset.typed || !valueDataset.typed) {\n dataset.typed = false;\n }\n if (keyDataset.typed) {\n dataset.value[keyDataset.value] = valueDataset.value;\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/set.ts\nfunction set(value2, message) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: set,\n expects: \"Set\",\n async: false,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n for (const inputValue of input) {\n const valueDataset = this.value[\"~run\"](\n { value: inputValue },\n config2\n );\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/set/setAsync.ts\nfunction setAsync(value2, message) {\n return {\n kind: \"schema\",\n type: \"set\",\n reference: setAsync,\n expects: \"Set\",\n async: true,\n value: value2,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input instanceof Set) {\n dataset.typed = true;\n dataset.value = /* @__PURE__ */ new Set();\n const valueDatasets = await Promise.all(\n [...input].map(\n async (inputValue) => [\n inputValue,\n await this.value[\"~run\"]({ value: inputValue }, config2)\n ]\n )\n );\n for (const [inputValue, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"set\",\n origin: \"value\",\n input,\n key: null,\n value: inputValue\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.add(valueDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObject.ts\nfunction strictObject(entries, message) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObject,\n expects: \"Object\",\n async: false,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n for (const key in this.entries) {\n const value2 = input[key];\n const valueDataset = this.entries[key][\"~run\"]({ value: value2 }, config2);\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictObject/strictObjectAsync.ts\nfunction strictObjectAsync(entries, message) {\n return {\n kind: \"schema\",\n type: \"strict_object\",\n reference: strictObjectAsync,\n expects: \"Object\",\n async: true,\n entries,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n dataset.typed = true;\n dataset.value = {};\n const valueDatasets = await Promise.all(\n Object.entries(this.entries).map(async ([key, schema]) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await schema[\"~run\"]({ value: value2 }, config2)\n ];\n })\n );\n for (const [key, value2, valueDataset] of valueDatasets) {\n if (valueDataset.issues) {\n const pathItem = {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of valueDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = valueDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!valueDataset.typed) {\n dataset.typed = false;\n }\n if (valueDataset.value !== void 0 || key in input) {\n dataset.value[key] = valueDataset.value;\n }\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const key in input) {\n if (!(key in this.entries)) {\n const value2 = input[key];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key,\n value: value2\n }\n ]\n });\n break;\n }\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTuple.ts\nfunction strictTuple(items, message) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n const value2 = input[items.length];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: value2\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/strictTuple/strictTupleAsync.ts\nfunction strictTupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"strict_tuple\",\n reference: strictTupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!(dataset.issues && config2.abortEarly) && this.items.length < input.length) {\n const value2 = input[items.length];\n _addIssue(this, \"type\", dataset, config2, {\n input: value2,\n expected: \"never\",\n path: [\n {\n type: \"array\",\n origin: \"value\",\n input,\n key: this.items.length,\n value: value2\n }\n ]\n });\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/string/string.ts\nfunction string(message) {\n return {\n kind: \"schema\",\n type: \"string\",\n reference: string,\n expects: \"string\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"string\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/symbol/symbol.ts\nfunction symbol(message) {\n return {\n kind: \"schema\",\n type: \"symbol\",\n reference: symbol,\n expects: \"symbol\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (typeof dataset.value === \"symbol\") {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tuple.ts\nfunction tuple(items, message) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tuple,\n expects: \"Array\",\n async: false,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tuple/tupleAsync.ts\nfunction tupleAsync(items, message) {\n return {\n kind: \"schema\",\n type: \"tuple\",\n reference: tupleAsync,\n expects: \"Array\",\n async: true,\n items,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const itemDatasets = await Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [key, value2, await item[\"~run\"]({ value: value2 }, config2)];\n })\n );\n for (const [key, value2, itemDataset] of itemDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRest.ts\nfunction tupleWithRest(items, rest, message) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRest,\n expects: \"Array\",\n async: false,\n items,\n rest,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n for (let key = 0; key < this.items.length; key++) {\n const value2 = input[key];\n const itemDataset = this.items[key][\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (let key = this.items.length; key < input.length; key++) {\n const value2 = input[key];\n const itemDataset = this.rest[\"~run\"]({ value: value2 }, config2);\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/tupleWithRest/tupleWithRestAsync.ts\nfunction tupleWithRestAsync(items, rest, message) {\n return {\n kind: \"schema\",\n type: \"tuple_with_rest\",\n reference: tupleWithRestAsync,\n expects: \"Array\",\n async: true,\n items,\n rest,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (Array.isArray(input)) {\n dataset.typed = true;\n dataset.value = [];\n const [normalDatasets, restDatasets] = await Promise.all([\n // Parse schema of each normal item\n Promise.all(\n this.items.map(async (item, key) => {\n const value2 = input[key];\n return [\n key,\n value2,\n await item[\"~run\"]({ value: value2 }, config2)\n ];\n })\n ),\n // Parse other items with rest schema\n Promise.all(\n input.slice(this.items.length).map(async (value2, key) => {\n return [\n key + this.items.length,\n value2,\n await this.rest[\"~run\"]({ value: value2 }, config2)\n ];\n })\n )\n ]);\n for (const [key, value2, itemDataset] of normalDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n if (!dataset.issues || !config2.abortEarly) {\n for (const [key, value2, itemDataset] of restDatasets) {\n if (itemDataset.issues) {\n const pathItem = {\n type: \"array\",\n origin: \"value\",\n input,\n key,\n value: value2\n };\n for (const issue of itemDataset.issues) {\n if (issue.path) {\n issue.path.unshift(pathItem);\n } else {\n issue.path = [pathItem];\n }\n dataset.issues?.push(issue);\n }\n if (!dataset.issues) {\n dataset.issues = itemDataset.issues;\n }\n if (config2.abortEarly) {\n dataset.typed = false;\n break;\n }\n }\n if (!itemDataset.typed) {\n dataset.typed = false;\n }\n dataset.value.push(itemDataset.value);\n }\n }\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefined/undefined.ts\nfunction undefined_(message) {\n return {\n kind: \"schema\",\n type: \"undefined\",\n reference: undefined_,\n expects: \"undefined\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedable.ts\nfunction undefinedable(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedable,\n expects: `(${wrapped.expects} | undefined)`,\n async: false,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/undefinedable/undefinedableAsync.ts\nfunction undefinedableAsync(wrapped, default_) {\n return {\n kind: \"schema\",\n type: \"undefinedable\",\n reference: undefinedableAsync,\n expects: `(${wrapped.expects} | undefined)`,\n async: true,\n wrapped,\n default: default_,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n if (this.default !== void 0) {\n dataset.value = await getDefault(this, dataset, config2);\n }\n if (dataset.value === void 0) {\n dataset.typed = true;\n return dataset;\n }\n }\n return this.wrapped[\"~run\"](dataset, config2);\n }\n };\n}\n\n// src/schemas/union/utils/_subIssues/_subIssues.ts\nfunction _subIssues(datasets) {\n let issues;\n if (datasets) {\n for (const dataset of datasets) {\n if (issues) {\n issues.push(...dataset.issues);\n } else {\n issues = dataset.issues;\n }\n }\n }\n return issues;\n}\n\n// src/schemas/union/union.ts\nfunction union(options, message) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: union,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: false,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = schema[\"~run\"]({ value: dataset.value }, config2);\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/union/unionAsync.ts\nfunction unionAsync(options, message) {\n return {\n kind: \"schema\",\n type: \"union\",\n reference: unionAsync,\n expects: _joinExpects(\n options.map((option) => option.expects),\n \"|\"\n ),\n async: true,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n let validDataset;\n let typedDatasets;\n let untypedDatasets;\n for (const schema of this.options) {\n const optionDataset = await schema[\"~run\"](\n { value: dataset.value },\n config2\n );\n if (optionDataset.typed) {\n if (optionDataset.issues) {\n if (typedDatasets) {\n typedDatasets.push(optionDataset);\n } else {\n typedDatasets = [optionDataset];\n }\n } else {\n validDataset = optionDataset;\n break;\n }\n } else {\n if (untypedDatasets) {\n untypedDatasets.push(optionDataset);\n } else {\n untypedDatasets = [optionDataset];\n }\n }\n }\n if (validDataset) {\n return validDataset;\n }\n if (typedDatasets) {\n if (typedDatasets.length === 1) {\n return typedDatasets[0];\n }\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(typedDatasets)\n });\n dataset.typed = true;\n } else if (untypedDatasets?.length === 1) {\n return untypedDatasets[0];\n } else {\n _addIssue(this, \"type\", dataset, config2, {\n issues: _subIssues(untypedDatasets)\n });\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/unknown/unknown.ts\nfunction unknown() {\n return {\n kind: \"schema\",\n type: \"unknown\",\n reference: unknown,\n expects: \"unknown\",\n async: false,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset) {\n dataset.typed = true;\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variant.ts\nfunction variant(key, options, message) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variant,\n expects: \"Object\",\n async: false,\n key,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n if (schema.entries[currentKey][\"~run\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n config2\n ).issues) {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = schema[\"~run\"]({ value: input }, config2);\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/variant/variantAsync.ts\nfunction variantAsync(key, options, message) {\n return {\n kind: \"schema\",\n type: \"variant\",\n reference: variantAsync,\n expects: \"Object\",\n async: true,\n key,\n options,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n const input = dataset.value;\n if (input && typeof input === \"object\") {\n let outputDataset;\n let maxDiscriminatorPriority = 0;\n let invalidDiscriminatorKey = this.key;\n let expectedDiscriminators = [];\n const parseOptions = async (variant2, allKeys) => {\n for (const schema of variant2.options) {\n if (schema.type === \"variant\") {\n await parseOptions(schema, new Set(allKeys).add(schema.key));\n } else {\n let keysAreValid = true;\n let currentPriority = 0;\n for (const currentKey of allKeys) {\n if ((await schema.entries[currentKey][\"~run\"](\n // @ts-expect-error\n { typed: false, value: input[currentKey] },\n config2\n )).issues) {\n keysAreValid = false;\n if (invalidDiscriminatorKey !== currentKey && (maxDiscriminatorPriority < currentPriority || maxDiscriminatorPriority === currentPriority && currentKey in input && !(invalidDiscriminatorKey in input))) {\n maxDiscriminatorPriority = currentPriority;\n invalidDiscriminatorKey = currentKey;\n expectedDiscriminators = [];\n }\n if (invalidDiscriminatorKey === currentKey) {\n expectedDiscriminators.push(\n schema.entries[currentKey].expects\n );\n }\n break;\n }\n currentPriority++;\n }\n if (keysAreValid) {\n const optionDataset = await schema[\"~run\"](\n { value: input },\n config2\n );\n if (!outputDataset || !outputDataset.typed && optionDataset.typed) {\n outputDataset = optionDataset;\n }\n }\n }\n if (outputDataset && !outputDataset.issues) {\n break;\n }\n }\n };\n await parseOptions(this, /* @__PURE__ */ new Set([this.key]));\n if (outputDataset) {\n return outputDataset;\n }\n _addIssue(this, \"type\", dataset, config2, {\n // @ts-expect-error\n input: input[invalidDiscriminatorKey],\n expected: _joinExpects(expectedDiscriminators, \"|\"),\n path: [\n {\n type: \"object\",\n origin: \"value\",\n input,\n key: invalidDiscriminatorKey,\n // @ts-expect-error\n value: input[invalidDiscriminatorKey]\n }\n ]\n });\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/schemas/void/void.ts\nfunction void_(message) {\n return {\n kind: \"schema\",\n type: \"void\",\n reference: void_,\n expects: \"void\",\n async: false,\n message,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n if (dataset.value === void 0) {\n dataset.typed = true;\n } else {\n _addIssue(this, \"type\", dataset, config2);\n }\n return dataset;\n }\n };\n}\n\n// src/methods/keyof/keyof.ts\nfunction keyof(schema, message) {\n return picklist(Object.keys(schema.entries), message);\n}\n\n// src/methods/omit/omit.ts\nfunction omit(schema, keys) {\n const entries = {\n ...schema.entries\n };\n for (const key of keys) {\n delete entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/parse/parse.ts\nfunction parse(schema, input, config2) {\n const dataset = schema[\"~run\"]({ value: input }, getGlobalConfig(config2));\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parse/parseAsync.ts\nasync function parseAsync(schema, input, config2) {\n const dataset = await schema[\"~run\"](\n { value: input },\n getGlobalConfig(config2)\n );\n if (dataset.issues) {\n throw new ValiError(dataset.issues);\n }\n return dataset.value;\n}\n\n// src/methods/parser/parser.ts\nfunction parser(schema, config2) {\n const func = (input) => parse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/parser/parserAsync.ts\nfunction parserAsync(schema, config2) {\n const func = (input) => parseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/partial/partial.ts\nfunction partial(schema, keys) {\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? optional(schema.entries[key]) : schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/partial/partialAsync.ts\nfunction partialAsync(schema, keys) {\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? optionalAsync(schema.entries[key]) : schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/pick/pick.ts\nfunction pick(schema, keys) {\n const entries = {};\n for (const key of keys) {\n entries[key] = schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/pipe/pipe.ts\nfunction pipe(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n \"~run\"(dataset, config2) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = item[\"~run\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/pipe/pipeAsync.ts\nfunction pipeAsync(...pipe2) {\n return {\n ...pipe2[0],\n pipe: pipe2,\n async: true,\n get \"~standard\"() {\n return _getStandardProps(this);\n },\n async \"~run\"(dataset, config2) {\n for (const item of pipe2) {\n if (item.kind !== \"metadata\") {\n if (dataset.issues && (item.kind === \"schema\" || item.kind === \"transformation\")) {\n dataset.typed = false;\n break;\n }\n if (!dataset.issues || !config2.abortEarly && !config2.abortPipeEarly) {\n dataset = await item[\"~run\"](dataset, config2);\n }\n }\n }\n return dataset;\n }\n };\n}\n\n// src/methods/required/required.ts\nfunction required(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message = Array.isArray(arg2) ? arg3 : arg2;\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? nonOptional(schema.entries[key], message) : schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/required/requiredAsync.ts\nfunction requiredAsync(schema, arg2, arg3) {\n const keys = Array.isArray(arg2) ? arg2 : void 0;\n const message = Array.isArray(arg2) ? arg3 : arg2;\n const entries = {};\n for (const key in schema.entries) {\n entries[key] = !keys || keys.includes(key) ? nonOptionalAsync(schema.entries[key], message) : schema.entries[key];\n }\n return {\n ...schema,\n entries,\n get \"~standard\"() {\n return _getStandardProps(this);\n }\n };\n}\n\n// src/methods/safeParse/safeParse.ts\nfunction safeParse(schema, input, config2) {\n const dataset = schema[\"~run\"]({ value: input }, getGlobalConfig(config2));\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParse/safeParseAsync.ts\nasync function safeParseAsync(schema, input, config2) {\n const dataset = await schema[\"~run\"](\n { value: input },\n getGlobalConfig(config2)\n );\n return {\n typed: dataset.typed,\n success: !dataset.issues,\n output: dataset.value,\n issues: dataset.issues\n };\n}\n\n// src/methods/safeParser/safeParser.ts\nfunction safeParser(schema, config2) {\n const func = (input) => safeParse(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/safeParser/safeParserAsync.ts\nfunction safeParserAsync(schema, config2) {\n const func = (input) => safeParseAsync(schema, input, config2);\n func.schema = schema;\n func.config = config2;\n return func;\n}\n\n// src/methods/unwrap/unwrap.ts\nfunction unwrap(schema) {\n return schema.wrapped;\n}\nexport {\n BASE64_REGEX,\n BIC_REGEX,\n CUID2_REGEX,\n DECIMAL_REGEX,\n DIGITS_REGEX,\n EMAIL_REGEX,\n EMOJI_REGEX,\n HEXADECIMAL_REGEX,\n HEX_COLOR_REGEX,\n IMEI_REGEX,\n IPV4_REGEX,\n IPV6_REGEX,\n IP_REGEX,\n ISO_DATE_REGEX,\n ISO_DATE_TIME_REGEX,\n ISO_TIMESTAMP_REGEX,\n ISO_TIME_REGEX,\n ISO_TIME_SECOND_REGEX,\n ISO_WEEK_REGEX,\n MAC48_REGEX,\n MAC64_REGEX,\n MAC_REGEX,\n NANO_ID_REGEX,\n OCTAL_REGEX,\n ULID_REGEX,\n UUID_REGEX,\n ValiError,\n _addIssue,\n _getByteCount,\n _getGraphemeCount,\n _getStandardProps,\n _getWordCount,\n _isLuhnAlgo,\n _isValidObjectKey,\n _joinExpects,\n _stringify,\n any,\n args,\n argsAsync,\n array,\n arrayAsync,\n assert,\n awaitAsync,\n base64,\n bic,\n bigint,\n blob,\n boolean,\n brand,\n bytes,\n check,\n checkAsync,\n checkItems,\n checkItemsAsync,\n config,\n creditCard,\n cuid2,\n custom,\n customAsync,\n date,\n decimal,\n deleteGlobalConfig,\n deleteGlobalMessage,\n deleteSchemaMessage,\n deleteSpecificMessage,\n description,\n digits,\n email,\n emoji,\n empty,\n endsWith,\n entriesFromList,\n enum_ as enum,\n enum_,\n everyItem,\n excludes,\n fallback,\n fallbackAsync,\n file,\n filterItems,\n findItem,\n finite,\n flatten,\n forward,\n forwardAsync,\n function_ as function,\n function_,\n getDefault,\n getDefaults,\n getDefaultsAsync,\n getDotPath,\n getFallback,\n getFallbacks,\n getFallbacksAsync,\n getGlobalConfig,\n getGlobalMessage,\n getSchemaMessage,\n getSpecificMessage,\n graphemes,\n hash,\n hexColor,\n hexadecimal,\n imei,\n includes,\n instance,\n integer,\n intersect,\n intersectAsync,\n ip,\n ipv4,\n ipv6,\n is,\n isOfKind,\n isOfType,\n isValiError,\n isoDate,\n isoDateTime,\n isoTime,\n isoTimeSecond,\n isoTimestamp,\n isoWeek,\n keyof,\n lazy,\n lazyAsync,\n length,\n literal,\n looseObject,\n looseObjectAsync,\n looseTuple,\n looseTupleAsync,\n mac,\n mac48,\n mac64,\n map,\n mapAsync,\n mapItems,\n maxBytes,\n maxGraphemes,\n maxLength,\n maxSize,\n maxValue,\n maxWords,\n metadata,\n mimeType,\n minBytes,\n minGraphemes,\n minLength,\n minSize,\n minValue,\n minWords,\n multipleOf,\n nan,\n nanoid,\n never,\n nonEmpty,\n nonNullable,\n nonNullableAsync,\n nonNullish,\n nonNullishAsync,\n nonOptional,\n nonOptionalAsync,\n normalize,\n notBytes,\n notGraphemes,\n notLength,\n notSize,\n notValue,\n notWords,\n null_ as null,\n null_,\n nullable,\n nullableAsync,\n nullish,\n nullishAsync,\n number,\n object,\n objectAsync,\n objectWithRest,\n objectWithRestAsync,\n octal,\n omit,\n optional,\n optionalAsync,\n parse,\n parseAsync,\n parser,\n parserAsync,\n partial,\n partialAsync,\n partialCheck,\n partialCheckAsync,\n pick,\n picklist,\n pipe,\n pipeAsync,\n promise,\n rawCheck,\n rawCheckAsync,\n rawTransform,\n rawTransformAsync,\n readonly,\n record,\n recordAsync,\n reduceItems,\n regex,\n required,\n requiredAsync,\n returns,\n returnsAsync,\n safeInteger,\n safeParse,\n safeParseAsync,\n safeParser,\n safeParserAsync,\n set,\n setAsync,\n setGlobalConfig,\n setGlobalMessage,\n setSchemaMessage,\n setSpecificMessage,\n size,\n someItem,\n sortItems,\n startsWith,\n strictObject,\n strictObjectAsync,\n strictTuple,\n strictTupleAsync,\n string,\n symbol,\n title,\n toLowerCase,\n toMaxValue,\n toMinValue,\n toUpperCase,\n transform,\n transformAsync,\n trim,\n trimEnd,\n trimStart,\n tuple,\n tupleAsync,\n tupleWithRest,\n tupleWithRestAsync,\n ulid,\n undefined_ as undefined,\n undefined_,\n undefinedable,\n undefinedableAsync,\n union,\n unionAsync,\n unknown,\n unwrap,\n url,\n uuid,\n value,\n variant,\n variantAsync,\n void_ as void,\n void_,\n words\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/messages.js b/web/app/themes/haiku-atelier-2024/assets/js/messages.js index b74c1779..f562bbce 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/messages.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/messages.js @@ -1,4 +1,4 @@ -import { p as parse } from "./index.CXGAS3st.js"; +import { p as parse } from "./index.DeCaB8sW.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"; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/messages2.js b/web/app/themes/haiku-atelier-2024/assets/js/messages2.js index 26d3dbea..08dd15a0 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/messages2.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/messages2.js @@ -1,4 +1,4 @@ -import { e as enum_, o as object, a as pipe, v as value, s as string, n as number, b as array } from "./index.CXGAS3st.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.DeCaB8sW.js"; import { T as TYPES_MESSAGES } from "./messages3.js"; import { a as WCStoreCartItemSchema } from "./cart.js"; import "./cart2.js"; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/orders.js b/web/app/themes/haiku-atelier-2024/assets/js/orders.js index fdf97833..d2002c3d 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/orders.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/orders.js @@ -1,2 +1,162 @@ - +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 diff --git a/web/app/themes/haiku-atelier-2024/assets/js/orders.js.map b/web/app/themes/haiku-atelier-2024/assets/js/orders.js.map index 8e4a23f3..7b6bfac5 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/orders.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/orders.js.map @@ -1 +1 @@ -{"version":3,"file":"orders.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file +{"version":3,"file":"orders.js","sources":["../../src/scripts/lib/schemas/api/v3/orders.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport { ORDER_STATUSES, TAX_STATUSES } from \"../../../../constantes/orders\";\nimport { WCStoreBillingAddressSchema, WCStoreShippingAddressSchema } from \"../adresses\";\n\nexport const WCV3OrdersCouponLineMetaDataSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersCouponLineSchema = v.object({\n code: v.string(),\n discount: v.string(),\n discount_tax: v.string(),\n discount_type: v.string(),\n free_shipping: v.boolean(),\n id: v.pipe(v.number(), v.integer()),\n meta_data: v.array(WCV3OrdersCouponLineMetaDataSchema),\n nominal_amount: v.number(),\n});\n\nexport const WCV3OrdersFeeLineMetaDataSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersFeeLineTaxSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n subtotal: v.string(),\n total: v.string(),\n});\n\nexport const WCV3OrdersFeeLineSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n meta_data: v.array(WCV3OrdersFeeLineMetaDataSchema),\n name: v.string(),\n tax_class: v.string(),\n tax_status: v.enum(TAX_STATUSES),\n taxes: v.array(WCV3OrdersFeeLineTaxSchema),\n total: v.string(),\n total_tax: v.string(),\n});\n\nexport const WCV3OrdersShippingLineMetaDataSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersShippingLineTaxSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n total: v.string(),\n});\n\nexport const WCV3OrdersShippingLineSchema = v.object({\n id: v.optional(v.pipe(v.number(), v.integer())),\n meta_data: v.optional(v.array(WCV3OrdersShippingLineMetaDataSchema)),\n method_id: v.optional(v.string()),\n method_title: v.optional(v.string()),\n taxes: v.optional(v.array(WCV3OrdersShippingLineTaxSchema)),\n total: v.optional(v.string()),\n total_tax: v.optional(v.string()),\n});\n\nexport const WCV3OrdersLineItemImageSchema = v.object({\n id: v.union([v.string(), v.pipe(v.number(), v.integer())]),\n src: v.string(),\n});\n\nexport const WCV3OrdersLineItemMetaDataSchema = v.object({\n display_key: v.string(),\n display_value: v.string(),\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersLineItemTaxSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n subtotal: v.string(),\n total: v.string(),\n});\n\nexport const WCV3OrdersLineItemSchema = v.object({\n id: v.optional(v.pipe(v.number(), v.integer())),\n image: v.optional(WCV3OrdersLineItemImageSchema),\n meta_data: v.optional(v.array(WCV3OrdersLineItemMetaDataSchema)),\n name: v.optional(v.string()),\n parent_name: v.optional(v.union([v.string(), v.null()])),\n price: v.optional(v.number()),\n product_id: v.optional(v.pipe(v.number(), v.integer())),\n quantity: v.optional(v.pipe(v.number(), v.integer())),\n sku: v.optional(v.string()),\n subtotal: v.optional(v.string()),\n subtotal_tax: v.optional(v.string()),\n tax_class: v.optional(v.string()),\n taxes: v.optional(v.array(WCV3OrdersLineItemTaxSchema)),\n total: v.optional(v.string()),\n total_tax: v.optional(v.string()),\n variation_id: v.optional(v.pipe(v.number(), v.integer())),\n});\n\nexport const WCV3OrdersMetaDataSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersArgsSchema = v.object({\n billing: v.optional(WCStoreBillingAddressSchema),\n coupon_lines: v.optional(v.array(WCV3OrdersCouponLineSchema)),\n currency: v.optional(v.string()),\n customer_id: v.optional(v.pipe(v.number(), v.integer())),\n customer_note: v.optional(v.string()),\n fee_lines: v.optional(v.array(WCV3OrdersFeeLineSchema)),\n line_items: v.optional(v.array(WCV3OrdersLineItemSchema)),\n manual_update: v.optional(v.boolean()),\n parent_id: v.optional(v.pipe(v.number(), v.integer())),\n payment_method: v.optional(v.string()),\n payment_method_title: v.optional(v.string()),\n set_paid: v.optional(v.boolean()),\n shipping: v.optional(WCStoreShippingAddressSchema),\n shipping_lines: v.optional(v.array(WCV3OrdersShippingLineSchema)),\n status: v.optional(v.enum(ORDER_STATUSES)),\n transaction_id: v.optional(v.string()),\n});\n\nexport const WCV3OrderSchema = v.object({\n billing: WCStoreBillingAddressSchema,\n cart_hash: v.string(),\n cart_tax: v.string(),\n coupon_lines: v.array(WCV3OrdersCouponLineSchema),\n created_via: v.string(),\n currency: v.string(),\n currency_symbol: v.string(),\n customer_id: v.pipe(v.number(), v.integer()),\n customer_ip_address: v.string(),\n customer_note: v.string(),\n customer_user_agent: v.string(),\n date_completed: v.union([v.string(), v.null()]),\n date_completed_gmt: v.union([v.string(), v.null()]),\n // Date\n date_created: v.string(),\n date_created_gmt: v.string(),\n date_modified: v.string(),\n date_modified_gmt: v.string(),\n date_paid: v.union([v.string(), v.null()]),\n date_paid_gmt: v.union([v.string(), v.null()]),\n discount_tax: v.string(),\n discount_total: v.string(),\n fee_lines: v.array(WCV3OrdersFeeLineSchema),\n id: v.pipe(v.number(), v.integer()),\n is_editable: v.boolean(),\n line_items: v.array(WCV3OrdersLineItemSchema),\n meta_data: v.unknown(),\n needs_payment: v.boolean(),\n needs_processing: v.boolean(),\n number: v.string(),\n order_key: v.string(),\n parent_id: v.pipe(v.number(), v.integer()),\n payment_method: v.string(),\n payment_method_title: v.string(),\n payment_url: v.string(),\n prices_include_tax: v.boolean(),\n refunds: v.array(v.unknown()),\n shipping: WCStoreShippingAddressSchema,\n shipping_lines: v.array(WCV3OrdersShippingLineSchema),\n shipping_tax: v.string(),\n shipping_total: v.string(),\n status: v.enum(ORDER_STATUSES),\n tax_lines: v.array(v.unknown()),\n total: v.string(),\n total_tax: v.string(),\n transaction_id: v.string(),\n version: v.string(),\n});\n"],"names":["v.object","v.pipe","v.number","v.integer","v.string","v.unknown","v.boolean","v.array","v.enum","v.optional","v.union","v.null"],"mappings":"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"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/orders2.js b/web/app/themes/haiku-atelier-2024/assets/js/orders2.js index 82b3c6f4..f2f9ac56 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/orders2.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/orders2.js @@ -1,162 +1,20 @@ -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.CXGAS3st.js"; -import { T as TAX_STATUSES, O as ORDER_STATUSES } from "./orders3.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() -}); +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 { - WCV3OrdersArgsSchema as W, - WCV3OrderSchema as a + ORDER_STATUSES as O, + TAX_STATUSES as T }; //# sourceMappingURL=orders2.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/orders2.js.map b/web/app/themes/haiku-atelier-2024/assets/js/orders2.js.map index a0a2cb9d..a60c6efa 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/orders2.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/orders2.js.map @@ -1 +1 @@ -{"version":3,"file":"orders2.js","sources":["../../src/scripts/lib/schemas/api/v3/orders.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport { ORDER_STATUSES, TAX_STATUSES } from \"../../../../constantes/orders\";\nimport { WCStoreBillingAddressSchema, WCStoreShippingAddressSchema } from \"../adresses\";\n\nexport const WCV3OrdersCouponLineMetaDataSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersCouponLineSchema = v.object({\n code: v.string(),\n discount: v.string(),\n discount_tax: v.string(),\n discount_type: v.string(),\n free_shipping: v.boolean(),\n id: v.pipe(v.number(), v.integer()),\n meta_data: v.array(WCV3OrdersCouponLineMetaDataSchema),\n nominal_amount: v.number(),\n});\n\nexport const WCV3OrdersFeeLineMetaDataSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersFeeLineTaxSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n subtotal: v.string(),\n total: v.string(),\n});\n\nexport const WCV3OrdersFeeLineSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n meta_data: v.array(WCV3OrdersFeeLineMetaDataSchema),\n name: v.string(),\n tax_class: v.string(),\n tax_status: v.enum(TAX_STATUSES),\n taxes: v.array(WCV3OrdersFeeLineTaxSchema),\n total: v.string(),\n total_tax: v.string(),\n});\n\nexport const WCV3OrdersShippingLineMetaDataSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersShippingLineTaxSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n total: v.string(),\n});\n\nexport const WCV3OrdersShippingLineSchema = v.object({\n id: v.optional(v.pipe(v.number(), v.integer())),\n meta_data: v.optional(v.array(WCV3OrdersShippingLineMetaDataSchema)),\n method_id: v.optional(v.string()),\n method_title: v.optional(v.string()),\n taxes: v.optional(v.array(WCV3OrdersShippingLineTaxSchema)),\n total: v.optional(v.string()),\n total_tax: v.optional(v.string()),\n});\n\nexport const WCV3OrdersLineItemImageSchema = v.object({\n id: v.union([v.string(), v.pipe(v.number(), v.integer())]),\n src: v.string(),\n});\n\nexport const WCV3OrdersLineItemMetaDataSchema = v.object({\n display_key: v.string(),\n display_value: v.string(),\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersLineItemTaxSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n subtotal: v.string(),\n total: v.string(),\n});\n\nexport const WCV3OrdersLineItemSchema = v.object({\n id: v.optional(v.pipe(v.number(), v.integer())),\n image: v.optional(WCV3OrdersLineItemImageSchema),\n meta_data: v.optional(v.array(WCV3OrdersLineItemMetaDataSchema)),\n name: v.optional(v.string()),\n parent_name: v.optional(v.union([v.string(), v.null()])),\n price: v.optional(v.number()),\n product_id: v.optional(v.pipe(v.number(), v.integer())),\n quantity: v.optional(v.pipe(v.number(), v.integer())),\n sku: v.optional(v.string()),\n subtotal: v.optional(v.string()),\n subtotal_tax: v.optional(v.string()),\n tax_class: v.optional(v.string()),\n taxes: v.optional(v.array(WCV3OrdersLineItemTaxSchema)),\n total: v.optional(v.string()),\n total_tax: v.optional(v.string()),\n variation_id: v.optional(v.pipe(v.number(), v.integer())),\n});\n\nexport const WCV3OrdersMetaDataSchema = v.object({\n id: v.pipe(v.number(), v.integer()),\n key: v.string(),\n value: v.unknown(),\n});\n\nexport const WCV3OrdersArgsSchema = v.object({\n billing: v.optional(WCStoreBillingAddressSchema),\n coupon_lines: v.optional(v.array(WCV3OrdersCouponLineSchema)),\n currency: v.optional(v.string()),\n customer_id: v.optional(v.pipe(v.number(), v.integer())),\n customer_note: v.optional(v.string()),\n fee_lines: v.optional(v.array(WCV3OrdersFeeLineSchema)),\n line_items: v.optional(v.array(WCV3OrdersLineItemSchema)),\n manual_update: v.optional(v.boolean()),\n parent_id: v.optional(v.pipe(v.number(), v.integer())),\n payment_method: v.optional(v.string()),\n payment_method_title: v.optional(v.string()),\n set_paid: v.optional(v.boolean()),\n shipping: v.optional(WCStoreShippingAddressSchema),\n shipping_lines: v.optional(v.array(WCV3OrdersShippingLineSchema)),\n status: v.optional(v.enum(ORDER_STATUSES)),\n transaction_id: v.optional(v.string()),\n});\n\nexport const WCV3OrderSchema = v.object({\n billing: WCStoreBillingAddressSchema,\n cart_hash: v.string(),\n cart_tax: v.string(),\n coupon_lines: v.array(WCV3OrdersCouponLineSchema),\n created_via: v.string(),\n currency: v.string(),\n currency_symbol: v.string(),\n customer_id: v.pipe(v.number(), v.integer()),\n customer_ip_address: v.string(),\n customer_note: v.string(),\n customer_user_agent: v.string(),\n date_completed: v.union([v.string(), v.null()]),\n date_completed_gmt: v.union([v.string(), v.null()]),\n // Date\n date_created: v.string(),\n date_created_gmt: v.string(),\n date_modified: v.string(),\n date_modified_gmt: v.string(),\n date_paid: v.union([v.string(), v.null()]),\n date_paid_gmt: v.union([v.string(), v.null()]),\n discount_tax: v.string(),\n discount_total: v.string(),\n fee_lines: v.array(WCV3OrdersFeeLineSchema),\n id: v.pipe(v.number(), v.integer()),\n is_editable: v.boolean(),\n line_items: v.array(WCV3OrdersLineItemSchema),\n meta_data: v.unknown(),\n needs_payment: v.boolean(),\n needs_processing: v.boolean(),\n number: v.string(),\n order_key: v.string(),\n parent_id: v.pipe(v.number(), v.integer()),\n payment_method: v.string(),\n payment_method_title: v.string(),\n payment_url: v.string(),\n prices_include_tax: v.boolean(),\n refunds: v.array(v.unknown()),\n shipping: WCStoreShippingAddressSchema,\n shipping_lines: v.array(WCV3OrdersShippingLineSchema),\n shipping_tax: v.string(),\n shipping_total: v.string(),\n status: v.enum(ORDER_STATUSES),\n tax_lines: v.array(v.unknown()),\n total: v.string(),\n total_tax: v.string(),\n transaction_id: v.string(),\n version: v.string(),\n});\n"],"names":["v.object","v.pipe","v.number","v.integer","v.string","v.unknown","v.boolean","v.array","v.enum","v.optional","v.union","v.null"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"orders2.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;"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/orders3.js b/web/app/themes/haiku-atelier-2024/assets/js/orders3.js index 2cd7b6b6..25b9dbb2 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/orders3.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/orders3.js @@ -1,20 +1,2 @@ -const ORDER_STATUSES = { - AUTO_DRAFT: "auto-draft", - CANCELLED: "cancelled", - CHECKOUT_DRAFT: "checkout-draft", - COMPLETED: "completed", - FAILED: "failed", - ON_HOLD: "on-hold", - PENDING: "pending", - PROCESSING: "processing", - REFUNDED: "refuneded" -}; -const TAX_STATUSES = { - NONE: "none", - TAXABLE: "taxable" -}; -export { - ORDER_STATUSES as O, - TAX_STATUSES as T -}; + //# sourceMappingURL=orders3.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/orders3.js.map b/web/app/themes/haiku-atelier-2024/assets/js/orders3.js.map index 600fdf02..cc1e878e 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/orders3.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/orders3.js.map @@ -1 +1 @@ -{"version":3,"file":"orders3.js","sources":["../../src/scripts/constantes/orders.ts"],"sourcesContent":["export const ORDER_STATUSES = {\n AUTO_DRAFT: \"auto-draft\",\n CANCELLED: \"cancelled\",\n CHECKOUT_DRAFT: \"checkout-draft\",\n COMPLETED: \"completed\",\n FAILED: \"failed\",\n ON_HOLD: \"on-hold\",\n PENDING: \"pending\",\n PROCESSING: \"processing\",\n REFUNDED: \"refuneded\",\n} as const;\n\nexport const TAX_STATUSES = {\n NONE: \"none\",\n TAXABLE: \"taxable\",\n};\n"],"names":[],"mappings":"AAAO,MAAM,iBAAiB;AAAA,EAC5B,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,UAAU;AACZ;AAEO,MAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,SAAS;AACX;"} \ No newline at end of file +{"version":3,"file":"orders3.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/products.js b/web/app/themes/haiku-atelier-2024/assets/js/products.js index f2032465..3714bbac 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/products.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/products.js @@ -1,4 +1,4 @@ -import { o as object, c as optional, e as enum_, s as string, b as array, a as pipe, k as maxValue, m 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.CXGAS3st.js"; +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"; const WCV3ProductsArgsSchema = object({ // Date ISO8601 diff --git a/web/app/themes/haiku-atelier-2024/assets/js/products3.js b/web/app/themes/haiku-atelier-2024/assets/js/products3.js index dcddca01..bf26e47e 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/products3.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/products3.js @@ -1,4 +1,4 @@ -import { o as object, c as optional, e as enum_, s as string, b as array, a as pipe, k as maxValue, m as minValue, n as number, i as integer, d as boolean, u as unknown, g as union, h as null_ } from "./index.CXGAS3st.js"; +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"; object({ // Date ISO8601 diff --git a/web/app/themes/haiku-atelier-2024/assets/js/reseau.js b/web/app/themes/haiku-atelier-2024/assets/js/reseau.js index 1ac0a69b..8b203aaf 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/reseau.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/reseau.js @@ -1,11 +1,11 @@ import { z, N } from "./index.CeK6pfoJ.js"; -import { p as parse } from "./index.CXGAS3st.js"; +import { p as parse } from "./index.DeCaB8sW.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"; -const getBackend = (args) => fetch( +const getBackendAvecParametresUrl = (args) => fetch( `${args.route}?${args.searchParams}`, { credentials: "same-origin", @@ -40,7 +40,7 @@ const postBackend = (args) => fetch( ); const traiteReponseBackendWCSelonCodesHTTP = (corpsReponse, schemaReponse) => z(corpsReponse).with({ body: N.select(), status: 400 }, estWCError, leveBadRequestError).with({ body: N.select(), status: 401 }, estWCError, leveUnauthorizedError).with({ body: N.select(), status: 404 }, estWCError, leveNotFoundError).with(N._, (corpsOkInconnu) => parse(schemaReponse, corpsOkInconnu)).otherwise((e) => pipe(e, ErreurInconnue, leveErreur)); export { - getBackend as g, + getBackendAvecParametresUrl as g, postBackend as p, traiteReponseBackendWCSelonCodesHTTP as t }; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/reseau.js.map b/web/app/themes/haiku-atelier-2024/assets/js/reseau.js.map index 25d4c611..02cb044d 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/reseau.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/reseau.js.map @@ -1 +1 @@ -{"version":3,"file":"reseau.js","sources":["../../src/scripts/lib/reseau.ts"],"sourcesContent":["import { pipe } from \"@mobily/ts-belt\";\nimport { Either } from \"purify-ts\";\nimport { match, P } from \"ts-pattern\";\nimport { type GenericSchema, parse, type ValiError } from \"valibot\";\n\nimport { ENTETE_WC_NONCE } from \"../constantes/api.ts\";\nimport {\n type BadRequestError,\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveUnauthorizedError,\n type NotFoundError,\n type UnauthorizedError,\n type UnknownError,\n} from \"./erreurs.ts\";\nimport { estWCError } from \"./schemas/api/erreurs.ts\";\n\ntype ArgumentsGetBackendWC = {\n authString?: string;\n /** Une chaîne de caractères généré par le backend et à joindre à chaque requête pour l'authentifier. */\n nonce: string;\n /** La route, ou chemin, de l'API à demander au backend. */\n route: string;\n /** Paramètres de recherche (« query args ») à injecter dans l'URL de la requête. */\n searchParams: string;\n};\n\ntype ArgumentsPostBackendWC = {\n authString?: string;\n /** Le corps de la requête (ses arguments). */\n corps: BodyInit;\n /** Une chaîne de caractères généré par le backend et à joindre à chaque requête pour l'authentifier. */\n nonce: string;\n /** La route, ou chemin, de l'API à demander au backend. */\n route: string;\n};\n\nexport const getBackend = (args: ArgumentsGetBackendWC) =>\n fetch(\n `${args.route}?${args.searchParams}`,\n {\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: args.nonce,\n // Ajoute conditionnellement l'en-tête « Authorization »\n ...(args.authString && { Authorization: `Basic ${args.authString}` }),\n },\n method: \"GET\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\nexport const postBackend = (args: ArgumentsPostBackendWC) =>\n fetch(\n args.route,\n {\n body: args.corps,\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: args.nonce,\n // Ajoute conditionnellement l'en-tête « Authorization »\n ...(args.authString && { Authorization: `Basic ${args.authString}` }),\n },\n method: \"POST\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\n// TODO: Ne traite pas du tout les Erreurs\n// TODO: Utiliser un Either\nexport const traiteReponseBackendWCSelonCodesHTTP = >(\n corpsReponse: unknown,\n schemaReponse: S,\n): R =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, estWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, estWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, estWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(schemaReponse, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur));\n\ntype TraitementReponseBackend> = Either<\n BadRequestError | NotFoundError | UnauthorizedError | UnknownError | ValiError,\n R\n>;\n\nexport const eitherTraiteReponseBackend = >(\n corpsReponse: unknown,\n schemaReponse: S,\n): TraitementReponseBackend =>\n Either.encase(() =>\n match(corpsReponse)\n .with({ body: P.select(), status: 400 }, estWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, estWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, estWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(schemaReponse, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur))\n );\n"],"names":["match","P"],"mappings":";;;;;;;AAuCa,MAAA,aAAa,CAAC,SACzB;AAAA,EACE,GAAG,KAAK,KAAK,IAAI,KAAK,YAAY;AAAA,EAClC;AAAA,IACE,aAAa;AAAA,IACb,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,CAAC,eAAe,GAAG,KAAK;AAAA;AAAA,MAExB,GAAI,KAAK,cAAc,EAAE,eAAe,SAAS,KAAK,UAAU,GAAG;AAAA,IACrE;AAAA,IACA,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,YAAY,QAAQ,GAAI;AAAA,EAAA;AAEpC;AAEW,MAAA,cAAc,CAAC,SAC1B;AAAA,EACE,KAAK;AAAA,EACL;AAAA,IACE,MAAM,KAAK;AAAA,IACX,aAAa;AAAA,IACb,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,CAAC,eAAe,GAAG,KAAK;AAAA;AAAA,MAExB,GAAI,KAAK,cAAc,EAAE,eAAe,SAAS,KAAK,UAAU,GAAG;AAAA,IACrE;AAAA,IACA,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,YAAY,QAAQ,GAAI;AAAA,EAAA;AAEpC;AAIW,MAAA,uCAAuC,CAClD,cACA,kBAEAA,EAAM,YAAY,EAEf,KAAK,EAAE,MAAMC,EAAE,OAAO,GAAG,QAAQ,IAAO,GAAA,YAAY,mBAAmB,EACvE,KAAK,EAAE,MAAMA,EAAE,UAAU,QAAQ,IAAA,GAAO,YAAY,qBAAqB,EACzE,KAAK,EAAE,MAAMA,EAAE,OAAA,GAAU,QAAQ,IAAI,GAAG,YAAY,iBAAiB,EAErE,KAAKA,EAAE,GAAG,CAAkB,mBAAA,MAAS,eAAe,cAAc,CAAC,EAEnE,UAAU,CAAA,MAAK,KAAK,GAAG,gBAAgB,UAAwB,CAAC;"} \ No newline at end of file +{"version":3,"file":"reseau.js","sources":["../../src/scripts/lib/reseau.ts"],"sourcesContent":["import { pipe } from \"@mobily/ts-belt\";\nimport { Either } from \"purify-ts\";\nimport { match, P } from \"ts-pattern\";\nimport { type GenericSchema, parse, type ValiError } from \"valibot\";\n\nimport { ENTETE_WC_NONCE } from \"../constantes/api.ts\";\nimport {\n type BadRequestError,\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveUnauthorizedError,\n type NotFoundError,\n type UnauthorizedError,\n type UnknownError,\n} from \"./erreurs.ts\";\nimport { estWCError } from \"./schemas/api/erreurs.ts\";\n\ntype ArgumentsGetBackendWC = {\n authString?: string;\n /** Une chaîne de caractères généré par le backend et à joindre à chaque requête pour l'authentifier. */\n nonce: string;\n /** La route, ou chemin, de l'API à demander au backend. */\n route: string;\n /** Paramètres de recherche (« query args ») à injecter dans l'URL de la requête. */\n searchParams?: string;\n};\n\ntype ArgumentsDeleteBackendWC = {\n authString?: string;\n /** Une chaîne de caractères généré par le backend et à joindre à chaque requête pour l'authentifier. */\n nonce: string;\n /** La route, ou chemin, de l'API à demander au backend. */\n route: string;\n};\n\ntype ArgumentsPostBackendWC = {\n authString?: string;\n /** Le corps de la requête (ses arguments). */\n corps: BodyInit;\n /** Une chaîne de caractères généré par le backend et à joindre à chaque requête pour l'authentifier. */\n nonce: string;\n /** La route, ou chemin, de l'API à demander au backend. */\n route: string;\n};\n\nexport const getBackend = (args: ArgumentsGetBackendWC) =>\n fetch(\n `${args.route}`,\n {\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: args.nonce,\n // Ajoute conditionnellement l'en-tête « Authorization »\n ...(args.authString && { Authorization: `Basic ${args.authString}` }),\n },\n method: \"GET\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\nexport const getBackendAvecParametresUrl = (args: ArgumentsGetBackendWC) =>\n fetch(\n `${args.route}?${args.searchParams}`,\n {\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: args.nonce,\n // Ajoute conditionnellement l'en-tête « Authorization »\n ...(args.authString && { Authorization: `Basic ${args.authString}` }),\n },\n method: \"GET\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\nexport const deleteBackend = (args: ArgumentsDeleteBackendWC) =>\n fetch(\n args.route,\n {\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: args.nonce,\n // Ajoute conditionnellement l'en-tête « Authorization »\n ...(args.authString && { Authorization: `Basic ${args.authString}` }),\n },\n method: \"DELETE\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\nexport const postBackend = (args: ArgumentsPostBackendWC) =>\n fetch(\n args.route,\n {\n body: args.corps,\n credentials: \"same-origin\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n [ENTETE_WC_NONCE]: args.nonce,\n // Ajoute conditionnellement l'en-tête « Authorization »\n ...(args.authString && { Authorization: `Basic ${args.authString}` }),\n },\n method: \"POST\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\n// TODO: Ne traite pas du tout les Erreurs\n// TODO: Utiliser un Either\nexport const traiteReponseBackendWCSelonCodesHTTP = >(\n corpsReponse: unknown,\n schemaReponse: S,\n): R =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, estWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, estWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, estWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(schemaReponse, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur));\n\nexport type TraitementReponseBackendErrors> =\n | BadRequestError\n | NotFoundError\n | UnauthorizedError\n | UnknownError\n | ValiError;\nexport type TraitementReponseBackend> = Either<\n TraitementReponseBackendErrors,\n R\n>;\n\nexport const eitherTraiteReponseBackend = >(\n corpsReponse: unknown,\n schemaReponse: S,\n): TraitementReponseBackend =>\n Either.encase(() =>\n match(corpsReponse)\n .with({ body: P.select(), status: 400 }, estWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, estWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, estWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(schemaReponse, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur))\n );\n"],"names":["match","P"],"mappings":";;;;;;;AAiEa,MAAA,8BAA8B,CAAC,SAC1C;AAAA,EACE,GAAG,KAAK,KAAK,IAAI,KAAK,YAAY;AAAA,EAClC;AAAA,IACE,aAAa;AAAA,IACb,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,CAAC,eAAe,GAAG,KAAK;AAAA;AAAA,MAExB,GAAI,KAAK,cAAc,EAAE,eAAe,SAAS,KAAK,UAAU,GAAG;AAAA,IACrE;AAAA,IACA,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,YAAY,QAAQ,GAAI;AAAA,EAAA;AAEpC;AAoBW,MAAA,cAAc,CAAC,SAC1B;AAAA,EACE,KAAK;AAAA,EACL;AAAA,IACE,MAAM,KAAK;AAAA,IACX,aAAa;AAAA,IACb,SAAS;AAAA,MACP,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,CAAC,eAAe,GAAG,KAAK;AAAA;AAAA,MAExB,GAAI,KAAK,cAAc,EAAE,eAAe,SAAS,KAAK,UAAU,GAAG;AAAA,IACrE;AAAA,IACA,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,QAAQ,YAAY,QAAQ,GAAI;AAAA,EAAA;AAEpC;AAIW,MAAA,uCAAuC,CAClD,cACA,kBAEAA,EAAM,YAAY,EAEf,KAAK,EAAE,MAAMC,EAAE,OAAO,GAAG,QAAQ,IAAO,GAAA,YAAY,mBAAmB,EACvE,KAAK,EAAE,MAAMA,EAAE,UAAU,QAAQ,IAAA,GAAO,YAAY,qBAAqB,EACzE,KAAK,EAAE,MAAMA,EAAE,OAAA,GAAU,QAAQ,IAAI,GAAG,YAAY,iBAAiB,EAErE,KAAKA,EAAE,GAAG,CAAkB,mBAAA,MAAS,eAAe,cAAc,CAAC,EAEnE,UAAU,CAAA,MAAK,KAAK,GAAG,gBAAgB,UAAwB,CAAC;"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js index ef83c235..a9e530c4 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-bouton-panier.js @@ -7,7 +7,7 @@ import { p as pipe } from "./pipe.XPB0wEfw.js"; import "./erreurs.js"; import "./exports.DT-46nyp.js"; import "./Either.wHNxn7Os.js"; -import "./index.CXGAS3st.js"; +import "./index.DeCaB8sW.js"; import "./messages2.js"; import "./cart.js"; import "./cart2.js"; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-menu-mobile.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-menu-mobile.js index 96f704ba..45a16539 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-menu-mobile.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-menu-mobile.js @@ -1,7 +1,7 @@ var __defProp = Object.defineProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); -import { T as SELECTEUR_BOUTON_MENU_MOBILE, U as SELECTEUR_MENU_MOBILE, V as ATTRIBUT_MENU_MOBILE_ACTIVE } from "./dom.js"; +import { Z as SELECTEUR_BOUTON_MENU_MOBILE, _ as SELECTEUR_MENU_MOBILE, $ as ATTRIBUT_MENU_MOBILE_ACTIVE } from "./dom.js"; import { a as recupereElementDansDocumentOuLeve } from "./utils.js"; import "./dom2.js"; import "./erreurs.js"; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-a-propos.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-a-propos.js index 1986edd7..4526195a 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-a-propos.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-a-propos.js @@ -1,4 +1,4 @@ -import { W as SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS, X as SELECTEUR_EPINGLE, Y as SELECTEUR_BOITE_TEXTE, Z as ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE, _ as ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF, $ as CLASS_BOUTON_FERMETURE_BOITE_TEXTE, a0 as CLASS_EPINGLE } from "./dom.js"; +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 { 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 { p as pipe } from "./pipe.XPB0wEfw.js"; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-boutique.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-boutique.js index 7026c268..48c56818 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-boutique.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-boutique.js @@ -1,11 +1,11 @@ import { z, N } from "./index.CeK6pfoJ.js"; -import { p as parse } from "./index.CXGAS3st.js"; +import { p as parse } from "./index.DeCaB8sW.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 { h as html } from "./dom2.js"; import { l as leveServerError } from "./erreurs.js"; import { e as estReponse500 } from "./gardes.js"; -import { g as getBackend, t as traiteReponseBackendWCSelonCodesHTTP } from "./reseau.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"; @@ -35,7 +35,7 @@ const initialisePageBoutique = () => { Either.encase(() => parse(WCV3ProductsArgsSchema, args)).map( async (args2) => { await EitherAsync( - () => getBackend({ + () => getBackendAvecParametresUrl({ authString: ETATS_PAGE.authString, nonce: ETATS_PAGE.nonce, route: ROUTE_API_NOUVELLE_PRODUCTS, diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-boutique.js.map b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-boutique.js.map index d8162dab..fd034cf7 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-boutique.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-boutique.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts-page-boutique.js","sources":["../../src/scripts/scripts-page-boutique.ts"],"sourcesContent":["/**\n * Scripts pour les fonctionnalités de la page Boutique.\n */\n\nimport { pipe } from \"@mobily/ts-belt\";\nimport { tap } from \"@mobily/ts-belt/Function\";\nimport { Either, EitherAsync } from \"purify-ts\";\nimport { match, P } from \"ts-pattern\";\nimport { parse, type ValiError } from \"valibot\";\n\nimport type { APIFetchErrors } from \"./lib/types/api/erreurs\";\nimport type { WCProductsArgs } from \"./lib/types/api/products\";\nimport type { WCV3Products, WCV3ProductsArgs } from \"./lib/types/api/v3/products.ts\";\n\nimport { ROUTE_API_NOUVELLE_PRODUCTS } from \"./constantes/api.ts\";\nimport {\n ATTRIBUT_HIDDEN,\n ATTRIBUT_ID_CATEGORIE_PRODUITS,\n ATTRIBUT_PAGE,\n SELECTEUR_BOUTON_PLUS_PRODUITS,\n SELECTEUR_GRILLE_PRODUITS,\n} from \"./constantes/dom.ts\";\nimport { html } from \"./lib/dom.ts\";\nimport { leveServerError } from \"./lib/erreurs.ts\";\nimport { estReponse500 } from \"./lib/gardes.ts\";\nimport { getBackend, traiteReponseBackendWCSelonCodesHTTP } from \"./lib/reseau.ts\";\nimport { WCV3ProductsSchema } from \"./lib/schemas/api/v3/products.ts\";\nimport { WCV3ProductsArgsSchema } from \"./lib/schemas/api/v3/products.ts\";\nimport { recupereElementDansDocumentOuLeve, recupereElementDocumentEither } from \"./lib/utils.ts\";\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n authString: string;\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\n// Éléments d'intérêt\nconst GRILLE_PRODUITS: HTMLDivElement = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS);\nconst BOUTON_PLUS_DE_PRODUITS: Either = recupereElementDocumentEither(\n SELECTEUR_BOUTON_PLUS_PRODUITS,\n);\n\n/**\n * TODO\n */\nconst initialisePageBoutique = (): void => {\n const idCategorieProduits: null | string = GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);\n\n BOUTON_PLUS_DE_PRODUITS.ifRight(bouton => {\n bouton.addEventListener(\"click\", (): void => {\n const nouvellePage = Number(GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;\n const args: WCV3ProductsArgs = {\n page: nouvellePage,\n per_page: 13,\n // Ajoute conditionnellement la Catégorie de Produits\n ...(idCategorieProduits && { category: idCategorieProduits }),\n };\n\n type APIProductsErrors =\n | APIFetchErrors\n | ValiError\n | ValiError;\n\n // Réalise la requête et traite sa réponse\n Either\n // Valide les arguments de la requête\n .encase, WCV3ProductsArgs>(() => parse(WCV3ProductsArgsSchema, args))\n .map(\n async (args: WCProductsArgs) => {\n // Réalise la requête\n await EitherAsync(() =>\n getBackend({\n authString: ETATS_PAGE.authString,\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_NOUVELLE_PRODUCTS,\n searchParams: new URLSearchParams(args).toString(),\n })\n )\n .map((reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n // Retourne le corps de la Réponse\n return reponse.json();\n })\n .map((corpsReponse: unknown) =>\n // Traite tous les codes HTTPs possibles\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCV3ProductsSchema,\n )\n )\n .ifRight((donnees: WCV3Products) => {\n // Cache le bouton s'il y a moins de 12 Produits disponibles (que l'on est à la dernière page)\n if (donnees.length < 12) {\n bouton.toggleAttribute(ATTRIBUT_HIDDEN);\n }\n\n // Créé un DocumentFragment qui recevra tous les nouveaux Produits\n const fragment: DocumentFragment = document.createDocumentFragment();\n\n // Créé les Éléments
à insérer\n for (const produit of donnees.slice(0, 12)) {\n pipe(\n html`\n \n `,\n tap(article => {\n fragment.appendChild(article);\n }),\n );\n }\n\n // Ajoute les nouveaux Produits dans le DOM\n GRILLE_PRODUITS.appendChild(fragment);\n GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouvellePage));\n })\n .ifLeft(e => {\n match(e)\n // TODO: Créer une méthode pour rapporter les problèmes de validation\n .with({ issues: P.select(), name: \"ValiError\" }, problemes => console.error(\"ValiError\", problemes))\n .otherwise(e => console.error(\"Autre\", e.name, e));\n })\n // Pas d'intérêt à récupérer le résultat\n .void();\n },\n );\n });\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", (): void => {\n initialisePageBoutique();\n});\n"],"names":["args","match","P","e"],"mappings":";;;;;;;;;;;;;;;;;;AAuCA,MAAM,aAAwB;AAG9B,MAAM,kBAAkC,kCAAkC,yBAAyB;AACnG,MAAM,0BAAkE;AAAA,EACtE;AACF;AAKA,MAAM,yBAAyB,MAAY;AACnC,QAAA,sBAAqC,gBAAgB,aAAa,8BAA8B;AAEtG,0BAAwB,QAAQ,CAAU,WAAA;AACjC,WAAA,iBAAiB,SAAS,MAAY;AAC3C,YAAM,eAAe,OAAO,gBAAgB,aAAa,aAAa,CAAC,IAAI;AAC3E,YAAM,OAAyB;AAAA,QAC7B,MAAM;AAAA,QACN,UAAU;AAAA;AAAA,QAEV,GAAI,uBAAuB,EAAE,UAAU,oBAAoB;AAAA,MAC7D;AAQA,aAEG,OAAmE,MAAM,MAAM,wBAAwB,IAAI,CAAC,EAC5G;AAAA,QACC,OAAOA,UAAyB;AAExB,gBAAA;AAAA,YAAyC,MAC7C,WAAW;AAAA,cACT,YAAY,WAAW;AAAA,cACvB,OAAO,WAAW;AAAA,cAClB,OAAO;AAAA,cACP,cAAc,IAAI,gBAAgBA,KAAI,EAAE,SAAS;AAAA,YAClD,CAAA;AAAA,UAAA,EAEA,IAAI,CAAC,YAAsB;AAE1B,gBAAI,cAAc,OAAO,EAAG,iBAAgB,kBAAkB;AAE9D,mBAAO,QAAQ,KAAK;AAAA,UACrB,CAAA,EACA;AAAA,YAAI,CAAC;AAAA;AAAA,cAEJ;AAAA,gBACE;AAAA,gBACA;AAAA,cAAA;AAAA;AAAA,UACF,EAED,QAAQ,CAAC,YAA0B;AAE9B,gBAAA,QAAQ,SAAS,IAAI;AACvB,qBAAO,gBAAgB,eAAe;AAAA,YAAA;AAIlC,kBAAA,WAA6B,SAAS,uBAAuB;AAGnE,uBAAW,WAAW,QAAQ,MAAM,GAAG,EAAE,GAAG;AAC1C;AAAA,gBACE;AAAA;AAAA;AAAA,4CAGwB,QAAQ,IAAI;AAAA;AAAA,8BAE1B,QAAQ,eAAe,EAAE;AAAA;AAAA;AAAA;AAAA,8BAIzB,QAAQ,gBAAgB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCAMjB,QAAQ,SAAS,KAAK,QAAQ,IAAI;AAAA;AAAA;AAAA,4BAG7C,QAAQ,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAM5B,IAAI,CAAW,YAAA;AACb,2BAAS,YAAY,OAAO;AAAA,gBAC7B,CAAA;AAAA,cACH;AAAA,YAAA;AAIF,4BAAgB,YAAY,QAAQ;AACpC,4BAAgB,aAAa,eAAe,OAAO,YAAY,CAAC;AAAA,UAAA,CACjE,EACA,OAAO,CAAK,MAAA;AACLC,cAAA,CAAC,EAEJ,KAAK,EAAE,QAAQC,EAAE,OAAA,GAAU,MAAM,eAAe,CAAa,cAAA,QAAQ,MAAM,aAAa,SAAS,CAAC,EAClG,UAAU,CAAAC,OAAK,QAAQ,MAAM,SAASA,GAAE,MAAMA,EAAC,CAAC;AAAA,UACpD,CAAA,EAEA,KAAK;AAAA,QAAA;AAAA,MAEZ;AAAA,IAAA,CACH;AAAA,EAAA,CACF;AACH;AAEA,SAAS,iBAAiB,oBAAoB,MAAY;AACjC,yBAAA;AACzB,CAAC;"} \ No newline at end of file +{"version":3,"file":"scripts-page-boutique.js","sources":["../../src/scripts/scripts-page-boutique.ts"],"sourcesContent":["/**\n * Scripts pour les fonctionnalités de la page Boutique.\n */\n\nimport { pipe } from \"@mobily/ts-belt\";\nimport { tap } from \"@mobily/ts-belt/Function\";\nimport { Either, EitherAsync } from \"purify-ts\";\nimport { match, P } from \"ts-pattern\";\nimport { parse, type ValiError } from \"valibot\";\n\nimport type { APIFetchErrors } from \"./lib/types/api/erreurs\";\nimport type { WCProductsArgs } from \"./lib/types/api/products\";\nimport type { WCV3Products, WCV3ProductsArgs } from \"./lib/types/api/v3/products.ts\";\n\nimport { ROUTE_API_NOUVELLE_PRODUCTS } from \"./constantes/api.ts\";\nimport {\n ATTRIBUT_HIDDEN,\n ATTRIBUT_ID_CATEGORIE_PRODUITS,\n ATTRIBUT_PAGE,\n SELECTEUR_BOUTON_PLUS_PRODUITS,\n SELECTEUR_GRILLE_PRODUITS,\n} from \"./constantes/dom.ts\";\nimport { html } from \"./lib/dom.ts\";\nimport { leveServerError } from \"./lib/erreurs.ts\";\nimport { estReponse500 } from \"./lib/gardes.ts\";\nimport { getBackendAvecParametresUrl, traiteReponseBackendWCSelonCodesHTTP } from \"./lib/reseau.ts\";\nimport { WCV3ProductsSchema } from \"./lib/schemas/api/v3/products.ts\";\nimport { WCV3ProductsArgsSchema } from \"./lib/schemas/api/v3/products.ts\";\nimport { recupereElementDansDocumentOuLeve, recupereElementDocumentEither } from \"./lib/utils.ts\";\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n authString: string;\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\n// Éléments d'intérêt\nconst GRILLE_PRODUITS: HTMLDivElement = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS);\nconst BOUTON_PLUS_DE_PRODUITS: Either = recupereElementDocumentEither(\n SELECTEUR_BOUTON_PLUS_PRODUITS,\n);\n\n/**\n * TODO\n */\nconst initialisePageBoutique = (): void => {\n const idCategorieProduits: null | string = GRILLE_PRODUITS.getAttribute(ATTRIBUT_ID_CATEGORIE_PRODUITS);\n\n BOUTON_PLUS_DE_PRODUITS.ifRight(bouton => {\n bouton.addEventListener(\"click\", (): void => {\n const nouvellePage = Number(GRILLE_PRODUITS.getAttribute(ATTRIBUT_PAGE)) + 1;\n const args: WCV3ProductsArgs = {\n page: nouvellePage,\n per_page: 13,\n // Ajoute conditionnellement la Catégorie de Produits\n ...(idCategorieProduits && { category: idCategorieProduits }),\n };\n\n type APIProductsErrors =\n | APIFetchErrors\n | ValiError\n | ValiError;\n\n // Réalise la requête et traite sa réponse\n Either\n // Valide les arguments de la requête\n .encase, WCV3ProductsArgs>(() => parse(WCV3ProductsArgsSchema, args))\n .map(\n async (args: WCProductsArgs) => {\n // Réalise la requête\n await EitherAsync(() =>\n getBackendAvecParametresUrl({\n authString: ETATS_PAGE.authString,\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_NOUVELLE_PRODUCTS,\n searchParams: new URLSearchParams(args).toString(),\n })\n )\n .map((reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n // Retourne le corps de la Réponse\n return reponse.json();\n })\n .map((corpsReponse: unknown) =>\n // Traite tous les codes HTTPs possibles\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCV3ProductsSchema,\n )\n )\n .ifRight((donnees: WCV3Products) => {\n // Cache le bouton s'il y a moins de 12 Produits disponibles (que l'on est à la dernière page)\n if (donnees.length < 12) {\n bouton.toggleAttribute(ATTRIBUT_HIDDEN);\n }\n\n // Créé un DocumentFragment qui recevra tous les nouveaux Produits\n const fragment: DocumentFragment = document.createDocumentFragment();\n\n // Créé les Éléments
à insérer\n for (const produit of donnees.slice(0, 12)) {\n pipe(\n html`\n \n `,\n tap(article => {\n fragment.appendChild(article);\n }),\n );\n }\n\n // Ajoute les nouveaux Produits dans le DOM\n GRILLE_PRODUITS.appendChild(fragment);\n GRILLE_PRODUITS.setAttribute(ATTRIBUT_PAGE, String(nouvellePage));\n })\n .ifLeft(e => {\n match(e)\n // TODO: Créer une méthode pour rapporter les problèmes de validation\n .with({ issues: P.select(), name: \"ValiError\" }, problemes => console.error(\"ValiError\", problemes))\n .otherwise(e => console.error(\"Autre\", e.name, e));\n })\n // Pas d'intérêt à récupérer le résultat\n .void();\n },\n );\n });\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", (): void => {\n initialisePageBoutique();\n});\n"],"names":["args","match","P","e"],"mappings":";;;;;;;;;;;;;;;;;;AAuCA,MAAM,aAAwB;AAG9B,MAAM,kBAAkC,kCAAkC,yBAAyB;AACnG,MAAM,0BAAkE;AAAA,EACtE;AACF;AAKA,MAAM,yBAAyB,MAAY;AACnC,QAAA,sBAAqC,gBAAgB,aAAa,8BAA8B;AAEtG,0BAAwB,QAAQ,CAAU,WAAA;AACjC,WAAA,iBAAiB,SAAS,MAAY;AAC3C,YAAM,eAAe,OAAO,gBAAgB,aAAa,aAAa,CAAC,IAAI;AAC3E,YAAM,OAAyB;AAAA,QAC7B,MAAM;AAAA,QACN,UAAU;AAAA;AAAA,QAEV,GAAI,uBAAuB,EAAE,UAAU,oBAAoB;AAAA,MAC7D;AAQA,aAEG,OAAmE,MAAM,MAAM,wBAAwB,IAAI,CAAC,EAC5G;AAAA,QACC,OAAOA,UAAyB;AAExB,gBAAA;AAAA,YAAyC,MAC7C,4BAA4B;AAAA,cAC1B,YAAY,WAAW;AAAA,cACvB,OAAO,WAAW;AAAA,cAClB,OAAO;AAAA,cACP,cAAc,IAAI,gBAAgBA,KAAI,EAAE,SAAS;AAAA,YAClD,CAAA;AAAA,UAAA,EAEA,IAAI,CAAC,YAAsB;AAE1B,gBAAI,cAAc,OAAO,EAAG,iBAAgB,kBAAkB;AAE9D,mBAAO,QAAQ,KAAK;AAAA,UACrB,CAAA,EACA;AAAA,YAAI,CAAC;AAAA;AAAA,cAEJ;AAAA,gBACE;AAAA,gBACA;AAAA,cAAA;AAAA;AAAA,UACF,EAED,QAAQ,CAAC,YAA0B;AAE9B,gBAAA,QAAQ,SAAS,IAAI;AACvB,qBAAO,gBAAgB,eAAe;AAAA,YAAA;AAIlC,kBAAA,WAA6B,SAAS,uBAAuB;AAGnE,uBAAW,WAAW,QAAQ,MAAM,GAAG,EAAE,GAAG;AAC1C;AAAA,gBACE;AAAA;AAAA;AAAA,4CAGwB,QAAQ,IAAI;AAAA;AAAA,8BAE1B,QAAQ,eAAe,EAAE;AAAA;AAAA;AAAA;AAAA,8BAIzB,QAAQ,gBAAgB,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uCAMjB,QAAQ,SAAS,KAAK,QAAQ,IAAI;AAAA;AAAA;AAAA,4BAG7C,QAAQ,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAM5B,IAAI,CAAW,YAAA;AACb,2BAAS,YAAY,OAAO;AAAA,gBAC7B,CAAA;AAAA,cACH;AAAA,YAAA;AAIF,4BAAgB,YAAY,QAAQ;AACpC,4BAAgB,aAAa,eAAe,OAAO,YAAY,CAAC;AAAA,UAAA,CACjE,EACA,OAAO,CAAK,MAAA;AACLC,cAAA,CAAC,EAEJ,KAAK,EAAE,QAAQC,EAAE,OAAA,GAAU,MAAM,eAAe,CAAa,cAAA,QAAQ,MAAM,aAAa,SAAS,CAAC,EAClG,UAAU,CAAAC,OAAK,QAAQ,MAAM,SAASA,GAAE,MAAMA,EAAC,CAAC;AAAA,UACpD,CAAA,EAEA,KAAK;AAAA,QAAA;AAAA,MAEZ;AAAA,IAAA,CACH;AAAA,EAAA,CACF;AACH;AAEA,SAAS,iBAAiB,oBAAoB,MAAY;AACjC,yBAAA;AACzB,CAAC;"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier-code-promo.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier-code-promo.js new file mode 100644 index 00000000..8a312297 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier-code-promo.js @@ -0,0 +1,15 @@ +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 { 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), + CHAMP_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_CHAMP_CODE_PROMO), + BOUTON_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_CODE_PROMO) +}); +//# sourceMappingURL=scripts-page-panier-code-promo.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier-code-promo.js.map b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier-code-promo.js.map new file mode 100644 index 00000000..abfd9334 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier-code-promo.js.map @@ -0,0 +1 @@ +{"version":3,"file":"scripts-page-panier-code-promo.js","sources":["../../src/scripts/scripts-page-panier-code-promo.ts"],"sourcesContent":["/**\n * Scripts pour la gestion des codes promos (coupons) sur la Page Panier.\n */\n\nimport { Maybe } from \"purify-ts\";\nimport { match, P } from \"ts-pattern\";\nimport {\n ATTRIBUT_CODE_PROMO_PRESENT,\n SELECTEUR_BOUTON_CODE_PROMO,\n SELECTEUR_CHAMP_CODE_PROMO,\n SELECTEUR_ENSEMBLE_CODE_PROMO,\n SELECTEUR_TOTAL_REDUCTION,\n SELECTEUR_TOTAL_REDUCTION_VALEUR,\n} from \"./constantes/dom\";\nimport { correspondCibleSelecteur } from \"./lib/dom\";\nimport { recupereElementDansDocumentOuLeve } from \"./lib/utils\";\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n authString: string;\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\nconst ELEMENTS = {\n TOTAL_REDUCTION_LIGNE: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION),\n TOTAL_REDUCTION_VALEUR: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION_VALEUR),\n ENSEMBLE_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_ENSEMBLE_CODE_PROMO),\n CHAMP_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_CHAMP_CODE_PROMO),\n BOUTON_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_CODE_PROMO),\n};\n\nconst initialiseElementsCodePromo = (): void => {\n // Récupère la présence s'il existe\n const recupereCodePromo = (): null | string =>\n Maybe\n .fromFalsy(ELEMENTS.ENSEMBLE_CODE_PROMO.hasAttribute(ATTRIBUT_CODE_PROMO_PRESENT))\n .chain(() => Maybe.fromNullable(ELEMENTS.CHAMP_CODE_PROMO.value))\n .extractNullable();\n\n // Créé la délégation d'Événements\n ELEMENTS.ENSEMBLE_CODE_PROMO.addEventListener(\"click\", (evenement: Event) => {\n match({\n codePromo: recupereCodePromo(),\n cible: evenement.target,\n })\n .with(\n {\n codePromo: P.string,\n cible: P.when(cible => correspondCibleSelecteur(cible, SELECTEUR_BOUTON_CODE_PROMO)),\n },\n v => {\n console.debug(v);\n },\n )\n // Ne rien faire en cas de code promo absent\n .with(\n {\n codePromo: P.nullish,\n cible: P.when(cible => correspondCibleSelecteur(cible, SELECTEUR_BOUTON_CODE_PROMO)),\n },\n v => {\n console.debug(v);\n },\n );\n });\n};\n"],"names":[],"mappings":";;;;;;;CA4BiB;AAAA,EACf,uBAAuB,kCAAkD,yBAAyB;AAAA,EAClG,wBAAwB,kCAAmD,gCAAgC;AAAA,EAC3G,qBAAqB,kCAAkD,6BAA6B;AAAA,EACpG,kBAAkB,kCAAoD,0BAA0B;AAAA,EAChG,mBAAmB,kCAAqD,2BAA2B;AACrG;"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js index 41775e54..91d19b33 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js @@ -1,30 +1,33 @@ -import { z } from "./index.CeK6pfoJ.js"; -import { p as parse, V as ValiError } from "./index.CXGAS3st.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_INSTRUCTIONS_CLIENT, r as SELECTEUR_TOTAL_PANIER, s as SELECTEUR_BOUTON_SEPARATION_ADRESSES, t as SELECTEUR_FORMULAIRE_PANIER, u as SELECTEUR_FORMULAIRE_FACTURATION, v as SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, w as ATTRIBUT_CLE_PANIER, x as SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, y as SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, z as SELECTEUR_BOUTON_ADDITION_QUANTITE, B as SELECTEUR_BOUTON_SUPPRESSION_PANIER, C as ATTRIBUT_DESACTIVE, A as ATTRIBUT_CONTIENT_ARTICLES, D as SELECTEUR_PRIX_LIGNE_PANIER, k as ATTRIBUT_HIDDEN } from "./dom.js"; +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 { 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 } from "./erreurs.js"; +import { l as leveServerError, r as reporteErreur, a as leveErreur, S as ServerError } 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 "./orders2.js"; +import { W as WCV3OrdersArgsSchema, a as WCV3OrderSchema } from "./orders.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 { p as pipe } from "./pipe.XPB0wEfw.js"; import { l } from "./index-0eef19ec.CFsloYN6.js"; +import { E as EitherAsync } from "./MaybeAsync.Ba-OfjWy.js"; import { M as Maybe, E as Either } from "./Either.wHNxn7Os.js"; import "./exports.DT-46nyp.js"; import "./messages2.js"; import "./erreurs2.js"; import "./adresses.js"; import "./cart2.js"; -import "./orders3.js"; +import "./orders2.js"; import "./belt_Option-91f3b350.BKMoZFhU.js"; const ETATS_PAGE = _etats; const ENTREES_PANIER_EITHER = recupereElementsDocumentEither( @@ -46,6 +49,10 @@ 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( + SELECTEUR_TOTAL_REDUCTION_VALEUR +); const INSTRUCTIONS_CLIENT = recupereElementDansDocumentOuLeve( SELECTEUR_INSTRUCTIONS_CLIENT ); @@ -57,6 +64,15 @@ const BOUTON_SEPARATION_ADRESSES = pipe( recupereElementDocumentEither(SELECTEUR_BOUTON_SEPARATION_ADRESSES), recupereElementOuLeve ); +const ENSEMBLE_CODE_PROMO = recupereElementDansDocumentOuLeve( + SELECTEUR_ENSEMBLE_CODE_PROMO +); +const CHAMP_CODE_PROMO = recupereElementDansDocumentOuLeve( + SELECTEUR_CHAMP_CODE_PROMO +); +let BOUTON_CODE_PROMO = recupereElementDansDocumentOuLeve( + SELECTEUR_BOUTON_CODE_PROMO +); const FORMULAIRE_PANIER = pipe( recupereElementDocumentEither(SELECTEUR_FORMULAIRE_PANIER), recupereElementOuLeve @@ -147,7 +163,7 @@ const initialiseMajEntreesPanier = () => { }); }).ifLeft((erreur) => reporteErreur(erreur)); }); - boutonSoustraction.addEventListener("click", (evenement) => { + boutonSoustraction.addEventListener("click", () => { Maybe.fromNullable(champQuantite.valueAsNumber).filter((valeur) => valeur > 1).ifJust((valeur) => { Either.encase( () => parse(WCStoreCartUpdateItemArgsSchema, { key: clePanier, quantity: valeur - 1 }) @@ -250,7 +266,7 @@ const initialiseMajContenuPanier = () => { SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER ); entree.setAttribute("data-quantite", String(ligne.quantity)); - prixLigne.textContent = `${String(Number(ligne.totals.line_total) / 100)}€`; + prixLigne.textContent = `${String(Number(ligne.totals.line_subtotal) / 100)}€`; champQuantite.setAttribute("value", String(ligne.quantity)); majEtatsActivationBoutons(entrees); } @@ -359,6 +375,81 @@ 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); @@ -452,5 +543,6 @@ document.addEventListener("DOMContentLoaded", () => { initialiseMajContenuPanier(); initialiseMajFormulairesPanier(); initialiseBoutonActions(); + initialiseElementsCodePromo(); }); //# sourceMappingURL=scripts-page-panier.js.map diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js.map b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js.map index c7a50087..600a9d65 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js.map +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-panier.js.map @@ -1 +1 @@ -{"version":3,"file":"scripts-page-panier.js","sources":["../../src/scripts/scripts-page-panier.ts"],"sourcesContent":["import { D, F, pipe } from \"@mobily/ts-belt\";\nimport { Either, Maybe } from \"purify-ts\";\nimport { match } from \"ts-pattern\";\nimport { parse, ValiError } from \"valibot\";\n\nimport type { MessageMajContenuPanierSchema } from \"./lib/schemas/messages.ts\";\nimport type { WCStoreCart, WCStoreCartItem, WCStoreShippingRateShippingRate } from \"./lib/types/api/cart\";\nimport type { WCStoreCartRemoveItemArgs } from \"./lib/types/api/cart-remove-item\";\nimport type { WCStoreCartUpdateCustomerArgs } from \"./lib/types/api/cart-update-customer\";\nimport type { WCStoreCartUpdateItemArgs } from \"./lib/types/api/cart-update-item\";\nimport type { WCV3Order, WCV3OrdersArgs } from \"./lib/types/api/v3/orders.ts\";\nimport type { MessageMajBoutonPanierDonnees, MessageMajContenuPanierDonnees } from \"./lib/types/messages\";\n\nimport {\n ROUTE_API_MAJ_ARTICLE_PANIER,\n ROUTE_API_MAJ_CLIENT,\n ROUTE_API_NOUVELLE_COMMANDES,\n ROUTE_API_RETIRE_ARTICLE_PANIER,\n} from \"./constantes/api.ts\";\nimport {\n ATTRIBUT_CLE_PANIER,\n ATTRIBUT_CONTIENT_ARTICLES,\n ATTRIBUT_DESACTIVE,\n ATTRIBUT_HIDDEN,\n SELECTEUR_BOUTON_ACTIONS_FORMULAIRE,\n SELECTEUR_BOUTON_ADDITION_QUANTITE,\n SELECTEUR_BOUTON_SEPARATION_ADRESSES,\n SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE,\n SELECTEUR_BOUTON_SUPPRESSION_PANIER,\n SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER,\n SELECTEUR_CONTENEUR_PANIER,\n SELECTEUR_ENTREES_PANIER,\n SELECTEUR_FORMULAIRE_FACTURATION,\n SELECTEUR_FORMULAIRE_PANIER,\n SELECTEUR_INSTRUCTIONS_CLIENT,\n SELECTEUR_PRIX_LIGNE_PANIER,\n SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT,\n SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE,\n SELECTEUR_SOUS_TOTAL_PRODUITS,\n SELECTEUR_TOTAL_PANIER,\n} from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER, NOM_CANAL_CONTENU_PANIER } from \"./constantes/messages.ts\";\nimport {\n eitherJsonParse,\n eitherSessionStorageGet,\n recupereElementAvecSelecteur,\n recupereElementOuLeve,\n recupereElementsAvecSelecteur,\n} from \"./lib/dom.ts\";\nimport { type CleNonTrouveError, leveErreur, leveServerError, reporteErreur } from \"./lib/erreurs.ts\";\nimport { estError, estReponse500 } from \"./lib/gardes.ts\";\nimport {\n emetMessageMajBoutonPanier,\n emetMessageMajContenuPanier,\n valideMessageMajBoutonPanier,\n valideMessageMajContenuPanier,\n} from \"./lib/messages.ts\";\nimport { postBackend, traiteReponseBackendWCSelonCodesHTTP } from \"./lib/reseau.ts\";\nimport { WCStoreCartRemoveItemArgsSchema } from \"./lib/schemas/api/cart-remove-item.ts\";\nimport { WCStoreCartUpdateCustomerArgsSchema } from \"./lib/schemas/api/cart-update-customer.ts\";\nimport { WCStoreCartUpdateItemArgsSchema } from \"./lib/schemas/api/cart-update-item.ts\";\nimport { WCStoreCartSchema } from \"./lib/schemas/api/cart.ts\";\nimport { WCStoreShippingRateShippingRateSchema } from \"./lib/schemas/api/couts-livraison.ts\";\nimport { WCV3OrdersArgsSchema, WCV3OrderSchema } from \"./lib/schemas/api/v3/orders.ts\";\nimport {\n propEither,\n recupereElementDansDocumentOuLeve,\n recupereElementDocumentEither,\n recupereElementsDocumentEither,\n} from \"./lib/utils.ts\";\nimport { eitherParse } from \"./lib/validation.ts\";\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n authString: string;\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\n\ntype ElementsEntreePanier = {\n boutonAddition: HTMLButtonElement;\n boutonSoustraction: HTMLButtonElement;\n boutonSuppression: HTMLButtonElement;\n champQuantite?: HTMLInputElement;\n};\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\n// Éléments d'intérêt\nconst ENTREES_PANIER_EITHER: Either> = recupereElementsDocumentEither(\n SELECTEUR_ENTREES_PANIER,\n);\nconst CONTENEUR_PANIER: HTMLElement = pipe(\n recupereElementDocumentEither(SELECTEUR_CONTENEUR_PANIER),\n recupereElementOuLeve,\n);\nconst SOUS_TOTAL_PRODUITS: HTMLElement = pipe(\n recupereElementDocumentEither(SELECTEUR_SOUS_TOTAL_PRODUITS),\n recupereElementOuLeve,\n);\nconst SOUS_TOTAL_LIVRAISON_COUT: HTMLElement = pipe(\n recupereElementDocumentEither(SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT),\n recupereElementOuLeve,\n);\nconst SOUS_TOTAL_LIVRAISON_PRESTATAIRE: HTMLSpanElement = pipe(\n recupereElementDocumentEither(SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE),\n recupereElementOuLeve,\n);\nconst INSTRUCTIONS_CLIENT: HTMLTextAreaElement = recupereElementDansDocumentOuLeve(\n SELECTEUR_INSTRUCTIONS_CLIENT,\n);\nconst TOTAL_PANIER: HTMLParagraphElement = pipe(\n recupereElementDocumentEither(SELECTEUR_TOTAL_PANIER),\n recupereElementOuLeve,\n);\nconst BOUTON_SEPARATION_ADRESSES: HTMLInputElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_SEPARATION_ADRESSES),\n recupereElementOuLeve,\n);\nconst FORMULAIRE_PANIER: HTMLFormElement = pipe(\n recupereElementDocumentEither(SELECTEUR_FORMULAIRE_PANIER),\n recupereElementOuLeve,\n);\n// const FORMULAIRE_LIVRAISON: HTMLDivElement = pipe(\n// recupereElementDocumentEither(SELECTEUR_FORMULAIRE_LIVRAISON),\n// recupereElementOuLeve,\n// );\nconst FORMULAIRE_FACTURATION: HTMLDivElement = pipe(\n recupereElementDocumentEither(SELECTEUR_FORMULAIRE_FACTURATION),\n recupereElementOuLeve,\n);\nlet BOUTON_ACTIONS_FORMULAIRE: HTMLButtonElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE),\n recupereElementOuLeve,\n);\n\n/**\n * Fonction utilitaire pour récupérer un Élément dans une ligne (entrée) du Panier, en levant une\n * Erreur s'il n'existe pas.\n *\n * @param entree L'entrée du Panier sous forme d'Élément dans le DOM.\n * @returns L'Élément demandé.\n * @throws Une SyntaxError si l'Élément n'est pas trouvé.\n */\nconst recupereElementDansEntreePanierOuLeve =\n (entree: HTMLElement) => (selecteur: string) =>\n pipe(recupereElementAvecSelecteur(entree)(selecteur), recupereElementOuLeve);\n\nconst desactiveBoutonsEntreesPanier = (entrees: Array): void =>\n entrees.forEach((entree: HTMLElement) => {\n // Fonction utilitaire\n const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);\n\n const elements: ElementsEntreePanier = {\n boutonAddition: recupereElementDansEntree(SELECTEUR_BOUTON_ADDITION_QUANTITE),\n boutonSoustraction: recupereElementDansEntree(SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE),\n boutonSuppression: recupereElementDansEntree(SELECTEUR_BOUTON_SUPPRESSION_PANIER),\n };\n\n elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, \"\");\n elements.boutonAddition.setAttribute(ATTRIBUT_DESACTIVE, \"\");\n elements.boutonSuppression.setAttribute(ATTRIBUT_DESACTIVE, \"\");\n elements.boutonSuppression.textContent = \"C= C= C= C= C=┌(;・ω・)┘\";\n });\n\nconst majEtatsActivationBoutons = (entrees: Array): void =>\n entrees.forEach((entree: HTMLElement) => {\n // Fonction utilitaire\n const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);\n\n const elements: ElementsEntreePanier = {\n boutonAddition: recupereElementDansEntree(SELECTEUR_BOUTON_ADDITION_QUANTITE),\n boutonSoustraction: recupereElementDansEntree(SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE),\n boutonSuppression: recupereElementDansEntree(SELECTEUR_BOUTON_SUPPRESSION_PANIER),\n champQuantite: recupereElementDansEntree(SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER),\n };\n\n Number(elements.champQuantite?.value) === 1\n ? elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, \"\")\n : elements.boutonSoustraction.removeAttribute(ATTRIBUT_DESACTIVE);\n elements.boutonAddition.removeAttribute(ATTRIBUT_DESACTIVE);\n elements.boutonSuppression.removeAttribute(ATTRIBUT_DESACTIVE);\n elements.boutonSuppression.textContent = \"Remove\";\n });\n\nconst initialiseMajEntreesPanier = (): void => {\n ENTREES_PANIER_EITHER.ifRight((entrees: Array) => {\n entrees.forEach((entree: HTMLElement) => {\n const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);\n\n // Retire l'entrée du DOM si la clé Panier n'existe pas et arrête précocement\n const clePanier: string = Maybe.fromNullable(entree.getAttribute(ATTRIBUT_CLE_PANIER))\n .ifNothing(() => {\n entree.remove();\n return;\n })\n .orDefault(\"CLE_PANIER_INEXISTANTE\");\n\n // Récupère les attributs et éléments utilisés dans le script\n const boutonSoustraction = recupereElementDansEntree(SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE);\n const champQuantite = recupereElementDansEntree(SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER);\n const boutonAddition = recupereElementDansEntree(SELECTEUR_BOUTON_ADDITION_QUANTITE);\n const boutonSuppression = recupereElementDansEntree(SELECTEUR_BOUTON_SUPPRESSION_PANIER);\n\n // Supprime la ligne du Panier au clic sur le bouton de suppression\n boutonSuppression.addEventListener(\"click\", (): void => {\n Either\n // Valide un corps de requête\n .encase, WCStoreCartRemoveItemArgs>(() =>\n parse(WCStoreCartRemoveItemArgsSchema, { key: clePanier })\n )\n .map(async (args: WCStoreCartRemoveItemArgs) => {\n // Modifie des éléments du DOM pour signaler la requête et empêcher des doubles exécutions\n desactiveBoutonsEntreesPanier(entrees);\n\n // Réalise la requête auprès du backend\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_RETIRE_ARTICLE_PANIER,\n })\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCStoreCartSchema,\n ),\n // Émets des Messages via BroadcastChannels pour la mise à jour de la page\n F.tap((panier: WCStoreCart) => {\n // Émet un Message avec le nouveau nombre de Produits dans le Panier\n emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });\n // Émet un Message avec le nouveau contenu du Panier\n emetMessageMajContenuPanier({\n produits: panier.items,\n sousTotalPanier: Number(panier.totals.total_price) / 100,\n totalPanier: Number(panier.totals.total_items) / 100,\n });\n // Retire l'entrée du Panier du DOM\n entree.remove();\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n majEtatsActivationBoutons(entrees);\n });\n })\n .ifLeft((erreur: ValiError) => reporteErreur(erreur));\n });\n\n // Retire une unité à une ligne du Panier au clic sur le bouton de soustraction\n boutonSoustraction.addEventListener(\"click\", (evenement: Event): void => {\n Maybe.fromNullable(champQuantite.valueAsNumber)\n .filter(valeur => valeur > 1)\n .ifJust(valeur => {\n Either\n // Valide les arguments de la requête\n .encase(() =>\n parse(WCStoreCartUpdateItemArgsSchema, { key: clePanier, quantity: valeur - 1 })\n )\n .map(async (args: WCStoreCartUpdateItemArgs) => {\n // Modifie des éléments du DOM pour signaler la requête et empêcher des doubles exécutions\n desactiveBoutonsEntreesPanier(entrees);\n\n // Réalise la requête\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_MAJ_ARTICLE_PANIER,\n })\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCStoreCartSchema,\n ),\n F.tap((panier: WCStoreCart) => {\n // Émet un Message avec le nouveau nombre de Produits dans le Panier\n emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });\n // Émet un Message avec le nouveau contenu du Panier\n emetMessageMajContenuPanier({\n produits: panier.items,\n sousTotalPanier: Number(panier.totals.total_price) / 100,\n totalPanier: Number(panier.totals.total_items) / 100,\n });\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n\n majEtatsActivationBoutons(entrees);\n });\n });\n });\n });\n\n // Ajoute une unité à une ligne du Panier au clic sur le bouton d'addition\n boutonAddition.addEventListener(\"click\", (): void => {\n Maybe.fromNullable(champQuantite.valueAsNumber).ifJust(valeur => {\n // Modifie des éléments du DOM pour signaler la requête et empêcher des doubles exécutions\n desactiveBoutonsEntreesPanier(entrees);\n\n Either\n // Valide les arguments de la requête\n .encase(() =>\n parse(WCStoreCartUpdateItemArgsSchema, { key: clePanier, quantity: valeur + 1 })\n )\n .map(async (args: WCStoreCartUpdateItemArgs) => {\n // Réalise la requête\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_MAJ_ARTICLE_PANIER,\n })\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCStoreCartSchema,\n ),\n F.tap((panier: WCStoreCart) => {\n // Émet un Message avec le nouveau nombre de Produits dans le Panier\n emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });\n // Émet un Message avec le nouveau contenu du Panier\n emetMessageMajContenuPanier({\n produits: panier.items,\n sousTotalPanier: Number(panier.totals.total_price) / 100,\n totalPanier: Number(panier.totals.total_items) / 100,\n });\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n\n majEtatsActivationBoutons(entrees);\n });\n });\n });\n });\n });\n });\n};\n\nconst initialiseMajConteneurPanier = (): void => {\n new BroadcastChannel(NOM_CANAL_BOUTON_PANIER).onmessage = (evenementMessage: MessageEvent): void => {\n valideMessageMajBoutonPanier(evenementMessage)\n .map(D.getUnsafe(\"donnees\"))\n // Met à jour l'Attribut de présence de Produits dans le Panier\n .ifRight((donnees: MessageMajBoutonPanierDonnees) => {\n CONTENEUR_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(donnees.quantiteProduits !== 0));\n });\n };\n};\n\nconst initialiseMajContenuPanier = (): void => {\n new BroadcastChannel(NOM_CANAL_CONTENU_PANIER).onmessage = (message: MessageEvent): void => {\n valideMessageMajContenuPanier(message)\n // Récupère les données sous forme d'Either\n .chain(propEither(\"donnees\"))\n // Met à jour le contenu du Panier si des données sont présentes\n .ifRight((donnees: MessageMajContenuPanierDonnees) => {\n donnees.produits.forEach((ligne: WCStoreCartItem) => {\n // Met à jour les entrées du Panier\n ENTREES_PANIER_EITHER.ifRight((entrees: Array) => {\n Maybe.fromNullable(entrees.find(entree => entree.getAttribute(ATTRIBUT_CLE_PANIER) === ligne.key)).ifJust(\n (entree: HTMLElement) => {\n // Fonction utilitaire\n const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);\n\n // Récupère les Éléments à mettre à jour\n const prixLigne = recupereElementDansEntree(SELECTEUR_PRIX_LIGNE_PANIER);\n const champQuantite = recupereElementDansEntree(\n SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER,\n );\n\n // Met à jour les valeurs\n entree.setAttribute(\"data-quantite\", String(ligne.quantity));\n prixLigne.textContent = `${String(Number(ligne.totals.line_total) / 100)}€`;\n champQuantite.setAttribute(\"value\", String(ligne.quantity));\n\n // Réactive les Boutons\n majEtatsActivationBoutons(entrees);\n },\n );\n\n // Met à jour les totaux du Panier\n SOUS_TOTAL_PRODUITS.textContent = `${String(donnees.totalPanier)}€`;\n TOTAL_PANIER.textContent = `${String(donnees.totalPanier)}€`;\n });\n });\n })\n // Reporte tout Erreur et réactive les Boutons\n .ifLeft((erreur: CleNonTrouveError | ValiError) => {\n reporteErreur(erreur);\n ENTREES_PANIER_EITHER.ifRight(entrees => majEtatsActivationBoutons(entrees));\n });\n };\n};\n\nconst initialiseMajFormulairesPanier = (): void => {\n BOUTON_SEPARATION_ADRESSES.addEventListener(\"click\", () => {\n Maybe.fromFalsy(BOUTON_SEPARATION_ADRESSES.checked)\n .ifJust((): void => {\n // Rend visible le formulaire de facturation\n FORMULAIRE_FACTURATION.removeAttribute(ATTRIBUT_HIDDEN);\n recupereElementsAvecSelecteur(FORMULAIRE_FACTURATION)(\"input, select\").ifRight(champs =>\n champs.forEach(champ => champ.removeAttribute(ATTRIBUT_DESACTIVE))\n );\n })\n .ifNothing((): void => {\n FORMULAIRE_FACTURATION.setAttribute(ATTRIBUT_HIDDEN, \"\");\n recupereElementsAvecSelecteur(FORMULAIRE_FACTURATION)(\n \"input, select\",\n ).ifRight(champs =>\n champs.forEach(champ => {\n champ.setAttribute(ATTRIBUT_DESACTIVE, \"\");\n champ.value = \"\";\n })\n );\n });\n });\n};\n\nconst initialiseBoutonActions = (): void => {\n // Déclenche une requête\n BOUTON_ACTIONS_FORMULAIRE.addEventListener(\"click\", evenement => {\n Maybe\n // Ne fais rien si le Formulaire n'est pas valide\n .fromFalsy(FORMULAIRE_PANIER.checkValidity())\n .ifJust(() => {\n evenement.preventDefault();\n FORMULAIRE_PANIER.removeAttribute(ATTRIBUT_HIDDEN);\n BOUTON_ACTIONS_FORMULAIRE.textContent = \"Check-out\";\n })\n .ifJust(() => {\n // Récupère les données du Formulaire\n // @ts-expect-error -- Problème de typage de la librairie DOM\n const donneesFormulaire: Record = pipe(\n new FormData(FORMULAIRE_PANIER),\n formData => formData.entries(),\n entrees => Array.from(entrees),\n tuple => D.fromPairs(tuple),\n );\n\n // Transforme les données brutes en arguments de requête auprès du backend\n const argumentsFormulaire: WCStoreCartUpdateCustomerArgs = {\n billing_address: {\n address_1: donneesFormulaire[\"facturation-adresse\"] ?? donneesFormulaire[\"livraison-adresse\"] ?? \"\",\n address_2: \"\",\n city: donneesFormulaire[\"facturation-ville\"] ?? donneesFormulaire[\"livraison-ville\"] ?? \"\",\n company: \"\",\n country: \"FR\",\n email: donneesFormulaire[\"facturation-email\"] ?? donneesFormulaire[\"livraison-email\"] ?? \"\",\n first_name: donneesFormulaire[\"facturation-prenom\"] ?? donneesFormulaire[\"livraison-prenom\"] ?? \"\",\n last_name: donneesFormulaire[\"facturation-nom\"] ?? donneesFormulaire[\"livraison-nom\"] ?? \"\",\n phone: donneesFormulaire[\"facturation-telephone\"] ?? donneesFormulaire[\"livraison-telephone\"] ?? \"\",\n postcode: donneesFormulaire[\"facturation-code-postal\"] ?? donneesFormulaire[\"livraison-code-postal\"] ?? \"\",\n state: donneesFormulaire[\"facturation-region-etat\"] ?? donneesFormulaire[\"livraison-region-etat\"] ?? \"\",\n },\n shipping_address: {\n address_1: donneesFormulaire[\"livraison-adresse\"] ?? \"\",\n address_2: \"\",\n city: donneesFormulaire[\"livraison-ville\"] ?? \"\",\n company: \"\",\n country: \"FR\",\n first_name: donneesFormulaire[\"livraison-prenom\"] ?? \"\",\n last_name: donneesFormulaire[\"livraison-nom\"] ?? \"\",\n phone: donneesFormulaire[\"livraison-telephone\"] ?? \"\",\n postcode: donneesFormulaire[\"livraison-code-postal\"] ?? \"\",\n state: donneesFormulaire[\"livraison-region-etat\"] ?? \"\",\n },\n };\n\n // Réalise la requête et traite sa réponse\n Either\n // Valide les arguments de la requête\n .encase, WCStoreCartUpdateCustomerArgs>(() =>\n parse(WCStoreCartUpdateCustomerArgsSchema, argumentsFormulaire)\n )\n .map(async (args: WCStoreCartUpdateCustomerArgs) => {\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_MAJ_CLIENT,\n }).then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCStoreCartSchema,\n ),\n F.tap((donnees: WCStoreCart) => {\n // Récupère et adapte les informations de Livraison\n const sousTotalLivraison = donnees.totals.total_shipping === \"0\"\n ? \"Free\"\n : `${String(donnees.totals.total_shipping)} €`;\n const sousTotalPrestataire = match(donnees.shipping_rates[0]?.shipping_rates[0]?.name)\n .with(\"Mondial Relay - Livraison Point Relais (Gratuit)\", () => \"Mondial Relay - Pickup Point\")\n .with(\"Free shipping\", () => \"Free Shipping\")\n .otherwise(() => \"\");\n\n // Met à jour les informations de Livraison affichés à l'Utilisateur\n SOUS_TOTAL_LIVRAISON_COUT.textContent = sousTotalLivraison;\n SOUS_TOTAL_LIVRAISON_PRESTATAIRE.textContent = sousTotalPrestataire;\n\n // Sauvegarde la Méthode de Livraison dans le Stockage de Session\n sessionStorage.setItem(\n \"shipping_rates\",\n JSON.stringify(donnees.shipping_rates[0]?.shipping_rates[0] ?? \"\"),\n );\n }),\n );\n\n // Active le Bouton pour la création de la Commande\n initialiseBoutonCreationCommande();\n });\n })\n .ifLeft(a => console.error(a.issues));\n });\n });\n};\n\nconst initialiseBoutonCreationCommande = (): void => {\n // Permet de supprimer tout Écouteur d'Évènement assigné au Bouton\n BOUTON_ACTIONS_FORMULAIRE.outerHTML = BOUTON_ACTIONS_FORMULAIRE.outerHTML;\n // Réassigne le Bouton\n BOUTON_ACTIONS_FORMULAIRE = recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE);\n // Créé la Commande au clic sur le Bouton\n BOUTON_ACTIONS_FORMULAIRE.addEventListener(\"click\", (evenement: Event) => {\n Maybe\n // Ne fais rien si le Formulaire n'est pas valide\n .fromFalsy(FORMULAIRE_PANIER.checkValidity())\n // Active l'état de chargement\n .ifJust(() => {\n evenement.preventDefault();\n BOUTON_ACTIONS_FORMULAIRE.textContent = \"Submitting...\";\n })\n .ifJust(() => {\n // Récupère les données du Formulaire sous forme d'Objet\n const donneesFormulaire = Object.fromEntries(new FormData(FORMULAIRE_PANIER)) as Record;\n\n const methodeLivraison: WCStoreShippingRateShippingRate = eitherSessionStorageGet(\"shipping_rates\")\n // Récupère la méthode de livraison depuis le stockage de session sous forme d'objet\n .chain(eitherJsonParse)\n // Vérifie la forme de l'objet récupéré\n .chain((json: JSONValue) =>\n eitherParse(\n json,\n WCStoreShippingRateShippingRateSchema,\n )\n )\n .ifLeft(e => {\n if (e instanceof ValiError) console.error(e.issues);\n console.error(\"methodeLivraison\", e);\n BOUTON_ACTIONS_FORMULAIRE.textContent = \"Check-out\";\n leveErreur(e);\n })\n .unsafeCoerce();\n\n const articlesPanier = ENTREES_PANIER_EITHER\n .orDefault([])\n .map((entree: HTMLElement) => ({\n product_id: Number(entree.getAttribute(\"data-id-produit\")),\n quantity: Number(entree.getAttribute(\"data-quantite\")),\n ...(entree.getAttribute(\"data-id-variation\") && {\n variation_id: Number(entree.getAttribute(\"data-id-variation\")),\n }),\n }));\n\n const argumentsFormulaire: WCV3OrdersArgs = {\n billing: {\n address_1: donneesFormulaire[\"facturation-adresse\"] ?? donneesFormulaire[\"livraison-adresse\"] ?? \"\",\n address_2: \"\",\n city: donneesFormulaire[\"facturation-ville\"] ?? donneesFormulaire[\"livraison-ville\"] ?? \"\",\n company: \"\",\n country: \"FR\",\n email: donneesFormulaire[\"facturation-email\"] ?? donneesFormulaire[\"livraison-email\"] ?? \"\",\n first_name: donneesFormulaire[\"facturation-prenom\"] ?? donneesFormulaire[\"livraison-prenom\"] ?? \"\",\n last_name: donneesFormulaire[\"facturation-nom\"] ?? donneesFormulaire[\"livraison-nom\"] ?? \"\",\n phone: donneesFormulaire[\"facturation-telephone\"] ?? donneesFormulaire[\"livraison-telephone\"] ?? \"\",\n postcode: donneesFormulaire[\"facturation-code-postal\"] ?? donneesFormulaire[\"livraison-code-postal\"] ?? \"\",\n state: donneesFormulaire[\"facturation-region-etat\"] ?? donneesFormulaire[\"livraison-region-etat\"] ?? \"\",\n },\n customer_note: INSTRUCTIONS_CLIENT.value,\n currency: methodeLivraison.currency_code,\n line_items: articlesPanier,\n shipping: {\n address_1: donneesFormulaire[\"livraison-adresse\"] ?? \"\",\n address_2: \"\",\n city: donneesFormulaire[\"livraison-ville\"] ?? \"\",\n company: \"\",\n country: \"FR\",\n first_name: donneesFormulaire[\"livraison-prenom\"] ?? \"\",\n last_name: donneesFormulaire[\"livraison-nom\"] ?? \"\",\n phone: donneesFormulaire[\"livraison-telephone\"] ?? \"\",\n postcode: donneesFormulaire[\"livraison-code-postal\"] ?? \"\",\n state: donneesFormulaire[\"livraison-region-etat\"] ?? \"\",\n },\n shipping_lines: [\n {\n method_id: methodeLivraison.method_id,\n method_title: methodeLivraison.name,\n total: methodeLivraison.price,\n },\n ],\n };\n\n // Vérifie que la forme de l'objet des arguments est correcte\n eitherParse(argumentsFormulaire, WCV3OrdersArgsSchema)\n .map(async (args: WCV3OrdersArgs) => {\n // Réalise la requête\n await postBackend({\n authString: ETATS_PAGE.authString,\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_NOUVELLE_COMMANDES,\n }).then(async (reponse: Response) => {\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n (corpsReponse: unknown) =>\n eitherParse(corpsReponse, WCV3OrderSchema)\n .ifRight((reponse: WCV3Order) => {\n const url = new URL(`https://${window.location.host}/checkout`);\n url.searchParams.append(\"order_key\", reponse.order_key);\n url.searchParams.append(\"order_id\", String(reponse.id));\n location.assign(url);\n })\n .ifLeft(e => console.error(e.issues)),\n );\n });\n })\n .ifLeft(a => console.error(a.issues));\n });\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", (): void => {\n initialiseMajEntreesPanier();\n initialiseMajConteneurPanier();\n initialiseMajContenuPanier();\n initialiseMajFormulairesPanier();\n initialiseBoutonActions();\n});\n"],"names":["F","D","match","reponse"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"scripts-page-panier.js","sources":["../../src/scripts/scripts-page-panier.ts"],"sourcesContent":["import { D, F, pipe } from \"@mobily/ts-belt\";\nimport { Either, EitherAsync, Maybe } from \"purify-ts\";\nimport { match, P } from \"ts-pattern\";\nimport { parse, ValiError } from \"valibot\";\n\nimport type { MessageMajContenuPanierSchema } from \"./lib/schemas/messages.ts\";\nimport type { WCStoreCart, WCStoreCartItem, WCStoreShippingRateShippingRate } from \"./lib/types/api/cart\";\nimport type { WCStoreCartRemoveItemArgs } from \"./lib/types/api/cart-remove-item\";\nimport type { WCStoreCartUpdateCustomerArgs } from \"./lib/types/api/cart-update-customer\";\nimport type { WCStoreCartUpdateItemArgs } from \"./lib/types/api/cart-update-item\";\nimport type { WCV3Order, WCV3OrdersArgs } from \"./lib/types/api/v3/orders.ts\";\nimport type { MessageMajBoutonPanierDonnees, MessageMajContenuPanierDonnees } from \"./lib/types/messages\";\n\nimport {\n ROUTE_API_APPLIQUE_COUPON,\n ROUTE_API_MAJ_ARTICLE_PANIER,\n ROUTE_API_MAJ_CLIENT,\n ROUTE_API_NOUVELLE_COMMANDES,\n ROUTE_API_RETIRE_ARTICLE_PANIER,\n ROUTE_API_RETIRE_COUPON,\n} from \"./constantes/api.ts\";\nimport {\n ATTRIBUT_CLE_PANIER,\n ATTRIBUT_CODE_PROMO_PRESENT,\n ATTRIBUT_CONTIENT_ARTICLES,\n ATTRIBUT_DESACTIVE,\n ATTRIBUT_HIDDEN,\n SELECTEUR_BOUTON_ACTIONS_FORMULAIRE,\n SELECTEUR_BOUTON_ADDITION_QUANTITE,\n SELECTEUR_BOUTON_CODE_PROMO,\n SELECTEUR_BOUTON_SEPARATION_ADRESSES,\n SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE,\n SELECTEUR_BOUTON_SUPPRESSION_PANIER,\n SELECTEUR_CHAMP_CODE_PROMO,\n SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER,\n SELECTEUR_CONTENEUR_PANIER,\n SELECTEUR_ENSEMBLE_CODE_PROMO,\n SELECTEUR_ENTREES_PANIER,\n SELECTEUR_FORMULAIRE_FACTURATION,\n SELECTEUR_FORMULAIRE_PANIER,\n SELECTEUR_INSTRUCTIONS_CLIENT,\n SELECTEUR_PRIX_LIGNE_PANIER,\n SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT,\n SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE,\n SELECTEUR_SOUS_TOTAL_PRODUITS,\n SELECTEUR_TOTAL_REDUCTION,\n SELECTEUR_TOTAL_REDUCTION_VALEUR,\n SELECTEUR_TOTAL_PANIER,\n} from \"./constantes/dom.ts\";\nimport { NOM_CANAL_BOUTON_PANIER, NOM_CANAL_CONTENU_PANIER } from \"./constantes/messages.ts\";\nimport {\n eitherJsonParse,\n eitherSessionStorageGet,\n recupereElementAvecSelecteur,\n recupereElementOuLeve,\n recupereElementsAvecSelecteur,\n} from \"./lib/dom.ts\";\nimport { type CleNonTrouveError, leveErreur, leveServerError, reporteErreur, ServerError } from \"./lib/erreurs.ts\";\nimport { estError, estReponse500 } from \"./lib/gardes.ts\";\nimport {\n emetMessageMajBoutonPanier,\n emetMessageMajContenuPanier,\n valideMessageMajBoutonPanier,\n valideMessageMajContenuPanier,\n} from \"./lib/messages.ts\";\nimport { postBackend, traiteReponseBackendWCSelonCodesHTTP } from \"./lib/reseau.ts\";\nimport { WCStoreCartApplyCouponArgsSchema } from \"./lib/schemas/api/cart-apply-coupon.ts\";\nimport { WCStoreCartRemoveCouponArgsSchema } from \"./lib/schemas/api/cart-remove-coupon.ts\";\nimport { WCStoreCartRemoveItemArgsSchema } from \"./lib/schemas/api/cart-remove-item.ts\";\nimport { WCStoreCartUpdateCustomerArgsSchema } from \"./lib/schemas/api/cart-update-customer.ts\";\nimport { WCStoreCartUpdateItemArgsSchema } from \"./lib/schemas/api/cart-update-item.ts\";\nimport { WCStoreCartSchema } from \"./lib/schemas/api/cart.ts\";\nimport { WCStoreShippingRateShippingRateSchema } from \"./lib/schemas/api/couts-livraison.ts\";\nimport { WCV3OrdersArgsSchema, WCV3OrderSchema } from \"./lib/schemas/api/v3/orders.ts\";\nimport type { WCStoreCartApplyCouponArgs } from \"./lib/types/api/cart-apply-coupon\";\nimport type { WCStoreCartRemoveCouponArgs } from \"./lib/types/api/cart-remove-coupon\";\nimport {\n propEither,\n recupereElementDansDocumentOuLeve,\n recupereElementDocumentEither,\n recupereElementsDocumentEither,\n} from \"./lib/utils.ts\";\nimport { eitherParse } from \"./lib/validation.ts\";\n\n/** États utiles pour les scripts de la page. */\ntype EtatsPage = {\n authString: string;\n /** Un nonce pour l'authentification de requêtes API vers le backend WooCommerce. */\n nonce: string;\n};\n\ntype ElementsEntreePanier = {\n boutonAddition: HTMLButtonElement;\n boutonSoustraction: HTMLButtonElement;\n boutonSuppression: HTMLButtonElement;\n champQuantite?: HTMLInputElement;\n};\n\n// @ts-expect-error -- États injectés par le modèle PHP\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment -- États injectés par le modèle PHP\nconst ETATS_PAGE: EtatsPage = _etats;\n\n// Éléments d'intérêt\nconst ENTREES_PANIER_EITHER: Either> = recupereElementsDocumentEither(\n SELECTEUR_ENTREES_PANIER,\n);\nconst CONTENEUR_PANIER: HTMLElement = pipe(\n recupereElementDocumentEither(SELECTEUR_CONTENEUR_PANIER),\n recupereElementOuLeve,\n);\nconst SOUS_TOTAL_PRODUITS: HTMLElement = pipe(\n recupereElementDocumentEither(SELECTEUR_SOUS_TOTAL_PRODUITS),\n recupereElementOuLeve,\n);\nconst SOUS_TOTAL_LIVRAISON_COUT: HTMLElement = pipe(\n recupereElementDocumentEither(SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT),\n recupereElementOuLeve,\n);\nconst SOUS_TOTAL_LIVRAISON_PRESTATAIRE: HTMLSpanElement = pipe(\n recupereElementDocumentEither(SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE),\n recupereElementOuLeve,\n);\nconst SOUS_TOTAL_REDUCTION_LIGNE: HTMLDivElement = recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION);\nconst SOUS_TOTAL_REDUCTION_VALEUR: HTMLSpanElement = recupereElementDansDocumentOuLeve(\n SELECTEUR_TOTAL_REDUCTION_VALEUR,\n);\nconst INSTRUCTIONS_CLIENT: HTMLTextAreaElement = recupereElementDansDocumentOuLeve(\n SELECTEUR_INSTRUCTIONS_CLIENT,\n);\nconst TOTAL_PANIER: HTMLParagraphElement = pipe(\n recupereElementDocumentEither(SELECTEUR_TOTAL_PANIER),\n recupereElementOuLeve,\n);\nconst BOUTON_SEPARATION_ADRESSES: HTMLInputElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_SEPARATION_ADRESSES),\n recupereElementOuLeve,\n);\nconst ENSEMBLE_CODE_PROMO: HTMLDivElement = recupereElementDansDocumentOuLeve(\n SELECTEUR_ENSEMBLE_CODE_PROMO,\n);\nconst CHAMP_CODE_PROMO: HTMLInputElement = recupereElementDansDocumentOuLeve(\n SELECTEUR_CHAMP_CODE_PROMO,\n);\nlet BOUTON_CODE_PROMO: HTMLButtonElement = recupereElementDansDocumentOuLeve(\n SELECTEUR_BOUTON_CODE_PROMO,\n);\nconst FORMULAIRE_PANIER: HTMLFormElement = pipe(\n recupereElementDocumentEither(SELECTEUR_FORMULAIRE_PANIER),\n recupereElementOuLeve,\n);\nconst FORMULAIRE_FACTURATION: HTMLDivElement = pipe(\n recupereElementDocumentEither(SELECTEUR_FORMULAIRE_FACTURATION),\n recupereElementOuLeve,\n);\nlet BOUTON_ACTIONS_FORMULAIRE: HTMLButtonElement = pipe(\n recupereElementDocumentEither(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE),\n recupereElementOuLeve,\n);\n\n/**\n * Fonction utilitaire pour récupérer un Élément dans une ligne (entrée) du Panier, en levant une\n * Erreur s'il n'existe pas.\n *\n * @param entree L'entrée du Panier sous forme d'Élément dans le DOM.\n * @returns L'Élément demandé.\n * @throws Une SyntaxError si l'Élément n'est pas trouvé.\n */\nconst recupereElementDansEntreePanierOuLeve =\n (entree: HTMLElement) => (selecteur: string) =>\n pipe(recupereElementAvecSelecteur(entree)(selecteur), recupereElementOuLeve);\n\nconst desactiveBoutonsEntreesPanier = (entrees: Array): void =>\n entrees.forEach((entree: HTMLElement) => {\n // Fonction utilitaire\n const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);\n\n const elements: ElementsEntreePanier = {\n boutonAddition: recupereElementDansEntree(SELECTEUR_BOUTON_ADDITION_QUANTITE),\n boutonSoustraction: recupereElementDansEntree(SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE),\n boutonSuppression: recupereElementDansEntree(SELECTEUR_BOUTON_SUPPRESSION_PANIER),\n };\n\n elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, \"\");\n elements.boutonAddition.setAttribute(ATTRIBUT_DESACTIVE, \"\");\n elements.boutonSuppression.setAttribute(ATTRIBUT_DESACTIVE, \"\");\n elements.boutonSuppression.textContent = \"C= C= C= C= C=┌(;・ω・)┘\";\n });\n\nconst majEtatsActivationBoutons = (entrees: Array): void =>\n entrees.forEach((entree: HTMLElement) => {\n // Fonction utilitaire\n const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);\n\n const elements: ElementsEntreePanier = {\n boutonAddition: recupereElementDansEntree(SELECTEUR_BOUTON_ADDITION_QUANTITE),\n boutonSoustraction: recupereElementDansEntree(SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE),\n boutonSuppression: recupereElementDansEntree(SELECTEUR_BOUTON_SUPPRESSION_PANIER),\n champQuantite: recupereElementDansEntree(SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER),\n };\n\n Number(elements.champQuantite?.value) === 1\n ? elements.boutonSoustraction.setAttribute(ATTRIBUT_DESACTIVE, \"\")\n : elements.boutonSoustraction.removeAttribute(ATTRIBUT_DESACTIVE);\n elements.boutonAddition.removeAttribute(ATTRIBUT_DESACTIVE);\n elements.boutonSuppression.removeAttribute(ATTRIBUT_DESACTIVE);\n elements.boutonSuppression.textContent = \"Remove\";\n });\n\nconst initialiseMajEntreesPanier = (): void => {\n ENTREES_PANIER_EITHER.ifRight((entrees: Array) => {\n entrees.forEach((entree: HTMLElement) => {\n const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);\n\n // Retire l'entrée du DOM si la clé Panier n'existe pas et arrête précocement\n const clePanier: string = Maybe.fromNullable(entree.getAttribute(ATTRIBUT_CLE_PANIER))\n .ifNothing(() => {\n entree.remove();\n return;\n })\n .orDefault(\"CLE_PANIER_INEXISTANTE\");\n\n // Récupère les attributs et éléments utilisés dans le script\n const boutonSoustraction = recupereElementDansEntree(SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE);\n const champQuantite = recupereElementDansEntree(SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER);\n const boutonAddition = recupereElementDansEntree(SELECTEUR_BOUTON_ADDITION_QUANTITE);\n const boutonSuppression = recupereElementDansEntree(SELECTEUR_BOUTON_SUPPRESSION_PANIER);\n\n // Supprime la ligne du Panier au clic sur le bouton de suppression\n boutonSuppression.addEventListener(\"click\", (): void => {\n Either\n // Valide un corps de requête\n .encase, WCStoreCartRemoveItemArgs>(() =>\n parse(WCStoreCartRemoveItemArgsSchema, { key: clePanier })\n )\n .map(async (args: WCStoreCartRemoveItemArgs) => {\n // Modifie des éléments du DOM pour signaler la requête et empêcher des doubles exécutions\n desactiveBoutonsEntreesPanier(entrees);\n\n // Réalise la requête auprès du backend\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_RETIRE_ARTICLE_PANIER,\n })\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCStoreCartSchema,\n ),\n // Émets des Messages via BroadcastChannels pour la mise à jour de la page\n F.tap((panier: WCStoreCart) => {\n // Émet un Message avec le nouveau nombre de Produits dans le Panier\n emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });\n // Émet un Message avec le nouveau contenu du Panier\n emetMessageMajContenuPanier({\n produits: panier.items,\n sousTotalPanier: Number(panier.totals.total_price) / 100,\n totalPanier: Number(panier.totals.total_items) / 100,\n });\n // Retire l'entrée du Panier du DOM\n entree.remove();\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n majEtatsActivationBoutons(entrees);\n });\n })\n .ifLeft((erreur: ValiError) => reporteErreur(erreur));\n });\n\n // Retire une unité à une ligne du Panier au clic sur le bouton de soustraction\n boutonSoustraction.addEventListener(\"click\", (): void => {\n Maybe.fromNullable(champQuantite.valueAsNumber)\n .filter(valeur => valeur > 1)\n .ifJust(valeur => {\n Either\n // Valide les arguments de la requête\n .encase(() =>\n parse(WCStoreCartUpdateItemArgsSchema, { key: clePanier, quantity: valeur - 1 })\n )\n .map(async (args: WCStoreCartUpdateItemArgs) => {\n // Modifie des éléments du DOM pour signaler la requête et empêcher des doubles exécutions\n desactiveBoutonsEntreesPanier(entrees);\n\n // Réalise la requête\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_MAJ_ARTICLE_PANIER,\n })\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCStoreCartSchema,\n ),\n F.tap((panier: WCStoreCart) => {\n // Émet un Message avec le nouveau nombre de Produits dans le Panier\n emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });\n // Émet un Message avec le nouveau contenu du Panier\n emetMessageMajContenuPanier({\n produits: panier.items,\n sousTotalPanier: Number(panier.totals.total_price) / 100,\n totalPanier: Number(panier.totals.total_items) / 100,\n });\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n\n majEtatsActivationBoutons(entrees);\n });\n });\n });\n });\n\n // Ajoute une unité à une ligne du Panier au clic sur le bouton d'addition\n boutonAddition.addEventListener(\"click\", (): void => {\n Maybe.fromNullable(champQuantite.valueAsNumber).ifJust(valeur => {\n // Modifie des éléments du DOM pour signaler la requête et empêcher des doubles exécutions\n desactiveBoutonsEntreesPanier(entrees);\n\n Either\n // Valide les arguments de la requête\n .encase(() =>\n parse(WCStoreCartUpdateItemArgsSchema, { key: clePanier, quantity: valeur + 1 })\n )\n .map(async (args: WCStoreCartUpdateItemArgs) => {\n // Réalise la requête\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_MAJ_ARTICLE_PANIER,\n })\n .then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCStoreCartSchema,\n ),\n F.tap((panier: WCStoreCart) => {\n // Émet un Message avec le nouveau nombre de Produits dans le Panier\n emetMessageMajBoutonPanier({ quantiteProduits: panier.items_count });\n // Émet un Message avec le nouveau contenu du Panier\n emetMessageMajContenuPanier({\n produits: panier.items,\n sousTotalPanier: Number(panier.totals.total_price) / 100,\n totalPanier: Number(panier.totals.total_items) / 100,\n });\n }),\n );\n })\n .catch((e: unknown) => {\n if (estError(e)) {\n reporteErreur(e);\n } else {\n console.error(\"e n'est pas une Erreur ?!\", e);\n }\n\n majEtatsActivationBoutons(entrees);\n });\n });\n });\n });\n });\n });\n};\n\nconst initialiseMajConteneurPanier = (): void => {\n new BroadcastChannel(NOM_CANAL_BOUTON_PANIER).onmessage = (evenementMessage: MessageEvent): void => {\n valideMessageMajBoutonPanier(evenementMessage)\n .map(D.getUnsafe(\"donnees\"))\n // Met à jour l'Attribut de présence de Produits dans le Panier\n .ifRight((donnees: MessageMajBoutonPanierDonnees) => {\n CONTENEUR_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(donnees.quantiteProduits !== 0));\n });\n };\n};\n\nconst initialiseMajContenuPanier = (): void => {\n new BroadcastChannel(NOM_CANAL_CONTENU_PANIER).onmessage = (message: MessageEvent): void => {\n valideMessageMajContenuPanier(message)\n // Récupère les données sous forme d'Either\n .chain(propEither(\"donnees\"))\n // Met à jour le contenu du Panier si des données sont présentes\n .ifRight((donnees: MessageMajContenuPanierDonnees) => {\n donnees.produits.forEach((ligne: WCStoreCartItem) => {\n // Met à jour les entrées du Panier\n ENTREES_PANIER_EITHER.ifRight((entrees: Array) => {\n Maybe.fromNullable(entrees.find(entree => entree.getAttribute(ATTRIBUT_CLE_PANIER) === ligne.key)).ifJust(\n (entree: HTMLElement) => {\n // Fonction utilitaire\n const recupereElementDansEntree = recupereElementDansEntreePanierOuLeve(entree);\n\n // Récupère les Éléments à mettre à jour\n const prixLigne = recupereElementDansEntree(SELECTEUR_PRIX_LIGNE_PANIER);\n const champQuantite = recupereElementDansEntree(\n SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER,\n );\n\n // Met à jour les valeurs\n entree.setAttribute(\"data-quantite\", String(ligne.quantity));\n prixLigne.textContent = `${String(Number(ligne.totals.line_subtotal) / 100)}€`;\n champQuantite.setAttribute(\"value\", String(ligne.quantity));\n\n // Réactive les Boutons\n majEtatsActivationBoutons(entrees);\n },\n );\n\n // Met à jour les totaux du Panier\n SOUS_TOTAL_PRODUITS.textContent = `${String(donnees.totalPanier)}€`;\n TOTAL_PANIER.textContent = `${String(donnees.totalPanier)}€`;\n });\n });\n })\n // Reporte tout Erreur et réactive les Boutons\n .ifLeft((erreur: CleNonTrouveError | ValiError) => {\n reporteErreur(erreur);\n ENTREES_PANIER_EITHER.ifRight(entrees => majEtatsActivationBoutons(entrees));\n });\n };\n};\n\nconst initialiseMajFormulairesPanier = (): void => {\n BOUTON_SEPARATION_ADRESSES.addEventListener(\"click\", () => {\n Maybe.fromFalsy(BOUTON_SEPARATION_ADRESSES.checked)\n .ifJust((): void => {\n // Rend visible le formulaire de facturation\n FORMULAIRE_FACTURATION.removeAttribute(ATTRIBUT_HIDDEN);\n recupereElementsAvecSelecteur(FORMULAIRE_FACTURATION)(\"input, select\").ifRight(champs =>\n champs.forEach(champ => champ.removeAttribute(ATTRIBUT_DESACTIVE))\n );\n })\n .ifNothing((): void => {\n FORMULAIRE_FACTURATION.setAttribute(ATTRIBUT_HIDDEN, \"\");\n recupereElementsAvecSelecteur(FORMULAIRE_FACTURATION)(\n \"input, select\",\n ).ifRight(champs =>\n champs.forEach(champ => {\n champ.setAttribute(ATTRIBUT_DESACTIVE, \"\");\n champ.value = \"\";\n })\n );\n });\n });\n};\n\nconst initialiseBoutonActions = (): void => {\n // Déclenche une requête\n BOUTON_ACTIONS_FORMULAIRE.addEventListener(\"click\", evenement => {\n Maybe\n // Ne fais rien si le Formulaire n'est pas valide\n .fromFalsy(FORMULAIRE_PANIER.checkValidity())\n .ifJust(() => {\n evenement.preventDefault();\n FORMULAIRE_PANIER.removeAttribute(ATTRIBUT_HIDDEN);\n BOUTON_ACTIONS_FORMULAIRE.textContent = \"Check-out\";\n })\n .ifJust(() => {\n // Récupère les données du Formulaire\n // @ts-expect-error -- Problème de typage de la librairie DOM\n const donneesFormulaire: Record = pipe(\n new FormData(FORMULAIRE_PANIER),\n formData => formData.entries(),\n entrees => Array.from(entrees),\n tuple => D.fromPairs(tuple),\n );\n\n // Transforme les données brutes en arguments de requête auprès du backend\n const argumentsFormulaire: WCStoreCartUpdateCustomerArgs = {\n billing_address: {\n address_1: donneesFormulaire[\"facturation-adresse\"] ?? donneesFormulaire[\"livraison-adresse\"] ?? \"\",\n address_2: \"\",\n city: donneesFormulaire[\"facturation-ville\"] ?? donneesFormulaire[\"livraison-ville\"] ?? \"\",\n company: \"\",\n country: \"FR\",\n email: donneesFormulaire[\"facturation-email\"] ?? donneesFormulaire[\"livraison-email\"] ?? \"\",\n first_name: donneesFormulaire[\"facturation-prenom\"] ?? donneesFormulaire[\"livraison-prenom\"] ?? \"\",\n last_name: donneesFormulaire[\"facturation-nom\"] ?? donneesFormulaire[\"livraison-nom\"] ?? \"\",\n phone: donneesFormulaire[\"facturation-telephone\"] ?? donneesFormulaire[\"livraison-telephone\"] ?? \"\",\n postcode: donneesFormulaire[\"facturation-code-postal\"] ?? donneesFormulaire[\"livraison-code-postal\"] ?? \"\",\n state: donneesFormulaire[\"facturation-region-etat\"] ?? donneesFormulaire[\"livraison-region-etat\"] ?? \"\",\n },\n shipping_address: {\n address_1: donneesFormulaire[\"livraison-adresse\"] ?? \"\",\n address_2: \"\",\n city: donneesFormulaire[\"livraison-ville\"] ?? \"\",\n company: \"\",\n country: \"FR\",\n first_name: donneesFormulaire[\"livraison-prenom\"] ?? \"\",\n last_name: donneesFormulaire[\"livraison-nom\"] ?? \"\",\n phone: donneesFormulaire[\"livraison-telephone\"] ?? \"\",\n postcode: donneesFormulaire[\"livraison-code-postal\"] ?? \"\",\n state: donneesFormulaire[\"livraison-region-etat\"] ?? \"\",\n },\n };\n\n // Réalise la requête et traite sa réponse\n Either\n // Valide les arguments de la requête\n .encase, WCStoreCartUpdateCustomerArgs>(() =>\n parse(WCStoreCartUpdateCustomerArgsSchema, argumentsFormulaire)\n )\n .map(async (args: WCStoreCartUpdateCustomerArgs) => {\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_MAJ_CLIENT,\n }).then(async (reponse: Response) => {\n // Traite le cas d'erreur 500\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n // Traite tous les codes HTTPs possibles\n (corpsReponse: unknown) =>\n traiteReponseBackendWCSelonCodesHTTP(\n corpsReponse,\n WCStoreCartSchema,\n ),\n F.tap((donnees: WCStoreCart) => {\n // Récupère et adapte les informations de Livraison\n const sousTotalLivraison = donnees.totals.total_shipping === \"0\"\n ? \"Free\"\n : `${String(donnees.totals.total_shipping)} €`;\n const sousTotalPrestataire = match(donnees.shipping_rates[0]?.shipping_rates[0]?.name)\n .with(\"Mondial Relay - Livraison Point Relais (Gratuit)\", () => \"Mondial Relay - Pickup Point\")\n .with(\"Free shipping\", () => \"Free Shipping\")\n .otherwise(() => \"\");\n\n // Met à jour les informations de Livraison affichés à l'Utilisateur\n SOUS_TOTAL_LIVRAISON_COUT.textContent = sousTotalLivraison;\n SOUS_TOTAL_LIVRAISON_PRESTATAIRE.textContent = sousTotalPrestataire;\n\n // Sauvegarde la Méthode de Livraison dans le Stockage de Session\n sessionStorage.setItem(\n \"shipping_rates\",\n JSON.stringify(donnees.shipping_rates[0]?.shipping_rates[0] ?? \"\"),\n );\n }),\n );\n\n // Active le Bouton pour la création de la Commande\n initialiseBoutonCreationCommande();\n });\n })\n .ifLeft(a => console.error(a.issues));\n });\n });\n};\n\nconst initialiseElementsCodePromo = (): void => {\n // Récupérer un code promo assigné au Panier s'il existe\n const codePromoPresent = ENSEMBLE_CODE_PROMO.hasAttribute(ATTRIBUT_CODE_PROMO_PRESENT);\n\n BOUTON_CODE_PROMO.outerHTML = BOUTON_CODE_PROMO.outerHTML;\n BOUTON_CODE_PROMO = recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_CODE_PROMO);\n\n // Au clic, retire le code promo présent\n if (codePromoPresent) {\n BOUTON_CODE_PROMO.addEventListener(\"click\", () => {\n const code = CHAMP_CODE_PROMO.value;\n\n EitherAsync\n .liftEither(eitherParse({ code }, WCStoreCartRemoveCouponArgsSchema))\n .map((args: WCStoreCartRemoveCouponArgs) =>\n postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_RETIRE_COUPON,\n })\n )\n // Traite le cas d'une erreur 500 et récupère le corps de la Réponse\n .chain(async (reponse: Response) =>\n EitherAsync(async ({ throwE }) => {\n if (estReponse500(reponse)) throwE(new ServerError(\"500 Server Error\"));\n return await reponse.json();\n })\n )\n // Vérifie le schéma de la Réponse\n .chain((corpsReponse: unknown) =>\n EitherAsync, WCStoreCart>(({ liftEither }) =>\n liftEither(eitherParse(corpsReponse, WCStoreCartSchema))\n )\n )\n .ifRight((panier: WCStoreCart) => {\n const totalPanier: string = `${String(Number(panier.totals.total_price) / 100)}€`;\n\n ENSEMBLE_CODE_PROMO.removeAttribute(ATTRIBUT_CODE_PROMO_PRESENT);\n BOUTON_CODE_PROMO.textContent = \"Apply\";\n CHAMP_CODE_PROMO.value = \"\";\n CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);\n\n TOTAL_PANIER.textContent = totalPanier;\n SOUS_TOTAL_REDUCTION_VALEUR.textContent = \"-0€\";\n SOUS_TOTAL_REDUCTION_LIGNE.setAttribute(ATTRIBUT_HIDDEN, \"\");\n\n initialiseElementsCodePromo();\n })\n .ifLeft(e => {\n console.error(\"requête\", e);\n if (e instanceof ValiError) console.error(e.issues);\n })\n .run();\n });\n\n return;\n }\n\n // Au clic, ajoute le code promo demandé\n BOUTON_CODE_PROMO.addEventListener(\"click\", () => {\n // Récupère le code promo du champ et valide sa forme\n const codePromo: Either<\n TypeError | ValiError,\n WCStoreCartApplyCouponArgs\n > = Maybe\n .fromFalsy(CHAMP_CODE_PROMO.value.trim())\n // Transforme le Maybe en Either avec à Gauche une Erreur en cas d'absence de valeur, à Droite le code renseigné\n .toEither(new TypeError(\"Aucun code promo n'a été renseigné.\"))\n .chain((code: string) => eitherParse({ code }, WCStoreCartApplyCouponArgsSchema))\n .ifRight((args: WCStoreCartApplyCouponArgs) => console.debug(args))\n // Traitement différencié des Erreurs\n .ifLeft(erreur =>\n match(erreur)\n .with(P.instanceOf(ValiError), e => console.error(\"codePromo\", e.issues))\n .with(P.instanceOf(TypeError), e => console.error(\"codePromo\", e))\n .exhaustive()\n );\n\n EitherAsync\n .liftEither(codePromo)\n // Réalise la requête\n .map(async args =>\n await postBackend({\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_APPLIQUE_COUPON,\n })\n )\n // Traite le cas d'une erreur 500 et récupère le corps de la Réponse\n .chain(async (reponse: Response) =>\n EitherAsync(async ({ throwE }) => {\n if (estReponse500(reponse)) throwE(new ServerError(\"500 Server Error\"));\n return await reponse.json();\n })\n )\n // Vérifie le schéma de la Réponse\n .chain((corpsReponse: unknown) =>\n EitherAsync, WCStoreCart>(({ liftEither }) =>\n liftEither(eitherParse(corpsReponse, WCStoreCartSchema))\n )\n )\n .ifRight((panier: WCStoreCart) => {\n const totalReduction: string = `-${String(Number(panier.totals.total_discount) / 100)}€`;\n const totalPanier: string = `${Number(panier.totals.total_price) / 100}€`;\n\n ENSEMBLE_CODE_PROMO.setAttribute(ATTRIBUT_CODE_PROMO_PRESENT, \"\");\n BOUTON_CODE_PROMO.textContent = \"Remove\";\n CHAMP_CODE_PROMO.value = panier.coupons[0].code;\n CHAMP_CODE_PROMO.toggleAttribute(ATTRIBUT_DESACTIVE);\n\n TOTAL_PANIER.textContent = totalPanier;\n SOUS_TOTAL_REDUCTION_VALEUR.textContent = totalReduction;\n SOUS_TOTAL_REDUCTION_LIGNE.removeAttribute(ATTRIBUT_HIDDEN);\n\n initialiseElementsCodePromo();\n })\n .ifLeft(e => {\n console.error(\"requête\", e);\n if (e instanceof ValiError) console.error(e.issues);\n })\n .run();\n });\n};\n\nconst initialiseBoutonCreationCommande = (): void => {\n // Permet de supprimer tout Écouteur d'Évènement assigné au Bouton\n BOUTON_ACTIONS_FORMULAIRE.outerHTML = BOUTON_ACTIONS_FORMULAIRE.outerHTML;\n // Réassigne le Bouton\n BOUTON_ACTIONS_FORMULAIRE = recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_ACTIONS_FORMULAIRE);\n // Créé la Commande au clic sur le Bouton\n BOUTON_ACTIONS_FORMULAIRE.addEventListener(\"click\", (evenement: Event) => {\n Maybe\n // Ne fais rien si le Formulaire n'est pas valide\n .fromFalsy(FORMULAIRE_PANIER.checkValidity())\n // Active l'état de chargement\n .ifJust(() => {\n evenement.preventDefault();\n BOUTON_ACTIONS_FORMULAIRE.textContent = \"Submitting...\";\n })\n .ifJust(() => {\n // Récupère les données du Formulaire sous forme d'Objet\n const donneesFormulaire = Object.fromEntries(new FormData(FORMULAIRE_PANIER)) as Record;\n\n const methodeLivraison: WCStoreShippingRateShippingRate = eitherSessionStorageGet(\"shipping_rates\")\n // Récupère la méthode de livraison depuis le stockage de session sous forme d'objet\n .chain(eitherJsonParse)\n // Vérifie la forme de l'objet récupéré\n .chain((json: JSONValue) =>\n eitherParse(\n json,\n WCStoreShippingRateShippingRateSchema,\n )\n )\n .ifLeft(e => {\n if (e instanceof ValiError) console.error(e.issues);\n console.error(\"methodeLivraison\", e);\n BOUTON_ACTIONS_FORMULAIRE.textContent = \"Check-out\";\n leveErreur(e);\n })\n .unsafeCoerce();\n\n const articlesPanier = ENTREES_PANIER_EITHER\n .orDefault([])\n .map((entree: HTMLElement) => ({\n product_id: Number(entree.getAttribute(\"data-id-produit\")),\n quantity: Number(entree.getAttribute(\"data-quantite\")),\n ...(entree.getAttribute(\"data-id-variation\") && {\n variation_id: Number(entree.getAttribute(\"data-id-variation\")),\n }),\n }));\n\n const argumentsFormulaire: WCV3OrdersArgs = {\n billing: {\n address_1: donneesFormulaire[\"facturation-adresse\"] ?? donneesFormulaire[\"livraison-adresse\"] ?? \"\",\n address_2: \"\",\n city: donneesFormulaire[\"facturation-ville\"] ?? donneesFormulaire[\"livraison-ville\"] ?? \"\",\n company: \"\",\n country: \"FR\",\n email: donneesFormulaire[\"facturation-email\"] ?? donneesFormulaire[\"livraison-email\"] ?? \"\",\n first_name: donneesFormulaire[\"facturation-prenom\"] ?? donneesFormulaire[\"livraison-prenom\"] ?? \"\",\n last_name: donneesFormulaire[\"facturation-nom\"] ?? donneesFormulaire[\"livraison-nom\"] ?? \"\",\n phone: donneesFormulaire[\"facturation-telephone\"] ?? donneesFormulaire[\"livraison-telephone\"] ?? \"\",\n postcode: donneesFormulaire[\"facturation-code-postal\"] ?? donneesFormulaire[\"livraison-code-postal\"] ?? \"\",\n state: donneesFormulaire[\"facturation-region-etat\"] ?? donneesFormulaire[\"livraison-region-etat\"] ?? \"\",\n },\n customer_note: INSTRUCTIONS_CLIENT.value,\n currency: methodeLivraison.currency_code,\n line_items: articlesPanier,\n shipping: {\n address_1: donneesFormulaire[\"livraison-adresse\"] ?? \"\",\n address_2: \"\",\n city: donneesFormulaire[\"livraison-ville\"] ?? \"\",\n company: \"\",\n country: \"FR\",\n first_name: donneesFormulaire[\"livraison-prenom\"] ?? \"\",\n last_name: donneesFormulaire[\"livraison-nom\"] ?? \"\",\n phone: donneesFormulaire[\"livraison-telephone\"] ?? \"\",\n postcode: donneesFormulaire[\"livraison-code-postal\"] ?? \"\",\n state: donneesFormulaire[\"livraison-region-etat\"] ?? \"\",\n },\n shipping_lines: [\n {\n method_id: methodeLivraison.method_id,\n method_title: methodeLivraison.name,\n total: methodeLivraison.price,\n },\n ],\n };\n\n // Vérifie que la forme de l'objet des arguments est correcte\n eitherParse(argumentsFormulaire, WCV3OrdersArgsSchema)\n .map(async (args: WCV3OrdersArgs) => {\n // Réalise la requête\n await postBackend({\n authString: ETATS_PAGE.authString,\n corps: JSON.stringify(args),\n nonce: ETATS_PAGE.nonce,\n route: ROUTE_API_NOUVELLE_COMMANDES,\n }).then(async (reponse: Response) => {\n if (estReponse500(reponse)) leveServerError(\"500 Server Error\");\n\n pipe(\n // Récupère la Réponse\n await reponse.json(),\n (corpsReponse: unknown) =>\n eitherParse(corpsReponse, WCV3OrderSchema)\n .ifRight((reponse: WCV3Order) => {\n const url = new URL(`https://${window.location.host}/checkout`);\n url.searchParams.append(\"order_key\", reponse.order_key);\n url.searchParams.append(\"order_id\", String(reponse.id));\n location.assign(url);\n })\n .ifLeft(e => console.error(e.issues)),\n );\n });\n })\n .ifLeft(a => console.error(a.issues));\n });\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", (): void => {\n initialiseMajEntreesPanier();\n initialiseMajConteneurPanier();\n initialiseMajContenuPanier();\n initialiseMajFormulairesPanier();\n initialiseBoutonActions();\n initialiseElementsCodePromo();\n});\n"],"names":["F","D","match","P","reponse"],"mappings":"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"} \ No newline at end of file diff --git a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js index fd537439..966f3db7 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/scripts-page-produit.js @@ -1,6 +1,6 @@ import { z } from "./index.CeK6pfoJ.js"; -import { e as ROUTE_API_AJOUTE_ARTICLE_PANIER, E as ENTETE_WC_NONCE } from "./api.js"; -import { E as SELECTEUR_BOUTON_AJOUT_PANIER, F as SELECTEUR_SELECTEUR_QUANTITE, G as SELECTEUR_PRIX_PRODUIT, H as SELECTEUR_LIENS_ONGLETS, I as SELECTEUR_SECTIONS_CONTENUS, J as ATTRIBUT_ARIA_SELECTED, k as ATTRIBUT_HIDDEN, C as ATTRIBUT_DESACTIVE, K as ATTRIBUT_PRIX, L as SELECTEUR_CONTENEUR_FLECHES_DEFILEMENT, M as SELECTEUR_FLECHE_DEFILEMENT_GAUCHE, N as SELECTEUR_FLECHE_DEFILEMENT_DROITE, O as SELECTEUR_PHOTOS_PRODUIT, P as SELECTEUR_IMAGE_COLONNE_GAUCHE, Q as SELECTEUR_IMAGES_COLONNE_DROITE, R as ATTRIBUT_INDEX_IMAGE_ACTIVE } from "./dom.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 { l as leveServerError, r as reporteErreur } from "./erreurs.js"; import { b as estHTMLSelectElement, e as estReponse500, a as estError } from "./gardes.js"; @@ -14,7 +14,7 @@ import { p as pipe } from "./pipe.XPB0wEfw.js"; import { l } from "./index-0eef19ec.CFsloYN6.js"; import { M as Maybe } from "./Either.wHNxn7Os.js"; import "./exports.DT-46nyp.js"; -import "./index.CXGAS3st.js"; +import "./index.DeCaB8sW.js"; import "./messages3.js"; import "./messages2.js"; import "./erreurs2.js"; diff --git a/web/app/themes/haiku-atelier-2024/assets/js/validation.js b/web/app/themes/haiku-atelier-2024/assets/js/validation.js index e7218a90..ab5956bc 100644 --- a/web/app/themes/haiku-atelier-2024/assets/js/validation.js +++ b/web/app/themes/haiku-atelier-2024/assets/js/validation.js @@ -1,4 +1,4 @@ -import { p as parse } from "./index.CXGAS3st.js"; +import { p as parse } from "./index.DeCaB8sW.js"; import { E as Either } from "./Either.wHNxn7Os.js"; const eitherParse = (valeur, schema) => Either.encase(() => parse(schema, valeur)); export { diff --git a/web/app/themes/haiku-atelier-2024/page-cart.php b/web/app/themes/haiku-atelier-2024/page-cart.php index 7b377668..a5f2db71 100644 --- a/web/app/themes/haiku-atelier-2024/page-cart.php +++ b/web/app/themes/haiku-atelier-2024/page-cart.php @@ -17,9 +17,13 @@ $modeles = ["panier.twig"]; // Récupère les informations affichés des Produits du Panier $panier = []; -/** @var int Le sous-total de la Commande dans le Panier. */ +/** @var int $sous_total_panier Le sous-total de la Commande dans le Panier. */ $sous_total_panier = pipe(WC()->cart->get_subtotal(), fn($sous_total) => intval($sous_total)); -/** @var int Le total de la Commande dans le Panier. */ +/** @var string|null $code_promo Le code promo appliqué au Panier s'il existe. */ +$code_promo = collect(WC()->cart->get_applied_coupons())->first(); +/** @var int $sous_total_reduction Le total du montant de la Réduction appliquée au Panier */ +$sous_total_reduction = WC()->cart->get_totals()["discount_total"]; +/** @var int $total_panier Le total de la Commande dans le Panier. */ $total_panier = pipe(WC()->cart->get_total(""), fn($total) => intval($total)); foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) { @@ -39,9 +43,12 @@ foreach (WC()->cart->get_cart() as $cle_panier => $article_panier) { ]; } -echo "


";
-print_r($panier);
-echo "
"; +// echo "


";
+// print_r($code_promo);
+// echo "
"; +// print_r(WC()->cart->get_applied_coupons()); +// print_r(WC()->cart->get_coupon_discount_totals()); +// echo "
"; // Récupère les Adresses de l'Utilisateur $email = WC()->customer->get_billing_email(); @@ -51,8 +58,10 @@ $adresse_facturation = WC()->customer->get_billing(); $contexte["email"] = $email; $contexte["adresse_livraison"] = $adresse_livraison; $contexte["adresse_facturation"] = $adresse_facturation; -$contexte["total_panier"] = $total_panier; $contexte["sous_total_panier"] = $sous_total_panier; +$contexte["code_promo"] = $code_promo; +$contexte["sous_total_reduction"] = $sous_total_reduction; +$contexte["total_panier"] = $total_panier; $contexte["produits_panier"] = $panier; // Récupère les Pays pris en charge par WooCommerce diff --git a/web/app/themes/haiku-atelier-2024/src/sass/abstracts/_variables.scss b/web/app/themes/haiku-atelier-2024/src/sass/abstracts/_variables.scss index e90c6901..caee4715 100644 --- a/web/app/themes/haiku-atelier-2024/src/sass/abstracts/_variables.scss +++ b/web/app/themes/haiku-atelier-2024/src/sass/abstracts/_variables.scss @@ -16,7 +16,6 @@ /* Polices */ --police-lato: "Lato", sans-serif; - --police-myriad: "Myriad", sans-serif; /* Hauteurs de ligne */ --hauteur-ligne-classique: 1.5; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts b/web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts index 166ebc58..5e2fa312 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/constantes/api.ts @@ -2,6 +2,9 @@ export const CHEMIN_API_REST = "wp-json"; export const ROUTE_API_PANIER = `/${CHEMIN_API_REST}/wc/store/cart`; export const ROUTE_API_AJOUTE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/add-item`; +export const ROUTE_API_APPLIQUE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/apply-coupon`; +export const ROUTE_API_RETIRE_COUPON = `/${CHEMIN_API_REST}/wc/store/cart/remove-coupon`; +export const ROUTE_API_COUPONS = `/${CHEMIN_API_REST}/wc/store/cart/coupons`; export const ROUTE_API_RETIRE_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/remove-item`; export const ROUTE_API_MAJ_ARTICLE_PANIER = `/${CHEMIN_API_REST}/wc/store/cart/update-item`; export const ROUTE_API_MAJ_CLIENT = `/${CHEMIN_API_REST}/wc/store/cart/update-customer`; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts b/web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts index 64057c50..89f74b3e 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts @@ -15,6 +15,7 @@ export const ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE = "data-id-ensemble-epingle-boit export const ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF = "data-ensemble-epingle-boite-actif"; export const ATTRIBUT_INDEX_IMAGE_ACTIVE = "data-index-image-active"; export const ATTRIBUT_PRIX = "data-prix"; +export const ATTRIBUT_CODE_PROMO_PRESENT = "data-code-promo-present"; // En-tête export const SELECTEUR_BOUTON_MENU_MOBILE = "#bouton-menu-mobile"; @@ -42,6 +43,8 @@ export const SELECTEUR_PRIX_LIGNE_PANIER = ".detail-produit__nom-prix span"; export const SELECTEUR_SOUS_TOTAL_PRODUITS = "#panneau-panier #sous-total-produits strong"; export const SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT = "#panneau-panier #sous-total-livraison strong"; export const SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE = "#panneau-panier #sous-total-livraison span"; +export const SELECTEUR_TOTAL_REDUCTION = "#panneau-panier #sous-total-reduction"; +export const SELECTEUR_TOTAL_REDUCTION_VALEUR = "#panneau-panier #sous-total-reduction strong"; export const SELECTEUR_TOTAL_PANIER = "#panneau-panier .panneau__pied-de-page p span"; export const SELECTEUR_BOUTON_SEPARATION_ADRESSES = "#separation-adresses"; export const SELECTEUR_FORMULAIRE_PANIER = "#panneau-informations-client form"; @@ -49,6 +52,9 @@ export const SELECTEUR_FORMULAIRE_LIVRAISON = "#panneau-informations-client .pan export const SELECTEUR_FORMULAIRE_FACTURATION = "#panneau-informations-client .panneau__formulaires__facturation"; export const SELECTEUR_BOUTON_ACTIONS_FORMULAIRE = "#panneau-informations-client .panneau__pied-de-page button"; export const SELECTEUR_INSTRUCTIONS_CLIENT = "#panneau-panier #instructions-client"; +export const SELECTEUR_ENSEMBLE_CODE_PROMO = "#panneau-panier #ensemble-code-promo"; +export const SELECTEUR_CHAMP_CODE_PROMO = "#panneau-panier #champ-code-promo"; +export const SELECTEUR_BOUTON_CODE_PROMO = "#panneau-panier #bouton-code-promo"; // Accueil export const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling"; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts index 304e4ea7..44f0bdcf 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts @@ -127,3 +127,9 @@ export const eitherSessionStorageGet = (cle: string): Either => Either.encase(() => JSON.parse(chaine)); + +/** TODO */ +export const correspondCibleSelecteur = ( + cible: EventTarget | null, + selecteur: string, +): cible is E => cible !== null && (cible as HTMLElement).matches(selecteur); diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts index 0106a60b..3e496143 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/reseau.ts @@ -24,7 +24,15 @@ type ArgumentsGetBackendWC = { /** La route, ou chemin, de l'API à demander au backend. */ route: string; /** Paramètres de recherche (« query args ») à injecter dans l'URL de la requête. */ - searchParams: string; + 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 = { @@ -38,6 +46,24 @@ type ArgumentsPostBackendWC = { }; export const getBackend = (args: ArgumentsGetBackendWC) => + fetch( + `${args.route}`, + { + credentials: "same-origin", + headers: { + Accept: "application/json", + "Content-Type": "application/json", + [ENTETE_WC_NONCE]: args.nonce, + // Ajoute conditionnellement l'en-tête « Authorization » + ...(args.authString && { Authorization: `Basic ${args.authString}` }), + }, + method: "GET", + mode: "same-origin", + signal: AbortSignal.timeout(5000), + }, + ); + +export const getBackendAvecParametresUrl = (args: ArgumentsGetBackendWC) => fetch( `${args.route}?${args.searchParams}`, { @@ -55,6 +81,24 @@ export const getBackend = (args: ArgumentsGetBackendWC) => }, ); +export const deleteBackend = (args: ArgumentsDeleteBackendWC) => + fetch( + args.route, + { + credentials: "same-origin", + headers: { + Accept: "application/json", + "Content-Type": "application/json", + [ENTETE_WC_NONCE]: args.nonce, + // Ajoute conditionnellement l'en-tête « Authorization » + ...(args.authString && { Authorization: `Basic ${args.authString}` }), + }, + method: "DELETE", + mode: "same-origin", + signal: AbortSignal.timeout(5000), + }, + ); + export const postBackend = (args: ArgumentsPostBackendWC) => fetch( args.route, @@ -90,8 +134,14 @@ export const traiteReponseBackendWCSelonCodesHTTP = pipe(e, ErreurInconnue, leveErreur)); -type TraitementReponseBackend> = Either< - BadRequestError | NotFoundError | UnauthorizedError | UnknownError | ValiError, +export type TraitementReponseBackendErrors> = + | BadRequestError + | NotFoundError + | UnauthorizedError + | UnknownError + | ValiError; +export type TraitementReponseBackend> = Either< + TraitementReponseBackendErrors, R >; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts new file mode 100644 index 00000000..4093145e --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-apply-coupon.ts @@ -0,0 +1,6 @@ +import * as v from "valibot"; + +export const WCStoreCartApplyCouponArgsSchema = v.object({ + /** Unique identifier for the coupon within the basket */ + code: v.optional(v.string()), +}); diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts new file mode 100644 index 00000000..57c266bf --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-coupons.ts @@ -0,0 +1,34 @@ +import * as v from "valibot"; + +export const WCStoreCartCouponsArgSchema = v.object({ + // Unique identifier for the coupon within the basket. + code: v.string(), +}); + +export const WCStoreCartCouponsSchema = v.object({ + // The coupon's unique code. + code: v.string(), + // The discount type for the coupon (eg percentage or fixed amount) + discount_type: v.string(), + // Total amounts provided using the smallest unit of the currency. + 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(), + // 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(), + // Total discount applied by this coupon. + total_discount: v.string(), + // Total tax removed due to discount applied by this coupon. + total_discount_tax: v.string(), + }), +}); diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts new file mode 100644 index 00000000..dfc6be17 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-remove-coupon.ts @@ -0,0 +1,6 @@ +import * as v from "valibot"; + +export const WCStoreCartRemoveCouponArgsSchema = v.object({ + /** Unique identifier for the coupon within the basket */ + code: v.optional(v.string()), +}); diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-apply-coupon.d.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-apply-coupon.d.ts new file mode 100644 index 00000000..11c77eca --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-apply-coupon.d.ts @@ -0,0 +1,4 @@ +import type { InferOutput } from "valibot"; +import type { WCStoreCartApplyCouponArgsSchema } from "../../schemas/api/cart-apply-coupon"; + +export type WCStoreCartApplyCouponArgs = InferOutput; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-coupons.d.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-coupons.d.ts new file mode 100644 index 00000000..29f59a47 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-coupons.d.ts @@ -0,0 +1,6 @@ +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; +export type WCStoreCartCoupons = InferOutput; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-remove-coupon.d.ts b/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-remove-coupon.d.ts new file mode 100644 index 00000000..153f2617 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/src/scripts/lib/types/api/cart-remove-coupon.d.ts @@ -0,0 +1,4 @@ +import type { InferOutput } from "valibot"; +import type { WCStoreCartRemoveCouponArgsSchema } from "../../schemas/api/cart-remove-coupon"; + +export type WCStoreCartRemoveCouponArgs = InferOutput; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-boutique.ts b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-boutique.ts index c76e2958..6ace36a0 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-boutique.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-boutique.ts @@ -23,7 +23,7 @@ import { import { html } from "./lib/dom.ts"; import { leveServerError } from "./lib/erreurs.ts"; import { estReponse500 } from "./lib/gardes.ts"; -import { getBackend, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts"; +import { getBackendAvecParametresUrl, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts"; import { WCV3ProductsSchema } from "./lib/schemas/api/v3/products.ts"; import { WCV3ProductsArgsSchema } from "./lib/schemas/api/v3/products.ts"; import { recupereElementDansDocumentOuLeve, recupereElementDocumentEither } from "./lib/utils.ts"; @@ -74,7 +74,7 @@ const initialisePageBoutique = (): void => { async (args: WCProductsArgs) => { // Réalise la requête await EitherAsync(() => - getBackend({ + getBackendAvecParametresUrl({ authString: ETATS_PAGE.authString, nonce: ETATS_PAGE.nonce, route: ROUTE_API_NOUVELLE_PRODUCTS, diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts new file mode 100644 index 00000000..72c65095 --- /dev/null +++ b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier-code-promo.ts @@ -0,0 +1,71 @@ +/** + * Scripts pour la gestion des codes promos (coupons) sur la Page Panier. + */ + +import { Maybe } from "purify-ts"; +import { match, P } from "ts-pattern"; +import { + ATTRIBUT_CODE_PROMO_PRESENT, + SELECTEUR_BOUTON_CODE_PROMO, + SELECTEUR_CHAMP_CODE_PROMO, + SELECTEUR_ENSEMBLE_CODE_PROMO, + SELECTEUR_TOTAL_REDUCTION, + SELECTEUR_TOTAL_REDUCTION_VALEUR, +} from "./constantes/dom"; +import { correspondCibleSelecteur } from "./lib/dom"; +import { recupereElementDansDocumentOuLeve } from "./lib/utils"; + +/** É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; + +const ELEMENTS = { + TOTAL_REDUCTION_LIGNE: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION), + TOTAL_REDUCTION_VALEUR: recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION_VALEUR), + ENSEMBLE_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_ENSEMBLE_CODE_PROMO), + CHAMP_CODE_PROMO: recupereElementDansDocumentOuLeve(SELECTEUR_CHAMP_CODE_PROMO), + BOUTON_CODE_PROMO: recupereElementDansDocumentOuLeve(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(); + + // 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(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(cible, SELECTEUR_BOUTON_CODE_PROMO)), + }, + v => { + console.debug(v); + }, + ); + }); +}; diff --git a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts index 652c1a82..af73d059 100644 --- a/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts +++ b/web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts @@ -1,6 +1,6 @@ import { D, F, pipe } from "@mobily/ts-belt"; -import { Either, Maybe } from "purify-ts"; -import { match } from "ts-pattern"; +import { Either, EitherAsync, Maybe } from "purify-ts"; +import { match, P } from "ts-pattern"; import { parse, ValiError } from "valibot"; import type { MessageMajContenuPanierSchema } from "./lib/schemas/messages.ts"; @@ -12,23 +12,29 @@ import type { WCV3Order, WCV3OrdersArgs } from "./lib/types/api/v3/orders.ts"; import type { MessageMajBoutonPanierDonnees, MessageMajContenuPanierDonnees } from "./lib/types/messages"; import { + ROUTE_API_APPLIQUE_COUPON, ROUTE_API_MAJ_ARTICLE_PANIER, ROUTE_API_MAJ_CLIENT, ROUTE_API_NOUVELLE_COMMANDES, ROUTE_API_RETIRE_ARTICLE_PANIER, + ROUTE_API_RETIRE_COUPON, } from "./constantes/api.ts"; import { ATTRIBUT_CLE_PANIER, + ATTRIBUT_CODE_PROMO_PRESENT, ATTRIBUT_CONTIENT_ARTICLES, ATTRIBUT_DESACTIVE, ATTRIBUT_HIDDEN, SELECTEUR_BOUTON_ACTIONS_FORMULAIRE, SELECTEUR_BOUTON_ADDITION_QUANTITE, + SELECTEUR_BOUTON_CODE_PROMO, SELECTEUR_BOUTON_SEPARATION_ADRESSES, SELECTEUR_BOUTON_SOUSTRACTION_QUANTITE, SELECTEUR_BOUTON_SUPPRESSION_PANIER, + SELECTEUR_CHAMP_CODE_PROMO, SELECTEUR_CHAMP_QUANTITE_LIGNE_PANIER, SELECTEUR_CONTENEUR_PANIER, + SELECTEUR_ENSEMBLE_CODE_PROMO, SELECTEUR_ENTREES_PANIER, SELECTEUR_FORMULAIRE_FACTURATION, SELECTEUR_FORMULAIRE_PANIER, @@ -37,6 +43,8 @@ import { SELECTEUR_SOUS_TOTAL_LIVRAISON_COUT, SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE, SELECTEUR_SOUS_TOTAL_PRODUITS, + 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"; @@ -47,7 +55,7 @@ import { recupereElementOuLeve, recupereElementsAvecSelecteur, } from "./lib/dom.ts"; -import { type CleNonTrouveError, leveErreur, leveServerError, reporteErreur } from "./lib/erreurs.ts"; +import { type CleNonTrouveError, leveErreur, leveServerError, reporteErreur, ServerError } from "./lib/erreurs.ts"; import { estError, estReponse500 } from "./lib/gardes.ts"; import { emetMessageMajBoutonPanier, @@ -56,12 +64,16 @@ import { valideMessageMajContenuPanier, } from "./lib/messages.ts"; import { postBackend, traiteReponseBackendWCSelonCodesHTTP } from "./lib/reseau.ts"; +import { WCStoreCartApplyCouponArgsSchema } from "./lib/schemas/api/cart-apply-coupon.ts"; +import { WCStoreCartRemoveCouponArgsSchema } from "./lib/schemas/api/cart-remove-coupon.ts"; import { WCStoreCartRemoveItemArgsSchema } from "./lib/schemas/api/cart-remove-item.ts"; import { WCStoreCartUpdateCustomerArgsSchema } from "./lib/schemas/api/cart-update-customer.ts"; import { WCStoreCartUpdateItemArgsSchema } from "./lib/schemas/api/cart-update-item.ts"; 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, @@ -108,7 +120,11 @@ const SOUS_TOTAL_LIVRAISON_PRESTATAIRE: HTMLSpanElement = pipe( recupereElementDocumentEither(SELECTEUR_SOUS_TOTAL_LIVRAISON_PRESTATAIRE), recupereElementOuLeve, ); -const INSTRUCTIONS_CLIENT: HTMLTextAreaElement = recupereElementDansDocumentOuLeve( +const SOUS_TOTAL_REDUCTION_LIGNE: HTMLDivElement = recupereElementDansDocumentOuLeve(SELECTEUR_TOTAL_REDUCTION); +const SOUS_TOTAL_REDUCTION_VALEUR: HTMLSpanElement = recupereElementDansDocumentOuLeve( + SELECTEUR_TOTAL_REDUCTION_VALEUR, +); +const INSTRUCTIONS_CLIENT: HTMLTextAreaElement = recupereElementDansDocumentOuLeve( SELECTEUR_INSTRUCTIONS_CLIENT, ); const TOTAL_PANIER: HTMLParagraphElement = pipe( @@ -119,14 +135,19 @@ const BOUTON_SEPARATION_ADRESSES: HTMLInputElement = pipe( recupereElementDocumentEither(SELECTEUR_BOUTON_SEPARATION_ADRESSES), recupereElementOuLeve, ); +const ENSEMBLE_CODE_PROMO: HTMLDivElement = recupereElementDansDocumentOuLeve( + SELECTEUR_ENSEMBLE_CODE_PROMO, +); +const CHAMP_CODE_PROMO: HTMLInputElement = recupereElementDansDocumentOuLeve( + SELECTEUR_CHAMP_CODE_PROMO, +); +let BOUTON_CODE_PROMO: HTMLButtonElement = recupereElementDansDocumentOuLeve( + SELECTEUR_BOUTON_CODE_PROMO, +); const FORMULAIRE_PANIER: HTMLFormElement = pipe( recupereElementDocumentEither(SELECTEUR_FORMULAIRE_PANIER), recupereElementOuLeve, ); -// const FORMULAIRE_LIVRAISON: HTMLDivElement = pipe( -// recupereElementDocumentEither(SELECTEUR_FORMULAIRE_LIVRAISON), -// recupereElementOuLeve, -// ); const FORMULAIRE_FACTURATION: HTMLDivElement = pipe( recupereElementDocumentEither(SELECTEUR_FORMULAIRE_FACTURATION), recupereElementOuLeve, @@ -262,7 +283,7 @@ const initialiseMajEntreesPanier = (): void => { }); // Retire une unité à une ligne du Panier au clic sur le bouton de soustraction - boutonSoustraction.addEventListener("click", (evenement: Event): void => { + boutonSoustraction.addEventListener("click", (): void => { Maybe.fromNullable(champQuantite.valueAsNumber) .filter(valeur => valeur > 1) .ifJust(valeur => { @@ -412,7 +433,7 @@ const initialiseMajContenuPanier = (): void => { // Met à jour les valeurs entree.setAttribute("data-quantite", String(ligne.quantity)); - prixLigne.textContent = `${String(Number(ligne.totals.line_total) / 100)}€`; + prixLigne.textContent = `${String(Number(ligne.totals.line_subtotal) / 100)}€`; champQuantite.setAttribute("value", String(ligne.quantity)); // Réactive les Boutons @@ -563,6 +584,130 @@ 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({ 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(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, 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, + 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(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, 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; @@ -686,4 +831,5 @@ document.addEventListener("DOMContentLoaded", (): void => { initialiseMajContenuPanier(); initialiseMajFormulairesPanier(); initialiseBoutonActions(); + initialiseElementsCodePromo(); }); diff --git a/web/app/themes/haiku-atelier-2024/views/accueil.twig b/web/app/themes/haiku-atelier-2024/views/accueil.twig index 59a2db30..f820309f 100644 --- a/web/app/themes/haiku-atelier-2024/views/accueil.twig +++ b/web/app/themes/haiku-atelier-2024/views/accueil.twig @@ -8,6 +8,15 @@
+ {{ + images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll0", "", 903, 1080) + }} +
+ +
{{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll1", "", 903, 1080) @@ -18,7 +27,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="1" + data-index="2" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll2", "", 903, 1080) @@ -29,7 +38,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="2" + data-index="3" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll3", "", 903, 1080) @@ -51,7 +60,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="4" + data-index="5" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll5", "", 903, 1080) @@ -62,7 +71,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="5" + data-index="6" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll6", "", 903, 1080) @@ -73,7 +82,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="6" + data-index="7" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll7", "", 903, 1080) @@ -84,7 +93,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="7" + data-index="8" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll8", "", 903, 1080) @@ -95,7 +104,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="8" + data-index="9" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll9", "", 903, 1080) @@ -106,7 +115,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="9" + data-index="10" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll10", "", 903, 1080) @@ -117,7 +126,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="10" + data-index="11" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll11", "", 903, 1080) @@ -128,7 +137,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="11" + data-index="12" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll12", "", 903, 1080) @@ -139,7 +148,7 @@ aria-hidden class="storytelling__image" data-cache - data-index="12" + data-index="13" > {{ images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll13", "", 903, 1080) diff --git a/web/app/themes/haiku-atelier-2024/views/parts/pages/panier/panneau-panier.twig b/web/app/themes/haiku-atelier-2024/views/parts/pages/panier/panneau-panier.twig index 406aed8b..87a5a4e4 100644 --- a/web/app/themes/haiku-atelier-2024/views/parts/pages/panier/panneau-panier.twig +++ b/web/app/themes/haiku-atelier-2024/views/parts/pages/panier/panneau-panier.twig @@ -82,21 +82,28 @@ spellcheck="true" > -
+
@@ -107,7 +114,16 @@ id="sous-total-produits" >

Subtotal:

-

{{ sous_total_panier }} €

+

{{ sous_total_panier }}€

+
+ +
+

Discount:

+

-{{ sous_total_reduction }}€

- Belgium and France: free shipping.
- Worldwide: free shipping on orders above 150 €. + Belgium and France: free shipping on orders above 50€.
+ Worldwide: free shipping on orders above 150€.

-

Total: {{ total_panier }} €

+

Total: {{ total_panier }}€

diff --git a/web/app/themes/haiku-atelier-2024/views/succes-commande.twig b/web/app/themes/haiku-atelier-2024/views/succes-commande.twig index f382525b..24b64dca 100644 --- a/web/app/themes/haiku-atelier-2024/views/succes-commande.twig +++ b/web/app/themes/haiku-atelier-2024/views/succes-commande.twig @@ -46,9 +46,9 @@

{# Affiche tous les attributs relevants pour la variation choisie #} {% for attribut in produit.attributs %} - {# {% if attribut.valeur %} + {% if attribut.valeur %} {{ attribut.nom }}: {{ attribut.valeur }}
- {% endif %} #} + {% endif %} {% endfor %} qty: {{ produit.quantite }}

diff --git a/web/app/uploads/2024/09/DSC9897-300x300.jpg b/web/app/uploads/2024/09/DSC9897-300x300.jpg index 9f9e0360..87fde175 100644 Binary files a/web/app/uploads/2024/09/DSC9897-300x300.jpg and b/web/app/uploads/2024/09/DSC9897-300x300.jpg differ diff --git a/web/app/uploads/2024/09/DSC9897.jpg b/web/app/uploads/2024/09/DSC9897.jpg index 21dcbe67..ed37aa61 100644 Binary files a/web/app/uploads/2024/09/DSC9897.jpg and b/web/app/uploads/2024/09/DSC9897.jpg differ diff --git a/web/app/uploads/2024/09/IKKAN-B-vrm-300x300.jpg b/web/app/uploads/2024/09/IKKAN-B-vrm-300x300.jpg new file mode 100644 index 00000000..bcd301c9 Binary files /dev/null and b/web/app/uploads/2024/09/IKKAN-B-vrm-300x300.jpg differ diff --git a/web/app/uploads/2024/09/IKKAN-B-vrm.jpg b/web/app/uploads/2024/09/IKKAN-B-vrm.jpg new file mode 100644 index 00000000..3c89d916 Binary files /dev/null and b/web/app/uploads/2024/09/IKKAN-B-vrm.jpg differ diff --git a/web/app/uploads/2024/09/IKKAN-B2-vrm-copy-300x300.jpg b/web/app/uploads/2024/09/IKKAN-B2-vrm-copy-300x300.jpg deleted file mode 100644 index f2625981..00000000 Binary files a/web/app/uploads/2024/09/IKKAN-B2-vrm-copy-300x300.jpg and /dev/null differ diff --git a/web/app/uploads/2024/09/IKKAN-B2-vrm-copy.jpg b/web/app/uploads/2024/09/IKKAN-B2-vrm-copy.jpg deleted file mode 100644 index 14cc04ae..00000000 Binary files a/web/app/uploads/2024/09/IKKAN-B2-vrm-copy.jpg and /dev/null differ diff --git a/web/app/uploads/2024/09/IMG_1423-300x300.jpg b/web/app/uploads/2024/09/IMG_1423-300x300.jpg index bf0225e7..1ea5005e 100644 Binary files a/web/app/uploads/2024/09/IMG_1423-300x300.jpg and b/web/app/uploads/2024/09/IMG_1423-300x300.jpg differ diff --git a/web/app/uploads/2024/09/IMG_1423.jpg b/web/app/uploads/2024/09/IMG_1423.jpg index 63499bc6..93ca41b0 100644 Binary files a/web/app/uploads/2024/09/IMG_1423.jpg and b/web/app/uploads/2024/09/IMG_1423.jpg differ diff --git a/web/app/uploads/2024/09/IMG_1478-300x300.jpg b/web/app/uploads/2024/09/IMG_1478-300x300.jpg index 85cac869..087c5692 100644 Binary files a/web/app/uploads/2024/09/IMG_1478-300x300.jpg and b/web/app/uploads/2024/09/IMG_1478-300x300.jpg differ diff --git a/web/app/uploads/2024/09/IMG_1478.jpg b/web/app/uploads/2024/09/IMG_1478.jpg index dff963b6..752a4390 100644 Binary files a/web/app/uploads/2024/09/IMG_1478.jpg and b/web/app/uploads/2024/09/IMG_1478.jpg differ diff --git a/web/app/uploads/2024/09/KARA-B-1-300x300.jpg b/web/app/uploads/2024/09/KARA-B-1-300x300.jpg new file mode 100644 index 00000000..923c9815 Binary files /dev/null and b/web/app/uploads/2024/09/KARA-B-1-300x300.jpg differ diff --git a/web/app/uploads/2024/09/KARA-B-1.jpg b/web/app/uploads/2024/09/KARA-B-1.jpg new file mode 100644 index 00000000..5a840b21 Binary files /dev/null and b/web/app/uploads/2024/09/KARA-B-1.jpg differ diff --git a/web/app/uploads/2024/09/PIASU-B-mix-300x300.jpg b/web/app/uploads/2024/09/PIASU-B-mix-300x300.jpg index abcb6e85..51165994 100644 Binary files a/web/app/uploads/2024/09/PIASU-B-mix-300x300.jpg and b/web/app/uploads/2024/09/PIASU-B-mix-300x300.jpg differ diff --git a/web/app/uploads/2024/09/PIASU-B-mix.jpg b/web/app/uploads/2024/09/PIASU-B-mix.jpg index 3e04acae..489eca59 100644 Binary files a/web/app/uploads/2024/09/PIASU-B-mix.jpg and b/web/app/uploads/2024/09/PIASU-B-mix.jpg differ diff --git a/web/app/uploads/2024/10/BOROBORO-BO-g-300x300.jpg b/web/app/uploads/2024/10/BOROBORO-BO-g-300x300.jpg index 2ff3cf35..9a76855a 100644 Binary files a/web/app/uploads/2024/10/BOROBORO-BO-g-300x300.jpg and b/web/app/uploads/2024/10/BOROBORO-BO-g-300x300.jpg differ diff --git a/web/app/uploads/2024/10/BOROBORO-BO-g.jpg b/web/app/uploads/2024/10/BOROBORO-BO-g.jpg index 837f6ad8..1997a2b5 100644 Binary files a/web/app/uploads/2024/10/BOROBORO-BO-g.jpg and b/web/app/uploads/2024/10/BOROBORO-BO-g.jpg differ diff --git a/web/app/uploads/2024/10/BOROBORO-BO-s-300x300.jpg b/web/app/uploads/2024/10/BOROBORO-BO-s-300x300.jpg index ed7572d3..39d2e3c0 100644 Binary files a/web/app/uploads/2024/10/BOROBORO-BO-s-300x300.jpg and b/web/app/uploads/2024/10/BOROBORO-BO-s-300x300.jpg differ diff --git a/web/app/uploads/2024/10/BOROBORO-BO-s.jpg b/web/app/uploads/2024/10/BOROBORO-BO-s.jpg index 8498b12e..6657cbc4 100644 Binary files a/web/app/uploads/2024/10/BOROBORO-BO-s.jpg and b/web/app/uploads/2024/10/BOROBORO-BO-s.jpg differ diff --git a/web/app/uploads/2024/10/DSC9116-300x300.jpg b/web/app/uploads/2024/10/DSC9116-300x300.jpg new file mode 100644 index 00000000..69b643d0 Binary files /dev/null and b/web/app/uploads/2024/10/DSC9116-300x300.jpg differ diff --git a/web/app/uploads/2024/10/DSC9116.jpg b/web/app/uploads/2024/10/DSC9116.jpg new file mode 100644 index 00000000..e300854a Binary files /dev/null and b/web/app/uploads/2024/10/DSC9116.jpg differ diff --git a/web/app/uploads/2024/10/DSC9341-300x300.jpg b/web/app/uploads/2024/10/DSC9341-300x300.jpg index c9bca8b9..5f02a0a7 100644 Binary files a/web/app/uploads/2024/10/DSC9341-300x300.jpg and b/web/app/uploads/2024/10/DSC9341-300x300.jpg differ diff --git a/web/app/uploads/2024/10/DSC9341.jpg b/web/app/uploads/2024/10/DSC9341.jpg index c4c56157..073400bd 100644 Binary files a/web/app/uploads/2024/10/DSC9341.jpg and b/web/app/uploads/2024/10/DSC9341.jpg differ diff --git a/web/app/uploads/2024/10/FUYOU-BR-g-300x300.jpg b/web/app/uploads/2024/10/FUYOU-BR-g-300x300.jpg deleted file mode 100644 index 9a969b92..00000000 Binary files a/web/app/uploads/2024/10/FUYOU-BR-g-300x300.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/FUYOU-BR-g.jpg b/web/app/uploads/2024/10/FUYOU-BR-g.jpg deleted file mode 100644 index 8f27e576..00000000 Binary files a/web/app/uploads/2024/10/FUYOU-BR-g.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/FUYOU-C-1-300x300.jpg b/web/app/uploads/2024/10/FUYOU-C-1-300x300.jpg index b4cb859a..0148a420 100644 Binary files a/web/app/uploads/2024/10/FUYOU-C-1-300x300.jpg and b/web/app/uploads/2024/10/FUYOU-C-1-300x300.jpg differ diff --git a/web/app/uploads/2024/10/FUYOU-C-1.jpg b/web/app/uploads/2024/10/FUYOU-C-1.jpg index 7baa9378..1dd1c5ea 100644 Binary files a/web/app/uploads/2024/10/FUYOU-C-1.jpg and b/web/app/uploads/2024/10/FUYOU-C-1.jpg differ diff --git a/web/app/uploads/2024/10/FUYOU-C-300x300.jpg b/web/app/uploads/2024/10/FUYOU-C-300x300.jpg index 11dbd498..4f56de6f 100644 Binary files a/web/app/uploads/2024/10/FUYOU-C-300x300.jpg and b/web/app/uploads/2024/10/FUYOU-C-300x300.jpg differ diff --git a/web/app/uploads/2024/10/FUYOU-CR1-300x300.jpg b/web/app/uploads/2024/10/FUYOU-CR1-300x300.jpg index adbc00a2..be2a41ed 100644 Binary files a/web/app/uploads/2024/10/FUYOU-CR1-300x300.jpg and b/web/app/uploads/2024/10/FUYOU-CR1-300x300.jpg differ diff --git a/web/app/uploads/2024/10/FUYOU-CR1.jpg b/web/app/uploads/2024/10/FUYOU-CR1.jpg index eda290b1..4d7b815f 100644 Binary files a/web/app/uploads/2024/10/FUYOU-CR1.jpg and b/web/app/uploads/2024/10/FUYOU-CR1.jpg differ diff --git a/web/app/uploads/2024/10/HADOU-BR-1-300x300.jpg b/web/app/uploads/2024/10/HADOU-BR-1-300x300.jpg deleted file mode 100644 index 2eb547fe..00000000 Binary files a/web/app/uploads/2024/10/HADOU-BR-1-300x300.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/HADOU-BR-1.jpg b/web/app/uploads/2024/10/HADOU-BR-1.jpg deleted file mode 100644 index ec9997d2..00000000 Binary files a/web/app/uploads/2024/10/HADOU-BR-1.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/HADOU-BR-mix-300x300.jpg b/web/app/uploads/2024/10/HADOU-BR-mix-300x300.jpg new file mode 100644 index 00000000..89fd8a3c Binary files /dev/null and b/web/app/uploads/2024/10/HADOU-BR-mix-300x300.jpg differ diff --git a/web/app/uploads/2024/10/HADOU-BR-mix.jpg b/web/app/uploads/2024/10/HADOU-BR-mix.jpg new file mode 100644 index 00000000..fb7afc9c Binary files /dev/null and b/web/app/uploads/2024/10/HADOU-BR-mix.jpg differ diff --git a/web/app/uploads/2024/10/IKKAN-C-3-300x300.jpg b/web/app/uploads/2024/10/IKKAN-C-3-300x300.jpg index bb809c3b..60c3fd3a 100644 Binary files a/web/app/uploads/2024/10/IKKAN-C-3-300x300.jpg and b/web/app/uploads/2024/10/IKKAN-C-3-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IKKAN-C-3.jpg b/web/app/uploads/2024/10/IKKAN-C-3.jpg index 28a672bd..0a79f175 100644 Binary files a/web/app/uploads/2024/10/IKKAN-C-3.jpg and b/web/app/uploads/2024/10/IKKAN-C-3.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1428-1-300x300.jpg b/web/app/uploads/2024/10/IMG_1428-1-300x300.jpg new file mode 100644 index 00000000..f31d2a43 Binary files /dev/null and b/web/app/uploads/2024/10/IMG_1428-1-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1428-1.jpg b/web/app/uploads/2024/10/IMG_1428-1.jpg new file mode 100644 index 00000000..67e3eba2 Binary files /dev/null and b/web/app/uploads/2024/10/IMG_1428-1.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1431-300x300.jpg b/web/app/uploads/2024/10/IMG_1431-300x300.jpg index 780de80e..311a5513 100644 Binary files a/web/app/uploads/2024/10/IMG_1431-300x300.jpg and b/web/app/uploads/2024/10/IMG_1431-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1431.jpg b/web/app/uploads/2024/10/IMG_1431.jpg index a77e9670..7b05137d 100644 Binary files a/web/app/uploads/2024/10/IMG_1431.jpg and b/web/app/uploads/2024/10/IMG_1431.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1432-300x300.jpg b/web/app/uploads/2024/10/IMG_1432-300x300.jpg index a5259bb7..104838e1 100644 Binary files a/web/app/uploads/2024/10/IMG_1432-300x300.jpg and b/web/app/uploads/2024/10/IMG_1432-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1432.jpg b/web/app/uploads/2024/10/IMG_1432.jpg index ca84f936..e8afa2f1 100644 Binary files a/web/app/uploads/2024/10/IMG_1432.jpg and b/web/app/uploads/2024/10/IMG_1432.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1493-300x300.jpg b/web/app/uploads/2024/10/IMG_1493-300x300.jpg index 64626f6f..0e0ced7d 100644 Binary files a/web/app/uploads/2024/10/IMG_1493-300x300.jpg and b/web/app/uploads/2024/10/IMG_1493-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1493.jpg b/web/app/uploads/2024/10/IMG_1493.jpg index 1f18edd8..b99044ab 100644 Binary files a/web/app/uploads/2024/10/IMG_1493.jpg and b/web/app/uploads/2024/10/IMG_1493.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1531-300x300.jpg b/web/app/uploads/2024/10/IMG_1531-300x300.jpg index 53f78f84..1012b47f 100644 Binary files a/web/app/uploads/2024/10/IMG_1531-300x300.jpg and b/web/app/uploads/2024/10/IMG_1531-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1531.jpg b/web/app/uploads/2024/10/IMG_1531.jpg index 82757e71..a9eb53cb 100644 Binary files a/web/app/uploads/2024/10/IMG_1531.jpg and b/web/app/uploads/2024/10/IMG_1531.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1543-300x300.jpg b/web/app/uploads/2024/10/IMG_1543-300x300.jpg index 318ae755..09597a44 100644 Binary files a/web/app/uploads/2024/10/IMG_1543-300x300.jpg and b/web/app/uploads/2024/10/IMG_1543-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1543.jpg b/web/app/uploads/2024/10/IMG_1543.jpg index ee320adc..f40443ad 100644 Binary files a/web/app/uploads/2024/10/IMG_1543.jpg and b/web/app/uploads/2024/10/IMG_1543.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1565-300x300.jpg b/web/app/uploads/2024/10/IMG_1565-300x300.jpg index 49ca8033..9cbc303e 100644 Binary files a/web/app/uploads/2024/10/IMG_1565-300x300.jpg and b/web/app/uploads/2024/10/IMG_1565-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1565.jpg b/web/app/uploads/2024/10/IMG_1565.jpg index f10c648c..7b732f68 100644 Binary files a/web/app/uploads/2024/10/IMG_1565.jpg and b/web/app/uploads/2024/10/IMG_1565.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1586-300x300.jpg b/web/app/uploads/2024/10/IMG_1586-300x300.jpg index 378cf28d..6b04f702 100644 Binary files a/web/app/uploads/2024/10/IMG_1586-300x300.jpg and b/web/app/uploads/2024/10/IMG_1586-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1586.jpg b/web/app/uploads/2024/10/IMG_1586.jpg index 5bd3ad53..65736b54 100644 Binary files a/web/app/uploads/2024/10/IMG_1586.jpg and b/web/app/uploads/2024/10/IMG_1586.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1588-300x300.jpg b/web/app/uploads/2024/10/IMG_1588-300x300.jpg index 086ca1d8..e3a0aee4 100644 Binary files a/web/app/uploads/2024/10/IMG_1588-300x300.jpg and b/web/app/uploads/2024/10/IMG_1588-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1588.jpg b/web/app/uploads/2024/10/IMG_1588.jpg index dfbf44fc..53515ab4 100644 Binary files a/web/app/uploads/2024/10/IMG_1588.jpg and b/web/app/uploads/2024/10/IMG_1588.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1600-300x300.jpg b/web/app/uploads/2024/10/IMG_1600-300x300.jpg index 63367250..147c4cda 100644 Binary files a/web/app/uploads/2024/10/IMG_1600-300x300.jpg and b/web/app/uploads/2024/10/IMG_1600-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1600.jpg b/web/app/uploads/2024/10/IMG_1600.jpg index 5cff4756..3faeef6c 100644 Binary files a/web/app/uploads/2024/10/IMG_1600.jpg and b/web/app/uploads/2024/10/IMG_1600.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1638-300x300.jpg b/web/app/uploads/2024/10/IMG_1638-300x300.jpg index 962af588..32b5df3b 100644 Binary files a/web/app/uploads/2024/10/IMG_1638-300x300.jpg and b/web/app/uploads/2024/10/IMG_1638-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1638.jpg b/web/app/uploads/2024/10/IMG_1638.jpg index 5ee7af94..385b5972 100644 Binary files a/web/app/uploads/2024/10/IMG_1638.jpg and b/web/app/uploads/2024/10/IMG_1638.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1647-300x300.jpg b/web/app/uploads/2024/10/IMG_1647-300x300.jpg index d4804f31..3c2ce413 100644 Binary files a/web/app/uploads/2024/10/IMG_1647-300x300.jpg and b/web/app/uploads/2024/10/IMG_1647-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1647.jpg b/web/app/uploads/2024/10/IMG_1647.jpg index 8add236e..ae872e1b 100644 Binary files a/web/app/uploads/2024/10/IMG_1647.jpg and b/web/app/uploads/2024/10/IMG_1647.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1651-300x300.jpg b/web/app/uploads/2024/10/IMG_1651-300x300.jpg index 3418cf9e..c4df712f 100644 Binary files a/web/app/uploads/2024/10/IMG_1651-300x300.jpg and b/web/app/uploads/2024/10/IMG_1651-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1651.jpg b/web/app/uploads/2024/10/IMG_1651.jpg index 0df8075f..307b911f 100644 Binary files a/web/app/uploads/2024/10/IMG_1651.jpg and b/web/app/uploads/2024/10/IMG_1651.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1669-300x300.jpg b/web/app/uploads/2024/10/IMG_1669-300x300.jpg index eb8a38af..f310f5a0 100644 Binary files a/web/app/uploads/2024/10/IMG_1669-300x300.jpg and b/web/app/uploads/2024/10/IMG_1669-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1669.jpg b/web/app/uploads/2024/10/IMG_1669.jpg index 9ef8efbc..5b3dca4c 100644 Binary files a/web/app/uploads/2024/10/IMG_1669.jpg and b/web/app/uploads/2024/10/IMG_1669.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1673-300x300.jpg b/web/app/uploads/2024/10/IMG_1673-300x300.jpg index 749e30f2..9fd3c64c 100644 Binary files a/web/app/uploads/2024/10/IMG_1673-300x300.jpg and b/web/app/uploads/2024/10/IMG_1673-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1673.jpg b/web/app/uploads/2024/10/IMG_1673.jpg index 3245f839..b9626104 100644 Binary files a/web/app/uploads/2024/10/IMG_1673.jpg and b/web/app/uploads/2024/10/IMG_1673.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1680-300x300.jpg b/web/app/uploads/2024/10/IMG_1680-300x300.jpg index ec4071bc..34bf01e9 100644 Binary files a/web/app/uploads/2024/10/IMG_1680-300x300.jpg and b/web/app/uploads/2024/10/IMG_1680-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1680.jpg b/web/app/uploads/2024/10/IMG_1680.jpg index de8af65d..d6486206 100644 Binary files a/web/app/uploads/2024/10/IMG_1680.jpg and b/web/app/uploads/2024/10/IMG_1680.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1746-300x300.jpg b/web/app/uploads/2024/10/IMG_1746-300x300.jpg index ca1aec70..f737738b 100644 Binary files a/web/app/uploads/2024/10/IMG_1746-300x300.jpg and b/web/app/uploads/2024/10/IMG_1746-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1746.jpg b/web/app/uploads/2024/10/IMG_1746.jpg index 761231ef..a22d7cd1 100644 Binary files a/web/app/uploads/2024/10/IMG_1746.jpg and b/web/app/uploads/2024/10/IMG_1746.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1747-300x300.jpg b/web/app/uploads/2024/10/IMG_1747-300x300.jpg index 4ea2cccb..8ebde870 100644 Binary files a/web/app/uploads/2024/10/IMG_1747-300x300.jpg and b/web/app/uploads/2024/10/IMG_1747-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1747.jpg b/web/app/uploads/2024/10/IMG_1747.jpg index 84a7aefe..d08ee9e1 100644 Binary files a/web/app/uploads/2024/10/IMG_1747.jpg and b/web/app/uploads/2024/10/IMG_1747.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1748-300x300.jpg b/web/app/uploads/2024/10/IMG_1748-300x300.jpg index f32d8633..803a71e0 100644 Binary files a/web/app/uploads/2024/10/IMG_1748-300x300.jpg and b/web/app/uploads/2024/10/IMG_1748-300x300.jpg differ diff --git a/web/app/uploads/2024/10/IMG_1748.jpg b/web/app/uploads/2024/10/IMG_1748.jpg index 5d251619..195cd030 100644 Binary files a/web/app/uploads/2024/10/IMG_1748.jpg and b/web/app/uploads/2024/10/IMG_1748.jpg differ diff --git a/web/app/uploads/2024/10/KAGUN-BOP-300x300.jpg b/web/app/uploads/2024/10/KAGUN-BOP-300x300.jpg index 66b61780..5d591072 100644 Binary files a/web/app/uploads/2024/10/KAGUN-BOP-300x300.jpg and b/web/app/uploads/2024/10/KAGUN-BOP-300x300.jpg differ diff --git a/web/app/uploads/2024/10/KAGUN-BOP.jpg b/web/app/uploads/2024/10/KAGUN-BOP.jpg index 8d00a90d..47d823dd 100644 Binary files a/web/app/uploads/2024/10/KAGUN-BOP.jpg and b/web/app/uploads/2024/10/KAGUN-BOP.jpg differ diff --git a/web/app/uploads/2024/10/MUGURA-CR2-vrm-300x300.jpg b/web/app/uploads/2024/10/MUGURA-CR2-vrm-300x300.jpg index 967b72a0..4be185ef 100644 Binary files a/web/app/uploads/2024/10/MUGURA-CR2-vrm-300x300.jpg and b/web/app/uploads/2024/10/MUGURA-CR2-vrm-300x300.jpg differ diff --git a/web/app/uploads/2024/10/MUGURA-CR2-vrm.jpg b/web/app/uploads/2024/10/MUGURA-CR2-vrm.jpg index a90c83d7..9a2b5629 100644 Binary files a/web/app/uploads/2024/10/MUGURA-CR2-vrm.jpg and b/web/app/uploads/2024/10/MUGURA-CR2-vrm.jpg differ diff --git a/web/app/uploads/2024/10/MUGURA-NAIL-arg-300x300.jpg b/web/app/uploads/2024/10/MUGURA-NAIL-arg-300x300.jpg index e482fd3b..38503469 100644 Binary files a/web/app/uploads/2024/10/MUGURA-NAIL-arg-300x300.jpg and b/web/app/uploads/2024/10/MUGURA-NAIL-arg-300x300.jpg differ diff --git a/web/app/uploads/2024/10/MUGURA-NAIL-arg.jpg b/web/app/uploads/2024/10/MUGURA-NAIL-arg.jpg index 4f977b50..3c7b979c 100644 Binary files a/web/app/uploads/2024/10/MUGURA-NAIL-arg.jpg and b/web/app/uploads/2024/10/MUGURA-NAIL-arg.jpg differ diff --git a/web/app/uploads/2024/10/MUGURA-NAIL-vrm-300x300.jpg b/web/app/uploads/2024/10/MUGURA-NAIL-vrm-300x300.jpg index 0a7b4419..83179a6d 100644 Binary files a/web/app/uploads/2024/10/MUGURA-NAIL-vrm-300x300.jpg and b/web/app/uploads/2024/10/MUGURA-NAIL-vrm-300x300.jpg differ diff --git a/web/app/uploads/2024/10/MUGURA-NAIL-vrm.jpg b/web/app/uploads/2024/10/MUGURA-NAIL-vrm.jpg index aef5677f..58cf7ce8 100644 Binary files a/web/app/uploads/2024/10/MUGURA-NAIL-vrm.jpg and b/web/app/uploads/2024/10/MUGURA-NAIL-vrm.jpg differ diff --git a/web/app/uploads/2024/10/PIASU-C-300x300.jpg b/web/app/uploads/2024/10/PIASU-C-300x300.jpg index 1c727e36..783d348e 100644 Binary files a/web/app/uploads/2024/10/PIASU-C-300x300.jpg and b/web/app/uploads/2024/10/PIASU-C-300x300.jpg differ diff --git a/web/app/uploads/2024/10/PIASU-C.jpg b/web/app/uploads/2024/10/PIASU-C.jpg index ddfc930e..e355aab4 100644 Binary files a/web/app/uploads/2024/10/PIASU-C.jpg and b/web/app/uploads/2024/10/PIASU-C.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-B-malachite-300x300.jpg b/web/app/uploads/2024/10/ROKKU-B-malachite-300x300.jpg index 467d8b3a..1dad21c7 100644 Binary files a/web/app/uploads/2024/10/ROKKU-B-malachite-300x300.jpg and b/web/app/uploads/2024/10/ROKKU-B-malachite-300x300.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-B-malachite.jpg b/web/app/uploads/2024/10/ROKKU-B-malachite.jpg index 29dfbd2d..b522df76 100644 Binary files a/web/app/uploads/2024/10/ROKKU-B-malachite.jpg and b/web/app/uploads/2024/10/ROKKU-B-malachite.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-C-jaspe-300x300.jpg b/web/app/uploads/2024/10/ROKKU-C-jaspe-300x300.jpg index 1b625d4e..c4025435 100644 Binary files a/web/app/uploads/2024/10/ROKKU-C-jaspe-300x300.jpg and b/web/app/uploads/2024/10/ROKKU-C-jaspe-300x300.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-C-jaspe.jpg b/web/app/uploads/2024/10/ROKKU-C-jaspe.jpg index f03d1972..c20ab62c 100644 Binary files a/web/app/uploads/2024/10/ROKKU-C-jaspe.jpg and b/web/app/uploads/2024/10/ROKKU-C-jaspe.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-C-lapis-300x300.jpg b/web/app/uploads/2024/10/ROKKU-C-lapis-300x300.jpg index 20de9d21..204ff248 100644 Binary files a/web/app/uploads/2024/10/ROKKU-C-lapis-300x300.jpg and b/web/app/uploads/2024/10/ROKKU-C-lapis-300x300.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-C-tiger-300x300.jpg b/web/app/uploads/2024/10/ROKKU-C-tiger-300x300.jpg index 90094c51..1d8c7256 100644 Binary files a/web/app/uploads/2024/10/ROKKU-C-tiger-300x300.jpg and b/web/app/uploads/2024/10/ROKKU-C-tiger-300x300.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-C-tiger.jpg b/web/app/uploads/2024/10/ROKKU-C-tiger.jpg index 853f8015..d5db27dd 100644 Binary files a/web/app/uploads/2024/10/ROKKU-C-tiger.jpg and b/web/app/uploads/2024/10/ROKKU-C-tiger.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-CR1-vrm-lapis-300x300.jpg b/web/app/uploads/2024/10/ROKKU-CR1-vrm-lapis-300x300.jpg index 079c69be..43df1334 100644 Binary files a/web/app/uploads/2024/10/ROKKU-CR1-vrm-lapis-300x300.jpg and b/web/app/uploads/2024/10/ROKKU-CR1-vrm-lapis-300x300.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-CR1-vrm-lapis.jpg b/web/app/uploads/2024/10/ROKKU-CR1-vrm-lapis.jpg index 93062c00..67b28378 100644 Binary files a/web/app/uploads/2024/10/ROKKU-CR1-vrm-lapis.jpg and b/web/app/uploads/2024/10/ROKKU-CR1-vrm-lapis.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-CR1-vrm-malachite-300x300.jpg b/web/app/uploads/2024/10/ROKKU-CR1-vrm-malachite-300x300.jpg index 7206d696..8ff021aa 100644 Binary files a/web/app/uploads/2024/10/ROKKU-CR1-vrm-malachite-300x300.jpg and b/web/app/uploads/2024/10/ROKKU-CR1-vrm-malachite-300x300.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-CR1-vrm-malachite.jpg b/web/app/uploads/2024/10/ROKKU-CR1-vrm-malachite.jpg index 2aa3167e..84ea2a05 100644 Binary files a/web/app/uploads/2024/10/ROKKU-CR1-vrm-malachite.jpg and b/web/app/uploads/2024/10/ROKKU-CR1-vrm-malachite.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-CR1-vrm-tiger-300x300.jpg b/web/app/uploads/2024/10/ROKKU-CR1-vrm-tiger-300x300.jpg index 3e0a334d..ee21eb10 100644 Binary files a/web/app/uploads/2024/10/ROKKU-CR1-vrm-tiger-300x300.jpg and b/web/app/uploads/2024/10/ROKKU-CR1-vrm-tiger-300x300.jpg differ diff --git a/web/app/uploads/2024/10/ROKKU-CR1-vrm-tiger.jpg b/web/app/uploads/2024/10/ROKKU-CR1-vrm-tiger.jpg index 76ce6a7b..1ec4e994 100644 Binary files a/web/app/uploads/2024/10/ROKKU-CR1-vrm-tiger.jpg and b/web/app/uploads/2024/10/ROKKU-CR1-vrm-tiger.jpg differ diff --git a/web/app/uploads/2024/10/TAMANORI-BO-g-2-300x300.jpg b/web/app/uploads/2024/10/TAMANORI-BO-g-2-300x300.jpg deleted file mode 100644 index 0e45475c..00000000 Binary files a/web/app/uploads/2024/10/TAMANORI-BO-g-2-300x300.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/TAMANORI-BO-g-2.jpg b/web/app/uploads/2024/10/TAMANORI-BO-g-2.jpg deleted file mode 100644 index c3335393..00000000 Binary files a/web/app/uploads/2024/10/TAMANORI-BO-g-2.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/TAMANORI-BO-g-300x300.jpg b/web/app/uploads/2024/10/TAMANORI-BO-g-300x300.jpg new file mode 100644 index 00000000..23a0dd18 Binary files /dev/null and b/web/app/uploads/2024/10/TAMANORI-BO-g-300x300.jpg differ diff --git a/web/app/uploads/2024/10/TAMANORI-BO-g.jpg b/web/app/uploads/2024/10/TAMANORI-BO-g.jpg new file mode 100644 index 00000000..dad71f4e Binary files /dev/null and b/web/app/uploads/2024/10/TAMANORI-BO-g.jpg differ diff --git a/web/app/uploads/2024/10/TAMANORI-BO-s-2-300x300.jpg b/web/app/uploads/2024/10/TAMANORI-BO-s-2-300x300.jpg deleted file mode 100644 index 4e4b8535..00000000 Binary files a/web/app/uploads/2024/10/TAMANORI-BO-s-2-300x300.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/TAMANORI-BO-s-2.jpg b/web/app/uploads/2024/10/TAMANORI-BO-s-2.jpg deleted file mode 100644 index e911785b..00000000 Binary files a/web/app/uploads/2024/10/TAMANORI-BO-s-2.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/TAMANORI-BO-s-300x300.jpg b/web/app/uploads/2024/10/TAMANORI-BO-s-300x300.jpg new file mode 100644 index 00000000..3adeddfd Binary files /dev/null and b/web/app/uploads/2024/10/TAMANORI-BO-s-300x300.jpg differ diff --git a/web/app/uploads/2024/10/TAMANORI-BO-s.jpg b/web/app/uploads/2024/10/TAMANORI-BO-s.jpg new file mode 100644 index 00000000..e3e4d8ff Binary files /dev/null and b/web/app/uploads/2024/10/TAMANORI-BO-s.jpg differ diff --git a/web/app/uploads/2024/10/TAMANORI-CR2-vrm-300x300.jpg b/web/app/uploads/2024/10/TAMANORI-CR2-vrm-300x300.jpg index 15ac7e7a..0f61d6d6 100644 Binary files a/web/app/uploads/2024/10/TAMANORI-CR2-vrm-300x300.jpg and b/web/app/uploads/2024/10/TAMANORI-CR2-vrm-300x300.jpg differ diff --git a/web/app/uploads/2024/10/TAMANORI-CR2-vrm.jpg b/web/app/uploads/2024/10/TAMANORI-CR2-vrm.jpg index 927e0ad9..051e3913 100644 Binary files a/web/app/uploads/2024/10/TAMANORI-CR2-vrm.jpg and b/web/app/uploads/2024/10/TAMANORI-CR2-vrm.jpg differ diff --git a/web/app/uploads/2024/10/TANEMAKI-BR-2-300x300.jpg b/web/app/uploads/2024/10/TANEMAKI-BR-2-300x300.jpg deleted file mode 100644 index ada7ed6a..00000000 Binary files a/web/app/uploads/2024/10/TANEMAKI-BR-2-300x300.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/TANEMAKI-BR-2.jpg b/web/app/uploads/2024/10/TANEMAKI-BR-2.jpg deleted file mode 100644 index 6660ec78..00000000 Binary files a/web/app/uploads/2024/10/TANEMAKI-BR-2.jpg and /dev/null differ diff --git a/web/app/uploads/2024/10/TANEMAKI-BR-300x300.jpg b/web/app/uploads/2024/10/TANEMAKI-BR-300x300.jpg new file mode 100644 index 00000000..4cc5ac09 Binary files /dev/null and b/web/app/uploads/2024/10/TANEMAKI-BR-300x300.jpg differ diff --git a/web/app/uploads/2024/10/TANEMAKI-BR.jpg b/web/app/uploads/2024/10/TANEMAKI-BR.jpg new file mode 100644 index 00000000..318920b4 Binary files /dev/null and b/web/app/uploads/2024/10/TANEMAKI-BR.jpg differ diff --git a/web/app/uploads/2024/10/TANEMAKI-C-1-300x300.jpg b/web/app/uploads/2024/10/TANEMAKI-C-1-300x300.jpg index 3fa9a95c..fab9446a 100644 Binary files a/web/app/uploads/2024/10/TANEMAKI-C-1-300x300.jpg and b/web/app/uploads/2024/10/TANEMAKI-C-1-300x300.jpg differ diff --git a/web/app/uploads/2024/10/TANEMAKI-C-1.jpg b/web/app/uploads/2024/10/TANEMAKI-C-1.jpg index 4bf604bf..4bd838be 100644 Binary files a/web/app/uploads/2024/10/TANEMAKI-C-1.jpg and b/web/app/uploads/2024/10/TANEMAKI-C-1.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B-g-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-B-g-300x300.jpg deleted file mode 100644 index c78d858b..00000000 Binary files a/web/app/uploads/2024/11/BOROBORO-B-g-300x300.jpg and /dev/null differ diff --git a/web/app/uploads/2024/11/BOROBORO-B-g.jpg b/web/app/uploads/2024/11/BOROBORO-B-g.jpg deleted file mode 100644 index 0f6fe0c6..00000000 Binary files a/web/app/uploads/2024/11/BOROBORO-B-g.jpg and /dev/null differ diff --git a/web/app/uploads/2024/11/BOROBORO-B-s-1-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-B-s-1-300x300.jpg deleted file mode 100644 index 27d46dcc..00000000 Binary files a/web/app/uploads/2024/11/BOROBORO-B-s-1-300x300.jpg and /dev/null differ diff --git a/web/app/uploads/2024/11/BOROBORO-B-s-1.jpg b/web/app/uploads/2024/11/BOROBORO-B-s-1.jpg deleted file mode 100644 index 8c147e5a..00000000 Binary files a/web/app/uploads/2024/11/BOROBORO-B-s-1.jpg and /dev/null differ diff --git a/web/app/uploads/2024/11/BOROBORO-B-s-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-B-s-300x300.jpg index 999ac119..d600ba1c 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-B-s-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-B-s-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B-s.jpg b/web/app/uploads/2024/11/BOROBORO-B-s.jpg index 66ae248d..9a616ab3 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-B-s.jpg and b/web/app/uploads/2024/11/BOROBORO-B-s.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B1-g-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-B1-g-300x300.jpg new file mode 100644 index 00000000..009c6114 Binary files /dev/null and b/web/app/uploads/2024/11/BOROBORO-B1-g-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B1-g.jpg b/web/app/uploads/2024/11/BOROBORO-B1-g.jpg new file mode 100644 index 00000000..0e3e300a Binary files /dev/null and b/web/app/uploads/2024/11/BOROBORO-B1-g.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B1-s-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-B1-s-300x300.jpg new file mode 100644 index 00000000..542ba3be Binary files /dev/null and b/web/app/uploads/2024/11/BOROBORO-B1-s-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B1-s.jpg b/web/app/uploads/2024/11/BOROBORO-B1-s.jpg new file mode 100644 index 00000000..67abc2e9 Binary files /dev/null and b/web/app/uploads/2024/11/BOROBORO-B1-s.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B2-g-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-B2-g-300x300.jpg index 04000703..8487cc9c 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-B2-g-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-B2-g-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B2-g.jpg b/web/app/uploads/2024/11/BOROBORO-B2-g.jpg index 9aadd036..ab69b397 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-B2-g.jpg and b/web/app/uploads/2024/11/BOROBORO-B2-g.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B2-s-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-B2-s-300x300.jpg index 51462e14..97ceb7cb 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-B2-s-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-B2-s-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-B2-s.jpg b/web/app/uploads/2024/11/BOROBORO-B2-s.jpg index d261f8cb..78542cb1 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-B2-s.jpg and b/web/app/uploads/2024/11/BOROBORO-B2-s.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BLT-crystal-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-BLT-crystal-300x300.jpg index 62bb5d5b..3eacb89d 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BLT-crystal-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-BLT-crystal-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BLT-crystal.jpg b/web/app/uploads/2024/11/BOROBORO-BLT-crystal.jpg index afb09f34..04966ad7 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BLT-crystal.jpg and b/web/app/uploads/2024/11/BOROBORO-BLT-crystal.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BLT-jade-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-BLT-jade-300x300.jpg index 5efbee51..3aa34f90 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BLT-jade-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-BLT-jade-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BLT-jade.jpg b/web/app/uploads/2024/11/BOROBORO-BLT-jade.jpg index 6511883f..1706de64 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BLT-jade.jpg and b/web/app/uploads/2024/11/BOROBORO-BLT-jade.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BO1-g-brown-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-BO1-g-brown-300x300.jpg index 0ee24371..c78dd6df 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BO1-g-brown-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-BO1-g-brown-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BO1-g-brown.jpg b/web/app/uploads/2024/11/BOROBORO-BO1-g-brown.jpg index a1b59700..6d39625b 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BO1-g-brown.jpg and b/web/app/uploads/2024/11/BOROBORO-BO1-g-brown.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BO1-g-green-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-BO1-g-green-300x300.jpg index 7791b863..8a38652d 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BO1-g-green-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-BO1-g-green-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BO1-g-green.jpg b/web/app/uploads/2024/11/BOROBORO-BO1-g-green.jpg index 603dd965..3a52c030 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BO1-g-green.jpg and b/web/app/uploads/2024/11/BOROBORO-BO1-g-green.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BO1-s-brown-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-BO1-s-brown-300x300.jpg index ebfdb9b9..7326b0a6 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BO1-s-brown-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-BO1-s-brown-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BO1-s-brown.jpg b/web/app/uploads/2024/11/BOROBORO-BO1-s-brown.jpg index f6881802..c9fb54ff 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BO1-s-brown.jpg and b/web/app/uploads/2024/11/BOROBORO-BO1-s-brown.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BO1-s-green-300x300.jpg b/web/app/uploads/2024/11/BOROBORO-BO1-s-green-300x300.jpg index 61be9e4f..81cc3b48 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BO1-s-green-300x300.jpg and b/web/app/uploads/2024/11/BOROBORO-BO1-s-green-300x300.jpg differ diff --git a/web/app/uploads/2024/11/BOROBORO-BO1-s-green.jpg b/web/app/uploads/2024/11/BOROBORO-BO1-s-green.jpg index 7e04d108..da8b7b52 100644 Binary files a/web/app/uploads/2024/11/BOROBORO-BO1-s-green.jpg and b/web/app/uploads/2024/11/BOROBORO-BO1-s-green.jpg differ diff --git a/web/app/uploads/2024/11/DSC9463-300x300.jpg b/web/app/uploads/2024/11/DSC9463-300x300.jpg index 6f8e31d1..d119b396 100644 Binary files a/web/app/uploads/2024/11/DSC9463-300x300.jpg and b/web/app/uploads/2024/11/DSC9463-300x300.jpg differ diff --git a/web/app/uploads/2024/11/DSC9463.jpg b/web/app/uploads/2024/11/DSC9463.jpg index 2cda4a4f..9e73f219 100644 Binary files a/web/app/uploads/2024/11/DSC9463.jpg and b/web/app/uploads/2024/11/DSC9463.jpg differ diff --git a/web/app/uploads/2024/11/HADOU-BOP-300x300.jpg b/web/app/uploads/2024/11/HADOU-BOP-300x300.jpg index e06d6ae4..1d877db4 100644 Binary files a/web/app/uploads/2024/11/HADOU-BOP-300x300.jpg and b/web/app/uploads/2024/11/HADOU-BOP-300x300.jpg differ diff --git a/web/app/uploads/2024/11/HADOU-BOP.jpg b/web/app/uploads/2024/11/HADOU-BOP.jpg index 48136e4c..cef675ad 100644 Binary files a/web/app/uploads/2024/11/HADOU-BOP.jpg and b/web/app/uploads/2024/11/HADOU-BOP.jpg differ diff --git a/web/app/uploads/2024/11/HATTARI-BR-300x300.jpg b/web/app/uploads/2024/11/HATTARI-BR-300x300.jpg index 9af6ed59..5456d3e0 100644 Binary files a/web/app/uploads/2024/11/HATTARI-BR-300x300.jpg and b/web/app/uploads/2024/11/HATTARI-BR-300x300.jpg differ diff --git a/web/app/uploads/2024/11/HATTARI-BR.jpg b/web/app/uploads/2024/11/HATTARI-BR.jpg index fe34a98c..d2dc9654 100644 Binary files a/web/app/uploads/2024/11/HATTARI-BR.jpg and b/web/app/uploads/2024/11/HATTARI-BR.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1419-300x300.jpg b/web/app/uploads/2024/11/IMG_1419-300x300.jpg index 5c5ced7b..72a22344 100644 Binary files a/web/app/uploads/2024/11/IMG_1419-300x300.jpg and b/web/app/uploads/2024/11/IMG_1419-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1419.jpg b/web/app/uploads/2024/11/IMG_1419.jpg index a6621a40..0fb4c02d 100644 Binary files a/web/app/uploads/2024/11/IMG_1419.jpg and b/web/app/uploads/2024/11/IMG_1419.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1474-300x300.jpg b/web/app/uploads/2024/11/IMG_1474-300x300.jpg index 3a7a4ecd..5c4ecbd1 100644 Binary files a/web/app/uploads/2024/11/IMG_1474-300x300.jpg and b/web/app/uploads/2024/11/IMG_1474-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1474.jpg b/web/app/uploads/2024/11/IMG_1474.jpg index ac3a5ae5..b47a4f28 100644 Binary files a/web/app/uploads/2024/11/IMG_1474.jpg and b/web/app/uploads/2024/11/IMG_1474.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1481-300x300.jpg b/web/app/uploads/2024/11/IMG_1481-300x300.jpg index cb170277..ad070944 100644 Binary files a/web/app/uploads/2024/11/IMG_1481-300x300.jpg and b/web/app/uploads/2024/11/IMG_1481-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1481.jpg b/web/app/uploads/2024/11/IMG_1481.jpg index fdd0bf10..0318d127 100644 Binary files a/web/app/uploads/2024/11/IMG_1481.jpg and b/web/app/uploads/2024/11/IMG_1481.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1484-300x300.jpg b/web/app/uploads/2024/11/IMG_1484-300x300.jpg index 0aad4346..be584564 100644 Binary files a/web/app/uploads/2024/11/IMG_1484-300x300.jpg and b/web/app/uploads/2024/11/IMG_1484-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1484.jpg b/web/app/uploads/2024/11/IMG_1484.jpg index a1738389..8c48b868 100644 Binary files a/web/app/uploads/2024/11/IMG_1484.jpg and b/web/app/uploads/2024/11/IMG_1484.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1501-300x300.jpg b/web/app/uploads/2024/11/IMG_1501-300x300.jpg index 9080f883..05fbee57 100644 Binary files a/web/app/uploads/2024/11/IMG_1501-300x300.jpg and b/web/app/uploads/2024/11/IMG_1501-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1501.jpg b/web/app/uploads/2024/11/IMG_1501.jpg index 8930a9d0..01a824ab 100644 Binary files a/web/app/uploads/2024/11/IMG_1501.jpg and b/web/app/uploads/2024/11/IMG_1501.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1504-300x300.jpg b/web/app/uploads/2024/11/IMG_1504-300x300.jpg index 1be874bc..4e681639 100644 Binary files a/web/app/uploads/2024/11/IMG_1504-300x300.jpg and b/web/app/uploads/2024/11/IMG_1504-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1504.jpg b/web/app/uploads/2024/11/IMG_1504.jpg index 7e05de02..f09dc6bd 100644 Binary files a/web/app/uploads/2024/11/IMG_1504.jpg and b/web/app/uploads/2024/11/IMG_1504.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1506-300x300.jpg b/web/app/uploads/2024/11/IMG_1506-300x300.jpg index d2f9172a..8d1eb056 100644 Binary files a/web/app/uploads/2024/11/IMG_1506-300x300.jpg and b/web/app/uploads/2024/11/IMG_1506-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1506.jpg b/web/app/uploads/2024/11/IMG_1506.jpg index cfc6b809..2fbd026b 100644 Binary files a/web/app/uploads/2024/11/IMG_1506.jpg and b/web/app/uploads/2024/11/IMG_1506.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1554-300x300.jpg b/web/app/uploads/2024/11/IMG_1554-300x300.jpg index c5aea3fa..1bcd3eb3 100644 Binary files a/web/app/uploads/2024/11/IMG_1554-300x300.jpg and b/web/app/uploads/2024/11/IMG_1554-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1554.jpg b/web/app/uploads/2024/11/IMG_1554.jpg index 938bb829..e4b16af5 100644 Binary files a/web/app/uploads/2024/11/IMG_1554.jpg and b/web/app/uploads/2024/11/IMG_1554.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1563-300x300.jpg b/web/app/uploads/2024/11/IMG_1563-300x300.jpg index 9db4f12e..d76691d5 100644 Binary files a/web/app/uploads/2024/11/IMG_1563-300x300.jpg and b/web/app/uploads/2024/11/IMG_1563-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1563.jpg b/web/app/uploads/2024/11/IMG_1563.jpg index 03af1c6a..8f770792 100644 Binary files a/web/app/uploads/2024/11/IMG_1563.jpg and b/web/app/uploads/2024/11/IMG_1563.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1619-300x300.jpg b/web/app/uploads/2024/11/IMG_1619-300x300.jpg index 37fc27be..6170d4c3 100644 Binary files a/web/app/uploads/2024/11/IMG_1619-300x300.jpg and b/web/app/uploads/2024/11/IMG_1619-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1619.jpg b/web/app/uploads/2024/11/IMG_1619.jpg index 0dc879c5..d5fac4e7 100644 Binary files a/web/app/uploads/2024/11/IMG_1619.jpg and b/web/app/uploads/2024/11/IMG_1619.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1703-300x300.jpg b/web/app/uploads/2024/11/IMG_1703-300x300.jpg index 18ff788b..23c24bac 100644 Binary files a/web/app/uploads/2024/11/IMG_1703-300x300.jpg and b/web/app/uploads/2024/11/IMG_1703-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1703.jpg b/web/app/uploads/2024/11/IMG_1703.jpg index 23ceb9da..3dff0653 100644 Binary files a/web/app/uploads/2024/11/IMG_1703.jpg and b/web/app/uploads/2024/11/IMG_1703.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1715-300x300.jpg b/web/app/uploads/2024/11/IMG_1715-300x300.jpg index 6b0b4ce7..6c2de23a 100644 Binary files a/web/app/uploads/2024/11/IMG_1715-300x300.jpg and b/web/app/uploads/2024/11/IMG_1715-300x300.jpg differ diff --git a/web/app/uploads/2024/11/IMG_1715.jpg b/web/app/uploads/2024/11/IMG_1715.jpg index d6091109..6ed3953f 100644 Binary files a/web/app/uploads/2024/11/IMG_1715.jpg and b/web/app/uploads/2024/11/IMG_1715.jpg differ