To make it easier to integrate GC Design System web components into Angular projects, the @gcds-core/components-angular package provides Angular wrappers.
These wrappers make it easier to work with web components in the Angular ecosystem by preventing unnecessary repaints through detached change detection, and enabling form controls to work with ngModel and reactive forms.
The web components inherit native properties and interoperability.
You can find the full documentation for GC Design System Components on https://design-system.canada.ca/.
Follow these steps to install and use GC Design System components in your Angular project.
Navigate to your project’s root folder and run the following command:
npm install @gcds-core/components @gcds-core/components-angularPlace the following code in the app.module.ts file of your app:
import { GcdsComponentsModule } from '@gcds-core/components-angular';
@NgModule({
declarations: [
...
],
imports: [
...,
GcdsComponentsModule
],
providers: [],
bootstrap: [...]
})
export class AppModule { }Place the following code in the styles.scss file of your app to import GC Design System styles:
@import '../node_modules/@gcds-core/components/dist/gcds/gcds.css';Once you've installed the design system, start building! Browse our available components and templates to pull the code you need into your project.
To use routerLink with GC Design System components simply add the routerLink attribute to the elements as you normally would. With components that contains multiple links within their shadow-dom (e.g., gcds-pagination, gcds-footer) and not one clear path when selected, add gcdsRotuerLink to allow the component to interface with the Angular router.
<gcds-link href="/home" routerLink="/home"> Home </gcds-link><!-- GCDS Router link example -->
<gcds-pagination
display="simple"
label="Pagination"
previous-href="/page1"
previous-label="Page 1"
next-href="/page3"
next-label="Page 3"
gcdsRouterLink
>
</gcds-pagination>If you are interested in contributing to GC Design System Components, please read our contributing guidelines.
Code released under the MIT License.
Afin de faciliter l'intégration des composants Web de Système de design GC à vos projets Angular, le paquet @gcds-core/components-angular propose des enveloppes Angular.
Ces enveloppes faciltent le travail avec les composants Web dans l'écosystème Angular en empêchant l'actualisation inutile du rendu grâce à une détection des changements découplée, et en permettant aux contrôles de formulaire de fonctionner avec ngModel et les formulaires réactifs.
Les composants Web héritent les propriétés et l'interopérabilité natives.
Toute la documentation sur les composants de Système de design GC est accessible à l’adresse https://systeme-design.canada.ca/.
Suivez ces étapes pour installer et utiliser les composants de Système de design GC dans votre projet Angular.
Naviguez vers le dossier racine de votre projet et exécutez la commande suivante :
npm install @gcds-core/components @gcds-core/components-angularInsérez le code suivant dans le fichier app.module.ts de votre application :
import { GcdsComponentsModule } from '@gcds-core/components-angular';
@NgModule({
declarations: [
...
],
imports: [
...,
GcdsComponentsModule
],
providers: [],
bootstrap: [...]
})
export class AppModule { }Pour importer les styles de Système de design GC, insérez le code suivant dans le fichier styles.scss de votre application :
@import '../node_modules/@gcds-core/components/dist/gcds/gcds.css';Une fois le système de design installé, commencez à créer! Parcourez nos composants et modèles pour y trouver le code dont vous avez besoin pour votre projet.
Pour utiliser routerLink avec les composants du système de design GC, ajoutez simplement l'attribut routerLink aux éléments comme vous le feriez normalement. Avec des composants qui contiennent plusieurs liens dans leur shadow-dom (par exemple, gcds-pagination, gcds-footer) et pas un chemin clair lorsqu'ils sont sélectionnés, ajoutez gcdsRotuerLink pour permettre au composant de s'interfacer avec le routeur Angular.
<gcds-link href="/accueil" routerLink="/accueil"> Accueil </gcds-link><gcds-pagination
display="simple"
label="Pagination"
previous-href="/page1"
previous-label="Page 1"
next-href="/page3"
next-label="Page 3"
gcdsRouterLink
>
</gcds-pagination>Si vous souhaitez contribuer aux unités de style de Système de design GC, veuillez lire nos lignes directrices sur la contribution.
Code publié en vertu de la licence MIT (en anglais).