solution • Angular Material Design - martindubenet/wed-dev-design GitHub Wiki
There is NO official (easy) method of installing « Material Icons » as a system font on my workstation.
So far the only method I found is relying the the github project « Material Icons Cheatsheet » to allow me to use Material Icons font-face within Adobe XD, Axure RP, Sketch, Illustrator etc...
- « Color Tool » public webapp to test colors,
 - « Material Icons Cheatsheet » a webapp to use icon as font on my OS.
 - « Mat Theme Generator » private webapp to generate a custom theme.
 
This is a library by itself. It has it's own set of components derived from Material Design. But it does NOT include everything from the mother library.
- 
mat-autocompleteis a normal text input enhanced by a panel of suggested options. - 
matBadgeare small status descriptors for UI elements. - 
bottomSheetcan be used to open Material Design panels to the bottom of the screen. - 
mat-buttonare native<button>or<a>elements enhanced with Material Design styling and ink ripples. - 
mat-button-toggleare on/off toggles with the appearance of a button. These toggles can be configured to behave as either radio-buttons or checkboxes. - 
mat-cardis a content container for text, photos, and actions in the context of a single subject. - 
mat-checkboxsame as native<input type="checkbox">with enhanced UI. - 
mat-chipdisplays a list of values as individual, keyboard accessible, chips. - 
mat-datepickerallows users to enter a date either through text input, or by choosing a date from the calendar. It is made up of several components, directives and the date implementation module that work together. - 
matDialogcan be used to open modal dialogs with Material Design styling and animations. - 
mat-dividerallows for Material styling of a line separator with various orientation options. - 
mat-expansion-panelprovides an expandable details-summary view. - 
mat-form-fieldis a component used to wrap several Angular Material components and apply common text field styles such as the underline, floating label, and hint messages. - 
mat-grid-listis a two-dimensional list view that arranges cells into grid-based layout. - 
mat-iconmakes it easier to use vector-based icons in your app. This directive supports both (Google or any) icon fonts and<svg>icons, but not bitmap (pixels) based formats. - 
matInputis a directive that allows native<input>and<textarea>elements to work with<mat-form-field>. - 
mat-listis a container component that wraps and formats a series of line items. As the base list component, it provides Material Design styling, but no behavior of its own. - 
mat-menuis a floating panel containing list of options. - 
mat-paginatorprovides navigation for paged information, typically used with a table. - 
mat-progress-baris a horizontal progress-bar for indicating progress and activity. - 
mat-progress-spinnerandmat-spinnerare a circular indicators of progress and activity. - 
mat-radio-buttonsame as native<input type="radio">with enhanced UI. - 
matRippledefines an area in which a ripple animation is applied based on a user event. - 
mat-selectis a form control for selecting a value from a set of options, similar to the native<select>element. - 
mat-sidenavand/ormat-drawercomponents are designed to add side content to a fullscreen app. - 
mat-slide-toggleis an on/off control that can be toggled via clicking event. - 
mat-sliderallows for the selection of a value from a range via mouse, touch, or keyboard, similar to<input type="range">. - 
snackBar, oropenSnackBar(), is a service for displaying snack-bar notifications. - 
matSortandmat-sort-headerare used, respectively, to add sorting state and display to<table>data-grid. - 
mat-horizontal-stepperandmat-vertical-stepperAngular Material’s stepper provides a wizard-like workflow by dividing content into logical steps. - 
mat-tableprovides a Material Design styled<table>data-grid that can be used to display rows of data. - 
mat-tabwithinmat-tab-grouporganize content into separate views where only one view can be visible at a time. - 
mat-toolbaris a container for headers, titles, or actions. - 
matTooltipprovides a text label that is displayed when the user hovers over or longpresses an element. 
- 
style.min.cssis a compiled and minified CSS file generated fromstyle.scss,- 
style.scsscontains all the imports for the solution :@import "styles/_imports.scss"- 
styles/_imports.scsscontains:@import "fonts.googleapi.com";- required 
~node_modules, @import "styles/app/_*.scss";@import "styles/themes/_*.scss";@import "styles/layout/_*.scss";@import "styles/components/_*.scss";
 
 - 
 
 - 
 
| context | shorthand | replaces | 
|---|---|---|
| Loading node_modules within Sass | @import "~any-module/… | 
@import "../../node_modules/any-module/… | 
  📁 Api/
  📁 Scripts/
  📁 Terraform/
  📂 Web ↴
    📁 node_modules/
    📂 src ↴
      📂 app ↴
        📂 features ↴
          📂 template01 ↴
            📂 pageA_example ↴
              📄 pageA.template01.html
              📄 pageA.template01.scss
              📄 pageA.template01.ts
            📂 pageB ↴
              📄 pageB.template01.html
              📄 pageB.template01.scss
              📄 pageB.template01.ts
          📂 template02/ 🗁 pageX ↴
              📄 pageX.template02.html
              📄 pageX.template02.scss
              📄 pageX.template02.ts
        📂 shared ↴
          📂 components ↴
            📂 helper ↴
              📂 ellipsis-title ↴
                📄 ellipsis-title.directive.ts
      📂 assets ↴
        📁 config/
        📁 data/
        📂 fonts ↴
          📁 FivoSans/
        📁 icons /
        📂 images ↴
          🖼 pixel.png
          📂 theme ↴
            🖼 background-texture__day.jpg
            🖼 background-texture__night.jpg
          📂 logo ↴
            🖼 app.logo.svg
            🖼 app.icon.svg
            🖼 company.logo.svg
            🖼 company.icon.svg
            🖼 microsoft.icon.svg
      📂 locale ↴
        📂 app ↴
          📄 en.json
          📄 fr.json
        📂 template_example ↴
          📄 en.json
          📄 fr.json
      📂 styles ↴
        📂 app ↴
          📄 _abstracts.scss
          📄 _colors.default.scss
          📄 _colors.brand-foo.scss
          📄 _mixins.scss
          📄 _variables.scss
        📂 components ↴
          📄 _alerts.scss
          📄 _cards.scss
          📄 _info-tooltip.scss
          📄 _modals.scss
        📂 layout ↴
          📄 _master.scss
          📄 _utils.scss
        📂 themes ↴
          📄 _default.scss
          📄 _brand-foo.scss
        📄 _imports.scss
      📂 tests/
        📂 data/ 📄 spreadsheets.ts
        📁 mocks/
      🖼 favicon.ico
      📄 index.html
      📄 main.ts
      📄 polyfills.ts
      📄 styles.scss
      📄 test.ts
    📄 .browserslistrc
    📄 .dockerignore
    📄 .editorconfig
    📄 .eslintrc.json
    📄 .gitignore
    📄 .prettierignore
    📄 .prettierrc
    📄 angular.json
    📄 chrome.json
    📄 karma.config.js
    📄 package-lock.json
    📄 package.json
    📄 README.md
    📄 tsconfig.app.json
    📄 tsconfig.json
    📄 tsconfig.spec.json
In Angular Material, a theme is created by composing multiple palettes. In particular, a theme consists of:
- A primary palette: colors most widely used across all screens and components.
 - An accent palette: colors used for the floating action button and interactive elements.
 - A warn palette: colors used to convey error state.
 - A foreground palette: colors for text and icons.
 - A background palette: colors used for element backgrounds.
 
References: https://zoaibkhan.com/blog/angular-material-dark-mode-in-3-steps/
- Add a custom Angular-Material theme