@lab-anssi/ui-kit 1.61.3 → 1.62.1
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 +925 -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
package/README.md
CHANGED
|
@@ -19,17 +19,17 @@ Le **UI Kit du Lab. ANSSI** est une bibliothèque de composants **Svelte**, pens
|
|
|
19
19
|
|
|
20
20
|
Cette bibliothèque propose à la fois des composants **Svelte** et leurs équivalents **WebComponents**, facilitant leur intégration dans différents environnements front-end.
|
|
21
21
|
|
|
22
|
-
Le projet s’appuie sur des outils modernes tels que
|
|
22
|
+
Le projet s’appuie sur des outils modernes tels que **Svelte**, **Vite**, **Storybook** et **Vitest** pour garantir une expérience de développement fluide, des tests robustes et une documentation interactive.
|
|
23
23
|
|
|
24
24
|
## Pour commencer
|
|
25
25
|
|
|
26
26
|
### Prérequis
|
|
27
27
|
|
|
28
|
-
- Node.js (version recommandée : >= 24)
|
|
29
|
-
- Svelte (version recommandée : >= 5.
|
|
30
|
-
- Vite (version recommandée : >=
|
|
31
|
-
- Storybook (version recommandée : >=
|
|
32
|
-
- pnpm
|
|
28
|
+
- **Node.js** _(version recommandée : >= 24.21.0)_
|
|
29
|
+
- **Svelte** _(version recommandée : >= 5.57.0)_
|
|
30
|
+
- **Vite** _(version recommandée : >= 8.3.0)_
|
|
31
|
+
- **Storybook** _(version recommandée : >= 10.6.1)_
|
|
32
|
+
- **pnpm** en version 11+
|
|
33
33
|
|
|
34
34
|
### Développement en local
|
|
35
35
|
|
|
@@ -43,10 +43,10 @@ pnpm install
|
|
|
43
43
|
|
|
44
44
|
### Documentation interactive
|
|
45
45
|
|
|
46
|
-
Storybook est intégré à ce dépôt afin de fournir des exemples d’utilisation, la liste des props et des cas d’usage pour chaque composant.<br/>
|
|
46
|
+
**Storybook** est intégré à ce dépôt afin de fournir des exemples d’utilisation, la liste des props et des cas d’usage pour chaque composant.<br/>
|
|
47
47
|
Les stories sont regroupées dans le dossier `stories/` et sont écrites en respectant [le format CSF](https://storybook.js.org/docs/writing-stories#component-story-format) de Storybook.
|
|
48
48
|
|
|
49
|
-
Pour explorer et tester les composants en local, lancez Storybook à l'aide de la commande :
|
|
49
|
+
Pour explorer et tester les composants en local, lancez **Storybook** à l'aide de la commande :
|
|
50
50
|
|
|
51
51
|
```bash
|
|
52
52
|
pnpm run storybook:dev
|
|
@@ -55,39 +55,120 @@ pnpm run storybook:dev
|
|
|
55
55
|
Suite à l'exécution de cette commande, Storybook se lancera automatiquement en ouvrant une fenêtre de votre navigateur par défaut vers l'url [http://localhost:6006](http://localhost:6006).
|
|
56
56
|
|
|
57
57
|
> [!NOTE]
|
|
58
|
-
> Le Storybook est également déployé en ligne sur GitHub Pages et est consultable à l'url suivante : [https://betagouv.github.io/lab-anssi-ui-kit/](https://betagouv.github.io/lab-anssi-ui-kit/)
|
|
58
|
+
> Le **Storybook** de ce projet est également déployé en ligne sur **GitHub Pages** et est consultable à l'url suivante : [https://betagouv.github.io/lab-anssi-ui-kit/](https://betagouv.github.io/lab-anssi-ui-kit/)
|
|
59
59
|
|
|
60
60
|
## Usage
|
|
61
61
|
|
|
62
|
-
L
|
|
63
|
-
La bibliothèque expose ses composants dans un dossier `dist/` qui est construit à l'aide de la commande `pnpm run build`.
|
|
62
|
+
L’intégralité des composants présents dans ce dépôt sont publiés sur NPM afin qu’ils puissent être consommés dans différents environnements front-end.
|
|
64
63
|
|
|
65
|
-
|
|
64
|
+
La bibliothèque propose **deux modes de distribution** :
|
|
65
|
+
|
|
66
|
+
| Mode | Format | Dossier | Cas d’usage |
|
|
67
|
+
| --------------------- | -------------------------- | -------------------------------- | --------------------------------------------------- |
|
|
68
|
+
| **WebComponents** | Bundle IIFE | `dist/webcomponents/` | Tout projet HTML/JS (React, Vue, Angular, vanilla…) |
|
|
69
|
+
| **Composants Svelte** | ES modules (tree-shakable) | `dist/composants` et `dist/dsfr` | Projets Svelte 5 |
|
|
70
|
+
|
|
71
|
+
Le dossier `dist/` est construit à l’aide de la commande `pnpm run build`.
|
|
72
|
+
|
|
73
|
+
### WebComponents
|
|
74
|
+
|
|
75
|
+
Les **WebComponents** sont disponibles sous forme de bundle IIFE dans `dist/webcomponents/` et peuvent être intégrés dans n’importe quel projet HTML/JS.
|
|
76
|
+
|
|
77
|
+
L’utilisation des **WebComponents** dans un projet nécessite deux ressources :
|
|
78
|
+
|
|
79
|
+
1. **La feuille de styles des variables DSFR** (`dsfr-variables.css`) — fournit les variables CSS nécessaires au rendu des composants
|
|
80
|
+
2. **Le script de la librairie** (`lab-anssi-ui-kit.iife.js`) — enregistre les **WebComponents**
|
|
81
|
+
|
|
82
|
+
#### Via le CDN
|
|
83
|
+
|
|
84
|
+
```html
|
|
85
|
+
<!-- Variables CSS du DSFR -->
|
|
86
|
+
<link
|
|
87
|
+
href="https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/{version}/dsfr-variables.css"
|
|
88
|
+
rel="stylesheet"
|
|
89
|
+
nonce="{nonce}"
|
|
90
|
+
/>
|
|
91
|
+
|
|
92
|
+
<!-- Script de la librairie -->
|
|
93
|
+
<script
|
|
94
|
+
src="https://lab-anssi-ui-kit-prod-s3-assets.cellar-c2.services.clever-cloud.com/{version}/lab-anssi-ui-kit.iife.js"
|
|
95
|
+
defer
|
|
96
|
+
nonce="{nonce}"
|
|
97
|
+
></script>
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
#### Via le package NPM
|
|
101
|
+
|
|
102
|
+
```html
|
|
103
|
+
<link
|
|
104
|
+
href="node_modules/@lab-anssi/ui-kit/dist/assets/dsfr-variables.css"
|
|
105
|
+
rel="stylesheet"
|
|
106
|
+
nonce="{nonce}"
|
|
107
|
+
/>
|
|
108
|
+
<script
|
|
109
|
+
src="node_modules/@lab-anssi/ui-kit/dist/webcomponents/lab-anssi-ui-kit.iife.js"
|
|
110
|
+
nonce="{nonce}"
|
|
111
|
+
></script>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
> [!NOTE]
|
|
115
|
+
> Sans la feuille de styles `dsfr-variables.css`, les composants s’afficheront sans les couleurs et espacements du DSFR.
|
|
116
|
+
|
|
117
|
+
> [!IMPORTANT]
|
|
118
|
+
> L’attribut `nonce` est nécessaire pour que la feuille de styles et le script soient autorisés par la [Content Security Policy (CSP)](https://developer.mozilla.org/fr/docs/Web/HTTP/CSP) de votre application. Sa valeur doit correspondre au nonce généré par votre serveur et déclaré dans l’en-tête HTTP `Content-Security-Policy`.
|
|
119
|
+
|
|
120
|
+
#### Exemple
|
|
121
|
+
|
|
122
|
+
Une fois ces ressources chargées, les WebComponents sont prêts à être utilisés :
|
|
123
|
+
|
|
124
|
+
```html
|
|
125
|
+
<lab-anssi-centre-aide nom-service="MonService" liens="[...]"></lab-anssi-centre-aide>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Composants Svelte
|
|
129
|
+
|
|
130
|
+
#### Installation
|
|
66
131
|
|
|
67
132
|
```bash
|
|
68
133
|
pnpm add -D @lab-anssi/ui-kit@latest
|
|
69
134
|
```
|
|
70
135
|
|
|
71
|
-
|
|
136
|
+
> [!IMPORTANT]
|
|
137
|
+
> Le package déclare `svelte` (>= 5.57.0) en `peerDependencies`. Assurez-vous que votre projet utilise une version compatible.
|
|
138
|
+
|
|
139
|
+
#### Import
|
|
72
140
|
|
|
73
|
-
|
|
141
|
+
Les composants sont importables directement depuis le point d’entrée du package :
|
|
74
142
|
|
|
75
143
|
```ts
|
|
76
144
|
import { Alerte, CentreAide, ResumePssi } from "@lab-anssi/ui-kit";
|
|
77
145
|
```
|
|
78
146
|
|
|
79
|
-
|
|
147
|
+
Ils sont compilés par [`@sveltejs/package`](https://svelte.dev/docs/kit/packaging) et bénéficient du tree-shaking : seuls les composants importés sont inclus dans votre bundle final.
|
|
80
148
|
|
|
81
|
-
|
|
149
|
+
#### Feuilles de styles
|
|
82
150
|
|
|
83
|
-
|
|
84
|
-
|
|
151
|
+
Certains composants DSFR nécessitent des feuilles de styles CSS pour fonctionner correctement.<br/> Importez-les dans le CSS global de votre application (layout, `+layout.svelte`, `app.css`, etc.) :
|
|
152
|
+
|
|
153
|
+
```css
|
|
154
|
+
/* Variables CSS du DSFR (couleurs, espacements, etc.) */
|
|
155
|
+
@import "@lab-anssi/ui-kit/dist/assets/dsfr-variables.css";
|
|
156
|
+
|
|
157
|
+
/* Classes d'icônes DSFR (nécessaire pour les composants utilisant des icônes) */
|
|
158
|
+
@import "@lab-anssi/ui-kit/dist/assets/dsfr-icons.css";
|
|
85
159
|
```
|
|
86
160
|
|
|
87
|
-
|
|
161
|
+
> [!NOTE]
|
|
162
|
+
> Ces imports sont nécessaires car en contexte Svelte (sans Shadow DOM), les styles d'icônes ne sont pas injectés automatiquement dans le DOM.
|
|
163
|
+
|
|
164
|
+
#### Exemple
|
|
88
165
|
|
|
89
|
-
```
|
|
90
|
-
<
|
|
166
|
+
```svelte
|
|
167
|
+
<script>
|
|
168
|
+
import { Alerte } from "@lab-anssi/ui-kit";
|
|
169
|
+
</script>
|
|
170
|
+
|
|
171
|
+
<Alerte type="information">Ceci est une alerte informative.</Alerte>
|
|
91
172
|
```
|
|
92
173
|
|
|
93
174
|
## Release
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const srcAsset: (cheminLocal: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const srcAsset = (cheminLocal) => `${import.meta.env.VITE_LAB_ANSSI_UI_KIT_ASSET_BASE}${cheminLocal}`;
|