@lab-anssi/ui-kit 1.23.2 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -25
- package/dist/Alerte.svelte +3 -5
- package/dist/Alerte.svelte.d.ts +7 -19
- package/dist/CentreAide.svelte +10 -10
- package/dist/CentreAide.svelte.d.ts +24 -21
- package/dist/composants/AncresParcours.svelte +1050 -0
- package/dist/composants/AncresParcours.svelte.d.ts +11 -0
- package/dist/composants/FiltresCatalogue.svelte +1069 -0
- package/dist/composants/FiltresCatalogue.svelte.d.ts +14 -0
- package/dist/composants/Hero.svelte +1073 -0
- package/dist/composants/Hero.svelte.d.ts +13 -0
- package/dist/dsfr/DsfrAlert.svelte +50 -0
- package/dist/dsfr/DsfrAlert.svelte.d.ts +17 -0
- package/dist/dsfr/DsfrBadge.svelte +47 -0
- package/dist/dsfr/DsfrBadge.svelte.d.ts +16 -0
- package/dist/dsfr/DsfrButton.svelte +1270 -0
- package/dist/dsfr/DsfrButton.svelte.d.ts +20 -0
- package/dist/dsfr/DsfrContainer.svelte +15 -0
- package/dist/dsfr/DsfrContainer.svelte.d.ts +13 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/lab/Bouton.svelte +32 -7
- package/dist/lab/Bouton.svelte.d.ts +11 -22
- package/dist/lab/Icone.svelte +669 -2
- package/dist/lab/Icone.svelte.d.ts +6 -18
- package/dist/lab/Lien.svelte +35 -43
- package/dist/lab/Lien.svelte.d.ts +14 -25
- package/dist/lab/ResumePssi.svelte +1 -1
- package/dist/lab/ResumePssi.svelte.d.ts +5 -17
- package/dist/lab/Tag.svelte +12 -8
- package/dist/lab/Tag.svelte.d.ts +10 -22
- package/dist/lab/apparence-bouton.scss +26 -0
- package/dist/lab/blog/BandeauTitre.svelte +5 -8
- package/dist/lab/blog/BandeauTitre.svelte.d.ts +9 -21
- package/dist/lab/blog/CarteArticle.svelte +2 -3
- package/dist/lab/blog/CarteArticle.svelte.d.ts +6 -18
- package/dist/lab/blog/IconeChevronBas.svelte.d.ts +22 -21
- package/dist/lab/blog/IconeMenuLateral.svelte.d.ts +22 -21
- package/dist/lab/blog/ListeArticles.svelte +5 -5
- package/dist/lab/blog/ListeArticles.svelte.d.ts +7 -19
- package/dist/lab/blog/ListeDeroulante.svelte +3 -4
- package/dist/lab/blog/ListeDeroulante.svelte.d.ts +9 -21
- package/dist/lab/blog/PageCrisp.svelte +10 -6
- package/dist/lab/blog/PageCrisp.svelte.d.ts +6 -18
- package/dist/lab/blog/SommaireBureau.svelte +3 -3
- package/dist/lab/blog/SommaireBureau.svelte.d.ts +21 -18
- package/dist/lab/blog/SommaireMobile.svelte +5 -5
- package/dist/lab/blog/SommaireMobile.svelte.d.ts +21 -18
- package/dist/lab/icones/Fleche.svelte +1 -1
- package/dist/lab/icones/Fleche.svelte.d.ts +5 -17
- package/dist/lab/icones/LienExterne.svelte +1 -1
- package/dist/lab/icones/LienExterne.svelte.d.ts +5 -17
- package/dist/lab/vitrines-produits/briques/Brique.svelte +7 -4
- package/dist/lab/vitrines-produits/briques/Brique.svelte.d.ts +8 -21
- package/dist/lab/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte +11 -9
- package/dist/lab/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte.d.ts +9 -21
- package/dist/lab/vitrines-produits/briques/BriqueHero.svelte +15 -11
- package/dist/lab/vitrines-produits/briques/BriqueHero.svelte.d.ts +11 -23
- package/dist/lab/vitrines-produits/briques/BriqueTitreMultimedia.svelte +2 -3
- package/dist/lab/vitrines-produits/briques/BriqueTitreMultimedia.svelte.d.ts +6 -18
- package/dist/lab/vitrines-produits/briques/CarrouselTuiles/CarrouselTuiles.svelte +5 -5
- package/dist/lab/vitrines-produits/briques/CarrouselTuiles/CarrouselTuiles.svelte.d.ts +6 -18
- package/dist/lab/vitrines-produits/briques/CarrouselTuiles/IconeFlecheDroite.svelte.d.ts +22 -21
- package/dist/lab/vitrines-produits/briques/CarrouselTuiles/IconeFlecheGauche.svelte.d.ts +22 -21
- package/dist/lab/vitrines-produits/briques/LecteurVideo.svelte +1 -4
- package/dist/lab/vitrines-produits/briques/LecteurVideo.svelte.d.ts +8 -20
- package/dist/lab/vitrines-produits/briques/PresentationANSSI.svelte +1 -1
- package/dist/lab/vitrines-produits/briques/PresentationANSSI.svelte.d.ts +16 -14
- package/dist/lab/vitrines-produits/briques/RejoindreLaCommunaute.svelte +2 -5
- package/dist/lab/vitrines-produits/briques/RejoindreLaCommunaute.svelte.d.ts +8 -20
- package/dist/lab/vitrines-produits/briques/Tuile.svelte +1 -4
- package/dist/lab/vitrines-produits/briques/Tuile.svelte.d.ts +9 -21
- package/dist/lab/vitrines-produits/briques/marelle/Etape.svelte +2 -3
- package/dist/lab/vitrines-produits/briques/marelle/Etape.svelte.d.ts +6 -18
- package/dist/lab/vitrines-produits/briques/marelle/Marelle.svelte +2 -4
- package/dist/lab/vitrines-produits/briques/marelle/Marelle.svelte.d.ts +7 -19
- package/dist/lab/vitrines-produits/briques/temoignages/IconeTemoignage.svelte.d.ts +22 -21
- package/dist/lab/vitrines-produits/briques/temoignages/Temoignages.svelte +12 -11
- package/dist/lab/vitrines-produits/briques/temoignages/Temoignages.svelte.d.ts +6 -18
- package/dist/mes-services-cyber/bandeau/Bandeau.svelte +5 -3
- package/dist/mes-services-cyber/bandeau/Bandeau.svelte.d.ts +3 -16
- package/dist/mes-services-cyber/lien/LienDiagnosticCyber.svelte +3 -3
- package/dist/mes-services-cyber/lien/LienDiagnosticCyber.svelte.d.ts +6 -18
- package/dist/pied-de-page/NavigationPiedDePage.svelte +1 -1
- package/dist/pied-de-page/NavigationPiedDePage.svelte.d.ts +5 -17
- package/dist/styles/mixins.scss +17 -0
- package/dist/suite-cyber/navigation/AccueilMSC.svelte +1 -1
- package/dist/suite-cyber/navigation/AccueilMSC.svelte.d.ts +16 -14
- package/dist/suite-cyber/navigation/BlocLiens.svelte +1 -2
- package/dist/suite-cyber/navigation/BlocLiens.svelte.d.ts +12 -23
- package/dist/suite-cyber/navigation/Navigation.svelte +5 -5
- package/dist/suite-cyber/navigation/Navigation.svelte.d.ts +5 -17
- package/dist/{types.d.ts → types/commun.d.ts} +5 -10
- package/dist/types/commun.js +1 -0
- package/dist/types/global.d.ts +22 -0
- package/dist/types/global.js +9 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +1 -0
- package/dist/utilitaires/index.d.ts +6 -0
- package/dist/utilitaires/index.js +12 -0
- package/dist/webcomponents/lab-anssi-ui-kit.iife.js +186 -41
- package/dist/webcomponents/lab-anssi-ui-kit.jsx.d.ts +23 -83
- package/package.json +42 -44
- package/dist/generateurImagesPlaceholders.d.ts +0 -1
- package/dist/generateurImagesPlaceholders.js +0 -3
- package/dist/types.js +0 -1
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
nom: string;
|
|
5
|
-
taille?: "sm" | "md" | "lg" | undefined;
|
|
6
|
-
};
|
|
7
|
-
events: {
|
|
8
|
-
[evt: string]: CustomEvent<any>;
|
|
9
|
-
};
|
|
10
|
-
slots: {};
|
|
11
|
-
exports?: {} | undefined;
|
|
12
|
-
bindings?: string | undefined;
|
|
13
|
-
};
|
|
14
|
-
export type IconeProps = typeof __propDef.props;
|
|
15
|
-
export type IconeEvents = typeof __propDef.events;
|
|
16
|
-
export type IconeSlots = typeof __propDef.slots;
|
|
17
|
-
export default class Icone extends SvelteComponent<IconeProps, IconeEvents, IconeSlots> {
|
|
1
|
+
interface Props {
|
|
2
|
+
nom: string;
|
|
3
|
+
taille?: "sm" | "md" | "lg" | undefined;
|
|
18
4
|
}
|
|
19
|
-
|
|
5
|
+
declare const Icone: import("svelte").Component<Props, {}, "">;
|
|
6
|
+
type Icone = ReturnType<typeof Icone>;
|
|
7
|
+
export default Icone;
|
package/dist/lab/Lien.svelte
CHANGED
|
@@ -11,24 +11,29 @@
|
|
|
11
11
|
cible: { reflect: false, type: "String", attribute: "cible" },
|
|
12
12
|
positionIcone: { reflect: false, type: "String", attribute: "position-icone" },
|
|
13
13
|
actif: { reflect: false, type: "Boolean", attribute: "actif" },
|
|
14
|
+
largeurMaximale: { reflect: false, type: "Boolean", attribute: "largeur-maximale" },
|
|
14
15
|
},
|
|
15
16
|
}}
|
|
16
17
|
/>
|
|
17
18
|
|
|
18
|
-
<script>import Icone from "./Icone.svelte";
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
19
|
+
<script lang="ts">import Icone from "./Icone.svelte";
|
|
20
|
+
let {
|
|
21
|
+
titre,
|
|
22
|
+
href,
|
|
23
|
+
variante,
|
|
24
|
+
taille,
|
|
25
|
+
icone = void 0,
|
|
26
|
+
apparence = "lien",
|
|
27
|
+
cible = void 0,
|
|
28
|
+
positionIcone = "sans",
|
|
29
|
+
actif = true,
|
|
30
|
+
largeurMaximale = false
|
|
31
|
+
} = $props();
|
|
28
32
|
</script>
|
|
29
33
|
|
|
30
34
|
<a
|
|
31
35
|
class={`${variante} ${taille} icone-${positionIcone} ${apparence}`}
|
|
36
|
+
class:largeur-maximale={largeurMaximale}
|
|
32
37
|
{href}
|
|
33
38
|
target={cible}
|
|
34
39
|
title={positionIcone === "seule" ? titre : ""}
|
|
@@ -62,7 +67,6 @@ export let actif = true;
|
|
|
62
67
|
text-decoration: none;
|
|
63
68
|
position: relative;
|
|
64
69
|
}
|
|
65
|
-
|
|
66
70
|
.lien-texte:before {
|
|
67
71
|
content: "";
|
|
68
72
|
position: absolute;
|
|
@@ -72,7 +76,6 @@ export let actif = true;
|
|
|
72
76
|
height: 1px;
|
|
73
77
|
background-color: currentColor;
|
|
74
78
|
}
|
|
75
|
-
|
|
76
79
|
.lien-texte:hover:before {
|
|
77
80
|
bottom: calc(0.2em - 1px);
|
|
78
81
|
height: 2px;
|
|
@@ -88,22 +91,18 @@ export let actif = true;
|
|
|
88
91
|
text-decoration: none;
|
|
89
92
|
position: relative;
|
|
90
93
|
}
|
|
91
|
-
|
|
92
94
|
.lien.sm {
|
|
93
95
|
font-size: 0.875rem;
|
|
94
96
|
line-height: 1.5rem;
|
|
95
97
|
}
|
|
96
|
-
|
|
97
98
|
.lien.md {
|
|
98
99
|
font-size: 1rem;
|
|
99
100
|
line-height: 1.5rem;
|
|
100
101
|
}
|
|
101
|
-
|
|
102
102
|
.lien.lg {
|
|
103
103
|
font-size: 1.125rem;
|
|
104
104
|
line-height: 1.75rem;
|
|
105
105
|
}
|
|
106
|
-
|
|
107
106
|
.lien:before {
|
|
108
107
|
content: "";
|
|
109
108
|
position: absolute;
|
|
@@ -113,16 +112,13 @@ export let actif = true;
|
|
|
113
112
|
height: 1px;
|
|
114
113
|
background-color: var(--couleur-lien);
|
|
115
114
|
}
|
|
116
|
-
|
|
117
115
|
.lien:hover:before {
|
|
118
116
|
bottom: -1px;
|
|
119
117
|
height: 2px;
|
|
120
118
|
}
|
|
121
|
-
|
|
122
119
|
.lien:active {
|
|
123
120
|
background: rgba(0, 0, 0, 0.08);
|
|
124
121
|
}
|
|
125
|
-
|
|
126
122
|
.lien:focus-visible {
|
|
127
123
|
outline: 2px solid #0a76f6;
|
|
128
124
|
outline-offset: 2px;
|
|
@@ -139,113 +135,109 @@ export let actif = true;
|
|
|
139
135
|
font-style: normal;
|
|
140
136
|
font-weight: 500;
|
|
141
137
|
}
|
|
142
|
-
|
|
138
|
+
.bouton.largeur-maximale {
|
|
139
|
+
width: 100%;
|
|
140
|
+
box-sizing: border-box;
|
|
141
|
+
}
|
|
143
142
|
.bouton:focus-visible {
|
|
144
143
|
outline: 2px solid #0a76f6;
|
|
145
144
|
outline-offset: 2px;
|
|
146
145
|
}
|
|
147
|
-
|
|
148
146
|
.bouton.sm {
|
|
149
147
|
padding: 4px 12px;
|
|
150
148
|
font-size: 0.875rem;
|
|
151
149
|
line-height: 1.5rem;
|
|
152
150
|
}
|
|
153
|
-
|
|
154
151
|
.bouton.sm.icone-droite {
|
|
155
152
|
padding-right: 8px;
|
|
156
153
|
}
|
|
157
|
-
|
|
158
154
|
.bouton.sm.icone-gauche {
|
|
159
155
|
padding-left: 8px;
|
|
160
156
|
}
|
|
161
|
-
|
|
162
157
|
.bouton.sm.icone-seule {
|
|
163
158
|
padding: 8px;
|
|
164
159
|
}
|
|
165
|
-
|
|
166
160
|
.bouton.md {
|
|
167
161
|
padding: 8px 16px;
|
|
168
162
|
font-size: 1rem;
|
|
169
163
|
line-height: 1.5rem;
|
|
170
164
|
}
|
|
171
|
-
|
|
172
165
|
.bouton.md.icone-droite {
|
|
173
166
|
padding-right: 12px;
|
|
174
167
|
}
|
|
175
|
-
|
|
176
168
|
.bouton.md.icone-gauche {
|
|
177
169
|
padding-left: 12px;
|
|
178
170
|
}
|
|
179
|
-
|
|
180
171
|
.bouton.md.icone-seule {
|
|
181
172
|
padding: 8px;
|
|
182
173
|
}
|
|
183
|
-
|
|
184
174
|
.bouton.lg {
|
|
185
175
|
padding: 10px 24px;
|
|
186
176
|
font-size: 1.125rem;
|
|
187
177
|
line-height: 1.75rem;
|
|
188
178
|
}
|
|
189
|
-
|
|
190
179
|
.bouton.lg.icone-droite {
|
|
191
180
|
padding-right: 18px;
|
|
192
181
|
}
|
|
193
|
-
|
|
194
182
|
.bouton.lg.icone-gauche {
|
|
195
183
|
padding-left: 18px;
|
|
196
184
|
}
|
|
197
|
-
|
|
198
185
|
.bouton.lg.icone-seule {
|
|
199
186
|
padding: 12px;
|
|
200
187
|
}
|
|
201
|
-
|
|
202
188
|
.bouton:disabled, .bouton[aria-disabled=true] {
|
|
203
189
|
cursor: not-allowed;
|
|
204
190
|
}
|
|
205
|
-
|
|
206
191
|
.bouton.primaire {
|
|
207
192
|
background: var(--bouton-primaire-couleur-fond);
|
|
208
193
|
color: var(--bouton-primaire-couleur-texte);
|
|
209
194
|
border: 1px solid transparent;
|
|
210
195
|
border-radius: var(--bouton-arrondi);
|
|
211
196
|
}
|
|
212
|
-
|
|
213
197
|
.bouton.primaire:hover {
|
|
214
198
|
background: var(--bouton-primaire-couleur-fond-survol);
|
|
215
199
|
}
|
|
216
|
-
|
|
217
200
|
.bouton.primaire:active {
|
|
218
201
|
background: var(--bouton-primaire-couleur-fond-clique);
|
|
219
202
|
}
|
|
220
|
-
|
|
221
203
|
.bouton.primaire:disabled, .bouton.primaire[aria-disabled=true] {
|
|
222
204
|
background: #e5e5e5;
|
|
223
205
|
color: #929292;
|
|
224
206
|
}
|
|
225
|
-
|
|
207
|
+
.bouton.secondaire {
|
|
208
|
+
color: var(--bouton-secondaire-tertiaire-couleur-texte);
|
|
209
|
+
background: white;
|
|
210
|
+
border: 1px solid var(--bouton-secondaire-couleur-bordure);
|
|
211
|
+
border-radius: var(--bouton-arrondi);
|
|
212
|
+
}
|
|
213
|
+
.bouton.secondaire:hover {
|
|
214
|
+
background: rgba(0, 0, 0, 0.04);
|
|
215
|
+
}
|
|
216
|
+
.bouton.secondaire:active {
|
|
217
|
+
background: rgba(0, 0, 0, 0.08);
|
|
218
|
+
}
|
|
219
|
+
.bouton.secondaire:disabled, .bouton.secondaire[aria-disabled=true] {
|
|
220
|
+
background: transparent;
|
|
221
|
+
color: #929292;
|
|
222
|
+
}
|
|
226
223
|
.bouton.tertiaire, .bouton.tertiaire-sans-bordure {
|
|
227
224
|
color: var(--bouton-secondaire-tertiaire-couleur-texte);
|
|
228
225
|
background: white;
|
|
229
226
|
border-radius: var(--bouton-arrondi);
|
|
230
227
|
}
|
|
231
|
-
|
|
232
228
|
.bouton.tertiaire:hover, .bouton.tertiaire-sans-bordure:hover {
|
|
233
229
|
background: rgba(0, 0, 0, 0.04);
|
|
234
230
|
}
|
|
235
|
-
|
|
236
231
|
.bouton.tertiaire:active, .bouton.tertiaire-sans-bordure:active {
|
|
237
232
|
background: rgba(0, 0, 0, 0.08);
|
|
238
233
|
}
|
|
239
|
-
|
|
240
234
|
.bouton.tertiaire:disabled, .bouton.tertiaire[aria-disabled=true], .bouton.tertiaire-sans-bordure:disabled, .bouton.tertiaire-sans-bordure[aria-disabled=true] {
|
|
241
235
|
background: transparent;
|
|
242
236
|
color: #929292;
|
|
243
237
|
}
|
|
244
|
-
|
|
245
238
|
.bouton.tertiaire {
|
|
246
239
|
border: 1px solid #ddd;
|
|
247
240
|
}
|
|
248
|
-
|
|
249
241
|
.bouton.tertiaire-sans-bordure {
|
|
250
242
|
border: 1px solid transparent;
|
|
251
243
|
}</style>
|
|
@@ -1,26 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
actif?: boolean;
|
|
13
|
-
};
|
|
14
|
-
events: {
|
|
15
|
-
[evt: string]: CustomEvent<any>;
|
|
16
|
-
};
|
|
17
|
-
slots: {};
|
|
18
|
-
exports?: {} | undefined;
|
|
19
|
-
bindings?: string | undefined;
|
|
20
|
-
};
|
|
21
|
-
export type LienProps = typeof __propDef.props;
|
|
22
|
-
export type LienEvents = typeof __propDef.events;
|
|
23
|
-
export type LienSlots = typeof __propDef.slots;
|
|
24
|
-
export default class Lien extends SvelteComponent<LienProps, LienEvents, LienSlots> {
|
|
1
|
+
interface Props {
|
|
2
|
+
titre: string;
|
|
3
|
+
href: string;
|
|
4
|
+
variante: "primaire" | "tertiaire" | "tertiaire-sans-bordure";
|
|
5
|
+
taille: "sm" | "md" | "lg";
|
|
6
|
+
icone?: string | undefined;
|
|
7
|
+
apparence?: "lien" | "bouton" | "lien-texte";
|
|
8
|
+
cible?: string | undefined;
|
|
9
|
+
positionIcone?: "sans" | "seule" | "droite" | "gauche";
|
|
10
|
+
actif?: boolean;
|
|
11
|
+
largeurMaximale?: boolean;
|
|
25
12
|
}
|
|
26
|
-
|
|
13
|
+
declare const Lien: import("svelte").Component<Props, {}, "">;
|
|
14
|
+
type Lien = ReturnType<typeof Lien>;
|
|
15
|
+
export default Lien;
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
props: {
|
|
4
|
-
nomService: string;
|
|
5
|
-
};
|
|
6
|
-
events: {
|
|
7
|
-
[evt: string]: CustomEvent<any>;
|
|
8
|
-
};
|
|
9
|
-
slots: {};
|
|
10
|
-
exports?: {} | undefined;
|
|
11
|
-
bindings?: string | undefined;
|
|
12
|
-
};
|
|
13
|
-
export type ResumePssiProps = typeof __propDef.props;
|
|
14
|
-
export type ResumePssiEvents = typeof __propDef.events;
|
|
15
|
-
export type ResumePssiSlots = typeof __propDef.slots;
|
|
16
|
-
export default class ResumePssi extends SvelteComponent<ResumePssiProps, ResumePssiEvents, ResumePssiSlots> {
|
|
1
|
+
interface Props {
|
|
2
|
+
nomService: string;
|
|
17
3
|
}
|
|
18
|
-
|
|
4
|
+
declare const ResumePssi: import("svelte").Component<Props, {}, "">;
|
|
5
|
+
type ResumePssi = ReturnType<typeof ResumePssi>;
|
|
6
|
+
export default ResumePssi;
|
package/dist/lab/Tag.svelte
CHANGED
|
@@ -12,13 +12,15 @@
|
|
|
12
12
|
}}
|
|
13
13
|
/>
|
|
14
14
|
|
|
15
|
-
<script>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
<script lang="ts">let {
|
|
16
|
+
label,
|
|
17
|
+
couleurTexte,
|
|
18
|
+
couleurFond,
|
|
19
|
+
taille = "sm",
|
|
20
|
+
type = "defaut",
|
|
21
|
+
presse = false
|
|
22
|
+
} = $props();
|
|
23
|
+
let selectionne = $derived(presse);
|
|
22
24
|
const bascule = () => {
|
|
23
25
|
selectionne = !selectionne;
|
|
24
26
|
};
|
|
@@ -34,7 +36,7 @@ const bascule = () => {
|
|
|
34
36
|
aria-pressed={selectionne}
|
|
35
37
|
style:background={couleurFond}
|
|
36
38
|
style:color={couleurTexte}
|
|
37
|
-
|
|
39
|
+
onclick={bascule}
|
|
38
40
|
>
|
|
39
41
|
{label}
|
|
40
42
|
</button>
|
|
@@ -77,6 +79,8 @@ button.tag {
|
|
|
77
79
|
display: inline-flex;
|
|
78
80
|
position: relative;
|
|
79
81
|
overflow: visible;
|
|
82
|
+
text-wrap: auto;
|
|
83
|
+
text-align: left;
|
|
80
84
|
cursor: pointer;
|
|
81
85
|
}
|
|
82
86
|
button.tag:hover {
|
package/dist/lab/Tag.svelte.d.ts
CHANGED
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
type?: "defaut" | "selectionnable";
|
|
9
|
-
presse?: boolean;
|
|
10
|
-
};
|
|
11
|
-
events: {
|
|
12
|
-
[evt: string]: CustomEvent<any>;
|
|
13
|
-
};
|
|
14
|
-
slots: {};
|
|
15
|
-
exports?: {} | undefined;
|
|
16
|
-
bindings?: string | undefined;
|
|
17
|
-
};
|
|
18
|
-
export type TagProps = typeof __propDef.props;
|
|
19
|
-
export type TagEvents = typeof __propDef.events;
|
|
20
|
-
export type TagSlots = typeof __propDef.slots;
|
|
21
|
-
export default class Tag extends SvelteComponent<TagProps, TagEvents, TagSlots> {
|
|
1
|
+
interface Props {
|
|
2
|
+
label: string;
|
|
3
|
+
couleurTexte: string | undefined;
|
|
4
|
+
couleurFond: string | undefined;
|
|
5
|
+
taille?: "sm" | "md";
|
|
6
|
+
type?: "defaut" | "selectionnable";
|
|
7
|
+
presse?: boolean;
|
|
22
8
|
}
|
|
23
|
-
|
|
9
|
+
declare const Tag: import("svelte").Component<Props, {}, "">;
|
|
10
|
+
type Tag = ReturnType<typeof Tag>;
|
|
11
|
+
export default Tag;
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
font-style: normal;
|
|
11
11
|
font-weight: 500;
|
|
12
12
|
|
|
13
|
+
&.largeur-maximale {
|
|
14
|
+
width: 100%;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
}
|
|
17
|
+
|
|
13
18
|
&:focus-visible {
|
|
14
19
|
outline: 2px solid #0a76f6;
|
|
15
20
|
outline-offset: 2px;
|
|
@@ -95,6 +100,27 @@
|
|
|
95
100
|
}
|
|
96
101
|
}
|
|
97
102
|
|
|
103
|
+
&.secondaire {
|
|
104
|
+
color: $bouton-secondaire-tertiaire-couleur-texte;
|
|
105
|
+
background: white;
|
|
106
|
+
border: 1px solid $bouton-secondaire-couleur-bordure;
|
|
107
|
+
border-radius: $bouton-arrondi;
|
|
108
|
+
|
|
109
|
+
&:hover {
|
|
110
|
+
background: rgb(0, 0, 0, 4%);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
&:active {
|
|
114
|
+
background: rgb(0, 0, 0, 8%);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&:disabled,
|
|
118
|
+
&[aria-disabled="true"] {
|
|
119
|
+
background: transparent;
|
|
120
|
+
color: #929292;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
98
124
|
&.tertiaire,
|
|
99
125
|
&.tertiaire-sans-bordure {
|
|
100
126
|
color: $bouton-secondaire-tertiaire-couleur-texte;
|
|
@@ -10,13 +10,10 @@
|
|
|
10
10
|
}}
|
|
11
11
|
/>
|
|
12
12
|
|
|
13
|
-
<script>import
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export let filAriane = [];
|
|
18
|
-
export let infosTag = null;
|
|
19
|
-
let filArianeVisible = window.matchMedia("(min-width: 576px)").matches;
|
|
13
|
+
<script lang="ts">import Tag from "../Tag.svelte";
|
|
14
|
+
const estLien = (noeud) => noeud.href !== void 0;
|
|
15
|
+
let { titre, description = "", filAriane = [], infosTag = null } = $props();
|
|
16
|
+
let filArianeVisible = $state(window.matchMedia("(min-width: 576px)").matches);
|
|
20
17
|
</script>
|
|
21
18
|
|
|
22
19
|
<div class="conteneur-bandeau-entete">
|
|
@@ -24,7 +21,7 @@ let filArianeVisible = window.matchMedia("(min-width: 576px)").matches;
|
|
|
24
21
|
{#if filAriane.length}
|
|
25
22
|
<div class="fil-ariane">
|
|
26
23
|
{#if !filArianeVisible}
|
|
27
|
-
<button
|
|
24
|
+
<button onclick={() => (filArianeVisible = true)}>Voir le fil d'Ariane</button>
|
|
28
25
|
{:else}
|
|
29
26
|
{#each filAriane as noeud, index (index)}
|
|
30
27
|
{#if estLien(noeud)}
|
|
@@ -1,22 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
filAriane?: NoeudFilAriane[];
|
|
8
|
-
infosTag?: InfosTag | null;
|
|
9
|
-
};
|
|
10
|
-
events: {
|
|
11
|
-
[evt: string]: CustomEvent<any>;
|
|
12
|
-
};
|
|
13
|
-
slots: {};
|
|
14
|
-
exports?: {} | undefined;
|
|
15
|
-
bindings?: string | undefined;
|
|
16
|
-
};
|
|
17
|
-
export type BandeauTitreProps = typeof __propDef.props;
|
|
18
|
-
export type BandeauTitreEvents = typeof __propDef.events;
|
|
19
|
-
export type BandeauTitreSlots = typeof __propDef.slots;
|
|
20
|
-
export default class BandeauTitre extends SvelteComponent<BandeauTitreProps, BandeauTitreEvents, BandeauTitreSlots> {
|
|
1
|
+
import type { NoeudFilAriane, InfosTag } from "../../types";
|
|
2
|
+
interface Props {
|
|
3
|
+
titre: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
filAriane?: NoeudFilAriane[];
|
|
6
|
+
infosTag?: InfosTag | null;
|
|
21
7
|
}
|
|
22
|
-
|
|
8
|
+
declare const BandeauTitre: import("svelte").Component<Props, {}, "">;
|
|
9
|
+
type BandeauTitre = ReturnType<typeof BandeauTitre>;
|
|
10
|
+
export default BandeauTitre;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
<script>import Tag from "../Tag.svelte";
|
|
1
|
+
<script lang="ts">import Tag from "../Tag.svelte";
|
|
2
2
|
import Fleche from "../icones/Fleche.svelte";
|
|
3
|
-
|
|
4
|
-
export let categorie;
|
|
3
|
+
let { article, categorie } = $props();
|
|
5
4
|
</script>
|
|
6
5
|
|
|
7
6
|
<a class="carte-article" href={article.href}>
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
import { SvelteComponent } from "svelte";
|
|
2
1
|
import type { ResumeArticle, InfosTag } from "../../types";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
categorie: InfosTag;
|
|
7
|
-
};
|
|
8
|
-
events: {
|
|
9
|
-
[evt: string]: CustomEvent<any>;
|
|
10
|
-
};
|
|
11
|
-
slots: {};
|
|
12
|
-
exports?: {} | undefined;
|
|
13
|
-
bindings?: string | undefined;
|
|
14
|
-
};
|
|
15
|
-
export type CarteArticleProps = typeof __propDef.props;
|
|
16
|
-
export type CarteArticleEvents = typeof __propDef.events;
|
|
17
|
-
export type CarteArticleSlots = typeof __propDef.slots;
|
|
18
|
-
export default class CarteArticle extends SvelteComponent<CarteArticleProps, CarteArticleEvents, CarteArticleSlots> {
|
|
2
|
+
interface Props {
|
|
3
|
+
article: ResumeArticle;
|
|
4
|
+
categorie: InfosTag;
|
|
19
5
|
}
|
|
20
|
-
|
|
6
|
+
declare const CarteArticle: import("svelte").Component<Props, {}, "">;
|
|
7
|
+
type CarteArticle = ReturnType<typeof CarteArticle>;
|
|
8
|
+
export default CarteArticle;
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/** @typedef {typeof __propDef.slots} IconeChevronBasSlots */
|
|
4
|
-
export default class IconeChevronBas extends SvelteComponent<{
|
|
1
|
+
export default IconeChevronBas;
|
|
2
|
+
type IconeChevronBas = SvelteComponent<{
|
|
5
3
|
[x: string]: never;
|
|
6
4
|
}, {
|
|
7
5
|
[evt: string]: CustomEvent<any>;
|
|
8
|
-
}, {}> {
|
|
9
|
-
|
|
10
|
-
export type IconeChevronBasProps = typeof __propDef.props;
|
|
11
|
-
export type IconeChevronBasEvents = typeof __propDef.events;
|
|
12
|
-
export type IconeChevronBasSlots = typeof __propDef.slots;
|
|
13
|
-
import { SvelteComponent } from "svelte";
|
|
14
|
-
declare const __propDef: {
|
|
15
|
-
props: {
|
|
16
|
-
[x: string]: never;
|
|
17
|
-
};
|
|
18
|
-
events: {
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {};
|
|
22
|
-
exports?: undefined;
|
|
23
|
-
bindings?: undefined;
|
|
6
|
+
}, {}> & {
|
|
7
|
+
$$bindings?: string | undefined;
|
|
24
8
|
};
|
|
25
|
-
|
|
9
|
+
declare const IconeChevronBas: $$__sveltets_2_IsomorphicComponent<{
|
|
10
|
+
[x: string]: never;
|
|
11
|
+
}, {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {}, {}, string>;
|
|
14
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
15
|
+
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
16
|
+
$$bindings?: Bindings;
|
|
17
|
+
} & Exports;
|
|
18
|
+
(internal: unknown, props: {
|
|
19
|
+
$$events?: Events;
|
|
20
|
+
$$slots?: Slots;
|
|
21
|
+
}): Exports & {
|
|
22
|
+
$set?: any;
|
|
23
|
+
$on?: any;
|
|
24
|
+
};
|
|
25
|
+
z_$$bindings?: Bindings;
|
|
26
|
+
}
|
|
@@ -1,25 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/** @typedef {typeof __propDef.slots} IconeMenuLateralSlots */
|
|
4
|
-
export default class IconeMenuLateral extends SvelteComponent<{
|
|
1
|
+
export default IconeMenuLateral;
|
|
2
|
+
type IconeMenuLateral = SvelteComponent<{
|
|
5
3
|
[x: string]: never;
|
|
6
4
|
}, {
|
|
7
5
|
[evt: string]: CustomEvent<any>;
|
|
8
|
-
}, {}> {
|
|
9
|
-
|
|
10
|
-
export type IconeMenuLateralProps = typeof __propDef.props;
|
|
11
|
-
export type IconeMenuLateralEvents = typeof __propDef.events;
|
|
12
|
-
export type IconeMenuLateralSlots = typeof __propDef.slots;
|
|
13
|
-
import { SvelteComponent } from "svelte";
|
|
14
|
-
declare const __propDef: {
|
|
15
|
-
props: {
|
|
16
|
-
[x: string]: never;
|
|
17
|
-
};
|
|
18
|
-
events: {
|
|
19
|
-
[evt: string]: CustomEvent<any>;
|
|
20
|
-
};
|
|
21
|
-
slots: {};
|
|
22
|
-
exports?: undefined;
|
|
23
|
-
bindings?: undefined;
|
|
6
|
+
}, {}> & {
|
|
7
|
+
$$bindings?: string | undefined;
|
|
24
8
|
};
|
|
25
|
-
|
|
9
|
+
declare const IconeMenuLateral: $$__sveltets_2_IsomorphicComponent<{
|
|
10
|
+
[x: string]: never;
|
|
11
|
+
}, {
|
|
12
|
+
[evt: string]: CustomEvent<any>;
|
|
13
|
+
}, {}, {}, string>;
|
|
14
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
15
|
+
new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
|
|
16
|
+
$$bindings?: Bindings;
|
|
17
|
+
} & Exports;
|
|
18
|
+
(internal: unknown, props: {
|
|
19
|
+
$$events?: Events;
|
|
20
|
+
$$slots?: Slots;
|
|
21
|
+
}): Exports & {
|
|
22
|
+
$set?: any;
|
|
23
|
+
$on?: any;
|
|
24
|
+
};
|
|
25
|
+
z_$$bindings?: Bindings;
|
|
26
|
+
}
|
|
@@ -9,11 +9,9 @@
|
|
|
9
9
|
}}
|
|
10
10
|
/>
|
|
11
11
|
|
|
12
|
-
<script>import CarteArticle from "./CarteArticle.svelte";
|
|
12
|
+
<script lang="ts">import CarteArticle from "./CarteArticle.svelte";
|
|
13
13
|
import ListeDeroulante from "./ListeDeroulante.svelte";
|
|
14
|
-
|
|
15
|
-
export let categories;
|
|
16
|
-
export let idCategorieChoisie = "tous";
|
|
14
|
+
let { articles, categories, idCategorieChoisie = $bindable("tous") } = $props();
|
|
17
15
|
const optionsFiltrage = [
|
|
18
16
|
{ label: "Tous les articles", valeur: "tous" },
|
|
19
17
|
...Object.entries(categories).map(([idCategorie, donnees]) => ({
|
|
@@ -21,7 +19,9 @@ const optionsFiltrage = [
|
|
|
21
19
|
valeur: idCategorie
|
|
22
20
|
}))
|
|
23
21
|
];
|
|
24
|
-
|
|
22
|
+
let articlesVisibles = $derived(
|
|
23
|
+
idCategorieChoisie === "tous" ? articles : articles.filter((a) => a.idCategorie === idCategorieChoisie)
|
|
24
|
+
);
|
|
25
25
|
</script>
|
|
26
26
|
|
|
27
27
|
<div class="liste-articles">
|