@lab-anssi/ui-kit 1.61.2 → 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,2015 @@
1
+ <svelte:options
2
+ customElement={{
3
+ tag: "dsfr-search",
4
+ props: {
5
+ inputId: { attribute: "input-id", type: "String" },
6
+ inputLabel: { attribute: "input-label", type: "String" },
7
+ buttonLabel: { attribute: "button-label", type: "String" },
8
+ buttonTitle: { attribute: "button-title", type: "String" },
9
+ buttonType: { attribute: "button-type", type: "String" },
10
+ size: { attribute: "size", type: "String" },
11
+ placeholder: { attribute: "placeholder", type: "String" },
12
+ value: { attribute: "value", type: "String", reflect: true },
13
+ disabled: { attribute: "disabled", type: "Boolean", reflect: true },
14
+ form: { attribute: "form", type: "String", reflect: true },
15
+ maxlength: { attribute: "maxlength", type: "Number" },
16
+ minlength: { attribute: "minlength", type: "Number" },
17
+ name: { attribute: "name", type: "String", reflect: true },
18
+ pattern: { attribute: "pattern", type: "String" },
19
+ readonly: { attribute: "readonly", type: "Boolean" },
20
+ required: { attribute: "required", type: "Boolean" },
21
+ labelSize: { attribute: "label-size", type: "String" },
22
+ labelWeight: { attribute: "label-weight", type: "String" },
23
+ },
24
+ extend: (customElementConstructor) => {
25
+ return class extends customElementConstructor {
26
+ static formAssociated = true;
27
+
28
+ constructor() {
29
+ super();
30
+ this.internals = this.attachInternals();
31
+ }
32
+ };
33
+ },
34
+ }}
35
+ />
36
+
37
+ <script lang="ts">import { setThemeable } from "../utilitaires";
38
+ import { createFormValidation } from "../utilitaires/createFormValidation.svelte";
39
+ import DsfrLabel from "./DsfrLabel.svelte";
40
+ let { inputId, inputLabel, buttonLabel, buttonTitle, buttonType = "submit", size = "md", placeholder, value = $bindable(), disabled, form, maxlength, minlength, name, pattern, readonly, required, internals, onvaluechanged, onsearch, labelSize, labelWeight } = $props();
41
+ let hostElement = $host();
42
+ setThemeable(hostElement);
43
+ let formControlElement;
44
+ const formValidation = createFormValidation();
45
+ const sizeClass = $derived(`fr-search-bar--${size}`);
46
+ /**
47
+ * Gère le changement de valeur de l'input de recherche.
48
+ * Met à jour la valeur et déclenche l'événement 'valuechanged'.
49
+ *
50
+ * @param {Event} event - L'événement input
51
+ */
52
+ function handleInput(event) {
53
+ const target = event.target;
54
+ value = target.value;
55
+ onvaluechanged?.(target.value);
56
+ hostElement?.dispatchEvent(new CustomEvent("valuechanged", {
57
+ detail: target.value,
58
+ bubbles: true
59
+ }));
60
+ }
61
+ /**
62
+ * Gère le clic sur le bouton de recherche.
63
+ * Si le bouton est de type "submit" et associé à un formulaire, on soumet le formulaire.
64
+ * Sinon, déclenche l'événement de recherche personnalisé.
65
+ *
66
+ * @param {MouseEvent | KeyboardEvent} event - L'événement souris ou clavier
67
+ */
68
+ function handleButtonClick(event) {
69
+ if (buttonType === "submit" && internals?.form) {
70
+ event.preventDefault();
71
+ internals.form.requestSubmit();
72
+ return;
73
+ }
74
+ onsearch?.(value ?? "");
75
+ hostElement?.dispatchEvent(new CustomEvent("search", {
76
+ detail: value ?? "",
77
+ bubbles: true
78
+ }));
79
+ }
80
+ /**
81
+ * Déclenche la recherche si la touche Entrée est pressée.
82
+ * Le comportement par défaut de la touche Entrée dans un champ de recherche est de soumettre le formulaire. Cependant, si le bouton de recherche n'est pas de type "submit", nous voulons déclencher l'événement de recherche personnalisé.
83
+ *
84
+ * @param {KeyboardEvent} event - L'événement clavier
85
+ */
86
+ function handleInputKeydown(event) {
87
+ if (event.key !== "Enter") return;
88
+ handleButtonClick(event);
89
+ }
90
+ export function setCustomValidity(message) {
91
+ formValidation.setCustomValidity(message);
92
+ }
93
+ $effect(() => {
94
+ formValidation.setup(internals, formControlElement, hostElement, () => {
95
+ value = "";
96
+ });
97
+ });
98
+ $effect(() => {
99
+ formValidation.syncFormValue(value);
100
+ });
101
+ $effect(() => {
102
+ return formValidation.attachListeners();
103
+ });
104
+ </script>
105
+
106
+ <div class={["fr-search-bar", sizeClass]} role="search">
107
+ <DsfrLabel for={inputId} label={inputLabel} hidden {labelSize} {labelWeight} />
108
+ <input
109
+ bind:this={formControlElement}
110
+ type="search"
111
+ id={inputId}
112
+ class="fr-input"
113
+ bind:value
114
+ {placeholder}
115
+ oninput={handleInput}
116
+ onkeydown={handleInputKeydown}
117
+ onblur={formValidation.handleBlur}
118
+ oninvalid={formValidation.handleInvalid}
119
+ {disabled}
120
+ {form}
121
+ {maxlength}
122
+ {minlength}
123
+ {name}
124
+ {pattern}
125
+ {readonly}
126
+ {required}
127
+ />
128
+
129
+ <button
130
+ title={buttonTitle}
131
+ type={buttonType}
132
+ class="fr-btn"
133
+ {disabled}
134
+ onclick={handleButtonClick}
135
+ >
136
+ {buttonLabel}
137
+ </button>
138
+ </div>
139
+
140
+ <style>@charset "UTF-8";
141
+ /*!
142
+ * DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
143
+ */
144
+ /* ¯¯¯¯¯¯¯¯¯ *\
145
+ INPUT
146
+ \* ˍˍˍˍˍˍˍˍˍ */
147
+ .fr-input {
148
+ display: block;
149
+ width: 100%;
150
+ border-radius: 0.25rem 0.25rem 0 0;
151
+ font-size: 1rem;
152
+ line-height: 1.5rem;
153
+ padding: 0.5rem 1rem;
154
+ color: var(--text-default-grey);
155
+ background-color: var(--background-contrast-grey);
156
+
157
+ --idle: transparent;
158
+ --hover: var(--background-contrast-grey-hover);
159
+ --active: var(--background-contrast-grey-active);
160
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-grey);
161
+ }
162
+
163
+ .fr-input:not(textarea) {
164
+ max-height: 2.5rem;
165
+ }
166
+
167
+ .fr-input::placeholder {
168
+ opacity: 1;
169
+ font-style: italic;
170
+ color: var(--text-mention-grey);
171
+ }
172
+
173
+ .fr-input::-webkit-contacts-auto-fill-button {
174
+ cursor: pointer;
175
+ background-color: var(--text-label-grey);
176
+
177
+ --idle: transparent;
178
+ --hover: var(--text-label-grey-hover);
179
+ --active: var(--text-label-grey-active);
180
+ }
181
+
182
+ .fr-input[type=date] {
183
+ position: relative;
184
+ min-height: 2.5rem;
185
+ }
186
+
187
+ .fr-input[type=date]::after {
188
+ content: "";
189
+ display: block;
190
+ position: absolute;
191
+ top: 0.75rem;
192
+ right: 1rem;
193
+ width: 1rem;
194
+ height: 1rem;
195
+ pointer-events: none;
196
+ }
197
+ @supports selector(::-webkit-calendar-picker-indicator) {
198
+ .fr-input[type=date] {
199
+ background-repeat: no-repeat;
200
+ background-position: calc(100% - 1rem) 50%;
201
+ background-size: 1rem 1rem;
202
+ padding-right: 3rem;
203
+ }
204
+
205
+ .fr-input[type=date]::-webkit-calendar-picker-indicator {
206
+ display: block;
207
+ padding: 0.5rem;
208
+ margin-right: -2.5rem;
209
+ }
210
+ }
211
+
212
+ .fr-input-wrap {
213
+ position: relative;
214
+ display: block;
215
+ }
216
+
217
+ .fr-input-wrap[class^=fr-icon-] .fr-input,
218
+ .fr-input-wrap[class*=" fr-icon-"] .fr-input,
219
+ .fr-input-wrap[class^=fr-fi-] .fr-input,
220
+ .fr-input-wrap[class*=" fr-fi-"] .fr-input {
221
+ padding-right: 3rem;
222
+ }
223
+
224
+ .fr-input-wrap[class^=fr-icon-]::before,
225
+ .fr-input-wrap[class*=" fr-icon-"]::before,
226
+ .fr-input-wrap[class^=fr-fi-]::before,
227
+ .fr-input-wrap[class*=" fr-fi-"]::before {
228
+ --icon-size: 1rem;
229
+ position: absolute;
230
+ top: 0.75rem;
231
+ right: 1rem;
232
+ bottom: 0.75rem;
233
+ margin: auto;
234
+ pointer-events: none;
235
+ }
236
+
237
+ .fr-input-wrap--addon,
238
+ .fr-input-wrap--action {
239
+ display: flex;
240
+ flex-direction: row;
241
+ width: 100%;
242
+ }
243
+
244
+ .fr-input-wrap--addon > *:first-child:not(:last-child) {
245
+ border-radius: 0.25rem 0 0 0;
246
+ }
247
+
248
+ .fr-input-wrap--addon > *:last-child:not(:first-child) {
249
+ border-radius: 0 0.25rem 0 0;
250
+ }
251
+
252
+ .fr-input-wrap--action .fr-btn {
253
+ margin-left: 1rem;
254
+ }
255
+
256
+ .fr-input-wrap + .fr-hint-text {
257
+ margin-top: 1rem;
258
+ }
259
+
260
+ .fr-input-group {
261
+ position: relative;
262
+ }
263
+
264
+ .fr-input-group .fr-message:first-child {
265
+ margin-top: 1rem;
266
+ }
267
+
268
+ .fr-input-group--valid::before,
269
+ .fr-input-group--error::before,
270
+ .fr-input-group--info::before {
271
+ content: "";
272
+ display: block;
273
+ pointer-events: none;
274
+ position: absolute;
275
+ top: 0;
276
+ right: -0.75rem;
277
+ bottom: 0;
278
+ left: -0.75rem;
279
+ background-repeat: no-repeat;
280
+ background-position: 0 0;
281
+ background-size: 0.125rem 100%;
282
+ }
283
+
284
+ textarea.fr-input {
285
+ min-height: 3.75rem;
286
+ }
287
+
288
+ .fr-input:disabled {
289
+ color: var(--text-disabled-grey);
290
+ box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);
291
+ }
292
+
293
+ .fr-input:autofill,
294
+ .fr-input:autofill:hover,
295
+ .fr-input:autofill:focus,
296
+ .fr-input:-webkit-autofill,
297
+ .fr-input:-webkit-autofill:hover,
298
+ .fr-input:-webkit-autofill:focus {
299
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-grey), inset 0 0 0 1000px var(--background-contrast-info);
300
+ -webkit-text-fill-color: var(--text-label-grey);
301
+ }
302
+ @supports selector(::-webkit-calendar-picker-indicator) {
303
+ .fr-input[type=date]::after {
304
+ background-color: var(--background-contrast-grey);
305
+
306
+ --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>");
307
+ background-image: var(--data-uri-svg);
308
+ }
309
+
310
+ :root[data-fr-theme=dark] .fr-input[type=date]::after {
311
+ --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>");
312
+ }
313
+
314
+ .fr-input[type=date]:disabled {
315
+ color: var(--text-disabled-grey);
316
+ box-shadow: inset 0 -2px 0 0 var(--border-disabled-grey);
317
+ }
318
+
319
+ .fr-input[type=date]:disabled::after {
320
+ --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>");
321
+ background-image: var(--data-uri-svg);
322
+ }
323
+
324
+ :root[data-fr-theme=dark] .fr-input[type=date]:disabled::after {
325
+ --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>");
326
+ }
327
+ }
328
+
329
+ .fr-input-wrap--addon > .fr-input:not(:last-child) {
330
+ box-shadow: inset 0 -2px 0 0 var(--border-action-high-blue-france);
331
+ }
332
+
333
+ .fr-fieldset--valid .fr-input,
334
+ .fr-fieldset--valid .fr-input-wrap--addon > .fr-input:not(:last-child),
335
+ .fr-input-group--valid .fr-input,
336
+ .fr-input-group--valid .fr-input-wrap--addon > .fr-input:not(:last-child) {
337
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-success);
338
+ }
339
+
340
+ .fr-fieldset--error .fr-input,
341
+ .fr-fieldset--error .fr-input-wrap--addon > .fr-input:not(:last-child),
342
+ .fr-input-group--error .fr-input,
343
+ .fr-input-group--error .fr-input-wrap--addon > .fr-input:not(:last-child) {
344
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-error);
345
+ }
346
+
347
+ .fr-input-group--error::before {
348
+ background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));
349
+ }
350
+
351
+ .fr-input-group--valid::before {
352
+ background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));
353
+ }
354
+
355
+ .fr-input-group--info::before {
356
+ background-image: linear-gradient(0deg, var(--border-plain-info), var(--border-plain-info));
357
+ }
358
+ @media (min-width: 36em) {
359
+ /*! media sm */
360
+ }
361
+ @media (min-width: 48em) {
362
+ /*! media md */
363
+ }
364
+ @media (min-width: 62em) {
365
+ /*! media lg */
366
+ }
367
+ @media (min-width: 78em) {
368
+ /*! media xl */
369
+ }
370
+ @media (-ms-high-contrast: active), (forced-colors: active) {
371
+ .fr-input-wrap--addon > *:last-child:not(:first-child) {
372
+ max-height: 2.5rem;
373
+ }
374
+ }
375
+ /*!
376
+ * DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
377
+ */
378
+ /* ¯¯¯¯¯¯¯¯¯ *\
379
+ BUTTON
380
+ \* ˍˍˍˍˍˍˍˍˍ */
381
+ .fr-btn {
382
+ --text-spacing: 0;
383
+ --title-spacing: 0;
384
+ display: inline-flex;
385
+ flex-direction: row;
386
+ align-items: center;
387
+ width: -moz-fit-content;
388
+ width: fit-content;
389
+ --underline-img: none;
390
+ --hover-tint: var(--hover);
391
+ font-weight: 500;
392
+ font-size: 1rem;
393
+ line-height: 1.5rem;
394
+ min-height: 2.5rem;
395
+ padding: 0.5rem 1rem;
396
+ background-color: var(--background-action-high-blue-france);
397
+
398
+ --idle: transparent;
399
+ --hover: var(--background-action-high-blue-france-hover);
400
+ --active: var(--background-action-high-blue-france-active);
401
+ color: var(--text-inverted-blue-france);
402
+ }
403
+
404
+ .fr-btn::before,
405
+ .fr-btn::after {
406
+ display: block;
407
+ }
408
+
409
+ .fr-btn[target=_blank] {
410
+ overflow: initial;
411
+ max-width: 100%;
412
+ max-height: none;
413
+ }
414
+
415
+ .fr-btn[target=_blank]::after {
416
+ content: "";
417
+
418
+ --icon-size: 1rem;
419
+ margin-right: -0.125rem;
420
+ margin-left: 0.5rem;
421
+ }
422
+
423
+ .fr-btn--align-on-content {
424
+ margin-left: -1rem;
425
+ margin-right: -1rem;
426
+ }
427
+
428
+ .fr-btn[class^=fr-icon-]:not([class*=fr-btn--icon-]),
429
+ .fr-btn[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
430
+ .fr-btn[class^=fr-fi-]:not([class*=fr-btn--icon-]),
431
+ .fr-btn[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
432
+ overflow: hidden;
433
+ white-space: nowrap;
434
+ max-width: 2.5rem;
435
+ max-height: 2.5rem;
436
+ padding-left: 0.5rem;
437
+ padding-right: 0.5rem;
438
+ }
439
+
440
+ .fr-btn[class^=fr-icon-]:not([class*=fr-btn--icon-])::before,
441
+ .fr-btn[class*=" fr-icon-"]:not([class*=fr-btn--icon-])::before,
442
+ .fr-btn[class^=fr-fi-]:not([class*=fr-btn--icon-])::before,
443
+ .fr-btn[class*=" fr-fi-"]:not([class*=fr-btn--icon-])::before {
444
+ --icon-size: 1.5rem;
445
+ margin-left: 0;
446
+ margin-right: 0.5rem;
447
+ }
448
+
449
+ .fr-btn--align-on-content[class^=fr-icon-]:not([class*=fr-btn--icon-]),
450
+ .fr-btn--align-on-content[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
451
+ .fr-btn--align-on-content[class^=fr-fi-]:not([class*=fr-btn--icon-]),
452
+ .fr-btn--align-on-content[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
453
+ margin-left: -0.5rem;
454
+ margin-right: -0.5rem;
455
+ }
456
+
457
+ .fr-btn--icon-left[class^=fr-icon-],
458
+ .fr-btn--icon-left[class*=" fr-icon-"],
459
+ .fr-btn--icon-left[class^=fr-fi-],
460
+ .fr-btn--icon-left[class*=" fr-fi-"] {
461
+ overflow: initial;
462
+ max-width: 100%;
463
+ max-height: none;
464
+ }
465
+
466
+ .fr-btn--icon-left[class^=fr-icon-]::before,
467
+ .fr-btn--icon-left[class*=" fr-icon-"]::before,
468
+ .fr-btn--icon-left[class^=fr-fi-]::before,
469
+ .fr-btn--icon-left[class*=" fr-fi-"]::before {
470
+ --icon-size: 1rem;
471
+ margin-left: -0.125rem;
472
+ margin-right: 0.5rem;
473
+ }
474
+
475
+ .fr-btn--align-on-content.fr-btn--icon-left[class^=fr-icon-],
476
+ .fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-icon-"],
477
+ .fr-btn--align-on-content.fr-btn--icon-left[class^=fr-fi-],
478
+ .fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-fi-"] {
479
+ margin-left: -0.875rem;
480
+ margin-right: -1rem;
481
+ }
482
+
483
+ .fr-btn--icon-right[class^=fr-icon-],
484
+ .fr-btn--icon-right[class*=" fr-icon-"],
485
+ .fr-btn--icon-right[class^=fr-fi-],
486
+ .fr-btn--icon-right[class*=" fr-fi-"] {
487
+ overflow: initial;
488
+ max-width: 100%;
489
+ max-height: none;
490
+ }
491
+
492
+ .fr-btn--icon-right[class^=fr-icon-]::after,
493
+ .fr-btn--icon-right[class*=" fr-icon-"]::after,
494
+ .fr-btn--icon-right[class^=fr-fi-]::after,
495
+ .fr-btn--icon-right[class*=" fr-fi-"]::after {
496
+ content: "";
497
+
498
+ --icon-size: 1rem;
499
+ margin-right: -0.125rem;
500
+ margin-left: 0.5rem;
501
+ }
502
+
503
+ .fr-btn--icon-right[class^=fr-icon-]::before,
504
+ .fr-btn--icon-right[class*=" fr-icon-"]::before,
505
+ .fr-btn--icon-right[class^=fr-fi-]::before,
506
+ .fr-btn--icon-right[class*=" fr-fi-"]::before {
507
+ content: none;
508
+ }
509
+
510
+ .fr-btn--align-on-content.fr-btn--icon-right[class^=fr-icon-],
511
+ .fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-icon-"],
512
+ .fr-btn--align-on-content.fr-btn--icon-right[class^=fr-fi-],
513
+ .fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-fi-"] {
514
+ margin-left: -1rem;
515
+ margin-right: -0.875rem;
516
+ }
517
+
518
+ .fr-btn--sm {
519
+ font-size: 0.875rem;
520
+ line-height: 1.5rem;
521
+ min-height: 2rem;
522
+ padding: 0.25rem 0.75rem;
523
+ }
524
+
525
+ .fr-btn--sm[target=_blank] {
526
+ overflow: initial;
527
+ max-width: 100%;
528
+ max-height: none;
529
+ }
530
+
531
+ .fr-btn--sm[target=_blank]::after {
532
+ content: "";
533
+
534
+ --icon-size: 1rem;
535
+ margin-right: -0.125rem;
536
+ margin-left: 0.5rem;
537
+ }
538
+
539
+ .fr-btn--sm.fr-btn--align-on-content {
540
+ margin-left: -0.75rem;
541
+ margin-right: -0.75rem;
542
+ }
543
+
544
+ .fr-btn--sm[class^=fr-icon-]:not([class*=fr-btn--icon-]),
545
+ .fr-btn--sm[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
546
+ .fr-btn--sm[class^=fr-fi-]:not([class*=fr-btn--icon-]),
547
+ .fr-btn--sm[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
548
+ overflow: hidden;
549
+ white-space: nowrap;
550
+ max-width: 2rem;
551
+ max-height: 2rem;
552
+ padding-left: 0.5rem;
553
+ padding-right: 0.5rem;
554
+ }
555
+
556
+ .fr-btn--sm[class^=fr-icon-]:not([class*=fr-btn--icon-])::before,
557
+ .fr-btn--sm[class*=" fr-icon-"]:not([class*=fr-btn--icon-])::before,
558
+ .fr-btn--sm[class^=fr-fi-]:not([class*=fr-btn--icon-])::before,
559
+ .fr-btn--sm[class*=" fr-fi-"]:not([class*=fr-btn--icon-])::before {
560
+ --icon-size: 1rem;
561
+ margin-left: 0;
562
+ margin-right: 0.5rem;
563
+ }
564
+
565
+ .fr-btn--sm.fr-btn--align-on-content[class^=fr-icon-]:not([class*=fr-btn--icon-]),
566
+ .fr-btn--sm.fr-btn--align-on-content[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
567
+ .fr-btn--sm.fr-btn--align-on-content[class^=fr-fi-]:not([class*=fr-btn--icon-]),
568
+ .fr-btn--sm.fr-btn--align-on-content[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
569
+ margin-left: -0.5rem;
570
+ margin-right: -0.5rem;
571
+ }
572
+
573
+ .fr-btn--sm.fr-btn--icon-left[class^=fr-icon-],
574
+ .fr-btn--sm.fr-btn--icon-left[class*=" fr-icon-"],
575
+ .fr-btn--sm.fr-btn--icon-left[class^=fr-fi-],
576
+ .fr-btn--sm.fr-btn--icon-left[class*=" fr-fi-"] {
577
+ overflow: initial;
578
+ max-width: 100%;
579
+ max-height: none;
580
+ }
581
+
582
+ .fr-btn--sm.fr-btn--icon-left[class^=fr-icon-]::before,
583
+ .fr-btn--sm.fr-btn--icon-left[class*=" fr-icon-"]::before,
584
+ .fr-btn--sm.fr-btn--icon-left[class^=fr-fi-]::before,
585
+ .fr-btn--sm.fr-btn--icon-left[class*=" fr-fi-"]::before {
586
+ --icon-size: 1rem;
587
+ margin-left: -0.125rem;
588
+ margin-right: 0.5rem;
589
+ }
590
+
591
+ .fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-icon-],
592
+ .fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-icon-"],
593
+ .fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-fi-],
594
+ .fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-fi-"] {
595
+ margin-left: -0.625rem;
596
+ margin-right: -0.75rem;
597
+ }
598
+
599
+ .fr-btn--sm.fr-btn--icon-right[class^=fr-icon-],
600
+ .fr-btn--sm.fr-btn--icon-right[class*=" fr-icon-"],
601
+ .fr-btn--sm.fr-btn--icon-right[class^=fr-fi-],
602
+ .fr-btn--sm.fr-btn--icon-right[class*=" fr-fi-"] {
603
+ overflow: initial;
604
+ max-width: 100%;
605
+ max-height: none;
606
+ }
607
+
608
+ .fr-btn--sm.fr-btn--icon-right[class^=fr-icon-]::after,
609
+ .fr-btn--sm.fr-btn--icon-right[class*=" fr-icon-"]::after,
610
+ .fr-btn--sm.fr-btn--icon-right[class^=fr-fi-]::after,
611
+ .fr-btn--sm.fr-btn--icon-right[class*=" fr-fi-"]::after {
612
+ content: "";
613
+
614
+ --icon-size: 1rem;
615
+ margin-right: -0.125rem;
616
+ margin-left: 0.5rem;
617
+ }
618
+
619
+ .fr-btn--sm.fr-btn--icon-right[class^=fr-icon-]::before,
620
+ .fr-btn--sm.fr-btn--icon-right[class*=" fr-icon-"]::before,
621
+ .fr-btn--sm.fr-btn--icon-right[class^=fr-fi-]::before,
622
+ .fr-btn--sm.fr-btn--icon-right[class*=" fr-fi-"]::before {
623
+ content: none;
624
+ }
625
+
626
+ .fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-icon-],
627
+ .fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-icon-"],
628
+ .fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-fi-],
629
+ .fr-btn--sm.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-fi-"] {
630
+ margin-left: -0.75rem;
631
+ margin-right: -0.625rem;
632
+ }
633
+
634
+ .fr-btn--lg {
635
+ font-size: 1.125rem;
636
+ line-height: 1.75rem;
637
+ min-height: 3rem;
638
+ padding: 0.5rem 1.5rem;
639
+ }
640
+
641
+ .fr-btn--lg[target=_blank] {
642
+ overflow: initial;
643
+ max-width: 100%;
644
+ max-height: none;
645
+ }
646
+
647
+ .fr-btn--lg[target=_blank]::after {
648
+ content: "";
649
+
650
+ --icon-size: 1.5rem;
651
+ margin-right: -0.1875rem;
652
+ margin-left: 0.5rem;
653
+ }
654
+
655
+ .fr-btn--lg.fr-btn--align-on-content {
656
+ margin-left: -1.5rem;
657
+ margin-right: -1.5rem;
658
+ }
659
+
660
+ .fr-btn--lg[class^=fr-icon-]:not([class*=fr-btn--icon-]),
661
+ .fr-btn--lg[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
662
+ .fr-btn--lg[class^=fr-fi-]:not([class*=fr-btn--icon-]),
663
+ .fr-btn--lg[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
664
+ overflow: hidden;
665
+ white-space: nowrap;
666
+ max-width: 3rem;
667
+ max-height: 3rem;
668
+ padding-left: 0.5rem;
669
+ padding-right: 0.5rem;
670
+ }
671
+
672
+ .fr-btn--lg[class^=fr-icon-]:not([class*=fr-btn--icon-])::before,
673
+ .fr-btn--lg[class*=" fr-icon-"]:not([class*=fr-btn--icon-])::before,
674
+ .fr-btn--lg[class^=fr-fi-]:not([class*=fr-btn--icon-])::before,
675
+ .fr-btn--lg[class*=" fr-fi-"]:not([class*=fr-btn--icon-])::before {
676
+ --icon-size: 2rem;
677
+ margin-left: 0;
678
+ margin-right: 0.5rem;
679
+ }
680
+
681
+ .fr-btn--lg.fr-btn--align-on-content[class^=fr-icon-]:not([class*=fr-btn--icon-]),
682
+ .fr-btn--lg.fr-btn--align-on-content[class*=" fr-icon-"]:not([class*=fr-btn--icon-]),
683
+ .fr-btn--lg.fr-btn--align-on-content[class^=fr-fi-]:not([class*=fr-btn--icon-]),
684
+ .fr-btn--lg.fr-btn--align-on-content[class*=" fr-fi-"]:not([class*=fr-btn--icon-]) {
685
+ margin-left: -0.5rem;
686
+ margin-right: -0.5rem;
687
+ }
688
+
689
+ .fr-btn--lg.fr-btn--icon-left[class^=fr-icon-],
690
+ .fr-btn--lg.fr-btn--icon-left[class*=" fr-icon-"],
691
+ .fr-btn--lg.fr-btn--icon-left[class^=fr-fi-],
692
+ .fr-btn--lg.fr-btn--icon-left[class*=" fr-fi-"] {
693
+ overflow: initial;
694
+ max-width: 100%;
695
+ max-height: none;
696
+ }
697
+
698
+ .fr-btn--lg.fr-btn--icon-left[class^=fr-icon-]::before,
699
+ .fr-btn--lg.fr-btn--icon-left[class*=" fr-icon-"]::before,
700
+ .fr-btn--lg.fr-btn--icon-left[class^=fr-fi-]::before,
701
+ .fr-btn--lg.fr-btn--icon-left[class*=" fr-fi-"]::before {
702
+ --icon-size: 1.5rem;
703
+ margin-left: -0.1875rem;
704
+ margin-right: 0.5rem;
705
+ }
706
+
707
+ .fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-icon-],
708
+ .fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-icon-"],
709
+ .fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-left[class^=fr-fi-],
710
+ .fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-left[class*=" fr-fi-"] {
711
+ margin-left: -1.3125rem;
712
+ margin-right: -1.5rem;
713
+ }
714
+
715
+ .fr-btn--lg.fr-btn--icon-right[class^=fr-icon-],
716
+ .fr-btn--lg.fr-btn--icon-right[class*=" fr-icon-"],
717
+ .fr-btn--lg.fr-btn--icon-right[class^=fr-fi-],
718
+ .fr-btn--lg.fr-btn--icon-right[class*=" fr-fi-"] {
719
+ overflow: initial;
720
+ max-width: 100%;
721
+ max-height: none;
722
+ }
723
+
724
+ .fr-btn--lg.fr-btn--icon-right[class^=fr-icon-]::after,
725
+ .fr-btn--lg.fr-btn--icon-right[class*=" fr-icon-"]::after,
726
+ .fr-btn--lg.fr-btn--icon-right[class^=fr-fi-]::after,
727
+ .fr-btn--lg.fr-btn--icon-right[class*=" fr-fi-"]::after {
728
+ content: "";
729
+
730
+ --icon-size: 1.5rem;
731
+ margin-right: -0.1875rem;
732
+ margin-left: 0.5rem;
733
+ }
734
+
735
+ .fr-btn--lg.fr-btn--icon-right[class^=fr-icon-]::before,
736
+ .fr-btn--lg.fr-btn--icon-right[class*=" fr-icon-"]::before,
737
+ .fr-btn--lg.fr-btn--icon-right[class^=fr-fi-]::before,
738
+ .fr-btn--lg.fr-btn--icon-right[class*=" fr-fi-"]::before {
739
+ content: none;
740
+ }
741
+
742
+ .fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-icon-],
743
+ .fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-icon-"],
744
+ .fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-right[class^=fr-fi-],
745
+ .fr-btn--lg.fr-btn--align-on-content.fr-btn--icon-right[class*=" fr-fi-"] {
746
+ margin-left: -1.5rem;
747
+ margin-right: -1.3125rem;
748
+ }
749
+
750
+ .fr-btns-group {
751
+ --ul-type: none;
752
+ --ol-type: none;
753
+ --ul-start: 0;
754
+ --ol-start: 0;
755
+ --xl-block: 0;
756
+ --li-bottom: 0;
757
+ --ol-content: none;
758
+ display: flex;
759
+ align-items: stretch;
760
+ flex-wrap: wrap;
761
+ margin-left: -0.5rem;
762
+ margin-right: -0.5rem;
763
+
764
+ /**
765
+ * fr-btns-group--inline : aligne les boutons horizontalement dans tout les cas
766
+ * fr-btns-group--inline-(sm/md/lg) : permet de passer en horizontal à partir de la valeur du breakpoint appliqué (sm, md, lg)
767
+ */
768
+ /**
769
+ * fr-btns-group--left : (Défaut) aligne les boutons sur la gauche (en lecture L-t-R)
770
+ */
771
+ /**
772
+ * fr-btns-group--right : aligne les boutons sur la droite
773
+ */
774
+ /**
775
+ * fr-btns-group--center : aligne les boutons au centre du conteneur
776
+ */
777
+ /**
778
+ * fr-btns-group--center : aligne les boutons au centre du conteneur
779
+ */
780
+ /**
781
+ * fr-btns-group--equisized : Fixe la largeur des boutons à celle du plus grand. Géré en grande partie en JS.
782
+ */
783
+ /**
784
+ * fr-btns-group--sm : Fixe les boutons à la taille SM
785
+ */
786
+ /**
787
+ * fr-btns-group--md : (défaut) Fixe les boutons à la taille MD
788
+ */
789
+ /**
790
+ * fr-btns-group--lg : Fixe les boutons à la taille LG (sans modfifieur => MD)
791
+ */
792
+ }
793
+
794
+ .fr-btns-group > li,
795
+ .fr-btns-group > div {
796
+ width: 100%;
797
+ max-width: 100%;
798
+ }
799
+
800
+ .fr-btns-group .fr-btn {
801
+ width: calc(100% - 1rem);
802
+ margin: 0 0.5rem 1rem;
803
+ justify-content: center;
804
+ }
805
+
806
+ .fr-btns-group--inline .fr-btn {
807
+ width: auto;
808
+ max-width: 100%;
809
+ margin-left: 0.5rem;
810
+ margin-right: 0.5rem;
811
+ }
812
+
813
+ .fr-btns-group--inline > li {
814
+ display: inline-flex;
815
+ max-width: 100%;
816
+ width: auto;
817
+ }
818
+
819
+ .fr-btns-group--inline.fr-btns-group--right.fr-btns-group--inline-reverse {
820
+ flex-direction: row-reverse;
821
+ justify-content: flex-start;
822
+ }
823
+
824
+ .fr-btns-group--left,
825
+ .fr-btns-group--left li {
826
+ justify-content: flex-start;
827
+ text-align: left;
828
+ }
829
+
830
+ .fr-btns-group--right,
831
+ .fr-btns-group--right li {
832
+ justify-content: flex-end;
833
+ text-align: right;
834
+ }
835
+
836
+ .fr-btns-group--center,
837
+ .fr-btns-group--center li {
838
+ justify-content: center;
839
+ text-align: center;
840
+ }
841
+
842
+ .fr-btns-group--between,
843
+ .fr-btns-group--between li {
844
+ justify-content: space-between;
845
+ text-align: center;
846
+ }
847
+
848
+ .fr-btns-group--equisized {
849
+ --equisized-width: auto;
850
+ }
851
+
852
+ .fr-btns-group--equisized .fr-btn {
853
+ justify-content: center;
854
+ width: var(--equisized-width);
855
+ }
856
+
857
+ .fr-btns-group--sm .fr-btn:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"]) {
858
+ font-size: 0.875rem;
859
+ line-height: 1.5rem;
860
+ min-height: 2rem;
861
+ padding: 0.25rem 0.75rem;
862
+ }
863
+
864
+ .fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-],
865
+ .fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"],
866
+ .fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-],
867
+ .fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"] {
868
+ font-size: 0.875rem;
869
+ line-height: 1.5rem;
870
+ min-height: 2rem;
871
+ padding: 0.25rem 0.75rem;
872
+ overflow: hidden;
873
+ white-space: nowrap;
874
+ max-width: 2rem;
875
+ max-height: 2rem;
876
+ padding-left: 0.5rem;
877
+ padding-right: 0.5rem;
878
+ justify-content: flex-start;
879
+ }
880
+
881
+ .fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-]::before,
882
+ .fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"]::before,
883
+ .fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-]::before,
884
+ .fr-btns-group--sm:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"]::before {
885
+ --icon-size: 1rem;
886
+ margin-left: 0;
887
+ margin-right: 0.5rem;
888
+ }
889
+
890
+ .fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class^=fr-icon-],
891
+ .fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"],
892
+ .fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class^=fr-fi-],
893
+ .fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"] {
894
+ font-size: 0.875rem;
895
+ line-height: 1.5rem;
896
+ min-height: 2rem;
897
+ padding: 0.25rem 0.75rem;
898
+ overflow: initial;
899
+ max-width: 100%;
900
+ max-height: none;
901
+ }
902
+
903
+ .fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class^=fr-icon-]::before,
904
+ .fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"]::before,
905
+ .fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class^=fr-fi-]::before,
906
+ .fr-btns-group--sm.fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"]::before {
907
+ --icon-size: 1rem;
908
+ margin-left: -0.125rem;
909
+ margin-right: 0.5rem;
910
+ }
911
+
912
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-icon-],
913
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"],
914
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-fi-],
915
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"] {
916
+ font-size: 0.875rem;
917
+ line-height: 1.5rem;
918
+ min-height: 2rem;
919
+ padding: 0.25rem 0.75rem;
920
+ overflow: initial;
921
+ max-width: 100%;
922
+ max-height: none;
923
+ }
924
+
925
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::after,
926
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::after,
927
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::after,
928
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::after {
929
+ content: "";
930
+
931
+ --icon-size: 1rem;
932
+ margin-right: -0.125rem;
933
+ margin-left: 0.5rem;
934
+ }
935
+
936
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::before,
937
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::before,
938
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::before,
939
+ .fr-btns-group--sm.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::before {
940
+ content: none;
941
+ }
942
+
943
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg) .fr-btn:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"]) {
944
+ font-size: 1rem;
945
+ line-height: 1.5rem;
946
+ min-height: 2.5rem;
947
+ padding: 0.5rem 1rem;
948
+ }
949
+
950
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-],
951
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"],
952
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-],
953
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"] {
954
+ font-size: 1rem;
955
+ line-height: 1.5rem;
956
+ min-height: 2.5rem;
957
+ padding: 0.5rem 1rem;
958
+ overflow: hidden;
959
+ white-space: nowrap;
960
+ max-width: 2.5rem;
961
+ max-height: 2.5rem;
962
+ padding-left: 0.5rem;
963
+ padding-right: 0.5rem;
964
+ justify-content: flex-start;
965
+ }
966
+
967
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-]::before,
968
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"]::before,
969
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-]::before,
970
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg):not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"]::before {
971
+ --icon-size: 1.5rem;
972
+ margin-left: 0;
973
+ margin-right: 0.5rem;
974
+ }
975
+
976
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class^=fr-icon-],
977
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"],
978
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class^=fr-fi-],
979
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"] {
980
+ font-size: 1rem;
981
+ line-height: 1.5rem;
982
+ min-height: 2.5rem;
983
+ padding: 0.5rem 1rem;
984
+ overflow: initial;
985
+ max-width: 100%;
986
+ max-height: none;
987
+ }
988
+
989
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class^=fr-icon-]::before,
990
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"]::before,
991
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class^=fr-fi-]::before,
992
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"]::before {
993
+ --icon-size: 1rem;
994
+ margin-left: -0.125rem;
995
+ margin-right: 0.5rem;
996
+ }
997
+
998
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-icon-],
999
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"],
1000
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-fi-],
1001
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"] {
1002
+ font-size: 1rem;
1003
+ line-height: 1.5rem;
1004
+ min-height: 2.5rem;
1005
+ padding: 0.5rem 1rem;
1006
+ overflow: initial;
1007
+ max-width: 100%;
1008
+ max-height: none;
1009
+ }
1010
+
1011
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::after,
1012
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::after,
1013
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::after,
1014
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::after {
1015
+ content: "";
1016
+
1017
+ --icon-size: 1rem;
1018
+ margin-right: -0.125rem;
1019
+ margin-left: 0.5rem;
1020
+ }
1021
+
1022
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::before,
1023
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::before,
1024
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::before,
1025
+ .fr-btns-group:not(.fr-btns-group--sm):not(.fr-btns-group--lg).fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::before {
1026
+ content: none;
1027
+ }
1028
+
1029
+ .fr-btns-group--lg .fr-btn:not([class^=fr-icon-]):not([class*=" fr-icon-"]):not([class^=fr-fi-]):not([class*=" fr-fi-"]) {
1030
+ font-size: 1.125rem;
1031
+ line-height: 1.75rem;
1032
+ min-height: 3rem;
1033
+ padding: 0.5rem 1.5rem;
1034
+ }
1035
+
1036
+ .fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-],
1037
+ .fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"],
1038
+ .fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-],
1039
+ .fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"] {
1040
+ font-size: 1.125rem;
1041
+ line-height: 1.75rem;
1042
+ min-height: 3rem;
1043
+ padding: 0.5rem 1.5rem;
1044
+ overflow: hidden;
1045
+ white-space: nowrap;
1046
+ max-width: 3rem;
1047
+ max-height: 3rem;
1048
+ padding-left: 0.5rem;
1049
+ padding-right: 0.5rem;
1050
+ justify-content: flex-start;
1051
+ }
1052
+
1053
+ .fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-icon-]::before,
1054
+ .fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-icon-"]::before,
1055
+ .fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class^=fr-fi-]::before,
1056
+ .fr-btns-group--lg:not([class^=fr-btns-group--icon-]):not([class*=" fr-btns-group--icon-"]) .fr-btn[class*=" fr-fi-"]::before {
1057
+ --icon-size: 2rem;
1058
+ margin-left: 0;
1059
+ margin-right: 0.5rem;
1060
+ }
1061
+
1062
+ .fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class^=fr-icon-],
1063
+ .fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"],
1064
+ .fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class^=fr-fi-],
1065
+ .fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"] {
1066
+ font-size: 1.125rem;
1067
+ line-height: 1.75rem;
1068
+ min-height: 3rem;
1069
+ padding: 0.5rem 1.5rem;
1070
+ overflow: initial;
1071
+ max-width: 100%;
1072
+ max-height: none;
1073
+ }
1074
+
1075
+ .fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class^=fr-icon-]::before,
1076
+ .fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class*=" fr-icon-"]::before,
1077
+ .fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class^=fr-fi-]::before,
1078
+ .fr-btns-group--lg.fr-btns-group--icon-left .fr-btn[class*=" fr-fi-"]::before {
1079
+ --icon-size: 1.5rem;
1080
+ margin-left: -0.1875rem;
1081
+ margin-right: 0.5rem;
1082
+ }
1083
+
1084
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-icon-],
1085
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"],
1086
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-fi-],
1087
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"] {
1088
+ font-size: 1.125rem;
1089
+ line-height: 1.75rem;
1090
+ min-height: 3rem;
1091
+ padding: 0.5rem 1.5rem;
1092
+ overflow: initial;
1093
+ max-width: 100%;
1094
+ max-height: none;
1095
+ }
1096
+
1097
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::after,
1098
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::after,
1099
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::after,
1100
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::after {
1101
+ content: "";
1102
+
1103
+ --icon-size: 1.5rem;
1104
+ margin-right: -0.1875rem;
1105
+ margin-left: 0.5rem;
1106
+ }
1107
+
1108
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-icon-]::before,
1109
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-icon-"]::before,
1110
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class^=fr-fi-]::before,
1111
+ .fr-btns-group--lg.fr-btns-group--icon-right .fr-btn[class*=" fr-fi-"]::before {
1112
+ content: none;
1113
+ }
1114
+
1115
+ .fr-fieldset__element > .fr-btns-group {
1116
+ margin-bottom: -1rem;
1117
+ }
1118
+
1119
+ .fr-btn--close {
1120
+ font-size: 0.875rem;
1121
+ line-height: 1.5rem;
1122
+ min-height: 2rem;
1123
+ padding: 0.25rem 0.75rem;
1124
+ overflow: initial;
1125
+ max-width: 100%;
1126
+ max-height: none;
1127
+ display: flex;
1128
+ margin-left: auto;
1129
+ }
1130
+
1131
+ .fr-btn--close::after {
1132
+
1133
+ --icon-size: 1rem;
1134
+ margin-right: -0.125rem;
1135
+ margin-left: 0.5rem;
1136
+ flex: 0 0 auto;
1137
+ display: inline-block;
1138
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1139
+ background-color: currentColor;
1140
+ width: var(--icon-size);
1141
+ height: var(--icon-size);
1142
+ -webkit-mask-size: 100% 100%;
1143
+ mask-size: 100% 100%;
1144
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/close-line.svg");
1145
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/close-line.svg");
1146
+ content: "";
1147
+ }
1148
+
1149
+ .fr-btn--close::before {
1150
+ content: none;
1151
+ }
1152
+
1153
+ .fr-btn--tooltip {
1154
+ font-size: 0.875rem;
1155
+ line-height: 1.5rem;
1156
+ min-height: 2rem;
1157
+ padding: 0.25rem 0.75rem;
1158
+ overflow: hidden;
1159
+ white-space: nowrap;
1160
+ max-width: 2rem;
1161
+ max-height: 2rem;
1162
+ padding-left: 0.5rem;
1163
+ padding-right: 0.5rem;
1164
+ }
1165
+
1166
+ .fr-btn--tooltip::before {
1167
+ --icon-size: 1rem;
1168
+ margin-left: 0;
1169
+ margin-right: 0.5rem;
1170
+ flex: 0 0 auto;
1171
+ display: inline-block;
1172
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1173
+ background-color: currentColor;
1174
+ width: var(--icon-size);
1175
+ height: var(--icon-size);
1176
+ -webkit-mask-size: 100% 100%;
1177
+ mask-size: 100% 100%;
1178
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/question-line.svg");
1179
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/question-line.svg");
1180
+ content: "";
1181
+ }
1182
+
1183
+ .fr-btn--fullscreen {
1184
+ font-size: 0.875rem;
1185
+ line-height: 1.5rem;
1186
+ min-height: 2rem;
1187
+ padding: 0.25rem 0.75rem;
1188
+ overflow: initial;
1189
+ max-width: 100%;
1190
+ max-height: none;
1191
+ }
1192
+
1193
+ .fr-btn--fullscreen::after {
1194
+
1195
+ --icon-size: 1rem;
1196
+ margin-right: -0.125rem;
1197
+ margin-left: 0.5rem;
1198
+ flex: 0 0 auto;
1199
+ display: inline-block;
1200
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1201
+ background-color: currentColor;
1202
+ width: var(--icon-size);
1203
+ height: var(--icon-size);
1204
+ -webkit-mask-size: 100% 100%;
1205
+ mask-size: 100% 100%;
1206
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/media/fullscreen-line.svg");
1207
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/media/fullscreen-line.svg");
1208
+ content: "";
1209
+ }
1210
+
1211
+ .fr-btn--fullscreen::before {
1212
+ content: none;
1213
+ }
1214
+
1215
+ .fr-btn--display {
1216
+ font-size: 1rem;
1217
+ line-height: 1.5rem;
1218
+ min-height: 2.5rem;
1219
+ padding: 0.5rem 1rem;
1220
+ overflow: initial;
1221
+ max-width: 100%;
1222
+ max-height: none;
1223
+ }
1224
+
1225
+ .fr-btn--display::before {
1226
+ --icon-size: 1rem;
1227
+ margin-left: -0.125rem;
1228
+ margin-right: 0.5rem;
1229
+ flex: 0 0 auto;
1230
+ display: inline-block;
1231
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1232
+ background-color: currentColor;
1233
+ width: var(--icon-size);
1234
+ height: var(--icon-size);
1235
+ -webkit-mask-size: 100% 100%;
1236
+ mask-size: 100% 100%;
1237
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--theme-fill.svg");
1238
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--theme-fill.svg");
1239
+ content: "";
1240
+ }
1241
+
1242
+ .fr-btn--account {
1243
+ font-size: 0.875rem;
1244
+ line-height: 1.5rem;
1245
+ min-height: 2rem;
1246
+ padding: 0.25rem 0.75rem;
1247
+ overflow: initial;
1248
+ max-width: 100%;
1249
+ max-height: none;
1250
+ }
1251
+
1252
+ .fr-btn--account::before {
1253
+ --icon-size: 1rem;
1254
+ margin-left: -0.125rem;
1255
+ margin-right: 0.5rem;
1256
+ flex: 0 0 auto;
1257
+ display: inline-block;
1258
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1259
+ background-color: currentColor;
1260
+ width: var(--icon-size);
1261
+ height: var(--icon-size);
1262
+ -webkit-mask-size: 100% 100%;
1263
+ mask-size: 100% 100%;
1264
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/user/account-circle-fill.svg");
1265
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/user/account-circle-fill.svg");
1266
+ content: "";
1267
+ }
1268
+
1269
+ .fr-btn--team {
1270
+ font-size: 0.875rem;
1271
+ line-height: 1.5rem;
1272
+ min-height: 2rem;
1273
+ padding: 0.25rem 0.75rem;
1274
+ overflow: initial;
1275
+ max-width: 100%;
1276
+ max-height: none;
1277
+ }
1278
+
1279
+ .fr-btn--team::before {
1280
+ --icon-size: 1rem;
1281
+ margin-left: -0.125rem;
1282
+ margin-right: 0.5rem;
1283
+ flex: 0 0 auto;
1284
+ display: inline-block;
1285
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1286
+ background-color: currentColor;
1287
+ width: var(--icon-size);
1288
+ height: var(--icon-size);
1289
+ -webkit-mask-size: 100% 100%;
1290
+ mask-size: 100% 100%;
1291
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/user/team-line.svg");
1292
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/user/team-line.svg");
1293
+ content: "";
1294
+ }
1295
+
1296
+ .fr-btn--briefcase {
1297
+ font-size: 0.875rem;
1298
+ line-height: 1.5rem;
1299
+ min-height: 2rem;
1300
+ padding: 0.25rem 0.75rem;
1301
+ overflow: initial;
1302
+ max-width: 100%;
1303
+ max-height: none;
1304
+ }
1305
+
1306
+ .fr-btn--briefcase::before {
1307
+ --icon-size: 1rem;
1308
+ margin-left: -0.125rem;
1309
+ margin-right: 0.5rem;
1310
+ flex: 0 0 auto;
1311
+ display: inline-block;
1312
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1313
+ background-color: currentColor;
1314
+ width: var(--icon-size);
1315
+ height: var(--icon-size);
1316
+ -webkit-mask-size: 100% 100%;
1317
+ mask-size: 100% 100%;
1318
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/business/briefcase-fill.svg");
1319
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/business/briefcase-fill.svg");
1320
+ content: "";
1321
+ }
1322
+
1323
+ .fr-btn--sort {
1324
+ font-size: 0.875rem;
1325
+ line-height: 1.5rem;
1326
+ min-height: 2rem;
1327
+ padding: 0.25rem 0.75rem;
1328
+ overflow: hidden;
1329
+ white-space: nowrap;
1330
+ max-width: 2rem;
1331
+ max-height: 2rem;
1332
+ padding-left: 0.5rem;
1333
+ padding-right: 0.5rem;
1334
+ }
1335
+
1336
+ .fr-btn--sort::before {
1337
+ --icon-size: 1rem;
1338
+ margin-left: 0;
1339
+ margin-right: 0.5rem;
1340
+ flex: 0 0 auto;
1341
+ display: inline-block;
1342
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1343
+ background-color: currentColor;
1344
+ width: var(--icon-size);
1345
+ height: var(--icon-size);
1346
+ -webkit-mask-size: 100% 100%;
1347
+ mask-size: 100% 100%;
1348
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/arrows/arrow-up-down-line.svg");
1349
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/arrows/arrow-up-down-line.svg");
1350
+ content: "";
1351
+ }
1352
+
1353
+ .fr-btn--sort[aria-sort=ascending],
1354
+ .fr-btn--sort[aria-sort=descending],
1355
+ .fr-btn--sort-asc,
1356
+ .fr-btn--sort-desc {
1357
+ font-size: 0.875rem;
1358
+ line-height: 1.5rem;
1359
+ min-height: 2rem;
1360
+ padding: 0.25rem 0.75rem;
1361
+ overflow: hidden;
1362
+ white-space: nowrap;
1363
+ max-width: 2rem;
1364
+ max-height: 2rem;
1365
+ padding-left: 0.5rem;
1366
+ padding-right: 0.5rem;
1367
+ }
1368
+
1369
+ .fr-btn--sort[aria-sort=ascending]::before,
1370
+ .fr-btn--sort[aria-sort=descending]::before,
1371
+ .fr-btn--sort-asc::before,
1372
+ .fr-btn--sort-desc::before {
1373
+ --icon-size: 1rem;
1374
+ margin-left: 0;
1375
+ margin-right: 0.5rem;
1376
+ flex: 0 0 auto;
1377
+ display: inline-block;
1378
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1379
+ background-color: currentColor;
1380
+ width: var(--icon-size);
1381
+ height: var(--icon-size);
1382
+ -webkit-mask-size: 100% 100%;
1383
+ mask-size: 100% 100%;
1384
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/arrows/arrow-up-line.svg");
1385
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/arrows/arrow-up-line.svg");
1386
+ content: "";
1387
+ transition: transform 0.3s;
1388
+ transform: rotate(0deg);
1389
+ }
1390
+
1391
+ .fr-btn--sort[aria-sort=descending]::before,
1392
+ .fr-btn--sort-desc::before {
1393
+ transition: transform 0.3s;
1394
+ transform: rotate(-180deg);
1395
+ }
1396
+
1397
+ .fr-btn:disabled,
1398
+ a.fr-btn:not([href]) {
1399
+ color: var(--text-disabled-grey);
1400
+ background-color: var(--background-disabled-grey);
1401
+
1402
+ --idle: transparent;
1403
+ --hover: var(--background-disabled-grey-hover);
1404
+ --active: var(--background-disabled-grey-active);
1405
+ }
1406
+
1407
+ .fr-btn--secondary {
1408
+ background-color: transparent;
1409
+
1410
+ --hover: inherit;
1411
+ --active: inherit;
1412
+ color: var(--text-action-high-blue-france);
1413
+ box-shadow: inset 0 0 0 1px var(--border-action-high-blue-france);
1414
+ }
1415
+
1416
+ .fr-btn--secondary:disabled,
1417
+ a.fr-btn--secondary:not([href]) {
1418
+ color: var(--text-disabled-grey);
1419
+ box-shadow: inset 0 0 0 1px var(--border-disabled-grey);
1420
+ background-color: transparent;
1421
+
1422
+ --hover: inherit;
1423
+ --active: inherit;
1424
+ }
1425
+
1426
+ .fr-btn--tertiary,
1427
+ .fr-btn--sort,
1428
+ .fr-btn--sort-asc,
1429
+ .fr-btn--sort-desc,
1430
+ .fr-btn--account {
1431
+ background-color: transparent;
1432
+
1433
+ --hover: inherit;
1434
+ --active: inherit;
1435
+ color: var(--text-action-high-blue-france);
1436
+ box-shadow: inset 0 0 0 1px var(--border-default-grey);
1437
+ }
1438
+
1439
+ .fr-btn--tertiary:disabled,
1440
+ a.fr-btn--tertiary:not([href]),
1441
+ a.fr-btn--sort:not([href]),
1442
+ a.fr-btn--sort-asc:not([href]),
1443
+ a.fr-btn--sort-desc:not([href]),
1444
+ a.fr-btn--account:not([href]),
1445
+ .fr-btn--sort:disabled,
1446
+ .fr-btn--sort-asc:disabled,
1447
+ .fr-btn--sort-desc:disabled,
1448
+ .fr-btn--account:disabled {
1449
+ color: var(--text-disabled-grey);
1450
+ box-shadow: inset 0 0 0 1px var(--border-disabled-grey);
1451
+ background-color: transparent;
1452
+
1453
+ --hover: inherit;
1454
+ --active: inherit;
1455
+ }
1456
+
1457
+ .fr-btn--tertiary-no-outline,
1458
+ .fr-btn--close,
1459
+ .fr-btn--display,
1460
+ .fr-btn--fullscreen,
1461
+ .fr-btn--tooltip,
1462
+ .fr-btn--briefcase,
1463
+ .fr-btn--team {
1464
+ background-color: transparent;
1465
+
1466
+ --hover: inherit;
1467
+ --active: inherit;
1468
+ color: var(--text-action-high-blue-france);
1469
+ }
1470
+
1471
+ .fr-btn--tertiary-no-outline:disabled,
1472
+ a.fr-btn--tertiary-no-outline:not([href]),
1473
+ a.fr-btn--close:not([href]),
1474
+ a.fr-btn--display:not([href]),
1475
+ a.fr-btn--fullscreen:not([href]),
1476
+ a.fr-btn--tooltip:not([href]),
1477
+ a.fr-btn--briefcase:not([href]),
1478
+ a.fr-btn--team:not([href]),
1479
+ .fr-btn--close:disabled,
1480
+ .fr-btn--display:disabled,
1481
+ .fr-btn--fullscreen:disabled,
1482
+ .fr-btn--tooltip:disabled,
1483
+ .fr-btn--briefcase:disabled,
1484
+ .fr-btn--team:disabled {
1485
+ color: var(--text-disabled-grey);
1486
+ background-color: transparent;
1487
+
1488
+ --hover: inherit;
1489
+ --active: inherit;
1490
+ }
1491
+ @media (min-width: 36em) {
1492
+ /*! media sm */
1493
+ .fr-btns-group--inline-sm .fr-btn {
1494
+ width: auto;
1495
+ max-width: 100%;
1496
+ margin-left: 0.5rem;
1497
+ margin-right: 0.5rem;
1498
+ }
1499
+
1500
+ .fr-btns-group--inline-sm > li {
1501
+ display: inline-flex;
1502
+ max-width: 100%;
1503
+ width: auto;
1504
+ }
1505
+
1506
+ .fr-btns-group--inline-sm.fr-btns-group--right.fr-btns-group--inline-reverse {
1507
+ flex-direction: row-reverse;
1508
+ justify-content: flex-start;
1509
+ }
1510
+ }
1511
+ @media (min-width: 48em) {
1512
+ /*! media md */
1513
+ .fr-btns-group--inline-md .fr-btn {
1514
+ width: auto;
1515
+ max-width: 100%;
1516
+ margin-left: 0.5rem;
1517
+ margin-right: 0.5rem;
1518
+ }
1519
+
1520
+ .fr-btns-group--inline-md > li {
1521
+ display: inline-flex;
1522
+ max-width: 100%;
1523
+ width: auto;
1524
+ }
1525
+
1526
+ .fr-btns-group--inline-md.fr-btns-group--right.fr-btns-group--inline-reverse {
1527
+ flex-direction: row-reverse;
1528
+ justify-content: flex-start;
1529
+ }
1530
+ }
1531
+ @media (min-width: 62em) {
1532
+ /*! media lg */
1533
+ .fr-btns-group--inline-lg .fr-btn {
1534
+ width: auto;
1535
+ max-width: 100%;
1536
+ margin-left: 0.5rem;
1537
+ margin-right: 0.5rem;
1538
+ }
1539
+
1540
+ .fr-btns-group--inline-lg > li {
1541
+ display: inline-flex;
1542
+ max-width: 100%;
1543
+ width: auto;
1544
+ }
1545
+
1546
+ .fr-btns-group--inline-lg.fr-btns-group--right.fr-btns-group--inline-reverse {
1547
+ flex-direction: row-reverse;
1548
+ justify-content: flex-start;
1549
+ }
1550
+ }
1551
+ @media (min-width: 78em) {
1552
+ /*! media xl */
1553
+ }
1554
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1555
+ .fr-btn::before,
1556
+ .fr-btn::after {
1557
+ background-color: buttontext;
1558
+ }
1559
+
1560
+ .fr-btn:disabled::before,
1561
+ .fr-btn:disabled::after,
1562
+ a.fr-btn:not([href])::before,
1563
+ a.fr-btn:not([href])::after {
1564
+ background-color: graytext;
1565
+ }
1566
+
1567
+ .fr-btn:disabled,
1568
+ a.fr-btn:not([href]) {
1569
+ border-color: graytext;
1570
+ color: graytext;
1571
+ }
1572
+
1573
+ a[href].fr-btn::before,
1574
+ a[href].fr-btn::after {
1575
+ background-color: linktext;
1576
+ }
1577
+
1578
+ button.fr-btn {
1579
+ border: 1px solid buttontext;
1580
+ }
1581
+
1582
+ .fr-btn--close::after {
1583
+ forced-color-adjust: none;
1584
+ background-color: buttontext;
1585
+ }
1586
+
1587
+ .fr-btn--tooltip::before {
1588
+ forced-color-adjust: none;
1589
+ background-color: buttontext;
1590
+ }
1591
+
1592
+ .fr-btn--fullscreen::after {
1593
+ forced-color-adjust: none;
1594
+ background-color: buttontext;
1595
+ }
1596
+
1597
+ .fr-btn--display::before {
1598
+ forced-color-adjust: none;
1599
+ background-color: buttontext;
1600
+ }
1601
+
1602
+ .fr-btn--account::before {
1603
+ forced-color-adjust: none;
1604
+ background-color: buttontext;
1605
+ }
1606
+
1607
+ .fr-btn--team::before {
1608
+ forced-color-adjust: none;
1609
+ background-color: buttontext;
1610
+ }
1611
+
1612
+ .fr-btn--briefcase::before {
1613
+ forced-color-adjust: none;
1614
+ background-color: buttontext;
1615
+ }
1616
+
1617
+ .fr-btn--sort::before {
1618
+ forced-color-adjust: none;
1619
+ background-color: buttontext;
1620
+ }
1621
+
1622
+ .fr-btn--sort[aria-sort=ascending]::before,
1623
+ .fr-btn--sort[aria-sort=descending]::before,
1624
+ .fr-btn--sort-asc::before,
1625
+ .fr-btn--sort-desc::before {
1626
+ forced-color-adjust: none;
1627
+ background-color: buttontext;
1628
+ }
1629
+ }
1630
+ /*!
1631
+ * DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
1632
+ */
1633
+ /* ¯¯¯¯¯¯¯¯¯ *\
1634
+ SEARCH
1635
+ \* ˍˍˍˍˍˍˍˍˍ */
1636
+ .fr-search-bar {
1637
+ display: flex;
1638
+ flex-direction: row;
1639
+ }
1640
+
1641
+ .fr-search-bar .fr-label {
1642
+ position: absolute;
1643
+ width: 1px;
1644
+ height: 1px;
1645
+ padding: 0;
1646
+ margin: -1px;
1647
+ overflow: hidden;
1648
+ clip: rect(0, 0, 0, 0);
1649
+ white-space: nowrap; /* added line */
1650
+ border: 0;
1651
+ display: block;
1652
+ }
1653
+
1654
+ .fr-search-bar .fr-input {
1655
+ margin: 0;
1656
+ border-radius: 0.25rem 0 0;
1657
+ max-height: 2.5rem;
1658
+ box-shadow: inset 0 -2px 0 0 var(--border-action-high-blue-france);
1659
+ }
1660
+
1661
+ .fr-search-bar .fr-input::placeholder {
1662
+ font-style: italic;
1663
+ }
1664
+
1665
+ .fr-search-bar .fr-input::-webkit-search-cancel-button {
1666
+ -webkit-appearance: none;
1667
+ width: 1rem;
1668
+ height: 1rem;
1669
+ background-repeat: no-repeat;
1670
+ background-size: 1rem 1rem;
1671
+ --data-uri-svg: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="%23161616" d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z"/></svg>');
1672
+ background-image: var(--data-uri-svg);
1673
+ }
1674
+
1675
+ .fr-search-bar .fr-btn {
1676
+ font-size: 1rem;
1677
+ line-height: 1.5rem;
1678
+ min-height: 2.5rem;
1679
+ padding: 0.5rem 1rem;
1680
+ overflow: hidden;
1681
+ white-space: nowrap;
1682
+ max-width: 2.5rem;
1683
+ max-height: 2.5rem;
1684
+ padding-left: 0.5rem;
1685
+ padding-right: 0.5rem;
1686
+ flex: 1 0 auto;
1687
+ border-radius: 0 0.25rem 0 0;
1688
+ }
1689
+
1690
+ .fr-search-bar .fr-btn::before {
1691
+ --icon-size: 1.5rem;
1692
+ margin-left: 0;
1693
+ margin-right: 0.5rem;
1694
+ flex: 0 0 auto;
1695
+ display: inline-block;
1696
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
1697
+ background-color: currentColor;
1698
+ width: var(--icon-size);
1699
+ height: var(--icon-size);
1700
+ -webkit-mask-size: 100% 100%;
1701
+ mask-size: 100% 100%;
1702
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/search-line.svg");
1703
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/search-line.svg");
1704
+ content: "";
1705
+ }
1706
+
1707
+ .fr-search-bar .fr-input--valid {
1708
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-success);
1709
+ }
1710
+
1711
+ .fr-search-bar .fr-input--error {
1712
+ box-shadow: inset 0 -2px 0 0 var(--border-plain-error);
1713
+ }
1714
+
1715
+ :root[data-fr-theme=dark] .fr-search-bar .fr-input::-webkit-search-cancel-button {
1716
+ --data-uri-svg: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="%23fff" d="M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm0-11.414L9.172 7.757 7.757 9.172 10.586 12l-2.829 2.828 1.415 1.415L12 13.414l2.828 2.829 1.415-1.415L13.414 12l2.829-2.828-1.415-1.415L12 10.586z"/></svg>');
1717
+ }
1718
+
1719
+ @media (min-width: 36em) {
1720
+ /*! media sm */
1721
+ }
1722
+
1723
+ @media (min-width: 48em) {
1724
+ /*! media md */
1725
+ .fr-search-bar--lg .fr-btn {
1726
+ font-size: 1.125rem;
1727
+ line-height: 1.75rem;
1728
+ min-height: 3rem;
1729
+ padding: 0.5rem 1.5rem;
1730
+ overflow: initial;
1731
+ max-width: 100%;
1732
+ max-height: none;
1733
+ }
1734
+
1735
+ .fr-search-bar--lg .fr-btn::before {
1736
+ --icon-size: 1.5rem;
1737
+ margin-left: -0.1875rem;
1738
+ margin-right: 0.5rem;
1739
+ }
1740
+
1741
+ .fr-search-bar--lg .fr-input {
1742
+ max-height: 3rem;
1743
+ }
1744
+ }
1745
+
1746
+ @media (min-width: 62em) {
1747
+ /*! media lg */
1748
+ }
1749
+
1750
+ @media (min-width: 78em) {
1751
+ /*! media xl */
1752
+ }
1753
+
1754
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1755
+ .fr-search-bar .fr-btn::before {
1756
+ forced-color-adjust: none;
1757
+ background-color: buttontext;
1758
+ }
1759
+ }
1760
+
1761
+ button {
1762
+ -webkit-appearance: none;
1763
+ -moz-appearance: none;
1764
+ appearance: none;
1765
+ border: none;
1766
+ margin: 0;
1767
+ color: inherit;
1768
+ background-color: transparent;
1769
+ font-family: inherit;
1770
+ font-size: inherit;
1771
+ }
1772
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1773
+ button {
1774
+ color: buttontext;
1775
+ }
1776
+ }
1777
+
1778
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1779
+ button:disabled {
1780
+ color: graytext;
1781
+ }
1782
+ }
1783
+
1784
+ input,
1785
+ select,
1786
+ textarea {
1787
+ -webkit-appearance: none;
1788
+ -moz-appearance: none;
1789
+ appearance: none;
1790
+ font-family: "Marianne", arial, sans-serif;
1791
+ text-rendering: optimizeLegibility;
1792
+ -webkit-font-smoothing: antialiased;
1793
+ -moz-osx-font-smoothing: grayscale;
1794
+ -webkit-text-size-adjust: 100%;
1795
+ border-radius: 0;
1796
+ border: 0;
1797
+ background-color: transparent;
1798
+ margin: 0;
1799
+ }
1800
+ @media (-ms-high-contrast: active), (forced-colors: active) {
1801
+ input,
1802
+ select,
1803
+ textarea {
1804
+ border: 1px solid;
1805
+ }
1806
+ }
1807
+
1808
+ input[type=search] {
1809
+ -webkit-appearance: none;
1810
+ -moz-appearance: none;
1811
+ appearance: none;
1812
+ }
1813
+
1814
+ input[type=checkbox],
1815
+ input[type=radio],
1816
+ input[type=range] {
1817
+ -webkit-appearance: auto;
1818
+ -moz-appearance: auto;
1819
+ appearance: auto;
1820
+ }
1821
+
1822
+ input::-webkit-contacts-auto-fill-button,
1823
+ input::-webkit-credentials-auto-fill-button {
1824
+ margin-left: 1rem;
1825
+ margin-right: -1px;
1826
+ width: 1.25rem;
1827
+ height: 1.25rem;
1828
+ -webkit-mask-size: 1.25rem 1.25rem;
1829
+ }
1830
+
1831
+ input[type=range]:focus::-webkit-slider-thumb {
1832
+ outline-offset: 2px;
1833
+ outline-width: 2px;
1834
+ outline-color: #0a76f6;
1835
+ }
1836
+
1837
+ input[type=range]:focus::-moz-range-thumb {
1838
+ outline-offset: 2px;
1839
+ outline-width: 2px;
1840
+ outline-color: #0a76f6;
1841
+ }
1842
+
1843
+ input[type=range]:focus::-ms-thumb {
1844
+ outline-offset: 2px;
1845
+ outline-width: 2px;
1846
+ outline-color: #0a76f6;
1847
+ }
1848
+
1849
+ 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 {
1850
+ outline-offset: 2px;
1851
+ outline-width: 2px;
1852
+ outline-color: #0a76f6;
1853
+ }
1854
+
1855
+ input[type=range]:focus::-webkit-slider-thumb {
1856
+ outline-style: solid;
1857
+ }
1858
+
1859
+ input[type=range]:focus::-moz-range-thumb {
1860
+ outline-style: solid;
1861
+ }
1862
+
1863
+ input[type=range]:focus::-ms-thumb {
1864
+ outline-style: solid;
1865
+ }
1866
+
1867
+ 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 {
1868
+ outline-style: solid;
1869
+ }
1870
+
1871
+ input[type=range]:focus:not(:focus-visible)::-webkit-slider-thumb {
1872
+ outline-style: none;
1873
+ }
1874
+
1875
+ input[type=range]:focus:not(:focus-visible)::-moz-range-thumb {
1876
+ outline-style: none;
1877
+ }
1878
+
1879
+ input[type=range]:focus:not(:focus-visible)::-ms-thumb {
1880
+ outline-style: none;
1881
+ }
1882
+
1883
+ 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) {
1884
+ outline-style: none;
1885
+ }
1886
+
1887
+ input[type=range]:focus-visible::-webkit-slider-thumb {
1888
+ outline-style: solid;
1889
+ }
1890
+
1891
+ input[type=range]:focus-visible::-moz-range-thumb {
1892
+ outline-style: solid;
1893
+ }
1894
+
1895
+ input[type=range]:focus-visible::-ms-thumb {
1896
+ outline-style: solid;
1897
+ }
1898
+
1899
+ 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 {
1900
+ outline-style: solid;
1901
+ }
1902
+
1903
+ @media (hover: hover) and (pointer: fine) {
1904
+ :root {
1905
+ --brighten: -1;
1906
+ }
1907
+ 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 {
1908
+ background-color: var(--hover-tint);
1909
+ }
1910
+ 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 {
1911
+ background-color: var(--active-tint);
1912
+ }
1913
+ a[href]:hover, a[href]:active {
1914
+ --underline-hover-width: var(--underline-max-width);
1915
+ }
1916
+ }
1917
+ button, input[type=button], input[type=image], input[type=reset], input[type=submit] {
1918
+ --hover-tint: var(--hover);
1919
+ --active-tint: var(--active);
1920
+ }
1921
+
1922
+ a {
1923
+ --hover-tint: var(--idle);
1924
+ --active-tint: var(--active);
1925
+ }
1926
+
1927
+ 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 {
1928
+ cursor: pointer;
1929
+ }
1930
+
1931
+ input[type=range]:disabled::-webkit-slider-thumb, input[type=range]:disabled::-webkit-slider-thumb:active {
1932
+ cursor: not-allowed;
1933
+ }
1934
+
1935
+ input[type=range]:disabled::-moz-range-thumb, input[type=range]:disabled::-moz-range-thumb:active {
1936
+ cursor: not-allowed;
1937
+ }
1938
+
1939
+ input[type=range]:disabled::-ms-thumb, input[type=range]:disabled::-ms-thumb:active {
1940
+ cursor: not-allowed;
1941
+ }
1942
+
1943
+ 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] {
1944
+ cursor: not-allowed;
1945
+ }
1946
+
1947
+ input[type=range]::-webkit-slider-thumb {
1948
+ cursor: grab;
1949
+ }
1950
+
1951
+ input[type=range]::-moz-range-thumb {
1952
+ cursor: grab;
1953
+ }
1954
+
1955
+ input[type=range]::-ms-thumb {
1956
+ cursor: grab;
1957
+ }
1958
+
1959
+ input[type=range]::-webkit-slider-thumb:active {
1960
+ cursor: grabbing;
1961
+ }
1962
+
1963
+ input[type=range]::-moz-range-thumb:active {
1964
+ cursor: grabbing;
1965
+ }
1966
+
1967
+ input[type=range]::-ms-thumb:active {
1968
+ cursor: grabbing;
1969
+ }
1970
+
1971
+ /**
1972
+ * Override de l'opacité chrome sur un élément disabled
1973
+ */
1974
+ 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]) {
1975
+ opacity: 1;
1976
+ }
1977
+
1978
+ *,
1979
+ *::before,
1980
+ *::after {
1981
+ box-sizing: inherit;
1982
+ }
1983
+
1984
+ :root {
1985
+ box-sizing: border-box;
1986
+ }
1987
+
1988
+ input,
1989
+ select,
1990
+ textarea,
1991
+ label,
1992
+ button,
1993
+ a {
1994
+ -webkit-tap-highlight-color: transparent;
1995
+ }
1996
+
1997
+ :host(dsfr-search) {
1998
+ display: block;
1999
+ text-rendering: optimizeLegibility;
2000
+ -webkit-font-smoothing: antialiased;
2001
+ -moz-osx-font-smoothing: grayscale;
2002
+ -webkit-text-size-adjust: 100%;
2003
+ font-size: 1rem;
2004
+ line-height: 1.5rem;
2005
+ background-color: var(--background-default-grey);
2006
+ --idle: transparent;
2007
+ --hover: var(--background-default-grey-hover);
2008
+ --active: var(--background-default-grey-active);
2009
+ color: var(--text-default-grey);
2010
+ background-color: transparent;
2011
+ }
2012
+
2013
+ .fr-search-bar {
2014
+ box-sizing: border-box;
2015
+ }</style>