@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,1007 @@
1
+ <svelte:options
2
+ customElement={{
3
+ tag: "dsfr-link",
4
+ props: {
5
+ label: { attribute: "label", type: "String" },
6
+ size: { attribute: "size", type: "String" },
7
+ id: { attribute: "id", type: "String" },
8
+ disabled: { attribute: "disabled", type: "Boolean" },
9
+ blank: { attribute: "blank", type: "Boolean" },
10
+ title: { attribute: "title", type: "String" },
11
+ href: { attribute: "href", type: "String" },
12
+ download: { attribute: "download", type: "String" },
13
+ detail: { attribute: "detail", type: "String" },
14
+ hreflang: { attribute: "hreflang", type: "String" },
15
+ assess: { attribute: "assess", type: "Boolean" },
16
+ hasIcon: { attribute: "has-icon", type: "Boolean" },
17
+ icon: { attribute: "icon", type: "String" },
18
+ iconPlace: { attribute: "icon-place", type: "String" },
19
+ neutral: { attribute: "neutral", type: "Boolean" },
20
+ },
21
+ extend: withIconsStyleSheet,
22
+ }}
23
+ />
24
+
25
+ <script lang="ts">import { withIconsStyleSheet, setIconClass, setThemeable } from "../utilitaires";
26
+ setThemeable($host());
27
+ // eslint-disable-next-line svelte/no-unused-props -- assess est exposé via l'API Web Component
28
+ let { label, size = "md", id, disabled, blank, title, href, download, detail, hreflang, hasIcon, icon, iconPlace = "left", neutral } = $props();
29
+ const modeTelechargementActif = $derived(download !== undefined);
30
+ const iconClass = $derived(!modeTelechargementActif && hasIcon && icon && setIconClass(icon));
31
+ </script>
32
+
33
+ <a
34
+ href={!disabled ? href : undefined}
35
+ {id}
36
+ aria-disabled={disabled ? "true" : undefined}
37
+ class={[
38
+ "fr-link",
39
+ `fr-link--${size}`,
40
+ iconClass,
41
+ { "fr-link--download": modeTelechargementActif, "fr-link--neutral": neutral },
42
+ ]}
43
+ class:fr-link--icon-left={hasIcon && iconPlace === "left"}
44
+ class:fr-link--icon-right={hasIcon && iconPlace === "right"}
45
+ {download}
46
+ hreflang={modeTelechargementActif && hreflang ? hreflang : undefined}
47
+ rel={blank ? "noopener external" : undefined}
48
+ role={disabled ? "link" : undefined}
49
+ target={blank ? "_blank" : "_self"}
50
+ title={blank ? title : undefined}
51
+ >
52
+ {#if modeTelechargementActif && detail}
53
+ <slot>{label}</slot><span class="fr-link__detail">{detail}</span>
54
+ {:else}
55
+ <slot>{label}</slot>
56
+ {/if}
57
+ </a>
58
+
59
+ <style>@charset "UTF-8";
60
+ a {
61
+ text-decoration: var(--text-decoration);
62
+ color: inherit;
63
+ }
64
+ @media (-ms-high-contrast: active), (forced-colors: active) {
65
+ a:not([href]) {
66
+ color: graytext;
67
+ }
68
+ }
69
+
70
+ :root {
71
+ --underline-max-width: 100%;
72
+ --underline-hover-width: 0;
73
+ --underline-idle-width: var(--underline-max-width);
74
+ --underline-x: calc(var(--underline-max-width) * 0);
75
+ --underline-thickness: 0.0625em;
76
+ --underline-img: linear-gradient(0deg, currentColor, currentColor);
77
+ --external-link-content: '';
78
+ --text-decoration: none;
79
+ }
80
+
81
+ [href] {
82
+ background-image: var(--underline-img), var(--underline-img);
83
+ background-position: var(--underline-x) 100%, var(--underline-x) calc(100% - var(--underline-thickness));
84
+ background-repeat: no-repeat, no-repeat;
85
+ transition: background-size 0s;
86
+ background-size: var(--underline-hover-width) calc(var(--underline-thickness) * 2), var(--underline-idle-width) var(--underline-thickness);
87
+ }
88
+ @media (-ms-high-contrast: active), (forced-colors: active) {
89
+ [href], [href]:visited {
90
+ color: linktext;
91
+ }
92
+ }
93
+
94
+ [target=_blank]::after {
95
+ flex: 0 0 auto;
96
+ display: inline-block;
97
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
98
+ background-color: currentColor;
99
+ width: var(--icon-size);
100
+ height: var(--icon-size);
101
+ -webkit-mask-size: 100% 100%;
102
+ mask-size: 100% 100%;
103
+ }
104
+ [target=_blank]::after {
105
+ --icon-size: 1rem;
106
+ }
107
+ [target=_blank]::after {
108
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/external-link-line.svg");
109
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/external-link-line.svg");
110
+ }
111
+ @media (-ms-high-contrast: active), (forced-colors: active) {
112
+ [target=_blank]::after {
113
+ forced-color-adjust: none;
114
+ background-color: linktext;
115
+ }
116
+ }
117
+ [target=_blank]::after {
118
+ content: var(--external-link-content);
119
+ margin-left: 0.25rem;
120
+ }
121
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
122
+ flex: 0 0 auto;
123
+ display: inline-block;
124
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
125
+ background-color: currentColor;
126
+ width: var(--icon-size);
127
+ height: var(--icon-size);
128
+ -webkit-mask-size: 100% 100%;
129
+ mask-size: 100% 100%;
130
+ }
131
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
132
+ --icon-size: 1rem;
133
+ }
134
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
135
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/external-link-line.svg");
136
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/external-link-line.svg");
137
+ }
138
+ @media (-ms-high-contrast: active), (forced-colors: active) {
139
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
140
+ forced-color-adjust: none;
141
+ background-color: linktext;
142
+ }
143
+ }
144
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
145
+ content: var(--external-link-content);
146
+ margin-left: 0.25rem;
147
+ }
148
+
149
+ form[target=_blank]::after {
150
+ content: none;
151
+ }
152
+
153
+ .fr-raw-link {
154
+ --text-decoration: none;
155
+ }
156
+ .fr-raw-link[href],
157
+ .fr-raw-link [href] {
158
+ --underline-img: none;
159
+ --external-link-content: none;
160
+ }
161
+
162
+ .fr-reset-link {
163
+ --text-decoration: underline;
164
+ }
165
+ .fr-reset-link[href],
166
+ .fr-reset-link [href] {
167
+ --underline-img: none;
168
+ text-underline-offset: 2px;
169
+ }
170
+
171
+ input[type=range]:focus::-webkit-slider-thumb {
172
+ outline-offset: 2px;
173
+ outline-width: 2px;
174
+ outline-color: #0a76f6;
175
+ }
176
+
177
+ input[type=range]:focus::-moz-range-thumb {
178
+ outline-offset: 2px;
179
+ outline-width: 2px;
180
+ outline-color: #0a76f6;
181
+ }
182
+
183
+ input[type=range]:focus::-ms-thumb {
184
+ outline-offset: 2px;
185
+ outline-width: 2px;
186
+ outline-color: #0a76f6;
187
+ }
188
+
189
+ a:focus, button:focus, input:focus, input[type=checkbox]:focus + label::before, input[type=radio]:focus + label::before, input[type=button]:focus, input[type=image]:focus, input[type=reset]:focus, input[type=submit]:focus, select:focus, textarea:focus, [tabindex]:focus, video:focus[controls], audio:focus[controls], [contenteditable]:not([contenteditable=false]):focus, details:focus, details > summary:first-of-type:focus {
190
+ outline-offset: 2px;
191
+ outline-width: 2px;
192
+ outline-color: #0a76f6;
193
+ }
194
+
195
+ input[type=range]:focus::-webkit-slider-thumb {
196
+ outline-style: solid;
197
+ }
198
+
199
+ input[type=range]:focus::-moz-range-thumb {
200
+ outline-style: solid;
201
+ }
202
+
203
+ input[type=range]:focus::-ms-thumb {
204
+ outline-style: solid;
205
+ }
206
+
207
+ a:focus, button:focus, input:focus, input[type=checkbox]:focus + label::before, input[type=radio]:focus + label::before, input[type=button]:focus, input[type=image]:focus, input[type=reset]:focus, input[type=submit]:focus, select:focus, textarea:focus, [tabindex]:focus, video:focus[controls], audio:focus[controls], [contenteditable]:not([contenteditable=false]):focus, details:focus, details > summary:first-of-type:focus {
208
+ outline-style: solid;
209
+ }
210
+
211
+ input[type=range]:focus:not(:focus-visible)::-webkit-slider-thumb {
212
+ outline-style: none;
213
+ }
214
+
215
+ input[type=range]:focus:not(:focus-visible)::-moz-range-thumb {
216
+ outline-style: none;
217
+ }
218
+
219
+ input[type=range]:focus:not(:focus-visible)::-ms-thumb {
220
+ outline-style: none;
221
+ }
222
+
223
+ a:focus:not(:focus-visible), button:focus:not(:focus-visible), input:focus:not(:focus-visible), input[type=checkbox]:focus:not(:focus-visible) + label::before, input[type=radio]:focus:not(:focus-visible) + label::before, input[type=button]:focus:not(:focus-visible), input[type=image]:focus:not(:focus-visible), input[type=reset]:focus:not(:focus-visible), input[type=submit]:focus:not(:focus-visible), select:focus:not(:focus-visible), textarea:focus:not(:focus-visible), [tabindex]:focus:not(:focus-visible), video:focus:not(:focus-visible)[controls], audio:focus:not(:focus-visible)[controls], [contenteditable]:not([contenteditable=false]):focus:not(:focus-visible), details:focus:not(:focus-visible), details > summary:first-of-type:focus:not(:focus-visible) {
224
+ outline-style: none;
225
+ }
226
+
227
+ input[type=range]:focus-visible::-webkit-slider-thumb {
228
+ outline-style: solid;
229
+ }
230
+
231
+ input[type=range]:focus-visible::-moz-range-thumb {
232
+ outline-style: solid;
233
+ }
234
+
235
+ input[type=range]:focus-visible::-ms-thumb {
236
+ outline-style: solid;
237
+ }
238
+
239
+ a:focus-visible, button:focus-visible, input:focus-visible, input[type=checkbox]:focus-visible + label::before, input[type=radio]:focus-visible + label::before, input[type=button]:focus-visible, input[type=image]:focus-visible, input[type=reset]:focus-visible, input[type=submit]:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible, video:focus-visible[controls], audio:focus-visible[controls], [contenteditable]:not([contenteditable=false]):focus-visible, details:focus-visible, details > summary:first-of-type:focus-visible {
240
+ outline-style: solid;
241
+ }
242
+
243
+ @media (hover: hover) and (pointer: fine) {
244
+ :root {
245
+ --brighten: -1;
246
+ }
247
+ a[href]:hover, button:not(:disabled):hover, input[type=button]:not(:disabled):hover, input[type=image]:not(:disabled):hover, input[type=reset]:not(:disabled):hover, input[type=submit]:not(:disabled):hover {
248
+ background-color: var(--hover-tint);
249
+ }
250
+ a[href]:active, button:not(:disabled):active, input[type=button]:not(:disabled):active, input[type=image]:not(:disabled):active, input[type=reset]:not(:disabled):active, input[type=submit]:not(:disabled):active {
251
+ background-color: var(--active-tint);
252
+ }
253
+ a[href]:hover, a[href]:active {
254
+ --underline-hover-width: var(--underline-max-width);
255
+ }
256
+ }
257
+ button, input[type=button], input[type=image], input[type=reset], input[type=submit] {
258
+ --hover-tint: var(--hover);
259
+ --active-tint: var(--active);
260
+ }
261
+
262
+ a {
263
+ --hover-tint: var(--idle);
264
+ --active-tint: var(--active);
265
+ }
266
+
267
+ a, button, input[type=checkbox], input[type=checkbox] + label, input[type=radio], input[type=radio] + label, input[type=file], input[type=range], input[type=button], input[type=image], input[type=reset], input[type=submit], select, video[controls], audio[controls], details, details > summary:first-of-type {
268
+ cursor: pointer;
269
+ }
270
+
271
+ input[type=range]:disabled::-webkit-slider-thumb, input[type=range]:disabled::-webkit-slider-thumb:active {
272
+ cursor: not-allowed;
273
+ }
274
+
275
+ input[type=range]:disabled::-moz-range-thumb, input[type=range]:disabled::-moz-range-thumb:active {
276
+ cursor: not-allowed;
277
+ }
278
+
279
+ input[type=range]:disabled::-ms-thumb, input[type=range]:disabled::-ms-thumb:active {
280
+ cursor: not-allowed;
281
+ }
282
+
283
+ a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, input[type=file]:disabled, input[type=range]:disabled, input[type=button]:disabled, input[type=image]:disabled, input[type=reset]:disabled, input[type=submit]:disabled, select:disabled, textarea:disabled, video:not([href])[controls], audio:not([href])[controls] {
284
+ cursor: not-allowed;
285
+ }
286
+
287
+ input[type=range]::-webkit-slider-thumb {
288
+ cursor: grab;
289
+ }
290
+
291
+ input[type=range]::-moz-range-thumb {
292
+ cursor: grab;
293
+ }
294
+
295
+ input[type=range]::-ms-thumb {
296
+ cursor: grab;
297
+ }
298
+
299
+ input[type=range]::-webkit-slider-thumb:active {
300
+ cursor: grabbing;
301
+ }
302
+
303
+ input[type=range]::-moz-range-thumb:active {
304
+ cursor: grabbing;
305
+ }
306
+
307
+ input[type=range]::-ms-thumb:active {
308
+ cursor: grabbing;
309
+ }
310
+
311
+ /**
312
+ * Override de l'opacité chrome sur un élément disabled
313
+ */
314
+ a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, select:disabled, textarea:disabled, video:not([href]), audio:not([href]) {
315
+ opacity: 1;
316
+ }
317
+
318
+ [class^=fr-icon-]::before, [class^=fr-icon-]::after, [class*=" fr-icon-"]::before, [class*=" fr-icon-"]::after, [class^=fr-fi-]::before, [class^=fr-fi-]::after, [class*=" fr-fi-"]::before, [class*=" fr-fi-"]::after {
319
+ flex: 0 0 auto;
320
+ display: inline-block;
321
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
322
+ background-color: currentColor;
323
+ width: var(--icon-size);
324
+ height: var(--icon-size);
325
+ -webkit-mask-size: 100% 100%;
326
+ mask-size: 100% 100%;
327
+ }
328
+ [class^=fr-icon-]::before, [class^=fr-icon-]::after, [class*=" fr-icon-"]::before, [class*=" fr-icon-"]::after, [class^=fr-fi-]::before, [class^=fr-fi-]::after, [class*=" fr-fi-"]::before, [class*=" fr-fi-"]::after {
329
+ --icon-size: 1.5rem;
330
+ }
331
+ [class^=fr-icon-]::before, [class*=" fr-icon-"]::before, [class^=fr-fi-]::before, [class*=" fr-fi-"]::before {
332
+ content: "";
333
+ }
334
+
335
+ @media (-ms-high-contrast: active) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (forced-colors: active), (forced-colors: active) and (-ms-high-contrast: active), (forced-colors: active) and (forced-colors: active) {
336
+ [class^=fr-icon-]::before, [class^=fr-icon-]::after, [class*=" fr-icon-"]::before, [class*=" fr-icon-"]::after, [class^=fr-fi-]::before, [class^=fr-fi-]::after, [class*=" fr-fi-"]::before, [class*=" fr-fi-"]::after {
337
+ forced-color-adjust: none;
338
+ background-color: canvastext;
339
+ }
340
+ }
341
+ @media (-ms-high-contrast: active) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (forced-colors: active), (forced-colors: active) and (-ms-high-contrast: active), (forced-colors: active) and (forced-colors: active) {
342
+ button[class^=fr-icon-]:not([disabled])::before, button[class^=fr-icon-]:not([disabled])::after, button[class*=" fr-icon-"]:not([disabled])::before, button[class*=" fr-icon-"]:not([disabled])::after, button[class^=fr-fi-]:not([disabled])::before, button[class^=fr-fi-]:not([disabled])::after, button[class*=" fr-fi-"]:not([disabled])::before, button[class*=" fr-fi-"]:not([disabled])::after {
343
+ background-color: buttontext;
344
+ }
345
+ }
346
+ @media (-ms-high-contrast: active) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (forced-colors: active), (forced-colors: active) and (-ms-high-contrast: active), (forced-colors: active) and (forced-colors: active) {
347
+ a[href][class^=fr-icon-]::before, a[href][class^=fr-icon-]::after, a[href][class*=" fr-icon-"]::before, a[href][class*=" fr-icon-"]::after, a[href][class^=fr-fi-]::before, a[href][class^=fr-fi-]::after, a[href][class*=" fr-fi-"]::before, a[href][class*=" fr-fi-"]::after {
348
+ background-color: linktext;
349
+ }
350
+ }
351
+ @media (-ms-high-contrast: active) and (-ms-high-contrast: active), (-ms-high-contrast: active) and (forced-colors: active), (forced-colors: active) and (-ms-high-contrast: active), (forced-colors: active) and (forced-colors: active) {
352
+ a[class^=fr-icon-]:not([href])::before, a[class^=fr-icon-]:not([href])::after, a[class*=" fr-icon-"]:not([href])::before, a[class*=" fr-icon-"]:not([href])::after, a[class^=fr-fi-]:not([href])::before, a[class^=fr-fi-]:not([href])::after, a[class*=" fr-fi-"]:not([href])::before, a[class*=" fr-fi-"]:not([href])::after, button[class^=fr-icon-]:disabled::before, button[class^=fr-icon-]:disabled::after, button[class*=" fr-icon-"]:disabled::before, button[class*=" fr-icon-"]:disabled::after, button[class^=fr-fi-]:disabled::before, button[class^=fr-fi-]:disabled::after, button[class*=" fr-fi-"]:disabled::before, button[class*=" fr-fi-"]:disabled::after, input[class^=fr-icon-]:disabled::before, input[class^=fr-icon-]:disabled::after, input[class*=" fr-icon-"]:disabled::before, input[class*=" fr-icon-"]:disabled::after, input[class^=fr-fi-]:disabled::before, input[class^=fr-fi-]:disabled::after, input[class*=" fr-fi-"]:disabled::before, input[class*=" fr-fi-"]:disabled::after, input[type=checkbox][class^=fr-icon-]:disabled::before, input[type=checkbox][class^=fr-icon-]:disabled::after, input[type=checkbox][class*=" fr-icon-"]:disabled::before, input[type=checkbox][class*=" fr-icon-"]:disabled::after, input[type=checkbox][class^=fr-fi-]:disabled::before, input[type=checkbox][class^=fr-fi-]:disabled::after, input[type=checkbox][class*=" fr-fi-"]:disabled::before, input[type=checkbox][class*=" fr-fi-"]:disabled::after, input[type=checkbox]:disabled + label[class^=fr-icon-]::before, input[type=checkbox]:disabled + label[class^=fr-icon-]::after, input[type=checkbox]:disabled + label[class*=" fr-icon-"]::before, input[type=checkbox]:disabled + label[class*=" fr-icon-"]::after, input[type=checkbox]:disabled + label[class^=fr-fi-]::before, input[type=checkbox]:disabled + label[class^=fr-fi-]::after, input[type=checkbox]:disabled + label[class*=" fr-fi-"]::before, input[type=checkbox]:disabled + label[class*=" fr-fi-"]::after, input[type=radio][class^=fr-icon-]:disabled::before, input[type=radio][class^=fr-icon-]:disabled::after, input[type=radio][class*=" fr-icon-"]:disabled::before, input[type=radio][class*=" fr-icon-"]:disabled::after, input[type=radio][class^=fr-fi-]:disabled::before, input[type=radio][class^=fr-fi-]:disabled::after, input[type=radio][class*=" fr-fi-"]:disabled::before, input[type=radio][class*=" fr-fi-"]:disabled::after, input[type=radio]:disabled + label[class^=fr-icon-]::before, input[type=radio]:disabled + label[class^=fr-icon-]::after, input[type=radio]:disabled + label[class*=" fr-icon-"]::before, input[type=radio]:disabled + label[class*=" fr-icon-"]::after, input[type=radio]:disabled + label[class^=fr-fi-]::before, input[type=radio]:disabled + label[class^=fr-fi-]::after, input[type=radio]:disabled + label[class*=" fr-fi-"]::before, input[type=radio]:disabled + label[class*=" fr-fi-"]::after, select[class^=fr-icon-]:disabled::before, select[class^=fr-icon-]:disabled::after, select[class*=" fr-icon-"]:disabled::before, select[class*=" fr-icon-"]:disabled::after, select[class^=fr-fi-]:disabled::before, select[class^=fr-fi-]:disabled::after, select[class*=" fr-fi-"]:disabled::before, select[class*=" fr-fi-"]:disabled::after, textarea[class^=fr-icon-]:disabled::before, textarea[class^=fr-icon-]:disabled::after, textarea[class*=" fr-icon-"]:disabled::before, textarea[class*=" fr-icon-"]:disabled::after, textarea[class^=fr-fi-]:disabled::before, textarea[class^=fr-fi-]:disabled::after, textarea[class*=" fr-fi-"]:disabled::before, textarea[class*=" fr-fi-"]:disabled::after, video[class^=fr-icon-]:not([href])::before, video[class^=fr-icon-]:not([href])::after, video[class*=" fr-icon-"]:not([href])::before, video[class*=" fr-icon-"]:not([href])::after, video[class^=fr-fi-]:not([href])::before, video[class^=fr-fi-]:not([href])::after, video[class*=" fr-fi-"]:not([href])::before, video[class*=" fr-fi-"]:not([href])::after, audio[class^=fr-icon-]:not([href])::before, audio[class^=fr-icon-]:not([href])::after, audio[class*=" fr-icon-"]:not([href])::before, audio[class*=" fr-icon-"]:not([href])::after, audio[class^=fr-fi-]:not([href])::before, audio[class^=fr-fi-]:not([href])::after, audio[class*=" fr-fi-"]:not([href])::before, audio[class*=" fr-fi-"]:not([href])::after {
353
+ background-color: graytext;
354
+ }
355
+ }
356
+ .fr-icon--xs::before, .fr-icon--xs::after {
357
+ --icon-size: 0.75rem;
358
+ }
359
+ .fr-icon--sm::before, .fr-icon--sm::after {
360
+ --icon-size: 1rem;
361
+ }
362
+ .fr-icon--md::before, .fr-icon--md::after {
363
+ --icon-size: 1.5rem;
364
+ }
365
+ .fr-icon--lg::before, .fr-icon--lg::after {
366
+ --icon-size: 2rem;
367
+ }
368
+
369
+ body {
370
+ background-color: var(--background-default-grey);
371
+ --idle: transparent;
372
+ --hover: var(--background-default-grey-hover);
373
+ --active: var(--background-default-grey-active);
374
+ color: var(--text-default-grey);
375
+ }
376
+
377
+ a:not([href]), button:disabled, input:disabled, input[type=checkbox]:disabled, input[type=checkbox]:disabled + label, input[type=radio]:disabled, input[type=radio]:disabled + label, select:disabled, textarea:disabled, video:not([href]), audio:not([href]) {
378
+ color: var(--text-disabled-grey);
379
+ }
380
+
381
+ .fr-artwork-decorative {
382
+ fill: var(--artwork-decorative-blue-france);
383
+ }
384
+ .fr-artwork-minor {
385
+ fill: var(--artwork-minor-red-marianne);
386
+ }
387
+ .fr-artwork-major {
388
+ fill: var(--artwork-major-blue-france);
389
+ }
390
+ .fr-artwork-background {
391
+ fill: var(--artwork-background-grey);
392
+ }
393
+ .fr-artwork-motif {
394
+ fill: var(--artwork-motif-grey);
395
+ }
396
+ .fr-artwork--green-tilleul-verveine .fr-artwork-minor {
397
+ fill: var(--artwork-minor-green-tilleul-verveine);
398
+ }
399
+
400
+ .fr-artwork--green-bourgeon .fr-artwork-minor {
401
+ fill: var(--artwork-minor-green-bourgeon);
402
+ }
403
+
404
+ .fr-artwork--green-emeraude .fr-artwork-minor {
405
+ fill: var(--artwork-minor-green-emeraude);
406
+ }
407
+
408
+ .fr-artwork--green-menthe .fr-artwork-minor {
409
+ fill: var(--artwork-minor-green-menthe);
410
+ }
411
+
412
+ .fr-artwork--green-archipel .fr-artwork-minor {
413
+ fill: var(--artwork-minor-green-archipel);
414
+ }
415
+
416
+ .fr-artwork--blue-ecume .fr-artwork-minor {
417
+ fill: var(--artwork-minor-blue-ecume);
418
+ }
419
+
420
+ .fr-artwork--blue-cumulus .fr-artwork-minor {
421
+ fill: var(--artwork-minor-blue-cumulus);
422
+ }
423
+
424
+ .fr-artwork--purple-glycine .fr-artwork-minor {
425
+ fill: var(--artwork-minor-purple-glycine);
426
+ }
427
+
428
+ .fr-artwork--pink-macaron .fr-artwork-minor {
429
+ fill: var(--artwork-minor-pink-macaron);
430
+ }
431
+
432
+ .fr-artwork--pink-tuile .fr-artwork-minor {
433
+ fill: var(--artwork-minor-pink-tuile);
434
+ }
435
+
436
+ .fr-artwork--yellow-tournesol .fr-artwork-minor {
437
+ fill: var(--artwork-minor-yellow-tournesol);
438
+ }
439
+
440
+ .fr-artwork--yellow-moutarde .fr-artwork-minor {
441
+ fill: var(--artwork-minor-yellow-moutarde);
442
+ }
443
+
444
+ .fr-artwork--orange-terre-battue .fr-artwork-minor {
445
+ fill: var(--artwork-minor-orange-terre-battue);
446
+ }
447
+
448
+ .fr-artwork--brown-cafe-creme .fr-artwork-minor {
449
+ fill: var(--artwork-minor-brown-cafe-creme);
450
+ }
451
+
452
+ .fr-artwork--brown-caramel .fr-artwork-minor {
453
+ fill: var(--artwork-minor-brown-caramel);
454
+ }
455
+
456
+ .fr-artwork--brown-opera .fr-artwork-minor {
457
+ fill: var(--artwork-minor-brown-opera);
458
+ }
459
+
460
+ .fr-artwork--beige-gris-galet .fr-artwork-minor {
461
+ fill: var(--artwork-minor-beige-gris-galet);
462
+ }
463
+
464
+ [disabled] .fr-artwork * {
465
+ fill: var(--text-disabled-grey);
466
+ }
467
+
468
+ .fr-h6, .fr-h5, .fr-h4, .fr-h3, .fr-h2, .fr-h1, .fr-display-xs, .fr-display-sm, .fr-display-md, .fr-display-lg, .fr-display-xl {
469
+ color: var(--text-title-grey);
470
+ }
471
+
472
+ h6, h5, h4, h3, h2, h1 {
473
+ color: var(--text-title-grey);
474
+ }
475
+
476
+ hr {
477
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
478
+ }
479
+
480
+ .fr-hr-or::before, .fr-hr-or::after {
481
+ background-color: var(--border-default-grey);
482
+ --idle: transparent;
483
+ --hover: var(--border-default-grey-hover);
484
+ --active: var(--border-default-grey-active);
485
+ }
486
+
487
+ .fr-hr {
488
+ background-image: linear-gradient(0deg, var(--border-default-grey), var(--border-default-grey));
489
+ }
490
+
491
+ /* ¯¯¯¯¯¯¯¯¯ *\
492
+ LINK
493
+ \* ˍˍˍˍˍˍˍˍˍ */
494
+ @media (min-width: 36em) {
495
+ /*! media sm */
496
+ }
497
+ @media (min-width: 48em) {
498
+ /*! media md */
499
+ }
500
+ @media (min-width: 62em) {
501
+ /*! media lg */
502
+ }
503
+ @media (min-width: 78em) {
504
+ /*! media xl */
505
+ }
506
+ .fr-link {
507
+ --text-spacing: 0;
508
+ --title-spacing: 0;
509
+ display: inline;
510
+ }
511
+
512
+ .fr-link {
513
+ font-size: 1rem;
514
+ line-height: 1.5rem;
515
+ padding: 0 0;
516
+ }
517
+ .fr-link[target=_blank] {
518
+ overflow: initial;
519
+ max-width: 100%;
520
+ max-height: none;
521
+ }
522
+ .fr-link[target=_blank]::after {
523
+ content: "";
524
+ --icon-size: 1rem;
525
+ margin-right: -0.125rem;
526
+ margin-left: 0.5rem;
527
+ }
528
+
529
+ .fr-link--icon-left[class^=fr-icon-], .fr-link--icon-left[class*=" fr-icon-"], .fr-link--icon-left[class^=fr-fi-], .fr-link--icon-left[class*=" fr-fi-"] {
530
+ overflow: initial;
531
+ max-width: 100%;
532
+ max-height: none;
533
+ }
534
+ .fr-link--icon-left[class^=fr-icon-]::before, .fr-link--icon-left[class*=" fr-icon-"]::before, .fr-link--icon-left[class^=fr-fi-]::before, .fr-link--icon-left[class*=" fr-fi-"]::before {
535
+ --icon-size: 1rem;
536
+ margin-left: -0.125rem;
537
+ margin-right: 0.5rem;
538
+ }
539
+
540
+ .fr-link--icon-right[class^=fr-icon-], .fr-link--icon-right[class*=" fr-icon-"], .fr-link--icon-right[class^=fr-fi-], .fr-link--icon-right[class*=" fr-fi-"] {
541
+ overflow: initial;
542
+ max-width: 100%;
543
+ max-height: none;
544
+ }
545
+ .fr-link--icon-right[class^=fr-icon-]::after, .fr-link--icon-right[class*=" fr-icon-"]::after, .fr-link--icon-right[class^=fr-fi-]::after, .fr-link--icon-right[class*=" fr-fi-"]::after {
546
+ content: "";
547
+ --icon-size: 1rem;
548
+ margin-right: -0.125rem;
549
+ margin-left: 0.5rem;
550
+ }
551
+ .fr-link--icon-right[class^=fr-icon-]::before, .fr-link--icon-right[class*=" fr-icon-"]::before, .fr-link--icon-right[class^=fr-fi-]::before, .fr-link--icon-right[class*=" fr-fi-"]::before {
552
+ content: none;
553
+ }
554
+
555
+ .fr-link[class^=fr-icon-]:not([class*=fr-link--icon-])::before, .fr-link[class*=" fr-icon-"]:not([class*=fr-link--icon-])::before, .fr-link[class^=fr-fi-]:not([class*=fr-link--icon-])::before, .fr-link[class*=" fr-fi-"]:not([class*=fr-link--icon-])::before {
556
+ content: none;
557
+ }
558
+
559
+ .fr-link--xs {
560
+ font-size: 0.75rem;
561
+ line-height: 1.25rem;
562
+ padding: 0 0;
563
+ }
564
+ .fr-link--xs[target=_blank] {
565
+ overflow: initial;
566
+ max-width: 100%;
567
+ max-height: none;
568
+ }
569
+ .fr-link--xs[target=_blank]::after {
570
+ content: "";
571
+ --icon-size: 0.75rem;
572
+ margin-right: -0.09375rem;
573
+ margin-left: 0.5rem;
574
+ }
575
+
576
+ .fr-link--xs.fr-link--icon-left[class^=fr-icon-], .fr-link--xs.fr-link--icon-left[class*=" fr-icon-"], .fr-link--xs.fr-link--icon-left[class^=fr-fi-], .fr-link--xs.fr-link--icon-left[class*=" fr-fi-"] {
577
+ overflow: initial;
578
+ max-width: 100%;
579
+ max-height: none;
580
+ }
581
+ .fr-link--xs.fr-link--icon-left[class^=fr-icon-]::before, .fr-link--xs.fr-link--icon-left[class*=" fr-icon-"]::before, .fr-link--xs.fr-link--icon-left[class^=fr-fi-]::before, .fr-link--xs.fr-link--icon-left[class*=" fr-fi-"]::before {
582
+ --icon-size: 0.75rem;
583
+ margin-left: -0.09375rem;
584
+ margin-right: 0.5rem;
585
+ }
586
+
587
+ .fr-link--xs.fr-link--icon-right[class^=fr-icon-], .fr-link--xs.fr-link--icon-right[class*=" fr-icon-"], .fr-link--xs.fr-link--icon-right[class^=fr-fi-], .fr-link--xs.fr-link--icon-right[class*=" fr-fi-"] {
588
+ overflow: initial;
589
+ max-width: 100%;
590
+ max-height: none;
591
+ }
592
+ .fr-link--xs.fr-link--icon-right[class^=fr-icon-]::after, .fr-link--xs.fr-link--icon-right[class*=" fr-icon-"]::after, .fr-link--xs.fr-link--icon-right[class^=fr-fi-]::after, .fr-link--xs.fr-link--icon-right[class*=" fr-fi-"]::after {
593
+ content: "";
594
+ --icon-size: 0.75rem;
595
+ margin-right: -0.09375rem;
596
+ margin-left: 0.5rem;
597
+ }
598
+ .fr-link--xs.fr-link--icon-right[class^=fr-icon-]::before, .fr-link--xs.fr-link--icon-right[class*=" fr-icon-"]::before, .fr-link--xs.fr-link--icon-right[class^=fr-fi-]::before, .fr-link--xs.fr-link--icon-right[class*=" fr-fi-"]::before {
599
+ content: none;
600
+ }
601
+
602
+ .fr-link--xs[class^=fr-icon-]:not([class*=fr-link--icon-])::before, .fr-link--xs[class*=" fr-icon-"]:not([class*=fr-link--icon-])::before, .fr-link--xs[class^=fr-fi-]:not([class*=fr-link--icon-])::before, .fr-link--xs[class*=" fr-fi-"]:not([class*=fr-link--icon-])::before {
603
+ content: none;
604
+ }
605
+
606
+ .fr-link--sm {
607
+ font-size: 0.875rem;
608
+ line-height: 1.5rem;
609
+ padding: 0 0;
610
+ }
611
+ .fr-link--sm[target=_blank] {
612
+ overflow: initial;
613
+ max-width: 100%;
614
+ max-height: none;
615
+ }
616
+ .fr-link--sm[target=_blank]::after {
617
+ content: "";
618
+ --icon-size: 1rem;
619
+ margin-right: -0.125rem;
620
+ margin-left: 0.5rem;
621
+ }
622
+
623
+ .fr-link--sm.fr-link--icon-left[class^=fr-icon-], .fr-link--sm.fr-link--icon-left[class*=" fr-icon-"], .fr-link--sm.fr-link--icon-left[class^=fr-fi-], .fr-link--sm.fr-link--icon-left[class*=" fr-fi-"] {
624
+ overflow: initial;
625
+ max-width: 100%;
626
+ max-height: none;
627
+ }
628
+ .fr-link--sm.fr-link--icon-left[class^=fr-icon-]::before, .fr-link--sm.fr-link--icon-left[class*=" fr-icon-"]::before, .fr-link--sm.fr-link--icon-left[class^=fr-fi-]::before, .fr-link--sm.fr-link--icon-left[class*=" fr-fi-"]::before {
629
+ --icon-size: 1rem;
630
+ margin-left: -0.125rem;
631
+ margin-right: 0.5rem;
632
+ }
633
+
634
+ .fr-link--sm.fr-link--icon-right[class^=fr-icon-], .fr-link--sm.fr-link--icon-right[class*=" fr-icon-"], .fr-link--sm.fr-link--icon-right[class^=fr-fi-], .fr-link--sm.fr-link--icon-right[class*=" fr-fi-"] {
635
+ overflow: initial;
636
+ max-width: 100%;
637
+ max-height: none;
638
+ }
639
+ .fr-link--sm.fr-link--icon-right[class^=fr-icon-]::after, .fr-link--sm.fr-link--icon-right[class*=" fr-icon-"]::after, .fr-link--sm.fr-link--icon-right[class^=fr-fi-]::after, .fr-link--sm.fr-link--icon-right[class*=" fr-fi-"]::after {
640
+ content: "";
641
+ --icon-size: 1rem;
642
+ margin-right: -0.125rem;
643
+ margin-left: 0.5rem;
644
+ }
645
+ .fr-link--sm.fr-link--icon-right[class^=fr-icon-]::before, .fr-link--sm.fr-link--icon-right[class*=" fr-icon-"]::before, .fr-link--sm.fr-link--icon-right[class^=fr-fi-]::before, .fr-link--sm.fr-link--icon-right[class*=" fr-fi-"]::before {
646
+ content: none;
647
+ }
648
+
649
+ .fr-link--sm[class^=fr-icon-]:not([class*=fr-link--icon-])::before, .fr-link--sm[class*=" fr-icon-"]:not([class*=fr-link--icon-])::before, .fr-link--sm[class^=fr-fi-]:not([class*=fr-link--icon-])::before, .fr-link--sm[class*=" fr-fi-"]:not([class*=fr-link--icon-])::before {
650
+ content: none;
651
+ }
652
+
653
+ .fr-link--lg {
654
+ font-size: 1.125rem;
655
+ line-height: 1.75rem;
656
+ padding: 0 0;
657
+ }
658
+ .fr-link--lg[target=_blank] {
659
+ overflow: initial;
660
+ max-width: 100%;
661
+ max-height: none;
662
+ }
663
+ .fr-link--lg[target=_blank]::after {
664
+ content: "";
665
+ --icon-size: 1.5rem;
666
+ margin-right: -0.1875rem;
667
+ margin-left: 0.5rem;
668
+ }
669
+
670
+ .fr-link--lg.fr-link--icon-left[class^=fr-icon-], .fr-link--lg.fr-link--icon-left[class*=" fr-icon-"], .fr-link--lg.fr-link--icon-left[class^=fr-fi-], .fr-link--lg.fr-link--icon-left[class*=" fr-fi-"] {
671
+ overflow: initial;
672
+ max-width: 100%;
673
+ max-height: none;
674
+ }
675
+ .fr-link--lg.fr-link--icon-left[class^=fr-icon-]::before, .fr-link--lg.fr-link--icon-left[class*=" fr-icon-"]::before, .fr-link--lg.fr-link--icon-left[class^=fr-fi-]::before, .fr-link--lg.fr-link--icon-left[class*=" fr-fi-"]::before {
676
+ --icon-size: 1.5rem;
677
+ margin-left: -0.1875rem;
678
+ margin-right: 0.5rem;
679
+ }
680
+
681
+ .fr-link--lg.fr-link--icon-right[class^=fr-icon-], .fr-link--lg.fr-link--icon-right[class*=" fr-icon-"], .fr-link--lg.fr-link--icon-right[class^=fr-fi-], .fr-link--lg.fr-link--icon-right[class*=" fr-fi-"] {
682
+ overflow: initial;
683
+ max-width: 100%;
684
+ max-height: none;
685
+ }
686
+ .fr-link--lg.fr-link--icon-right[class^=fr-icon-]::after, .fr-link--lg.fr-link--icon-right[class*=" fr-icon-"]::after, .fr-link--lg.fr-link--icon-right[class^=fr-fi-]::after, .fr-link--lg.fr-link--icon-right[class*=" fr-fi-"]::after {
687
+ content: "";
688
+ --icon-size: 1.5rem;
689
+ margin-right: -0.1875rem;
690
+ margin-left: 0.5rem;
691
+ }
692
+ .fr-link--lg.fr-link--icon-right[class^=fr-icon-]::before, .fr-link--lg.fr-link--icon-right[class*=" fr-icon-"]::before, .fr-link--lg.fr-link--icon-right[class^=fr-fi-]::before, .fr-link--lg.fr-link--icon-right[class*=" fr-fi-"]::before {
693
+ content: none;
694
+ }
695
+
696
+ .fr-link--lg[class^=fr-icon-]:not([class*=fr-link--icon-])::before, .fr-link--lg[class*=" fr-icon-"]:not([class*=fr-link--icon-])::before, .fr-link--lg[class^=fr-fi-]:not([class*=fr-link--icon-])::before, .fr-link--lg[class*=" fr-fi-"]:not([class*=fr-link--icon-])::before {
697
+ content: none;
698
+ }
699
+
700
+ @media (-ms-high-contrast: active), (forced-colors: active) {
701
+ a.fr-link {
702
+ text-decoration: underline;
703
+ text-underline-offset: 5px;
704
+ }
705
+ }
706
+ @media (-ms-high-contrast: active), (forced-colors: active) {
707
+ a.fr-link:not([href])::before, a.fr-link:not([href])::after {
708
+ background-color: graytext;
709
+ }
710
+ }
711
+
712
+ button.fr-link {
713
+ text-align: left;
714
+ }
715
+
716
+ .fr-links-group--download .fr-link,
717
+ .fr-link--download {
718
+ position: relative;
719
+ font-size: 1rem;
720
+ line-height: 1.5rem;
721
+ padding: 0 0;
722
+ overflow: initial;
723
+ max-width: 100%;
724
+ max-height: none;
725
+ }
726
+ .fr-links-group--download .fr-link::after,
727
+ .fr-link--download::after {
728
+ content: "";
729
+ --icon-size: 1rem;
730
+ margin-right: -0.125rem;
731
+ margin-left: 0.5rem;
732
+ }
733
+ .fr-links-group--download .fr-link::before,
734
+ .fr-link--download::before {
735
+ content: none;
736
+ }
737
+ .fr-links-group--download .fr-link::after,
738
+ .fr-link--download::after {
739
+ flex: 0 0 auto;
740
+ display: inline-block;
741
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
742
+ background-color: currentColor;
743
+ width: var(--icon-size);
744
+ height: var(--icon-size);
745
+ -webkit-mask-size: 100% 100%;
746
+ mask-size: 100% 100%;
747
+ }
748
+ .fr-links-group--download .fr-link::after,
749
+ .fr-link--download::after {
750
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/download-line.svg");
751
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/download-line.svg");
752
+ }
753
+ .fr-links-group--download .fr-link::after,
754
+ .fr-link--download::after {
755
+ content: "";
756
+ }
757
+ .fr-links-group--download .fr-link::before,
758
+ .fr-link--download::before {
759
+ content: none;
760
+ }
761
+ @media (-ms-high-contrast: active), (forced-colors: active) {
762
+ .fr-links-group--download .fr-link::after,
763
+ .fr-link--download::after {
764
+ forced-color-adjust: none;
765
+ background-color: linktext;
766
+ }
767
+ }
768
+ .fr-links-group--download .fr-link::after,
769
+ .fr-link--download::after {
770
+ margin-bottom: 1.75rem;
771
+ vertical-align: calc((0.75rem - var(--icon-size)) * 0.5 - 1.75rem);
772
+ }
773
+ .fr-links-group--download .fr-link .fr-link__detail,
774
+ .fr-link--download .fr-link__detail {
775
+ position: absolute;
776
+ left: 0;
777
+ font-size: 0.75rem;
778
+ line-height: 1.25rem;
779
+ font-weight: 400;
780
+ margin-top: 1.75rem;
781
+ white-space: nowrap;
782
+ pointer-events: none;
783
+ cursor: text;
784
+ }
785
+ @media (-ms-high-contrast: active), (forced-colors: active) {
786
+ .fr-links-group--download .fr-link .fr-link__detail,
787
+ .fr-link--download .fr-link__detail {
788
+ color: canvastext;
789
+ }
790
+ }
791
+ .fr-links-group--download .fr-link .fr-link__detail abbr,
792
+ .fr-link--download .fr-link__detail abbr {
793
+ text-decoration: none;
794
+ }
795
+ @media (-ms-high-contrast: active), (forced-colors: active) {
796
+ .fr-links-group--download .fr-link:not([href]) .fr-link__detail,
797
+ .fr-link--download:not([href]) .fr-link__detail {
798
+ color: graytext;
799
+ }
800
+ }
801
+
802
+ .fr-links-group--download {
803
+ --ul-type: disc;
804
+ --ol-type: decimal;
805
+ --ul-start: 1rem;
806
+ --ol-start: 1.5rem;
807
+ --xl-block: 0.5rem;
808
+ --li-bottom: 0.25rem;
809
+ --xl-base: 1em;
810
+ --ol-content: counters(li-counter, ".") ".\00a0\00a0";
811
+ }
812
+ .fr-links-group--download > li {
813
+ display: block;
814
+ }
815
+
816
+ .fr-links-group--download .fr-link,
817
+ .fr-links-group .fr-link--download {
818
+ margin-bottom: 2.5rem;
819
+ }
820
+ @media (min-width: 48em) {
821
+ .fr-links-group--download .fr-link,
822
+ .fr-links-group .fr-link--download {
823
+ margin-bottom: 3rem;
824
+ }
825
+ }
826
+
827
+ .fr-links-group {
828
+ --li-bottom: 0.5rem;
829
+ }
830
+ .fr-links-group--inline {
831
+ --ul-type: none;
832
+ --ol-type: none;
833
+ --ul-start: 0;
834
+ --ol-start: 0;
835
+ --xl-block: 0;
836
+ --li-bottom: 0;
837
+ --ol-content: none;
838
+ display: inline;
839
+ margin: 0 -0.5rem;
840
+ }
841
+ .fr-links-group--inline > li {
842
+ display: inline;
843
+ line-height: 2.75rem;
844
+ }
845
+ .fr-links-group--inline .fr-link {
846
+ margin: 0 0.5rem 1rem;
847
+ }
848
+ .fr-links-group--sm .fr-link {
849
+ font-size: 0.875rem;
850
+ line-height: 1.5rem;
851
+ padding: 0 0;
852
+ }
853
+ .fr-links-group--sm .fr-link::before, .fr-links-group--sm .fr-link::after {
854
+ --icon-size: 1rem;
855
+ }
856
+ .fr-links-group--sm .fr-link:not(.fr-link--download) {
857
+ vertical-align: top;
858
+ }
859
+ .fr-links-group--lg .fr-link {
860
+ font-size: 1.125rem;
861
+ line-height: 1.75rem;
862
+ padding: 0 0;
863
+ }
864
+ .fr-links-group--lg .fr-link::before, .fr-links-group--lg .fr-link::after {
865
+ --icon-size: 1.5rem;
866
+ }
867
+ .fr-links-group__title {
868
+ font-weight: 700;
869
+ font-size: 1.375rem;
870
+ line-height: 1.75rem;
871
+ }
872
+ @media (min-width: 48em) {
873
+ .fr-links-group__title {
874
+ font-size: 1.5rem;
875
+ line-height: 2rem;
876
+ }
877
+ }
878
+ .fr-links-group__title {
879
+ margin: var(--title-spacing);
880
+ }
881
+ .fr-links-group--bordered {
882
+ padding: 1.5rem 1.5rem 0.5rem;
883
+ }
884
+ @media (min-width: 48em) {
885
+ .fr-links-group--bordered {
886
+ padding: 2rem 2rem 0.5rem;
887
+ }
888
+ }
889
+
890
+ .fr-link--close {
891
+ font-size: 0.875rem;
892
+ line-height: 1.5rem;
893
+ min-height: 2rem;
894
+ padding: 0.25rem 0.75rem;
895
+ overflow: initial;
896
+ max-width: 100%;
897
+ max-height: none;
898
+ }
899
+ .fr-link--close::after {
900
+ content: "";
901
+ --icon-size: 1rem;
902
+ margin-right: -0.125rem;
903
+ margin-left: 0.5rem;
904
+ }
905
+ .fr-link--close::before {
906
+ content: none;
907
+ }
908
+ .fr-link--close::after {
909
+ flex: 0 0 auto;
910
+ display: inline-block;
911
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
912
+ background-color: currentColor;
913
+ width: var(--icon-size);
914
+ height: var(--icon-size);
915
+ -webkit-mask-size: 100% 100%;
916
+ mask-size: 100% 100%;
917
+ }
918
+ .fr-link--close::after {
919
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/close-line.svg");
920
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/close-line.svg");
921
+ }
922
+ .fr-link--close::after {
923
+ content: "";
924
+ }
925
+ .fr-link--close::before {
926
+ content: none;
927
+ }
928
+ @media (-ms-high-contrast: active), (forced-colors: active) {
929
+ .fr-link--close::after {
930
+ forced-color-adjust: none;
931
+ background-color: buttontext;
932
+ }
933
+ }
934
+ .fr-link--close {
935
+ display: flex;
936
+ flex-direction: row;
937
+ align-items: center;
938
+ margin-left: auto;
939
+ margin-right: -1rem;
940
+ }
941
+
942
+ .fr-link.fr-link--icon-left.fr-fi-theme-fill {
943
+ font-size: 1rem;
944
+ line-height: 1.5rem;
945
+ min-height: 2.5rem;
946
+ padding: 0.5rem 1rem;
947
+ overflow: initial;
948
+ max-width: 100%;
949
+ max-height: none;
950
+ }
951
+ .fr-link.fr-link--icon-left.fr-fi-theme-fill::before {
952
+ --icon-size: 1rem;
953
+ margin-left: -0.125rem;
954
+ margin-right: 0.5rem;
955
+ }
956
+
957
+ .fr-link {
958
+ color: var(--text-action-high-blue-france);
959
+ }
960
+ .fr-link__detail {
961
+ color: var(--text-mention-grey);
962
+ }
963
+
964
+ .fr-links-group li::marker {
965
+ color: var(--text-action-high-blue-france);
966
+ }
967
+ .fr-links-group--bordered {
968
+ box-shadow: inset 0 0 0 1px var(--border-default-grey);
969
+ }
970
+
971
+ .fr-link--close {
972
+ background-color: transparent;
973
+ --hover: inherit;
974
+ --active: inherit;
975
+ color: var(--text-action-high-blue-france);
976
+ }
977
+ .fr-link--close:disabled, a.fr-link--close:not([href]) {
978
+ color: var(--text-disabled-grey);
979
+ background-color: transparent;
980
+ --hover: inherit;
981
+ --active: inherit;
982
+ }
983
+
984
+ :host(dsfr-link) {
985
+ display: inline;
986
+ text-rendering: optimizeLegibility;
987
+ -webkit-font-smoothing: antialiased;
988
+ -moz-osx-font-smoothing: grayscale;
989
+ -webkit-text-size-adjust: 100%;
990
+ background-color: var(--background-default-grey);
991
+ --idle: transparent;
992
+ --hover: var(--background-default-grey-hover);
993
+ --active: var(--background-default-grey-active);
994
+ color: var(--text-default-grey);
995
+ background-color: transparent;
996
+ }
997
+
998
+ .fr-link {
999
+ box-sizing: border-box;
1000
+ }
1001
+ .fr-link--neutral {
1002
+ color: currentColor;
1003
+ font-size: inherit;
1004
+ }
1005
+ .fr-link--neutral[target=_blank]::after {
1006
+ --icon-size: 1em;
1007
+ }</style>