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-autocomplete
is a normal text input enhanced by a panel of suggested options. -
matBadge
are small status descriptors for UI elements. -
bottomSheet
can be used to open Material Design panels to the bottom of the screen. -
mat-button
are native<button>
or<a>
elements enhanced with Material Design styling and ink ripples. -
mat-button-toggle
are on/off toggles with the appearance of a button. These toggles can be configured to behave as either radio-buttons or checkboxes. -
mat-card
is a content container for text, photos, and actions in the context of a single subject. -
mat-checkbox
same as native<input type="checkbox">
with enhanced UI. -
mat-chip
displays a list of values as individual, keyboard accessible, chips. -
mat-datepicker
allows 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. -
matDialog
can be used to open modal dialogs with Material Design styling and animations. -
mat-divider
allows for Material styling of a line separator with various orientation options. -
mat-expansion-panel
provides an expandable details-summary view. -
mat-form-field
is 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-list
is a two-dimensional list view that arranges cells into grid-based layout. -
mat-icon
makes 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. -
matInput
is a directive that allows native<input>
and<textarea>
elements to work with<mat-form-field>
. -
mat-list
is 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-menu
is a floating panel containing list of options. -
mat-paginator
provides navigation for paged information, typically used with a table. -
mat-progress-bar
is a horizontal progress-bar for indicating progress and activity. -
mat-progress-spinner
andmat-spinner
are a circular indicators of progress and activity. -
mat-radio-button
same as native<input type="radio">
with enhanced UI. -
matRipple
defines an area in which a ripple animation is applied based on a user event. -
mat-select
is a form control for selecting a value from a set of options, similar to the native<select>
element. -
mat-sidenav
and/ormat-drawer
components are designed to add side content to a fullscreen app. -
mat-slide-toggle
is an on/off control that can be toggled via clicking event. -
mat-slider
allows 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. -
matSort
andmat-sort-header
are used, respectively, to add sorting state and display to<table>
data-grid. -
mat-horizontal-stepper
andmat-vertical-stepper
Angular Material’s stepper provides a wizard-like workflow by dividing content into logical steps. -
mat-table
provides a Material Design styled<table>
data-grid that can be used to display rows of data. -
mat-tab
withinmat-tab-group
organize content into separate views where only one view can be visible at a time. -
mat-toolbar
is a container for headers, titles, or actions. -
matTooltip
provides a text label that is displayed when the user hovers over or longpresses an element.
-
style.min.css
is a compiled and minified CSS file generated fromstyle.scss
,-
style.scss
contains all the imports for the solution :@import "styles/_imports.scss"
-
styles/_imports.scss
contains:@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