2024-09-30

This commit is contained in:
gcch 2024-09-30 21:28:40 +02:00
commit ff27cdf9a5
48 changed files with 159 additions and 63 deletions

View file

@ -303,6 +303,7 @@ ul.avec-puce-cercle a {
max-width: 100vw;
height: var(--en-tete-hauteur);
padding: var(--en-tete-marges-internes-bloc) var(--en-tete-marges-internes-ligne);
font-size: 1.1rem;
background: var(--couleur-gris);
/* TODO: Déplacer au sein d'un Composant ? */
}
@ -320,8 +321,8 @@ ul.avec-puce-cercle a {
text-align: center;
text-transform: lowercase;
/**
* Le conteneur d'une entrée du menu, nécessaire pour que le changement de couleur d'arrière-
* plan au survol soit possible.
* Le conteneur d'une entrée du menu, nécessaire pour que le changement d'arrière-plan au
* survol soit possible.
*
* 1. Passe en bloc en ligne pour pouvoir ajouter des marges internes en bloc.
* 2. Augmente les marges internes pour créer des liens plus imposants.
@ -337,15 +338,12 @@ ul.avec-puce-cercle a {
justify-content: space-between;
}
#en-tete .menu-navigation__entree {
/* Couleurs */
--nav-entree-arriere-plan-couleur: var(--couleur-jaune);
/* Marges */
--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); /* 3 */
/* Dispositions */
--liste-puce-cercle-puce-position-horizontale: 3.5ch; /* 3 */
transition: 0.2s background;
}
#en-tete .menu-navigation__entree a {
display: inline-block; /* 1 */
@ -354,7 +352,7 @@ ul.avec-puce-cercle a {
}
@media (hover: hover) {
#en-tete .menu-navigation__entree:hover {
background: var(--nav-entree-arriere-plan-couleur);
background: url("/app/themes/haiku-atelier-2024/assets/img/icons/cloud.svg") center/auto 90% no-repeat;
}
}
#en-tete .compte-panier {

View file

@ -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/_images.scss","../../src/sass/base/elements/_liens.scss","../../src/sass/base/elements/_listes.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;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AChGJ;EACE;EACA;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,KACE;;AChBJ;AACE;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;AAEA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;;;ACnBF;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAGA;EACE;;;ACxDF;EACE;EACA;EACA;;;AAGF;EACE;;;ACPF;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;ACfJ;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;;;ACbF;AAAA;AAAA;AAAA;AAAA;AAKA;AACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA,YACE,kHAK4B;EAE9B;AAEA;AAMA;AAAA;AAAA;;AALA;EAEE;;AAMF;AACE;EACA;EACA;AAEA;EACA;EAEA;EACA;AAEA;AAMA;AAKA;;AAVA;EAEE;;AAIF;EACE;;AAIF;EACE;IACE;;;AAMJ;EACE;IACE;;;;AClER;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMA;AACE;EACA;AAEA;EACA;AAEA;EACA;;AAEA;EACE;EACA,qLAEkE;;;AC5BxE;AACE;EACA;EACA;AAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAWA;;AATA;EACE;;AAEA;AAAA;EAEE;;AAKJ;EACE;EACA;EACA;EACA;EACA;AAUA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AARA;EACE;EACA;EACA;EACA;EACA;;AAYF;AACE;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EAEA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;IACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;ACvGR;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACE;EACA;EACA;AAEA;EACA;EACA;EAEA;EACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAOA;EACE;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAMA;AAAA;AAAA;AAAA;AAAA;;AAJA;EACE;;AAQF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;;AAGF;EACE;IACE;IACA;;;AAKN;EACE;;AAGF;EACE;;;AC/ER;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AACE;EACA;AAEA;EACA;EACA;AAAA;AAAA;AAIA;EACA;EAEA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGA;EACE;;AAMF;EACE;EACA;;;AC7CR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;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;;;AC9EV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AACE;EAEA;EAGA;EACA;EAGA;EAEA;EACA;EACA;EACA;EACA;AAuGA;AAyGA;;AA9MA;EACE;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACE;;AAGF;EACE;;AAMR;EACE;;AAEA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;AAEA;AAMA;AAwCA;AAqBA;;AAlEA;EACE;EACA;;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;;;AAOR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;IACE;;;AAKN;EACE;;AAeJ;EACE;;AAKJ;EACE;EACA;EACA;AAEA;;AACA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;AAEA;;AAEE;EACE;IACE;;;;AAQZ;EACE;IACE;;EAGF;IACE;;;AC3QJ;EACE;EACA;EACA;EACA,qBACE;EAEF;EACA;AAEA;;AACA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;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;;;AC7FZ;AAAA;AAAA;AAGA;AACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA","file":"main.css"}
{"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/_images.scss","../../src/sass/base/elements/_liens.scss","../../src/sass/base/elements/_listes.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;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA,KACE;;AChGJ;EACE;EACA;EACA;EACA;EACA;EACA,KACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA,KACE;;AChBJ;AACE;EACA;EACA;EACA;EACA;EACA;AAEA;EACA;EACA;AAEA;EACA;EACA;AAEA;EACA;EACA;EACA;EACA;EACA;;;ACnBF;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AAAA;AAAA;EAGE;EACA;EACA;EACA;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAIA;AAAA;AAAA;AAAA;EAIE;EACA;;;AAGF;AAAA;AAAA;AAGA;EACE;;;ACxDF;EACE;EACA;EACA;;;AAGF;EACE;;;ACPF;AAAA;AAAA;AAGA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;;ACfJ;AAAA;AAAA;AAAA;AAAA;AAKA;AAAA;EAEE;EACA;;;AAGF;EACE;EACA;;;ACbF;AAAA;AAAA;AAAA;AAAA;AAKA;AACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA,YACE,kHAK4B;EAE9B;AAEA;AAMA;AAAA;AAAA;;AALA;EAEE;;AAMF;AACE;EACA;EACA;AAEA;EACA;EAEA;EACA;AAEA;AAMA;AAKA;;AAVA;EAEE;;AAIF;EACE;;AAIF;EACE;IACE;;;AAMJ;EACE;IACE;;;;AClER;AAAA;AAAA;AAAA;AAAA;AAKA;EACE;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAMA;AACE;EACA;AAEA;EACA;AAEA;EACA;;AAEA;EACE;EACA,qLAEkE;;;AC5BxE;AACE;EACA;EACA;AAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAWA;;AATA;EACE;;AAEA;AAAA;EAEE;;AAKJ;EACE;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;EACA;;AAGF;EACE;IACE;;;AAMR;EACE;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;;ACnGR;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACE;EACA;EACA;AAEA;EACA;EACA;EAEA;EACA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAOA;EACE;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAMA;AAAA;AAAA;AAAA;AAAA;;AAJA;EACE;;AAQF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEE;EACA;;AAGF;EACE;IACE;IACA;;;AAKN;EACE;;AAGF;EACE;;;AC/ER;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AACE;EACA;AAEA;EACA;EACA;AAAA;AAAA;AAIA;EACA;EAEA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAGA;EACE;;AAMF;EACE;EACA;;;AC7CR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;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;;;AC9EV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AACE;EAEA;EAGA;EACA;EAGA;EAEA;EACA;EACA;EACA;EACA;AAuGA;AAyGA;;AA9MA;EACE;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACE;;AAGF;EACE;;AAMR;EACE;;AAEA;EACE;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;AAEA;AAMA;AAwCA;AAqBA;;AAlEA;EACE;EACA;;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;;;AAOR;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;IACE;;;AAKN;EACE;;AAeJ;EACE;;AAKJ;EACE;EACA;EACA;AAEA;;AACA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;AAEA;;AAEE;EACE;IACE;;;;AAQZ;EACE;IACE;;EAGF;IACE;;;AC3QJ;EACE;EACA;EACA;EACA,qBACE;EAEF;EACA;AAEA;;AACA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;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;;;AC7FZ;AAAA;AAAA;AAGA;AACE;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA","file":"main.css"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After

View file

@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="9.3 20.1 80 80"><g pointer-events="none"><path fill="#5C0F1F" d="M83.926 63.384c-1.174-3.057-4.293-5.039-8.407-5.797 6.641-4.402 10.216-10.523 8.353-15.375-2.402-6.254-12.935-8.027-23.523-3.96-2.729 1.048-5.19 2.382-7.306 3.89l-.021-.059c-2.401-6.254-12.937-8.027-23.524-3.959-10.59 4.069-17.226 12.437-14.825 18.692 1.086 2.826 3.836 4.734 7.497 5.605-6.069 4.344-9.251 10.133-7.471 14.766 2.402 6.256 12.936 8.027 23.524 3.959 2.648-1.017 5.048-2.303 7.123-3.757.065.244.139.487.231.726 2.402 6.256 12.935 8.028 23.523 3.96 10.592-4.068 17.228-12.437 14.826-18.691"/><path fill="#FFF" d="M28.24 68.504c3.558.724 38.032 0 40.277 0 2.243 0 2.071-1.981 2.071-1.981s.449-1.174-7.345-1.644c-7.795-.468-13.807.769-17.576 1.616-3.77.85-15.123-.111-16.396-.174-1.271-.062-4.589 1.458-1.031 2.183m40.282-7.88c-20.14-.264-29.552 1.45-36.553 1.02-4.725-.293-4.802-1.9-4.868-2.658-.065-.76 0-1.537 7.794-1.924 7.795-.389 12.594 1.381 17.789 1.584 5.196.201 14.564.158 15.838.188 2.296.052 4.592 1.85 0 1.79M29.56 50.537s27.889-.449 38.268.358c2.238.176 1.958 1.989 1.958 1.989s-1.042 1.658-7.576 1.618c-7.802-.051-12.018-2.154-17.215-2.363-5.195-.21-15.473.554-16.745.607s-2.625-2.209 1.31-2.209"/></g></svg>
<svg viewBox="0 0 90 90" xmlns="http://www.w3.org/2000/svg"><path fill="#E7FFB4" d="M85.241 48.817c-1.365-3.553-4.989-5.856-9.771-6.737 7.718-5.116 11.871-12.229 9.706-17.868-2.79-7.268-15.031-9.329-27.335-4.602-3.173 1.218-6.032 2.768-8.491 4.521l-.024-.068c-2.791-7.269-15.035-9.329-27.338-4.601C9.681 24.19 1.969 33.914 4.76 41.184c1.262 3.283 4.458 5.501 8.712 6.514C6.419 52.746 2.721 59.473 4.79 64.857c2.791 7.27 15.033 9.329 27.337 4.602 3.077-1.183 5.866-2.676 8.278-4.366.076.284.162.565.269.843 2.791 7.271 15.032 9.33 27.336 4.604 12.31-4.73 20.022-14.456 17.231-21.723"/></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 590 B

Before After
Before After

View file

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<svg viewBox="4.189 16.921 81.623 56.159" xmlns="http://www.w3.org/2000/svg">
<path fill="#E7FFB4" d="M85.241 48.817c-1.365-3.553-4.989-5.856-9.771-6.737 7.718-5.116 11.871-12.229 9.706-17.868-2.79-7.268-15.031-9.329-27.335-4.602-3.173 1.218-6.032 2.768-8.491 4.521l-.024-.068c-2.791-7.269-15.035-9.329-27.338-4.601C9.681 24.19 1.969 33.914 4.76 41.184c1.262 3.283 4.458 5.501 8.712 6.514C6.419 52.746 2.721 59.473 4.79 64.857c2.791 7.27 15.033 9.329 27.337 4.602 3.077-1.183 5.866-2.676 8.278-4.366.076.284.162.565.269.843 2.791 7.271 15.032 9.33 27.336 4.604 12.31-4.73 20.022-14.456 17.231-21.723"/>
</svg>

After

Width:  |  Height:  |  Size: 650 B

View file

@ -11,6 +11,13 @@
"file": "chunk-RU7WR4KH.js",
"name": "chunk-RU7WR4KH"
},
"_chunk-VROY5Y5B.js": {
"file": "chunk-VROY5Y5B.js",
"name": "chunk-VROY5Y5B",
"imports": [
"_chunk-RU7WR4KH.js"
]
},
"_exports.js": {
"file": "exports.js",
"name": "exports"
@ -35,6 +42,12 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"isEntry": true
},
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": {
"file": "messages2.js",
"name": "messages",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
"isEntry": true
},
"web/app/themes/haiku-atelier-2024/src/scripts/gaffe.ts": {
"file": "gaffe.js",
"name": "gaffe",
@ -100,8 +113,8 @@
"isEntry": true,
"imports": [
"_chunk-7BKSRZNG.js",
"_index.js",
"_index2.js",
"_index.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/erreurs.ts",
@ -114,7 +127,7 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart-add-item.ts",
"isEntry": true,
"imports": [
"_index2.js"
"_index.js"
]
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart-remove-item.ts": {
@ -123,7 +136,7 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart-remove-item.ts",
"isEntry": true,
"imports": [
"_index2.js"
"_index.js"
]
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart.ts": {
@ -132,7 +145,7 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart.ts",
"isEntry": true,
"imports": [
"_index2.js"
"_index.js"
]
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/erreurs.ts": {
@ -141,7 +154,17 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/erreurs.ts",
"isEntry": true,
"imports": [
"_index2.js"
"_index.js"
]
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts": {
"file": "messages.js",
"name": "messages",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
"isEntry": true,
"imports": [
"_index.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts"
]
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts": {
@ -163,14 +186,18 @@
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts",
"isEntry": true,
"imports": [
"_chunk-RU7WR4KH.js",
"_chunk-VROY5Y5B.js",
"_chunk-7BKSRZNG.js",
"_index.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.js",
"_Either.js"
"_Either.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts"
]
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": {
@ -181,7 +208,7 @@
"imports": [
"_chunk-RU7WR4KH.js",
"_chunk-7BKSRZNG.js",
"_index2.js",
"_index.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",
@ -193,7 +220,7 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"_Either.js",
"_exports.js",
"_index.js",
"_index2.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/erreurs.ts"
]
},
@ -204,16 +231,17 @@
"isEntry": true,
"imports": [
"_chunk-RU7WR4KH.js",
"_chunk-VROY5Y5B.js",
"_chunk-7BKSRZNG.js",
"_index.js",
"_index2.js",
"_index.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",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/gardes.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart-add-item.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/cart.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"_Either.js",

View file

@ -1,2 +1,2 @@
import{o as s,a as t,p as o,n as a,b as m,s as r}from"./index2.js";const n=s({attribute:r(),value:r()}),i=s({id:t(a()),quantity:t(a()),variation:t(m(n))}),p=e=>o(i,e);export{p};
import{o as s,a as t,p as o,n as a,b as m,c as r}from"./index.js";const n=s({attribute:r(),value:r()}),i=s({id:t(a()),quantity:t(a()),variation:t(m(n))}),d=e=>o(i,e);export{d as p};
//# sourceMappingURL=cart-add-item.js.map

View file

@ -1 +1 @@
{"version":3,"file":"cart-add-item.js","sources":["../../src/scripts/lib/schemas/cart-add-item.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport type { WCStoreCartAddItemArgs } from \"../types/api/cart-add-item\";\n\nexport const WCStoreCartAddItemArgsItemsSchema = v.object({\n /** Variation attribute name. */\n attribute: v.string(),\n /** Variation attribute value. */\n value: v.string(),\n});\n\nexport const WCStoreCartAddItemArgsSchema = v.object({\n /** The basket item product or variation ID. */\n id: v.optional(v.number()),\n /** Quantity of this item to add to the basket. */\n quantity: v.optional(v.number()),\n /** Chosen attributes (for variations). */\n variation: v.optional(v.array(WCStoreCartAddItemArgsItemsSchema)),\n});\n\nexport const parseWCStoreCartAddItemArgs: (args: unknown) => WCStoreCartAddItemArgs = (args) =>\n v.parse(WCStoreCartAddItemArgsSchema, args);\n"],"names":["WCStoreCartAddItemArgsItemsSchema","v.object","v.string","WCStoreCartAddItemArgsSchema","v.optional","v.number","v.array","parseWCStoreCartAddItemArgs","args","v.parse"],"mappings":"mEAIa,MAAAA,EAAoCC,EAAS,CAExD,UAAWC,EAAS,EAEpB,MAAOA,EAAS,CAClB,CAAC,EAEYC,EAA+BF,EAAS,CAEnD,GAAIG,EAAWC,GAAU,EAEzB,SAAUD,EAAWC,GAAU,EAE/B,UAAWD,EAAWE,EAAQN,CAAiC,CAAC,CAClE,CAAC,EAEYO,EAA0EC,GACrFC,EAAQN,EAA8BK,CAAI"}
{"version":3,"file":"cart-add-item.js","sources":["../../src/scripts/lib/schemas/cart-add-item.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport type { WCStoreCartAddItemArgs } from \"../types/api/cart-add-item\";\n\nexport const WCStoreCartAddItemArgsItemsSchema = v.object({\n /** Variation attribute name. */\n attribute: v.string(),\n /** Variation attribute value. */\n value: v.string(),\n});\n\nexport const WCStoreCartAddItemArgsSchema = v.object({\n /** The basket item product or variation ID. */\n id: v.optional(v.number()),\n /** Quantity of this item to add to the basket. */\n quantity: v.optional(v.number()),\n /** Chosen attributes (for variations). */\n variation: v.optional(v.array(WCStoreCartAddItemArgsItemsSchema)),\n});\n\nexport const parseWCStoreCartAddItemArgs: (args: unknown) => WCStoreCartAddItemArgs = (args) =>\n v.parse(WCStoreCartAddItemArgsSchema, args);\n"],"names":["WCStoreCartAddItemArgsItemsSchema","v.object","v.string","WCStoreCartAddItemArgsSchema","v.optional","v.number","v.array","parseWCStoreCartAddItemArgs","args","v.parse"],"mappings":"kEAIa,MAAAA,EAAoCC,EAAS,CAExD,UAAWC,EAAS,EAEpB,MAAOA,EAAS,CAClB,CAAC,EAEYC,EAA+BF,EAAS,CAEnD,GAAIG,EAAWC,GAAU,EAEzB,SAAUD,EAAWC,GAAU,EAE/B,UAAWD,EAAWE,EAAQN,CAAiC,CAAC,CAClE,CAAC,EAEYO,EAA0EC,GACrFC,EAAQN,EAA8BK,CAAI"}

View file

@ -1,2 +1,2 @@
import{o as e,s as o}from"./index2.js";const r=e({key:o()});export{r as W};
import{o as e,c as o}from"./index.js";const r=e({key:o()});export{r as W};
//# sourceMappingURL=cart-remove-item.js.map

View file

@ -1 +1 @@
{"version":3,"file":"cart-remove-item.js","sources":["../../src/scripts/lib/schemas/cart-remove-item.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport type { WCStoreCartRemoveItemArgs } from \"../types/api/cart-remove-item\";\n\nexport const WCStoreCartRemoveItemArgsSchema = v.object({\n /** Unique identifier (key) for the basket item. */\n key: v.string(),\n});\n\nexport const parseWCStoreCartRemoveItemArgs = (args: WCStoreCartRemoveItemArgs): WCStoreCartRemoveItemArgs =>\n v.parse(WCStoreCartRemoveItemArgsSchema, args);\n"],"names":["WCStoreCartRemoveItemArgsSchema","v.object","v.string"],"mappings":"uCAIa,MAAAA,EAAkCC,EAAS,CAEtD,IAAKC,EAAS,CAChB,CAAC"}
{"version":3,"file":"cart-remove-item.js","sources":["../../src/scripts/lib/schemas/cart-remove-item.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport type { WCStoreCartRemoveItemArgs } from \"../types/api/cart-remove-item\";\n\nexport const WCStoreCartRemoveItemArgsSchema = v.object({\n /** Unique identifier (key) for the basket item. */\n key: v.string(),\n});\n\nexport const parseWCStoreCartRemoveItemArgs = (args: WCStoreCartRemoveItemArgs): WCStoreCartRemoveItemArgs =>\n v.parse(WCStoreCartRemoveItemArgsSchema, args);\n"],"names":["WCStoreCartRemoveItemArgsSchema","v.object","v.string"],"mappings":"sCAIa,MAAAA,EAAkCC,EAAS,CAEtD,IAAKC,EAAS,CAChB,CAAC"}

View file

@ -1,2 +1,2 @@
import{o as a,s as e,u as i,n,c as s,b as t,d as r,i as o}from"./index2.js";a({name:e(),package_id:i([n(),e()])});const m=a({billing_address:s(),coupons:s(),cross_sells:s(),errors:s(),extensions:s(),fees:s(),has_calculated_shipping:s(),items:t(s()),items_count:r(n(),o()),items_weight:s(),needs_payment:s(),needs_shipping:s(),payment_methods:s(),payment_requirements:s(),shipping_address:s(),shipping_rates:s(),totals:s()});export{m as W};
import{o as a,c as e,u as i,n,d as s,b as t,e as r,i as o}from"./index.js";a({name:e(),package_id:i([n(),e()])});const m=a({billing_address:s(),coupons:s(),cross_sells:s(),errors:s(),extensions:s(),fees:s(),has_calculated_shipping:s(),items:t(s()),items_count:r(n(),o()),items_weight:s(),needs_payment:s(),needs_shipping:s(),payment_methods:s(),payment_requirements:s(),shipping_address:s(),shipping_rates:s(),totals:s()});export{m as W};
//# sourceMappingURL=cart.js.map

View file

@ -1 +1 @@
{"version":3,"file":"cart.js","sources":["../../src/scripts/lib/schemas/cart.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nconst WCStoreCartItemTotalsSchema = v.object({\n currency_code: v.string(),\n currency_decimal_separator: v.string(),\n currency_minor_unit: v.number(),\n currency_prefix: v.string(),\n currency_suffix: v.string(),\n currency_symbol: v.string(),\n currency_thousand_separator: v.string(),\n total_discount: v.string(),\n total_discount_tax: v.string(),\n});\n\nconst WCStoreCartItemShippingRateSchema = v.object({\n name: v.string(),\n package_id: v.union([v.number(), v.string()]),\n});\n\nconst WCStoreCartItemSchema = v.object({\n code: v.string(),\n discount_type: v.string(),\n shipping_rates: v.array(WCStoreCartItemShippingRateSchema),\n totals: v.array(WCStoreCartItemTotalsSchema),\n});\n\nexport const WCStoreCartSchema = v.object({\n billing_address: v.unknown(),\n coupons: v.unknown(),\n cross_sells: v.unknown(),\n errors: v.unknown(),\n extensions: v.unknown(),\n fees: v.unknown(),\n has_calculated_shipping: v.unknown(),\n items: v.array(v.unknown()),\n items_count: v.pipe(v.number(), v.integer()),\n items_weight: v.unknown(),\n needs_payment: v.unknown(),\n needs_shipping: v.unknown(),\n payment_methods: v.unknown(),\n payment_requirements: v.unknown(),\n shipping_address: v.unknown(),\n shipping_rates: v.unknown(),\n totals: v.unknown(),\n});\n"],"names":["v.object","v.string","v.union","v.number","WCStoreCartSchema","v.unknown","v.array","v.pipe","v.integer"],"mappings":"AAc0CA,OAAAA,KAAAA,EAAAA,KAAAA,EAAAA,KAAAA,EAAAA,EAAAA,KAAAA,EAAAA,KAAAA,EAAAA,KAAAA,EAAAA,KAAAA,MAAAA,cAAAA,EAAS,CACjD,KAAMC,EAAS,EACf,WAAYC,EAAQ,CAACC,IAAYF,EAAU,CAAA,CAAC,CAC9C,CAAC,EASY,MAAAG,EAAoBJ,EAAS,CACxC,gBAAiBK,EAAU,EAC3B,QAASA,EAAU,EACnB,YAAaA,EAAU,EACvB,OAAQA,EAAU,EAClB,WAAYA,EAAU,EACtB,KAAMA,EAAU,EAChB,wBAAyBA,EAAU,EACnC,MAAOC,EAAQD,GAAW,EAC1B,YAAaE,EAAOJ,EAAY,EAAAK,GAAW,EAC3C,aAAcH,EAAU,EACxB,cAAeA,EAAU,EACzB,eAAgBA,EAAU,EAC1B,gBAAiBA,EAAU,EAC3B,qBAAsBA,EAAU,EAChC,iBAAkBA,EAAU,EAC5B,eAAgBA,EAAU,EAC1B,OAAQA,EAAU,CACpB,CAAC"}
{"version":3,"file":"cart.js","sources":["../../src/scripts/lib/schemas/cart.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nconst WCStoreCartItemTotalsSchema = v.object({\n currency_code: v.string(),\n currency_decimal_separator: v.string(),\n currency_minor_unit: v.number(),\n currency_prefix: v.string(),\n currency_suffix: v.string(),\n currency_symbol: v.string(),\n currency_thousand_separator: v.string(),\n total_discount: v.string(),\n total_discount_tax: v.string(),\n});\n\nconst WCStoreCartItemShippingRateSchema = v.object({\n name: v.string(),\n package_id: v.union([v.number(), v.string()]),\n});\n\nconst WCStoreCartItemSchema = v.object({\n code: v.string(),\n discount_type: v.string(),\n shipping_rates: v.array(WCStoreCartItemShippingRateSchema),\n totals: v.array(WCStoreCartItemTotalsSchema),\n});\n\nexport const WCStoreCartSchema = v.object({\n billing_address: v.unknown(),\n coupons: v.unknown(),\n cross_sells: v.unknown(),\n errors: v.unknown(),\n extensions: v.unknown(),\n fees: v.unknown(),\n has_calculated_shipping: v.unknown(),\n items: v.array(v.unknown()),\n items_count: v.pipe(v.number(), v.integer()),\n items_weight: v.unknown(),\n needs_payment: v.unknown(),\n needs_shipping: v.unknown(),\n payment_methods: v.unknown(),\n payment_requirements: v.unknown(),\n shipping_address: v.unknown(),\n shipping_rates: v.unknown(),\n totals: v.unknown(),\n});\n"],"names":["v.object","v.string","v.union","v.number","WCStoreCartSchema","v.unknown","v.array","v.pipe","v.integer"],"mappings":"AAc0CA,OAAAA,KAAAA,EAAAA,KAAAA,EAAAA,KAAAA,EAAAA,EAAAA,KAAAA,EAAAA,KAAAA,EAAAA,KAAAA,EAAAA,KAAAA,MAAAA,aAAAA,EAAS,CACjD,KAAMC,EAAS,EACf,WAAYC,EAAQ,CAACC,IAAYF,EAAU,CAAA,CAAC,CAC9C,CAAC,EASY,MAAAG,EAAoBJ,EAAS,CACxC,gBAAiBK,EAAU,EAC3B,QAASA,EAAU,EACnB,YAAaA,EAAU,EACvB,OAAQA,EAAU,EAClB,WAAYA,EAAU,EACtB,KAAMA,EAAU,EAChB,wBAAyBA,EAAU,EACnC,MAAOC,EAAQD,GAAW,EAC1B,YAAaE,EAAOJ,EAAY,EAAAK,GAAW,EAC3C,aAAcH,EAAU,EACxB,cAAeA,EAAU,EACzB,eAAgBA,EAAU,EAC1B,gBAAiBA,EAAU,EAC3B,qBAAsBA,EAAU,EAChC,iBAAkBA,EAAU,EAC5B,eAAgBA,EAAU,EAC1B,OAAQA,EAAU,CACpB,CAAC"}

View file

@ -0,0 +1,2 @@
import{u as o}from"./chunk-RU7WR4KH.js";function u(...r){return o(n,r)}var n=(r,t)=>r[t];export{u as p};
//# sourceMappingURL=chunk-VROY5Y5B.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"chunk-VROY5Y5B.js","sources":["../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-VROY5Y5B.js"],"sourcesContent":["import{a as n}from\"./chunk-RAAYCPUM.js\";function p(...o){return n(t,o)}var t=(o,e)=>o[e];export{p as a,t as b};\n"],"names":["p","o","n","t","e"],"mappings":"wCAAwC,SAASA,KAAKC,EAAE,CAAC,OAAOC,EAAEC,EAAEF,CAAC,CAAC,CAAC,IAAIE,EAAE,CAACF,EAAEG,IAAIH,EAAEG,CAAC","x_google_ignoreList":[0]}

View file

@ -1,2 +1,2 @@
import{e as t,o as s,n as r,s as o}from"./index2.js";const e=s({code:o(),data:s({status:r()}),message:o()}),c=s({body:e,status:r()}),n=a=>t(c,a);export{n as i};
import{f as t,o as s,n as r,c as o}from"./index.js";const c=s({code:o(),data:s({status:r()}),message:o()}),e=s({body:c,status:r()}),n=a=>t(e,a);export{n as i};
//# sourceMappingURL=erreurs2.js.map

View file

@ -1 +1 @@
{"version":3,"file":"erreurs2.js","sources":["../../src/scripts/lib/schemas/erreurs.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport type { WCError } from \"../types/api/erreurs\";\n\nexport const WCErrorBodySchema = v.object({\n code: v.string(),\n data: v.object({\n status: v.number(),\n }),\n message: v.string(),\n});\n\nexport const WCErrorSchema = v.object({\n body: WCErrorBodySchema,\n status: v.number(),\n});\n\nexport const isWCError = (donnees: unknown): donnees is WCError => v.is(WCErrorSchema, donnees);\n"],"names":["WCErrorBodySchema","v.object","v.string","v.number","WCErrorSchema","isWCError","donnees","v.is"],"mappings":"qDAIa,MAAAA,EAAoBC,EAAS,CACxC,KAAMC,EAAS,EACf,KAAMD,EAAS,CACb,OAAQE,EAAS,CAAA,CAClB,EACD,QAASD,EAAS,CACpB,CAAC,EAEYE,EAAgBH,EAAS,CACpC,KAAMD,EACN,OAAQG,EAAS,CACnB,CAAC,EAEYE,EAAaC,GAAyCC,EAAKH,EAAeE,CAAO"}
{"version":3,"file":"erreurs2.js","sources":["../../src/scripts/lib/schemas/erreurs.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nimport type { WCError } from \"../types/api/erreurs\";\n\nexport const WCErrorBodySchema = v.object({\n code: v.string(),\n data: v.object({\n status: v.number(),\n }),\n message: v.string(),\n});\n\nexport const WCErrorSchema = v.object({\n body: WCErrorBodySchema,\n status: v.number(),\n});\n\nexport const isWCError = (donnees: unknown): donnees is WCError => v.is(WCErrorSchema, donnees);\n"],"names":["WCErrorBodySchema","v.object","v.string","v.number","WCErrorSchema","isWCError","donnees","v.is"],"mappings":"oDAIa,MAAAA,EAAoBC,EAAS,CACxC,KAAMC,EAAS,EACf,KAAMD,EAAS,CACb,OAAQE,EAAS,CAAA,CAClB,EACD,QAASD,EAAS,CACpB,CAAC,EAEYE,EAAgBH,EAAS,CACpC,KAAMD,EACN,OAAQG,EAAS,CACnB,CAAC,EAEYE,EAAaC,GAAyCC,EAAKH,EAAeE,CAAO"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,2 @@
import{g as s,o as a,n as o,e as r,v as n,c as i}from"./index.js";import{T as e}from"./messages2.js";s(e);const p=a({donnees:o(),type:r(i(),n(e.MiseAJourPanier))});export{p as M};
//# sourceMappingURL=messages.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"messages.js","sources":["../../src/scripts/lib/schemas/messages.ts"],"sourcesContent":["/**\n * Schémas des Messages passés avec BroadcastChannel.\n */\n\nimport * as v from \"valibot\";\n\nimport { TYPES_MESSAGES } from \"../../constantes/messages.ts\";\n\nexport const TypesMessagesSchema = v.enum(TYPES_MESSAGES);\n\nexport const MiseAJourPanierMessageSchema = v.object({\n donnees: v.number(),\n type: v.pipe(v.string(), v.value(TYPES_MESSAGES.MiseAJourPanier)),\n});\n"],"names":["v.enum","TYPES_MESSAGES","MiseAJourPanierMessageSchema","v.object","v.number","v.pipe","v.string","v.value"],"mappings":"qGAQmCA,EAAOC,CAAc,EAE3C,MAAAC,EAA+BC,EAAS,CACnD,QAASC,EAAS,EAClB,KAAMC,EAAOC,EAAE,EAAUC,EAAQN,EAAe,eAAe,CAAC,CAClE,CAAC"}

View file

@ -0,0 +1,2 @@
const a={MiseAJourPanier:"maj_panier"};export{a as T};
//# sourceMappingURL=messages2.js.map

View file

@ -0,0 +1 @@
{"version":3,"file":"messages2.js","sources":["../../src/scripts/constantes/messages.ts"],"sourcesContent":["/**\n * Constantes liées aux Messages passés par BroadcastChannel.\n */\n\nexport const TYPES_MESSAGES = {\n MiseAJourPanier: \"maj_panier\",\n} as const;\n"],"names":["TYPES_MESSAGES"],"mappings":"AAIO,MAAMA,EAAiB,CAC5B,gBAAiB,YACnB"}

View file

@ -1,2 +1,2 @@
import{x as a}from"./chunk-7BKSRZNG.js";import{z as i,N as o}from"./index.js";import{p as n}from"./index2.js";import{c as p}from"./api2.js";import{a as c,b as m,c as d,d as l,E as u}from"./erreurs.js";import{i as r}from"./erreurs2.js";import"./exports.js";const y=e=>fetch(e.route,{body:e.corps,credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json",[p]:e.nonce},method:"POST",mode:"same-origin",signal:AbortSignal.timeout(5e3)}),N=(e,s)=>i(e).with({body:o.select(),status:400},r,c).with({body:o.select(),status:401},r,m).with({body:o.select(),status:404},r,d).with(o._,t=>n(s,t)).otherwise(t=>a(t,u,l));export{y as p,N as t};
import{x as a}from"./chunk-7BKSRZNG.js";import{z as i,N as o}from"./index2.js";import{p as n}from"./index.js";import{c as p}from"./api2.js";import{a as c,b as m,c as d,d as l,E as u}from"./erreurs.js";import{i as r}from"./erreurs2.js";import"./exports.js";const y=e=>fetch(e.route,{body:e.corps,credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json",[p]:e.nonce},method:"POST",mode:"same-origin",signal:AbortSignal.timeout(5e3)}),N=(e,s)=>i(e).with({body:o.select(),status:400},r,c).with({body:o.select(),status:401},r,m).with({body:o.select(),status:404},r,d).with(o._,t=>n(s,t)).otherwise(t=>a(t,u,l));export{y as p,N as t};
//# sourceMappingURL=reseau.js.map

View file

@ -1 +1 @@
{"version":3,"file":"reseau.js","sources":["../../src/scripts/lib/reseau.ts"],"sourcesContent":["import { pipe } from \"remeda\";\nimport { match, P } from \"ts-pattern\";\nimport { type GenericSchema, parse } from \"valibot\";\n\nimport { ENTETE_WC_NONCE } from \"../constantes/api.ts\";\nimport {\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveUnauthorizedError,\n type UnknownError,\n} from \"./erreurs.ts\";\nimport { isWCError } from \"./schemas/erreurs.ts\";\n\ntype ArgumentsPostBackendWC = {\n corps: BodyInit;\n nonce: string;\n route: string;\n};\n\nexport const postBackendWC = (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 },\n method: \"POST\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\nexport const traiteReponseBackendWCSelonCodesHTTP = (corpsReponse: unknown, schemaReponse: GenericSchema) =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, isWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, isWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, isWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(schemaReponse, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur<UnknownError>));\n"],"names":["x","z","N","parse","ENTETE_WC_NONCE","leveBadRequestError","leveUnauthorizedError","leveNotFoundError","leveErreur","ErreurInconnue","isWCError","postBackendWC","args","traiteReponseBackendWCSelonCodesHTTP","corpsReponse","schemaReponse","match","P","corpsOkInconnu","e","pipe"],"mappings":"AAqBa,OAAA,KAAAA,MAAA,sBAAA,OAAA,KAAAC,EAAA,KAAAC,MAAA,aAAA,OAAA,KAAAC,MAAA,cAAA,OAAA,KAAAC,MAAA,YAAA,OAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,MAAA,eAAA,OAAA,KAAAC,MAAA,gBAAA,MAAA,eAAA,MAAAC,EAAiBC,GAC5B,MACEA,EAAK,MACL,CACE,KAAMA,EAAK,MACX,YAAa,cACb,QAAS,CACP,OAAU,mBACV,eAAgB,mBAChB,CAACR,CAAe,EAAGQ,EAAK,KAC1B,EACA,OAAQ,OACR,KAAM,cACN,OAAQ,YAAY,QAAQ,GAAI,CAClC,CACF,EAEWC,EAAuC,CAACC,EAAuBC,IAC1EC,EAAMF,CAAY,EAEf,KAAK,CAAE,KAAMG,EAAE,OAAO,EAAG,OAAQ,GAAO,EAAAP,EAAWL,CAAmB,EACtE,KAAK,CAAE,KAAMY,EAAE,SAAU,OAAQ,GAAA,EAAOP,EAAWJ,CAAqB,EACxE,KAAK,CAAE,KAAMW,EAAE,OAAA,EAAU,OAAQ,GAAI,EAAGP,EAAWH,CAAiB,EAEpE,KAAKU,EAAE,EAAqBC,GAAAf,EAAMY,EAAeG,CAAc,CAAC,EAEhE,UAAUC,GAAKC,EAAKD,EAAGV,EAAgBD,CAAwB,CAAC"}
{"version":3,"file":"reseau.js","sources":["../../src/scripts/lib/reseau.ts"],"sourcesContent":["import { pipe } from \"remeda\";\nimport { match, P } from \"ts-pattern\";\nimport { type GenericSchema, parse } from \"valibot\";\n\nimport { ENTETE_WC_NONCE } from \"../constantes/api.ts\";\nimport {\n ErreurInconnue,\n leveBadRequestError,\n leveErreur,\n leveNotFoundError,\n leveUnauthorizedError,\n type UnknownError,\n} from \"./erreurs.ts\";\nimport { isWCError } from \"./schemas/erreurs.ts\";\n\ntype ArgumentsPostBackendWC = {\n corps: BodyInit;\n nonce: string;\n route: string;\n};\n\nexport const postBackendWC = (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 },\n method: \"POST\",\n mode: \"same-origin\",\n signal: AbortSignal.timeout(5000),\n },\n );\n\nexport const traiteReponseBackendWCSelonCodesHTTP = (corpsReponse: unknown, schemaReponse: GenericSchema) =>\n match(corpsReponse)\n // Réponses problématiques\n .with({ body: P.select(), status: 400 }, isWCError, leveBadRequestError)\n .with({ body: P.select(), status: 401 }, isWCError, leveUnauthorizedError)\n .with({ body: P.select(), status: 404 }, isWCError, leveNotFoundError)\n // Réponse OK (201)\n .with(P._, corpsOkInconnu => parse(schemaReponse, corpsOkInconnu))\n // Réponses inconnues\n .otherwise(e => pipe(e, ErreurInconnue, leveErreur<UnknownError>));\n"],"names":["x","z","N","parse","ENTETE_WC_NONCE","leveBadRequestError","leveUnauthorizedError","leveNotFoundError","leveErreur","ErreurInconnue","isWCError","postBackendWC","args","traiteReponseBackendWCSelonCodesHTTP","corpsReponse","schemaReponse","match","P","corpsOkInconnu","e","pipe"],"mappings":"AAqBa,OAAA,KAAAA,MAAA,sBAAA,OAAA,KAAAC,EAAA,KAAAC,MAAA,cAAA,OAAA,KAAAC,MAAA,aAAA,OAAA,KAAAC,MAAA,YAAA,OAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,EAAA,KAAAC,MAAA,eAAA,OAAA,KAAAC,MAAA,gBAAA,MAAA,eAAA,MAAAC,EAAiBC,GAC5B,MACEA,EAAK,MACL,CACE,KAAMA,EAAK,MACX,YAAa,cACb,QAAS,CACP,OAAU,mBACV,eAAgB,mBAChB,CAACR,CAAe,EAAGQ,EAAK,KAC1B,EACA,OAAQ,OACR,KAAM,cACN,OAAQ,YAAY,QAAQ,GAAI,CAClC,CACF,EAEWC,EAAuC,CAACC,EAAuBC,IAC1EC,EAAMF,CAAY,EAEf,KAAK,CAAE,KAAMG,EAAE,OAAO,EAAG,OAAQ,GAAO,EAAAP,EAAWL,CAAmB,EACtE,KAAK,CAAE,KAAMY,EAAE,SAAU,OAAQ,GAAA,EAAOP,EAAWJ,CAAqB,EACxE,KAAK,CAAE,KAAMW,EAAE,OAAA,EAAU,OAAQ,GAAI,EAAGP,EAAWH,CAAiB,EAEpE,KAAKU,EAAE,EAAqBC,GAAAf,EAAMY,EAAeG,CAAc,CAAC,EAEhE,UAAUC,GAAKC,EAAKD,EAAGV,EAAgBD,CAAwB,CAAC"}

View file

@ -1,2 +1,2 @@
import{x as r}from"./chunk-7BKSRZNG.js";import{z as i,N as a}from"./index.js";import{S as s,A as m}from"./dom.js";import{r as p}from"./dom2.js";import{r as c}from"./utils.js";import"./erreurs.js";import"./exports.js";import"./Either.js";const u=()=>{const e=r(c(s),p),o=new BroadcastChannel("bouton_panier");o.onmessage=n=>{i(n.data).with({donnees:a.select(),type:"maj_panier"},t=>{e.textContent=`cart (${String(t)})`,e.setAttribute(m,String(t>0))}).otherwise(()=>console.debug("lol"))},console.debug("scripts-bouton-panier",e)};document.addEventListener("DOMContentLoaded",()=>{u()});
import{r as s}from"./chunk-RU7WR4KH.js";import{p as a}from"./chunk-VROY5Y5B.js";import{x as r}from"./chunk-7BKSRZNG.js";import{s as p}from"./index.js";import{S as u,A as c}from"./dom.js";import{r as f}from"./dom2.js";import{M as E}from"./messages.js";import{r as d}from"./utils.js";import"./erreurs.js";import"./exports.js";import"./Either.js";import"./messages2.js";function T(...t){return t.length===2?(n,...o)=>m(n,...t,...o):m(...t)}var m=(t,n,o,...e)=>n(t,...e)?typeof o=="function"?o(t,...e):o.onTrue(t,...e):typeof o=="function"?t:o.onFalse(t,...e);const l=()=>{const t=r(d(u),f),n=new BroadcastChannel("bouton_panier");n.onmessage=o=>{r(p(E,o.data),T(e=>e.success,e=>r(a(e,"output"),s(i=>{t.textContent=`cart (${String(i.donnees)})`,t.setAttribute(c,String(i.donnees>0))}))))}};document.addEventListener("DOMContentLoaded",()=>{l()});
//# sourceMappingURL=scripts-bouton-panier.js.map

View file

@ -1 +1 @@
{"version":3,"file":"scripts-bouton-panier.js","sources":["../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport { pipe } from \"remeda\";\nimport { match, P } from \"ts-pattern\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { recupereElementOuLeve } from \"./lib/dom.ts\";\nimport { recupereElementDocumentEither } from \"./lib/utils.ts\";\n\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\n const BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither<HTMLAnchorElement>(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n );\n\n const canalBoutonPanier: BroadcastChannel = new BroadcastChannel(\"bouton_panier\");\n\n canalBoutonPanier.onmessage = (message: MessageEvent) => {\n match(message.data)\n .with({ donnees: P.select(), type: \"maj_panier\" }, (nombreArticlesPanier: number) => {\n BOUTON_PANIER.textContent = `cart (${String(nombreArticlesPanier)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(nombreArticlesPanier > 0));\n })\n .otherwise(() => console.debug(\"lol\"));\n };\n\n console.debug(\"scripts-bouton-panier\", BOUTON_PANIER);\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseBoutonPanier();\n});\n"],"names":["initialiseBoutonPanier","BOUTON_PANIER","pipe","recupereElementDocumentEither","SELECTEUR_BOUTON_PANIER","recupereElementOuLeve","canalBoutonPanier","message","match","P","nombreArticlesPanier","ATTRIBUT_CONTIENT_ARTICLES"],"mappings":"6OAWA,MAAMA,EAAyB,IAAY,CAEzC,MAAMC,EAAmCC,EACvCC,EAAiDC,CAAuB,EACxEC,CAAA,EAGIC,EAAsC,IAAI,iBAAiB,eAAe,EAE9DA,EAAA,UAAaC,GAA0B,CACvDC,EAAMD,EAAQ,IAAI,EACf,KAAK,CAAE,QAASE,EAAE,OAAU,EAAA,KAAM,YAAa,EAAIC,GAAiC,CACnFT,EAAc,YAAc,SAAS,OAAOS,CAAoB,CAAC,IACjET,EAAc,aAAaU,EAA4B,OAAOD,EAAuB,CAAC,CAAC,CAAA,CACxF,EACA,UAAU,IAAM,QAAQ,MAAM,KAAK,CAAC,CAAA,EAGjC,QAAA,MAAM,wBAAyBT,CAAa,CACtD,EAEA,SAAS,iBAAiB,mBAAoB,IAAM,CAC3BD,GACzB,CAAC"}
{"version":3,"file":"scripts-bouton-panier.js","sources":["../../../../../../node_modules/.pnpm/remeda@2.14.0/node_modules/remeda/dist/chunk-NJXNQM3G.js","../../src/scripts/scripts-bouton-panier.ts"],"sourcesContent":["function d(...e){return e.length===2?(n,...r)=>t(n,...e,...r):t(...e)}var t=(e,n,r,...a)=>n(e,...a)?typeof r==\"function\"?r(e,...a):r.onTrue(e,...a):typeof r==\"function\"?e:r.onFalse(e,...a);export{d as a};\n","/**\n * Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.\n */\n\nimport { identity, pipe, prop, tap, when } from \"remeda\";\nimport { safeParse } from \"valibot\";\n\nimport type { MiseAJourPanierMessage } from \"./lib/types/messages\";\n\nimport { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from \"./constantes/dom.ts\";\nimport { recupereElementOuLeve } from \"./lib/dom.ts\";\nimport { MiseAJourPanierMessageSchema } from \"./lib/schemas/messages.ts\";\nimport { recupereElementDocumentEither } from \"./lib/utils.ts\";\n\nconst initialiseBoutonPanier = (): void => {\n /** Le « Bouton » vers le Panier dont le texte est un indicateur du nombre de Produits dedans. */\n const BOUTON_PANIER: HTMLAnchorElement = pipe(\n recupereElementDocumentEither<HTMLAnchorElement>(SELECTEUR_BOUTON_PANIER),\n recupereElementOuLeve,\n );\n\n const canalBoutonPanier: BroadcastChannel = new BroadcastChannel(\"bouton_panier\");\n\n canalBoutonPanier.onmessage = (evenementMessage: MessageEvent<unknown>) => {\n pipe(\n safeParse(MiseAJourPanierMessageSchema, evenementMessage.data),\n when(validation => validation.success, (messageValide) =>\n pipe(\n prop(messageValide, \"output\"),\n tap((message: MiseAJourPanierMessage) => {\n BOUTON_PANIER.textContent = `cart (${String(message.donnees)})`;\n BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees > 0));\n }),\n )),\n );\n };\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n initialiseBoutonPanier();\n});\n"],"names":["d","e","r","t","a","initialiseBoutonPanier","BOUTON_PANIER","pipe","recupereElementDocumentEither","SELECTEUR_BOUTON_PANIER","recupereElementOuLeve","canalBoutonPanier","evenementMessage","safeParse","MiseAJourPanierMessageSchema","when","validation","messageValide","prop","tap","message","ATTRIBUT_CONTIENT_ARTICLES"],"mappings":"+WAAA,SAASA,KAAKC,EAAE,CAAC,OAAOA,EAAE,SAAS,EAAE,CAAC,KAAKC,IAAIC,EAAE,EAAE,GAAGF,EAAE,GAAGC,CAAC,EAAEC,EAAE,GAAGF,CAAC,CAAC,CAAC,IAAIE,EAAE,CAACF,EAAE,EAAEC,KAAKE,IAAI,EAAEH,EAAE,GAAGG,CAAC,EAAE,OAAOF,GAAG,WAAWA,EAAED,EAAE,GAAGG,CAAC,EAAEF,EAAE,OAAOD,EAAE,GAAGG,CAAC,EAAE,OAAOF,GAAG,WAAWD,EAAEC,EAAE,QAAQD,EAAE,GAAGG,CAAC,ECc3L,MAAMC,EAAyB,IAAY,CAEzC,MAAMC,EAAmCC,EACvCC,EAAiDC,CAAuB,EACxEC,CAAA,EAGIC,EAAsC,IAAI,iBAAiB,eAAe,EAE9DA,EAAA,UAAaC,GAA4C,CACzEL,EACEM,EAAUC,EAA8BF,EAAiB,IAAI,EAC7DG,EAAKC,GAAcA,EAAW,QAAUC,GACtCV,EACEW,EAAKD,EAAe,QAAQ,EAC5BE,EAAKC,GAAoC,CACvCd,EAAc,YAAc,SAAS,OAAOc,EAAQ,OAAO,CAAC,IAC5Dd,EAAc,aAAae,EAA4B,OAAOD,EAAQ,QAAU,CAAC,CAAC,CAAA,CACnF,CAAA,CACF,CAAA,CACL,CAEJ,EAEA,SAAS,iBAAiB,mBAAoB,IAAM,CAC3Bf,GACzB,CAAC","x_google_ignoreList":[0]}

View file

@ -1,2 +1,2 @@
import{r as E}from"./chunk-RU7WR4KH.js";import{x as t}from"./chunk-7BKSRZNG.js";import{p}from"./index2.js";import{R as f}from"./api2.js";import{a as l,b as R,c as C}from"./dom.js";import{a as S,b as u}from"./dom2.js";import{r as n,D as T,l as A}from"./erreurs.js";import{e as N,a as _}from"./gardes.js";import{p as I,t as P}from"./reseau.js";import{W as d}from"./cart.js";import{W as L}from"./cart-remove-item.js";import{a as v}from"./utils.js";import{M as h,E as b}from"./Either.js";import"./exports.js";import"./index.js";import"./erreurs2.js";const m=_etats,g=t(v(l),S),O=()=>{console.debug(m),g.forEach(r=>{const s=h.fromNullable(r.getAttribute(R));u(r)(C).ifLeft(()=>t(new T(`L'entrée « ${s.orDefault("CLE_PANIER_INEXISTANTE")} » n'a pas de Bouton de suppression.`),n)).ifRight(a=>{a.addEventListener("click",()=>{const i=s.ifNothing(()=>{r.remove()}).orDefault("CLE_PANIER_INEXISTANTE");a.textContent="C= C= C= C= C=┌(;・ω・)┘",b.encase(()=>p(L,{key:i})).map(c=>{I({corps:JSON.stringify(c),nonce:m.nonce,route:f}).then(async e=>{N(e)&&A("500 Server Error"),t(await e.json(),E(o=>console.debug(o)),o=>P(o,d),E(()=>r.remove()))}).catch(e=>{_(e)?(n(e),console.error(e)):console.error("e n'est pas une Erreur ?!",e)})})})})})};document.addEventListener("DOMContentLoaded",()=>{O()});
import{r as E}from"./chunk-RU7WR4KH.js";import{x as t}from"./chunk-7BKSRZNG.js";import{p}from"./index.js";import{R as f}from"./api2.js";import{a as l,b as R,c as C}from"./dom.js";import{a as S,b as u}from"./dom2.js";import{r as n,D as T,l as A}from"./erreurs.js";import{e as N,a as _}from"./gardes.js";import{p as I,t as P}from"./reseau.js";import{W as d}from"./cart.js";import{W as L}from"./cart-remove-item.js";import{a as v}from"./utils.js";import{M as h,E as b}from"./Either.js";import"./exports.js";import"./index2.js";import"./erreurs2.js";const m=_etats,g=t(v(l),S),O=()=>{console.debug(m),g.forEach(r=>{const s=h.fromNullable(r.getAttribute(R));u(r)(C).ifLeft(()=>t(new T(`L'entrée « ${s.orDefault("CLE_PANIER_INEXISTANTE")} » n'a pas de Bouton de suppression.`),n)).ifRight(a=>{a.addEventListener("click",()=>{const i=s.ifNothing(()=>{r.remove()}).orDefault("CLE_PANIER_INEXISTANTE");a.textContent="C= C= C= C= C=┌(;・ω・)┘",b.encase(()=>p(L,{key:i})).map(c=>{I({corps:JSON.stringify(c),nonce:m.nonce,route:f}).then(async e=>{N(e)&&A("500 Server Error"),t(await e.json(),E(o=>console.debug(o)),o=>P(o,d),E(()=>r.remove()))}).catch(e=>{_(e)?(n(e),console.error(e)):console.error("e n'est pas une Erreur ?!",e)})})})})})};document.addEventListener("DOMContentLoaded",()=>{O()});
//# sourceMappingURL=scripts-page-panier.js.map

View file

@ -1,2 +1,2 @@
import{u as N,r as p}from"./chunk-RU7WR4KH.js";import{x as s}from"./chunk-7BKSRZNG.js";import{z as O,N as i}from"./index.js";import{p as g}from"./index2.js";import{b as h,c as I}from"./api2.js";import{S as L,d as v,e as U,f as b,g as R,h as u,i as T,j as A}from"./dom.js";import{r as m,a as f}from"./dom2.js";import{l as w,a as y,b as P,c as B,E as D,d as j,r as M}from"./erreurs.js";import{b as x,e as J,a as W}from"./gardes.js";import{W as G}from"./cart.js";import{p as k}from"./cart-add-item.js";import{i as c}from"./erreurs2.js";import{r as d,a as _}from"./utils.js";import{M as q,E as z}from"./Either.js";import"./exports.js";function l(...o){return N(H,o)}var H=(o,e)=>o[e];const V=_etats,F=o=>{o.forEach(e=>{e[0].setAttribute(u,"false"),e[1].setAttribute(T,"true")})};s(d(L),m);const n=s(d(v),m),E=s(d(U),m),Q=s(_(b),f),K=s(_(R),f),X=()=>{const o=new Map;Q.forEach((e,t)=>{const r=e.getAttribute("id"),a=K[t];if(!r)throw new Error("Le lien ne dispose pas d'ID !");if(!a)throw new Error("Le lien ne dispose pas de section correspondante !");o.set(r,[e,a]),e.addEventListener("click",S=>{S.preventDefault();const C=e.getAttribute(u)==="true";F(s(o.values(),Array.from)),!C&&(e.setAttribute(u,"true"),a.removeAttribute(T))})}),E.addEventListener("change",e=>{s(e.target,q.fromNullable,t=>t.filter(x),t=>t.map(r=>r.validity.valid),t=>t.ifJust(r=>n.toggleAttribute(A,!r)))}),n.addEventListener("click",e=>Y())},Y=()=>{n.textContent="Adding...";const o=new BroadcastChannel("bouton_panier");z.encase(()=>k({id:Number(E.value),quantity:1})).map(e=>{fetch(h,{body:JSON.stringify(e),credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json",[I]:V.nonce},method:"POST",mode:"same-origin",signal:AbortSignal.timeout(5e3)}).then(async t=>{J(t)&&w("500 Server Error"),s(await t.json(),r=>O(r).with({body:i.select(),status:400},c,y).with({body:i.select(),status:401},c,P).with({body:i.select(),status:404},c,B).with(i._,a=>g(G,a)).otherwise(a=>s(a,D,j)),p(r=>console.debug("Panier",r)),l("items"),l("length"),p(r=>{n.textContent="Added to cart!",o.postMessage({donnees:r,type:"maj_panier"}),setTimeout(()=>{E.value=E.options.item(0)?.value??"--",n.toggleAttribute(A,!0),n.textContent="Add to cart"},3e3)}))}).catch(t=>{W(t)?(M(t),console.error(t)):console.error("e n'est pas une Erreur ?!",t),n.textContent="Add to cart"})})};document.addEventListener("DOMContentLoaded",()=>{X()});
import{r as p}from"./chunk-RU7WR4KH.js";import{p as l}from"./chunk-VROY5Y5B.js";import{x as o}from"./chunk-7BKSRZNG.js";import{z as N,N as i}from"./index2.js";import{p as O}from"./index.js";import{b as g,c as h}from"./api2.js";import{S as I,d as L,e as v,f as U,g as b,h as m,i as T,j as A}from"./dom.js";import{r as u,a as f}from"./dom2.js";import{l as R,a as w,b as y,c as P,E as B,d as D,r as j}from"./erreurs.js";import{b as M,e as x,a as J}from"./gardes.js";import{p as W}from"./cart-add-item.js";import{W as G}from"./cart.js";import{i as c}from"./erreurs2.js";import{r as d,a as _}from"./utils.js";import{M as k,E as q}from"./Either.js";import"./exports.js";const z=_etats,H=n=>{n.forEach(t=>{t[0].setAttribute(m,"false"),t[1].setAttribute(T,"true")})};o(d(I),u);const a=o(d(L),u),E=o(d(v),u),V=o(_(U),f),F=o(_(b),f),Q=()=>{const n=new Map;V.forEach((t,e)=>{const r=t.getAttribute("id"),s=F[e];if(!r)throw new Error("Le lien ne dispose pas d'ID !");if(!s)throw new Error("Le lien ne dispose pas de section correspondante !");n.set(r,[t,s]),t.addEventListener("click",S=>{S.preventDefault();const C=t.getAttribute(m)==="true";H(o(n.values(),Array.from)),!C&&(t.setAttribute(m,"true"),s.removeAttribute(T))})}),E.addEventListener("change",t=>{o(t.target,k.fromNullable,e=>e.filter(M),e=>e.map(r=>r.validity.valid),e=>e.ifJust(r=>a.toggleAttribute(A,!r)))}),a.addEventListener("click",t=>K())},K=()=>{a.textContent="Adding...";const n=new BroadcastChannel("bouton_panier");q.encase(()=>W({id:Number(E.value),quantity:1})).map(t=>{fetch(g,{body:JSON.stringify(t),credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json",[h]:z.nonce},method:"POST",mode:"same-origin",signal:AbortSignal.timeout(5e3)}).then(async e=>{x(e)&&R("500 Server Error"),o(await e.json(),r=>N(r).with({body:i.select(),status:400},c,w).with({body:i.select(),status:401},c,y).with({body:i.select(),status:404},c,P).with(i._,s=>O(G,s)).otherwise(s=>o(s,B,D)),p(r=>console.debug("Panier",r)),l("items"),l("length"),p(r=>{a.textContent="Added to cart!",n.postMessage({donnees:r,type:"maj_panier"}),setTimeout(()=>{E.value=E.options.item(0)?.value??"--",a.toggleAttribute(A,!0),a.textContent="Add to cart"},3e3)}))}).catch(e=>{J(e)?(j(e),console.error(e)):console.error("e n'est pas une Erreur ?!",e),a.textContent="Add to cart"})})};document.addEventListener("DOMContentLoaded",()=>{Q()});
//# sourceMappingURL=scripts-page-produit.js.map

File diff suppressed because one or more lines are too long

View file

@ -15,6 +15,6 @@
],
"name": "Haiku Atelier",
"short_name": "Haiku Atelier",
"theme_color": "#5C0F1F",
"theme_color": "#E7FFB4",
"start_url": "https://haikuatelier.fr.ddev.site"
}

View file

@ -129,6 +129,9 @@ class StarterSite extends Site {
// Ajoute la possibilité d'un Logo personnalisé
add_theme_support("custom-logo");
// Ajoute la prise en charge de WooCommerce
add_theme_support("woocommerce");
}
/**

View file

@ -20,6 +20,7 @@
max-width: 100vw;
height: var(--en-tete-hauteur);
padding: var(--en-tete-marges-internes-bloc) var(--en-tete-marges-internes-ligne);
font-size: 1.1rem;
background: var(--couleur-gris);
.logo {
@ -48,8 +49,8 @@
}
/**
* Le conteneur d'une entrée du menu, nécessaire pour que le changement de couleur d'arrière-
* plan au survol soit possible.
* Le conteneur d'une entrée du menu, nécessaire pour que le changement d'arrière-plan au
* survol soit possible.
*
* 1. Passe en bloc en ligne pour pouvoir ajouter des marges internes en bloc.
* 2. Augmente les marges internes pour créer des liens plus imposants.
@ -57,9 +58,6 @@
* 4. Aligne le texte au centre.
*/
&__entree {
/* Couleurs */
--nav-entree-arriere-plan-couleur: var(--couleur-jaune);
/* Marges */
--nav-entree-marges-internes-bloc: var(--espace-xs);
--nav-entree-marges-internes-ligne: 3rem;
@ -68,8 +66,6 @@
/* Dispositions */
--liste-puce-cercle-puce-position-horizontale: 3.5ch; /* 3 */
transition: 0.2s background;
a {
display: inline-block; /* 1 */
padding: var(--nav-entree-marges-internes-bloc) var(--nav-entree-marges-internes-ligne); /* 2 */
@ -78,7 +74,7 @@
@media (hover: hover) {
&:hover {
background: var(--nav-entree-arriere-plan-couleur);
background: url("/app/themes/haiku-atelier-2024/assets/img/icons/cloud.svg") center/auto 90% no-repeat;
}
}
}

View file

@ -0,0 +1,7 @@
/**
* Constantes liées aux Messages passés par BroadcastChannel.
*/
export const TYPES_MESSAGES = {
MiseAJourPanier: "maj_panier",
} as const;

View file

@ -0,0 +1,14 @@
/**
* Schémas des Messages passés avec BroadcastChannel.
*/
import * as v from "valibot";
import { TYPES_MESSAGES } from "../../constantes/messages.ts";
export const TypesMessagesSchema = v.enum(TYPES_MESSAGES);
export const MiseAJourPanierMessageSchema = v.object({
donnees: v.number(),
type: v.pipe(v.string(), v.value(TYPES_MESSAGES.MiseAJourPanier)),
});

View file

@ -0,0 +1,4 @@
import type { InferOutput } from "valibot";
import type { MiseAJourPanierMessageSchema } from "../schemas/messages.ts";
export type MiseAJourPanierMessage = InferOutput<typeof MiseAJourPanierMessageSchema>;

View file

@ -2,11 +2,14 @@
* Scripts pour la mise à jour trans-fenêtres/trans-onglets du Bouton du Panier.
*/
import { pipe } from "remeda";
import { match, P } from "ts-pattern";
import { identity, pipe, prop, tap, when } from "remeda";
import { safeParse } from "valibot";
import type { MiseAJourPanierMessage } from "./lib/types/messages";
import { ATTRIBUT_CONTIENT_ARTICLES, SELECTEUR_BOUTON_PANIER } from "./constantes/dom.ts";
import { recupereElementOuLeve } from "./lib/dom.ts";
import { MiseAJourPanierMessageSchema } from "./lib/schemas/messages.ts";
import { recupereElementDocumentEither } from "./lib/utils.ts";
const initialiseBoutonPanier = (): void => {
@ -18,16 +21,19 @@ const initialiseBoutonPanier = (): void => {
const canalBoutonPanier: BroadcastChannel = new BroadcastChannel("bouton_panier");
canalBoutonPanier.onmessage = (message: MessageEvent) => {
match(message.data)
.with({ donnees: P.select(), type: "maj_panier" }, (nombreArticlesPanier: number) => {
BOUTON_PANIER.textContent = `cart (${String(nombreArticlesPanier)})`;
BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(nombreArticlesPanier > 0));
})
.otherwise(() => console.debug("lol"));
canalBoutonPanier.onmessage = (evenementMessage: MessageEvent<unknown>) => {
pipe(
safeParse(MiseAJourPanierMessageSchema, evenementMessage.data),
when(validation => validation.success, (messageValide) =>
pipe(
prop(messageValide, "output"),
tap((message: MiseAJourPanierMessage) => {
BOUTON_PANIER.textContent = `cart (${String(message.donnees)})`;
BOUTON_PANIER.setAttribute(ATTRIBUT_CONTIENT_ARTICLES, String(message.donnees > 0));
}),
)),
);
};
console.debug("scripts-bouton-panier", BOUTON_PANIER);
};
document.addEventListener("DOMContentLoaded", () => {

View file

@ -11,14 +11,13 @@ import type { WCStoreCartAddItemArgs } from "./lib/types/api/cart-add-item.ts";
import { ENTETE_WC_NONCE, ROUTE_API_AJOUTE_ARTICLE_PANIER } from "./constantes/api.ts";
import {
ATTRIBUT_ARIA_SELECTED,
ATTRIBUT_CONTIENT_ARTICLES,
ATTRIBUT_DESACTIVE,
ATTRIBUT_HIDDEN,
SELECTEUR_BOUTON_AJOUT_PANIER,
SELECTEUR_BOUTON_PANIER,
SELECTEUR_LIENS_ONGLETS,
SELECTEUR_SECTIONS_CONTENUS,
SELECTEUR_SELECTEUR_QUANTITE,
SELECTEUR_SELECTEUR_QUANTITE
} from "./constantes/dom";
import { recupereElementOuLeve, recupereElementsOuLeve } from "./lib/dom.ts";
import {
@ -32,8 +31,8 @@ import {
type UnknownError,
} from "./lib/erreurs.ts";
import { estError, estHTMLSelectElement, estReponse500 } from "./lib/gardes.ts";
import { WCStoreCartSchema } from "./lib/schemas/cart.ts";
import { parseWCStoreCartAddItemArgs } from "./lib/schemas/cart-add-item.ts";
import { WCStoreCartSchema } from "./lib/schemas/cart.ts";
import { isWCError } from "./lib/schemas/erreurs.ts";
import { recupereElementDocumentEither, recupereElementsDocumentEither } from "./lib/utils.ts";

View file

@ -0,0 +1,27 @@
<?php
/**
* Le modèle de la Page d'Archive d'une Catégorie de Produits.
*/
declare(strict_types=1);
use Timber\Timber;
require_once __DIR__ . "/src/inc/TraitementInformations.php";
// Contexte et modèles
$contexte = Timber::context();
$modeles = ["boutique.twig"];
// Informations brutes des Produits de la Catégorie
$informations_produits = wc_get_products([
"category" => [get_queried_object()?->slug],
"orderby" => "date",
"order" => "DESC",
]);
// Informations nécessaires pour la grille des Produits
$produits = array_map($callback = "recupere_informations_produit_shop", $array = $informations_produits);
$contexte["produits"] = $produits;
// Rendu
Timber::render(filenames: $modeles, data: $contexte);

View file

@ -13,7 +13,7 @@
</section>
<nav class="menu-navigation" id="menu-navigation-en-tete">
<ul class="avec-puce-cercle">
<ul>
<span class="menu-navigation__entree">
<li><a class="lien-menu" href="{{ pages.home.lien }}">{{ pages.home.nom }}</a></li>
</span>