fonc: termine l'adaptatif et la page à propos

This commit is contained in:
gcch 2024-10-28 14:17:08 +01:00
commit fb7f326dcc
49 changed files with 1476 additions and 319 deletions

View file

@ -35,8 +35,12 @@
/* Couleurs */ /* Couleurs */
--couleur-blanc: #ffffff; --couleur-blanc: #ffffff;
--couleur-gris: #eceaeb; --couleur-gris: #eceaeb;
--couleur-gris-fonce: #808080;
--couleur-gris-fonce-fond: rgb(128 128 128 / 80%);
--couleur-bordeaux: #490918; --couleur-bordeaux: #490918;
--couleur-bordeaux-fond: rgb(73 9 24 / 80%);
--couleur-jaune: #ebffb8; --couleur-jaune: #ebffb8;
--couleur-jaune-fond: rgb(235 255 184 / 80%);
--couleur-noir: #202020; --couleur-noir: #202020;
--couleur-fond: rgb(236 234 235 / 80%); --couleur-fond: rgb(236 234 235 / 80%);
/* Polices */ /* Polices */
@ -55,6 +59,10 @@
--en-tete-hauteur: 60px; --en-tete-hauteur: 60px;
--menu-categories-produits-hauteur: 54.39px; --menu-categories-produits-hauteur: 54.39px;
--pied-de-page-hauteur: calc(var(--espace-m) * 2 + 3lh); --pied-de-page-hauteur: calc(var(--espace-m) * 2 + 3lh);
--contenu-page-hauteur-minimale: calc(
100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur)
- var(--menu-categories-produits-hauteur)
);
/* Espacements */ /* Espacements */
--espace-xs: 0.25rem; --espace-xs: 0.25rem;
--espace-s: 0.5rem; --espace-s: 0.5rem;
@ -110,7 +118,7 @@ button, input, select, textarea {
/* Cache tout élément avec l'attribut hidden */ /* Cache tout élément avec l'attribut hidden */
[hidden] { [hidden] {
display: none; display: none !important;
} }
/* Utilise un curseur approprié pour les Éléments désactivés */ /* Utilise un curseur approprié pour les Éléments désactivés */
@ -177,6 +185,9 @@ button.bouton-case-pleine--blanc-sur-noir {
letter-spacing: var(--espacement-inter-lettres-etendu-m); letter-spacing: var(--espacement-inter-lettres-etendu-m);
background: var(--couleur-noir); background: var(--couleur-noir);
} }
button:disabled, button[disabled] {
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px/2px 2px;
}
input, select, textarea { input, select, textarea {
padding: var(--espace-xs); padding: var(--espace-xs);
@ -189,7 +200,7 @@ input:focus, input:focus-visible, select:focus, select:focus-visible, textarea:f
background: var(--couleur-jaune); background: var(--couleur-jaune);
outline: 1px solid var(--couleur-noir); outline: 1px solid var(--couleur-noir);
} }
input:disabled, select:disabled, textarea:disabled { input:disabled, input[disabled], select:disabled, select[disabled], textarea:disabled, textarea[disabled] {
cursor: not-allowed; cursor: not-allowed;
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px/2px 2px; background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px/2px 2px;
} }
@ -517,6 +528,14 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
* 1. Permet d'éviter un agrandissement de l'élément avec plus de 9 articles. * 1. Permet d'éviter un agrandissement de l'élément avec plus de 9 articles.
*/ */
} }
#en-tete .compte-panier[disabled] {
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px/2px 2px;
}
#en-tete .compte-panier[disabled] a:hover, #en-tete .compte-panier[disabled] a:active, #en-tete .compte-panier[disabled] a:focus, #en-tete .compte-panier[disabled] a:focus-within {
background: initial;
border: 1px solid var(--couleur-noir);
outline: 1px solid transparent;
}
#en-tete .compte-panier a { #en-tete .compte-panier a {
min-width: 10ch; /* 1 */ min-width: 10ch; /* 1 */
text-transform: lowercase; text-transform: lowercase;
@ -669,17 +688,18 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
*/ */
.grille-produits { .grille-produits {
/* Dimensions */ /* Dimensions */
--aucun-produit-hauteur: calc( --grille-produits-hauteur-minimale: var(--contenu-page-hauteur-minimale);
100svh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur) --aucun-produit-hauteur: var(--contenu-page-hauteur-minimale);
- var(--pied-de-page-hauteur)
);
--carte-produit-longueur-minimale: 448px; --carte-produit-longueur-minimale: 448px;
--carte-produit-longueur-maximale: 900px;
display: grid; display: grid;
grid-auto-rows: 1fr; grid-auto-rows: 1fr;
grid-template-columns: repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); /* 1 */ grid-template-columns: repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); /* 1 */
gap: 1px; /* 2 */ gap: 1px; /* 2 */
min-height: var(--grille-produits-hauteur-minimale);
} }
.grille-produits article { .grille-produits article {
max-width: var(--carte-produit-longueur-maximale);
box-shadow: 0 0 0 1px var(--couleur-noir); /* 2 */ box-shadow: 0 0 0 1px var(--couleur-noir); /* 2 */
} }
.grille-produits article figure { .grille-produits article figure {
@ -760,9 +780,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
*/ */
.informations-produit { .informations-produit {
--boite-couleur-fond: rgb(255 255 255 / 90%); --boite-couleur-fond: rgb(255 255 255 / 90%);
--boite-position-basse: 1rem; --boite-position-basse: var(--espace-m);
--boite-longueur: 70ch; --boite-longueur: 70ch;
--section-marges-internes: 1rem; --section-marges-internes: var(--espace-m);
position: sticky; /* 1 */ position: sticky; /* 1 */
bottom: var(--boite-position-basse); /* 1 */ bottom: var(--boite-position-basse); /* 1 */
overflow: visible; overflow: visible;
@ -927,7 +947,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
} }
.informations-produit .actions-produit { .informations-produit .actions-produit {
overflow: hidden; overflow: hidden;
padding: initial;
background: var(--couleur-jaune); background: var(--couleur-jaune);
border-top: initial;
transition: 0.2s background; transition: 0.2s background;
/* Indique que le Bouton est désactivé en utilisant un fond gris */ /* Indique que le Bouton est désactivé en utilisant un fond gris */
} }
@ -935,6 +957,8 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
background: rgba(236, 234, 235, 0.9); background: rgba(236, 234, 235, 0.9);
} }
.informations-produit .actions-produit button { .informations-produit .actions-produit button {
height: initial;
padding: var(--section-marges-internes);
font-variation-settings: "wght" 400; font-variation-settings: "wght" 400;
font-style: italic; font-style: italic;
text-transform: uppercase; text-transform: uppercase;
@ -949,6 +973,7 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
} }
@media (width <= 700px) { @media (width <= 700px) {
.informations-produit { .informations-produit {
--section-marges-internes: var(--espace-xl);
position: relative; position: relative;
bottom: initial; bottom: initial;
width: initial; width: initial;

File diff suppressed because one or more lines are too long

View file

@ -37,8 +37,12 @@
:root { :root {
--couleur-blanc: #fff; --couleur-blanc: #fff;
--couleur-gris: #eceaeb; --couleur-gris: #eceaeb;
--couleur-gris-fonce: gray;
--couleur-gris-fonce-fond: #808080cc;
--couleur-bordeaux: #490918; --couleur-bordeaux: #490918;
--couleur-bordeaux-fond: #490918cc;
--couleur-jaune: #ebffb8; --couleur-jaune: #ebffb8;
--couleur-jaune-fond: #ebffb8cc;
--couleur-noir: #202020; --couleur-noir: #202020;
--couleur-fond: #eceaebcc; --couleur-fond: #eceaebcc;
--police-lato: "Lato", sans-serif; --police-lato: "Lato", sans-serif;
@ -53,6 +57,7 @@
--en-tete-hauteur: 60px; --en-tete-hauteur: 60px;
--menu-categories-produits-hauteur: 54.39px; --menu-categories-produits-hauteur: 54.39px;
--pied-de-page-hauteur: calc(var(--espace-m) * 2 + 3lh); --pied-de-page-hauteur: calc(var(--espace-m) * 2 + 3lh);
--contenu-page-hauteur-minimale: calc(100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur) - var(--menu-categories-produits-hauteur));
--espace-xs: .25rem; --espace-xs: .25rem;
--espace-s: .5rem; --espace-s: .5rem;
--espace-m: 1rem; --espace-m: 1rem;
@ -86,7 +91,7 @@ button, input, select, textarea {
} }
[hidden] { [hidden] {
display: none; display: none !important;
} }
[disabled] { [disabled] {
@ -145,6 +150,10 @@ button.bouton-case-pleine--blanc-sur-noir {
font-style: italic; font-style: italic;
} }
button:disabled, button[disabled] {
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px .5px / 2px 2px;
}
input, select, textarea { input, select, textarea {
padding: var(--espace-xs); padding: var(--espace-xs);
background: var(--couleur-gris); background: var(--couleur-gris);
@ -158,7 +167,7 @@ input:focus, input:focus-visible, select:focus, select:focus-visible, textarea:f
outline: 1px solid var(--couleur-noir); outline: 1px solid var(--couleur-noir);
} }
input:disabled, select:disabled, textarea:disabled { input:disabled, input[disabled], select:disabled, select[disabled], textarea:disabled, textarea[disabled] {
cursor: not-allowed; cursor: not-allowed;
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px .5px / 2px 2px; background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px .5px / 2px 2px;
} }
@ -468,6 +477,16 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
display: flex; 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, #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 { #en-tete .compte-panier a {
text-transform: lowercase; text-transform: lowercase;
min-width: 10ch; min-width: 10ch;
@ -588,15 +607,19 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
} }
.grille-produits { .grille-produits {
--aucun-produit-hauteur: calc(100svh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur) - var(--pied-de-page-hauteur)); --grille-produits-hauteur-minimale: var(--contenu-page-hauteur-minimale);
--aucun-produit-hauteur: var(--contenu-page-hauteur-minimale);
--carte-produit-longueur-minimale: 448px; --carte-produit-longueur-minimale: 448px;
--carte-produit-longueur-maximale: 900px;
grid-auto-rows: 1fr; grid-auto-rows: 1fr;
grid-template-columns: repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); grid-template-columns: repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr));
min-height: var(--grille-produits-hauteur-minimale);
gap: 1px; gap: 1px;
display: grid; display: grid;
} }
.grille-produits article { .grille-produits article {
max-width: var(--carte-produit-longueur-maximale);
box-shadow: 0 0 0 1px var(--couleur-noir); box-shadow: 0 0 0 1px var(--couleur-noir);
} }
@ -683,9 +706,9 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
.informations-produit { .informations-produit {
--boite-couleur-fond: #ffffffe6; --boite-couleur-fond: #ffffffe6;
--boite-position-basse: 1rem; --boite-position-basse: var(--espace-m);
--boite-longueur: 70ch; --boite-longueur: 70ch;
--section-marges-internes: 1rem; --section-marges-internes: var(--espace-m);
bottom: var(--boite-position-basse); bottom: var(--boite-position-basse);
width: 0; width: 0;
height: 0; height: 0;
@ -861,7 +884,9 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
} }
.informations-produit .actions-produit { .informations-produit .actions-produit {
padding: initial;
background: var(--couleur-jaune); background: var(--couleur-jaune);
border-top: initial;
transition: background .2s; transition: background .2s;
overflow: hidden; overflow: hidden;
} }
@ -871,6 +896,8 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
} }
.informations-produit .actions-produit button { .informations-produit .actions-produit button {
height: initial;
padding: var(--section-marges-internes);
font-variation-settings: "wght" 400; font-variation-settings: "wght" 400;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: var(--espacement-inter-lettres-etendu-m); letter-spacing: var(--espacement-inter-lettres-etendu-m);
@ -886,6 +913,7 @@ body:has(#menu-mobile:not([aria-hidden="true"])) {
@media (width <= 700px) { @media (width <= 700px) {
.informations-produit { .informations-produit {
--section-marges-internes: var(--espace-xl);
bottom: initial; bottom: initial;
width: initial; width: initial;
height: initial; height: initial;

File diff suppressed because one or more lines are too long

View file

@ -1,68 +1,149 @@
#page-a-propos { #page-a-propos {
/* Marges */ --images-longueur-maximale: 1300px;
--page-marges-bloc-debut: var(--en-tete-hauteur); --page-marges-bloc-debut: var(--en-tete-hauteur);
--images-marges-ligne: var(--espace-xl) * 2;
display: flex; display: flex;
flex-flow: column nowrap; flex-flow: column nowrap;
margin-top: var(--page-marges-bloc-debut); margin-top: var(--page-marges-bloc-debut);
} }
#page-a-propos .storytelling { #page-a-propos .storytelling {
padding: var(--espace-xl) 0; padding: var(--espace-xl) 0;
color: var(--couleur-gris-fonce);
} }
#page-a-propos .storytelling__conteneur { #page-a-propos .storytelling__conteneur {
position: relative; position: relative;
overflow-x: hidden; width: min(var(--images-longueur-maximale), 100% - var(--images-marges-ligne));
width: min(60rem, 100% - 4rem);
height: 2000px;
margin: auto; margin: auto;
} }
#page-a-propos .storytelling__section {
position: relative;
}
#page-a-propos .storytelling picture {
position: absolute;
}
#page-a-propos .storytelling picture#image-1 {
z-index: 20;
left: 50%;
width: 40%;
}
#page-a-propos .storytelling picture#image-2 {
z-index: 19;
top: 8vmin;
scale: -1 1;
width: 70%;
}
#page-a-propos .storytelling picture#image-3 {
z-index: 21;
top: 54vmin;
left: 35%;
width: 30%;
}
#page-a-propos .storytelling picture#image-4 {
z-index: 20;
top: 60vmin;
left: 40%;
width: 60%;
}
#page-a-propos .storytelling img { #page-a-propos .storytelling img {
width: fit-content; width: max-content;
height: auto; height: auto;
object-fit: contain; object-fit: contain;
background: transparent; background: transparent;
} }
#page-a-propos .storytelling .texte { #page-a-propos .storytelling .texte {
position: absolute; position: absolute;
max-width: 15rem; max-width: 22rem;
font-size: 0.9rem;
font-weight: 500; font-weight: 500;
font-style: italic; font-style: italic;
/* stylelint-disable-next-line declaration-block-no-duplicate-properties */
text-wrap: balance;
text-wrap: pretty;
} }
#page-a-propos .storytelling .texte#texte-1 { #page-a-propos .storytelling .texte#texte-1 {
top: 42vmin; top: 33rem;
right: 0; right: 4rem;
}
#page-a-propos .storytelling .texte#texte-2 {
top: 61.5rem;
}
#page-a-propos .storytelling .texte#texte-3 {
top: 81.5rem;
right: 4rem;
}
#page-a-propos .storytelling .texte#texte-4 {
top: 139rem;
}
#page-a-propos .storytelling .texte#texte-5 {
top: 156rem;
right: 4rem;
}
#page-a-propos .storytelling .texte#texte-6 {
bottom: 3rem;
} }
#page-a-propos .storytelling .texte p + p { #page-a-propos .storytelling .texte p + p {
margin-top: var(--espace-m); margin-top: var(--espace-m);
} }
#page-a-propos .storytelling .epingle {
position: absolute;
right: 46.5%;
display: none;
}
#page-a-propos .storytelling .epingle[data-ensemble-epingle-boite-actif] img {
filter: drop-shadow(1px 1px 5px var(--couleur-gris-fonce));
}
#page-a-propos .storytelling .epingle#epingle-1 {
top: 2%;
}
#page-a-propos .storytelling .epingle#epingle-2 {
top: 23%;
}
#page-a-propos .storytelling .epingle#epingle-3 {
top: 35%;
}
#page-a-propos .storytelling .epingle#epingle-4 {
top: 58%;
}
#page-a-propos .storytelling .epingle#epingle-5 {
top: 76%;
}
#page-a-propos .storytelling .epingle#epingle-6 {
top: 95.5%;
}
#page-a-propos .storytelling .epingle img {
pointer-events: none;
width: 1.5rem;
filter: drop-shadow(1px 1px 3px var(--couleur-gris-fonce));
transition: 0.2s filter;
}
#page-a-propos .storytelling .boite-texte {
position: absolute;
top: 0;
right: calc(46.5% - (15rem + var(--espace-l)) / 2);
display: flex;
flex-flow: column nowrap;
padding: var(--espace-l);
font-size: 0.8rem;
font-style: italic;
color: var(--couleur-noir);
visibility: hidden;
opacity: 0;
background: var(--couleur-fond);
border: 1px solid var(--couleur-noir);
transition: 0.2s opacity, 0.2s visibility;
}
#page-a-propos .storytelling .boite-texte[data-ensemble-epingle-boite-actif] {
visibility: visible;
opacity: 1;
}
#page-a-propos .storytelling .boite-texte#boite-texte-2 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(23% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte#boite-texte-3 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(35% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte#boite-texte-4 {
--hauteur-boite: calc(8lh + 2rem + var(--espace-l) * 2);
top: calc(58% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte#boite-texte-5 {
--hauteur-boite: calc(12lh + 2rem + var(--espace-l) * 2);
top: calc(76% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte#boite-texte-6 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(95.5% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte p {
max-width: 15rem;
}
#page-a-propos .storytelling .boite-texte p + p {
margin-top: var(--espace-m);
}
@media (width <= 1300px) {
#page-a-propos .storytelling .texte {
display: none;
}
#page-a-propos .storytelling .epingle {
display: initial;
}
}
@media (width <= 700px) {
#page-a-propos {
--images-marges-ligne: var(--espace-m);
}
}
/*# sourceMappingURL=page-a-propos.css.map */ /*# sourceMappingURL=page-a-propos.css.map */

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../src/sass/pages/page-a-propos.scss"],"names":[],"mappings":"AAEA;AACE;EACA;EAEA;EACA;EACA;;AAMA;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE","file":"page-a-propos.css"} {"version":3,"sourceRoot":"","sources":["../../../src/sass/pages/page-a-propos.scss"],"names":[],"mappings":"AAEA;EAEE;EAGA;EACA;EAEA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;AACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;;AAGE;EACE;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;EAEA;;AAGF;EACE;EAEA;;AAGF;EACE;EAEA;;AAGF;EACE;EAEA;;AAGF;EACE;EAEA;;AAGF;EACE;;AAEA;EACE;;AAMR;EAEI;IACE;;EAGF;IACE;;;AAKN;EA1LF;IA2LI","file":"page-a-propos.css"}

View file

@ -1,5 +1,7 @@
#page-a-propos { #page-a-propos {
--images-longueur-maximale: 1300px;
--page-marges-bloc-debut: var(--en-tete-hauteur); --page-marges-bloc-debut: var(--en-tete-hauteur);
--images-marges-ligne: var(--espace-xl) * 2;
margin-top: var(--page-marges-bloc-debut); margin-top: var(--page-marges-bloc-debut);
flex-flow: column; flex-flow: column;
display: flex; display: flex;
@ -7,73 +9,172 @@
#page-a-propos .storytelling { #page-a-propos .storytelling {
padding: var(--espace-xl) 0; padding: var(--espace-xl) 0;
color: var(--couleur-gris-fonce);
} }
#page-a-propos .storytelling__conteneur { #page-a-propos .storytelling__conteneur {
width: min(60rem, 100% - 4rem); width: min(var(--images-longueur-maximale), 100% - var(--images-marges-ligne));
height: 2000px;
margin: auto; margin: auto;
position: relative; position: relative;
overflow-x: hidden;
}
#page-a-propos .storytelling__section {
position: relative;
}
#page-a-propos .storytelling picture {
position: absolute;
}
#page-a-propos .storytelling picture#image-1 {
z-index: 20;
width: 40%;
left: 50%;
}
#page-a-propos .storytelling picture#image-2 {
z-index: 19;
width: 70%;
top: 8vmin;
scale: -1 1;
}
#page-a-propos .storytelling picture#image-3 {
z-index: 21;
width: 30%;
top: 54vmin;
left: 35%;
}
#page-a-propos .storytelling picture#image-4 {
z-index: 20;
width: 60%;
top: 60vmin;
left: 40%;
} }
#page-a-propos .storytelling img { #page-a-propos .storytelling img {
object-fit: contain; object-fit: contain;
background: none; background: none;
width: fit-content; width: max-content;
height: auto; height: auto;
} }
#page-a-propos .storytelling .texte { #page-a-propos .storytelling .texte {
max-width: 15rem; text-wrap: balance;
font-size: .9rem; text-wrap: pretty;
max-width: 22rem;
font-style: italic; font-style: italic;
font-weight: 500; font-weight: 500;
position: absolute; position: absolute;
} }
#page-a-propos .storytelling .texte#texte-1 { #page-a-propos .storytelling .texte#texte-1 {
top: 42vmin; top: 33rem;
right: 0; right: 4rem;
}
#page-a-propos .storytelling .texte#texte-2 {
top: 61.5rem;
}
#page-a-propos .storytelling .texte#texte-3 {
top: 81.5rem;
right: 4rem;
}
#page-a-propos .storytelling .texte#texte-4 {
top: 139rem;
}
#page-a-propos .storytelling .texte#texte-5 {
top: 156rem;
right: 4rem;
}
#page-a-propos .storytelling .texte#texte-6 {
bottom: 3rem;
} }
#page-a-propos .storytelling .texte p + p { #page-a-propos .storytelling .texte p + p {
margin-top: var(--espace-m); margin-top: var(--espace-m);
} }
#page-a-propos .storytelling .epingle {
display: none;
position: absolute;
right: 46.5%;
}
#page-a-propos .storytelling .epingle[data-ensemble-epingle-boite-actif] img {
filter: drop-shadow(1px 1px 5px var(--couleur-gris-fonce));
}
#page-a-propos .storytelling .epingle#epingle-1 {
top: 2%;
}
#page-a-propos .storytelling .epingle#epingle-2 {
top: 23%;
}
#page-a-propos .storytelling .epingle#epingle-3 {
top: 35%;
}
#page-a-propos .storytelling .epingle#epingle-4 {
top: 58%;
}
#page-a-propos .storytelling .epingle#epingle-5 {
top: 76%;
}
#page-a-propos .storytelling .epingle#epingle-6 {
top: 95.5%;
}
#page-a-propos .storytelling .epingle img {
pointer-events: none;
filter: drop-shadow(1px 1px 3px var(--couleur-gris-fonce));
width: 1.5rem;
transition: filter .2s;
}
#page-a-propos .storytelling .boite-texte {
top: 0;
right: calc(46.5% - (15rem + var(--espace-l)) / 2);
padding: var(--espace-l);
color: var(--couleur-noir);
visibility: hidden;
opacity: 0;
background: var(--couleur-fond);
border: 1px solid var(--couleur-noir);
flex-flow: column;
font-size: .8rem;
font-style: italic;
transition: opacity .2s, visibility .2s;
display: flex;
position: absolute;
}
#page-a-propos .storytelling .boite-texte[data-ensemble-epingle-boite-actif] {
visibility: visible;
opacity: 1;
}
#page-a-propos .storytelling .boite-texte#boite-texte-2 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(23% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte#boite-texte-3 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(35% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte#boite-texte-4 {
--hauteur-boite: calc(8lh + 2rem + var(--espace-l) * 2);
top: calc(58% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte#boite-texte-5 {
--hauteur-boite: calc(12lh + 2rem + var(--espace-l) * 2);
top: calc(76% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte#boite-texte-6 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(95.5% - var(--hauteur-boite) / 2);
}
#page-a-propos .storytelling .boite-texte p {
max-width: 15rem;
}
#page-a-propos .storytelling .boite-texte p + p {
margin-top: var(--espace-m);
}
@media (width <= 1300px) {
#page-a-propos .storytelling .texte {
display: none;
}
#page-a-propos .storytelling .epingle {
display: initial;
}
}
@media (width <= 700px) {
#page-a-propos {
--images-marges-ligne: var(--espace-m);
}
}
/*# sourceMappingURL=web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.min.css.map */ /*# sourceMappingURL=web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.min.css.map */

View file

@ -1 +1 @@
{"version":3,"mappings":"AAAA;;;;;;;AAOA;;;;AAGA;;;;;;;;AAOA;;;;AAGA;;;;AAGA;;;;;;AAKA;;;;;;;AAMA;;;;;;;AAMA;;;;;;;AAMA;;;;;;;AAMA;;;;;;;;AAOA;;;;;AAIA","sources":["web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.css"],"sourcesContent":["#page-a-propos {\n /* Marges */\n --page-marges-bloc-debut: var(--en-tete-hauteur);\n display: flex;\n flex-flow: column nowrap;\n margin-top: var(--page-marges-bloc-debut);\n}\n#page-a-propos .storytelling {\n padding: var(--espace-xl) 0;\n}\n#page-a-propos .storytelling__conteneur {\n position: relative;\n overflow-x: hidden;\n width: min(60rem, 100% - 4rem);\n height: 2000px;\n margin: auto;\n}\n#page-a-propos .storytelling__section {\n position: relative;\n}\n#page-a-propos .storytelling picture {\n position: absolute;\n}\n#page-a-propos .storytelling picture#image-1 {\n z-index: 20;\n left: 50%;\n width: 40%;\n}\n#page-a-propos .storytelling picture#image-2 {\n z-index: 19;\n top: 8vmin;\n scale: -1 1;\n width: 70%;\n}\n#page-a-propos .storytelling picture#image-3 {\n z-index: 21;\n top: 54vmin;\n left: 35%;\n width: 30%;\n}\n#page-a-propos .storytelling picture#image-4 {\n z-index: 20;\n top: 60vmin;\n left: 40%;\n width: 60%;\n}\n#page-a-propos .storytelling img {\n width: fit-content;\n height: auto;\n object-fit: contain;\n background: transparent;\n}\n#page-a-propos .storytelling .texte {\n position: absolute;\n max-width: 15rem;\n font-size: 0.9rem;\n font-weight: 500;\n font-style: italic;\n}\n#page-a-propos .storytelling .texte#texte-1 {\n top: 42vmin;\n right: 0;\n}\n#page-a-propos .storytelling .texte p + p {\n margin-top: var(--espace-m);\n}\n\n/*# sourceMappingURL=page-a-propos.css.map */\n"],"names":[]} {"version":3,"mappings":"AAAA;;;;;;;;;AAQA;;;;;AAIA;;;;;;AAKA;;;;;;;AAMA;;;;;;;;;AASA;;;;;AAIA;;;;AAGA;;;;;AAIA;;;;AAGA;;;;;AAIA;;;;AAGA;;;;AAGA;;;;;;AAKA;;;;AAGA;;;;AAGA;;;;AAGA;;;;AAGA;;;;AAGA;;;;AAGA;;;;AAGA;;;;;;;AAMA;;;;;;;;;;;;;;;;;AAgBA;;;;;AAIA;;;;;AAIA;;;;;AAIA;;;;;AAIA;;;;;AAIA;;;;;AAIA;;;;AAGA;;;;AAGA;EACE;;;;EAGA;;;;;AAIF;EACE","sources":["web/app/themes/haiku-atelier-2024/assets/css/pages/page-a-propos.css"],"sourcesContent":["#page-a-propos {\n --images-longueur-maximale: 1300px;\n --page-marges-bloc-debut: var(--en-tete-hauteur);\n --images-marges-ligne: var(--espace-xl) * 2;\n display: flex;\n flex-flow: column nowrap;\n margin-top: var(--page-marges-bloc-debut);\n}\n#page-a-propos .storytelling {\n padding: var(--espace-xl) 0;\n color: var(--couleur-gris-fonce);\n}\n#page-a-propos .storytelling__conteneur {\n position: relative;\n width: min(var(--images-longueur-maximale), 100% - var(--images-marges-ligne));\n margin: auto;\n}\n#page-a-propos .storytelling img {\n width: max-content;\n height: auto;\n object-fit: contain;\n background: transparent;\n}\n#page-a-propos .storytelling .texte {\n position: absolute;\n max-width: 22rem;\n font-weight: 500;\n font-style: italic;\n /* stylelint-disable-next-line declaration-block-no-duplicate-properties */\n text-wrap: balance;\n text-wrap: pretty;\n}\n#page-a-propos .storytelling .texte#texte-1 {\n top: 33rem;\n right: 4rem;\n}\n#page-a-propos .storytelling .texte#texte-2 {\n top: 61.5rem;\n}\n#page-a-propos .storytelling .texte#texte-3 {\n top: 81.5rem;\n right: 4rem;\n}\n#page-a-propos .storytelling .texte#texte-4 {\n top: 139rem;\n}\n#page-a-propos .storytelling .texte#texte-5 {\n top: 156rem;\n right: 4rem;\n}\n#page-a-propos .storytelling .texte#texte-6 {\n bottom: 3rem;\n}\n#page-a-propos .storytelling .texte p + p {\n margin-top: var(--espace-m);\n}\n#page-a-propos .storytelling .epingle {\n position: absolute;\n right: 46.5%;\n display: none;\n}\n#page-a-propos .storytelling .epingle[data-ensemble-epingle-boite-actif] img {\n filter: drop-shadow(1px 1px 5px var(--couleur-gris-fonce));\n}\n#page-a-propos .storytelling .epingle#epingle-1 {\n top: 2%;\n}\n#page-a-propos .storytelling .epingle#epingle-2 {\n top: 23%;\n}\n#page-a-propos .storytelling .epingle#epingle-3 {\n top: 35%;\n}\n#page-a-propos .storytelling .epingle#epingle-4 {\n top: 58%;\n}\n#page-a-propos .storytelling .epingle#epingle-5 {\n top: 76%;\n}\n#page-a-propos .storytelling .epingle#epingle-6 {\n top: 95.5%;\n}\n#page-a-propos .storytelling .epingle img {\n pointer-events: none;\n width: 1.5rem;\n filter: drop-shadow(1px 1px 3px var(--couleur-gris-fonce));\n transition: 0.2s filter;\n}\n#page-a-propos .storytelling .boite-texte {\n position: absolute;\n top: 0;\n right: calc(46.5% - (15rem + var(--espace-l)) / 2);\n display: flex;\n flex-flow: column nowrap;\n padding: var(--espace-l);\n font-size: 0.8rem;\n font-style: italic;\n color: var(--couleur-noir);\n visibility: hidden;\n opacity: 0;\n background: var(--couleur-fond);\n border: 1px solid var(--couleur-noir);\n transition: 0.2s opacity, 0.2s visibility;\n}\n#page-a-propos .storytelling .boite-texte[data-ensemble-epingle-boite-actif] {\n visibility: visible;\n opacity: 1;\n}\n#page-a-propos .storytelling .boite-texte#boite-texte-2 {\n --hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);\n top: calc(23% - var(--hauteur-boite) / 2);\n}\n#page-a-propos .storytelling .boite-texte#boite-texte-3 {\n --hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);\n top: calc(35% - var(--hauteur-boite) / 2);\n}\n#page-a-propos .storytelling .boite-texte#boite-texte-4 {\n --hauteur-boite: calc(8lh + 2rem + var(--espace-l) * 2);\n top: calc(58% - var(--hauteur-boite) / 2);\n}\n#page-a-propos .storytelling .boite-texte#boite-texte-5 {\n --hauteur-boite: calc(12lh + 2rem + var(--espace-l) * 2);\n top: calc(76% - var(--hauteur-boite) / 2);\n}\n#page-a-propos .storytelling .boite-texte#boite-texte-6 {\n --hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);\n top: calc(95.5% - var(--hauteur-boite) / 2);\n}\n#page-a-propos .storytelling .boite-texte p {\n max-width: 15rem;\n}\n#page-a-propos .storytelling .boite-texte p + p {\n margin-top: var(--espace-m);\n}\n@media (width <= 1300px) {\n #page-a-propos .storytelling .texte {\n display: none;\n }\n #page-a-propos .storytelling .epingle {\n display: initial;\n }\n}\n@media (width <= 700px) {\n #page-a-propos {\n --images-marges-ligne: var(--espace-m);\n }\n}\n\n/*# sourceMappingURL=page-a-propos.css.map */\n"],"names":[]}

View file

@ -64,9 +64,6 @@
/* Bouton de suppression de quantité */ /* Bouton de suppression de quantité */
/* Bouton de suppression du Produit du Panier */ /* Bouton de suppression du Produit du Panier */
} }
#panneau-panier .panneau__grille-produits .detail-produit__actions button:disabled {
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px/2px 2px;
}
#panneau-panier .panneau__grille-produits .detail-produit__actions button:first-of-type { #panneau-panier .panneau__grille-produits .detail-produit__actions button:first-of-type {
grid-column: 1; grid-column: 1;
min-width: 3rem; min-width: 3rem;
@ -335,7 +332,7 @@
text-transform: inherit; text-transform: inherit;
} }
/* * /*
* 1. Applique une marge supérieure égale à la hauteur de l'en-tête pour qu'elle puisse s'afficher * 1. Applique une marge supérieure égale à la hauteur de l'en-tête pour qu'elle puisse s'afficher
* correctement. * correctement.
*/ */

View file

@ -1 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../src/sass/layouts/_panneau-panier.scss","../../../src/sass/layouts/_panneau-informations-client.scss","../../../src/sass/pages/page-panier.scss"],"names":[],"mappings":";AAEA;EACE;;AAEA;EACE;;AAIF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;AAOA;AAOA;AAAA;AAAA;AAAA;AAmBA;AAOA;;AAtCA;EACE;;AAKF;EACE;EACA;EACA;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;IACE;IACA;;;AASZ;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKA;EACE;;AAEA;EACE;;AAMR;EACE;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;ACtQJ;EACE;EACA;;AAIF;EAEE;EACA;EACA;EAGA;EAEA;EACA;;AAEA;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAMN;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAMR;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAKN;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AC/IN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA","file":"page-panier.css"} {"version":3,"sourceRoot":"","sources":["../../../src/sass/layouts/_panneau-panier.scss","../../../src/sass/layouts/_panneau-informations-client.scss","../../../src/sass/pages/page-panier.scss"],"names":[],"mappings":";AAEA;EACE;;AAEA;EACE;;AAIF;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;AAEA;AAOA;AAAA;AAAA;AAAA;AAmBA;AAOA;;AAhCA;EACE;EACA;EACA;;AAOF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKJ;EACE;EACA;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;IACE;IACA;;;AASZ;EACE;EACA;EACA;EACA;EACA;;AAGA;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAMN;EACE;EACA;EACA;EACA;AAEA;AAAA;AAAA;AAAA;;AAIA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAKA;EACE;;AAEA;EACE;;AAMR;EACE;EACA;EACA;EACA;EACA;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;;ACjQJ;EACE;EACA;;AAIF;EAEE;EACA;EACA;EAGA;EAEA;EACA;;AAEA;EACE;EACA;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAMN;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAKF;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAMR;EACE;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIA;EACE;;AAKN;EACE;EACA;;AAEA;EACE;;AAIJ;EACE;;AAKJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;;AC/IN;AAAA;AAAA;AAAA;AAIA;AACE;EACA;AAEA;EACA;EAEA;EACA;EACA;EACA;;AAGE;EACE;;AAGF;EACE;;AAIJ;EACE;EACA;EACA;EACA;;AAGA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA","file":"page-panier.css"}

View file

@ -67,10 +67,6 @@
display: grid; display: grid;
} }
#panneau-panier .panneau__grille-produits .detail-produit__actions button:disabled {
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px .5px / 2px 2px;
}
#panneau-panier .panneau__grille-produits .detail-produit__actions button:first-of-type { #panneau-panier .panneau__grille-produits .detail-produit__actions button:first-of-type {
grid-column: 1; grid-column: 1;
min-width: 3rem; min-width: 3rem;

File diff suppressed because one or more lines are too long

View file

@ -1,39 +0,0 @@
{\rtf1\ansi\ansicpg1252\cocoartf1404\cocoasubrtf470
{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;\red52\green0\blue71;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\partightenfactor0
\f0\fs24 \cf2 1/\
Ha\'efkus are short japanese poems written in three lines to capture the beauty of small details in the everyday life. \
\
More than poetry, it\'92s a philosophy.\
\
2/\
Haiku Atelier creates minimalist and subtil jewelry with an edgy twist, trying to distillate some poetry through those small objects.\
\
Handcrafted with care in sustainable materials, each pieces has its uniqueness and is made to last. \
\
3/\
After learning the art of jewelry making for two years in Paris, Manon Designere launched the brand Haiku, gleaning into the Japanese minimalist aesthetic.\
\
Now based in Brussels, she still makes everything by hand, pouring her soul into her work to share her vision of the world.\
\
4/\
Here you can see some of the tools used at the studio. \
\
From sketches to models, from soldering to polishing, the numerous steps behind each piece are what makes it so unique. \
\
A touch of animism to value handcrafted objects, restrain mass production and lead toward slow life.\
\
5/\
We pay a lot of attention choosing the materials we work on: all of the pieces are made in 80% recycled sterling silver.\
\
We also choose to propose many designs in a mix of sterling silver and silver gilded parts to avoid relying too much on the gold plating process, which can be pollutant. \
\
The packagings are also carefully selected, produced nearby, made in eco-friendly coton or paper. Our gift bags are even handmade in dead-stock fabrics.\
\
6/\
We hope that those small objects will move you, as we are moved by the beauty hidden behind a ray of sunshine, a leaf falling from a branch, the smell of an old book, the song of birds before dawn\'85\
\
Haiku jewelry are like a bit of poetry to wear everywhere.}

View file

@ -12,18 +12,27 @@
], ],
"integrity": "sha512-zBecrvIRiJOu6YYRpnc0k8S2hhntD+UpPtg3zhLd4KQSyWdXQTt6ubhfDTOhBtMYi/W1LLcZX89krSQqxkWfGA==" "integrity": "sha512-zBecrvIRiJOu6YYRpnc0k8S2hhntD+UpPtg3zhLd4KQSyWdXQTt6ubhfDTOhBtMYi/W1LLcZX89krSQqxkWfGA=="
}, },
"_belt_Option-91f3b350.BEnQsSyX.js": {
"file": "belt_Option-91f3b350.BEnQsSyX.js",
"name": "belt_Option-91f3b350",
"imports": [
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts"
],
"integrity": "sha512-gD4FM0FjVEKvuMqyyIFHC5KmLSroOnMSYRVGofVTfveXikdru921+CaJObSD8sOxCvpYjH5rVZinsboKghYZSw=="
},
"_exports.BuUzFliQ.js": { "_exports.BuUzFliQ.js": {
"file": "exports.BuUzFliQ.js", "file": "exports.BuUzFliQ.js",
"name": "exports", "name": "exports",
"integrity": "sha512-NnL7sWHucQtUmMgMvhJTrk64JiN/8br3JXx2s/9r3713TBEdhn3QyHu4zO0a8GteZitjxC5mzMGP7aBWDvjaTw==" "integrity": "sha512-NnL7sWHucQtUmMgMvhJTrk64JiN/8br3JXx2s/9r3713TBEdhn3QyHu4zO0a8GteZitjxC5mzMGP7aBWDvjaTw=="
}, },
"_index-0eef19ec.DJngGX7K.js": { "_index-0eef19ec.C9-H3LKa.js": {
"file": "index-0eef19ec.DJngGX7K.js", "file": "index-0eef19ec.C9-H3LKa.js",
"name": "index-0eef19ec", "name": "index-0eef19ec",
"imports": [ "imports": [
"web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/dom.ts",
"_belt_Option-91f3b350.BEnQsSyX.js"
], ],
"integrity": "sha512-OV1jpDd3cFYtcbHgHqQPMtioilavwJiAYy6W8waO70AIiU5NqZLMlQvsxChvZKwDz6mWcSgSF/bYxTedcfSNdQ==" "integrity": "sha512-2NBuKSnK8a1P+2fco6ILNsEMozr9DG7QDitwWWkHqdt5jNsnuyh1+s6Wm1gkCyNkdyWpqyn5aoTpNly5TElu9Q=="
}, },
"_index.CeK6pfoJ.js": { "_index.CeK6pfoJ.js": {
"file": "index.CeK6pfoJ.js", "file": "index.CeK6pfoJ.js",
@ -59,7 +68,7 @@
"name": "dom", "name": "dom",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"isEntry": true, "isEntry": true,
"integrity": "sha512-LNBiVSz8Rz7341AqVtU/QJQ+5f5/dsQJNo0r+SodLcv1kaqP8urS8/ZCvDjFiZOKVnF0G9eYMHOM0BWW+29rwQ==" "integrity": "sha512-LBVfgadTY91tQL0vqr2MY1V4S+SnNDW/VgaRtfI0lYYOyj5k6lrKJ2+cvalY5YHaKEfBBVfIK1F3vjmx6Zy6Pw=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts": {
"file": "messages3.js", "file": "messages3.js",
@ -98,7 +107,7 @@
"_Either.wHNxn7Os.js", "_Either.wHNxn7Os.js",
"_exports.BuUzFliQ.js" "_exports.BuUzFliQ.js"
], ],
"integrity": "sha512-Pml8YfUlrThbOQy3ueDM8DiO+ZBOQu7AgvgIl8TEiqh5S+kYfJltwf0wYrKbC4RmWnJgp3UBUj9GMuXh9B4IpQ==" "integrity": "sha512-TApiAWN65ACKzOmdZcj2lQbc3ddSjuT1kANS5h4aaRBqqtSwB2peFnWihjLlxenyHSoYxedS8sqiOOGFehq7AA=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts": {
"file": "erreurs.js", "file": "erreurs.js",
@ -312,7 +321,7 @@
"_Either.wHNxn7Os.js", "_Either.wHNxn7Os.js",
"_exports.BuUzFliQ.js" "_exports.BuUzFliQ.js"
], ],
"integrity": "sha512-dImcQ2W8CITfoOeP1o7jKkjh8iGbl31bIEtgpB2Bjm5wnxkcoOI5+60uiWoO8UoLZmvHplwSOh1YDjVhQuPstQ==" "integrity": "sha512-aaOA8OrH6CI280xd785AkGzpwQWgWFef5j3orpGla9G+CTbHd2FM3SypVVSso88EJnSO8OMDQ2IfZ7Pe5CBvHQ=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": {
"file": "scripts-bouton-panier.js", "file": "scripts-bouton-panier.js",
@ -359,7 +368,17 @@
"name": "scripts-page-a-propos", "name": "scripts-page-a-propos",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts", "src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts",
"isEntry": true, "isEntry": true,
"integrity": "sha512-O+itPCG9IxvEzFfAYXZr0jqWjG4zO24Hoa9L7TuzRFh73DfZZ5Wey5dvDGHFByW02M+e6/Hd+WMTfSm2IY3f0w==" "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",
"_pipe.XPB0wEfw.js",
"_belt_Option-91f3b350.BEnQsSyX.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts",
"_exports.BuUzFliQ.js",
"_Either.wHNxn7Os.js"
],
"integrity": "sha512-KTjOqAlSk6EcfIoLk9Y9nJZFWvUh1gUJxbd3Ze0lfrsAegs5GHvEQYbWrj4TAxJWMFCk3gW21H2v+uCPrB8hlA=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-accueil.ts": {
"file": "scripts-page-accueil.js", "file": "scripts-page-accueil.js",
@ -396,13 +415,14 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"_MaybeAsync.AE1jnxuc.js", "_MaybeAsync.AE1jnxuc.js",
"_pipe.XPB0wEfw.js", "_pipe.XPB0wEfw.js",
"_index-0eef19ec.DJngGX7K.js", "_index-0eef19ec.C9-H3LKa.js",
"_Either.wHNxn7Os.js", "_Either.wHNxn7Os.js",
"_exports.BuUzFliQ.js", "_exports.BuUzFliQ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts" "web/app/themes/haiku-atelier-2024/src/scripts/constantes/products.ts",
"_belt_Option-91f3b350.BEnQsSyX.js"
], ],
"integrity": "sha512-Mf0HRdID1HQJgsTvS3RCaccdfxG7rqNI5cSY6iIJmQgQVZD0OdX4taQMCamzGhVhIm9BO1UU/ueRY/BCSxOH/Q==" "integrity": "sha512-CF4pfzQdTdzZPLBVzkfjBFCtnO1VFHf364VstcPBadNiUYOYUBCGujk8ObfcVjP/a4V+C4j1/Uu1+5dayzNZwg=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-panier.ts": {
"file": "scripts-page-panier.js", "file": "scripts-page-panier.js",
@ -426,16 +446,17 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/cart-update-item.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"_pipe.XPB0wEfw.js", "_pipe.XPB0wEfw.js",
"_index-0eef19ec.DJngGX7K.js", "_index-0eef19ec.C9-H3LKa.js",
"_Either.wHNxn7Os.js", "_Either.wHNxn7Os.js",
"_exports.BuUzFliQ.js", "_exports.BuUzFliQ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
"_belt_Option-91f3b350.BEnQsSyX.js"
], ],
"integrity": "sha512-dTOpJIa6HVma1+FBxOKQvhhMJdMz9hNz/XGLYiljbEwVMMCq/Gw2d05KJ5cr58FRp5MoPMomq0UhPKUhUMEm/w==" "integrity": "sha512-LZJh8icM/jzRmIkU3RJbpu8mRunx3QEUyiZWl0rZ8JEgWr1GDtoYiEiPNpUDadsEUUm+8lWOA8Y+931/mq+95w=="
}, },
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": { "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-produit.ts": {
"file": "scripts-page-produit.js", "file": "scripts-page-produit.js",
@ -456,15 +477,16 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"_pipe.XPB0wEfw.js", "_pipe.XPB0wEfw.js",
"_index-0eef19ec.DJngGX7K.js", "_index-0eef19ec.C9-H3LKa.js",
"_Either.wHNxn7Os.js", "_Either.wHNxn7Os.js",
"_exports.BuUzFliQ.js", "_exports.BuUzFliQ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts", "web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts", "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts" "web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts",
"_belt_Option-91f3b350.BEnQsSyX.js"
], ],
"integrity": "sha512-o7HIHj2on+5ihVMOUbyR3xw048EFnGORL4HiMDknVDYCUNNii2ZwNLm5DESxfHbirK5e900lKm/SDsXixtQYyQ==" "integrity": "sha512-EePoQpmfXZAmPCs38rLSG4/FhrmzK4rmrYv8NLGMRX9CB/oqbvzS663FeAHiQyeY2lv4OwWGl0ARK63zefapyA=="
} }
} }

View file

@ -0,0 +1,149 @@
import { v as valFromOption, f as some } from "./dom2.js";
function sub(n2, r, t) {
var e = new Array(t);
var u = 0;
var a = r;
while (u < t) {
e[u] = n2[a];
u = u + 1 | 0;
a = a + 1 | 0;
}
return e;
}
function app(n2, r) {
while (1) {
var t = r;
var e = n2;
var u = e.length;
var a = 0 === u ? 1 : u;
var c = a - t.length | 0;
if (0 === c) {
return e.apply(null, t);
}
if (c >= 0) {
return /* @__PURE__ */ function(n3, r2) {
return function(t2) {
return app(n3, r2.concat([t2]));
};
}(e, t);
}
r = sub(t, a, 0 | -c);
n2 = e.apply(null, sub(t, 0, a));
}
}
function _1(n2, r) {
var t = n2.length;
if (1 === t) {
return n2(r);
} else {
switch (t) {
case 1:
return n2(r);
case 2:
return function(t2) {
return n2(r, t2);
};
case 3:
return function(t2, e) {
return n2(r, t2, e);
};
case 4:
return function(t2, e, u) {
return n2(r, t2, e, u);
};
case 5:
return function(t2, e, u, a) {
return n2(r, t2, e, u, a);
};
case 6:
return function(t2, e, u, a, c) {
return n2(r, t2, e, u, a, c);
};
case 7:
return function(t2, e, u, a, c, i) {
return n2(r, t2, e, u, a, c, i);
};
default:
return app(n2, [r]);
}
}
}
function __1(n2) {
if (1 === n2.length) {
return n2;
} else {
return function(r) {
return _1(n2, r);
};
}
}
var n = {
contents: 0
};
function create(r) {
n.contents = n.contents + 1 | 0;
return r + "/" + n.contents;
}
function is_extension(n2) {
if (null == n2) {
return false;
} else {
return "string" == typeof n2.RE_EXN_ID;
}
}
function getExn(t) {
if (void 0 !== t) {
return valFromOption(t);
}
throw {
RE_EXN_ID: "Not_found",
Error: new Error()
};
}
function mapWithDefaultU(t, i, a) {
if (void 0 !== t) {
return a(valFromOption(t));
} else {
return i;
}
}
function mapU(t, a) {
if (void 0 !== t) {
return some(a(valFromOption(t)));
}
}
function flatMapU(t, i) {
if (void 0 !== t) {
return i(valFromOption(t));
}
}
function flatMap(n2, i) {
return flatMapU(n2, __1(i));
}
function getWithDefault(t, i) {
if (void 0 !== t) {
return valFromOption(t);
} else {
return i;
}
}
function isSome(t) {
return void 0 !== t;
}
function isNone(t) {
return void 0 === t;
}
export {
_1 as _,
isSome as a,
getWithDefault as b,
create as c,
isNone as d,
mapU as e,
flatMap as f,
getExn as g,
flatMapU as h,
is_extension as i,
mapWithDefaultU as m
};
//# sourceMappingURL=belt_Option-91f3b350.BEnQsSyX.js.map

File diff suppressed because one or more lines are too long

View file

@ -9,6 +9,8 @@ const ATTRIBUT_INDEX = "data-index";
const ATTRIBUT_MENU_MOBILE_ACTIVE = "data-menu-mobile-active"; const ATTRIBUT_MENU_MOBILE_ACTIVE = "data-menu-mobile-active";
const ATTRIBUT_PAGE = "data-page"; const ATTRIBUT_PAGE = "data-page";
const ATTRIBUT_ID_CATEGORIE_PRODUITS = "data-id-categorie-produits"; const ATTRIBUT_ID_CATEGORIE_PRODUITS = "data-id-categorie-produits";
const ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE = "data-id-ensemble-epingle-boite";
const ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF = "data-ensemble-epingle-boite-actif";
const SELECTEUR_BOUTON_MENU_MOBILE = "#bouton-menu-mobile"; const SELECTEUR_BOUTON_MENU_MOBILE = "#bouton-menu-mobile";
const SELECTEUR_BOUTON_PANIER = ".compte-panier a[rel='cart']"; const SELECTEUR_BOUTON_PANIER = ".compte-panier a[rel='cart']";
const SELECTEUR_MENU_MOBILE = "#menu-mobile"; const SELECTEUR_MENU_MOBILE = "#menu-mobile";
@ -35,6 +37,9 @@ const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling";
const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image"; const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image";
const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-produits"; const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-produits";
const SELECTEUR_BOUTON_PLUS_PRODUITS = "#page-boutique #bouton-plus-de-produits"; const SELECTEUR_BOUTON_PLUS_PRODUITS = "#page-boutique #bouton-plus-de-produits";
const SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS = ".storytelling__conteneur";
const SELECTEUR_EPINGLE = ".epingle";
const SELECTEUR_BOITE_TEXTE = ".boite-texte";
export { export {
ATTRIBUT_CONTIENT_ARTICLES as A, ATTRIBUT_CONTIENT_ARTICLES as A,
ATTRIBUT_DESACTIVE as B, ATTRIBUT_DESACTIVE as B,
@ -46,6 +51,11 @@ export {
SELECTEUR_BOUTON_MENU_MOBILE as H, SELECTEUR_BOUTON_MENU_MOBILE as H,
SELECTEUR_MENU_MOBILE as I, SELECTEUR_MENU_MOBILE as I,
ATTRIBUT_MENU_MOBILE_ACTIVE as J, ATTRIBUT_MENU_MOBILE_ACTIVE as J,
ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE as K,
ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF as L,
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS as M,
SELECTEUR_EPINGLE as N,
SELECTEUR_BOITE_TEXTE as O,
SELECTEUR_BOUTON_PANIER as S, SELECTEUR_BOUTON_PANIER as S,
SELECTEUR_CONTENEUR_STORYTELLING as a, SELECTEUR_CONTENEUR_STORYTELLING as a,
SELECTEUR_IMAGES_STORYTELLING as b, SELECTEUR_IMAGES_STORYTELLING as b,

View file

@ -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\";\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\";\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\";\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"],"names":[],"mappings":"AAEO,MAAM,uBAAuB;AAC7B,MAAM,yBAAyB;AAC/B,MAAM,iBAAiB;AACvB,MAAM,sBAAsB;AAC5B,MAAM,6BAA6B;AACnC,MAAM,qBAAqB;AAC3B,MAAM,kBAAkB;AACxB,MAAM,iBAAiB;AACvB,MAAM,8BAA8B;AACpC,MAAM,gBAAgB;AACtB,MAAM,iCAAiC;AAGvC,MAAM,+BAA+B;AACrC,MAAM,0BAA0B;AAChC,MAAM,wBAAwB;AAG9B,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;AAG5C,MAAM,mCAAmC;AACzC,MAAM,gCAAgC;AAGtC,MAAM,4BAA4B;AAClC,MAAM,iCAAiC;"} {"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\";\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\";\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\";\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 SELECTEUR_EPINGLE = \".epingle\";\nexport const SELECTEUR_BOITE_TEXTE = \".boite-texte\";\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;AACxB,MAAM,iBAAiB;AACvB,MAAM,8BAA8B;AACpC,MAAM,gBAAgB;AACtB,MAAM,iCAAiC;AACvC,MAAM,qCAAqC;AAC3C,MAAM,wCAAwC;AAG9C,MAAM,+BAA+B;AACrC,MAAM,0BAA0B;AAChC,MAAM,wBAAwB;AAG9B,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;AAG5C,MAAM,mCAAmC;AACzC,MAAM,gCAAgC;AAGtC,MAAM,4BAA4B;AAClC,MAAM,iCAAiC;AAGvC,MAAM,4CAA4C;AAClD,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;"}

View file

@ -335,6 +335,13 @@ function some$1(_) {
return _; return _;
} }
} }
function nullable_to_opt(_) {
if (null == _) {
return;
} else {
return some$1(_);
}
}
function valFromOption(_) { function valFromOption(_) {
if (null === _ || void 0 === _.BS_PRIVATE_NESTED_SOME_NONE) { if (null === _ || void 0 === _.BS_PRIVATE_NESTED_SOME_NONE) {
return _; return _;
@ -2030,23 +2037,26 @@ const html = (strings, ...args) => pipe(
(template) => template.content (template) => template.content
); );
export { export {
Ra as R,
recupereElementsAvecSelecteur as a, recupereElementsAvecSelecteur as a,
recupereElementAvecSelecteur as b, recupereElementAvecSelecteur as b,
recupereElementsOuLeve as c, recupereElementsOuLeve as c,
forEachU as d, everyU as d,
equal as e, equal as e,
fromArray as f, some$1 as f,
get$1 as g, values as g,
html as h, html as h,
reduceU as i, fromArray as i,
append as j, get$1 as j,
valFromOption as k, forEachU as k,
everyU as l, reduceU as l,
mapU as m, mapU as m,
some$1 as n, append as n,
nullable_to_opt as o,
concat$1 as p,
recupereElementOuLeve as r, recupereElementOuLeve as r,
someU as s, someU as s,
unsafeDeleteKey as u, unsafeDeleteKey as u,
values as v valFromOption as v
}; };
//# sourceMappingURL=dom2.js.map //# sourceMappingURL=dom2.js.map

File diff suppressed because one or more lines are too long

View file

@ -1,21 +1,5 @@
import { k as valFromOption, e as equal, l as everyU, s as someU, n as some } from "./dom2.js"; import { e as equal, d as everyU, s as someU, f as some, v as valFromOption } from "./dom2.js";
function is_extension(n) { import { i as is_extension, a as isSome, m as mapWithDefaultU } from "./belt_Option-91f3b350.BEnQsSyX.js";
if (null == n) {
return false;
} else {
return "string" == typeof n.RE_EXN_ID;
}
}
function mapWithDefaultU(t, i, a2) {
if (void 0 !== t) {
return a2(valFromOption(t));
} else {
return i;
}
}
function isSome(t) {
return void 0 !== t;
}
function internalToOCamlException(e) { function internalToOCamlException(e) {
if (is_extension(e)) { if (is_extension(e)) {
return e; return e;
@ -596,4 +580,4 @@ export {
l, l,
tap as t tap as t
}; };
//# sourceMappingURL=index-0eef19ec.DJngGX7K.js.map //# sourceMappingURL=index-0eef19ec.C9-H3LKa.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,346 @@
import { K as ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE, L as ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF, M as SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS, N as SELECTEUR_EPINGLE, O as SELECTEUR_BOITE_TEXTE } from "./dom.js";
import { a as recupereElementDansDocumentOuLeve, b as recupereElementsDansDocumentOuLeve } from "./utils.js";
import { f as some, l as reduceU, o as nullable_to_opt, v as valFromOption, e as equal, p as concat, R as Ra } from "./dom2.js";
import { p as pipe } from "./pipe.XPB0wEfw.js";
import { _ as _1, i as is_extension, c as create, g as getExn, b as getWithDefault$1, d as isNone, a as isSome, f as flatMap$1, e as mapU, h as flatMapU, m as mapWithDefaultU } from "./belt_Option-91f3b350.BEnQsSyX.js";
import "./erreurs.js";
import "./exports.BuUzFliQ.js";
import "./Either.wHNxn7Os.js";
var t = create("Promise.JsError");
function $$catch(r, s) {
return r.catch(function(r2) {
return _1(s, is_extension(r2) ? r2 : {
RE_EXN_ID: t,
_1: r2
});
});
}
function placeholder(n) {
}
function makeSome(n) {
return some(n);
}
function makeNone(n) {
}
function fromNullable(n) {
if (null == n) {
return;
} else {
return some(n);
}
}
function fromFalsy(n) {
if (n) {
return n;
}
}
function _fromPredicate(n, t2) {
return flatMap$1(null == n ? void 0 : some(n), function(n2) {
if (t2(n2)) {
return some(n2);
}
});
}
function fromPredicate() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _fromPredicate(t2, n[0]);
};
}
return _fromPredicate(arguments[0], arguments[1]);
}
function fromExecution(n) {
try {
return some(n(void 0));
} catch (n2) {
return;
}
}
function fromPromise(t2) {
return $$catch(t2.then(function(n) {
return some(n);
}), function(n) {
return Promise.resolve(void 0);
});
}
var h = mapU;
function map() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return h(t2, n[0]);
};
}
return h(arguments[0], arguments[1]);
}
var _ = flatMapU;
function flatMap() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _(t2, n[0]);
};
}
return _(arguments[0], arguments[1]);
}
var v = mapWithDefaultU;
function mapWithDefault() {
if (2 === arguments.length) {
const n = arguments;
return function fn(t2) {
return v(t2, n[0], n[1]);
};
}
return v(arguments[0], arguments[1], arguments[2]);
}
function _mapNullable(n, t2) {
if (void 0 !== n) {
return nullable_to_opt(t2(valFromOption(n)));
}
}
function mapNullable() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _mapNullable(t2, n[0]);
};
}
return _mapNullable(arguments[0], arguments[1]);
}
function _filter(n, t2) {
return flatMapU(n, function(n2) {
if (t2(n2)) {
return some(n2);
}
});
}
function filter() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _filter(t2, n[0]);
};
}
return _filter(arguments[0], arguments[1]);
}
var g = getWithDefault$1;
function getWithDefault() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return g(t2, n[0]);
};
}
return g(arguments[0], arguments[1]);
}
var N = getExn;
function toNullable(n) {
return getWithDefault$1(n, null);
}
function toUndefined(n) {
return getWithDefault$1(n, void 0);
}
function _toResult(n, t2) {
if (void 0 !== n) {
return {
TAG: 0,
_0: valFromOption(n)
};
} else {
return {
TAG: 1,
_0: t2
};
}
}
function toResult() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _toResult(t2, n[0]);
};
}
return _toResult(arguments[0], arguments[1]);
}
function _match(n, t2, r) {
if (void 0 !== n) {
return t2(valFromOption(n));
} else {
return r(void 0);
}
}
function match() {
if (2 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _match(t2, n[0], n[1]);
};
}
return _match(arguments[0], arguments[1], arguments[2]);
}
var b = isNone;
var z = isSome;
function _tap(n, t2) {
if (void 0 !== n) {
t2(valFromOption(n));
return n;
} else {
return n;
}
}
function tap() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _tap(t2, n[0]);
};
}
return _tap(arguments[0], arguments[1]);
}
function _contains(n, r) {
return mapWithDefaultU(n, false, function(n2) {
return equal(n2, r);
});
}
function contains() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _contains(t2, n[0]);
};
}
return _contains(arguments[0], arguments[1]);
}
function _zip(n, t2) {
if (void 0 !== n && void 0 !== t2) {
return [valFromOption(n), valFromOption(t2)];
}
}
function zip() {
if (1 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _zip(t2, n[0]);
};
}
return _zip(arguments[0], arguments[1]);
}
function _zipWith(n, t2, r) {
if (void 0 !== n && void 0 !== t2) {
return some(r(valFromOption(n), valFromOption(t2)));
}
}
function zipWith() {
if (2 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _zipWith(t2, n[0], n[1]);
};
}
return _zipWith(arguments[0], arguments[1], arguments[2]);
}
function _fold(n, t2, r) {
if (void 0 !== n) {
return t2(valFromOption(n));
} else {
return r(void 0);
}
}
function fold() {
if (2 === arguments.length) {
const n = arguments;
return function fn(t2) {
return _fold(t2, n[0], n[1]);
};
}
return _fold(arguments[0], arguments[1], arguments[2]);
}
function all(n) {
return reduceU(n, [], function(n2, t2) {
return flatMapU(n2, function(n3) {
if (void 0 !== t2) {
return concat(n3, [valFromOption(t2)]);
}
});
});
}
const Some = (n) => n;
var P = {
__proto__: null,
Some,
None: void 0,
placeholder,
makeSome,
makeNone,
fromNullable,
fromFalsy,
fromPredicate,
fromExecution,
fromPromise,
map,
flatMap,
mapWithDefault,
mapNullable,
filter,
getWithDefault,
getExn: N,
toNullable,
toUndefined,
toResult,
match,
isNone: b,
isSome: z,
tap,
contains,
zip,
zipWith,
fold,
all
};
const CONTENEUR_STORYTELLING = recupereElementDansDocumentOuLeve(
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS
);
const EPINGLES = recupereElementsDansDocumentOuLeve(SELECTEUR_EPINGLE);
const BOITES_TEXTE = recupereElementsDansDocumentOuLeve(SELECTEUR_BOITE_TEXTE);
const ENSEMBLES_EPINGLES_BOITES_TEXTE = /* @__PURE__ */ new Map();
Ra.forEachWithIndex(EPINGLES, (index, epingle) => {
pipe(
epingle,
P.flatMap((bouton) => bouton.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)),
P.tap((id) => {
ENSEMBLES_EPINGLES_BOITES_TEXTE.set(id, [epingle, BOITES_TEXTE[index]]);
})
);
});
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
console.debug("chargé"); CONTENEUR_STORYTELLING.addEventListener("click", (evenement) => {
console.time();
const cible = evenement.target;
pipe(
cible,
P.fromPredicate((element) => element.tagName === "BUTTON"),
P.flatMap((bouton) => bouton.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)),
P.tap((id) => {
if (cible.hasAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF)) {
pipe(
P.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)),
P.tap(Ra.forEach((element) => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF)))
);
return;
}
pipe(
Array.from(ENSEMBLES_EPINGLES_BOITES_TEXTE.values()),
Ra.flat,
Ra.forEach((element) => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))
);
pipe(
P.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)),
P.tap(Ra.forEach((element) => element.toggleAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF)))
);
})
);
console.timeEnd();
});
}); });
//# sourceMappingURL=scripts-page-a-propos.js.map //# sourceMappingURL=scripts-page-a-propos.js.map

File diff suppressed because one or more lines are too long

View file

@ -10,11 +10,12 @@ import { W as WCV3ProductsArgsSchema, a as WCV3ProductsSchema } from "./products
import { a as recupereElementDansDocumentOuLeve } from "./utils.js"; import { a as recupereElementDansDocumentOuLeve } from "./utils.js";
import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js"; import { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.js";
import { p as pipe } from "./pipe.XPB0wEfw.js"; import { p as pipe } from "./pipe.XPB0wEfw.js";
import { t as tap } from "./index-0eef19ec.DJngGX7K.js"; import { t as tap } from "./index-0eef19ec.C9-H3LKa.js";
import { E as Either } from "./Either.wHNxn7Os.js"; import { E as Either } from "./Either.wHNxn7Os.js";
import "./exports.BuUzFliQ.js"; import "./exports.BuUzFliQ.js";
import "./erreurs2.js"; import "./erreurs2.js";
import "./products4.js"; import "./products4.js";
import "./belt_Option-91f3b350.BEnQsSyX.js";
const ETATS_PAGE = _etats; const ETATS_PAGE = _etats;
const GRILLE_PRODUITS = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS); const GRILLE_PRODUITS = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_PRODUITS);
const BOUTON_PLUS_DE_PRODUITS = recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_PLUS_PRODUITS); const BOUTON_PLUS_DE_PRODUITS = recupereElementDansDocumentOuLeve(SELECTEUR_BOUTON_PLUS_PRODUITS);

File diff suppressed because one or more lines are too long

View file

@ -14,7 +14,7 @@ import { W as WCStoreCartUpdateCustomerArgsSchema } from "./cart-update-customer
import { W as WCStoreCartUpdateItemArgsSchema } from "./cart-update-item.js"; import { W as WCStoreCartUpdateItemArgsSchema } from "./cart-update-item.js";
import { c as recupereElementsDocumentEither, r as recupereElementDocumentEither, y, p as propEither } from "./utils.js"; import { c as recupereElementsDocumentEither, r as recupereElementDocumentEither, y, p as propEither } from "./utils.js";
import { p as pipe } from "./pipe.XPB0wEfw.js"; import { p as pipe } from "./pipe.XPB0wEfw.js";
import { l } from "./index-0eef19ec.DJngGX7K.js"; import { l } from "./index-0eef19ec.C9-H3LKa.js";
import { M as Maybe, E as Either } from "./Either.wHNxn7Os.js"; import { M as Maybe, E as Either } from "./Either.wHNxn7Os.js";
import "./exports.BuUzFliQ.js"; import "./exports.BuUzFliQ.js";
import "./messages2.js"; import "./messages2.js";
@ -22,6 +22,7 @@ import "./erreurs2.js";
import "./cart2.js"; import "./cart2.js";
import "./adresses.js"; import "./adresses.js";
import "./couts-livraison.js"; import "./couts-livraison.js";
import "./belt_Option-91f3b350.BEnQsSyX.js";
const ETATS_PAGE = _etats; const ETATS_PAGE = _etats;
const ENTREES_PANIER_EITHER = recupereElementsDocumentEither( const ENTREES_PANIER_EITHER = recupereElementsDocumentEither(
SELECTEUR_ENTREES_PANIER SELECTEUR_ENTREES_PANIER

File diff suppressed because one or more lines are too long

View file

@ -11,7 +11,7 @@ import { p as parseWCStoreCartAddItemArgs } from "./cart-add-item.js";
import { e as estWCError } from "./erreurs2.js"; import { e as estWCError } from "./erreurs2.js";
import { r as recupereElementDocumentEither, c as recupereElementsDocumentEither, y } from "./utils.js"; import { r as recupereElementDocumentEither, c as recupereElementsDocumentEither, y } from "./utils.js";
import { p as pipe } from "./pipe.XPB0wEfw.js"; import { p as pipe } from "./pipe.XPB0wEfw.js";
import { l } from "./index-0eef19ec.DJngGX7K.js"; import { l } from "./index-0eef19ec.C9-H3LKa.js";
import { M as Maybe, E as Either } from "./Either.wHNxn7Os.js"; import { M as Maybe, E as Either } from "./Either.wHNxn7Os.js";
import "./exports.BuUzFliQ.js"; import "./exports.BuUzFliQ.js";
import "./messages3.js"; import "./messages3.js";
@ -19,6 +19,7 @@ import "./messages2.js";
import "./cart2.js"; import "./cart2.js";
import "./adresses.js"; import "./adresses.js";
import "./couts-livraison.js"; import "./couts-livraison.js";
import "./belt_Option-91f3b350.BEnQsSyX.js";
const ETATS_PAGE = _etats; const ETATS_PAGE = _etats;
const deplieToutesSections = (ensembleLiensContenus) => { const deplieToutesSections = (ensembleLiensContenus) => {
ensembleLiensContenus.forEach((ensemble) => { ensembleLiensContenus.forEach((ensemble) => {

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
import { v as values, f as fromArray, e as equal, g as get$1, u as unsafeDeleteKey, d as forEachU, m as mapU, i as reduceU, j as append, a as recupereElementsAvecSelecteur, b as recupereElementAvecSelecteur, r as recupereElementOuLeve, c as recupereElementsOuLeve } from "./dom2.js"; import { g as values, i as fromArray, e as equal, j as get$1, u as unsafeDeleteKey, k as forEachU, m as mapU, l as reduceU, n as append, a as recupereElementsAvecSelecteur, b as recupereElementAvecSelecteur, r as recupereElementOuLeve, c as recupereElementsOuLeve } from "./dom2.js";
import { C as CleNonTrouveError } from "./erreurs.js"; import { C as CleNonTrouveError } from "./erreurs.js";
import { p as pipe } from "./pipe.XPB0wEfw.js"; import { p as pipe } from "./pipe.XPB0wEfw.js";
import { M as Maybe } from "./Either.wHNxn7Os.js"; import { M as Maybe } from "./Either.wHNxn7Os.js";

View file

@ -4,8 +4,12 @@
/* Couleurs */ /* Couleurs */
--couleur-blanc: #ffffff; --couleur-blanc: #ffffff;
--couleur-gris: #eceaeb; --couleur-gris: #eceaeb;
--couleur-gris-fonce: #808080;
--couleur-gris-fonce-fond: rgb(128 128 128 / 80%);
--couleur-bordeaux: #490918; --couleur-bordeaux: #490918;
--couleur-bordeaux-fond: rgb(73 9 24 / 80%);
--couleur-jaune: #ebffb8; --couleur-jaune: #ebffb8;
--couleur-jaune-fond: rgb(235 255 184 / 80%);
--couleur-noir: #202020; --couleur-noir: #202020;
--couleur-fond: rgb(236 234 235 / 80%); --couleur-fond: rgb(236 234 235 / 80%);
@ -28,6 +32,10 @@
--en-tete-hauteur: 60px; --en-tete-hauteur: 60px;
--menu-categories-produits-hauteur: 54.39px; --menu-categories-produits-hauteur: 54.39px;
--pied-de-page-hauteur: calc(var(--espace-m) * 2 + 3lh); --pied-de-page-hauteur: calc(var(--espace-m) * 2 + 3lh);
--contenu-page-hauteur-minimale: calc(
100svh - var(--en-tete-hauteur) - var(--pied-de-page-hauteur)
- var(--menu-categories-produits-hauteur)
);
/* Espacements */ /* Espacements */
--espace-xs: 0.25rem; // 4px; --espace-xs: 0.25rem; // 4px;

View file

@ -49,7 +49,7 @@ button, input, select, textarea {
/* Cache tout élément avec l'attribut hidden */ /* Cache tout élément avec l'attribut hidden */
[hidden] { [hidden] {
display: none; display: none !important;
} }
/* Utilise un curseur approprié pour les Éléments désactivés */ /* Utilise un curseur approprié pour les Éléments désactivés */

View file

@ -21,4 +21,9 @@ button {
background: var(--couleur-noir); background: var(--couleur-noir);
} }
} }
&:disabled, &[disabled] {
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px
/ 2px 2px;
}
} }

View file

@ -12,7 +12,7 @@ input, select, textarea {
outline: 1px solid var(--couleur-noir); outline: 1px solid var(--couleur-noir);
} }
&:disabled { &:disabled, &[disabled] {
cursor: not-allowed; cursor: not-allowed;
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px
/ 2px 2px; / 2px 2px;

View file

@ -108,6 +108,17 @@
place-items: center; place-items: center;
text-align: center; text-align: center;
&[disabled] {
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px
0.5px / 2px 2px;
a:hover, a:active, a:focus, a:focus-within {
background: initial;
border: 1px solid var(--couleur-noir);
outline: 1px solid transparent;
}
}
/* /*
* 1. Permet d'éviter un agrandissement de l'élément avec plus de 9 articles. * 1. Permet d'éviter un agrandissement de l'élément avec plus de 9 articles.
*/ */

View file

@ -14,11 +14,10 @@
*/ */
.grille-produits { .grille-produits {
/* Dimensions */ /* Dimensions */
--aucun-produit-hauteur: calc( --grille-produits-hauteur-minimale: var(--contenu-page-hauteur-minimale);
100svh - var(--menu-categories-produits-hauteur) - var(--en-tete-hauteur) --aucun-produit-hauteur: var(--contenu-page-hauteur-minimale);
- var(--pied-de-page-hauteur)
);
--carte-produit-longueur-minimale: 448px; --carte-produit-longueur-minimale: 448px;
--carte-produit-longueur-maximale: 900px;
display: grid; display: grid;
grid-auto-rows: 1fr; grid-auto-rows: 1fr;
@ -26,8 +25,10 @@
repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); /* 1 */ repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); /* 1 */
gap: 1px; /* 2 */ gap: 1px; /* 2 */
min-height: var(--grille-produits-hauteur-minimale);
article { article {
max-width: var(--carte-produit-longueur-maximale);
box-shadow: 0 0 0 1px var(--couleur-noir); /* 2 */ box-shadow: 0 0 0 1px var(--couleur-noir); /* 2 */
figure { figure {

View file

@ -12,11 +12,11 @@
--boite-couleur-fond: rgb(255 255 255 / 90%); --boite-couleur-fond: rgb(255 255 255 / 90%);
// Dimensions et positions // Dimensions et positions
--boite-position-basse: 1rem; --boite-position-basse: var(--espace-m);
--boite-longueur: 70ch; --boite-longueur: 70ch;
// Marges // Marges
--section-marges-internes: 1rem; --section-marges-internes: var(--espace-m);
position: sticky; /* 1 */ position: sticky; /* 1 */
bottom: var(--boite-position-basse); /* 1 */ bottom: var(--boite-position-basse); /* 1 */
@ -217,7 +217,9 @@
/* Bouton « Ajouter au Panier » */ /* Bouton « Ajouter au Panier » */
.actions-produit { .actions-produit {
overflow: hidden; overflow: hidden;
padding: initial;
background: var(--couleur-jaune); background: var(--couleur-jaune);
border-top: initial;
transition: 0.2s background; transition: 0.2s background;
/* Indique que le Bouton est désactivé en utilisant un fond gris */ /* Indique que le Bouton est désactivé en utilisant un fond gris */
@ -226,6 +228,8 @@
} }
button { button {
height: initial;
padding: var(--section-marges-internes);
font-variation-settings: "wght" 400; font-variation-settings: "wght" 400;
font-style: italic; font-style: italic;
text-transform: uppercase; text-transform: uppercase;
@ -244,6 +248,8 @@
} }
@media (width <= 700px) { @media (width <= 700px) {
--section-marges-internes: var(--espace-xl);
position: relative; position: relative;
bottom: initial; bottom: initial;
width: initial; width: initial;

View file

@ -69,11 +69,6 @@
font-style: initial; font-style: initial;
border: 1px solid var(--couleur-noir); border: 1px solid var(--couleur-noir);
button:disabled {
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px
0.5px / 2px 2px;
}
/* Bouton d'addition de quantité */ /* Bouton d'addition de quantité */
button:first-of-type { button:first-of-type {
grid-column: 1; grid-column: 1;

View file

@ -1,65 +1,29 @@
// Styles pour la Page À Propos (« About »). // Styles pour la Page À Propos (« About »).
#page-a-propos { #page-a-propos {
/* Marges */ // Dimensions
--images-longueur-maximale: 1300px;
// Marges
--page-marges-bloc-debut: var(--en-tete-hauteur); --page-marges-bloc-debut: var(--en-tete-hauteur);
--images-marges-ligne: var(--espace-xl) * 2;
display: flex; display: flex;
flex-flow: column nowrap; flex-flow: column nowrap;
margin-top: var(--page-marges-bloc-debut); margin-top: var(--page-marges-bloc-debut);
* {
// outline: 1px solid red;
}
.storytelling { .storytelling {
padding: var(--espace-xl) 0; padding: var(--espace-xl) 0;
color: var(--couleur-gris-fonce);
&__conteneur { &__conteneur {
position: relative; position: relative;
overflow-x: hidden; width: min(var(--images-longueur-maximale), calc(100% - var(--images-marges-ligne)));
width: min(60rem, 100% - 4rem);
height: 2000px;
margin: auto; margin: auto;
} }
&__section {
position: relative;
}
picture {
position: absolute;
&#image-1 {
z-index: 20;
left: calc(90% - 40%);
width: 40%;
}
&#image-2 {
z-index: 19;
top: 8vmin;
scale: -1 1;
width: 70%;
}
&#image-3 {
z-index: 21;
top: 54vmin;
left: 35%;
width: 30%;
}
&#image-4 {
z-index: 20;
top: 60vmin;
left: calc(100% - 60%);
width: 60%;
}
}
img { img {
width: fit-content; width: max-content;
height: auto; height: auto;
object-fit: contain; object-fit: contain;
background: transparent; background: transparent;
@ -67,19 +31,162 @@
.texte { .texte {
position: absolute; position: absolute;
max-width: 15rem; max-width: 22rem;
font-size: 0.9rem;
font-weight: 500; font-weight: 500;
font-style: italic; font-style: italic;
/* stylelint-disable-next-line declaration-block-no-duplicate-properties */
text-wrap: balance;
text-wrap: pretty;
&#texte-1 { &#texte-1 {
top: 42vmin; top: 33rem;
right: 0; right: 4rem;
}
&#texte-2 {
top: 61.5rem;
}
&#texte-3 {
top: 81.5rem;
right: 4rem;
}
&#texte-4 {
top: 139rem;
}
&#texte-5 {
top: 156rem;
right: 4rem;
}
&#texte-6 {
bottom: 3rem;
} }
p + p { p + p {
margin-top: var(--espace-m); margin-top: var(--espace-m);
} }
} }
.epingle {
position: absolute;
right: 46.5%;
display: none;
&[data-ensemble-epingle-boite-actif] {
img {
filter: drop-shadow(1px 1px 5px var(--couleur-gris-fonce));
}
}
&#epingle-1 {
top: 2%;
}
&#epingle-2 {
top: 23%;
}
&#epingle-3 {
top: 35%;
}
&#epingle-4 {
top: 58%;
}
&#epingle-5 {
top: 76%;
}
&#epingle-6 {
top: 95.5%;
}
img {
pointer-events: none;
width: 1.5rem;
filter: drop-shadow(1px 1px 3px var(--couleur-gris-fonce));
transition: 0.2s filter;
}
}
.boite-texte {
position: absolute;
top: 0;
right: calc(46.5% - (15rem + var(--espace-l)) / 2);
display: flex;
flex-flow: column nowrap;
padding: var(--espace-l);
font-size: 0.8rem;
font-style: italic;
color: var(--couleur-noir);
visibility: hidden;
opacity: 0;
background: var(--couleur-fond);
border: 1px solid var(--couleur-noir);
transition: 0.2s opacity, 0.2s visibility;
&[data-ensemble-epingle-boite-actif] {
visibility: visible;
opacity: 1;
}
&#boite-texte-2 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(23% - var(--hauteur-boite) / 2);
}
&#boite-texte-3 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(35% - var(--hauteur-boite) / 2);
}
&#boite-texte-4 {
--hauteur-boite: calc(8lh + 2rem + var(--espace-l) * 2);
top: calc(58% - var(--hauteur-boite) / 2);
}
&#boite-texte-5 {
--hauteur-boite: calc(12lh + 2rem + var(--espace-l) * 2);
top: calc(76% - var(--hauteur-boite) / 2);
}
&#boite-texte-6 {
--hauteur-boite: calc(7lh + 1rem + var(--espace-l) * 2);
top: calc(95.5% - var(--hauteur-boite) / 2);
}
p {
max-width: 15rem;
+ p {
margin-top: var(--espace-m);
}
}
}
}
@media (width <= 1300px) {
.storytelling {
.texte {
display: none;
}
.epingle {
display: initial;
}
}
}
@media (width <= 700px) {
--images-marges-ligne: var(--espace-m);
} }
} }

View file

@ -11,6 +11,8 @@ export const ATTRIBUT_INDEX = "data-index";
export const ATTRIBUT_MENU_MOBILE_ACTIVE = "data-menu-mobile-active"; export const ATTRIBUT_MENU_MOBILE_ACTIVE = "data-menu-mobile-active";
export const ATTRIBUT_PAGE = "data-page"; export const ATTRIBUT_PAGE = "data-page";
export const ATTRIBUT_ID_CATEGORIE_PRODUITS = "data-id-categorie-produits"; export const ATTRIBUT_ID_CATEGORIE_PRODUITS = "data-id-categorie-produits";
export const ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE = "data-id-ensemble-epingle-boite";
export const ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF = "data-ensemble-epingle-boite-actif";
// En-tête // En-tête
export const SELECTEUR_BOUTON_MENU_MOBILE = "#bouton-menu-mobile"; export const SELECTEUR_BOUTON_MENU_MOBILE = "#bouton-menu-mobile";
@ -48,3 +50,8 @@ export const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image";
// Boutique // Boutique
export const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-produits"; export const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-produits";
export const SELECTEUR_BOUTON_PLUS_PRODUITS = "#page-boutique #bouton-plus-de-produits"; export const SELECTEUR_BOUTON_PLUS_PRODUITS = "#page-boutique #bouton-plus-de-produits";
// À propos
export const SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS = ".storytelling__conteneur";
export const SELECTEUR_EPINGLE = ".epingle";
export const SELECTEUR_BOITE_TEXTE = ".boite-texte";

View file

@ -2,6 +2,70 @@
* Scripts pour les fonctionnalités de la Page À Propos (« About »). * Scripts pour les fonctionnalités de la Page À Propos (« About »).
*/ */
document.addEventListener("DOMContentLoaded", (): void => { import { A, pipe as beltPipe, O } from "@mobily/ts-belt";
console.debug("chargé");
import {
ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF,
ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE,
SELECTEUR_BOITE_TEXTE,
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS,
SELECTEUR_EPINGLE,
} from "./constantes/dom.ts";
import { recupereElementDansDocumentOuLeve, recupereElementsDansDocumentOuLeve } from "./lib/utils.ts";
/** Le Conteneur des images du storytelling. */
const CONTENEUR_STORYTELLING = recupereElementDansDocumentOuLeve<HTMLElement>(
SELECTEUR_CONTENEUR_STORYTELLING_A_PROPOS,
);
/** */
const EPINGLES = recupereElementsDansDocumentOuLeve<HTMLButtonElement>(SELECTEUR_EPINGLE);
/** */
const BOITES_TEXTE = recupereElementsDansDocumentOuLeve<HTMLDivElement>(SELECTEUR_BOITE_TEXTE);
/** */
const ENSEMBLES_EPINGLES_BOITES_TEXTE = new Map<string, [HTMLButtonElement, HTMLDivElement]>();
A.forEachWithIndex(EPINGLES, (index, epingle) => {
beltPipe(
epingle,
O.flatMap((bouton: HTMLButtonElement) => bouton.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)),
O.tap((id: string) => {
ENSEMBLES_EPINGLES_BOITES_TEXTE.set(id, [epingle, BOITES_TEXTE[index]!]);
}),
);
});
document.addEventListener("DOMContentLoaded", (): void => {
CONTENEUR_STORYTELLING.addEventListener("click", (evenement): void => {
console.time();
// Délégation d'Évènements au clic sur un <button>
const cible: HTMLElement = evenement.target as HTMLElement;
beltPipe(
cible,
O.fromPredicate((element: HTMLElement): element is HTMLButtonElement => element.tagName === "BUTTON"),
O.flatMap((bouton: HTMLButtonElement) => bouton.getAttribute(ATTRIBUT_ID_ENSEMBLE_EPINGLE_BOITE)),
O.tap((id: string) => {
// Désactive l'Attribut actif si la cible est déjà active et retourne précocement
if (cible.hasAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF)) {
beltPipe(
O.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)),
O.tap(A.forEach(element => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))),
);
return;
}
// Désactive tous les Ensembles
beltPipe(
Array.from(ENSEMBLES_EPINGLES_BOITES_TEXTE.values()),
A.flat,
A.forEach(element => element.removeAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF)),
);
// Active l'Attribut sur l'Ensemble
beltPipe(
O.fromNullable(ENSEMBLES_EPINGLES_BOITES_TEXTE.get(id)),
O.tap(A.forEach(element => element.toggleAttribute(ATTRIBUT_ENSEMBLE_EPINGLE_BOITE_ACTIF))),
);
}),
);
console.timeEnd();
});
}); });

View file

@ -6,32 +6,267 @@
<main id="page-a-propos"> <main id="page-a-propos">
<div class="storytelling"> <div class="storytelling">
<div class="storytelling__conteneur"> <div class="storytelling__conteneur">
{{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/haikuabout-petit", "", 1600, 4827, "image-1")
}}
<div <div
class="storytelling__section" class="texte"
id="section-1" id="texte-1"
> >
{{ <p>
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/tool11", "", 835, 900, "image-1") Haïkus are short japanese poems written in three lines to capture the beauty of small details in the
}} everyday life.
{{ </p>
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/pic1", "", 898, 900, "image-2")
}} <p>More than poetry, its a philosophy.</p>
<div </div>
class="texte"
id="texte-1" <div
> class="texte"
<p> id="texte-2"
Haïkus are short Japanese poems written in three lines to capture the beauty of small details in the every >
day life. <p>
</p> Haiku Atelier creates minimalist and subtil jewelry with an edgy twist, trying to distillate some poetry
<p>More than poetry, it's a philosophy.</p> through those small objects.
</div> </p>
{{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/tool16", "", 900, 900, "image-3") <p>
}} Handcrafted with care in sustainable materials, each pieces has its uniqueness and is made to last.
{{ </p>
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/pic5", "", 900, 607, "image-4") </div>
}}
<div
class="texte"
id="texte-3"
>
<p>
After learning the art of jewelry making for two years in Paris, Manon Designere launched the brand Haiku,
gleaning into the Japanese minimalist aesthetic.
</p>
<p>
Now based in Brussels, she still makes everything by hand, pouring her soul into her work to share her
vision of the world.
</p>
</div>
<div
class="texte"
id="texte-4"
>
<p>Here you can see some of the tools used at the studio.</p>
<p>
From sketches to models, from soldering to polishing, the numerous steps behind each piece are what makes it
so unique.
</p>
<p>A touch of animism to value handcrafted objects, restrain mass production and lead toward slow</p>
life.
</div>
<div
class="texte"
id="texte-5"
>
<p>
We pay a lot of attention choosing the materials we work on: all of the pieces are made in 80% recycled
sterling silver.
</p>
<p>
We also choose to propose many designs in a mix of sterling silver and silver gilded parts to avoid relying
too much on the gold plating process, which can be pollutant.
</p>
<p>
The packagings are also carefully selected, produced nearby, made in eco-friendly coton or paper. Our gift
bags are even handmade in dead-stock fabrics.
</p>
</div>
<div
class="texte"
id="texte-6"
>
<p>
We hope that those small objects will move you, as we are moved by the beauty hidden behind a ray of
sunshine, a leaf falling from a branch, the smell of an old book, the song of birds before dawn...
</p>
<p>Haiku jewelry are like a bit of poetry to wear everywhere.</p>
</div>
{# Épingles #}
<button
class="epingle"
data-id-ensemble-epingle-boite="1"
id="epingle-1"
type="button"
>
<img
alt=""
height="56"
src="{{ site.theme.link }}/assets/img/icons/cloud-rouge.svg"
width="82"
/>
</button>
<button
class="epingle"
data-id-ensemble-epingle-boite="2"
id="epingle-2"
type="button"
>
<img
alt=""
height="56"
src="{{ site.theme.link }}/assets/img/icons/cloud-rouge.svg"
width="82"
/>
</button>
<button
class="epingle"
data-id-ensemble-epingle-boite="3"
id="epingle-3"
type="button"
>
<img
alt=""
height="56"
src="{{ site.theme.link }}/assets/img/icons/cloud-rouge.svg"
width="82"
/>
</button>
<button
class="epingle"
data-id-ensemble-epingle-boite="4"
id="epingle-4"
type="button"
>
<img
alt=""
height="56"
src="{{ site.theme.link }}/assets/img/icons/cloud-rouge.svg"
width="82"
/>
</button>
<button
class="epingle"
data-id-ensemble-epingle-boite="5"
id="epingle-5"
type="button"
>
<img
alt=""
height="56"
src="{{ site.theme.link }}/assets/img/icons/cloud-rouge.svg"
width="82"
/>
</button>
<button
class="epingle"
data-id-ensemble-epingle-boite="6"
id="epingle-6"
type="button"
>
<img
alt=""
height="56"
src="{{ site.theme.link }}/assets/img/icons/cloud-rouge.svg"
width="82"
/>
</button>
{# Boîtes de texte #}
<div
class="boite-texte"
data-id-ensemble-epingle-boite="1"
id="boite-texte-1"
>
<p>
Haïkus are short japanese poems written in three lines to capture the beauty of small details in the
everyday life.
</p>
<p>More than poetry, its a philosophy.</p>
</div>
<div
class="boite-texte"
data-id-ensemble-epingle-boite="2"
id="boite-texte-2"
>
<p>
Haiku Atelier creates minimalist and subtil jewelry with an edgy twist, trying to distillate some poetry
through those small objects.
</p>
<p>
Handcrafted with care in sustainable materials, each pieces has its uniqueness and is made to last.
</p>
</div>
<div
class="boite-texte"
data-id-ensemble-epingle-boite="3"
id="boite-texte-3"
>
<p>
After learning the art of jewelry making for two years in Paris, Manon Designere launched the brand Haiku,
gleaning into the Japanese minimalist aesthetic.
</p>
<p>
Now based in Brussels, she still makes everything by hand, pouring her soul into her work to share her
vision of the world.
</p>
</div>
<div
class="boite-texte"
data-id-ensemble-epingle-boite="4"
id="boite-texte-4"
>
<p>Here you can see some of the tools used at the studio.</p>
<p>
From sketches to models, from soldering to polishing, the numerous steps behind each piece are what makes it
so unique.
</p>
<p>
A touch of animism to value handcrafted objects, restrain mass production and lead toward slow life.
</p>
</div>
<div
class="boite-texte"
data-id-ensemble-epingle-boite="5"
id="boite-texte-5"
>
<p>
We pay a lot of attention choosing the materials we work on: all of the pieces are made in 80% recycled
sterling silver.
</p>
<p>
We also choose to propose many designs in a mix of sterling silver and silver gilded parts to avoid relying
too much on the gold plating process, which can be pollutant.
</p>
<p>
The packagings are also carefully selected, produced nearby, made in eco-friendly coton or paper. Our gift
bags are even handmade in dead-stock fabrics.
</p>
</div>
<div
class="boite-texte"
data-id-ensemble-epingle-boite="6"
id="boite-texte-6"
>
<p>
We hope that those small objects will move you, as we are moved by the beauty hidden behind a ray of
sunshine, a leaf falling from a branch, the smell of an old book, the song of birds before dawn...
</p>
<p>Haiku jewelry are like a bit of poetry to wear everywhere.</p>
</div> </div>
</div> </div>
</div> </div>

View file

@ -10,7 +10,7 @@
data-index="1" data-index="1"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll1", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll1", "", 903, 1080)
}} }}
</div> </div>
@ -21,7 +21,7 @@
data-index="2" data-index="2"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll2", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll2", "", 903, 1080)
}} }}
</div> </div>
@ -32,7 +32,7 @@
data-index="3" data-index="3"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll3", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll3", "", 903, 1080)
}} }}
</div> </div>
@ -43,7 +43,7 @@
data-index="4" data-index="4"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll4", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll4", "", 903, 1080)
}} }}
</div> </div>
@ -54,7 +54,7 @@
data-index="5" data-index="5"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll5", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll5", "", 903, 1080)
}} }}
</div> </div>
@ -65,7 +65,7 @@
data-index="6" data-index="6"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll6", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll6", "", 903, 1080)
}} }}
</div> </div>
@ -76,7 +76,7 @@
data-index="7" data-index="7"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll7", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll7", "", 903, 1080)
}} }}
</div> </div>
@ -87,7 +87,7 @@
data-index="8" data-index="8"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll8", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll8", "", 903, 1080)
}} }}
</div> </div>
@ -98,7 +98,7 @@
data-index="9" data-index="9"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll9", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll9", "", 903, 1080)
}} }}
</div> </div>
@ -109,7 +109,7 @@
data-index="10" data-index="10"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll10", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll10", "", 903, 1080)
}} }}
</div> </div>
@ -120,7 +120,7 @@
data-index="11" data-index="11"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll11", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll11", "", 903, 1080)
}} }}
</div> </div>
@ -131,7 +131,7 @@
data-index="12" data-index="12"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll12", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll12", "", 903, 1080)
}} }}
</div> </div>
@ -142,7 +142,7 @@
data-index="13" data-index="13"
> >
{{ {{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll13", "", 753, 900) images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/storytelling/scroll13", "", 903, 1080)
}} }}
</div> </div>
</div> </div>

View file

@ -1,13 +1,13 @@
{% macro genere_source_img_multi_formats(rel_url, alt="", width, height, id="") %} {% macro genere_source_img_multi_formats(rel_url, alt="", width, height, id="") %}
<picture id="{{ id }}"> <picture id="{{ id }}">
<source
srcset="{{ rel_url }}.avif"
type="image/avif"
/>
<source <source
srcset="{{ rel_url }}.jxl" srcset="{{ rel_url }}.jxl"
type="image/jxl" type="image/jxl"
/> />
<source
srcset="{{ rel_url }}.avif"
type="image/avif"
/>
<source <source
srcset="{{ rel_url }}.webp" srcset="{{ rel_url }}.webp"
type="image/webp" type="image/webp"

View file

@ -76,11 +76,14 @@
</nav> </nav>
{# Bouton « Panier » avec l'indicateur de quantité de Produits #} {# Bouton « Panier » avec l'indicateur de quantité de Produits #}
<section class="compte-panier"> <section class="compte-panier" disabled>
<a <a
{# href="{{ pages.cart.lien }}" #}
class="lien-bouton" class="lien-bouton"
data-contient-articles="{{ articles_presents }}" data-contient-articles="{{ articles_presents }}"
href="{{ pages.cart.lien }}" disabled
hidden
href="#"
rel="cart" rel="cart"
> >
cart ({{ quantite_articles }}) cart ({{ quantite_articles }})

View file

@ -10,28 +10,28 @@
<section class="onglets-details-produit"> <section class="onglets-details-produit">
{# Contenus #} {# Contenus #}
<section <section
role="tabpanel"
id="details-produit"
aria-labelledby="label-details-produit" aria-labelledby="label-details-produit"
hidden hidden
id="details-produit"
role="tabpanel"
> >
{{ produit.details }} {{ produit.details }}
</section> </section>
<section <section
role="tabpanel"
id="conditions-livraison"
aria-labelledby="label-conditions-livraison" aria-labelledby="label-conditions-livraison"
hidden hidden
id="conditions-livraison"
role="tabpanel"
> >
{{ descriptions_produits.texte_conditions_livraison }} {{ descriptions_produits.texte_conditions_livraison }}
</section> </section>
<section <section
role="tabpanel"
id="entretien-produit"
aria-labelledby="label-entretien-produit" aria-labelledby="label-entretien-produit"
hidden hidden
id="entretien-produit"
role="tabpanel"
> >
{{ descriptions_produits.texte_entretien_produit }} {{ descriptions_produits.texte_entretien_produit }}
</section> </section>
@ -76,7 +76,10 @@
<section class="selecteur-produit"> <section class="selecteur-produit">
<h3 class="selecteur-produit__nom">{{ produit.nom }}</h3> <h3 class="selecteur-produit__nom">{{ produit.nom }}</h3>
<div class="selecteur-produit__selection-variation"> <div
class="selecteur-produit__selection-variation"
hidden
>
<label <label
id="label-selecteur-variation" id="label-selecteur-variation"
for="selecteur-variation" for="selecteur-variation"
@ -87,6 +90,7 @@
<select <select
aria-labelledby="label-selecteur-variation" aria-labelledby="label-selecteur-variation"
class="selecteur-natif" class="selecteur-natif"
disabled
id="selecteur-variation" id="selecteur-variation"
name="variations" name="variations"
> >
@ -119,6 +123,7 @@
<button <button
class="bouton-case-pleine" class="bouton-case-pleine"
disabled disabled
hidden
id="bouton-ajout-panier" id="bouton-ajout-panier"
type="button" type="button"
> >

View file

@ -6,8 +6,8 @@
> >
<ul> <ul>
<li><a href="/contact">Contact</a></li> <li><a href="/contact">Contact</a></li>
<li><a href="">Terms & Legals</a></li> {# <li><a href="">Terms & Legals</a></li> #}
<li><a href="">Shipping & Returns</a></li> {# <li><a href="">Shipping & Returns</a></li> #}
</ul> </ul>
</nav> </nav>
</section> </section>