@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,1385 @@
1
+ <svelte:options
2
+ customElement={{
3
+ tag: "dsfr-textarea",
4
+ props: {
5
+ id: { attribute: "id", type: "String" },
6
+ label: { attribute: "label", type: "String" },
7
+ hideLabel: { attribute: "hide-label", type: "Boolean" },
8
+ hint: { attribute: "hint", type: "String" },
9
+ value: { attribute: "value", type: "String", reflect: true },
10
+ placeholder: { attribute: "placeholder", type: "String" },
11
+ name: { attribute: "name", type: "String", reflect: true },
12
+ autocomplete: { attribute: "autocomplete", type: "String" },
13
+ disabled: { attribute: "disabled", type: "Boolean", reflect: true },
14
+ status: { attribute: "status", type: "String" },
15
+ errorMessage: { attribute: "error-message", type: "String" },
16
+ validMessage: { attribute: "valid-message", type: "String" },
17
+ infoMessage: { attribute: "info-message", type: "String" },
18
+ rows: { attribute: "rows", type: "String" },
19
+ form: { attribute: "form", type: "String", reflect: true },
20
+ maxlength: { attribute: "maxlength", type: "Number" },
21
+ minlength: { attribute: "minlength", type: "Number" },
22
+ readonly: { attribute: "readonly", type: "Boolean" },
23
+ required: { attribute: "required", type: "Boolean" },
24
+ labelSize: { attribute: "label-size", type: "String" },
25
+ labelWeight: { attribute: "label-weight", type: "String" },
26
+ },
27
+ extend: (customElementConstructor) => {
28
+ return class extends customElementConstructor {
29
+ static formAssociated = true;
30
+
31
+ constructor() {
32
+ super();
33
+ this.internals = this.attachInternals();
34
+ }
35
+ };
36
+ },
37
+ }}
38
+ />
39
+
40
+ <script lang="ts">import { setThemeable } from "../utilitaires";
41
+ import { createFormValidation } from "../utilitaires/createFormValidation.svelte";
42
+ import DsfrLabel from "./DsfrLabel.svelte";
43
+ import DsfrMessagesGroup from "./DsfrMessagesGroup.svelte";
44
+ let { id, label, hideLabel = false, hint, value = $bindable(), placeholder, name, autocomplete, disabled, status = "default", errorMessage, validMessage, infoMessage, rows, form, maxlength, minlength, readonly, required, internals, onvaluechanged, labelSize, labelWeight } = $props();
45
+ let hostElement = $host();
46
+ setThemeable(hostElement);
47
+ let formControlElement;
48
+ // Création de l'état de validation partagé
49
+ const formValidation = createFormValidation();
50
+ // Détermine si l'utilisateur a pris la main sur le status
51
+ const isUserControlled = $derived(status !== "default");
52
+ // Status et message calculés à afficher
53
+ const computedStatus = $derived(isUserControlled ? status : formValidation.localStatus);
54
+ const computedErrorMessage = $derived(isUserControlled ? errorMessage : formValidation.localErrorMessage);
55
+ /**
56
+ * Gère l'événement input du textarea.
57
+ * Met à jour la valeur du composant et déclenche l'événement 'valuechanged'.
58
+ *
59
+ * @param {Event} event - L'événement input déclenché
60
+ */
61
+ function handleInput(event) {
62
+ const target = event.target;
63
+ value = target.value;
64
+ onvaluechanged?.(target.value);
65
+ hostElement?.dispatchEvent(new CustomEvent("valuechanged", {
66
+ detail: target.value,
67
+ bubbles: true
68
+ }));
69
+ }
70
+ /**
71
+ * Définit un message de validité personnalisé pour le textarea.
72
+ * Met à jour le message de validité personnalisé et déclenche la vérification de validité.
73
+ *
74
+ * @param {string} message - Le message de validité personnalisé à définir
75
+ */
76
+ export function setCustomValidity(message) {
77
+ formValidation.setCustomValidity(message);
78
+ }
79
+ // Configure la validation avec les références nécessaires
80
+ $effect(() => {
81
+ formValidation.setup(internals, formControlElement, hostElement, () => {
82
+ value = "";
83
+ });
84
+ });
85
+ // Synchronise la valeur du formulaire et met à jour la validité
86
+ $effect(() => {
87
+ formValidation.syncFormValue(value, isUserControlled);
88
+ });
89
+ // Quand l'utilisateur prend la main sur le status, on efface les erreurs de validation natives
90
+ $effect(() => {
91
+ if (isUserControlled) {
92
+ internals?.setValidity({});
93
+ }
94
+ });
95
+ // Attache les event listeners pour la validation
96
+ $effect(() => {
97
+ return formValidation.attachListeners();
98
+ });
99
+ const statusClass = $derived(computedStatus !== "info" && computedStatus !== "default" && `fr-input-group--${computedStatus}`);
100
+ const isLabelEmpty = $derived(label === "");
101
+ </script>
102
+
103
+ <div
104
+ class={["fr-input-group", statusClass, { "fr-input-group--disabled": disabled }]}
105
+ id={`input-group-${id}`}
106
+ >
107
+ <DsfrLabel
108
+ for={id}
109
+ {label}
110
+ {hint}
111
+ context="field"
112
+ {status}
113
+ {disabled}
114
+ hidden={hideLabel || isLabelEmpty}
115
+ {labelSize}
116
+ {labelWeight}
117
+ />
118
+ <textarea
119
+ bind:this={formControlElement}
120
+ {id}
121
+ class="fr-input"
122
+ {name}
123
+ bind:value
124
+ {placeholder}
125
+ {autocomplete}
126
+ {disabled}
127
+ aria-describedby={computedStatus !== "default" ? `${id}-messages` : undefined}
128
+ {rows}
129
+ {form}
130
+ {maxlength}
131
+ {minlength}
132
+ {readonly}
133
+ {required}
134
+ oninput={handleInput}
135
+ onblur={formValidation.handleBlur}
136
+ oninvalid={formValidation.handleInvalid}></textarea>
137
+
138
+ <slot name="messages-group">
139
+ {#if computedStatus !== "default"}
140
+ <DsfrMessagesGroup
141
+ {id}
142
+ status={computedStatus}
143
+ errorMessage={isUserControlled ? errorMessage : computedErrorMessage}
144
+ {validMessage}
145
+ {infoMessage}
146
+ />
147
+ {/if}
148
+ </slot>
149
+ </div>
150
+
151
+ <style>@charset "UTF-8"; /*!
152
+ * DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
153
+ */ /* ¯¯¯¯¯¯¯¯¯ *\
154
+ FORM
155
+ \* ˍˍˍˍˍˍˍˍˍ */
156
+ .fr-label {
157
+ display: block;
158
+ font-size: 1rem;
159
+ line-height: 1.5rem;
160
+ color: var(--text-label-grey);
161
+ }
162
+
163
+ .fr-label + .fr-input,
164
+ .fr-label + .fr-input-wrap,
165
+ .fr-label + .fr-select {
166
+ margin-top: 0.5rem;
167
+ }
168
+
169
+ .fr-hint-text {
170
+ display: block;
171
+ font-size: 0.75rem;
172
+ line-height: 1.25rem;
173
+
174
+ --text-spacing: 0 0 1rem;
175
+ }
176
+
177
+ .fr-hint-text + .fr-hint-text {
178
+ margin-top: 0.25rem;
179
+ }
180
+
181
+ .fr-fieldset {
182
+ position: relative;
183
+ margin: 0 -0.75rem 1rem;
184
+ padding: 0 0.25rem;
185
+ display: flex;
186
+ flex-direction: row;
187
+ align-items: last baseline;
188
+ flex-wrap: wrap;
189
+ border: 0;
190
+ }
191
+
192
+ .fr-fieldset__legend {
193
+ padding-bottom: 1rem;
194
+ padding-left: 0.75rem;
195
+ padding-right: 0.75rem;
196
+ margin-left: -0.25rem;
197
+ margin-right: -0.25rem;
198
+ font-size: 1rem;
199
+ line-height: 1.5rem;
200
+ font-weight: 700;
201
+ width: 100%;
202
+ color: var(--text-label-grey);
203
+ }
204
+
205
+ .fr-fieldset__legend--regular {
206
+ font-weight: 400;
207
+ }
208
+
209
+ .fr-fieldset__legend .fr-hint-text {
210
+ margin-top: 0.5rem;
211
+ font-weight: 400;
212
+ }
213
+
214
+ .fr-fieldset--valid,
215
+ .fr-fieldset--error,
216
+ .fr-fieldset--info {
217
+ background-repeat: no-repeat;
218
+ background-position: 0 -2.25rem;
219
+ background-size: 2px calc(100% + 1.25rem);
220
+ }
221
+
222
+ .fr-fieldset--valid .fr-fieldset__legend,
223
+ .fr-fieldset--error .fr-fieldset__legend,
224
+ .fr-fieldset--info .fr-fieldset__legend {
225
+ background-repeat: no-repeat;
226
+ background-position: 0 0;
227
+ background-size: 2px 100%;
228
+ }
229
+
230
+ .fr-fieldset__element {
231
+ flex: 1 1 100%;
232
+ max-width: 100%;
233
+ padding-left: 0.5rem;
234
+ padding-right: 0.5rem;
235
+ margin-bottom: 1rem;
236
+ }
237
+
238
+ .fr-fieldset__element--inline {
239
+ flex: 0 0 auto;
240
+ }
241
+
242
+ .fr-fieldset__element--inline-grow,
243
+ .fr-fieldset__element--inline\@md.fr-fieldset__element--inline-grow {
244
+ flex-grow: 1;
245
+ }
246
+
247
+ .fr-fieldset__element.fr-fieldset__element--year {
248
+ flex: 0 0 8rem;
249
+ }
250
+
251
+ .fr-fieldset__element--year:not(.fr-fieldset__element--inline) {
252
+ margin-right: calc(100% - 8rem);
253
+ }
254
+
255
+ .fr-fieldset__element.fr-fieldset__element--postal {
256
+ flex: 0 0 16rem;
257
+ }
258
+
259
+ .fr-fieldset__element--postal:not(.fr-fieldset__element--inline) {
260
+ margin-right: calc(100% - 16rem);
261
+ }
262
+
263
+ .fr-fieldset__element.fr-fieldset__element--number {
264
+ flex: 0 0 6rem;
265
+ }
266
+
267
+ .fr-fieldset__element--number:not(.fr-fieldset__element--inline) {
268
+ margin-right: calc(100% - 6rem);
269
+ }
270
+
271
+ .fr-fieldset__legend > h1:last-child::after,
272
+ .fr-fieldset__legend > h2:last-child::after,
273
+ .fr-fieldset__legend > h3:last-child::after,
274
+ .fr-fieldset__legend > h4:last-child::after,
275
+ .fr-fieldset__legend > h5:last-child::after,
276
+ .fr-fieldset__legend > h6:last-child::after,
277
+ .fr-fieldset__legend > p:last-child::after,
278
+ .fr-fieldset__legend > .fr-fieldset:last-child::after,
279
+ .fr-fieldset__element > h1:last-child::after,
280
+ .fr-fieldset__element > h2:last-child::after,
281
+ .fr-fieldset__element > h3:last-child::after,
282
+ .fr-fieldset__element > h4:last-child::after,
283
+ .fr-fieldset__element > h5:last-child::after,
284
+ .fr-fieldset__element > h6:last-child::after,
285
+ .fr-fieldset__element > p:last-child::after,
286
+ .fr-fieldset__element > .fr-fieldset:last-child::after {
287
+ content: "";
288
+ display: block;
289
+ margin-bottom: -1rem;
290
+ }
291
+
292
+ .fr-fieldset > .fr-messages-group {
293
+ flex: 1 1 100%;
294
+ padding-left: 0.5rem;
295
+ padding-right: 0.5rem;
296
+ }
297
+
298
+ .fr-fieldset > .fr-messages-group > .fr-message:last-child {
299
+ margin-bottom: 1rem;
300
+ }
301
+
302
+ .fr-message {
303
+ --comma: ", ";
304
+ --content: var(--comma);
305
+ display: flex;
306
+ flex-direction: row;
307
+ align-items: flex-start;
308
+ font-size: 0.75rem;
309
+ line-height: 1.25rem;
310
+ margin: 0 0 0.25rem 0;
311
+ }
312
+
313
+ .fr-message::after {
314
+ content: var(--content);
315
+ position: absolute;
316
+ width: 1px;
317
+ height: 1px;
318
+ padding: 0;
319
+ margin: -1px;
320
+ overflow: hidden;
321
+ clip: rect(0, 0, 0, 0);
322
+ white-space: nowrap; /* added line */
323
+ border: 0;
324
+ display: block;
325
+ }
326
+
327
+ .fr-message:last-child {
328
+ --comma: ". ";
329
+ margin-bottom: 0;
330
+ }
331
+
332
+ .fr-message--error::before,
333
+ .fr-message--valid::before,
334
+ .fr-message--warning::before,
335
+ .fr-message--info::before {
336
+ flex: 0 0 auto;
337
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
338
+ background-color: currentColor;
339
+ width: var(--icon-size);
340
+ height: var(--icon-size);
341
+ -webkit-mask-size: 100% 100%;
342
+ mask-size: 100% 100%;
343
+ --icon-size: 1rem;
344
+ content: "";
345
+ display: inline-block;
346
+ margin-right: 0.25rem;
347
+ margin-top: 0.125rem;
348
+ }
349
+
350
+ .fr-message--error::before {
351
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
352
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
353
+ }
354
+
355
+ .fr-message--valid::before {
356
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
357
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
358
+ }
359
+
360
+ .fr-message--info::before {
361
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
362
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
363
+ }
364
+
365
+ .fr-message--warning::before {
366
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--warning-fill.svg");
367
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--warning-fill.svg");
368
+ }
369
+
370
+ .fr-select-group--valid label,
371
+ .fr-input-group--valid label,
372
+ .fr-range-group--valid label,
373
+ .fr-upload-group--valid label {
374
+ color: var(--text-default-success);
375
+ }
376
+
377
+ .fr-select-group--error label,
378
+ .fr-input-group--error label,
379
+ .fr-range-group--error label,
380
+ .fr-upload-group--error label {
381
+ color: var(--text-default-error);
382
+ }
383
+
384
+ .fr-select-group--info label,
385
+ .fr-input-group--info label,
386
+ .fr-range-group--info label,
387
+ .fr-upload-group--info label {
388
+ color: var(--text-default-info);
389
+ }
390
+
391
+ .fr-select-group--disabled label,
392
+ .fr-select-group--disabled .fr-hint-text,
393
+ .fr-input-group--disabled label,
394
+ .fr-input-group--disabled .fr-hint-text,
395
+ .fr-range-group--disabled label,
396
+ .fr-range-group--disabled .fr-hint-text,
397
+ .fr-upload-group--disabled label,
398
+ .fr-upload-group--disabled .fr-hint-text {
399
+ color: var(--text-disabled-grey);
400
+ }
401
+
402
+ .fr-label--error {
403
+ color: var(--text-default-error);
404
+ }
405
+
406
+ .fr-label--success {
407
+ color: var(--text-default-success);
408
+ }
409
+
410
+ .fr-label--info {
411
+ color: var(--text-default-info);
412
+ }
413
+
414
+ .fr-label--disabled,
415
+ .fr-label--disabled .fr-hint-text {
416
+ color: var(--text-disabled-grey);
417
+ }
418
+
419
+ .fr-hint-text,
420
+ .fr-message {
421
+ color: var(--text-mention-grey);
422
+ }
423
+
424
+ .fr-message--error {
425
+ color: var(--text-default-error);
426
+ }
427
+
428
+ .fr-message--valid {
429
+ color: var(--text-default-success);
430
+ }
431
+
432
+ .fr-message--info {
433
+ color: var(--text-default-info);
434
+ }
435
+
436
+ .fr-message--warning {
437
+ color: var(--text-default-warning);
438
+ }
439
+
440
+ .fr-fieldset:disabled .fr-label,
441
+ .fr-fieldset:disabled .fr-hint-text,
442
+ .fr-fieldset:disabled .fr-fieldset__legend {
443
+ color: var(--text-disabled-grey);
444
+ }
445
+
446
+ .fr-fieldset input:disabled + label,
447
+ .fr-fieldset input:disabled + label .fr-hint-text,
448
+ .fr-fieldset input:disabled + label + .fr-hint-text {
449
+ color: var(--text-disabled-grey);
450
+ }
451
+
452
+ .fr-fieldset--error,
453
+ .fr-fieldset--error .fr-fieldset__legend {
454
+ background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));
455
+ }
456
+
457
+ .fr-fieldset--error .fr-fieldset__legend,
458
+ .fr-fieldset--error .fr-label {
459
+ color: var(--text-default-error);
460
+ }
461
+
462
+ .fr-fieldset--valid,
463
+ .fr-fieldset--valid .fr-fieldset__legend {
464
+ background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));
465
+ }
466
+
467
+ .fr-fieldset--valid .fr-fieldset__legend,
468
+ .fr-fieldset--valid .fr-label {
469
+ color: var(--text-default-success);
470
+ }
471
+
472
+ .fr-fieldset--info,
473
+ .fr-fieldset--info .fr-fieldset__legend {
474
+ background-image: linear-gradient(0deg, var(--border-plain-info), var(--border-plain-info));
475
+ }
476
+
477
+ .fr-fieldset--info .fr-fieldset__legend,
478
+ .fr-fieldset--info .fr-label {
479
+ color: var(--text-default-info);
480
+ }
481
+
482
+ .fr-select-group:not(:last-child),
483
+ .fr-input-group:not(:last-child) {
484
+ margin-bottom: 1.5rem;
485
+ }
486
+
487
+ .fr-select-group .fr-label .fr-hint-text,
488
+ .fr-input-group .fr-label .fr-hint-text {
489
+ margin-top: 0.25rem;
490
+ }
491
+
492
+ .fr-fieldset--inline .fr-fieldset__content {
493
+ display: flex;
494
+ align-items: baseline;
495
+ justify-content: flex-start;
496
+ flex-wrap: wrap;
497
+ margin: -0.75rem 0.5rem 0 0.5rem;
498
+ }
499
+
500
+ .fr-fieldset--inline .fr-checkbox-group {
501
+ display: inline-flex;
502
+ margin-bottom: 0;
503
+ }
504
+
505
+ .fr-fieldset--inline .fr-checkbox-group:first-child {
506
+ margin-top: 0;
507
+ }
508
+
509
+ .fr-fieldset--inline .fr-checkbox-group:not(:last-child) {
510
+ margin-right: 1.25rem;
511
+ }
512
+
513
+ .fr-fieldset--inline .fr-checkbox-group:last-child {
514
+ margin-bottom: 0;
515
+ }
516
+
517
+ .fr-fieldset--inline .fr-radio-group {
518
+ display: inline-flex;
519
+ }
520
+
521
+ .fr-fieldset--inline .fr-radio-group:not(:last-child) {
522
+ margin-right: 1.75rem;
523
+ }
524
+
525
+ .fr-fieldset--inline .fr-radio-group:first-child {
526
+ margin-top: 0;
527
+ }
528
+
529
+ .fr-fieldset--inline .fr-radio-group:last-child {
530
+ margin-bottom: 0;
531
+ }
532
+
533
+ .fr-fieldset__content {
534
+ position: relative;
535
+ margin: 0 0.5rem;
536
+ width: 100%;
537
+ }
538
+
539
+ .fr-fieldset__content .fr-radio-group:first-child,
540
+ .fr-fieldset__content .fr-checkbox-group:first-child {
541
+ margin-top: -0.75rem;
542
+ }
543
+
544
+ .fr-fieldset__content .fr-radio-group label,
545
+ .fr-fieldset__content .fr-checkbox-group label {
546
+ padding: 0.75rem 0;
547
+ }
548
+
549
+ .fr-fieldset__content .fr-radio-group:not(.fr-radio-rich) input[type=radio] + label::before,
550
+ .fr-fieldset__content .fr-checkbox-group input[type=checkbox] + label::before {
551
+ top: 0.75rem;
552
+ }
553
+
554
+ .fr-fieldset__content + .fr-error-text,
555
+ .fr-fieldset__content + .fr-valid-text,
556
+ .fr-fieldset__content + .fr-info-text {
557
+ margin-top: 0;
558
+ margin-left: 0.5rem;
559
+ margin-bottom: 1rem;
560
+ }
561
+
562
+ .fr-error-text,
563
+ .fr-valid-text,
564
+ .fr-info-text {
565
+ display: flex;
566
+ flex-direction: row;
567
+ align-items: center;
568
+ font-size: 0.75rem;
569
+ line-height: 1.25rem;
570
+ margin-top: 1rem;
571
+ margin-bottom: 0;
572
+ }
573
+
574
+ .fr-error-text::before,
575
+ .fr-valid-text::before,
576
+ .fr-info-text::before {
577
+ flex: 0 0 auto;
578
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
579
+ background-color: currentColor;
580
+ width: var(--icon-size);
581
+ height: var(--icon-size);
582
+ -webkit-mask-size: 100% 100%;
583
+ mask-size: 100% 100%;
584
+ --icon-size: 1rem;
585
+ content: "";
586
+ display: inline-block;
587
+ margin-right: 0.25rem;
588
+ }
589
+
590
+ .fr-error-text + .fr-error-text,
591
+ .fr-error-text + .fr-valid-text,
592
+ .fr-error-text + .fr-info-text,
593
+ .fr-valid-text + .fr-error-text,
594
+ .fr-valid-text + .fr-valid-text,
595
+ .fr-valid-text + .fr-info-text,
596
+ .fr-info-text + .fr-error-text,
597
+ .fr-info-text + .fr-valid-text,
598
+ .fr-info-text + .fr-info-text {
599
+ margin-top: 0.25rem;
600
+ }
601
+
602
+ .fr-error-text::before {
603
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
604
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
605
+ }
606
+
607
+ .fr-valid-text::before {
608
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
609
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
610
+ }
611
+
612
+ .fr-info-text::before {
613
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
614
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
615
+ }
616
+
617
+ .fr-error-text {
618
+ color: var(--text-default-error);
619
+ }
620
+
621
+ .fr-valid-text {
622
+ color: var(--text-default-success);
623
+ }
624
+
625
+ .fr-info-text {
626
+ color: var(--text-default-info);
627
+ }
628
+
629
+ .fr-fieldset--valid .fr-fieldset__content::before {
630
+ box-shadow: inset 2px 0 0 0 var(--border-plain-success);
631
+ }
632
+
633
+ .fr-fieldset--error .fr-fieldset__content::before {
634
+ box-shadow: inset 2px 0 0 0 var(--border-plain-error);
635
+ }
636
+
637
+ .fr-fieldset--info .fr-fieldset__content::before {
638
+ box-shadow: inset 2px 0 0 0 var(--border-plain-info);
639
+ }
640
+ @media (min-width: 36em) {
641
+ /*! media sm */
642
+ }
643
+ @media (min-width: 48em) {
644
+ /*! media md */
645
+ .fr-fieldset__element--inline\@md {
646
+ flex: 0 0 auto;
647
+ }
648
+
649
+ .fr-fieldset__element--year.fr-fieldset__element--inline\@md {
650
+ margin-right: 0;
651
+ }
652
+
653
+ .fr-fieldset__element--postal.fr-fieldset__element--inline\@md {
654
+ margin-right: 0;
655
+ }
656
+
657
+ .fr-fieldset__element--number.fr-fieldset__element--inline\@md {
658
+ margin-right: 0;
659
+ }
660
+ }
661
+ @media (min-width: 62em) {
662
+ /*! media lg */
663
+ }
664
+ @media (min-width: 78em) {
665
+ /*! media xl */
666
+ }
667
+ @media (-ms-high-contrast: active), (forced-colors: active) {
668
+ .fr-fieldset:disabled .fr-label,
669
+ .fr-fieldset:disabled .fr-hint-text,
670
+ .fr-fieldset:disabled .fr-fieldset__legend {
671
+ color: graytext;
672
+ }
673
+
674
+ .fr-fieldset input:disabled + label,
675
+ .fr-fieldset input:disabled + label .fr-hint-text,
676
+ .fr-fieldset input:disabled + label + .fr-hint-text {
677
+ color: graytext;
678
+ }
679
+
680
+ .fr-message--error::before,
681
+ .fr-message--error::after,
682
+ .fr-message--valid::before,
683
+ .fr-message--valid::after,
684
+ .fr-message--warning::before,
685
+ .fr-message--warning::after,
686
+ .fr-message--info::before,
687
+ .fr-message--info::after {
688
+ forced-color-adjust: none;
689
+ background-color: canvastext;
690
+ }
691
+
692
+ .fr-error-text::before,
693
+ .fr-valid-text::before,
694
+ .fr-info-text::before {
695
+ forced-color-adjust: none;
696
+ background-color: canvastext;
697
+ }
698
+ }
699
+ /*!
700
+ * DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
701
+ */
702
+ /* ¯¯¯¯¯¯¯¯¯ *\
703
+ INPUT
704
+ \* ˍˍˍˍˍˍˍˍˍ */
705
+ .fr-input {
706
+ display: block;
707
+ width: 100%;
708
+ border-radius: 0.25rem 0.25rem 0 0;
709
+ font-size: 1rem;
710
+ line-height: 1.5rem;
711
+ padding: 0.5rem 1rem;
712
+ color: var(--text-default-grey);
713
+ background-color: var(--background-contrast-grey);
714
+
715
+ --idle: transparent;
716
+ --hover: var(--background-contrast-grey-hover);
717
+ --active: var(--background-contrast-grey-active);
718
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-grey);
719
+ }
720
+
721
+ .fr-input:not(textarea) {
722
+ max-height: 2.5rem;
723
+ }
724
+
725
+ .fr-input::placeholder {
726
+ opacity: 1;
727
+ font-style: italic;
728
+ color: var(--text-mention-grey);
729
+ }
730
+
731
+ .fr-input::-webkit-contacts-auto-fill-button {
732
+ cursor: pointer;
733
+ background-color: var(--text-label-grey);
734
+
735
+ --idle: transparent;
736
+ --hover: var(--text-label-grey-hover);
737
+ --active: var(--text-label-grey-active);
738
+ }
739
+
740
+ .fr-input[type=date] {
741
+ position: relative;
742
+ min-height: 2.5rem;
743
+ }
744
+
745
+ .fr-input[type=date]::after {
746
+ content: "";
747
+ display: block;
748
+ position: absolute;
749
+ top: 0.75rem;
750
+ right: 1rem;
751
+ width: 1rem;
752
+ height: 1rem;
753
+ pointer-events: none;
754
+ }
755
+ @supports selector(::-webkit-calendar-picker-indicator) {
756
+ .fr-input[type=date] {
757
+ background-repeat: no-repeat;
758
+ background-position: calc(100% - 1rem) 50%;
759
+ background-size: 1rem 1rem;
760
+ padding-right: 3rem;
761
+ }
762
+
763
+ .fr-input[type=date]::-webkit-calendar-picker-indicator {
764
+ display: block;
765
+ padding: 0.5rem;
766
+ margin-right: -2.5rem;
767
+ }
768
+ }
769
+
770
+ .fr-input-wrap {
771
+ position: relative;
772
+ display: block;
773
+ }
774
+
775
+ .fr-input-wrap[class^=fr-icon-] .fr-input,
776
+ .fr-input-wrap[class*=" fr-icon-"] .fr-input,
777
+ .fr-input-wrap[class^=fr-fi-] .fr-input,
778
+ .fr-input-wrap[class*=" fr-fi-"] .fr-input {
779
+ padding-right: 3rem;
780
+ }
781
+
782
+ .fr-input-wrap[class^=fr-icon-]::before,
783
+ .fr-input-wrap[class*=" fr-icon-"]::before,
784
+ .fr-input-wrap[class^=fr-fi-]::before,
785
+ .fr-input-wrap[class*=" fr-fi-"]::before {
786
+ --icon-size: 1rem;
787
+ position: absolute;
788
+ top: 0.75rem;
789
+ right: 1rem;
790
+ bottom: 0.75rem;
791
+ margin: auto;
792
+ pointer-events: none;
793
+ }
794
+
795
+ .fr-input-wrap--addon,
796
+ .fr-input-wrap--action {
797
+ display: flex;
798
+ flex-direction: row;
799
+ width: 100%;
800
+ }
801
+
802
+ .fr-input-wrap--addon > *:first-child:not(:last-child) {
803
+ border-radius: 0.25rem 0 0 0;
804
+ }
805
+
806
+ .fr-input-wrap--addon > *:last-child:not(:first-child) {
807
+ border-radius: 0 0.25rem 0 0;
808
+ }
809
+
810
+ .fr-input-wrap--action .fr-btn {
811
+ margin-left: 1rem;
812
+ }
813
+
814
+ .fr-input-wrap + .fr-hint-text {
815
+ margin-top: 1rem;
816
+ }
817
+
818
+ .fr-input-group {
819
+ position: relative;
820
+ }
821
+
822
+ .fr-input-group .fr-message:first-child {
823
+ margin-top: 1rem;
824
+ }
825
+
826
+ .fr-input-group--valid::before,
827
+ .fr-input-group--error::before,
828
+ .fr-input-group--info::before {
829
+ content: "";
830
+ display: block;
831
+ pointer-events: none;
832
+ position: absolute;
833
+ top: 0;
834
+ right: -0.75rem;
835
+ bottom: 0;
836
+ left: -0.75rem;
837
+ background-repeat: no-repeat;
838
+ background-position: 0 0;
839
+ background-size: 0.125rem 100%;
840
+ }
841
+
842
+ textarea.fr-input {
843
+ min-height: 3.75rem;
844
+ }
845
+
846
+ .fr-input:disabled {
847
+ color: var(--text-disabled-grey);
848
+ box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);
849
+ }
850
+
851
+ .fr-input:autofill,
852
+ .fr-input:autofill:hover,
853
+ .fr-input:autofill:focus,
854
+ .fr-input:-webkit-autofill,
855
+ .fr-input:-webkit-autofill:hover,
856
+ .fr-input:-webkit-autofill:focus {
857
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-grey), inset 0 0 0 1000px var(--background-contrast-info);
858
+ -webkit-text-fill-color: var(--text-label-grey);
859
+ }
860
+ @supports selector(::-webkit-calendar-picker-indicator) {
861
+ .fr-input[type=date]::after {
862
+ background-color: var(--background-contrast-grey);
863
+
864
+ --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24'><path fill='%23161616' d='M17 3h4c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H3c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8z'/></svg>");
865
+ background-image: var(--data-uri-svg);
866
+ }
867
+
868
+ :root[data-fr-theme=dark] .fr-input[type=date]::after {
869
+ --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24'><path fill='%23fff' d='M17 3h4c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H3c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8z'/></svg>");
870
+ }
871
+
872
+ .fr-input[type=date]:disabled {
873
+ color: var(--text-disabled-grey);
874
+ box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);
875
+ }
876
+
877
+ .fr-input[type=date]:disabled::after {
878
+ --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24'><path fill='%23929292' d='M17 3h4c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H3c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8z'/></svg>");
879
+ background-image: var(--data-uri-svg);
880
+ }
881
+
882
+ :root[data-fr-theme=dark] .fr-input[type=date]:disabled::after {
883
+ --data-uri-svg: url("data:image/svg+xml;charset=utf-8,<svg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 24 24'><path fill='%23666' d='M17 3h4c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H3c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h4V1h2v2h6V1h2v2zm-2 2H9v2H7V5H4v4h16V5h-3v2h-2V5zm5 6H4v8h16v-8z'/></svg>");
884
+ }
885
+ }
886
+
887
+ .fr-input-wrap--addon > .fr-input:not(:last-child) {
888
+ box-shadow: inset 0 -2px 0 0 var(--border-action-high-blue-france);
889
+ }
890
+
891
+ .fr-fieldset--valid .fr-input,
892
+ .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child),
893
+ .fr-input-group--valid .fr-input,
894
+ .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {
895
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-success);
896
+ }
897
+
898
+ .fr-fieldset--error .fr-input,
899
+ .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child),
900
+ .fr-input-group--error .fr-input,
901
+ .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {
902
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-error);
903
+ }
904
+
905
+ .fr-input-group--error::before {
906
+ background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));
907
+ }
908
+
909
+ .fr-input-group--valid::before {
910
+ background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));
911
+ }
912
+
913
+ .fr-input-group--info::before {
914
+ background-image: linear-gradient(0deg, var(--border-plain-info), var(--border-plain-info));
915
+ }
916
+ @media (min-width: 36em) {
917
+ /*! media sm */
918
+ }
919
+ @media (min-width: 48em) {
920
+ /*! media md */
921
+ }
922
+ @media (min-width: 62em) {
923
+ /*! media lg */
924
+ }
925
+ @media (min-width: 78em) {
926
+ /*! media xl */
927
+ }
928
+ @media (-ms-high-contrast: active), (forced-colors: active) {
929
+ .fr-input-wrap--addon > *:last-child:not(:first-child) {
930
+ max-height: 2.5rem;
931
+ }
932
+ }
933
+ a {
934
+ text-decoration: var(--text-decoration);
935
+ color: inherit;
936
+ }
937
+ @media (-ms-high-contrast: active), (forced-colors: active) {
938
+ a:not([href]) {
939
+ color: graytext;
940
+ }
941
+ }
942
+
943
+ :root {
944
+ --underline-max-width: 100%;
945
+ --underline-hover-width: 0;
946
+ --underline-idle-width: var(--underline-max-width);
947
+ --underline-x: calc(var(--underline-max-width) * 0);
948
+ --underline-thickness: 0.0625em;
949
+ --underline-img: linear-gradient(0deg, currentColor, currentColor);
950
+ --external-link-content: '';
951
+ --text-decoration: none;
952
+ }
953
+
954
+ [href] {
955
+ background-image: var(--underline-img), var(--underline-img);
956
+ background-position: var(--underline-x) 100%, var(--underline-x) calc(100% - var(--underline-thickness));
957
+ background-repeat: no-repeat, no-repeat;
958
+ transition: background-size 0s;
959
+ background-size: var(--underline-hover-width) calc(var(--underline-thickness) * 2), var(--underline-idle-width) var(--underline-thickness);
960
+ }
961
+ @media (-ms-high-contrast: active), (forced-colors: active) {
962
+ [href], [href]:visited {
963
+ color: linktext;
964
+ }
965
+ }
966
+
967
+ [target=_blank]::after {
968
+ flex: 0 0 auto;
969
+ display: inline-block;
970
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
971
+ background-color: currentColor;
972
+ width: var(--icon-size);
973
+ height: var(--icon-size);
974
+ -webkit-mask-size: 100% 100%;
975
+ mask-size: 100% 100%;
976
+ }
977
+ [target=_blank]::after {
978
+ --icon-size: 1rem;
979
+ }
980
+ [target=_blank]::after {
981
+ -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");
982
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/external-link-line.svg");
983
+ }
984
+ @media (-ms-high-contrast: active), (forced-colors: active) {
985
+ [target=_blank]::after {
986
+ forced-color-adjust: none;
987
+ background-color: linktext;
988
+ }
989
+ }
990
+ [target=_blank]::after {
991
+ content: var(--external-link-content);
992
+ margin-left: 0.25rem;
993
+ }
994
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
995
+ flex: 0 0 auto;
996
+ display: inline-block;
997
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
998
+ background-color: currentColor;
999
+ width: var(--icon-size);
1000
+ height: var(--icon-size);
1001
+ -webkit-mask-size: 100% 100%;
1002
+ mask-size: 100% 100%;
1003
+ }
1004
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
1005
+ --icon-size: 1rem;
1006
+ }
1007
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
1008
+ -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");
1009
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/external-link-line.svg");
1010
+ }
1011
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1012
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
1013
+ forced-color-adjust: none;
1014
+ background-color: linktext;
1015
+ }
1016
+ }
1017
+ [target=_blank][class^=fr-icon-]::after, [target=_blank][class*=" fr-icon-"]::after, [target=_blank][class^=fr-fi-]::after, [target=_blank][class*=" fr-fi-"]::after {
1018
+ content: var(--external-link-content);
1019
+ margin-left: 0.25rem;
1020
+ }
1021
+
1022
+ form[target=_blank]::after {
1023
+ content: none;
1024
+ }
1025
+
1026
+ .fr-raw-link {
1027
+ --text-decoration: none;
1028
+ }
1029
+ .fr-raw-link[href],
1030
+ .fr-raw-link [href] {
1031
+ --underline-img: none;
1032
+ --external-link-content: none;
1033
+ }
1034
+
1035
+ .fr-reset-link {
1036
+ --text-decoration: underline;
1037
+ }
1038
+ .fr-reset-link[href],
1039
+ .fr-reset-link [href] {
1040
+ --underline-img: none;
1041
+ text-underline-offset: 2px;
1042
+ }
1043
+
1044
+ button {
1045
+ -webkit-appearance: none;
1046
+ -moz-appearance: none;
1047
+ appearance: none;
1048
+ border: none;
1049
+ margin: 0;
1050
+ color: inherit;
1051
+ background-color: transparent;
1052
+ font-family: inherit;
1053
+ font-size: inherit;
1054
+ }
1055
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1056
+ button {
1057
+ color: buttontext;
1058
+ }
1059
+ }
1060
+
1061
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1062
+ button:disabled {
1063
+ color: graytext;
1064
+ }
1065
+ }
1066
+
1067
+ input,
1068
+ select,
1069
+ textarea {
1070
+ -webkit-appearance: none;
1071
+ -moz-appearance: none;
1072
+ appearance: none;
1073
+ font-family: "Marianne", arial, sans-serif;
1074
+ text-rendering: optimizeLegibility;
1075
+ -webkit-font-smoothing: antialiased;
1076
+ -moz-osx-font-smoothing: grayscale;
1077
+ -webkit-text-size-adjust: 100%;
1078
+ border-radius: 0;
1079
+ border: 0;
1080
+ background-color: transparent;
1081
+ margin: 0;
1082
+ }
1083
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1084
+ input,
1085
+ select,
1086
+ textarea {
1087
+ border: 1px solid;
1088
+ }
1089
+ }
1090
+
1091
+ input[type=search] {
1092
+ -webkit-appearance: none;
1093
+ -moz-appearance: none;
1094
+ appearance: none;
1095
+ }
1096
+
1097
+ input[type=checkbox],
1098
+ input[type=radio],
1099
+ input[type=range] {
1100
+ -webkit-appearance: auto;
1101
+ -moz-appearance: auto;
1102
+ appearance: auto;
1103
+ }
1104
+
1105
+ input::-webkit-contacts-auto-fill-button,
1106
+ input::-webkit-credentials-auto-fill-button {
1107
+ margin-left: 1rem;
1108
+ margin-right: -1px;
1109
+ width: 1.25rem;
1110
+ height: 1.25rem;
1111
+ -webkit-mask-size: 1.25rem 1.25rem;
1112
+ }
1113
+
1114
+ input[type=range]:focus::-webkit-slider-thumb {
1115
+ outline-offset: 2px;
1116
+ outline-width: 2px;
1117
+ outline-color: #0a76f6;
1118
+ }
1119
+
1120
+ input[type=range]:focus::-moz-range-thumb {
1121
+ outline-offset: 2px;
1122
+ outline-width: 2px;
1123
+ outline-color: #0a76f6;
1124
+ }
1125
+
1126
+ input[type=range]:focus::-ms-thumb {
1127
+ outline-offset: 2px;
1128
+ outline-width: 2px;
1129
+ outline-color: #0a76f6;
1130
+ }
1131
+
1132
+ 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 {
1133
+ outline-offset: 2px;
1134
+ outline-width: 2px;
1135
+ outline-color: #0a76f6;
1136
+ }
1137
+
1138
+ input[type=range]:focus::-webkit-slider-thumb {
1139
+ outline-style: solid;
1140
+ }
1141
+
1142
+ input[type=range]:focus::-moz-range-thumb {
1143
+ outline-style: solid;
1144
+ }
1145
+
1146
+ input[type=range]:focus::-ms-thumb {
1147
+ outline-style: solid;
1148
+ }
1149
+
1150
+ 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 {
1151
+ outline-style: solid;
1152
+ }
1153
+
1154
+ input[type=range]:focus:not(:focus-visible)::-webkit-slider-thumb {
1155
+ outline-style: none;
1156
+ }
1157
+
1158
+ input[type=range]:focus:not(:focus-visible)::-moz-range-thumb {
1159
+ outline-style: none;
1160
+ }
1161
+
1162
+ input[type=range]:focus:not(:focus-visible)::-ms-thumb {
1163
+ outline-style: none;
1164
+ }
1165
+
1166
+ 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) {
1167
+ outline-style: none;
1168
+ }
1169
+
1170
+ input[type=range]:focus-visible::-webkit-slider-thumb {
1171
+ outline-style: solid;
1172
+ }
1173
+
1174
+ input[type=range]:focus-visible::-moz-range-thumb {
1175
+ outline-style: solid;
1176
+ }
1177
+
1178
+ input[type=range]:focus-visible::-ms-thumb {
1179
+ outline-style: solid;
1180
+ }
1181
+
1182
+ 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 {
1183
+ outline-style: solid;
1184
+ }
1185
+
1186
+ @media (hover: hover) and (pointer: fine) {
1187
+ :root {
1188
+ --brighten: -1;
1189
+ }
1190
+ 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 {
1191
+ background-color: var(--hover-tint);
1192
+ }
1193
+ 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 {
1194
+ background-color: var(--active-tint);
1195
+ }
1196
+ a[href]:hover, a[href]:active {
1197
+ --underline-hover-width: var(--underline-max-width);
1198
+ }
1199
+ }
1200
+ button, input[type=button], input[type=image], input[type=reset], input[type=submit] {
1201
+ --hover-tint: var(--hover);
1202
+ --active-tint: var(--active);
1203
+ }
1204
+
1205
+ a {
1206
+ --hover-tint: var(--idle);
1207
+ --active-tint: var(--active);
1208
+ }
1209
+
1210
+ 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 {
1211
+ cursor: pointer;
1212
+ }
1213
+
1214
+ input[type=range]:disabled::-webkit-slider-thumb, input[type=range]:disabled::-webkit-slider-thumb:active {
1215
+ cursor: not-allowed;
1216
+ }
1217
+
1218
+ input[type=range]:disabled::-moz-range-thumb, input[type=range]:disabled::-moz-range-thumb:active {
1219
+ cursor: not-allowed;
1220
+ }
1221
+
1222
+ input[type=range]:disabled::-ms-thumb, input[type=range]:disabled::-ms-thumb:active {
1223
+ cursor: not-allowed;
1224
+ }
1225
+
1226
+ 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] {
1227
+ cursor: not-allowed;
1228
+ }
1229
+
1230
+ input[type=range]::-webkit-slider-thumb {
1231
+ cursor: grab;
1232
+ }
1233
+
1234
+ input[type=range]::-moz-range-thumb {
1235
+ cursor: grab;
1236
+ }
1237
+
1238
+ input[type=range]::-ms-thumb {
1239
+ cursor: grab;
1240
+ }
1241
+
1242
+ input[type=range]::-webkit-slider-thumb:active {
1243
+ cursor: grabbing;
1244
+ }
1245
+
1246
+ input[type=range]::-moz-range-thumb:active {
1247
+ cursor: grabbing;
1248
+ }
1249
+
1250
+ input[type=range]::-ms-thumb:active {
1251
+ cursor: grabbing;
1252
+ }
1253
+
1254
+ /**
1255
+ * Override de l'opacité chrome sur un élément disabled
1256
+ */
1257
+ 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]) {
1258
+ opacity: 1;
1259
+ }
1260
+
1261
+ .fr-enlarge-link {
1262
+ position: relative;
1263
+ }
1264
+ .fr-enlarge-link a {
1265
+ background-image: none;
1266
+ outline-width: 0;
1267
+ }
1268
+ .fr-enlarge-link a::before {
1269
+ content: "";
1270
+ display: block;
1271
+ position: absolute;
1272
+ top: 0;
1273
+ right: 0;
1274
+ bottom: 0;
1275
+ left: 0;
1276
+ width: 100%;
1277
+ height: 100%;
1278
+ outline-offset: 2px;
1279
+ outline-style: inherit;
1280
+ outline-color: inherit;
1281
+ outline-width: 2px;
1282
+ z-index: 1;
1283
+ }
1284
+ @media (hover: hover) and (pointer: fine) {
1285
+ .fr-enlarge-link a:hover, .fr-enlarge-link a:active {
1286
+ background-image: none;
1287
+ }
1288
+ .fr-enlarge-link:hover {
1289
+ background-color: var(--hover);
1290
+ }
1291
+ .fr-enlarge-link:active {
1292
+ background-color: var(--active);
1293
+ }
1294
+ }
1295
+
1296
+ .fr-enlarge-button {
1297
+ position: relative;
1298
+ }
1299
+ .fr-enlarge-button button {
1300
+ background-image: none;
1301
+ outline-width: 0;
1302
+ }
1303
+ .fr-enlarge-button button::before {
1304
+ content: "";
1305
+ display: block;
1306
+ position: absolute;
1307
+ top: 0;
1308
+ right: 0;
1309
+ bottom: 0;
1310
+ left: 0;
1311
+ width: 100%;
1312
+ height: 100%;
1313
+ outline-offset: 2px;
1314
+ outline-style: inherit;
1315
+ outline-color: inherit;
1316
+ outline-width: 2px;
1317
+ z-index: 1;
1318
+ }
1319
+ @media (hover: hover) and (pointer: fine) {
1320
+ .fr-enlarge-button button:hover, .fr-enlarge-button button:active {
1321
+ background-image: none;
1322
+ }
1323
+ .fr-enlarge-button:hover {
1324
+ background-color: var(--hover);
1325
+ }
1326
+ .fr-enlarge-button:active {
1327
+ background-color: var(--active);
1328
+ }
1329
+ }
1330
+
1331
+ *,
1332
+ *::before,
1333
+ *::after {
1334
+ box-sizing: inherit;
1335
+ }
1336
+
1337
+ :root {
1338
+ box-sizing: border-box;
1339
+ }
1340
+
1341
+ body {
1342
+ font-family: "Marianne", arial, sans-serif;
1343
+ text-rendering: optimizeLegibility;
1344
+ -webkit-font-smoothing: antialiased;
1345
+ -moz-osx-font-smoothing: grayscale;
1346
+ -webkit-text-size-adjust: 100%;
1347
+ margin: 0;
1348
+ padding: 0;
1349
+ font-size: 1rem;
1350
+ line-height: 1.5rem;
1351
+ overflow-wrap: break-word;
1352
+ }
1353
+
1354
+ input,
1355
+ select,
1356
+ textarea,
1357
+ label,
1358
+ button,
1359
+ a {
1360
+ -webkit-tap-highlight-color: transparent;
1361
+ }
1362
+
1363
+ select optgroup {
1364
+ font-style: normal;
1365
+ }
1366
+
1367
+ :host {
1368
+ display: block;
1369
+ text-rendering: optimizeLegibility;
1370
+ -webkit-font-smoothing: antialiased;
1371
+ -moz-osx-font-smoothing: grayscale;
1372
+ -webkit-text-size-adjust: 100%;
1373
+ font-size: 1rem;
1374
+ line-height: 1.5rem;
1375
+ background-color: var(--background-default-grey);
1376
+ --idle: transparent;
1377
+ --hover: var(--background-default-grey-hover);
1378
+ --active: var(--background-default-grey-active);
1379
+ color: var(--text-default-grey);
1380
+ background-color: transparent;
1381
+ }
1382
+
1383
+ .fr-input-group {
1384
+ box-sizing: border-box;
1385
+ }</style>