@lab-anssi/ui-kit 1.61.3 → 1.62.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 (221) hide show
  1. package/README.md +102 -21
  2. package/dist/assets/assets.d.ts +1 -0
  3. package/dist/assets/assets.js +1 -0
  4. package/dist/assets/dsfr-icons.css +1 -0
  5. package/dist/composants/Alerte.svelte +83 -0
  6. package/dist/composants/Alerte.svelte.d.ts +32 -0
  7. package/dist/composants/AncresParcours.svelte +132 -0
  8. package/dist/composants/AncresParcours.svelte.d.ts +11 -0
  9. package/dist/composants/BandeauPage.svelte +218 -0
  10. package/dist/composants/BandeauPage.svelte.d.ts +58 -0
  11. package/dist/composants/BlocFonctionnalites.svelte +570 -0
  12. package/dist/composants/BlocFonctionnalites.svelte.d.ts +105 -0
  13. package/dist/composants/Bouton.svelte +156 -0
  14. package/dist/composants/Bouton.svelte.d.ts +36 -0
  15. package/dist/composants/CentreAide.svelte +223 -0
  16. package/dist/composants/CentreAide.svelte.d.ts +41 -0
  17. package/dist/composants/FiltresCatalogue.svelte +147 -0
  18. package/dist/composants/FiltresCatalogue.svelte.d.ts +15 -0
  19. package/dist/composants/Icone.svelte +42 -0
  20. package/dist/composants/Icone.svelte.d.ts +7 -0
  21. package/dist/composants/Lien.svelte +233 -0
  22. package/dist/composants/Lien.svelte.d.ts +39 -0
  23. package/dist/composants/MultiSelect.svelte +931 -0
  24. package/dist/composants/MultiSelect.svelte.d.ts +51 -0
  25. package/dist/composants/Reactions.svelte +360 -0
  26. package/dist/composants/Reactions.svelte.d.ts +23 -0
  27. package/dist/composants/ResumePssi.svelte +92 -0
  28. package/dist/composants/ResumePssi.svelte.d.ts +6 -0
  29. package/dist/composants/Tag.svelte +113 -0
  30. package/dist/composants/Tag.svelte.d.ts +35 -0
  31. package/dist/composants/blog/BandeauTitre.svelte +150 -0
  32. package/dist/composants/blog/BandeauTitre.svelte.d.ts +29 -0
  33. package/dist/composants/blog/CarteArticle.svelte +69 -0
  34. package/dist/composants/blog/CarteArticle.svelte.d.ts +8 -0
  35. package/dist/composants/blog/IconeChevronBas.svelte +22 -0
  36. package/dist/composants/blog/IconeChevronBas.svelte.d.ts +26 -0
  37. package/dist/composants/blog/IconeMenuLateral.svelte +15 -0
  38. package/dist/composants/blog/IconeMenuLateral.svelte.d.ts +26 -0
  39. package/dist/composants/blog/ListeArticles.svelte +62 -0
  40. package/dist/composants/blog/ListeArticles.svelte.d.ts +9 -0
  41. package/dist/composants/blog/ListeDeroulante.svelte +57 -0
  42. package/dist/composants/blog/ListeDeroulante.svelte.d.ts +10 -0
  43. package/dist/composants/blog/PageCrisp.svelte +244 -0
  44. package/dist/composants/blog/PageCrisp.svelte.d.ts +8 -0
  45. package/dist/composants/blog/SommaireBureau.svelte +64 -0
  46. package/dist/composants/blog/SommaireBureau.svelte.d.ts +9 -0
  47. package/dist/composants/blog/SommaireMobile.svelte +115 -0
  48. package/dist/composants/blog/SommaireMobile.svelte.d.ts +9 -0
  49. package/dist/composants/carrousel-tuiles/CarrouselTuiles.svelte +184 -0
  50. package/dist/composants/carrousel-tuiles/CarrouselTuiles.svelte.d.ts +34 -0
  51. package/dist/composants/carrousel-tuiles/IconeFlecheDroite.svelte +16 -0
  52. package/dist/composants/carrousel-tuiles/IconeFlecheDroite.svelte.d.ts +26 -0
  53. package/dist/composants/carrousel-tuiles/IconeFlecheGauche.svelte +12 -0
  54. package/dist/composants/carrousel-tuiles/IconeFlecheGauche.svelte.d.ts +26 -0
  55. package/dist/composants/carrousel-tuiles/Tuile.svelte +72 -0
  56. package/dist/composants/carrousel-tuiles/Tuile.svelte.d.ts +10 -0
  57. package/dist/composants/icones/Fleche.svelte +25 -0
  58. package/dist/composants/icones/Fleche.svelte.d.ts +6 -0
  59. package/dist/composants/icones/LienExterne.svelte +20 -0
  60. package/dist/composants/icones/LienExterne.svelte.d.ts +6 -0
  61. package/dist/composants/marelle/Etape.svelte +165 -0
  62. package/dist/composants/marelle/Etape.svelte.d.ts +32 -0
  63. package/dist/composants/marelle/Marelle.svelte +97 -0
  64. package/dist/composants/marelle/Marelle.svelte.d.ts +44 -0
  65. package/dist/composants/mes-services-cyber/bandeau/Bandeau.svelte +158 -0
  66. package/dist/composants/mes-services-cyber/bandeau/Bandeau.svelte.d.ts +3 -0
  67. package/dist/composants/mes-services-cyber/lien/LienDiagnosticCyber.svelte +125 -0
  68. package/dist/composants/mes-services-cyber/lien/LienDiagnosticCyber.svelte.d.ts +7 -0
  69. package/dist/composants/pied-de-page/NavigationPiedDePage.svelte +62 -0
  70. package/dist/composants/pied-de-page/NavigationPiedDePage.svelte.d.ts +6 -0
  71. package/dist/composants/suite-cyber/AccueilSuiteCyber.svelte +96 -0
  72. package/dist/composants/suite-cyber/AccueilSuiteCyber.svelte.d.ts +6 -0
  73. package/dist/composants/suite-cyber/LiensSuiteCyber.svelte +99 -0
  74. package/dist/composants/suite-cyber/LiensSuiteCyber.svelte.d.ts +14 -0
  75. package/dist/composants/suite-cyber/SuiteCyber.svelte +296 -0
  76. package/dist/composants/suite-cyber/SuiteCyber.svelte.d.ts +6 -0
  77. package/dist/composants/vitrines-produits/briques/Brique.svelte +50 -0
  78. package/dist/composants/vitrines-produits/briques/Brique.svelte.d.ts +9 -0
  79. package/dist/composants/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte +144 -0
  80. package/dist/composants/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte.d.ts +29 -0
  81. package/dist/composants/vitrines-produits/briques/BriqueHero.svelte +246 -0
  82. package/dist/composants/vitrines-produits/briques/BriqueHero.svelte.d.ts +31 -0
  83. package/dist/composants/vitrines-produits/briques/BriqueTitreMultimedia.svelte +50 -0
  84. package/dist/composants/vitrines-produits/briques/BriqueTitreMultimedia.svelte.d.ts +25 -0
  85. package/dist/composants/vitrines-produits/briques/LecteurVideo.svelte +14 -0
  86. package/dist/composants/vitrines-produits/briques/LecteurVideo.svelte.d.ts +9 -0
  87. package/dist/composants/vitrines-produits/briques/PresentationANSSI.svelte +148 -0
  88. package/dist/composants/vitrines-produits/briques/PresentationANSSI.svelte.d.ts +37 -0
  89. package/dist/composants/vitrines-produits/briques/RejoindreLaCommunaute.svelte +139 -0
  90. package/dist/composants/vitrines-produits/briques/RejoindreLaCommunaute.svelte.d.ts +36 -0
  91. package/dist/composants/vitrines-produits/briques/temoignages/IconeTemoignage.svelte +18 -0
  92. package/dist/composants/vitrines-produits/briques/temoignages/IconeTemoignage.svelte.d.ts +26 -0
  93. package/dist/composants/vitrines-produits/briques/temoignages/Temoignages.svelte +168 -0
  94. package/dist/composants/vitrines-produits/briques/temoignages/Temoignages.svelte.d.ts +13 -0
  95. package/dist/directives/actions.svelte.d.ts +32 -0
  96. package/dist/directives/actions.svelte.js +158 -0
  97. package/dist/dsfr/DsfrAccordion.svelte +889 -0
  98. package/dist/dsfr/DsfrAccordion.svelte.d.ts +40 -0
  99. package/dist/dsfr/DsfrAlert.svelte +2097 -0
  100. package/dist/dsfr/DsfrAlert.svelte.d.ts +36 -0
  101. package/dist/dsfr/DsfrBadge.svelte +532 -0
  102. package/dist/dsfr/DsfrBadge.svelte.d.ts +41 -0
  103. package/dist/dsfr/DsfrBadgesGroup.svelte +610 -0
  104. package/dist/dsfr/DsfrBadgesGroup.svelte.d.ts +25 -0
  105. package/dist/dsfr/DsfrBreadcrumb.svelte +657 -0
  106. package/dist/dsfr/DsfrBreadcrumb.svelte.d.ts +25 -0
  107. package/dist/dsfr/DsfrButton.svelte +1821 -0
  108. package/dist/dsfr/DsfrButton.svelte.d.ts +68 -0
  109. package/dist/dsfr/DsfrButtonsGroup.svelte +1896 -0
  110. package/dist/dsfr/DsfrButtonsGroup.svelte.d.ts +36 -0
  111. package/dist/dsfr/DsfrCallout.svelte +242 -0
  112. package/dist/dsfr/DsfrCallout.svelte.d.ts +46 -0
  113. package/dist/dsfr/DsfrCard.svelte +10223 -0
  114. package/dist/dsfr/DsfrCard.svelte.d.ts +102 -0
  115. package/dist/dsfr/DsfrCheckbox.svelte +1280 -0
  116. package/dist/dsfr/DsfrCheckbox.svelte.d.ts +69 -0
  117. package/dist/dsfr/DsfrCheckboxesGroup.svelte +1532 -0
  118. package/dist/dsfr/DsfrCheckboxesGroup.svelte.d.ts +73 -0
  119. package/dist/dsfr/DsfrConnect.svelte +511 -0
  120. package/dist/dsfr/DsfrConnect.svelte.d.ts +15 -0
  121. package/dist/dsfr/DsfrContainer.svelte +894 -0
  122. package/dist/dsfr/DsfrContainer.svelte.d.ts +31 -0
  123. package/dist/dsfr/DsfrContent.svelte +1140 -0
  124. package/dist/dsfr/DsfrContent.svelte.d.ts +60 -0
  125. package/dist/dsfr/DsfrDropdown.svelte +335 -0
  126. package/dist/dsfr/DsfrDropdown.svelte.d.ts +73 -0
  127. package/dist/dsfr/DsfrFooter.svelte +2370 -0
  128. package/dist/dsfr/DsfrFooter.svelte.d.ts +77 -0
  129. package/dist/dsfr/DsfrHeader.svelte +4162 -0
  130. package/dist/dsfr/DsfrHeader.svelte.d.ts +131 -0
  131. package/dist/dsfr/DsfrHighlight.svelte +294 -0
  132. package/dist/dsfr/DsfrHighlight.svelte.d.ts +33 -0
  133. package/dist/dsfr/DsfrInput.svelte +1270 -0
  134. package/dist/dsfr/DsfrInput.svelte.d.ts +86 -0
  135. package/dist/dsfr/DsfrLabel.svelte +438 -0
  136. package/dist/dsfr/DsfrLabel.svelte.d.ts +65 -0
  137. package/dist/dsfr/DsfrLink.svelte +1007 -0
  138. package/dist/dsfr/DsfrLink.svelte.d.ts +66 -0
  139. package/dist/dsfr/DsfrLogo.svelte +228 -0
  140. package/dist/dsfr/DsfrLogo.svelte.d.ts +11 -0
  141. package/dist/dsfr/DsfrMessagesGroup.svelte +260 -0
  142. package/dist/dsfr/DsfrMessagesGroup.svelte.d.ts +46 -0
  143. package/dist/dsfr/DsfrModal.svelte +2983 -0
  144. package/dist/dsfr/DsfrModal.svelte.d.ts +56 -0
  145. package/dist/dsfr/DsfrNavigation.svelte +7626 -0
  146. package/dist/dsfr/DsfrNotice.svelte +2948 -0
  147. package/dist/dsfr/DsfrNotice.svelte.d.ts +37 -0
  148. package/dist/dsfr/DsfrPagination.svelte +1036 -0
  149. package/dist/dsfr/DsfrPagination.svelte.d.ts +35 -0
  150. package/dist/dsfr/DsfrQuote.svelte +646 -0
  151. package/dist/dsfr/DsfrQuote.svelte.d.ts +29 -0
  152. package/dist/dsfr/DsfrRadio.svelte +1307 -0
  153. package/dist/dsfr/DsfrRadio.svelte.d.ts +37 -0
  154. package/dist/dsfr/DsfrRadiosGroup.svelte +1629 -0
  155. package/dist/dsfr/DsfrRadiosGroup.svelte.d.ts +76 -0
  156. package/dist/dsfr/DsfrRange.svelte +1329 -0
  157. package/dist/dsfr/DsfrRange.svelte.d.ts +77 -0
  158. package/dist/dsfr/DsfrSearch.svelte +2015 -0
  159. package/dist/dsfr/DsfrSearch.svelte.d.ts +51 -0
  160. package/dist/dsfr/DsfrSegmented.svelte +422 -0
  161. package/dist/dsfr/DsfrSegmented.svelte.d.ts +34 -0
  162. package/dist/dsfr/DsfrSelect.svelte +1068 -0
  163. package/dist/dsfr/DsfrSelect.svelte.d.ts +86 -0
  164. package/dist/dsfr/DsfrShare.svelte +2228 -0
  165. package/dist/dsfr/DsfrShare.svelte.d.ts +40 -0
  166. package/dist/dsfr/DsfrSideMenu.svelte +1211 -0
  167. package/dist/dsfr/DsfrSideMenu.svelte.d.ts +34 -0
  168. package/dist/dsfr/DsfrSkipLink.svelte +990 -0
  169. package/dist/dsfr/DsfrSkipLink.svelte.d.ts +13 -0
  170. package/dist/dsfr/DsfrStepper.svelte +340 -0
  171. package/dist/dsfr/DsfrStepper.svelte.d.ts +18 -0
  172. package/dist/dsfr/DsfrTable.svelte +829 -0
  173. package/dist/dsfr/DsfrTable.svelte.d.ts +202 -0
  174. package/dist/dsfr/DsfrTabnav.svelte +1149 -0
  175. package/dist/dsfr/DsfrTabnav.svelte.d.ts +36 -0
  176. package/dist/dsfr/DsfrTabs.svelte +926 -0
  177. package/dist/dsfr/DsfrTabs.svelte.d.ts +28 -0
  178. package/dist/dsfr/DsfrTag.svelte +1269 -0
  179. package/dist/dsfr/DsfrTag.svelte.d.ts +59 -0
  180. package/dist/dsfr/DsfrTagsGroup.svelte +1351 -0
  181. package/dist/dsfr/DsfrTagsGroup.svelte.d.ts +37 -0
  182. package/dist/dsfr/DsfrTextarea.svelte +1385 -0
  183. package/dist/dsfr/DsfrTextarea.svelte.d.ts +72 -0
  184. package/dist/dsfr/DsfrTile.svelte +7645 -0
  185. package/dist/dsfr/DsfrTile.svelte.d.ts +79 -0
  186. package/dist/dsfr/DsfrToggle.svelte +1453 -0
  187. package/dist/dsfr/DsfrToggle.svelte.d.ts +56 -0
  188. package/dist/dsfr/DsfrTooltip.svelte +396 -0
  189. package/dist/dsfr/DsfrTooltip.svelte.d.ts +36 -0
  190. package/dist/dsfr/DsfrTranscription.svelte +2962 -0
  191. package/dist/dsfr/DsfrTranscription.svelte.d.ts +39 -0
  192. package/dist/dsfr/DsfrTranslate.svelte +1384 -0
  193. package/dist/dsfr/DsfrTranslate.svelte.d.ts +19 -0
  194. package/dist/dsfr/DsfrUser.svelte +736 -0
  195. package/dist/dsfr/DsfrUser.svelte.d.ts +65 -0
  196. package/dist/index.d.ts +79 -0
  197. package/dist/index.js +79 -0
  198. package/dist/styles/apparence-bouton.scss +154 -0
  199. package/dist/styles/dsfr-icons.css +1 -0
  200. package/dist/styles/dsfr-icons.scss +4 -0
  201. package/dist/styles/dsfr-variables.scss +28 -0
  202. package/dist/styles/mixins-dsfr.scss +226 -0
  203. package/dist/styles/mixins.scss +51 -0
  204. package/dist/types/commun.d.ts +63 -0
  205. package/dist/types/commun.js +1 -0
  206. package/dist/types/global.d.ts +24 -0
  207. package/dist/types/global.js +9 -0
  208. package/dist/types/index.d.ts +2 -0
  209. package/dist/types/index.js +1 -0
  210. package/dist/ui-kit-components.json +142 -100
  211. package/dist/utilitaires/createFormValidation.svelte.d.ts +34 -0
  212. package/dist/utilitaires/createFormValidation.svelte.js +183 -0
  213. package/dist/utilitaires/icons-stylesheet.d.ts +370 -0
  214. package/dist/utilitaires/icons-stylesheet.js +33 -0
  215. package/dist/utilitaires/index.d.ts +14 -0
  216. package/dist/utilitaires/index.js +26 -0
  217. package/dist/web-types.json +149 -101
  218. package/dist/webcomponents/lab-anssi-ui-kit.iife.js +36 -9
  219. package/dist/webcomponents/lab-anssi-ui-kit.jsx.d.ts +42 -24
  220. package/package.json +49 -43
  221. package/dist/index.html +0 -0
@@ -0,0 +1,35 @@
1
+ type PageLink = {
2
+ label: string;
3
+ href: string;
4
+ title?: string;
5
+ displayedLg?: boolean;
6
+ };
7
+ interface Props {
8
+ /** Liste des pages à afficher dans la pagination */
9
+ pages: PageLink[];
10
+ /** Ajoute des boutons Première et Dernière page */
11
+ hasFirstAndLast?: boolean;
12
+ /** Données du bouton de Première page */
13
+ first?: PageLink;
14
+ /** Données du bouton de Dernière page */
15
+ last?: PageLink;
16
+ /** Affiche les boutons Première et Dernière page à partir du breakpoint LG */
17
+ firstAndLastDisplayedLg?: boolean;
18
+ /** Ajoute des boutons page Précédente et Suivante */
19
+ hasPrevAndNext?: boolean;
20
+ /** Données du bouton de page Précédente */
21
+ prev?: PageLink;
22
+ /** Données du bouton de page Suivante */
23
+ next?: PageLink;
24
+ /** Affiche les boutons page Précédente et Suivante à partir du breakpoint LG */
25
+ prevAndNextDisplayedLg?: boolean;
26
+ /** Affiche les libellés des boutons page Précédente et Suivante à partir du breakpoint LG */
27
+ prevAndNextHasLgLabel?: boolean;
28
+ /** Page courante */
29
+ currentPageIndex?: number;
30
+ /** Callback appelé lors du changement de page */
31
+ onpagechange?: (page: number) => void;
32
+ }
33
+ declare const DsfrPagination: import("svelte").Component<Props, {}, "">;
34
+ type DsfrPagination = ReturnType<typeof DsfrPagination>;
35
+ export default DsfrPagination;
@@ -0,0 +1,646 @@
1
+ <svelte:options
2
+ customElement={{
3
+ tag: "dsfr-quote",
4
+ props: {
5
+ text: { attribute: "text", type: "String" },
6
+ size: { attribute: "size", type: "String" },
7
+ hasAuthor: { attribute: "has-author", type: "Boolean" },
8
+ author: { attribute: "author", type: "String" },
9
+ hasDetails: { attribute: "has-details", type: "Boolean" },
10
+ sources: { attribute: "sources", type: "Array" },
11
+ hasImage: { attribute: "has-image", type: "Boolean" },
12
+ src: { attribute: "src", type: "String" },
13
+ alt: { attribute: "alt", type: "String" },
14
+ accent: { attribute: "accent", type: "String" },
15
+ sourceUrl: { attribute: "source-url", type: "String" },
16
+ },
17
+ }}
18
+ />
19
+
20
+ <script lang="ts">import { setThemeable } from "../utilitaires";
21
+ setThemeable($host());
22
+ let { text, size = "md", hasAuthor, author, hasDetails, sources, hasImage, src, alt = "", accent, sourceUrl } = $props();
23
+ let accentClass = $derived(accent && `fr-quote--${accent}`);
24
+ let columnClass = $derived(hasImage && `fr-quote--column`);
25
+ </script>
26
+
27
+ <figure class={["fr-quote", accentClass, columnClass]}>
28
+ <blockquote cite={sourceUrl ? sourceUrl : undefined}>
29
+ <p class="fr-text--{size}">«&nbsp;{text}&nbsp;»</p>
30
+ </blockquote>
31
+ <figcaption>
32
+ {#if hasAuthor}
33
+ <p class="fr-quote__author">{author}</p>
34
+ {/if}
35
+ {#if hasDetails && sources && sources.length > 0}
36
+ <ul class="fr-quote__source">
37
+ {#each sources as source, index (index)}
38
+ <!-- eslint-disable-next-line svelte/no-at-html-tags -->
39
+ <li>{@html source}</li>
40
+ {/each}
41
+ </ul>
42
+ {/if}
43
+ {#if hasImage}
44
+ <div class="fr-quote__image">
45
+ <img class="fr-responsive-img" {src} {alt} />
46
+ </div>
47
+ {/if}
48
+ </figcaption>
49
+ </figure>
50
+
51
+ <style>@charset "UTF-8";
52
+ p {
53
+ font-size: 1rem;
54
+ line-height: 1.5rem;
55
+ margin: var(--text-spacing);
56
+ }
57
+
58
+ :root {
59
+ --ul-type: disc;
60
+ --ol-type: decimal;
61
+ --ul-start: 1rem;
62
+ --ol-start: 1.5rem;
63
+ --xl-block: 0.5rem;
64
+ --li-bottom: 0.25rem;
65
+ --xl-base: 1em;
66
+ --ol-content: counters(li-counter, ".") ".\00a0\00a0";
67
+ }
68
+
69
+ ul,
70
+ ol,
71
+ dl {
72
+ margin: 0;
73
+ padding: 0;
74
+ margin-block-start: var(--xl-block);
75
+ margin-block-end: var(--xl-block);
76
+ --xl-size: var(--xl-base);
77
+ }
78
+
79
+ ul {
80
+ list-style-type: var(--ul-type);
81
+ padding-inline-start: var(--ul-start);
82
+ }
83
+ ul > li::marker {
84
+ font-size: calc(var(--xl-size) * 0.9);
85
+ }
86
+ @media (-ms-high-contrast: active), (forced-colors: active) {
87
+ ul > li::marker {
88
+ color: graytext;
89
+ }
90
+ }
91
+
92
+ ol {
93
+ list-style-type: var(--ol-type);
94
+ padding-inline-start: var(--ol-start);
95
+ counter-reset: li-counter;
96
+ }
97
+ ol > li {
98
+ counter-increment: li-counter;
99
+ }
100
+ ol > li::marker {
101
+ content: var(--ol-content);
102
+ font-size: var(--xl-size);
103
+ font-weight: bold;
104
+ }
105
+
106
+ dl,
107
+ dd {
108
+ margin: 0;
109
+ padding-inline-start: var(--ul-start);
110
+ }
111
+
112
+ li,
113
+ dd,
114
+ dt {
115
+ --xl-base: calc(var(--xl-size) * 0.9);
116
+ padding-bottom: var(--li-bottom);
117
+ }
118
+
119
+ .fr-raw-list {
120
+ --ul-type: none;
121
+ --ol-type: none;
122
+ --ul-start: 0;
123
+ --ol-start: 0;
124
+ --xl-block: 0;
125
+ --li-bottom: 0;
126
+ --ol-content: none;
127
+ }
128
+
129
+ .fr-list {
130
+ --ul-type: disc;
131
+ --ol-type: decimal;
132
+ --ul-start: 1rem;
133
+ --ol-start: 1.5rem;
134
+ --xl-block: 0.5rem;
135
+ --li-bottom: 0.25rem;
136
+ --xl-base: 1em;
137
+ --ol-content: counters(li-counter, ".") ".\00a0\00a0";
138
+ }
139
+
140
+ :root {
141
+ --text-spacing: 0 0 1.5rem;
142
+ --title-spacing: 0 0 1.5rem;
143
+ --display-spacing: 0 0 2rem;
144
+ }
145
+
146
+ .fr-h6 {
147
+ font-weight: 700 !important;
148
+ font-size: 1.125rem !important;
149
+ line-height: 1.5rem !important;
150
+ }
151
+ @media (min-width: 48em) {
152
+ .fr-h6 {
153
+ font-size: 1.25rem !important;
154
+ line-height: 1.75rem !important;
155
+ }
156
+ }
157
+ .fr-h6 {
158
+ margin: var(--title-spacing);
159
+ }
160
+
161
+ .fr-h5 {
162
+ font-weight: 700 !important;
163
+ font-size: 1.25rem !important;
164
+ line-height: 1.75rem !important;
165
+ }
166
+ @media (min-width: 48em) {
167
+ .fr-h5 {
168
+ font-size: 1.375rem !important;
169
+ line-height: 1.75rem !important;
170
+ }
171
+ }
172
+ .fr-h5 {
173
+ margin: var(--title-spacing);
174
+ }
175
+
176
+ .fr-h4 {
177
+ font-weight: 700 !important;
178
+ font-size: 1.375rem !important;
179
+ line-height: 1.75rem !important;
180
+ }
181
+ @media (min-width: 48em) {
182
+ .fr-h4 {
183
+ font-size: 1.5rem !important;
184
+ line-height: 2rem !important;
185
+ }
186
+ }
187
+ .fr-h4 {
188
+ margin: var(--title-spacing);
189
+ }
190
+
191
+ .fr-h3 {
192
+ font-weight: 700 !important;
193
+ font-size: 1.5rem !important;
194
+ line-height: 2rem !important;
195
+ }
196
+ @media (min-width: 48em) {
197
+ .fr-h3 {
198
+ font-size: 1.75rem !important;
199
+ line-height: 2.25rem !important;
200
+ }
201
+ }
202
+ .fr-h3 {
203
+ margin: var(--title-spacing);
204
+ }
205
+
206
+ .fr-h2 {
207
+ font-weight: 700 !important;
208
+ font-size: 1.75rem !important;
209
+ line-height: 2.25rem !important;
210
+ }
211
+ @media (min-width: 48em) {
212
+ .fr-h2 {
213
+ font-size: 2rem !important;
214
+ line-height: 2.5rem !important;
215
+ }
216
+ }
217
+ .fr-h2 {
218
+ margin: var(--title-spacing);
219
+ }
220
+
221
+ .fr-h1 {
222
+ font-weight: 700 !important;
223
+ font-size: 2rem !important;
224
+ line-height: 2.5rem !important;
225
+ }
226
+ @media (min-width: 48em) {
227
+ .fr-h1 {
228
+ font-size: 2.5rem !important;
229
+ line-height: 3rem !important;
230
+ }
231
+ }
232
+ .fr-h1 {
233
+ margin: var(--title-spacing);
234
+ }
235
+
236
+ .fr-display--xs {
237
+ font-weight: 700 !important;
238
+ font-size: 2.5rem !important;
239
+ line-height: 3rem !important;
240
+ }
241
+ @media (min-width: 48em) {
242
+ .fr-display--xs {
243
+ font-size: 3rem !important;
244
+ line-height: 3.5rem !important;
245
+ }
246
+ }
247
+ .fr-display--xs {
248
+ margin: var(--display-spacing);
249
+ }
250
+
251
+ .fr-display--sm {
252
+ font-weight: 700 !important;
253
+ font-size: 3rem !important;
254
+ line-height: 3.5rem !important;
255
+ }
256
+ @media (min-width: 48em) {
257
+ .fr-display--sm {
258
+ font-size: 3.5rem !important;
259
+ line-height: 4rem !important;
260
+ }
261
+ }
262
+ .fr-display--sm {
263
+ margin: var(--display-spacing);
264
+ }
265
+
266
+ .fr-display--md {
267
+ font-weight: 700 !important;
268
+ font-size: 3.5rem !important;
269
+ line-height: 4rem !important;
270
+ }
271
+ @media (min-width: 48em) {
272
+ .fr-display--md {
273
+ font-size: 4rem !important;
274
+ line-height: 4.5rem !important;
275
+ }
276
+ }
277
+ .fr-display--md {
278
+ margin: var(--display-spacing);
279
+ }
280
+
281
+ .fr-display--lg {
282
+ font-weight: 700 !important;
283
+ font-size: 4rem !important;
284
+ line-height: 4.5rem !important;
285
+ }
286
+ @media (min-width: 48em) {
287
+ .fr-display--lg {
288
+ font-size: 4.5rem !important;
289
+ line-height: 5rem !important;
290
+ }
291
+ }
292
+ .fr-display--lg {
293
+ margin: var(--display-spacing);
294
+ }
295
+
296
+ .fr-display--xl {
297
+ font-weight: 700 !important;
298
+ font-size: 4.5rem !important;
299
+ line-height: 5rem !important;
300
+ }
301
+ @media (min-width: 48em) {
302
+ .fr-display--xl {
303
+ font-size: 5rem !important;
304
+ line-height: 5.5rem !important;
305
+ }
306
+ }
307
+ .fr-display--xl {
308
+ margin: var(--display-spacing);
309
+ }
310
+
311
+ .fr-text--alt {
312
+ font-family: "Spectral", georgia, serif !important;
313
+ }
314
+
315
+ .fr-text--xs {
316
+ font-size: 0.75rem !important;
317
+ line-height: 1.25rem !important;
318
+ margin: var(--text-spacing);
319
+ }
320
+
321
+ .fr-text--sm {
322
+ font-size: 0.875rem !important;
323
+ line-height: 1.5rem !important;
324
+ margin: var(--text-spacing);
325
+ }
326
+
327
+ .fr-text--md {
328
+ font-size: 1rem !important;
329
+ line-height: 1.5rem !important;
330
+ margin: var(--text-spacing);
331
+ }
332
+
333
+ .fr-text--lg {
334
+ font-size: 1.125rem !important;
335
+ line-height: 1.75rem !important;
336
+ margin: var(--text-spacing);
337
+ }
338
+
339
+ .fr-text--xl, .fr-text--lead {
340
+ font-size: 1.25rem !important;
341
+ line-height: 2rem !important;
342
+ margin: var(--text-spacing);
343
+ }
344
+
345
+ .fr-responsive-img {
346
+ width: 100%;
347
+ height: auto;
348
+ }
349
+
350
+ .fr-responsive-vid {
351
+ position: relative;
352
+ width: 100%;
353
+ aspect-ratio: 1.7777777778;
354
+ display: block;
355
+ }
356
+ .fr-responsive-vid__player {
357
+ width: 100%;
358
+ height: 100%;
359
+ display: block;
360
+ border: 0;
361
+ }
362
+ .fr-responsive-vid > .fr-consent-placeholder {
363
+ object-fit: cover;
364
+ object-position: 50% 50%;
365
+ position: absolute;
366
+ top: 0;
367
+ right: 0;
368
+ bottom: 0;
369
+ left: 0;
370
+ width: 100%;
371
+ height: 100%;
372
+ }
373
+
374
+ /* ¯¯¯¯¯¯¯¯¯ *\
375
+ QUOTE
376
+ \* ˍˍˍˍˍˍˍˍˍ */
377
+ @media (min-width: 36em) {
378
+ /*! media sm */
379
+ }
380
+ @media (min-width: 48em) {
381
+ /*! media md */
382
+ }
383
+ @media (min-width: 62em) {
384
+ /*! media lg */
385
+ }
386
+ @media (min-width: 78em) {
387
+ /*! media xl */
388
+ }
389
+ .fr-quote {
390
+ position: relative;
391
+ margin: 0;
392
+ padding: 0 0.5rem 2rem 0.5rem;
393
+ }
394
+ @media (min-width: 48em) {
395
+ .fr-quote {
396
+ padding: 0 0 0 2rem;
397
+ }
398
+ }
399
+ .fr-quote {
400
+ background-size: 50% 1px;
401
+ background-repeat: no-repeat;
402
+ background-position: 0.5rem 100%;
403
+ }
404
+ @media (-ms-high-contrast: active), (forced-colors: active) {
405
+ .fr-quote {
406
+ border-left: 1px solid;
407
+ }
408
+ }
409
+ @media (min-width: 48em) {
410
+ .fr-quote {
411
+ background-size: 1px 100%;
412
+ background-position: 0 0;
413
+ }
414
+ }
415
+ .fr-quote::before, .fr-quote::after {
416
+ flex: 0 0 auto;
417
+ display: inline-block;
418
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
419
+ background-color: currentColor;
420
+ width: var(--icon-size);
421
+ height: var(--icon-size);
422
+ -webkit-mask-size: 100% 100%;
423
+ mask-size: 100% 100%;
424
+ }
425
+ .fr-quote::before, .fr-quote::after {
426
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/editor/fr--quote-line.svg");
427
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/editor/fr--quote-line.svg");
428
+ }
429
+ .fr-quote::before, .fr-quote::after {
430
+ --icon-size: 2rem;
431
+ }
432
+ .fr-quote::before {
433
+ content: "";
434
+ display: block;
435
+ margin-bottom: 0.5rem;
436
+ }
437
+ .fr-quote--column {
438
+ display: flex;
439
+ flex-direction: column;
440
+ align-items: flex-start;
441
+ justify-content: center;
442
+ }
443
+ @media (min-width: 48em) {
444
+ .fr-quote--column {
445
+ margin-left: 13.5rem;
446
+ }
447
+ }
448
+ @media (min-width: 48em) {
449
+ .fr-quote--column {
450
+ min-height: 13rem;
451
+ }
452
+ }
453
+ .fr-quote--column .fr-quote__author {
454
+ margin-left: 5.25rem;
455
+ }
456
+ @media (min-width: 48em) {
457
+ .fr-quote--column .fr-quote__author {
458
+ margin-left: 0;
459
+ }
460
+ }
461
+ .fr-quote--column .fr-quote__source {
462
+ margin-left: 5.25rem;
463
+ }
464
+ @media (min-width: 48em) {
465
+ .fr-quote--column .fr-quote__source {
466
+ margin-left: 0;
467
+ }
468
+ }
469
+ .fr-quote--column figcaption {
470
+ min-height: 4.25rem;
471
+ display: flex;
472
+ flex-direction: column;
473
+ align-items: flex-start;
474
+ justify-content: center;
475
+ }
476
+ @media (min-width: 48em) {
477
+ .fr-quote--column figcaption {
478
+ min-height: auto;
479
+ }
480
+ }
481
+ .fr-quote blockquote {
482
+ margin: 0;
483
+ --text-spacing: 0 0 1rem;
484
+ }
485
+ .fr-quote blockquote p {
486
+ font-size: 1.25rem;
487
+ line-height: 2rem;
488
+ font-weight: 700;
489
+ }
490
+ .fr-quote__author {
491
+ font-weight: 700;
492
+ font-size: 1rem;
493
+ line-height: 1.5rem;
494
+ --text-spacing: 0 0 0.25rem;
495
+ }
496
+ .fr-quote__image {
497
+ width: 4.25rem;
498
+ background-size: cover;
499
+ border-radius: 50%;
500
+ overflow: hidden;
501
+ position: absolute;
502
+ display: flex;
503
+ flex-direction: row;
504
+ }
505
+ .fr-quote__image img {
506
+ width: 100%;
507
+ height: 100%;
508
+ object-fit: cover;
509
+ }
510
+ @media (min-width: 48em) {
511
+ .fr-quote__image {
512
+ position: absolute;
513
+ top: 50%;
514
+ left: -13.5rem;
515
+ width: 11.5rem;
516
+ height: 11.5rem;
517
+ margin-top: -5.75rem;
518
+ }
519
+ }
520
+ .fr-quote cite {
521
+ font-style: italic;
522
+ }
523
+ .fr-quote figcaption {
524
+ --ul-type: none;
525
+ --ol-type: none;
526
+ --ul-start: 0;
527
+ --ol-start: 0;
528
+ --xl-block: 0;
529
+ --li-bottom: 0;
530
+ --ol-content: none;
531
+ }
532
+ .fr-quote figcaption .fr-quote__source {
533
+ display: flex;
534
+ flex-direction: row;
535
+ justify-content: flex-start;
536
+ flex-wrap: wrap;
537
+ font-size: 0.75rem;
538
+ line-height: 1.25rem;
539
+ }
540
+ .fr-quote figcaption .fr-quote__source li {
541
+ display: inline-block;
542
+ }
543
+ .fr-quote figcaption .fr-quote__source li:not(:last-child)::after {
544
+ content: "·";
545
+ display: inline-block;
546
+ padding-left: 0.25rem;
547
+ padding-right: 0.25rem;
548
+ }
549
+
550
+ .fr-quote::before {
551
+ color: var(--artwork-minor-blue-france);
552
+ }
553
+ .fr-quote--green-tilleul-verveine::before {
554
+ color: var(--artwork-minor-green-tilleul-verveine);
555
+ }
556
+
557
+ .fr-quote--green-bourgeon::before {
558
+ color: var(--artwork-minor-green-bourgeon);
559
+ }
560
+
561
+ .fr-quote--green-emeraude::before {
562
+ color: var(--artwork-minor-green-emeraude);
563
+ }
564
+
565
+ .fr-quote--green-menthe::before {
566
+ color: var(--artwork-minor-green-menthe);
567
+ }
568
+
569
+ .fr-quote--green-archipel::before {
570
+ color: var(--artwork-minor-green-archipel);
571
+ }
572
+
573
+ .fr-quote--blue-ecume::before {
574
+ color: var(--artwork-minor-blue-ecume);
575
+ }
576
+
577
+ .fr-quote--blue-cumulus::before {
578
+ color: var(--artwork-minor-blue-cumulus);
579
+ }
580
+
581
+ .fr-quote--purple-glycine::before {
582
+ color: var(--artwork-minor-purple-glycine);
583
+ }
584
+
585
+ .fr-quote--pink-macaron::before {
586
+ color: var(--artwork-minor-pink-macaron);
587
+ }
588
+
589
+ .fr-quote--pink-tuile::before {
590
+ color: var(--artwork-minor-pink-tuile);
591
+ }
592
+
593
+ .fr-quote--yellow-tournesol::before {
594
+ color: var(--artwork-minor-yellow-tournesol);
595
+ }
596
+
597
+ .fr-quote--yellow-moutarde::before {
598
+ color: var(--artwork-minor-yellow-moutarde);
599
+ }
600
+
601
+ .fr-quote--orange-terre-battue::before {
602
+ color: var(--artwork-minor-orange-terre-battue);
603
+ }
604
+
605
+ .fr-quote--brown-cafe-creme::before {
606
+ color: var(--artwork-minor-brown-cafe-creme);
607
+ }
608
+
609
+ .fr-quote--brown-caramel::before {
610
+ color: var(--artwork-minor-brown-caramel);
611
+ }
612
+
613
+ .fr-quote--brown-opera::before {
614
+ color: var(--artwork-minor-brown-opera);
615
+ }
616
+
617
+ .fr-quote--beige-gris-galet::before {
618
+ color: var(--artwork-minor-beige-gris-galet);
619
+ }
620
+
621
+ .fr-quote {
622
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
623
+ }
624
+ .fr-quote__source {
625
+ color: var(--text-mention-grey);
626
+ }
627
+
628
+ :host {
629
+ display: block;
630
+ text-rendering: optimizeLegibility;
631
+ -webkit-font-smoothing: antialiased;
632
+ -moz-osx-font-smoothing: grayscale;
633
+ -webkit-text-size-adjust: 100%;
634
+ font-size: 1rem;
635
+ line-height: 1.5rem;
636
+ background-color: var(--background-default-grey);
637
+ --idle: transparent;
638
+ --hover: var(--background-default-grey-hover);
639
+ --active: var(--background-default-grey-active);
640
+ color: var(--text-default-grey);
641
+ background-color: transparent;
642
+ }
643
+
644
+ .fr-quote {
645
+ box-sizing: border-box;
646
+ }</style>
@@ -0,0 +1,29 @@
1
+ import type { Accent, Size } from "../types";
2
+ type QuoteSize = Extract<Size, "md" | "lg" | "xl">;
3
+ interface Props {
4
+ /** Texte de la citation */
5
+ text: string;
6
+ /** Taille du texte de citation */
7
+ size?: QuoteSize;
8
+ /** Si true, ajoute un auteur à la citation */
9
+ hasAuthor?: boolean;
10
+ /** Nom de l'auteur */
11
+ author?: string;
12
+ /** Si true, ajoute des textes de détail à la citation */
13
+ hasDetails?: boolean;
14
+ /** Tableau des textes de détail */
15
+ sources?: string[];
16
+ /** Si true, ajoute une image à la citation */
17
+ hasImage?: boolean;
18
+ /** Source de l'image */
19
+ src?: string;
20
+ /** L'alternative de l'image doit rester vide car l'image est illustrative et ne doit pas être restituée aux technologies d’assistance) */
21
+ alt?: string;
22
+ /** Couleur d'accentuation de la citation */
23
+ accent?: Accent;
24
+ /** URL de la source de la citation */
25
+ sourceUrl?: string;
26
+ }
27
+ declare const DsfrQuote: import("svelte").Component<Props, {}, "">;
28
+ type DsfrQuote = ReturnType<typeof DsfrQuote>;
29
+ export default DsfrQuote;