### Update Get Started Component HTML Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo This HTML content defines the structure and content for the 'get-started' page, including headings, paragraphs, and specific styling classes. ```html

Renault Group

Renault Group Design System

Headless . Agnostic . Multi-Brand

The system consists of working code, design tools and resources, interface guidelines and a community of contributors. ``` -------------------------------- ### Install Tailwind CSS and presets Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Install Tailwind CSS, PostCSS, Autoprefixer, and the Desyre preset. ```bash npm install tailwindcss postcss autoprefixer @desyre/tailwind-rg-preset ``` -------------------------------- ### Install Desyre icons Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Install the icon package for Desyre. ```bash npm install @desyre/icons-angular ``` -------------------------------- ### Install Angular Material Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/prompts Install Angular Material as a prerequisite for using MAT icons. ```bash ng add @angular/material # OR npm i @angular/material ``` -------------------------------- ### Paginator Installation Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/paginator Steps to install and configure the Desyre Paginator component, including importing the necessary module. ```APIDOC ## Installation To use the Material Desyre Paginator component, please follow these steps : 1. Make sure that you have Angular Material installed and that you have configured the Desyre theme for you brand. If not, follow the _installation guide_. 2. Import _MatPaginatorModule_ in your component : ```typescript import { MatPaginatorModule } from '@angular/material/paginator'; ``` ``` -------------------------------- ### Install Desyre dependencies Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/installation Install the required core, fonts, icons, and material packages from the Artifactory registry. ```bash npm install @desyre/fonts @desyre/icons-angular @desyre/core @desyre/angular-material ``` -------------------------------- ### Verify Node, NPM, and Angular Installations Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Check the installed versions of Node.js, npm, and the Angular CLI to ensure your environment is correctly set up. ```bash node -v npm -v ng version ``` -------------------------------- ### Install Desyre Icons Package Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/prompts Install the required package via npm. ```bash npm install @desyre/icons-angular ``` -------------------------------- ### Example JSON File Structure Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/code-navigator An example of a JSON file structure representing a file tree for the DsrCodeNavigator. ```APIDOC ### Example JSON File Structure ```json [ { "name": "src", "type": "folder", "children": [ { "name": "app", "type": "folder", "children": [ { "name": "components", "type": "folder", "children": [ { "name": "code-navigator", "type": "folder", "children": [ { "name": "code-navigator.component.html", "type": "file", "markdownPath": "assets/docs/components/custom/code-navigator/code-navigator-html.md" }, { "name": "code-navigator.component.ts", "type": "file", "markdownPath": "assets/docs/components/custom/code-navigator/code-navigator-ts.md" } ] } ] } ] } ] } ] ``` ``` -------------------------------- ### Basic DsrPagination Implementation Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/pagination Initial setup for the component using two-way data binding. ```html ``` -------------------------------- ### Standalone Application Setup Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/mode-switcher Import the component into a standalone Angular component. ```typescript import { Component } from '@angular/core'; import { DsrModeSwitcherComponent } from '@desyre/angular-material'; @Component({ selector: 'dsr-mode-switcher-overview-example', imports: [DsrModeSwitcherComponent] }) export class DsrModeSwitcherOverviewExample {} ``` -------------------------------- ### Module-based Application Setup Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/mode-switcher Import the component into an existing Angular module. ```typescript import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { DsrModeSwitcherComponent } from '@desyre/angular-material'; @NgModule({ declarations: [AppComponent], imports: [DsrModeSwitcherComponent], providers: [] }) export class AppModule {} ``` -------------------------------- ### Install Desyre packages Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Install the core Desyre libraries required for the Angular project. ```bash npm install @desyre/fonts @desyre/core @desyre/angular-material ``` -------------------------------- ### Accessible Chip Example Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/chips This example demonstrates accessibility best practices for chips, including wrapping in `mat-chip-set` with an `aria-label`, using `aria-hidden` for decorative icons, and providing `aria-label` for remove buttons. ```html Backend ``` -------------------------------- ### Search Component Usage Variants Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/search Examples demonstrating basic search, start/end icons, multiple end icons, and the disabled state. ```html

@if (myControl.value !== '') { } @if (myControl.value !== '') { } @else { @if (myControl.value !== '') { } @else { }
``` -------------------------------- ### Implement Determinate Progress Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/linear-progress Examples of progress bars set to specific percentage values. ```html ``` -------------------------------- ### Install with Legacy Peer Dependencies Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/prompts If you encounter peer dependency issues during installation, set `legacy-peer-deps=true` in your npm project configuration. ```bash npm config --location=project set legacy-peer-deps=true ``` -------------------------------- ### Install Angular Material Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/prerequisites Command to add the Angular Material library to an existing Angular project. ```bash ng add @angular/material ``` -------------------------------- ### Example File Tree JSON Structure Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/code-navigator An example JSON structure representing a file tree for the DsrCodeNavigator. This structure is used to define the navigation and content displayed. ```json [ { "name": "src", "type": "folder", "children": [ { "name": "app", "type": "folder", "children": [ { "name": "components", "type": "folder", "children": [ { "name": "code-navigator", "type": "folder", "children": [ { "name": "code-navigator.component.html", "type": "file", "markdownPath": "assets/docs/components/custom/code-navigator/code-navigator-html.md" }, { "name": "code-navigator.component.ts", "type": "file", "markdownPath": "assets/docs/components/custom/code-navigator/code-navigator-ts.md" } ] } ] } ] } ] } ] ``` -------------------------------- ### Media Card Example Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/cards A media card example featuring an image, title, subtitle, content, and action buttons. This card is styled with an outlined appearance and includes a header with a custom avatar image. ```html
Shiba Inu Dog Breed
Photo of a Shiba Inu

The Shiba Inu is the smallest of the six original and distinct spitz breeds of dog from Japan. A small, agile dog that copes very well with mountainous terrain, the Shiba Inu was originally bred for hunting.

``` -------------------------------- ### Install Angular CLI Globally Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Install the Angular Command Line Interface globally to manage Angular projects. This is a prerequisite for creating and serving Angular applications. ```bash npm install -g @angular/cli ``` -------------------------------- ### Basic Tooltip Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/instructions Examples of tooltips applied to buttons with various positioning options. ```html ``` -------------------------------- ### Configure Paginator with Data Source Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/instructions Setup for using a paginator with a MatTableDataSource. ```typescript import { MatTableDataSource } from '@angular/material/table'; dataSource = new MatTableDataSource(data); ``` ```html ``` -------------------------------- ### Basic Text Field Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/instructions Examples of standard inputs, inputs with hints, and textarea components. ```html Label Email Enter your email Description ``` -------------------------------- ### Implement Circular Progress Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/instructions Examples of indeterminate, determinate, and colored progress spinners. ```html ``` -------------------------------- ### Setup Artifactory Local Script Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Execute the provided script to set up Artifactory locally, which generates an .npmrc file. Ensure this file is not committed to version control. ```bash ./scripts/setupArtifactoryLocal.sh ``` -------------------------------- ### Configuring Badge Variants and Visibility Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/badges Examples of badges on buttons, including position control and dynamic visibility toggling. ```html
Button with a badge on the left
Button toggles badge visibility
Icon with a small badge Example with a user icon with overlaid badge showing the number 15
Icon with a large badge Example with a home icon with overlaid badge showing the number 15
Icon with a large badge and long characters Example with a home icon with overlaid badge showing the number 159999
``` -------------------------------- ### FAB Button HTML Structure Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/fab-buttons Example usage of FAB buttons with different style classes applied. ```html
``` -------------------------------- ### Basic Checkbox Examples Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/checkbox Demonstrates various states and configurations of the mat-checkbox component, including checked, indeterminate, disabled, and color variations. ```html ``` ```html ``` ```html ``` ```html ``` ```html ``` ```html ``` ```html ``` -------------------------------- ### Implement Outlined Select Variants Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/select Examples of single, multi-select, disabled, and error state configurations for the outlined select component. ```html

Single outlined select

Favorite food @for (food of foods; track $index) { {{ food.viewValue }} } Select an option

Multi outlined select

Toppings @for (topping of toppingList; track $index) { {{ topping }} } Select options

Disabled outlined select

Favorite food @for (food of foods; track $index) { {{ food.viewValue }} } Select an option

Error state outlined select

Favorite food @for (food of foods; track $index) { {{ food.viewValue }} } @if (errorControl.hasError('invalidSelection')) { Please make a selection }
``` -------------------------------- ### Implement Indeterminate Progress Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/linear-progress Example of a progress bar indicating activity without a specific completion percentage. ```html ``` -------------------------------- ### Desyre Switch Examples Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/switch Demonstrates various configurations of the Desyre Switch component, including options with icons, without icons, and disabled states for both checked and unchecked toggles. ```html
With icon slide toggle Without icon slide toggle With icon disabled unchecked With icon disabled checked Without icon disabled unchecked Without icon disabled checked
``` -------------------------------- ### Select Basic Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/instructions This example demonstrates a basic implementation of a select dropdown. It requires a mat-form-field to wrap the mat-select and mat-option elements, providing a label for the selection. ```html Favorite food Pizza Pasta Burger ``` -------------------------------- ### Horizontal Stepper Example Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/steppers Demonstrates a basic horizontal stepper with three steps: name, address, and completion. Includes form group integration and navigation buttons (Next, Back, Reset). ```html
Fill out your name Name
Fill out your address Address
Done

You are now done.

``` -------------------------------- ### Verify Artifactory Login Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Log in to Artifactory using npm to verify your setup. This command prompts for credentials if not already configured. ```bash npm login ``` -------------------------------- ### Standard Icon Button Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/icon-buttons Examples of standard icon buttons, including small variants and disabled states. ```html

Standard Icon Buttons

Standard Small Icon Buttons

``` -------------------------------- ### Run Angular App Locally Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Serve the Angular application locally and open it in a browser. This command compiles the application and starts a development server. ```bash npm start ``` -------------------------------- ### Desyre Link Component Examples Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/links Demonstrates the usage of Desyre hyperlink and weblink components with different typography scales and an optional icon for weblinks. ```html

This is an hyperlink in a paragraph

This is an hyperlink in a paragraph

This is an hyperlink in a paragraph

[Label]
Label ``` ```html

This is an hyperlink in a paragraph

This is an hyperlink in a paragraph

This is an hyperlink in a paragraph

[Label]
Label ``` -------------------------------- ### DsrCodeNavigator Component Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/code-navigator Example of how to use the DsrCodeNavigator component in an HTML template. It requires the component instance, JSON file path, and template name as inputs. ```html ``` -------------------------------- ### Generate New Component Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Angular CLI command to generate a new component named 'get-started'. ```bash ng generate component get-started ``` -------------------------------- ### Implement Basic Menu Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/instructions Basic structure for a menu with trigger and items. ```html ``` -------------------------------- ### Circular Progress - Installation Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/circular-progress To use the Desyre Circular Progress component, ensure Angular Material is installed and the Desyre theme is configured. Then, import `MatProgressSpinnerModule` into your component. ```APIDOC ## Installation To use the Desyre Circular Progress component, please follow these steps : 1. Make sure that you have Angular Material installed and that you have configured the Desyre theme for you brand. If not, follow the _installation guide_. 2. Import _MatProgressSpinnerModule_ in your component : ```typescript import { MatProgressSpinnerModule } from '@angular/material/progress-spinner'; ``` ``` -------------------------------- ### Implement Basic Paginator Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/instructions Standard paginator configuration with length and page size options. ```html ``` -------------------------------- ### Define Application Routes Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo This configuration defines the routes for the application, including the root path, a 'get-started' path, and a catch-all route that redirects to 'get-started'. ```typescript import { Routes } from '@angular/router'; export const routes: Routes = [ // HOME { path: '', loadComponent: () => import('./pages/get-started/get-started.component').then( (c) => c.GetStartedComponent ), }, // COMPONENTS { path: 'get-started', loadComponent: () => import('./pages/get-started/get-started.component').then( (c) => c.GetStartedComponent, ), }, { path: '**', redirectTo: 'get-started', pathMatch: 'full', }, ]; ``` -------------------------------- ### Basic Menu Implementation Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/menus A standard menu with a button trigger and a list of menu items, including a divider. ```html ``` -------------------------------- ### DsrCodeNavigator Component Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/code-navigator Example of how to use the DsrCodeNavigator component in an Angular template. ```APIDOC ### DsrCodeNavigator Component Usage ```html ``` ``` -------------------------------- ### Paginator Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/paginator Example of how to implement the Desyre Paginator component in an Angular template. ```APIDOC ## Usage WCAG compliant ```html ``` ``` -------------------------------- ### Configure icon dependencies Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Add the icon package to your package.json dependencies. ```json ... "dependencies": { ... "@desyre/icons-angular": "^18.0.0", ... } ... ``` -------------------------------- ### Advanced Slider Configurations Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/sliders Examples of sliders with tick marks, labels, and disabled states. ```html ``` -------------------------------- ### Disabled Paginator State Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/pagination Example of setting the paginator to a disabled state to prevent user interaction. ```html ``` -------------------------------- ### Display Progress Bar Demo Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/linear-progress Basic implementation showing both determinate and indeterminate progress bar variants. ```html ``` -------------------------------- ### Import Desyre theme in styles.scss Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/installation Import the brand-specific theme file into the global styles.scss. ```scss @use '@desyre/angular-material/assets/style/desyre-theme-[brand].scss'; ``` -------------------------------- ### Filled Select Variants Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/select Examples of single, multi-select, disabled, and error-state filled select components. ```html

Single filled select

Favorite food @for (food of foods; track $index) { {{ food.viewValue }} } Select an option

Multi filled select

Toppings @for (topping of toppingList; track $index) { {{ topping }} } Select options

Disabled filled select

Favorite food @for (food of foods; track $index) { {{ food.viewValue }} } Select an option

Error state filled select

Favorite food @for (food of foods; track $index) { {{ food.viewValue }} } @if (errorControl.hasError('invalidSelection')) { Please make a selection }
``` -------------------------------- ### Import MatStepperModule Source: https://angular-desyre.gke2.ope.gcp.renault.com/getting-started/instructions Import the MatStepperModule to enable the stepper component for guiding users through a sequence of steps. ```typescript import { MatStepperModule } from '@angular/material/stepper'; ``` -------------------------------- ### Import MatChipsModule Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/chips Include the required Angular Material module in your component to enable chip functionality. ```typescript import { MatChipsModule } from '@angular/material/chips'; ``` -------------------------------- ### Circular Progress - Usage (Indeterminate) Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/circular-progress WCAG compliant example of using the `mat-progress-spinner` component in indeterminate mode. ```APIDOC ### Usage #### Indeterminate WCAG compliant ```html ``` ``` -------------------------------- ### Tonal Buttons Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/buttons Examples of tonal buttons, including disabled and icon variations. These buttons are WCAG compliant. ```html ``` -------------------------------- ### Import MatRadioModule Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/radio Import MatRadioModule into your component to enable radio button functionality. This is a required setup step. ```typescript import {MatRadioModule} from '@angular/material/radio'; ``` -------------------------------- ### Filled Icon Button Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/icon-buttons Examples of filled icon buttons, including small variants and disabled states. ```html

Filled Icon Buttons

Filled Small Icon Buttons

``` -------------------------------- ### Circular Progress - Usage (Determinate) Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/circular-progress WCAG compliant example of using the `mat-progress-spinner` component in determinate mode with varying values. ```APIDOC ### Usage #### Determinate WCAG compliant ```html
``` ``` -------------------------------- ### Configure package.json dependencies Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Add the necessary Desyre dependencies to your project's package.json file. ```json ... "dependencies": { ... "@desyre/angular-material": "^18.0.0", "@desyre/core": "^3.0.0", "@desyre/fonts": "^3.0.0" ... } ... ``` -------------------------------- ### Rounded Chips Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/chips Demonstrates how to create pill-shaped chips using the `dsr-chip-rounded` class. Includes examples for filled, outlined, and elevated variants. ```APIDOC ## Rounded Chips Use the `dsr-chip-rounded` class to create pill-shaped chips: ```html ``` ``` -------------------------------- ### Basic Component Usage Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom/mode-switcher Display the mode switcher component in an application template. ```html ``` -------------------------------- ### Import MatSlideToggleModule Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/switch Import MatSlideToggleModule into your component to use the Desyre Switch component. Ensure Angular Material is installed and the Desyre theme is configured. ```typescript import { MatSlideToggleModule } from '@angular/material/slide-toggle'; ``` -------------------------------- ### Menu with Icons and Submenus Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/menus Demonstrates a menu with leading and trailing icons on items, and nested submenus for navigation. ```html ``` -------------------------------- ### Import MatStepperModule Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/steppers Import MatStepperModule into your component to use the Desyre Stepper component. Ensure Angular Material is installed and the Desyre theme is configured. ```typescript import {MatStepperModule} from '@angular/material/stepper'; ``` -------------------------------- ### Configure Tailwind dependencies Source: https://angular-desyre.gke2.ope.gcp.renault.com/templates/angular-18-demo Add Tailwind and Desyre preset to package.json. ```json ... "dependencies": { ... "@desyre/tailwind-rg-preset": "^3.0.0", "autoprefixer": "^10.0.0", "postcss": "^8.0.0", ... "tailwindcss": "^3.0.0", ... } ``` -------------------------------- ### Import MatPaginatorModule Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/paginator Import the MatPaginatorModule into your Angular component to enable the paginator functionality. Ensure Angular Material is installed and the Desyre theme is configured. ```typescript import { MatPaginatorModule } from '@angular/material/paginator'; ``` -------------------------------- ### Import MatCardModule Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/cards Import MatCardModule into your component to use the Desyre Card component. Ensure Angular Material is installed and the Desyre theme is configured. ```typescript import { MatCardModule } from "@angular/material/card"; ``` -------------------------------- ### Overriding Header CSS Variables Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-custom Customize the header's appearance by overriding CSS variables. This example shows how to change the logo width. ```css :root { --dsr-header-logo-width: 5rem } ``` -------------------------------- ### Configure Ultra-Compact Menu Density Source: https://angular-desyre.gke2.ope.gcp.renault.com/components-core/menus Use the MAT_MENU_DEFAULT_OPTIONS provider to apply the dsr-menu-density-minus-4-overlay class to the menu overlay. ```typescript import { MatMenuModule } from '@angular/material/menu'; import { MatButtonModule } from '@angular/material/button'; import { MatDivider } from '@angular/material/divider'; import { MAT_MENU_DEFAULT_OPTIONS } from '@angular/material/menu'; @Component({ selector: 'app-menu-density-minus-4-example', imports: [MatMenuModule, MatButtonModule, MatDivider], templateUrl: './menu-density-minus-4.component.html', providers: [ { provide: MAT_MENU_DEFAULT_OPTIONS, useValue: { overlayPanelClass: ['dsr-menu-density-minus-4-overlay'], }, }, ], }) export class MenuDensityMinus4ExampleComponent {} ```