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