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