@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,610 @@
1
+ <svelte:options
2
+ customElement={{
3
+ tag: "dsfr-badges-group",
4
+ props: {
5
+ badges: { attribute: "badges", type: "Array" },
6
+ size: { attribute: "size", type: "String" },
7
+ groupMarkup: { attribute: "group-markup", type: "String" },
8
+ },
9
+ extend: withIconsStyleSheet,
10
+ }}
11
+ />
12
+
13
+ <script lang="ts">import { withIconsStyleSheet, setIconClass } from "../utilitaires";
14
+ let { badges, size = "md", groupMarkup = "ul" } = $props();
15
+ let sizeClass = $derived(`fr-badges-group--${size}`);
16
+ </script>
17
+
18
+ {#snippet badgeItem(badge: Badge)}
19
+ {@const accentClass = badge.accent && `fr-badge--${badge.accent}`}
20
+ {@const iconClass =
21
+ badge.hasIcon && badge.icon && `fr-badge--icon-left ${setIconClass(badge.icon)}`}
22
+ {@const statusClass = badge.type === "status" && badge.status && `fr-badge--${badge.status}`}
23
+
24
+ <p class={["fr-badge", accentClass, iconClass, statusClass]}>
25
+ {#if badge.ellipsis}
26
+ <span class="fr-ellipsis">{badge.label}</span>
27
+ {:else}
28
+ {badge.label}
29
+ {/if}
30
+ </p>
31
+ {/snippet}
32
+
33
+ <svelte:element this={groupMarkup} class={["fr-badges-group", sizeClass]}>
34
+ {#each badges as badge, index (index)}
35
+ {#if groupMarkup === "ul"}
36
+ <li>
37
+ {@render badgeItem(badge)}
38
+ </li>
39
+ {:else}
40
+ {@render badgeItem(badge)}
41
+ {/if}
42
+ {/each}
43
+ </svelte:element>
44
+
45
+ <style>/*!
46
+ * DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
47
+ */
48
+ /* ------------------------------------ *\
49
+ Badge
50
+ \* ------------------------------------ */
51
+ .fr-badge {
52
+ --text-spacing: 0;
53
+ --title-spacing: 0;
54
+ display: inline-flex;
55
+ flex-direction: row;
56
+ align-items: center;
57
+ width: -moz-fit-content;
58
+ width: fit-content;
59
+ --underline-img: none;
60
+ --hover-tint: var(--hover);
61
+ font-size: 0.875rem;
62
+ line-height: 1.5rem;
63
+ min-height: 1.5rem;
64
+ padding: 0 0.5rem;
65
+ overflow: initial;
66
+ max-height: none;
67
+ font-weight: 700;
68
+ max-width: 100%;
69
+ text-transform: uppercase;
70
+ border-radius: 0.25rem;
71
+ color: var(--text-default-grey);
72
+ background-color: var(--background-contrast-grey);
73
+
74
+ --idle: transparent;
75
+ --hover: var(--background-contrast-grey-hover);
76
+ --active: var(--background-contrast-grey-active);
77
+ }
78
+
79
+ .fr-badge::before,
80
+ .fr-badge::after {
81
+ display: block;
82
+ }
83
+
84
+ .fr-badge--icon-left[class^=fr-icon-],
85
+ .fr-badge--icon-left[class*=" fr-icon-"],
86
+ .fr-badge--icon-left[class^=fr-fi-],
87
+ .fr-badge--icon-left[class*=" fr-fi-"] {
88
+ overflow: initial;
89
+ max-width: 100%;
90
+ max-height: none;
91
+ }
92
+
93
+ .fr-badge--icon-left[class^=fr-icon-]::before,
94
+ .fr-badge--icon-left[class*=" fr-icon-"]::before,
95
+ .fr-badge--icon-left[class^=fr-fi-]::before,
96
+ .fr-badge--icon-left[class*=" fr-fi-"]::before {
97
+ --icon-size: 1rem;
98
+ margin-left: -0.125rem;
99
+ margin-right: 0.25rem;
100
+ }
101
+
102
+ .fr-badge[class^=fr-icon-]:not([class*=fr-badge--icon-])::before,
103
+ .fr-badge[class*=" fr-icon-"]:not([class*=fr-badge--icon-])::before,
104
+ .fr-badge[class^=fr-fi-]:not([class*=fr-badge--icon-])::before,
105
+ .fr-badge[class*=" fr-fi-"]:not([class*=fr-badge--icon-])::before {
106
+ content: none;
107
+ }
108
+
109
+ .fr-badge--sm {
110
+ font-size: 0.75rem;
111
+ line-height: 1.25rem;
112
+ min-height: 1.125rem;
113
+ padding: 0 0.375rem;
114
+ overflow: initial;
115
+ max-width: 100%;
116
+ max-height: none;
117
+ }
118
+
119
+ .fr-badge--sm.fr-badge--icon-left[class^=fr-icon-],
120
+ .fr-badge--sm.fr-badge--icon-left[class*=" fr-icon-"],
121
+ .fr-badge--sm.fr-badge--icon-left[class^=fr-fi-],
122
+ .fr-badge--sm.fr-badge--icon-left[class*=" fr-fi-"] {
123
+ overflow: initial;
124
+ max-width: 100%;
125
+ max-height: none;
126
+ }
127
+
128
+ .fr-badge--sm.fr-badge--icon-left[class^=fr-icon-]::before,
129
+ .fr-badge--sm.fr-badge--icon-left[class*=" fr-icon-"]::before,
130
+ .fr-badge--sm.fr-badge--icon-left[class^=fr-fi-]::before,
131
+ .fr-badge--sm.fr-badge--icon-left[class*=" fr-fi-"]::before {
132
+ --icon-size: 0.75rem;
133
+ margin-left: -0.09375rem;
134
+ margin-right: 0.25rem;
135
+ }
136
+
137
+ .fr-badge--sm[class^=fr-icon-]:not([class*=fr-badge--icon-])::before,
138
+ .fr-badge--sm[class*=" fr-icon-"]:not([class*=fr-badge--icon-])::before,
139
+ .fr-badge--sm[class^=fr-fi-]:not([class*=fr-badge--icon-])::before,
140
+ .fr-badge--sm[class*=" fr-fi-"]:not([class*=fr-badge--icon-])::before {
141
+ content: none;
142
+ }
143
+
144
+ .fr-badge::before {
145
+ --icon-size: 1rem;
146
+ margin-left: -0.125rem;
147
+ margin-right: 0.25rem;
148
+ flex: 0 0 auto;
149
+ display: inline-block;
150
+ vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
151
+ background-color: currentColor;
152
+ width: var(--icon-size);
153
+ height: var(--icon-size);
154
+ -webkit-mask-size: 100% 100%;
155
+ mask-size: 100% 100%;
156
+ }
157
+
158
+ .fr-badge[class^=fr-icon-]::before,
159
+ .fr-badge[class*=" fr-icon-"]::before,
160
+ .fr-badge[class^=fr-fi-]::before,
161
+ .fr-badge[class*=" fr-fi-"]::before {
162
+ content: "";
163
+ }
164
+
165
+ .fr-badge--sm::before {
166
+ --icon-size: 0.75rem;
167
+ margin-left: -0.09375rem;
168
+ margin-right: 0.25rem;
169
+ }
170
+
171
+ .fr-badge.fr-badge--info::before,
172
+ .fr-badge--sm.fr-badge--info::before {
173
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
174
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
175
+ }
176
+
177
+ .fr-badge.fr-badge--success::before,
178
+ .fr-badge--sm.fr-badge--success::before {
179
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
180
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
181
+ }
182
+
183
+ .fr-badge.fr-badge--error::before,
184
+ .fr-badge--sm.fr-badge--error::before {
185
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
186
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
187
+ }
188
+
189
+ .fr-badge.fr-badge--warning::before,
190
+ .fr-badge--sm.fr-badge--warning::before {
191
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--warning-fill.svg");
192
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--warning-fill.svg");
193
+ }
194
+
195
+ .fr-badge.fr-badge--new::before,
196
+ .fr-badge--sm.fr-badge--new::before {
197
+ -webkit-mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/weather/flashlight-fill.svg");
198
+ mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/weather/flashlight-fill.svg");
199
+ }
200
+
201
+ .fr-badge--info::before,
202
+ .fr-badge--success::before,
203
+ .fr-badge--error::before,
204
+ .fr-badge--warning::before,
205
+ .fr-badge--new::before,
206
+ .fr-badge--sm--info::before,
207
+ .fr-badge--sm--success::before,
208
+ .fr-badge--sm--error::before,
209
+ .fr-badge--sm--warning::before,
210
+ .fr-badge--sm--new::before {
211
+ content: "";
212
+ }
213
+
214
+ .fr-badge.fr-badge--no-icon::before,
215
+ .fr-badge--sm.fr-badge--no-icon::before {
216
+ content: none;
217
+ }
218
+
219
+ .fr-badges-group {
220
+ --ul-type: none;
221
+ --ol-type: none;
222
+ --ul-start: 0;
223
+ --ol-start: 0;
224
+ --xl-block: 0;
225
+ --li-bottom: 0;
226
+ --ol-content: none;
227
+ display: flex;
228
+ flex-wrap: wrap;
229
+ margin-left: -0.25rem;
230
+ margin-right: -0.25rem;
231
+ margin-bottom: 0;
232
+ }
233
+
234
+ .fr-badges-group > li {
235
+ display: inline-flex;
236
+ max-width: 100%;
237
+ }
238
+
239
+ .fr-badges-group .fr-badge {
240
+ margin: 0 0.25rem 0.5rem 0.25rem;
241
+ }
242
+
243
+ .fr-badges-group--sm .fr-badge {
244
+ font-size: 0.75rem;
245
+ line-height: 1.25rem;
246
+ min-height: 1.125rem;
247
+ padding: 0 0.375rem;
248
+ }
249
+
250
+ .fr-badges-group--sm .fr-badge::before,
251
+ .fr-badges-group--sm .fr-badge::after {
252
+ --icon-size: 0.75rem;
253
+ }
254
+
255
+ .fr-badge--info {
256
+ color: var(--text-default-info);
257
+ background-color: var(--background-contrast-info);
258
+
259
+ --idle: transparent;
260
+ --hover: var(--background-contrast-info-hover);
261
+ --active: var(--background-contrast-info-active);
262
+ }
263
+
264
+ .fr-badge--error {
265
+ color: var(--text-default-error);
266
+ background-color: var(--background-contrast-error);
267
+
268
+ --idle: transparent;
269
+ --hover: var(--background-contrast-error-hover);
270
+ --active: var(--background-contrast-error-active);
271
+ }
272
+
273
+ .fr-badge--success {
274
+ color: var(--text-default-success);
275
+ background-color: var(--background-contrast-success);
276
+
277
+ --idle: transparent;
278
+ --hover: var(--background-contrast-success-hover);
279
+ --active: var(--background-contrast-success-active);
280
+ }
281
+
282
+ .fr-badge--warning {
283
+ color: var(--text-default-warning);
284
+ background-color: var(--background-contrast-warning);
285
+
286
+ --idle: transparent;
287
+ --hover: var(--background-contrast-warning-hover);
288
+ --active: var(--background-contrast-warning-active);
289
+ }
290
+
291
+ .fr-badge--new {
292
+ color: var(--text-action-high-yellow-moutarde);
293
+ background-color: var(--background-contrast-yellow-moutarde);
294
+
295
+ --idle: transparent;
296
+ --hover: var(--background-contrast-yellow-moutarde-hover);
297
+ --active: var(--background-contrast-yellow-moutarde-active);
298
+ }
299
+
300
+ .fr-badge--green-tilleul-verveine {
301
+ color: var(--text-label-green-tilleul-verveine);
302
+ background-color: var(--background-contrast-green-tilleul-verveine);
303
+
304
+ --idle: transparent;
305
+ --hover: var(--background-contrast-green-tilleul-verveine-hover);
306
+ --active: var(--background-contrast-green-tilleul-verveine-active);
307
+ }
308
+
309
+ .fr-badge--green-bourgeon {
310
+ color: var(--text-label-green-bourgeon);
311
+ background-color: var(--background-contrast-green-bourgeon);
312
+
313
+ --idle: transparent;
314
+ --hover: var(--background-contrast-green-bourgeon-hover);
315
+ --active: var(--background-contrast-green-bourgeon-active);
316
+ }
317
+
318
+ .fr-badge--green-emeraude {
319
+ color: var(--text-label-green-emeraude);
320
+ background-color: var(--background-contrast-green-emeraude);
321
+
322
+ --idle: transparent;
323
+ --hover: var(--background-contrast-green-emeraude-hover);
324
+ --active: var(--background-contrast-green-emeraude-active);
325
+ }
326
+
327
+ .fr-badge--green-menthe {
328
+ color: var(--text-label-green-menthe);
329
+ background-color: var(--background-contrast-green-menthe);
330
+
331
+ --idle: transparent;
332
+ --hover: var(--background-contrast-green-menthe-hover);
333
+ --active: var(--background-contrast-green-menthe-active);
334
+ }
335
+
336
+ .fr-badge--green-archipel {
337
+ color: var(--text-label-green-archipel);
338
+ background-color: var(--background-contrast-green-archipel);
339
+
340
+ --idle: transparent;
341
+ --hover: var(--background-contrast-green-archipel-hover);
342
+ --active: var(--background-contrast-green-archipel-active);
343
+ }
344
+
345
+ .fr-badge--blue-ecume {
346
+ color: var(--text-label-blue-ecume);
347
+ background-color: var(--background-contrast-blue-ecume);
348
+
349
+ --idle: transparent;
350
+ --hover: var(--background-contrast-blue-ecume-hover);
351
+ --active: var(--background-contrast-blue-ecume-active);
352
+ }
353
+
354
+ .fr-badge--blue-cumulus {
355
+ color: var(--text-label-blue-cumulus);
356
+ background-color: var(--background-contrast-blue-cumulus);
357
+
358
+ --idle: transparent;
359
+ --hover: var(--background-contrast-blue-cumulus-hover);
360
+ --active: var(--background-contrast-blue-cumulus-active);
361
+ }
362
+
363
+ .fr-badge--purple-glycine {
364
+ color: var(--text-label-purple-glycine);
365
+ background-color: var(--background-contrast-purple-glycine);
366
+
367
+ --idle: transparent;
368
+ --hover: var(--background-contrast-purple-glycine-hover);
369
+ --active: var(--background-contrast-purple-glycine-active);
370
+ }
371
+
372
+ .fr-badge--pink-macaron {
373
+ color: var(--text-label-pink-macaron);
374
+ background-color: var(--background-contrast-pink-macaron);
375
+
376
+ --idle: transparent;
377
+ --hover: var(--background-contrast-pink-macaron-hover);
378
+ --active: var(--background-contrast-pink-macaron-active);
379
+ }
380
+
381
+ .fr-badge--pink-tuile {
382
+ color: var(--text-label-pink-tuile);
383
+ background-color: var(--background-contrast-pink-tuile);
384
+
385
+ --idle: transparent;
386
+ --hover: var(--background-contrast-pink-tuile-hover);
387
+ --active: var(--background-contrast-pink-tuile-active);
388
+ }
389
+
390
+ .fr-badge--yellow-tournesol {
391
+ color: var(--text-label-yellow-tournesol);
392
+ background-color: var(--background-contrast-yellow-tournesol);
393
+
394
+ --idle: transparent;
395
+ --hover: var(--background-contrast-yellow-tournesol-hover);
396
+ --active: var(--background-contrast-yellow-tournesol-active);
397
+ }
398
+
399
+ .fr-badge--yellow-moutarde {
400
+ color: var(--text-label-yellow-moutarde);
401
+ background-color: var(--background-contrast-yellow-moutarde);
402
+
403
+ --idle: transparent;
404
+ --hover: var(--background-contrast-yellow-moutarde-hover);
405
+ --active: var(--background-contrast-yellow-moutarde-active);
406
+ }
407
+
408
+ .fr-badge--orange-terre-battue {
409
+ color: var(--text-label-orange-terre-battue);
410
+ background-color: var(--background-contrast-orange-terre-battue);
411
+
412
+ --idle: transparent;
413
+ --hover: var(--background-contrast-orange-terre-battue-hover);
414
+ --active: var(--background-contrast-orange-terre-battue-active);
415
+ }
416
+
417
+ .fr-badge--brown-cafe-creme {
418
+ color: var(--text-label-brown-cafe-creme);
419
+ background-color: var(--background-contrast-brown-cafe-creme);
420
+
421
+ --idle: transparent;
422
+ --hover: var(--background-contrast-brown-cafe-creme-hover);
423
+ --active: var(--background-contrast-brown-cafe-creme-active);
424
+ }
425
+
426
+ .fr-badge--brown-caramel {
427
+ color: var(--text-label-brown-caramel);
428
+ background-color: var(--background-contrast-brown-caramel);
429
+
430
+ --idle: transparent;
431
+ --hover: var(--background-contrast-brown-caramel-hover);
432
+ --active: var(--background-contrast-brown-caramel-active);
433
+ }
434
+
435
+ .fr-badge--brown-opera {
436
+ color: var(--text-label-brown-opera);
437
+ background-color: var(--background-contrast-brown-opera);
438
+
439
+ --idle: transparent;
440
+ --hover: var(--background-contrast-brown-opera-hover);
441
+ --active: var(--background-contrast-brown-opera-active);
442
+ }
443
+
444
+ .fr-badge--beige-gris-galet {
445
+ color: var(--text-label-beige-gris-galet);
446
+ background-color: var(--background-contrast-beige-gris-galet);
447
+
448
+ --idle: transparent;
449
+ --hover: var(--background-contrast-beige-gris-galet-hover);
450
+ --active: var(--background-contrast-beige-gris-galet-active);
451
+ }
452
+
453
+ .fr-badge-group {
454
+ --ul-type: none;
455
+ --ol-type: none;
456
+ --ul-start: 0;
457
+ --ol-start: 0;
458
+ --xl-block: 0;
459
+ --li-bottom: 0;
460
+ --ol-content: none;
461
+ display: flex;
462
+ flex-wrap: wrap;
463
+ margin-bottom: 0;
464
+ }
465
+
466
+ .fr-badge-group > li {
467
+ display: inline-flex;
468
+ max-width: 100%;
469
+ }
470
+
471
+ .fr-badge-group .fr-badge {
472
+ margin-right: 0.5rem;
473
+ margin-bottom: 0.5rem;
474
+ }
475
+ @media (min-width: 36em) {
476
+ /*! media sm */
477
+ }
478
+ @media (min-width: 48em) {
479
+ /*! media md */
480
+ }
481
+ @media (min-width: 62em) {
482
+ /*! media lg */
483
+ }
484
+ @media (min-width: 78em) {
485
+ /*! media xl */
486
+ }
487
+ @media (-ms-high-contrast: active), (forced-colors: active) {
488
+ .fr-badge::before,
489
+ .fr-badge::after {
490
+ background-color: canvastext;
491
+ }
492
+
493
+ .fr-badge {
494
+ outline: 1px solid;
495
+ }
496
+ }
497
+ p {
498
+ font-size: 1rem;
499
+ line-height: 1.5rem;
500
+ margin: var(--text-spacing);
501
+ }
502
+
503
+ :root {
504
+ --ul-type: disc;
505
+ --ol-type: decimal;
506
+ --ul-start: 1rem;
507
+ --ol-start: 1.5rem;
508
+ --xl-block: 0.5rem;
509
+ --li-bottom: 0.25rem;
510
+ --xl-base: 1em;
511
+ --ol-content: counters(li-counter, ".") ".\00a0\00a0";
512
+ }
513
+
514
+ ul,
515
+ ol,
516
+ dl {
517
+ margin: 0;
518
+ padding: 0;
519
+ margin-block-start: var(--xl-block);
520
+ margin-block-end: var(--xl-block);
521
+ --xl-size: var(--xl-base);
522
+ }
523
+
524
+ ul {
525
+ list-style-type: var(--ul-type);
526
+ padding-inline-start: var(--ul-start);
527
+ }
528
+ ul > li::marker {
529
+ font-size: calc(var(--xl-size) * 0.9);
530
+ }
531
+ @media (-ms-high-contrast: active), (forced-colors: active) {
532
+ ul > li::marker {
533
+ color: graytext;
534
+ }
535
+ }
536
+
537
+ ol {
538
+ list-style-type: var(--ol-type);
539
+ padding-inline-start: var(--ol-start);
540
+ counter-reset: li-counter;
541
+ }
542
+ ol > li {
543
+ counter-increment: li-counter;
544
+ }
545
+ ol > li::marker {
546
+ content: var(--ol-content);
547
+ font-size: var(--xl-size);
548
+ font-weight: bold;
549
+ }
550
+
551
+ dl,
552
+ dd {
553
+ margin: 0;
554
+ padding-inline-start: var(--ul-start);
555
+ }
556
+
557
+ li,
558
+ dd,
559
+ dt {
560
+ --xl-base: calc(var(--xl-size) * 0.9);
561
+ padding-bottom: var(--li-bottom);
562
+ }
563
+
564
+ .fr-raw-list {
565
+ --ul-type: none;
566
+ --ol-type: none;
567
+ --ul-start: 0;
568
+ --ol-start: 0;
569
+ --xl-block: 0;
570
+ --li-bottom: 0;
571
+ --ol-content: none;
572
+ }
573
+
574
+ .fr-list {
575
+ --ul-type: disc;
576
+ --ol-type: decimal;
577
+ --ul-start: 1rem;
578
+ --ol-start: 1.5rem;
579
+ --xl-block: 0.5rem;
580
+ --li-bottom: 0.25rem;
581
+ --xl-base: 1em;
582
+ --ol-content: counters(li-counter, ".") ".\00a0\00a0";
583
+ }
584
+
585
+ .fr-ellipsis {
586
+ display: inline !important;
587
+ white-space: nowrap !important;
588
+ overflow: hidden !important;
589
+ text-overflow: ellipsis !important;
590
+ }
591
+
592
+ :host {
593
+ display: block;
594
+ text-rendering: optimizeLegibility;
595
+ -webkit-font-smoothing: antialiased;
596
+ -moz-osx-font-smoothing: grayscale;
597
+ -webkit-text-size-adjust: 100%;
598
+ font-size: 1rem;
599
+ line-height: 1.5rem;
600
+ background-color: var(--background-default-grey);
601
+ --idle: transparent;
602
+ --hover: var(--background-default-grey-hover);
603
+ --active: var(--background-default-grey-active);
604
+ color: var(--text-default-grey);
605
+ background-color: transparent;
606
+ }
607
+
608
+ .fr-badges-group {
609
+ box-sizing: border-box;
610
+ }</style>
@@ -0,0 +1,25 @@
1
+ import type { Accent, Size, Status } from "../types";
2
+ type BadgesGroupSize = Extract<Size, "sm" | "md">;
3
+ type BadgeType = "default" | "accent" | "status";
4
+ type GroupMarkup = "div" | "ul";
5
+ type Badge = {
6
+ label: string;
7
+ accent?: Accent;
8
+ hasIcon?: boolean;
9
+ hasNoIcon?: boolean;
10
+ ellipsis?: boolean;
11
+ icon?: string;
12
+ status?: Status;
13
+ type?: BadgeType;
14
+ };
15
+ interface Props {
16
+ /** Liste des badges à afficher dans le groupe */
17
+ badges: Badge[];
18
+ /** Taille du badge */
19
+ size?: BadgesGroupSize;
20
+ /** Type de balise HTML pour la liste du groupe de badges */
21
+ groupMarkup?: GroupMarkup;
22
+ }
23
+ declare const DsfrBadgesGroup: import("svelte").Component<Props, {}, "">;
24
+ type DsfrBadgesGroup = ReturnType<typeof DsfrBadgesGroup>;
25
+ export default DsfrBadgesGroup;