@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.
Files changed (106) hide show
  1. package/README.md +62 -25
  2. package/dist/Alerte.svelte +3 -5
  3. package/dist/Alerte.svelte.d.ts +7 -19
  4. package/dist/CentreAide.svelte +10 -10
  5. package/dist/CentreAide.svelte.d.ts +24 -21
  6. package/dist/composants/AncresParcours.svelte +1050 -0
  7. package/dist/composants/AncresParcours.svelte.d.ts +11 -0
  8. package/dist/composants/FiltresCatalogue.svelte +1069 -0
  9. package/dist/composants/FiltresCatalogue.svelte.d.ts +14 -0
  10. package/dist/composants/Hero.svelte +1073 -0
  11. package/dist/composants/Hero.svelte.d.ts +13 -0
  12. package/dist/dsfr/DsfrAlert.svelte +50 -0
  13. package/dist/dsfr/DsfrAlert.svelte.d.ts +17 -0
  14. package/dist/dsfr/DsfrBadge.svelte +47 -0
  15. package/dist/dsfr/DsfrBadge.svelte.d.ts +16 -0
  16. package/dist/dsfr/DsfrButton.svelte +1270 -0
  17. package/dist/dsfr/DsfrButton.svelte.d.ts +20 -0
  18. package/dist/dsfr/DsfrContainer.svelte +15 -0
  19. package/dist/dsfr/DsfrContainer.svelte.d.ts +13 -0
  20. package/dist/index.d.ts +3 -0
  21. package/dist/index.js +3 -0
  22. package/dist/lab/Bouton.svelte +32 -7
  23. package/dist/lab/Bouton.svelte.d.ts +11 -22
  24. package/dist/lab/Icone.svelte +669 -2
  25. package/dist/lab/Icone.svelte.d.ts +6 -18
  26. package/dist/lab/Lien.svelte +35 -43
  27. package/dist/lab/Lien.svelte.d.ts +14 -25
  28. package/dist/lab/ResumePssi.svelte +1 -1
  29. package/dist/lab/ResumePssi.svelte.d.ts +5 -17
  30. package/dist/lab/Tag.svelte +12 -8
  31. package/dist/lab/Tag.svelte.d.ts +10 -22
  32. package/dist/lab/apparence-bouton.scss +26 -0
  33. package/dist/lab/blog/BandeauTitre.svelte +5 -8
  34. package/dist/lab/blog/BandeauTitre.svelte.d.ts +9 -21
  35. package/dist/lab/blog/CarteArticle.svelte +2 -3
  36. package/dist/lab/blog/CarteArticle.svelte.d.ts +6 -18
  37. package/dist/lab/blog/IconeChevronBas.svelte.d.ts +22 -21
  38. package/dist/lab/blog/IconeMenuLateral.svelte.d.ts +22 -21
  39. package/dist/lab/blog/ListeArticles.svelte +5 -5
  40. package/dist/lab/blog/ListeArticles.svelte.d.ts +7 -19
  41. package/dist/lab/blog/ListeDeroulante.svelte +3 -4
  42. package/dist/lab/blog/ListeDeroulante.svelte.d.ts +9 -21
  43. package/dist/lab/blog/PageCrisp.svelte +10 -6
  44. package/dist/lab/blog/PageCrisp.svelte.d.ts +6 -18
  45. package/dist/lab/blog/SommaireBureau.svelte +3 -3
  46. package/dist/lab/blog/SommaireBureau.svelte.d.ts +21 -18
  47. package/dist/lab/blog/SommaireMobile.svelte +5 -5
  48. package/dist/lab/blog/SommaireMobile.svelte.d.ts +21 -18
  49. package/dist/lab/icones/Fleche.svelte +1 -1
  50. package/dist/lab/icones/Fleche.svelte.d.ts +5 -17
  51. package/dist/lab/icones/LienExterne.svelte +1 -1
  52. package/dist/lab/icones/LienExterne.svelte.d.ts +5 -17
  53. package/dist/lab/vitrines-produits/briques/Brique.svelte +7 -4
  54. package/dist/lab/vitrines-produits/briques/Brique.svelte.d.ts +8 -21
  55. package/dist/lab/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte +11 -9
  56. package/dist/lab/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte.d.ts +9 -21
  57. package/dist/lab/vitrines-produits/briques/BriqueHero.svelte +15 -11
  58. package/dist/lab/vitrines-produits/briques/BriqueHero.svelte.d.ts +11 -23
  59. package/dist/lab/vitrines-produits/briques/BriqueTitreMultimedia.svelte +2 -3
  60. package/dist/lab/vitrines-produits/briques/BriqueTitreMultimedia.svelte.d.ts +6 -18
  61. package/dist/lab/vitrines-produits/briques/CarrouselTuiles/CarrouselTuiles.svelte +5 -5
  62. package/dist/lab/vitrines-produits/briques/CarrouselTuiles/CarrouselTuiles.svelte.d.ts +6 -18
  63. package/dist/lab/vitrines-produits/briques/CarrouselTuiles/IconeFlecheDroite.svelte.d.ts +22 -21
  64. package/dist/lab/vitrines-produits/briques/CarrouselTuiles/IconeFlecheGauche.svelte.d.ts +22 -21
  65. package/dist/lab/vitrines-produits/briques/LecteurVideo.svelte +1 -4
  66. package/dist/lab/vitrines-produits/briques/LecteurVideo.svelte.d.ts +8 -20
  67. package/dist/lab/vitrines-produits/briques/PresentationANSSI.svelte +1 -1
  68. package/dist/lab/vitrines-produits/briques/PresentationANSSI.svelte.d.ts +16 -14
  69. package/dist/lab/vitrines-produits/briques/RejoindreLaCommunaute.svelte +2 -5
  70. package/dist/lab/vitrines-produits/briques/RejoindreLaCommunaute.svelte.d.ts +8 -20
  71. package/dist/lab/vitrines-produits/briques/Tuile.svelte +1 -4
  72. package/dist/lab/vitrines-produits/briques/Tuile.svelte.d.ts +9 -21
  73. package/dist/lab/vitrines-produits/briques/marelle/Etape.svelte +2 -3
  74. package/dist/lab/vitrines-produits/briques/marelle/Etape.svelte.d.ts +6 -18
  75. package/dist/lab/vitrines-produits/briques/marelle/Marelle.svelte +2 -4
  76. package/dist/lab/vitrines-produits/briques/marelle/Marelle.svelte.d.ts +7 -19
  77. package/dist/lab/vitrines-produits/briques/temoignages/IconeTemoignage.svelte.d.ts +22 -21
  78. package/dist/lab/vitrines-produits/briques/temoignages/Temoignages.svelte +12 -11
  79. package/dist/lab/vitrines-produits/briques/temoignages/Temoignages.svelte.d.ts +6 -18
  80. package/dist/mes-services-cyber/bandeau/Bandeau.svelte +5 -3
  81. package/dist/mes-services-cyber/bandeau/Bandeau.svelte.d.ts +3 -16
  82. package/dist/mes-services-cyber/lien/LienDiagnosticCyber.svelte +3 -3
  83. package/dist/mes-services-cyber/lien/LienDiagnosticCyber.svelte.d.ts +6 -18
  84. package/dist/pied-de-page/NavigationPiedDePage.svelte +1 -1
  85. package/dist/pied-de-page/NavigationPiedDePage.svelte.d.ts +5 -17
  86. package/dist/styles/mixins.scss +17 -0
  87. package/dist/suite-cyber/navigation/AccueilMSC.svelte +1 -1
  88. package/dist/suite-cyber/navigation/AccueilMSC.svelte.d.ts +16 -14
  89. package/dist/suite-cyber/navigation/BlocLiens.svelte +1 -2
  90. package/dist/suite-cyber/navigation/BlocLiens.svelte.d.ts +12 -23
  91. package/dist/suite-cyber/navigation/Navigation.svelte +5 -5
  92. package/dist/suite-cyber/navigation/Navigation.svelte.d.ts +5 -17
  93. package/dist/{types.d.ts → types/commun.d.ts} +5 -10
  94. package/dist/types/commun.js +1 -0
  95. package/dist/types/global.d.ts +22 -0
  96. package/dist/types/global.js +9 -0
  97. package/dist/types/index.d.ts +2 -0
  98. package/dist/types/index.js +1 -0
  99. package/dist/utilitaires/index.d.ts +6 -0
  100. package/dist/utilitaires/index.js +12 -0
  101. package/dist/webcomponents/lab-anssi-ui-kit.iife.js +186 -41
  102. package/dist/webcomponents/lab-anssi-ui-kit.jsx.d.ts +23 -83
  103. package/package.json +42 -44
  104. package/dist/generateurImagesPlaceholders.d.ts +0 -1
  105. package/dist/generateurImagesPlaceholders.js +0 -3
  106. package/dist/types.js +0 -1
@@ -1,19 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
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
- export {};
5
+ declare const Icone: import("svelte").Component<Props, {}, "">;
6
+ type Icone = ReturnType<typeof Icone>;
7
+ export default Icone;
@@ -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
- export let titre;
20
- export let href;
21
- export let variante;
22
- export let taille;
23
- export let icone = void 0;
24
- export let apparence = "lien";
25
- export let cible = void 0;
26
- export let positionIcone = "sans";
27
- export let actif = true;
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
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- titre: string;
5
- href: string;
6
- variante: "primaire" | "tertiaire" | "tertiaire-sans-bordure";
7
- taille: "sm" | "md" | "lg";
8
- icone?: string | undefined;
9
- apparence?: "lien" | "bouton" | "lien-texte";
10
- cible?: string | undefined;
11
- positionIcone?: "sans" | "seule" | "droite" | "gauche";
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
- export {};
13
+ declare const Lien: import("svelte").Component<Props, {}, "">;
14
+ type Lien = ReturnType<typeof Lien>;
15
+ export default Lien;
@@ -1,6 +1,6 @@
1
1
  <svelte:options customElement="lab-anssi-resume-pssi" />
2
2
 
3
- <script>export let nomService;
3
+ <script lang="ts">let { nomService } = $props();
4
4
  </script>
5
5
 
6
6
  <p>
@@ -1,18 +1,6 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
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
- export {};
4
+ declare const ResumePssi: import("svelte").Component<Props, {}, "">;
5
+ type ResumePssi = ReturnType<typeof ResumePssi>;
6
+ export default ResumePssi;
@@ -12,13 +12,15 @@
12
12
  }}
13
13
  />
14
14
 
15
- <script>export let label;
16
- export let couleurTexte;
17
- export let couleurFond;
18
- export let taille = "sm";
19
- export let type = "defaut";
20
- export let presse = false;
21
- $: selectionne = presse;
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
- on:click={bascule}
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 {
@@ -1,23 +1,11 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- label: string;
5
- couleurTexte: string | undefined;
6
- couleurFond: string | undefined;
7
- taille?: "sm" | "md";
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
- export {};
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 { estLien } from "../../types.js";
14
- import Tag from "../Tag.svelte";
15
- export let titre;
16
- export let description = "";
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 on:click={() => (filArianeVisible = true)}>Voir le fil d'Ariane</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 { SvelteComponent } from "svelte";
2
- import { type NoeudFilAriane, type InfosTag } from "../../types.js";
3
- declare const __propDef: {
4
- props: {
5
- titre: string;
6
- description?: string;
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
- export {};
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
- export let article;
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
- declare const __propDef: {
4
- props: {
5
- article: ResumeArticle;
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
- export {};
6
+ declare const CarteArticle: import("svelte").Component<Props, {}, "">;
7
+ type CarteArticle = ReturnType<typeof CarteArticle>;
8
+ export default CarteArticle;
@@ -1,25 +1,26 @@
1
- /** @typedef {typeof __propDef.props} IconeChevronBasProps */
2
- /** @typedef {typeof __propDef.events} IconeChevronBasEvents */
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
- export {};
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
- /** @typedef {typeof __propDef.props} IconeMenuLateralProps */
2
- /** @typedef {typeof __propDef.events} IconeMenuLateralEvents */
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
- export {};
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
- export let articles;
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
- $: articlesVisibles = idCategorieChoisie === "tous" ? articles : articles.filter((a) => a.idCategorie === idCategorieChoisie);
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">