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 */
--couleur-blanc: #ffffff;
--couleur-gris: #eceaeb;
--couleur-gris-fonce: #808080;
--couleur-gris-fonce-fond: rgb(128 128 128 / 80%);
--couleur-bordeaux: #490918;
--couleur-bordeaux-fond: rgb(73 9 24 / 80%);
--couleur-jaune: #ebffb8;
--couleur-jaune-fond: rgb(235 255 184 / 80%);
--couleur-noir: #202020;
--couleur-fond: rgb(236 234 235 / 80%);
/* Polices */
@ -55,6 +59,10 @@
--en-tete-hauteur: 60px;
--menu-categories-produits-hauteur: 54.39px;
--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 */
--espace-xs: 0.25rem;
--espace-s: 0.5rem;
@ -110,7 +118,7 @@ button, input, select, textarea {
/* Cache tout élément avec l'attribut hidden */
[hidden] {
display: none;
display: none !important;
}
/* 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);
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 {
padding: var(--espace-xs);
@ -189,7 +200,7 @@ input:focus, input:focus-visible, select:focus, select:focus-visible, textarea:f
background: var(--couleur-jaune);
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;
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.
*/
}
#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 {
min-width: 10ch; /* 1 */
text-transform: lowercase;
@ -669,17 +688,18 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
*/
.grille-produits {
/* Dimensions */
--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-maximale: 900px;
display: grid;
grid-auto-rows: 1fr;
grid-template-columns: repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); /* 1 */
gap: 1px; /* 2 */
min-height: var(--grille-produits-hauteur-minimale);
}
.grille-produits article {
max-width: var(--carte-produit-longueur-maximale);
box-shadow: 0 0 0 1px var(--couleur-noir); /* 2 */
}
.grille-produits article figure {
@ -760,9 +780,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
*/
.informations-produit {
--boite-couleur-fond: rgb(255 255 255 / 90%);
--boite-position-basse: 1rem;
--boite-position-basse: var(--espace-m);
--boite-longueur: 70ch;
--section-marges-internes: 1rem;
--section-marges-internes: var(--espace-m);
position: sticky; /* 1 */
bottom: var(--boite-position-basse); /* 1 */
overflow: visible;
@ -927,7 +947,9 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
}
.informations-produit .actions-produit {
overflow: hidden;
padding: initial;
background: var(--couleur-jaune);
border-top: initial;
transition: 0.2s background;
/* 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);
}
.informations-produit .actions-produit button {
height: initial;
padding: var(--section-marges-internes);
font-variation-settings: "wght" 400;
font-style: italic;
text-transform: uppercase;
@ -949,6 +973,7 @@ body:has(#menu-mobile:not([aria-hidden=true])) {
}
@media (width <= 700px) {
.informations-produit {
--section-marges-internes: var(--espace-xl);
position: relative;
bottom: initial;
width: initial;

File diff suppressed because one or more lines are too long

View file

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

File diff suppressed because one or more lines are too long

View file

@ -1,68 +1,149 @@
#page-a-propos {
/* Marges */
--images-longueur-maximale: 1300px;
--page-marges-bloc-debut: var(--en-tete-hauteur);
--images-marges-ligne: var(--espace-xl) * 2;
display: flex;
flex-flow: column nowrap;
margin-top: var(--page-marges-bloc-debut);
}
#page-a-propos .storytelling {
padding: var(--espace-xl) 0;
color: var(--couleur-gris-fonce);
}
#page-a-propos .storytelling__conteneur {
position: relative;
overflow-x: hidden;
width: min(60rem, 100% - 4rem);
height: 2000px;
width: min(var(--images-longueur-maximale), 100% - var(--images-marges-ligne));
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 {
width: fit-content;
width: max-content;
height: auto;
object-fit: contain;
background: transparent;
}
#page-a-propos .storytelling .texte {
position: absolute;
max-width: 15rem;
font-size: 0.9rem;
max-width: 22rem;
font-weight: 500;
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 {
top: 42vmin;
right: 0;
top: 33rem;
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 {
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 */

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 {
--images-longueur-maximale: 1300px;
--page-marges-bloc-debut: var(--en-tete-hauteur);
--images-marges-ligne: var(--espace-xl) * 2;
margin-top: var(--page-marges-bloc-debut);
flex-flow: column;
display: flex;
@ -7,73 +9,172 @@
#page-a-propos .storytelling {
padding: var(--espace-xl) 0;
color: var(--couleur-gris-fonce);
}
#page-a-propos .storytelling__conteneur {
width: min(60rem, 100% - 4rem);
height: 2000px;
width: min(var(--images-longueur-maximale), 100% - var(--images-marges-ligne));
margin: auto;
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 {
object-fit: contain;
background: none;
width: fit-content;
width: max-content;
height: auto;
}
#page-a-propos .storytelling .texte {
max-width: 15rem;
font-size: .9rem;
text-wrap: balance;
text-wrap: pretty;
max-width: 22rem;
font-style: italic;
font-weight: 500;
position: absolute;
}
#page-a-propos .storytelling .texte#texte-1 {
top: 42vmin;
right: 0;
top: 33rem;
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 {
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 */

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 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 {
grid-column: 1;
min-width: 3rem;
@ -335,7 +332,7 @@
text-transform: inherit;
}
/* *
/*
* 1. Applique une marge supérieure égale à la hauteur de l'en-tête pour qu'elle puisse s'afficher
* 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;
}
#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 {
grid-column: 1;
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=="
},
"_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": {
"file": "exports.BuUzFliQ.js",
"name": "exports",
"integrity": "sha512-NnL7sWHucQtUmMgMvhJTrk64JiN/8br3JXx2s/9r3713TBEdhn3QyHu4zO0a8GteZitjxC5mzMGP7aBWDvjaTw=="
},
"_index-0eef19ec.DJngGX7K.js": {
"file": "index-0eef19ec.DJngGX7K.js",
"_index-0eef19ec.C9-H3LKa.js": {
"file": "index-0eef19ec.C9-H3LKa.js",
"name": "index-0eef19ec",
"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": {
"file": "index.CeK6pfoJ.js",
@ -59,7 +68,7 @@
"name": "dom",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/constantes/dom.ts",
"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": {
"file": "messages3.js",
@ -98,7 +107,7 @@
"_Either.wHNxn7Os.js",
"_exports.BuUzFliQ.js"
],
"integrity": "sha512-Pml8YfUlrThbOQy3ueDM8DiO+ZBOQu7AgvgIl8TEiqh5S+kYfJltwf0wYrKbC4RmWnJgp3UBUj9GMuXh9B4IpQ=="
"integrity": "sha512-TApiAWN65ACKzOmdZcj2lQbc3ddSjuT1kANS5h4aaRBqqtSwB2peFnWihjLlxenyHSoYxedS8sqiOOGFehq7AA=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/lib/erreurs.ts": {
"file": "erreurs.js",
@ -312,7 +321,7 @@
"_Either.wHNxn7Os.js",
"_exports.BuUzFliQ.js"
],
"integrity": "sha512-dImcQ2W8CITfoOeP1o7jKkjh8iGbl31bIEtgpB2Bjm5wnxkcoOI5+60uiWoO8UoLZmvHplwSOh1YDjVhQuPstQ=="
"integrity": "sha512-aaOA8OrH6CI280xd785AkGzpwQWgWFef5j3orpGla9G+CTbHd2FM3SypVVSso88EJnSO8OMDQ2IfZ7Pe5CBvHQ=="
},
"web/app/themes/haiku-atelier-2024/src/scripts/scripts-bouton-panier.ts": {
"file": "scripts-bouton-panier.js",
@ -359,7 +368,17 @@
"name": "scripts-page-a-propos",
"src": "web/app/themes/haiku-atelier-2024/src/scripts/scripts-page-a-propos.ts",
"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": {
"file": "scripts-page-accueil.js",
@ -396,13 +415,14 @@
"web/app/themes/haiku-atelier-2024/src/scripts/lib/utils.ts",
"_MaybeAsync.AE1jnxuc.js",
"_pipe.XPB0wEfw.js",
"_index-0eef19ec.DJngGX7K.js",
"_index-0eef19ec.C9-H3LKa.js",
"_Either.wHNxn7Os.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/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": {
"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/utils.ts",
"_pipe.XPB0wEfw.js",
"_index-0eef19ec.DJngGX7K.js",
"_index-0eef19ec.C9-H3LKa.js",
"_Either.wHNxn7Os.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/api/erreurs.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/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": {
"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/utils.ts",
"_pipe.XPB0wEfw.js",
"_index-0eef19ec.DJngGX7K.js",
"_index-0eef19ec.C9-H3LKa.js",
"_Either.wHNxn7Os.js",
"_exports.BuUzFliQ.js",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/messages.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/constantes/cart.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/adresses.ts",
"web/app/themes/haiku-atelier-2024/src/scripts/lib/schemas/api/couts-livraison.ts"
"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_PAGE = "data-page";
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_PANIER = ".compte-panier a[rel='cart']";
const SELECTEUR_MENU_MOBILE = "#menu-mobile";
@ -35,6 +37,9 @@ const SELECTEUR_CONTENEUR_STORYTELLING = ".storytelling";
const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image";
const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-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 {
ATTRIBUT_CONTIENT_ARTICLES as A,
ATTRIBUT_DESACTIVE as B,
@ -46,6 +51,11 @@ export {
SELECTEUR_BOUTON_MENU_MOBILE as H,
SELECTEUR_MENU_MOBILE as I,
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_CONTENEUR_STORYTELLING as a,
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 _;
}
}
function nullable_to_opt(_) {
if (null == _) {
return;
} else {
return some$1(_);
}
}
function valFromOption(_) {
if (null === _ || void 0 === _.BS_PRIVATE_NESTED_SOME_NONE) {
return _;
@ -2030,23 +2037,26 @@ const html = (strings, ...args) => pipe(
(template) => template.content
);
export {
Ra as R,
recupereElementsAvecSelecteur as a,
recupereElementAvecSelecteur as b,
recupereElementsOuLeve as c,
forEachU as d,
everyU as d,
equal as e,
fromArray as f,
get$1 as g,
some$1 as f,
values as g,
html as h,
reduceU as i,
append as j,
valFromOption as k,
everyU as l,
fromArray as i,
get$1 as j,
forEachU as k,
reduceU as l,
mapU as m,
some$1 as n,
append as n,
nullable_to_opt as o,
concat$1 as p,
recupereElementOuLeve as r,
someU as s,
unsafeDeleteKey as u,
values as v
valFromOption as v
};
//# 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";
function is_extension(n) {
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;
}
import { e as equal, d as everyU, s as someU, f as some, v as valFromOption } from "./dom2.js";
import { i as is_extension, a as isSome, m as mapWithDefaultU } from "./belt_Option-91f3b350.BEnQsSyX.js";
function internalToOCamlException(e) {
if (is_extension(e)) {
return e;
@ -596,4 +580,4 @@ export {
l,
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", () => {
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

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 { E as EitherAsync } from "./MaybeAsync.AE1jnxuc.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 "./exports.BuUzFliQ.js";
import "./erreurs2.js";
import "./products4.js";
import "./belt_Option-91f3b350.BEnQsSyX.js";
const ETATS_PAGE = _etats;
const GRILLE_PRODUITS = recupereElementDansDocumentOuLeve(SELECTEUR_GRILLE_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 { c as recupereElementsDocumentEither, r as recupereElementDocumentEither, y, p as propEither } from "./utils.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 "./exports.BuUzFliQ.js";
import "./messages2.js";
@ -22,6 +22,7 @@ import "./erreurs2.js";
import "./cart2.js";
import "./adresses.js";
import "./couts-livraison.js";
import "./belt_Option-91f3b350.BEnQsSyX.js";
const ETATS_PAGE = _etats;
const ENTREES_PANIER_EITHER = recupereElementsDocumentEither(
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 { r as recupereElementDocumentEither, c as recupereElementsDocumentEither, y } from "./utils.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 "./exports.BuUzFliQ.js";
import "./messages3.js";
@ -19,6 +19,7 @@ import "./messages2.js";
import "./cart2.js";
import "./adresses.js";
import "./couts-livraison.js";
import "./belt_Option-91f3b350.BEnQsSyX.js";
const ETATS_PAGE = _etats;
const deplieToutesSections = (ensembleLiensContenus) => {
ensembleLiensContenus.forEach((ensemble) => {

File diff suppressed because one or more lines are too long

View file

@ -1,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 { p as pipe } from "./pipe.XPB0wEfw.js";
import { M as Maybe } from "./Either.wHNxn7Os.js";

View file

@ -4,8 +4,12 @@
/* Couleurs */
--couleur-blanc: #ffffff;
--couleur-gris: #eceaeb;
--couleur-gris-fonce: #808080;
--couleur-gris-fonce-fond: rgb(128 128 128 / 80%);
--couleur-bordeaux: #490918;
--couleur-bordeaux-fond: rgb(73 9 24 / 80%);
--couleur-jaune: #ebffb8;
--couleur-jaune-fond: rgb(235 255 184 / 80%);
--couleur-noir: #202020;
--couleur-fond: rgb(236 234 235 / 80%);
@ -28,6 +32,10 @@
--en-tete-hauteur: 60px;
--menu-categories-produits-hauteur: 54.39px;
--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 */
--espace-xs: 0.25rem; // 4px;

View file

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

View file

@ -21,4 +21,9 @@ button {
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);
}
&:disabled {
&:disabled, &[disabled] {
cursor: not-allowed;
background: repeating-conic-gradient(var(--couleur-noir) 0% 25%, transparent 0% 100%) 1px 0.5px
/ 2px 2px;

View file

@ -108,6 +108,17 @@
place-items: 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.
*/

View file

@ -14,11 +14,10 @@
*/
.grille-produits {
/* Dimensions */
--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-maximale: 900px;
display: grid;
grid-auto-rows: 1fr;
@ -26,8 +25,10 @@
repeat(auto-fit, minmax(var(--carte-produit-longueur-minimale), 1fr)); /* 1 */
gap: 1px; /* 2 */
min-height: var(--grille-produits-hauteur-minimale);
article {
max-width: var(--carte-produit-longueur-maximale);
box-shadow: 0 0 0 1px var(--couleur-noir); /* 2 */
figure {

View file

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

View file

@ -69,11 +69,6 @@
font-style: initial;
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é */
button:first-of-type {
grid-column: 1;

View file

@ -1,65 +1,29 @@
// Styles pour la Page À Propos (« About »).
#page-a-propos {
/* Marges */
// Dimensions
--images-longueur-maximale: 1300px;
// Marges
--page-marges-bloc-debut: var(--en-tete-hauteur);
--images-marges-ligne: var(--espace-xl) * 2;
display: flex;
flex-flow: column nowrap;
margin-top: var(--page-marges-bloc-debut);
* {
// outline: 1px solid red;
}
.storytelling {
padding: var(--espace-xl) 0;
color: var(--couleur-gris-fonce);
&__conteneur {
position: relative;
overflow-x: hidden;
width: min(60rem, 100% - 4rem);
height: 2000px;
width: min(var(--images-longueur-maximale), calc(100% - var(--images-marges-ligne)));
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 {
width: fit-content;
width: max-content;
height: auto;
object-fit: contain;
background: transparent;
@ -67,19 +31,162 @@
.texte {
position: absolute;
max-width: 15rem;
font-size: 0.9rem;
max-width: 22rem;
font-weight: 500;
font-style: italic;
/* stylelint-disable-next-line declaration-block-no-duplicate-properties */
text-wrap: balance;
text-wrap: pretty;
&#texte-1 {
top: 42vmin;
right: 0;
top: 33rem;
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 {
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_PAGE = "data-page";
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
export const SELECTEUR_BOUTON_MENU_MOBILE = "#bouton-menu-mobile";
@ -48,3 +50,8 @@ export const SELECTEUR_IMAGES_STORYTELLING = ".storytelling__image";
// Boutique
export const SELECTEUR_GRILLE_PRODUITS = "#page-boutique .grille-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 »).
*/
document.addEventListener("DOMContentLoaded", (): void => {
console.debug("chargé");
import { A, pipe as beltPipe, O } from "@mobily/ts-belt";
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">
<div class="storytelling">
<div class="storytelling__conteneur">
{{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/haikuabout-petit", "", 1600, 4827, "image-1")
}}
<div
class="storytelling__section"
id="section-1"
class="texte"
id="texte-1"
>
{{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/tool11", "", 835, 900, "image-1")
}}
{{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/pic1", "", 898, 900, "image-2")
}}
<div
class="texte"
id="texte-1"
>
<p>
Haïkus are short Japanese poems written in three lines to capture the beauty of small details in the every
day life.
</p>
<p>More than poetry, it's a philosophy.</p>
</div>
{{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/tool16", "", 900, 900, "image-3")
}}
{{
images.genere_source_img_multi_formats("#{ site.theme.link }/assets/img/about/pic5", "", 900, 607, "image-4")
}}
<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="texte"
id="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="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>

View file

@ -10,7 +10,7 @@
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>
@ -21,7 +21,7 @@
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>
@ -32,7 +32,7 @@
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>
@ -43,7 +43,7 @@
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>
@ -54,7 +54,7 @@
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>
@ -65,7 +65,7 @@
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>
@ -76,7 +76,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>
@ -87,7 +87,7 @@
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>
@ -98,7 +98,7 @@
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>
@ -109,7 +109,7 @@
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>
@ -120,7 +120,7 @@
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>
@ -131,7 +131,7 @@
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>
@ -142,7 +142,7 @@
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>

View file

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

View file

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

View file

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

View file

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