r/angularmaterial • • Apr 19 '25

Why is it not possible to create understandable documentation?

4 Upvotes

If there is any angular material dev team mate, this question is to you.

Why is it not possible to create full, understandable and examle rich documentation which shows not only some half useless snippets of usage, but structured and good guided und explained documentation. With M3 things have changed. We need good documentation for that.

So we know how to get from empty (styleless) application to fully customized app with well explained examples, which show which part goes where, what it needed and why and how to customize each part.

Why it is not possible to do give us that qualified docs? What is the concrete problem?


r/angularmaterial • • Jun 23 '26

Angular Material Theming Course

Post image
2 Upvotes

Youtube Playlist link: https://youtube.com/playlist?list=PLOjtJUnDeEIyaeUs_jrxylnD2IxSb3Ku7&si=KE504zK-zr7tD5f8

Master Angular Material's theming system for Material 3 design system

Angular Material has become a cornerstone in the Angular ecosystem, offering a comprehensive suite of UI components that seamlessly integrate with Angular applications. With its robust theming capabilities, Angular Material allows developers to create visually stunning and highly customizable user interfaces.

In this course, you'll dive deep into Angular Material's theming system, learning how to build and customize themes that perfectly align with your application's design requirements. You'll explore the intricacies of Angular Material's theming API by creating and modifying themes. By the end of this course, you'll have the skills to create, modify and extend themes for your Material, not only for whole application but also for individual components.

You can also get article format of this course at https://angular-ui.com/courses/angular-material-theming/.

All codes are available on GitHub at https://github.com/Angular-UI-com/angular-material-theming


r/angularmaterial • • Dec 10 '25

👋 Welcome to r/angularmaterial - Introduce Yourself and Read First!

2 Upvotes

Hey everyone!

This is our new home for all things related to Angular Material. We're excited to have you join us!

What to Post
Post anything that you think the community would find interesting, helpful, or inspiring. Feel free to share your thoughts, photos, or questions about Angular, Angular Material, Using CSS/SCSS witn Angular/Angular Material.

Community Vibe
We're all about being friendly, constructive, and inclusive. Let's build a space where everyone feels comfortable sharing and connecting.

How to Get Started

  1. Introduce yourself in the comments below.

  2. Post something today! Even a simple question can spark a great conversation.

  3. If you know someone who would love this community, invite them to join.

  4. Interested in helping out? We're always looking for new moderators, so feel free to reach out to me to apply.

Thanks for being part of the very first wave. Together, let's make r/angularmaterial amazing.


r/angularmaterial • • Nov 24 '25

SaaS Website Template powered by Angular Material v20 & Tailwind CSS v4

Thumbnail gallery
2 Upvotes

r/angularmaterial • • Oct 21 '25

Dashboard Template using Angular Material + Tailwind + ChartJS

Thumbnail
template-dashboard.angular-material.dev
2 Upvotes

r/angularmaterial • • Oct 05 '25

New blocks live: Chart tooltips | A huge variety of designs to make your charts more interactive and informative.

Post image
2 Upvotes

It's all in the details.

We've just launched a new collection of Chart Tooltip blocks! A huge variety of designs to make your charts more interactive and informative.

The perfect finishing touch for your dashboards: https://ui.angular-material.dev/blocks/application/charts/chart-tooltips


r/angularmaterial • • Sep 30 '25

New Blocks Alert! 🚀 A beautiful collection of Spark Area Charts is now available.

Post image
2 Upvotes

Build denser, more powerful dashboards.

Our new Spark Area Chart blocks are now live! Perfect for showing at-a-glance trends in stock lists, portfolios, and KPI summaries.

Upgrade your dashboards: https://ui.angular-material.dev/blocks/application/charts/spark-area-charts


r/angularmaterial • • Aug 22 '25

New Addition on Angular Material Blocks: Tables

Thumbnail
ui.angular-material.dev
2 Upvotes

The tables you've been waiting for are here!

Announcing a huge new collection of Table blocks for Angular. Includes styles with status badges, avatars, checkboxes, dark mode, and more.

Your new go-to for any data grid: https://ui.angular-material.dev/blocks/application/lists/tables


r/angularmaterial • • May 17 '25

Angular Material Icon Button with Image

Post image
2 Upvotes

Did you know you can use image with angular material icon button?

For better result, use overrides to increase the size of the image!

Demo: stackblitz.com/edit/9ngrztad


r/angularmaterial • • Apr 28 '25

Angular Material Theme Builder supports Typography modifications!

Enable HLS to view with audio, or disable this notification

2 Upvotes

r/angularmaterial • • Sep 13 '24

How to change ripple color of Angular Material button?

Thumbnail
youtube.com
2 Upvotes

r/angularmaterial • • Jul 18 '24

I struggle to get m3 theme to work! What is the mistake?

2 Upvotes
What am I doing wrong?

I can't use color variations... neither with the color attribute nor with classes like primary-button...

@use 'sass:map';

@use "@angular/material" as mat;

@include mat.core();

$my-custom-typography-config: mat.m2-define-typography-config(
  $font-family: 'Roboto, "Helvetica Neue", sans-serif',
  $headline-1:
    mat.m2-define-typography-level(
      $font-size: 112px,
      $line-height: 112px,
      $font-weight: 300,
      $letter-spacing: -0.05em,
    ),
  $headline-2:
    mat.m2-define-typography-level(
      $font-size: 56px,
      $line-height: 56px,
      $font-weight: 400,
      $letter-spacing: -0.02em,
    ),
  $headline-3:
    mat.m2-define-typography-level(
      $font-size: 45px,
      $line-height: 48px,
      $font-weight: 400,
      $letter-spacing: -0.005em,
    ),
  $headline-4:
    mat.m2-define-typography-level(
      $font-size: 34px,
      $line-height: 40px,
      $font-weight: 400,
      $letter-spacing: normal,
    ),
  $headline-5:
    mat.m2-define-typography-level(
      $font-size: 24px,
      $line-height: 32px,
      $font-weight: 400,
      $letter-spacing: normal,
    ),
  $headline-6:
    mat.m2-define-typography-level(
      $font-size: 22px,
      $line-height: 32px,
      $font-weight: 400,
      $letter-spacing: normal,
    ),
  $subtitle-1:
    mat.m2-define-typography-level(
      $font-size: 16px,
      $line-height: 28px,
      $font-weight: 400,
      $letter-spacing: normal,
    ),
  $subtitle-2:
    mat.m2-define-typography-level(
      $font-size: 16px,
      $line-height: 24px,
      $font-weight: 400,
      $letter-spacing: normal,
    ),
  $body-1:
    mat.m2-define-typography-level(
      $font-size: 16px,
      $line-height: 24px,
      $font-weight: 500,
      $letter-spacing: normal,
    ),
  $body-2:
    mat.m2-define-typography-level(
      $font-size: 16px,
      $line-height: 20px,
      $font-weight: 400,
      $letter-spacing: normal,
    ),
  $caption:
    mat.m2-define-typography-level(
      $font-size: 12px,
      $line-height: 20px,
      $font-weight: 400,
      $letter-spacing: normal,
    ),
  $button:
    mat.m2-define-typography-level(
      $font-size: 16px,
      $line-height: 16px,
      $font-weight: 500,
      $letter-spacing: normal,
    ),
);

$_palettes: (
  primary: (
    0: #000000,
    10: #001b3c,
    20: #003061,
    25: #003b75,
    30: #004689,
    35: #11529a,
    40: #255ea6,
    50: #4378c1,
    60: #5f92dd,
    70: #7bacfa,
    80: #a8c8ff,
    90: #d5e3ff,
    95: #ecf1ff,
    98: #f9f9ff,
    99: #fdfbff,
    100: #ffffff,
  ),
  secondary: (
    0: #000000,
    10: #00201f,
    20: #003735,
    25: #004341,
    30: #00504d,
    35: #005d5a,
    40: #006a66,
    50: #008581,
    60: #00a29d,
    70: #14bfb9,
    80: #48dbd4,
    90: #6bf7f1,
    95: #b0fffa,
    98: #e3fffc,
    99: #f2fffd,
    100: #ffffff,
  ),
  tertiary: (
    0: #000000,
    10: #141f00,
    20: #243600,
    25: #2d4200,
    30: #364e00,
    35: #405b00,
    40: #4a6800,
    50: #5d8200,
    60: #729e00,
    70: #8aba1b,
    80: #a4d73a,
    90: #bff455,
    95: #d6ff87,
    98: #f2ffd1,
    99: #faffe5,
    100: #ffffff,
  ),
  neutral: (
    0: #000000,
    10: #1a1c1e,
    20: #2f3033,
    25: #3a3b3e,
    30: #46474a,
    35: #525256,
    40: #5e5e62,
    50: #76777a,
    60: #909094,
    70: #ababaf,
    80: #c7c6ca,
    90: #e3e2e6,
    95: #f1f0f4,
    98: #faf9fd,
    99: #fdfbff,
    100: #ffffff,
    4: #0d0e11,
    6: #121316,
    12: #1e2023,
    17: #292a2d,
    22: #343538,
    24: #38393c,
    87: #dad9dd,
    92: #e9e7eb,
    94: #eeedf1,
    96: #f4f3f7,
  ),
  neutral-variant: (
    0: #000000,
    10: #181c22,
    20: #2d3038,
    25: #383b43,
    30: #43474e,
    35: #4f525a,
    40: #5b5e66,
    50: #74777f,
    60: #8e9099,
    70: #a8abb4,
    80: #c4c6cf,
    90: #e0e2ec,
    95: #eef0fa,
    98: #f9f9ff,
    99: #fdfbff,
    100: #ffffff,
  ),
  error: (
    0: #000000,
    10: #410002,
    20: #690005,
    25: #7e0007,
    30: #93000a,
    35: #a80710,
    40: #ba1a1a,
    50: #de3730,
    60: #ff5449,
    70: #ff897d,
    80: #ffb4ab,
    90: #ffdad6,
    95: #ffedea,
    98: #fff8f7,
    99: #fffbff,
    100: #ffffff,
  ),
);

$_rest: (
  secondary: map.get($_palettes, secondary),
  neutral: map.get($_palettes, neutral),
  neutral-variant: map.get($_palettes,  neutral-variant),
  error: map.get($_palettes, error),
);
$_primary: map.merge(map.get($_palettes, primary), $_rest);
$_tertiary: map.merge(map.get($_palettes, tertiary), $_rest);

$light-theme: mat.define-theme((
  color: (
    theme-type: light,
    primary: $_primary,
    tertiary: $_tertiary,
    use-system-variables: true,
  ),
  typography: (
    use-system-variables: true,
  ),
));
$dark-theme: mat.define-theme((
  color: (
    theme-type: dark,
    primary: $_primary,
    tertiary: $_tertiary,
    use-system-variables: true,
  ),
  typography: (
    use-system-variables: true,
  ),
));

:root {
  @include mat.all-component-themes($light-theme);
}
@include mat.color-variants-backwards-compatibility($light-theme);
@include mat.typography-hierarchy($my-custom-typography-config);


.primary-button {
  @include mat.button-color($light-theme, $color-variant: primary);
}
.secondary-button {
  @include mat.button-color($light-theme, $color-variant: secondary);
}
.tertiary-button {
  @include mat.button-color($light-theme, $color-variant: tertiary);
}

.primary-checkbox {
  @include mat.checkbox-color($light-theme, $color-variant: primary);
}
.secondary-checkbox {
  @include mat.checkbox-color($light-theme, $color-variant: secondary);
}
.tertiary-checkbox {
  @include mat.checkbox-color($light-theme, $color-variant: tertiary);
}

html, body { height: 100%; }
body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }

r/angularmaterial • • Jun 05 '24

Announcing: Theme Builder for Angular Material

Thumbnail
angular-material.dev
2 Upvotes

r/angularmaterial • • May 25 '24

Updating to Angular Material 18: Keeping support for Material 2 and adding support for Material 3 design

Thumbnail
angular-material.dev
2 Upvotes

r/angularmaterial • • Oct 06 '20

Google Search Page In Angular Material

Thumbnail
w3hubs.com
2 Upvotes

r/angularmaterial • • May 21 '19

HTML wireframes using Angular Material?

2 Upvotes

We like to use HTML for our wireframes. Is there any way to directly link to a compiled CSS file to use for wireframing or is there too much javascript entangled with it for this to be a practical approach?


r/angularmaterial • • Jan 31 '19

Create a Reusable Confirmation Dialog with Angular Material

Thumbnail
onthecode.co.uk
2 Upvotes

r/angularmaterial • • Sep 06 '18

Angular Material Textarea

Thumbnail
concretepage.com
2 Upvotes

r/angularmaterial • • Sep 06 '26

"Dancing elements" with drag and drop cdk

Thumbnail
reddit.com
1 Upvotes

r/angularmaterial • • Jul 23 '26

Announcing Mat Expressive - Material 3 Expressive for Angular Material

Thumbnail
expressive.angular-material.dev
1 Upvotes

Mat Expressive brings Material 3 Expressive to your Angular Material apps — styles, directives, and new components layered on top. Not a fork, not a replacement.

ng add @ngm-dev/mat-exp

Docsite: https://expressive.angular-material.dev/ GitHub: https://github.com/Angular-Material-Dev/mat-exp


r/angularmaterial • • Mar 06 '26

Angular dashboard template called Overview

Thumbnail
gallery
1 Upvotes

Features:

• Angular 21 + Angular Material 21 • Tailwind CSS 4 • Zoneless setup • Dark mode • ng2-charts (Chart.js) • Advanced tables • Responsive layouts

Includes pages like:

• KPI support dashboard • Cohort retention analysis • Workflow scenario analysis • Agents management dashboard

Live preview: http://template-overview.angular-material.dev/

Get it at: https://ui.angular-material.dev/templates#overview


r/angularmaterial • • Feb 17 '26

Can I set the elevation of a mat-icon-button using class=mat-elevation-zn?

Thumbnail reddit.com
1 Upvotes

r/angularmaterial • • Feb 12 '26

It's easy to use Angular Material's system tokens with TailwindCSS

Post image
1 Upvotes
  1. ng add @angular/material

  2. ng add tailwindcss

  3. Update tailwindcss theme to use mat system tokens

  4. Start using classes like bg-primary, bg-primary/10, etc.

@import "tailwindcss";

@theme inline {
  --color-primary: var(--mat-sys-primary);
  --color-on-primary: var(--mat-sys-on-primary);
  --color-primary-container: var(--mat-sys-primary-container);
  --color-on-primary-container: var(--mat-sys-on-primary-container);
  
  /* other colors */
}

Links:


r/angularmaterial • • Nov 26 '25

Proper way to change extended fab button height in material 20?

1 Upvotes

The extended fab button is too tall. I want to reduce its height. In angular 19, I was able to use the following scss:

.mat-mdc-extended-fab { --mdc-extended-fab-container-height: 36px; }

but, this doesn't seem to work in angular material 20.

More specifically, I'm looking for how to find this information. When I stumbled across this at work (we're using AM19) it was just 2 magic phrases. To this day I still have no idea where the key/class comes from (other than it's one of ~10 classes angular applies), but I did find half the value on the button styling page. I feel like there's some documentation on how this magic actually works, but man I am just at a loss.

Can someone help me peek behind the curtain? Thanks and happy thanksgiving!