### 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
Frontend
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
```
--------------------------------
### 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 InuDog Breed
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
LabelEmailEnter your emailDescription
```
--------------------------------
### 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
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 foodPizzaPastaBurger
```
--------------------------------
### 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
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
[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
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
Rounded
Rounded
Rounded
```
```
--------------------------------
### 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 {}
```