@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.
- package/README.md +102 -21
- package/dist/assets/assets.d.ts +1 -0
- package/dist/assets/assets.js +1 -0
- package/dist/assets/dsfr-icons.css +1 -0
- package/dist/composants/Alerte.svelte +83 -0
- package/dist/composants/Alerte.svelte.d.ts +32 -0
- package/dist/composants/AncresParcours.svelte +132 -0
- package/dist/composants/AncresParcours.svelte.d.ts +11 -0
- package/dist/composants/BandeauPage.svelte +218 -0
- package/dist/composants/BandeauPage.svelte.d.ts +58 -0
- package/dist/composants/BlocFonctionnalites.svelte +570 -0
- package/dist/composants/BlocFonctionnalites.svelte.d.ts +105 -0
- package/dist/composants/Bouton.svelte +156 -0
- package/dist/composants/Bouton.svelte.d.ts +36 -0
- package/dist/composants/CentreAide.svelte +223 -0
- package/dist/composants/CentreAide.svelte.d.ts +41 -0
- package/dist/composants/FiltresCatalogue.svelte +147 -0
- package/dist/composants/FiltresCatalogue.svelte.d.ts +15 -0
- package/dist/composants/Icone.svelte +42 -0
- package/dist/composants/Icone.svelte.d.ts +7 -0
- package/dist/composants/Lien.svelte +233 -0
- package/dist/composants/Lien.svelte.d.ts +39 -0
- package/dist/composants/MultiSelect.svelte +931 -0
- package/dist/composants/MultiSelect.svelte.d.ts +51 -0
- package/dist/composants/Reactions.svelte +360 -0
- package/dist/composants/Reactions.svelte.d.ts +23 -0
- package/dist/composants/ResumePssi.svelte +92 -0
- package/dist/composants/ResumePssi.svelte.d.ts +6 -0
- package/dist/composants/Tag.svelte +113 -0
- package/dist/composants/Tag.svelte.d.ts +35 -0
- package/dist/composants/blog/BandeauTitre.svelte +150 -0
- package/dist/composants/blog/BandeauTitre.svelte.d.ts +29 -0
- package/dist/composants/blog/CarteArticle.svelte +69 -0
- package/dist/composants/blog/CarteArticle.svelte.d.ts +8 -0
- package/dist/composants/blog/IconeChevronBas.svelte +22 -0
- package/dist/composants/blog/IconeChevronBas.svelte.d.ts +26 -0
- package/dist/composants/blog/IconeMenuLateral.svelte +15 -0
- package/dist/composants/blog/IconeMenuLateral.svelte.d.ts +26 -0
- package/dist/composants/blog/ListeArticles.svelte +62 -0
- package/dist/composants/blog/ListeArticles.svelte.d.ts +9 -0
- package/dist/composants/blog/ListeDeroulante.svelte +57 -0
- package/dist/composants/blog/ListeDeroulante.svelte.d.ts +10 -0
- package/dist/composants/blog/PageCrisp.svelte +244 -0
- package/dist/composants/blog/PageCrisp.svelte.d.ts +8 -0
- package/dist/composants/blog/SommaireBureau.svelte +64 -0
- package/dist/composants/blog/SommaireBureau.svelte.d.ts +9 -0
- package/dist/composants/blog/SommaireMobile.svelte +115 -0
- package/dist/composants/blog/SommaireMobile.svelte.d.ts +9 -0
- package/dist/composants/carrousel-tuiles/CarrouselTuiles.svelte +184 -0
- package/dist/composants/carrousel-tuiles/CarrouselTuiles.svelte.d.ts +34 -0
- package/dist/composants/carrousel-tuiles/IconeFlecheDroite.svelte +16 -0
- package/dist/composants/carrousel-tuiles/IconeFlecheDroite.svelte.d.ts +26 -0
- package/dist/composants/carrousel-tuiles/IconeFlecheGauche.svelte +12 -0
- package/dist/composants/carrousel-tuiles/IconeFlecheGauche.svelte.d.ts +26 -0
- package/dist/composants/carrousel-tuiles/Tuile.svelte +72 -0
- package/dist/composants/carrousel-tuiles/Tuile.svelte.d.ts +10 -0
- package/dist/composants/icones/Fleche.svelte +25 -0
- package/dist/composants/icones/Fleche.svelte.d.ts +6 -0
- package/dist/composants/icones/LienExterne.svelte +20 -0
- package/dist/composants/icones/LienExterne.svelte.d.ts +6 -0
- package/dist/composants/marelle/Etape.svelte +165 -0
- package/dist/composants/marelle/Etape.svelte.d.ts +32 -0
- package/dist/composants/marelle/Marelle.svelte +97 -0
- package/dist/composants/marelle/Marelle.svelte.d.ts +44 -0
- package/dist/composants/mes-services-cyber/bandeau/Bandeau.svelte +158 -0
- package/dist/composants/mes-services-cyber/bandeau/Bandeau.svelte.d.ts +3 -0
- package/dist/composants/mes-services-cyber/lien/LienDiagnosticCyber.svelte +125 -0
- package/dist/composants/mes-services-cyber/lien/LienDiagnosticCyber.svelte.d.ts +7 -0
- package/dist/composants/pied-de-page/NavigationPiedDePage.svelte +62 -0
- package/dist/composants/pied-de-page/NavigationPiedDePage.svelte.d.ts +6 -0
- package/dist/composants/suite-cyber/AccueilSuiteCyber.svelte +96 -0
- package/dist/composants/suite-cyber/AccueilSuiteCyber.svelte.d.ts +6 -0
- package/dist/composants/suite-cyber/LiensSuiteCyber.svelte +99 -0
- package/dist/composants/suite-cyber/LiensSuiteCyber.svelte.d.ts +14 -0
- package/dist/composants/suite-cyber/SuiteCyber.svelte +296 -0
- package/dist/composants/suite-cyber/SuiteCyber.svelte.d.ts +6 -0
- package/dist/composants/vitrines-produits/briques/Brique.svelte +50 -0
- package/dist/composants/vitrines-produits/briques/Brique.svelte.d.ts +9 -0
- package/dist/composants/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte +144 -0
- package/dist/composants/vitrines-produits/briques/BriqueContenuADeuxColonnes.svelte.d.ts +29 -0
- package/dist/composants/vitrines-produits/briques/BriqueHero.svelte +246 -0
- package/dist/composants/vitrines-produits/briques/BriqueHero.svelte.d.ts +31 -0
- package/dist/composants/vitrines-produits/briques/BriqueTitreMultimedia.svelte +50 -0
- package/dist/composants/vitrines-produits/briques/BriqueTitreMultimedia.svelte.d.ts +25 -0
- package/dist/composants/vitrines-produits/briques/LecteurVideo.svelte +14 -0
- package/dist/composants/vitrines-produits/briques/LecteurVideo.svelte.d.ts +9 -0
- package/dist/composants/vitrines-produits/briques/PresentationANSSI.svelte +148 -0
- package/dist/composants/vitrines-produits/briques/PresentationANSSI.svelte.d.ts +37 -0
- package/dist/composants/vitrines-produits/briques/RejoindreLaCommunaute.svelte +139 -0
- package/dist/composants/vitrines-produits/briques/RejoindreLaCommunaute.svelte.d.ts +36 -0
- package/dist/composants/vitrines-produits/briques/temoignages/IconeTemoignage.svelte +18 -0
- package/dist/composants/vitrines-produits/briques/temoignages/IconeTemoignage.svelte.d.ts +26 -0
- package/dist/composants/vitrines-produits/briques/temoignages/Temoignages.svelte +168 -0
- package/dist/composants/vitrines-produits/briques/temoignages/Temoignages.svelte.d.ts +13 -0
- package/dist/directives/actions.svelte.d.ts +32 -0
- package/dist/directives/actions.svelte.js +158 -0
- package/dist/dsfr/DsfrAccordion.svelte +889 -0
- package/dist/dsfr/DsfrAccordion.svelte.d.ts +40 -0
- package/dist/dsfr/DsfrAlert.svelte +2097 -0
- package/dist/dsfr/DsfrAlert.svelte.d.ts +36 -0
- package/dist/dsfr/DsfrBadge.svelte +532 -0
- package/dist/dsfr/DsfrBadge.svelte.d.ts +41 -0
- package/dist/dsfr/DsfrBadgesGroup.svelte +610 -0
- package/dist/dsfr/DsfrBadgesGroup.svelte.d.ts +25 -0
- package/dist/dsfr/DsfrBreadcrumb.svelte +657 -0
- package/dist/dsfr/DsfrBreadcrumb.svelte.d.ts +25 -0
- package/dist/dsfr/DsfrButton.svelte +1821 -0
- package/dist/dsfr/DsfrButton.svelte.d.ts +68 -0
- package/dist/dsfr/DsfrButtonsGroup.svelte +1896 -0
- package/dist/dsfr/DsfrButtonsGroup.svelte.d.ts +36 -0
- package/dist/dsfr/DsfrCallout.svelte +242 -0
- package/dist/dsfr/DsfrCallout.svelte.d.ts +46 -0
- package/dist/dsfr/DsfrCard.svelte +10223 -0
- package/dist/dsfr/DsfrCard.svelte.d.ts +102 -0
- package/dist/dsfr/DsfrCheckbox.svelte +1280 -0
- package/dist/dsfr/DsfrCheckbox.svelte.d.ts +69 -0
- package/dist/dsfr/DsfrCheckboxesGroup.svelte +1532 -0
- package/dist/dsfr/DsfrCheckboxesGroup.svelte.d.ts +73 -0
- package/dist/dsfr/DsfrConnect.svelte +511 -0
- package/dist/dsfr/DsfrConnect.svelte.d.ts +15 -0
- package/dist/dsfr/DsfrContainer.svelte +894 -0
- package/dist/dsfr/DsfrContainer.svelte.d.ts +31 -0
- package/dist/dsfr/DsfrContent.svelte +1140 -0
- package/dist/dsfr/DsfrContent.svelte.d.ts +60 -0
- package/dist/dsfr/DsfrDropdown.svelte +335 -0
- package/dist/dsfr/DsfrDropdown.svelte.d.ts +73 -0
- package/dist/dsfr/DsfrFooter.svelte +2370 -0
- package/dist/dsfr/DsfrFooter.svelte.d.ts +77 -0
- package/dist/dsfr/DsfrHeader.svelte +4162 -0
- package/dist/dsfr/DsfrHeader.svelte.d.ts +131 -0
- package/dist/dsfr/DsfrHighlight.svelte +294 -0
- package/dist/dsfr/DsfrHighlight.svelte.d.ts +33 -0
- package/dist/dsfr/DsfrInput.svelte +1270 -0
- package/dist/dsfr/DsfrInput.svelte.d.ts +86 -0
- package/dist/dsfr/DsfrLabel.svelte +438 -0
- package/dist/dsfr/DsfrLabel.svelte.d.ts +65 -0
- package/dist/dsfr/DsfrLink.svelte +1007 -0
- package/dist/dsfr/DsfrLink.svelte.d.ts +66 -0
- package/dist/dsfr/DsfrLogo.svelte +228 -0
- package/dist/dsfr/DsfrLogo.svelte.d.ts +11 -0
- package/dist/dsfr/DsfrMessagesGroup.svelte +260 -0
- package/dist/dsfr/DsfrMessagesGroup.svelte.d.ts +46 -0
- package/dist/dsfr/DsfrModal.svelte +2983 -0
- package/dist/dsfr/DsfrModal.svelte.d.ts +56 -0
- package/dist/dsfr/DsfrNavigation.svelte +7626 -0
- package/dist/dsfr/DsfrNotice.svelte +2948 -0
- package/dist/dsfr/DsfrNotice.svelte.d.ts +37 -0
- package/dist/dsfr/DsfrPagination.svelte +1036 -0
- package/dist/dsfr/DsfrPagination.svelte.d.ts +35 -0
- package/dist/dsfr/DsfrQuote.svelte +646 -0
- package/dist/dsfr/DsfrQuote.svelte.d.ts +29 -0
- package/dist/dsfr/DsfrRadio.svelte +1307 -0
- package/dist/dsfr/DsfrRadio.svelte.d.ts +37 -0
- package/dist/dsfr/DsfrRadiosGroup.svelte +1629 -0
- package/dist/dsfr/DsfrRadiosGroup.svelte.d.ts +76 -0
- package/dist/dsfr/DsfrRange.svelte +1329 -0
- package/dist/dsfr/DsfrRange.svelte.d.ts +77 -0
- package/dist/dsfr/DsfrSearch.svelte +2015 -0
- package/dist/dsfr/DsfrSearch.svelte.d.ts +51 -0
- package/dist/dsfr/DsfrSegmented.svelte +422 -0
- package/dist/dsfr/DsfrSegmented.svelte.d.ts +34 -0
- package/dist/dsfr/DsfrSelect.svelte +1068 -0
- package/dist/dsfr/DsfrSelect.svelte.d.ts +86 -0
- package/dist/dsfr/DsfrShare.svelte +2228 -0
- package/dist/dsfr/DsfrShare.svelte.d.ts +40 -0
- package/dist/dsfr/DsfrSideMenu.svelte +1211 -0
- package/dist/dsfr/DsfrSideMenu.svelte.d.ts +34 -0
- package/dist/dsfr/DsfrSkipLink.svelte +990 -0
- package/dist/dsfr/DsfrSkipLink.svelte.d.ts +13 -0
- package/dist/dsfr/DsfrStepper.svelte +340 -0
- package/dist/dsfr/DsfrStepper.svelte.d.ts +18 -0
- package/dist/dsfr/DsfrTable.svelte +829 -0
- package/dist/dsfr/DsfrTable.svelte.d.ts +202 -0
- package/dist/dsfr/DsfrTabnav.svelte +1149 -0
- package/dist/dsfr/DsfrTabnav.svelte.d.ts +36 -0
- package/dist/dsfr/DsfrTabs.svelte +926 -0
- package/dist/dsfr/DsfrTabs.svelte.d.ts +28 -0
- package/dist/dsfr/DsfrTag.svelte +1269 -0
- package/dist/dsfr/DsfrTag.svelte.d.ts +59 -0
- package/dist/dsfr/DsfrTagsGroup.svelte +1351 -0
- package/dist/dsfr/DsfrTagsGroup.svelte.d.ts +37 -0
- package/dist/dsfr/DsfrTextarea.svelte +1385 -0
- package/dist/dsfr/DsfrTextarea.svelte.d.ts +72 -0
- package/dist/dsfr/DsfrTile.svelte +7645 -0
- package/dist/dsfr/DsfrTile.svelte.d.ts +79 -0
- package/dist/dsfr/DsfrToggle.svelte +1453 -0
- package/dist/dsfr/DsfrToggle.svelte.d.ts +56 -0
- package/dist/dsfr/DsfrTooltip.svelte +396 -0
- package/dist/dsfr/DsfrTooltip.svelte.d.ts +36 -0
- package/dist/dsfr/DsfrTranscription.svelte +2962 -0
- package/dist/dsfr/DsfrTranscription.svelte.d.ts +39 -0
- package/dist/dsfr/DsfrTranslate.svelte +1384 -0
- package/dist/dsfr/DsfrTranslate.svelte.d.ts +19 -0
- package/dist/dsfr/DsfrUser.svelte +736 -0
- package/dist/dsfr/DsfrUser.svelte.d.ts +65 -0
- package/dist/index.d.ts +79 -0
- package/dist/index.js +79 -0
- package/dist/styles/apparence-bouton.scss +154 -0
- package/dist/styles/dsfr-icons.css +1 -0
- package/dist/styles/dsfr-icons.scss +4 -0
- package/dist/styles/dsfr-variables.scss +28 -0
- package/dist/styles/mixins-dsfr.scss +226 -0
- package/dist/styles/mixins.scss +51 -0
- package/dist/types/commun.d.ts +63 -0
- package/dist/types/commun.js +1 -0
- package/dist/types/global.d.ts +24 -0
- package/dist/types/global.js +9 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +1 -0
- package/dist/ui-kit-components.json +142 -100
- package/dist/utilitaires/createFormValidation.svelte.d.ts +34 -0
- package/dist/utilitaires/createFormValidation.svelte.js +183 -0
- package/dist/utilitaires/icons-stylesheet.d.ts +370 -0
- package/dist/utilitaires/icons-stylesheet.js +33 -0
- package/dist/utilitaires/index.d.ts +14 -0
- package/dist/utilitaires/index.js +26 -0
- package/dist/web-types.json +149 -101
- package/dist/webcomponents/lab-anssi-ui-kit.iife.js +36 -9
- package/dist/webcomponents/lab-anssi-ui-kit.jsx.d.ts +42 -24
- package/package.json +49 -43
- package/dist/index.html +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Size } from "../types";
|
|
2
|
+
type LinkSize = Extract<Size, "sm" | "md" | "lg">;
|
|
3
|
+
type IconPlace = "left" | "right";
|
|
4
|
+
interface Props {
|
|
5
|
+
/** Libellé du lien. Optionnel si le slot par défaut est utilisé. */
|
|
6
|
+
label?: string;
|
|
7
|
+
/** Taille du lien */
|
|
8
|
+
size?: LinkSize;
|
|
9
|
+
/** Attribut 'id' du lien */
|
|
10
|
+
id?: string;
|
|
11
|
+
/** Le lien est désactivé */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
/** Si true, target prend la valeur _blank, sinon _self */
|
|
14
|
+
blank?: boolean;
|
|
15
|
+
/** Attribut title du lien */
|
|
16
|
+
title?: string;
|
|
17
|
+
/** Adresse url du lien */
|
|
18
|
+
href?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Si défini, active le "mode" téléchargement du navigateur (i.e. n'ouvre pas un nouvel onglet)
|
|
21
|
+
* Si chaîne vide, se base sur diverses sources pour calculer le nom du fichier (voir https://developer.mozilla.org/fr/docs/Web/HTML/Reference/Elements/a#download)
|
|
22
|
+
* Si chaine non-vide, remplace le nom du fichier téléchargé
|
|
23
|
+
* */
|
|
24
|
+
download?: string;
|
|
25
|
+
/** Détail du lien de téléchargement */
|
|
26
|
+
detail?: string;
|
|
27
|
+
/** Code langue du fichier à télécharger */
|
|
28
|
+
hreflang?: string;
|
|
29
|
+
/** si true, ajoute l'attribut permettant le remplissage automatique des informations du fichier à télécharger. Si string, ajoute l'attribut avec la valeur de la string (ex: "bytes" pour les poids en bytes) */
|
|
30
|
+
assess?: boolean;
|
|
31
|
+
/** Le lien a une icône */
|
|
32
|
+
hasIcon?: boolean;
|
|
33
|
+
/** Nom de l'icône dans le lien */
|
|
34
|
+
icon?: string;
|
|
35
|
+
/** Emplacement de l'icône<br>Si non défini alors que le paramètre icon est défini, lien avec icône seule, sans label<br>valeurs :<br>- left : icône à gauche du label<br>- right : icône à droite du label */
|
|
36
|
+
iconPlace?: IconPlace;
|
|
37
|
+
/** Si true, affiche le lien dans une teinte neutre */
|
|
38
|
+
neutral?: boolean;
|
|
39
|
+
}
|
|
40
|
+
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
41
|
+
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
42
|
+
$$bindings?: Bindings;
|
|
43
|
+
} & Exports;
|
|
44
|
+
(internal: unknown, props: Props & {
|
|
45
|
+
$$events?: Events;
|
|
46
|
+
$$slots?: Slots;
|
|
47
|
+
}): Exports & {
|
|
48
|
+
$set?: any;
|
|
49
|
+
$on?: any;
|
|
50
|
+
};
|
|
51
|
+
z_$$bindings?: Bindings;
|
|
52
|
+
}
|
|
53
|
+
type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
|
|
54
|
+
default: any;
|
|
55
|
+
} ? Props extends Record<string, never> ? any : {
|
|
56
|
+
children?: any;
|
|
57
|
+
} : {});
|
|
58
|
+
declare const DsfrLink: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<Props, {
|
|
59
|
+
default: {};
|
|
60
|
+
}>, {
|
|
61
|
+
[evt: string]: CustomEvent<any>;
|
|
62
|
+
}, {
|
|
63
|
+
default: {};
|
|
64
|
+
}, {}, "">;
|
|
65
|
+
type DsfrLink = InstanceType<typeof DsfrLink>;
|
|
66
|
+
export default DsfrLink;
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
<svelte:options
|
|
2
|
+
customElement={{
|
|
3
|
+
tag: "dsfr-logo",
|
|
4
|
+
props: {
|
|
5
|
+
title: { attribute: "title", type: "String" },
|
|
6
|
+
size: { attribute: "size", type: "String" },
|
|
7
|
+
},
|
|
8
|
+
}}
|
|
9
|
+
/>
|
|
10
|
+
|
|
11
|
+
<script lang="ts">let { title = "République<br>Française", size = "md" } = $props();
|
|
12
|
+
export {};
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<p class={["fr-logo", `fr-logo--${size}`]}>
|
|
16
|
+
<!-- eslint-disable-next-line svelte/no-at-html-tags -->
|
|
17
|
+
{@html title}
|
|
18
|
+
</p>
|
|
19
|
+
|
|
20
|
+
<style>/*!
|
|
21
|
+
* DSFR v1.14.4 | SPDX-License-Identifier: MIT | License-Filename: LICENSE.md | restricted use (see terms and conditions)
|
|
22
|
+
*//* ¯¯¯¯¯¯¯¯¯ *\
|
|
23
|
+
LOGO
|
|
24
|
+
\* ˍˍˍˍˍˍˍˍˍ */
|
|
25
|
+
.fr-logo {
|
|
26
|
+
--text-spacing: 0;
|
|
27
|
+
--underline-img: none;
|
|
28
|
+
display: inline-block;
|
|
29
|
+
font-weight: 700;
|
|
30
|
+
line-height: 1.0317460317em;
|
|
31
|
+
letter-spacing: -0.01em;
|
|
32
|
+
text-transform: uppercase;
|
|
33
|
+
vertical-align: middle;
|
|
34
|
+
text-indent: -0.1em;
|
|
35
|
+
font-size: 1.05rem;
|
|
36
|
+
color: var(--text-black-white-grey);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.fr-logo::before {
|
|
40
|
+
width: 2.75rem;
|
|
41
|
+
height: 1rem;
|
|
42
|
+
margin-bottom: 0.3333333333rem;
|
|
43
|
+
background-size: 2.75rem 1.125rem, 2.75rem 1rem, 0;
|
|
44
|
+
background-position: 0 -0.0625rem, 0 0, 0 0;
|
|
45
|
+
content: "";
|
|
46
|
+
display: block;
|
|
47
|
+
background-repeat: no-repeat, no-repeat, no-repeat;
|
|
48
|
+
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 18'%3E%3Cpath fill='%23fff' d='M11.3 10.2c-.9.6-1.7 1.3-2.3 2.1v-.1c.4-.5.7-1 1-1.5.4-.2.7-.5 1-.8.5-.5 1-1 1.7-1.3.3-.1.5-.1.8 0-.1.1-.2.1-.4.2H13v-.1c-.3.3-.7.5-1 .9-.1.2-.2.6-.7.6 0 .1.1 0 0 0zm1.6 4.6c0-.1-.1 0-.2 0l-.1.1-.1.1-.2.2s.1.1.2 0l.1-.1c.1 0 .2-.1.2-.2.1 0 .1 0 .1-.1 0 .1 0 0 0 0zm-1.6-4.3c.1 0 .2 0 .2-.1s.1-.1.1-.1v-.1c-.2.1-.3.2-.3.3zm2.4 1.9s0-.1 0 0c.1-.1.2-.1.3-.1.7-.1 1.4-.3 2.1-.6-.8-.5-1.7-.9-2.6-1h.1c-.1-.1-.3-.1-.5-.2h.1c-.2-.1-.5-.1-.7-.2.1 0 .2-.2.2-.3h-.1c-.4.2-.6.5-.8.9.2.1.5 0 .7.1h-.3c-.1 0-.2.1-.2.2h.1c-.1 0-.1.1-.2.1.1.1.2 0 .4 0 0 .1.1.1.1.1-.1 0-.2.1-.3.3-.1.2-.2.2-.3.3v.1c-.3.2-.6.5-.9.8v.1c-.1.1-.2.1-.2.2v.1c.4-.1.6-.4 1-.5l.6-.3c.2 0 .3-.1.5-.1v.1h.2c0 .1-.2 0-.1.1s.3.1.4 0c.2-.2.3-.2.4-.2zM12.4 14c-.4.2-.9.2-1.2.4 0 0 0 .1-.1.1 0 0-.1 0-.1.1-.1 0-.1.1-.2.2l-.1.1s0 .1.1 0l.1-.1s-.1.1-.1.2V15.3l-.1.1s0 .1-.1.1l-.1.1.2-.2.1-.1h.2s0-.1.1-.1c.1-.1.2-.2.3-.2h.1c.1-.1.3-.1.4-.2.1-.1.2-.2.3-.2.2-.2.5-.3.8-.5-.1 0-.2-.1-.3-.1 0 .1-.2 0-.3 0zM30 9.7c-.1.2-.4.2-.6.3-.2.2 0 .4.1.5.1.3-.2.5-.4.5.1.1.2.1.2.1 0 .2.2.2.1.4s-.5.3-.3.5c.1.2.1.5 0 .7-.1.2-.3.4-.5.5-.2.1-.4.1-.6 0-.1 0-.1-.1-.2-.1-.5-.1-1-.2-1.5-.2-.1 0-.3.1-.4.1-.1.1-.3.2-.4.3l-.1.1c-.1.1-.2.2-.2.3-.1.2-.2.4-.2.6-.2.5-.2 1 0 1.4 0 0 1 .3 1.7.6.2.1.5.2.7.4l1.7 1H13.2l1.6-1c.6-.4 1.3-.7 2-1 .5-.2 1.1-.5 1.5-.9.2-.2.3-.4.5-.5.3-.4.6-.7 1-1l.3-.3s0-.1.1-.1c-.2.1-.2.2-.4.2 0 0-.1 0 0-.1s.2-.2.3-.2v-.1c-.4 0-.7.2-1 .5h-.2c-.5.2-.8.5-1.2.7v-.1c-.2.1-.4.2-.5.2-.2 0-.5.1-.8 0-.4 0-.7.1-1.1.2-.2.1-.4.1-.6.2v.1l-.2.2c-.2.1-.3.2-.5.4l-.5.5h-.1l.1-.1.1-.1c0-.1.1-.1.1-.2.2-.1.3-.3.5-.4 0 0-.1 0 0 0 0 0 0-.1.1-.1l-.1.1c-.1.1-.1.2-.2.2v-.1-.1l.2-.2c.1-.1.2-.1.3-.2h.1c-.2.1-.3.1-.5.2H14h-.1c0-.1.1-.1.2-.2h.1c1-.8 2.3-.6 3.4-1 .1-.1.2-.1.3-.2.1-.1.3-.2.5-.3.2-.2.4-.4.5-.7v-.1c-.4.4-.8.7-1.3 1-.6.2-1.3.4-2 .4 0-.1.1-.1.1-.1 0-.1.1-.1.1-.2h.1s0-.1.1-.1h.1c-.1-.1-.3.1-.4 0 .1-.1 0-.2.1-.2h.1s0-.1.1-.1c.5-.3.9-.5 1.3-.7-.1 0-.1.1-.2 0 .1 0 0-.1.1-.1.3-.1.6-.3.9-.4-.1 0-.2.1-.3 0 .1 0 .1-.1.2-.1v-.1h0c0-.1.1 0 .2-.1h-.1c.1-.1.2-.2.4-.2 0-.1-.1 0-.1-.1h.1-.5c-.1 0 0-.1 0-.1.1-.2.2-.5.3-.7h-.1c-.3.3-.8.5-1.2.6h-.2c-.2.1-.4.1-.5 0-.1-.1-.2-.2-.3-.2-.2-.1-.5-.3-.8-.4-.7-.2-1.5-.4-2.3-.3.3-.1.7-.2 1.1-.3.5-.2 1-.3 1.5-.3h-.3c-.4 0-.9.1-1.3.2-.3.1-.6.2-.9.2-.2.1-.3.2-.5.2v-.1c.3-.4.7-.7 1.1-.8.5-.1 1.1 0 1.6.1.4 0 .8.1 1.1.2.1 0 .2.2.3.3.2.1.4 0 .5.1v-.2c.1-.1.3 0 .4 0 .2-.2-.2-.4-.3-.6v-.1c.2.2.5.4.7.6.1.1.5.2.5 0-.2-.3-.4-.6-.7-.9v-.2c-.1 0-.1 0-.1-.1-.1-.1-.1-.2-.1-.3-.1-.2 0-.4-.1-.5-.1-.2-.1-.3-.1-.5-.1-.5-.2-1-.3-1.4-.1-.6.3-1 .6-1.5.2-.4.5-.7.8-1 .1-.4.3-.7.6-1 .3-.3.6-.5.9-.6.3-.1.5-.2.8-.3l2.5-.4H25l1.8.3c.1 0 .2 0 .2.1.1.1.3.2.4.2.2.1.4.3.6.5.1.1.2.3.1.4-.1.1-.1.4-.2.4-.2.1-.4.1-.6.1-.1 0-.2 0-.4-.1.5.2.9.4 1.2.8 0 .1.2.1.3.1v.1c-.1.1-.1.1-.1.2h.1c.1-.1.1-.4.3-.3.2.1.2.3.1.4-.1.1-.2.2-.4.3v.2c.1.1.1.2.2.4s.1.5.2.7c.1.5.2.9.2 1.4 0 .2-.1.5 0 .7l.3.6c.1.2.2.3.3.5.2.3.6.6.4 1zm-15.6 5.2c-.1 0-.1.1-.1.1s.1 0 .1-.1zm5.8-1.8c-.1.1 0 0 0 0zm-6.7-.2c0 .1.1 0 .1 0 .2-.1.5 0 .6-.2-.1-.1-.2 0-.2-.1-.1 0-.2 0-.2.1-.1.1-.3.1-.3.2z'/%3E%3Cpath fill='gray' d='M27.9 6.8c.1 0 .3 0 .3.1-.1.2-.4.3-.6.5h-.1c-.1.1-.1.2-.1.2h-.3c.1.1.3.2.5.2l.1.1h.2V8c-.1.1-.2.1-.4.1.2.1.5.1.7 0 .2-.1 0-.4.1-.5-.1 0 0-.1-.1-.1.1-.1.1-.2.2-.2s.1 0 .2-.1c0-.1-.1-.1-.1-.2.2-.1.3-.3.3-.5 0-.1-.3-.1-.4-.2h-.5c-.2 0-.3.1-.5.1l-.6.3c.2-.1.4-.1.7-.2 0 .3.2.3.4.3'/%3E%3C/svg%3E"), linear-gradient(90deg, #000091 0%, #000091 50%, #e1000f 50%, #e1000f 100%), linear-gradient(90deg, #000 0%, #000 100%);
|
|
49
|
+
forced-color-adjust: none;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:root[data-fr-mourning] .fr-logo::before {
|
|
53
|
+
background-size: 2.75rem 1.125rem, 0, 2.75rem 1rem;
|
|
54
|
+
box-shadow: 0 0 0 1px #fff;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.fr-logo::after {
|
|
58
|
+
min-width: 2.625rem;
|
|
59
|
+
background-size: 5.25rem 3.75rem;
|
|
60
|
+
background-position: 0 calc(100% + 1.875rem);
|
|
61
|
+
padding-top: 2.2083333333rem;
|
|
62
|
+
content: "";
|
|
63
|
+
display: block;
|
|
64
|
+
background-repeat: no-repeat;
|
|
65
|
+
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 252 180'%3E%3Cdefs%3E%3Csymbol id='a' viewBox='0 0 11 15.5'%3E%3Cpath d='M10.4 5.3C11.9 1.5 10.1 0 7.9 0 4.2 0 0 6.5 0 11.7c0 2.5 1.2 3.8 3 3.8 2.1 0 4.3-2 6.2-5.5h-1c-1.2 1.5-2.6 2.6-3.9 2.6-1.3 0-2-.8-2-2.6a10.7 10.7 0 01.3-2.2zm-4-3.1c1.1 0 2 .8 1.5 2.6L3.1 6.1c.8-2.2 2.2-4 3.4-4z'/%3E%3C/symbol%3E%3Csymbol id='b' viewBox='0 0 12.4 21.8'%3E%3Cuse width='11' height='15.5' y='6.4' href='%23a'/%3E%3Cpath d='M7.9 4.7L12.4.6V0h-3L6.7 4.7H8z'/%3E%3C/symbol%3E%3Csymbol id='c' viewBox='0 0 11.5 19'%3E%3Cpath d='M1.7 5.7h2.6L.1 17.1a1.3 1.3 0 001.2 2c3 0 6.4-2.6 7.8-6.2h-.7a9.4 9.4 0 01-5.1 3.5L7 5.7H11l.5-1.6H7.7L9 0H7.6L4.9 4.1l-3.2.4v1.2z'/%3E%3C/symbol%3E%3Csymbol id='d' viewBox='0 0 9.8 21.9'%3E%3Cpath d='M7.6 8c.3-1-.4-1.6-1-1.6-2.2 0-5 2.1-6 5h.7A5.6 5.6 0 014.4 9L.1 20.3a1.1 1.1 0 001 1.6c2.2 0 4.7-2 5.8-5H6A5.6 5.6 0 013 19.5zM8 3.7a1.8 1.8 0 001.8-1.8A1.8 1.8 0 008 0a1.8 1.8 0 00-1.8 1.8A1.8 1.8 0 008 3.6'/%3E%3C/symbol%3E%3Csymbol id='e' viewBox='0 0 14.8 15.5'%3E%3Cpath d='M3.3 3.1c.7 0 1 1 0 3.4l-3 6.8c-.7 1.3 0 2.2 1.2 2.2a1.3 1.3 0 001.5-1l3-8C7.4 4.8 10 3 11 3s.8.6.3 1.6l-4.6 9a1.3 1.3 0 001.1 1.9c2.3 0 5-2 6-5h-.6A5.6 5.6 0 0110 13l4-8a6.1 6.1 0 00.8-2.8A2 2 0 0012.6 0c-2 0-3.6 2.2-6 5V2.8C6.6 1.4 6.1 0 4.8 0 3.2 0 1.8 2.5.7 4.9h.7c.7-1.1 1.3-1.8 2-1.8'/%3E%3C/symbol%3E%3Csymbol id='f' viewBox='0 0 12 15.5'%3E%3Cpath d='M11.8 3.5c.5-1.9.2-3.5-1.2-3.5-1.8 0-2.3 1.2-4 5V2.8C6.5 1.3 6 0 4.6 0 3.1 0 1.7 2.5.5 5h.8C2 3.7 2.8 3 3.3 3c.7 0 1 1 0 3.4l-3 6.8c-.7 1.3 0 2.1 1.2 2.1a1.3 1.3 0 001.5-1l3-8a50.3 50.3 0 012.6-3h3.2z'/%3E%3C/symbol%3E%3Csymbol id='g' viewBox='0 0 14.7 16.2'%3E%3Cpath d='M10.5 13.1c-.6 0-1-1 0-3.4L14.6.1 13.4 0l-1.3 1.3h-.3C6.1 1.3 0 8.6 0 14.2a2 2 0 002.1 2.1c1.7 0 3.3-2.4 5.2-5l-.1 1c-.3 2.6.6 4 2 4 1.5 0 3-2.4 4-4.9h-.7c-.7 1.1-1.5 1.8-2 1.8zM7.9 9.8c-1.3 1.6-3.4 3.5-4.3 3.5-.5 0-.9-.5-.9-1.6 0-3.5 4-8.2 6-8.2a4.2 4.2 0 011.4.2z'/%3E%3C/symbol%3E%3Csymbol id='h' viewBox='0 0 21.9 19.8'%3E%3Cpath d='M11.2 19.8l.3-.9c-3.8-.7-4.3-.7-2.7-4.8l1.4-3.9h3c1.9 0 1.9.9 1.6 3h1l2.6-6.9h-1c-1 1.6-1.8 2.9-3.8 2.9h-3l2-5.6c.8-2 1.1-2.4 3.7-2.4h.7c2.6 0 3 .7 3 3.5h1l.9-4.7H7.3L7 .9c3 .6 3.3.9 2 4.8L5.7 14c-1.5 3.9-2 4.2-5.5 4.8l-.3.9z'/%3E%3C/symbol%3E%3Csymbol id='i' viewBox='0 0 10.1 21.9'%3E%3Cpath d='M2.9 19.4L10.1.3 9.8 0l-5 .6v.6l1 .7c.9.7.6 1.3-.2 3.4L.2 19.9a1.3 1.3 0 001.1 2c2.3 0 4.7-2.1 5.8-5h-.7a6.5 6.5 0 01-3.5 2.5'/%3E%3C/symbol%3E%3Csymbol id='j' viewBox='0 0 18 22'%3E%3Cpath d='M18 .6h-4.3a3.8 3.8 0 00-2.1-.6A6.6 6.6 0 005 6.5a3.3 3.3 0 003 3.6c-1.9.8-3 1.8-3 2.9a1.7 1.7 0 00.9 1.5c-4.3 1.3-6 2.8-6 4.7 0 2 2.6 2.8 5.6 2.8 5.3 0 9.6-2.7 9.6-5.1 0-1.8-1.6-2.5-4.3-3.3-2.2-.7-3.2-.8-3.2-1.6A2.4 2.4 0 019 10.2a6.6 6.6 0 006.1-6.5 4.5 4.5 0 00-.2-1.5h2.5zM9.8 16.2c2.1.7 3 1 3 1.6 0 1.4-2 2.5-5.6 2.5-2.7 0-4-.6-4-2 0-1.5 1.4-2.5 3.5-3.3a21.5 21.5 0 003 1.2zM9 9c-1 0-1.3-.8-1.3-1.7 0-2.8 1.4-6.2 3.5-6.2 1 0 1.3.8 1.3 1.6 0 2.9-1.4 6.3-3.5 6.3z'/%3E%3C/symbol%3E%3Csymbol id='k' viewBox='0 0 23 25.1'%3E%3Cpath d='M14.3 15.6c1.9 0 2 .8 1.6 2.8H17l2.5-6.8h-1c-1 1.6-1.7 2.9-3.8 2.9h-4.1l2-5.6c.7-2 1-2.4 3.7-2.4H18c2.6 0 3 .7 3 3.5h1l.9-4.7H7.3l-.3.9c3 .6 3.3.9 2 4.8l-3.2 8.4c-1.5 3.9-2 4.2-5.6 4.8l-.2 1h17.4l3.2-5h-1.2c-2 2-4 3.8-8 3.8-4.7 0-4.3-.3-2.7-4.6l1.4-3.8h4.2zm2.3-11.8L21 .6V0h-3l-2.6 3.9h1.2v-.1z'/%3E%3C/symbol%3E%3Csymbol id='l' viewBox='0 0 13.6 21.8'%3E%3Cpath d='M11.4 6.4c-2 0-4 2.2-5.8 4.8L9.6.3 9.4 0l-5 .6V1l1 .8c.9.7.6 1.3-.2 3.4L.8 16.8A13.9 13.9 0 000 19c0 1.4 1.8 2.7 3.5 2.7 3.8 0 10-6.9 10-12.2 0-2.3-.5-3.2-2.1-3.2zM4.8 19.5c-.8 0-1.9-.7-1.9-1.3a15.5 15.5 0 01.8-2.2L5 12.7C6.3 11 8.4 9.3 9.6 9.3c.7 0 1.2.4 1.2 1.5 0 3.1-2.9 8.7-6 8.7z'/%3E%3C/symbol%3E%3Csymbol id='m' viewBox='0 0 19.2 19.9'%3E%3Cpath d='M17.6 0H7.3L7 .9c3 .6 3.3.9 2 4.8l-3.2 8.5c-1.5 3.9-2 4.2-5.5 4.8L0 20h15.7l3.5-6H18c-2 2-4.2 4.8-7.7 4.8-2.7 0-3-.5-1.6-4.5l3.1-8.5c1.4-3.9 2-4.2 5.5-4.8z'/%3E%3C/symbol%3E%3Csymbol id='n' viewBox='0 0 126 90'%3E%3Cuse width='12.4' height='21.8' x='112.7' y='66.1' href='%23b'/%3E%3Cuse width='11.5' height='19' x='102.2' y='69' href='%23c'/%3E%3Cuse width='9.8' height='21.9' x='93.6' y='66.1' href='%23d'/%3E%3Cuse width='14.8' height='15.5' x='77.2' y='72.5' href='%23e'/%3E%3Cuse width='12' height='15.5' x='65.7' y='72.5' href='%23f'/%3E%3Cuse width='11' height='15.5' x='54.3' y='72.5' href='%23a'/%3E%3Cuse width='11.5' height='19' x='43.7' y='69' href='%23c'/%3E%3Cuse width='14.7' height='16.2' x='28.9' y='71.8' href='%23g'/%3E%3Cuse width='12' height='15.5' x='19.6' y='72.5' href='%23f'/%3E%3Cuse width='21.9' height='19.8' y='67.6' href='%23h'/%3E%3Cuse width='12.4' height='21.8' x='77.3' y='33.1' href='%23b'/%3E%3Cuse width='11.5' height='19' x='66.8' y='36' href='%23c'/%3E%3Cuse width='9.8' height='21.9' x='58.2' y='33' href='%23d'/%3E%3Cuse width='10.1' height='21.9' x='49.4' y='33.1' href='%23i'/%3E%3Cuse width='14.7' height='16.2' x='34.9' y='38.8' href='%23g'/%3E%3Cuse width='18' height='22' x='18.6' y='39.4' href='%23j'/%3E%3Cuse width='23' height='25.1' y='29.3' href='%23k'/%3E%3Cuse width='12.4' height='21.8' x='76.8' y='.1' href='%23b'/%3E%3Cuse width='11.5' height='19' x='66.2' y='2.9' href='%23c'/%3E%3Cuse width='12' height='15.5' x='54.8' y='6.5' href='%23f'/%3E%3Cuse width='11' height='15.5' x='43.4' y='6.4' href='%23a'/%3E%3Cuse width='13.6' height='21.8' x='29.4' y='.1' href='%23l'/%3E%3Cuse width='9.8' height='21.9' x='20.6' href='%23d'/%3E%3Cuse width='19.2' height='19.9' y='1.4' href='%23m'/%3E%3C/symbol%3E%3C/defs%3E%3Cuse fill='%23000' width='126' height='90' x='0' y='0' href='%23n'/%3E%3Cuse fill='%23fff' width='126' height='90' x='126' y='90' href='%23n'/%3E%3C/svg%3E");
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
[data-fr-theme=dark] .fr-logo::after {
|
|
69
|
+
background-position: -2.625rem 100%;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.fr-logo--sm {
|
|
73
|
+
font-size: 0.7875rem;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.fr-logo--sm::before {
|
|
77
|
+
width: 2.0625rem;
|
|
78
|
+
height: 0.75rem;
|
|
79
|
+
margin-bottom: 0.25rem;
|
|
80
|
+
background-size: 2.0625rem 0.84375rem, 2.0625rem 0.75rem, 0;
|
|
81
|
+
background-position: 0 -0.046875rem, 0 0, 0 0;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
:root[data-fr-mourning] .fr-logo--sm::before {
|
|
85
|
+
background-size: 2.0625rem 0.84375rem, 0, 2.0625rem 0.75rem;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.fr-logo--sm::after {
|
|
89
|
+
min-width: 1.96875rem;
|
|
90
|
+
background-size: 3.9375rem 2.8125rem;
|
|
91
|
+
background-position: 0 calc(100% + 1.40625rem);
|
|
92
|
+
padding-top: 1.65625rem;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
[data-fr-theme=dark] .fr-logo--sm::after {
|
|
96
|
+
background-position: -1.96875rem 100%;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.fr-logo--lg {
|
|
100
|
+
font-size: 1.3125rem;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.fr-logo--lg::before {
|
|
104
|
+
width: 3.4375rem;
|
|
105
|
+
height: 1.25rem;
|
|
106
|
+
margin-bottom: 0.4166666667rem;
|
|
107
|
+
background-size: 3.4375rem 1.40625rem, 3.4375rem 1.25rem, 0;
|
|
108
|
+
background-position: 0 -0.078125rem, 0 0, 0 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
:root[data-fr-mourning] .fr-logo--lg::before {
|
|
112
|
+
background-size: 3.4375rem 1.40625rem, 0, 3.4375rem 1.25rem;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.fr-logo--lg::after {
|
|
116
|
+
min-width: 3.28125rem;
|
|
117
|
+
background-size: 6.5625rem 4.6875rem;
|
|
118
|
+
background-position: 0 calc(100% + 2.34375rem);
|
|
119
|
+
padding-top: 2.7604166667rem;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
[data-fr-theme=dark] .fr-logo--lg::after {
|
|
123
|
+
background-position: -3.28125rem 100%;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@media (min-width: 36em) {
|
|
127
|
+
/*! media sm */
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
@media (min-width: 48em) {
|
|
131
|
+
/*! media md */
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@media (min-width: 62em) {
|
|
135
|
+
/*! media lg */
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
@media (min-width: 78em) {
|
|
139
|
+
/*! media xl */
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
@media (prefers-color-scheme: dark) and (forced-colors: active) {
|
|
143
|
+
.fr-logo::after {
|
|
144
|
+
background-position: -2.625rem 100%;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
[data-fr-theme=dark] .fr-logo::after {
|
|
148
|
+
background-position: -2.625rem 100%;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.fr-logo--sm::after {
|
|
152
|
+
background-position: -1.96875rem 100%;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
[data-fr-theme=dark] .fr-logo--sm::after {
|
|
156
|
+
background-position: -1.96875rem 100%;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.fr-logo--lg::after {
|
|
160
|
+
background-position: -3.28125rem 100%;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
[data-fr-theme=dark] .fr-logo--lg::after {
|
|
164
|
+
background-position: -3.28125rem 100%;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
@media (prefers-color-scheme: light) and (forced-colors: active) {
|
|
169
|
+
.fr-logo::after {
|
|
170
|
+
background-position: 0 calc(100% + 1.875rem);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
[data-fr-theme=dark] .fr-logo::after {
|
|
174
|
+
background-position: 0 calc(100% + 1.875rem);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.fr-logo--sm::after {
|
|
178
|
+
background-position: 0 calc(100% + 1.40625rem);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
[data-fr-theme=dark] .fr-logo--sm::after {
|
|
182
|
+
background-position: 0 calc(100% + 1.40625rem);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.fr-logo--lg::after {
|
|
186
|
+
background-position: 0 calc(100% + 2.34375rem);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
[data-fr-theme=dark] .fr-logo--lg::after {
|
|
190
|
+
background-position: 0 calc(100% + 2.34375rem);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
p {
|
|
195
|
+
font-size: 1rem;
|
|
196
|
+
line-height: 1.5rem;
|
|
197
|
+
margin: var(--text-spacing);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
*,
|
|
201
|
+
*::before,
|
|
202
|
+
*::after {
|
|
203
|
+
box-sizing: inherit;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
:root {
|
|
207
|
+
box-sizing: border-box;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
:host {
|
|
211
|
+
display: inline-block;
|
|
212
|
+
text-rendering: optimizeLegibility;
|
|
213
|
+
-webkit-font-smoothing: antialiased;
|
|
214
|
+
-moz-osx-font-smoothing: grayscale;
|
|
215
|
+
-webkit-text-size-adjust: 100%;
|
|
216
|
+
font-size: 1rem;
|
|
217
|
+
line-height: 1.5rem;
|
|
218
|
+
background-color: var(--background-default-grey);
|
|
219
|
+
--idle: transparent;
|
|
220
|
+
--hover: var(--background-default-grey-hover);
|
|
221
|
+
--active: var(--background-default-grey-active);
|
|
222
|
+
color: var(--text-default-grey);
|
|
223
|
+
background-color: transparent;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.fr-logo {
|
|
227
|
+
box-sizing: border-box;
|
|
228
|
+
}</style>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Size } from "../types";
|
|
2
|
+
type LogoSize = Extract<Size, "sm" | "md" | "lg">;
|
|
3
|
+
interface Props {
|
|
4
|
+
/** Titre du logo (nom de l'entité) */
|
|
5
|
+
title: string;
|
|
6
|
+
/** Taille du logo */
|
|
7
|
+
size?: LogoSize;
|
|
8
|
+
}
|
|
9
|
+
declare const DsfrLogo: import("svelte").Component<Props, {}, "">;
|
|
10
|
+
type DsfrLogo = ReturnType<typeof DsfrLogo>;
|
|
11
|
+
export default DsfrLogo;
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
<svelte:options
|
|
2
|
+
customElement={{
|
|
3
|
+
tag: "dsfr-messages-group",
|
|
4
|
+
props: {
|
|
5
|
+
id: { attribute: "id", type: "String" },
|
|
6
|
+
status: { attribute: "status", type: "String" },
|
|
7
|
+
errorMessage: { attribute: "error-message", type: "String" },
|
|
8
|
+
validMessage: { attribute: "valid-message", type: "String" },
|
|
9
|
+
infoMessage: { attribute: "info-message", type: "String" },
|
|
10
|
+
warningMessage: { attribute: "warning-message", type: "String" },
|
|
11
|
+
messages: { attribute: "messages", type: "Object" },
|
|
12
|
+
context: { attribute: "context", type: "String" },
|
|
13
|
+
},
|
|
14
|
+
}}
|
|
15
|
+
/>
|
|
16
|
+
|
|
17
|
+
<script lang="ts">const { id, status = "default", errorMessage, validMessage, infoMessage, warningMessage, messages, context = "field" } = $props();
|
|
18
|
+
function toResolved(type, texts = []) {
|
|
19
|
+
return texts.map((text) => ({
|
|
20
|
+
type,
|
|
21
|
+
text
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
const resolvedMessages = $derived.by(() => {
|
|
25
|
+
if (messages) {
|
|
26
|
+
return [
|
|
27
|
+
...toResolved("error", messages.errors),
|
|
28
|
+
...toResolved("valid", messages.valids),
|
|
29
|
+
...toResolved("warning", messages.warnings),
|
|
30
|
+
...toResolved("info", messages.infos)
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
if (status === "default") return [];
|
|
34
|
+
const text = validMessage || errorMessage || infoMessage || warningMessage;
|
|
35
|
+
if (!text) return [];
|
|
36
|
+
return [{
|
|
37
|
+
type: status,
|
|
38
|
+
text
|
|
39
|
+
}];
|
|
40
|
+
});
|
|
41
|
+
const messageIds = $derived.by(() => {
|
|
42
|
+
const counts = {};
|
|
43
|
+
return resolvedMessages.map(({ type }) => {
|
|
44
|
+
const count = counts[type] ?? 0;
|
|
45
|
+
counts[type] = count + 1;
|
|
46
|
+
return `${id}-message-${type}${count > 0 ? `-${count}` : ""}`;
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
export {};
|
|
50
|
+
</script>
|
|
51
|
+
|
|
52
|
+
{#if resolvedMessages.length > 0}
|
|
53
|
+
<div
|
|
54
|
+
class="fr-messages-group"
|
|
55
|
+
class:fr-messages-group--field={context === "field"}
|
|
56
|
+
class:fr-messages-group--fieldset={context === "fieldset"}
|
|
57
|
+
id={`${id}-messages`}
|
|
58
|
+
aria-live="polite"
|
|
59
|
+
>
|
|
60
|
+
{#each resolvedMessages as message, i (i)}
|
|
61
|
+
<p class={["fr-message", `fr-message--${message.type}`]} id={messageIds[i]}>
|
|
62
|
+
{message.text}
|
|
63
|
+
</p>
|
|
64
|
+
{/each}
|
|
65
|
+
</div>
|
|
66
|
+
{/if}
|
|
67
|
+
|
|
68
|
+
<style>p {
|
|
69
|
+
font-size: 1rem;
|
|
70
|
+
line-height: 1.5rem;
|
|
71
|
+
margin: var(--text-spacing);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.fr-message {
|
|
75
|
+
--comma: ", ";
|
|
76
|
+
--content: var(--comma);
|
|
77
|
+
display: flex;
|
|
78
|
+
flex-direction: row;
|
|
79
|
+
align-items: flex-start;
|
|
80
|
+
font-size: 0.75rem;
|
|
81
|
+
line-height: 1.25rem;
|
|
82
|
+
margin: 0 0 0.25rem 0;
|
|
83
|
+
}
|
|
84
|
+
.fr-message::after {
|
|
85
|
+
content: var(--content);
|
|
86
|
+
position: absolute;
|
|
87
|
+
width: 1px;
|
|
88
|
+
height: 1px;
|
|
89
|
+
padding: 0;
|
|
90
|
+
margin: -1px;
|
|
91
|
+
overflow: hidden;
|
|
92
|
+
clip: rect(0, 0, 0, 0);
|
|
93
|
+
white-space: nowrap; /* added line */
|
|
94
|
+
border: 0;
|
|
95
|
+
display: block;
|
|
96
|
+
}
|
|
97
|
+
.fr-message:last-child {
|
|
98
|
+
--comma: ". ";
|
|
99
|
+
margin-bottom: 0;
|
|
100
|
+
}
|
|
101
|
+
.fr-message--error::before, .fr-message--valid::before, .fr-message--warning::before, .fr-message--info::before {
|
|
102
|
+
flex: 0 0 auto;
|
|
103
|
+
display: inline-block;
|
|
104
|
+
vertical-align: calc((0.75em - var(--icon-size)) * 0.5);
|
|
105
|
+
background-color: currentColor;
|
|
106
|
+
width: var(--icon-size);
|
|
107
|
+
height: var(--icon-size);
|
|
108
|
+
-webkit-mask-size: 100% 100%;
|
|
109
|
+
mask-size: 100% 100%;
|
|
110
|
+
}
|
|
111
|
+
.fr-message--error::before, .fr-message--valid::before, .fr-message--warning::before, .fr-message--info::before {
|
|
112
|
+
--icon-size: 1rem;
|
|
113
|
+
}
|
|
114
|
+
.fr-message--error::before, .fr-message--valid::before, .fr-message--warning::before, .fr-message--info::before {
|
|
115
|
+
content: "";
|
|
116
|
+
display: inline-block;
|
|
117
|
+
margin-right: 0.25rem;
|
|
118
|
+
margin-top: 0.125rem;
|
|
119
|
+
}
|
|
120
|
+
@media (-ms-high-contrast: active), (forced-colors: active) {
|
|
121
|
+
.fr-message--error::before, .fr-message--error::after, .fr-message--valid::before, .fr-message--valid::after, .fr-message--warning::before, .fr-message--warning::after, .fr-message--info::before, .fr-message--info::after {
|
|
122
|
+
forced-color-adjust: none;
|
|
123
|
+
background-color: canvasText;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
.fr-message--error::before {
|
|
127
|
+
-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");
|
|
128
|
+
mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--error-fill.svg");
|
|
129
|
+
}
|
|
130
|
+
.fr-message--valid::before {
|
|
131
|
+
-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");
|
|
132
|
+
mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--success-fill.svg");
|
|
133
|
+
}
|
|
134
|
+
.fr-message--info::before {
|
|
135
|
+
-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");
|
|
136
|
+
mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--info-fill.svg");
|
|
137
|
+
}
|
|
138
|
+
.fr-message--warning::before {
|
|
139
|
+
-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");
|
|
140
|
+
mask-image: url("https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/icones/dsfr/system/fr--warning-fill.svg");
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.fr-select-group--valid label, .fr-input-group--valid label, .fr-range-group--valid label, .fr-upload-group--valid label {
|
|
144
|
+
color: var(--text-default-success);
|
|
145
|
+
}
|
|
146
|
+
.fr-select-group--error label, .fr-input-group--error label, .fr-range-group--error label, .fr-upload-group--error label {
|
|
147
|
+
color: var(--text-default-error);
|
|
148
|
+
}
|
|
149
|
+
.fr-select-group--info label, .fr-input-group--info label, .fr-range-group--info label, .fr-upload-group--info label {
|
|
150
|
+
color: var(--text-default-info);
|
|
151
|
+
}
|
|
152
|
+
.fr-select-group--disabled label,
|
|
153
|
+
.fr-select-group--disabled .fr-hint-text, .fr-input-group--disabled label,
|
|
154
|
+
.fr-input-group--disabled .fr-hint-text, .fr-range-group--disabled label,
|
|
155
|
+
.fr-range-group--disabled .fr-hint-text, .fr-upload-group--disabled label,
|
|
156
|
+
.fr-upload-group--disabled .fr-hint-text {
|
|
157
|
+
color: var(--text-disabled-grey);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.fr-label {
|
|
161
|
+
color: var(--text-label-grey);
|
|
162
|
+
}
|
|
163
|
+
.fr-label--error {
|
|
164
|
+
color: var(--text-default-error);
|
|
165
|
+
}
|
|
166
|
+
.fr-label--success {
|
|
167
|
+
color: var(--text-default-success);
|
|
168
|
+
}
|
|
169
|
+
.fr-label--info {
|
|
170
|
+
color: var(--text-default-info);
|
|
171
|
+
}
|
|
172
|
+
.fr-label--disabled, .fr-label--disabled .fr-hint-text {
|
|
173
|
+
color: var(--text-disabled-grey);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.fr-hint-text,
|
|
177
|
+
.fr-message {
|
|
178
|
+
color: var(--text-mention-grey);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.fr-message--error {
|
|
182
|
+
color: var(--text-default-error);
|
|
183
|
+
}
|
|
184
|
+
.fr-message--valid {
|
|
185
|
+
color: var(--text-default-success);
|
|
186
|
+
}
|
|
187
|
+
.fr-message--info {
|
|
188
|
+
color: var(--text-default-info);
|
|
189
|
+
}
|
|
190
|
+
.fr-message--warning {
|
|
191
|
+
color: var(--text-default-warning);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.fr-fieldset:disabled .fr-label,
|
|
195
|
+
.fr-fieldset:disabled .fr-hint-text,
|
|
196
|
+
.fr-fieldset:disabled .fr-fieldset__legend {
|
|
197
|
+
color: var(--text-disabled-grey);
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.fr-fieldset input:disabled + label,
|
|
201
|
+
.fr-fieldset input:disabled + label .fr-hint-text,
|
|
202
|
+
.fr-fieldset input:disabled + label + .fr-hint-text {
|
|
203
|
+
color: var(--text-disabled-grey);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.fr-fieldset__legend {
|
|
207
|
+
color: var(--text-label-grey);
|
|
208
|
+
}
|
|
209
|
+
.fr-fieldset--error, .fr-fieldset--error .fr-fieldset__legend {
|
|
210
|
+
background-image: linear-gradient(0deg, var(--border-plain-error), var(--border-plain-error));
|
|
211
|
+
}
|
|
212
|
+
.fr-fieldset--error .fr-fieldset__legend, .fr-fieldset--error .fr-label {
|
|
213
|
+
color: var(--text-default-error);
|
|
214
|
+
}
|
|
215
|
+
.fr-fieldset--valid, .fr-fieldset--valid .fr-fieldset__legend {
|
|
216
|
+
background-image: linear-gradient(0deg, var(--border-plain-success), var(--border-plain-success));
|
|
217
|
+
}
|
|
218
|
+
.fr-fieldset--valid .fr-fieldset__legend, .fr-fieldset--valid .fr-label {
|
|
219
|
+
color: var(--text-default-success);
|
|
220
|
+
}
|
|
221
|
+
.fr-fieldset--info, .fr-fieldset--info .fr-fieldset__legend {
|
|
222
|
+
background-image: linear-gradient(0deg, var(--border-plain-info), var(--border-plain-info));
|
|
223
|
+
}
|
|
224
|
+
.fr-fieldset--info .fr-fieldset__legend, .fr-fieldset--info .fr-label {
|
|
225
|
+
color: var(--text-default-info);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
:host {
|
|
229
|
+
display: block;
|
|
230
|
+
text-rendering: optimizeLegibility;
|
|
231
|
+
-webkit-font-smoothing: antialiased;
|
|
232
|
+
-moz-osx-font-smoothing: grayscale;
|
|
233
|
+
-webkit-text-size-adjust: 100%;
|
|
234
|
+
font-size: 1rem;
|
|
235
|
+
line-height: 1.5rem;
|
|
236
|
+
background-color: var(--background-default-grey);
|
|
237
|
+
--idle: transparent;
|
|
238
|
+
--hover: var(--background-default-grey-hover);
|
|
239
|
+
--active: var(--background-default-grey-active);
|
|
240
|
+
color: var(--text-default-grey);
|
|
241
|
+
background-color: transparent;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.fr-messages-group {
|
|
245
|
+
box-sizing: border-box;
|
|
246
|
+
}
|
|
247
|
+
.fr-messages-group--field .fr-message:first-child {
|
|
248
|
+
margin-top: 1rem;
|
|
249
|
+
}
|
|
250
|
+
.fr-messages-group--fieldset {
|
|
251
|
+
flex: 1 1 100%;
|
|
252
|
+
padding-left: 0.5rem;
|
|
253
|
+
padding-right: 0.5rem;
|
|
254
|
+
}
|
|
255
|
+
.fr-messages-group--fieldset .fr-message:first-child {
|
|
256
|
+
margin-top: 0;
|
|
257
|
+
}
|
|
258
|
+
.fr-messages-group--fieldset .fr-message:last-child {
|
|
259
|
+
margin-bottom: 1rem;
|
|
260
|
+
}</style>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure de messages contrainte :
|
|
3
|
+
* - `errors` et `valids` sont mutuellement exclusifs (union discriminée)
|
|
4
|
+
* - `infos` et `warnings` peuvent coexister avec n'importe quel statut
|
|
5
|
+
*/
|
|
6
|
+
export type MessagesGroup = {
|
|
7
|
+
errors: string[];
|
|
8
|
+
valids?: never;
|
|
9
|
+
infos?: string[];
|
|
10
|
+
warnings?: string[];
|
|
11
|
+
} | {
|
|
12
|
+
valids: string[];
|
|
13
|
+
errors?: never;
|
|
14
|
+
infos?: string[];
|
|
15
|
+
warnings?: string[];
|
|
16
|
+
} | {
|
|
17
|
+
errors?: never;
|
|
18
|
+
valids?: never;
|
|
19
|
+
infos?: string[];
|
|
20
|
+
warnings?: string[];
|
|
21
|
+
};
|
|
22
|
+
interface Props {
|
|
23
|
+
/** Attribut id du champ parent, utilisé pour générer les IDs des messages */
|
|
24
|
+
id: string;
|
|
25
|
+
/** Statut du message (API simplifiée) */
|
|
26
|
+
status?: "default" | "valid" | "error" | "info" | "warning";
|
|
27
|
+
/** Texte du message d'erreur (API simplifiée) */
|
|
28
|
+
errorMessage?: string;
|
|
29
|
+
/** Texte du message de succès (API simplifiée) */
|
|
30
|
+
validMessage?: string;
|
|
31
|
+
/** Texte du message d'information (API simplifiée) */
|
|
32
|
+
infoMessage?: string;
|
|
33
|
+
/** Texte du message d'avertissement (API simplifiée) */
|
|
34
|
+
warningMessage?: string;
|
|
35
|
+
/** API avancée : messages structurés (erreurs et succès sont mutuellement exclusifs) */
|
|
36
|
+
messages?: MessagesGroup;
|
|
37
|
+
/**
|
|
38
|
+
* Contexte d'affichage du composant.
|
|
39
|
+
* - "field" (défaut) : le premier message reçoit une marge supérieure (input, select, checkbox, toggle…)
|
|
40
|
+
* - "fieldset" : le groupe reçoit un layout flex avec padding, et le dernier message une marge inférieure
|
|
41
|
+
*/
|
|
42
|
+
context?: "field" | "fieldset";
|
|
43
|
+
}
|
|
44
|
+
declare const DsfrMessagesGroup: import("svelte").Component<Props, {}, "">;
|
|
45
|
+
type DsfrMessagesGroup = ReturnType<typeof DsfrMessagesGroup>;
|
|
46
|
+
export default DsfrMessagesGroup;
|