Component infrastructure and Material Design components for Angular

Overview

Official components for Angular

npm version Build status Gitter

The Angular team builds and maintains both common UI components and tools to help you build your own custom components. The team maintains several npm packages.

Package Description Docs
@angular/cdk Library that helps you author custom UI components with common interaction patterns Docs
@angular/material Material Design UI components for Angular applications Docs
@angular/google-maps Angular components built on top of the Google Maps JavaScript API Docs
@angular/youtube-player Angular component built on top of the YouTube Player API Docs

Quick links

Documentation, demos, and guides | Frequently Asked Questions | Community Google group | Contributing | StackBlitz Template

Getting started

See our Getting Started Guide if you're building your first project with Angular Material.

Contributing

If you'd like to contribute, please follow our contributing guidelines. Please see our help wanted label for a list of issues with good opportunities for contribution.

What we're working on now (Q4 2021):

  • Continuing to create new, API-compatible versions of the Angular Material components backed by MDC Web (see @jelbourn's ng-conf talk). Much of our effort is dedicated towards rolling out these new versions of the components across Angular apps inside Google. This work will pay off with the following benefits:
    • Dramatically improve consistency with the Material Design spec, which has changed significantly since Angular Material's 2016 inception. This also makes future versions of Material Design significantly easier to adopt.
    • Introduce a new theming API for component density, a top feature request.
    • Fix a number of longstanding accessibility bugs.
    • Increase number of people working to continuously improve the components on an ongoing basis (both the Angular team and the Material Design team).
  • Accessibility - we'll be focusing on improving the accessibility of MatDatepicker as well as evaluating accessibility bugs for mobile web platforms.

About the team

The Angular Components team is part of the Angular team at Google. The team includes both Google employees and community contributors from around the globe.

Our team has two primary goals:

  • Build high-quality UI components that developers can drop into existing applications
  • Provide tools that help developers build their own custom components with common interaction patterns

What do we mean by "high-quality" components?

  • Internationalized and accessible so that all users can use them.
  • Straightforward APIs that don't confuse developers.
  • Behave as expected across a wide variety of use-cases without bugs.
  • Behavior is well-tested with both unit and integration tests.
  • Customizable within the bounds of the Material Design specification.
  • Performance cost is minimized.
  • Code is clean and well-documented to serve as an example for Angular developers.

Browser and screen reader support

The Angular Components team supports the most recent two versions of all major browsers: Chrome (including Android), Firefox, Safari (including iOS), and IE11 / Edge.

We aim for great user experience with the following screen readers:

  • Windows: NVDA and JAWS with IE11 / FF / Chrome.
  • macOS: VoiceOver with Safari / Chrome.
  • iOS: VoiceOver with Safari
  • Android: Android Accessibility Suite (formerly TalkBack) with Chrome.
  • Chrome OS: ChromeVox with Chrome.
Comments
  • feat(DatePicker): select range of dates

    feat(DatePicker): select range of dates

    Hello, it's possible to set date range in date picker (have the ability to choose startDate and endDate and get all dates between startDate and endDate).

    feature P3 
    opened by alaawerfelli 148
  • md-datepicker

    md-datepicker

    Status:

    • There is no public Material Design spec that works for both desktop and mobile (the current spec is mobile-only). The design team is working on this.
    • We have some contributors exploring an implementation.
    feature new component 
    opened by jelbourn 132
  • Support Angular Universal (with CI job to test all components)

    Support Angular Universal (with CI job to test all components)

    There's no automated verification that all material components are safe to use in node, i.e. pre-rendering with Angular Universal. See #306.

    Proposal

    Create a step in the CI process to pre-compile a single root component which contains an instance of each material component. Use one of the Angular Universal pre-render libraries to build: https://github.com/angular/universal/tree/master/modules

    Note: I'm planning to submit a Broccoli plugin to that repo which would work well with Angular CLI.

    I'm willing to help set this up.

    feature P2 area: dev-infra 
    opened by jeffbcross 127
  • [Tabs] Hidden tabs don't render expansion panels correctly

    [Tabs] Hidden tabs don't render expansion panels correctly

    Bug, feature request, or proposal:

    Bug.

    What is the expected behavior?

    A <md-expansion-panel [expanded]="false"> should not be expanded until explicitally opened. When inside a hidden tab, .mat-expansion-panel-content should have height : 0px

    What is the current behavior?

    Panel is collapsed but panetl's content is visible. Problem occurs only if the accordion is in a hidden tab of a tab-group.

    What are the steps to reproduce?

    http://plnkr.co/edit/q6kXPH?p=preview

      <md-tab label="Working">
        <md-accordion>
            <md-expansion-panel [expanded]="false">
            <md-expansion-panel-header>
              You should see me
            </md-expansion-panel-header>
            <p>Yous should not see me</p>
          </md-expansion-panel>
        </md-accordion>
      </md-tab>
      <md-tab label="Not working">
        <md-accordion>
            <md-expansion-panel [expanded]="false">
            <md-expansion-panel-header>
              You should see me
            </md-expansion-panel-header>
            <p>Yous should not see me</p>
          </md-expansion-panel>
        </md-accordion>
      </md-tab>
    </md-tab-group>
    

    Which versions of Angular, Material, OS, TypeScript, browsers are affected?

    Material2 master Angular 4.2.3

    P3 G area: material/tabs 
    opened by AlanCrevon 109
  • drag-drop: make the view scroll when trying to move a draggable outside the current view

    drag-drop: make the view scroll when trying to move a draggable outside the current view

    Bug, feature request, or proposal:

    When trying to drag a cdkDragItem outside of the view, it does not scroll to show the rest of the cdkDrop div / the rest of the page.

    What is the expected behavior?

    The view should scroll towards the direction in which the element is being dragged to reveal the rest of the page.

    What is the current behavior?

    The view doesn't scroll, the droppable item cannot move out of the current view

    What are the steps to reproduce?

    In the following stackblitz, try to drag an item from the start of the list to the bottom of the list. https://stackblitz.com/edit/angular-emaoau

    What is the use-case or motivation for changing an existing behavior?

    The current behaviour feels very restrictive. you could have to take multiple steps if you want to drag and drop an element in a larger list.

    Which versions of Angular, Material, OS, TypeScript, browsers are affected?

    • Angular Cdk 7.0.0 beta to 7.0.0-rc.1
    P2 
    opened by lfroment0 108
  • Range Slider

    Range Slider

    Bug, feature request, or proposal:

    Feature request

    What is the expected behavior?

    Range Slider

    What is the current behavior?

    We manipulate a single value.

    What are the steps to reproduce?

    Not applicable

    What is the use-case or motivation for changing an existing behavior?

    For input a range (start and end) besides just one value. Currency, date, time... several motivations.

    Which versions of Angular, Material, OS, browsers are affected?

    Latest

    Is there anything else we should know?

    I think JQuery UI also could be a good source of new UI features for material2.

    feature P3 area: material/slider Fixed in MDC 
    opened by anderflash 82
  • [Table] Add ability to expand rows on interaction

    [Table] Add ability to expand rows on interaction

    Bug, feature request, or proposal:

    Hi Team,

    Is it possible to extend the table row on click of the record. For example, a table with more records exist and when the user clicked on particular row, the row should expand and show card with the row information in detail as shown below.. image

    Material : 2.0.0-beta.8 Angular : 4.0.0

    feature P5 
    opened by vibingopal 80
  • cdk-virtual-scroll-viewport  - support window scroll

    cdk-virtual-scroll-viewport - support window scroll

    Bug, feature request, or proposal:

    Feature request

    What is the expected behavior?

    Allow the scroll of the cdk-virtual-scroll-viewport to be controlled by the top level window scrollbar.

    See example at the link below. (Go to that page and click on parent scroll to see desired behavior) https://rintoj.github.io/ngx-virtual-scroller

    Another example of window scrolling in the context of virtual scrolling https://bvaughn.github.io/react-virtualized/#/components/WindowScroller

    What is the current behavior?

    Specifying a parent scroll does not seem to be supported, from what I can tell.

    What is the use-case or motivation for changing an existing behavior?

    Having a single top level window/page scroll is standard in a lot of SPAs. The virtual-scroll would be a lot more useful in these cases, if it could use the same scroll bar, otherwise often times you end up with two scrollbars (one for the virt-scroll and the other for the page, or else a smaller inset container for the virt-scroll with a scrollbar), which is less than ideal.

    Which versions of Angular, Material, OS, TypeScript, browsers are affected?

    Angular: 7.0.1 Material: 7.0.2

    Is there anything else we should know?

    feature P3 G area: cdk/scrolling 
    opened by abeymg 65
  • autocompletes overlay position works wrong on mobile devices

    autocompletes overlay position works wrong on mobile devices

    Bug, feature request, or proposal:

    Bug

    What is the expected behavior?

    Correct overlay position so that the component can be used on mobile devices

    What is the current behavior?

    On mobile devices (e.g iphone6+ with latest IOS, Android etc.) the position of the overlay is strange. Sometimes the overlay disappears or the overlay overlaps the input fields ...

    So autocomplete is NOT usable on mobile devices....

    What are the steps to reproduce?

    E.g. use the https://material.angular.io/ demo for autocomplete on mobile devices

    What is the use-case or motivation for changing an existing behavior?

    Which versions of Angular, Material, OS, TypeScript, browsers are affected?

    Angular 4.3.3, Material 2.0.0-beta.8

    Is there anything else we should know?

    P3 
    opened by maku 59
  • [Table] Add example with dynamic columns

    [Table] Add example with dynamic columns

    Bug, feature request, or proposal:

    Proposal

    What is the expected behavior?

    It'd be nice to have example(s) on how to use md-table with dynamic columns.

    What is the current behavior?

    Currently all the examples are with hard coded columns, like this:

    <!-- ID Column -->
    <ng-container cdkColumnDef="userId">
      <md-header-cell *cdkHeaderCellDef md-sort-header> ID </md-header-cell>
      <md-cell *cdkCellDef="let row"> {{row.id}} </md-cell>
    </ng-container>
    
    <!-- Progress Column -->
    <ng-container cdkColumnDef="progress">
      <md-header-cell *cdkHeaderCellDef md-sort-header> Progress </md-header-cell>
      <md-cell *cdkCellDef="let row"> {{row.progress}}% </md-cell>
    </ng-container>
    

    @andrewseguin

    docs P4 area: material/table 
    opened by rafaelss95 59
  • MdInput doesn't set required asterisk when the validator is set in reactive forms

    MdInput doesn't set required asterisk when the validator is set in reactive forms

    Bug, feature request, or proposal:

    The placeholder from the MdInput does not show the asterisk (*) when we use Validators.required in the FormControl.

    What is the expected behavior?

    The asterisk should be shown as it is when setting the requiredattribute.

    What are the steps to reproduce?

    http://plnkr.co/edit/XqkOmF502Q8RFj8qcUwp?p=preview or take a look at the input-container-demo

    What is the use-case or motivation for changing an existing behavior?

    To be not dependet on the template to visually indicate that the input is required.

    Which versions of Angular, Material, OS, browsers are affected?

    all (to my knowlege it never worked)

    P2 forms area: material/input 
    opened by bboehm86 59
  • docs-bug(component): is there any documentation available for what all css var properties we have for a specific component?

    docs-bug(component): is there any documentation available for what all css var properties we have for a specific component?

    Documentation Feedback

    Is there any documentation available for what all css var properties we have for a specific component(button etc)?

    Affected documentation page

    https://material.angular.io/components/button/api

    docs needs triage 
    opened by iKrishnaSahu 0
  • help(Form-Field): custom more compact form-field without label and hint using density?

    help(Form-Field): custom more compact form-field without label and hint using density?

    What are you trying to do?

    Is it possible to custom more compact form-field?

    .my-mat-form-field-density-5 is working. .my-mat-form-field-density-8 not working. SassError: "mdc-density: height must be between 36px and 56px (inclusive), but received 24px."

    <mat-form-field class="my-mat-form-field-density-8">
           <input matInput  [(ngModel)]="value">
     </mat-form-field>
    
    @use '@angular/material' as mat;
    
    @mixin my-form-field-density($density) {
        $field-typography: mat.define-typography-config(
            $body-1: mat.define-typography-level(12px, 24px, 400),
        );
        @include mat.typography-level($field-typography, 'body-1');
        @include mat.form-field-density($density);
        margin-bottom: -18px;   //  leaving a bottom margin 8px
    }
    
    .my-mat-form-field-density-5 {
        @include my-form-field-density(-5);
    }
    
    .my-mat-form-field-density-8 {
        @include my-form-field-density(-8);
    }
    

    What troubleshooting steps have you tried?

    .my-mat-form-field-density-8 {
        @include my-form-field-density(-8);
    }
    

    Reproduction

    @use '@angular/material' as mat;

    @mixin my-form-field-density($density) { $field-typography: mat.define-typography-config( $body-1: mat.define-typography-level(12px, 24px, 400), ); @include mat.typography-level($field-typography, 'body-1'); @include mat.form-field-density($density); margin-bottom: -18px; // leaving a bottom margin 8px }

    .my-mat-form-field-density-5 { @include my-form-field-density(-5); }

    .my-mat-form-field-density-8 { @include my-form-field-density(-8); }

    
    
    ### Environment
    
    Angular: 15.0.4
    CDK/Material: 15.0.3
    Browser(s): Safari 16.2
    Operating System: macOS
    
    troubleshooting needs triage 
    opened by diuming 0
  • bug(COMPONENT): MatCalendar does not show initially selected date

    bug(COMPONENT): MatCalendar does not show initially selected date

    Is this a regression?

    • [ ] Yes, this behavior used to work in the previous version

    The previous version in which this bug was not present was

    No response

    Description

    When I'm using the mat-calendar component, it doesn't show the initially selected date. I've tried locally and modifying a StackBlitz example from the docs (see reproduction). Neither seem to work.

    Reproduction

    Steps to reproduce:

    1. Set an initial value for the selected input to a value that differs from today. (eg. new Date(2010,10,9)).
    2. The calendar shows today as selected.

    Example: https://stackblitz.com/edit/angular-34hcys?file=src%2Fapp%2Fdatepicker-inline-calendar-example.ts

    Expected Behavior

    The component should show the initial value.

    Actual Behavior

    The component always sets the default value to today.

    Environment

    • Angular: 14.2.12
    • CDK/Material: 14.2.7 / 14.2.7
    • Browser(s): Chrome 108
    • Operating System (e.g. Windows, macOS, Ubuntu): MacOS (Monterey)
    needs triage 
    opened by alberthaff 0
  • bug(drag-drop): cdk-drop-list-receiving class isn't updated when using OnPush change detection strategy

    bug(drag-drop): cdk-drop-list-receiving class isn't updated when using OnPush change detection strategy

    Is this a regression?

    • [ ] Yes, this behavior used to work in the previous version

    The previous version in which this bug was not present was

    No response

    Description

    The cdk-drop-list-receiving class isn't updated when using OnPush change detection strategy. When reverting to the default change detection strategy, the issue's no longer present.

    Reproduction

    https://stackblitz.com/edit/angular-kd4k7k?file=src/app/drop-list.component.css

    Steps to reproduce:

    1. Start dragging an item

    Expected Behavior

    Receiving connected lists should change their background colour to red.

    Actual Behavior

    Receiving connected lists does not change their background colour to red until the item is dragged to one of them.

    Also if the item is dragged to a receiving list and then back to its original list and dropped there, the class isn't cleared from the previously receiving list.

    Environment

    • Angular: 15.0.4
    • CDK/Material: 15.0.3
    • Browser(s): Chrome
    • Operating System (e.g. Windows, macOS, Ubuntu): macOS
    needs triage 
    opened by JohnKis 0
  • bug(mat-button-toggle): Font family is hardcoded to Roboto

    bug(mat-button-toggle): Font family is hardcoded to Roboto

    Is this a regression?

    • [x] Yes, this behavior used to work in the previous version

    The previous version in which this bug was not present was

    v14

    Description

    In the mat-button-toggle component, the font family is hardcoded to Roboto, instead of following the font family defined in the theming.

    I suspect the following code in _button-toggle-theme.scss is the origin of the bug:

    .mat-button-toggle {
        font-family: Roboto, "Helvetica Neue", sans-serif;
    }
    

    Reproduction

    https://stackblitz.com/edit/components-issue-sneeqc?file=src/app/example-component.html

    Steps to reproduce:

    1. Create a mat-button-toggle inside a mat-button-toggle-group
    2. Set the font-family to Times New Roman for the body

    Expected Behavior

    I expected the text inside the toggle button to be in Times New Roman.

    Actual Behavior

    The text inside the toggle button remained Roboto.

    Environment

    • Angular: 15.0.0
    • CDK/Material: 15.0.0
    • Browser(s): Edge (version 108.0.1462.54)
    • Operating System (e.g. Windows, macOS, Ubuntu): Windows 11 (build 22000.978)
    needs triage 
    opened by antonthomas 0
Releases(15.1.0-next.2)
  • 15.1.0-next.2(Dec 14, 2022)

    15.1.0-next.2 "cashmere-cardigan" (2022-12-14)

    material

    | Commit | Description | | -- | -- | | fix - dcf2fac042 | chips: implement ariaDescription with aria-describedby (#26105) | | fix - f8dd0180cd | core: better handling of css variables in theme palettes (#26260) | | fix - 46a4db2d4f | form-field: allow getting harness by validity (#26232) | | fix - 9f4557a730 | form-field: prevent focus overlay stealing clicks (#26229) | | fix - 1cc831c507 | menu: add selector for projecting non-Material icons (#26235) | | fix - c8961cd134 | schematics: fix card tmpl migration (#26169) | | fix - 06fe1f2f50 | schematics: fix transform for FloatLabelType (#26234) | | fix - 399890651a | slider: avoid manual fixing values on pointer up (#26215) | | fix - 03264d8f25 | tabs: allow both foreground and background colors to be set (#26212) | | fix - e19addb084 | toolbar: don't override colors of themed buttons (#26222) |

    cdk

    | Commit | Description | | -- | -- | | fix - 08c5a12e87 | stepper: set focus origin when navigating with keyboard (#26239) |

    Special Thanks

    Amy Sorto, Kristiyan Kostadinov, Miles Malerba, Ruslan Nevecheria, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 15.0.3(Dec 14, 2022)

    15.0.3 "velvet-village" (2022-12-14)

    material

    | Commit | Description | | -- | -- | | fix - 80c4321ddd | core: better handling of css variables in theme palettes (#26260) | | fix - 67db1a6043 | form-field: allow getting harness by validity (#26232) | | fix - df7ac2709a | form-field: prevent focus overlay stealing clicks (#26229) | | fix - 1e93df3ab3 | menu: add selector for projecting non-Material icons (#26235) | | fix - 83825bd5c3 | schematics: fix card tmpl migration (#26169) | | fix - ae3c77835a | schematics: fix transform for FloatLabelType (#26234) | | fix - fee5d0b7d3 | slider: avoid manual fixing values on pointer up (#26215) | | fix - 15c77e0950 | tabs: allow both foreground and background colors to be set (#26212) | | fix - 0ca8c77349 | toolbar: don't override colors of themed buttons (#26222) |

    cdk

    | Commit | Description | | -- | -- | | fix - 325475774f | stepper: set focus origin when navigating with keyboard (#26239) |

    Special Thanks

    Kristiyan Kostadinov, Miles Malerba, Ruslan Nevecheria and Wagner Maciel

    Source code(tar.gz)
    Source code(zip)
  • 15.1.0-next.1(Dec 8, 2022)

    15.1.0-next.1 "polycarbonate-parrot" (2022-12-08)

    material

    | Commit | Description | | -- | -- | | fix - 1d2d7e11c3 | button: ensure svg icon is centered (#26146) | | fix - 33f704c01e | chips: set correct cursor on interactive chips (#26171) | | fix - 93818e5338 | dialog: change width to not cut off form field in component example (#26157) | | fix - b3da94a094 | form-field: allow ng-container to be used as prefix/suffix (#26127) | | fix - 5b57863702 | list: align color scheme between single and multi selection list (#26074) | | fix - 3d298e0fb7 | list: remove previously removed API (#26165) | | fix - a007b92ebd | schematics: some snack bar styles not being migrated (#26180) | | fix - 1a8d04189f | schematics: update flat button styles class name mapping (#26158) | | fix - 7b98f1af1a | tabs: icons not centered inside tab (#26053) | | perf - efb7f2ee9f | core: delegate trigger events (#26147) | | perf - 8719700f72 | tabs: reduce amount of CSS generated for background color (#26186) |

    cdk

    | Commit | Description | | -- | -- | | fix - f99af6d044 | listbox: set initial focus to selected option (#26174) |

    Special Thanks

    Amy Sorto, Kristiyan Kostadinov, Miles Malerba, Shauni and Wagner Maciel

    Source code(tar.gz)
    Source code(zip)
  • 15.0.2(Dec 8, 2022)

    15.0.2 "polystyrene-penguin" (2022-12-08)

    material

    | Commit | Description | | -- | -- | | fix - c388758606 | button: ensure svg icon is centered (#26146) | | fix - afd6e1a277 | chips: set correct cursor on interactive chips (#26171) | | fix - 639fa52ff1 | dialog: change width to not cut off form field in component example (#26157) | | fix - 976562f35e | form-field: allow ng-container to be used as prefix/suffix (#26127) | | fix - 0a617d6f0f | list: remove previously removed API (#26165) | | fix - 679df1a074 | schematics: some snack bar styles not being migrated (#26180) | | fix - 1ab52961b0 | schematics: update flat button styles class name mapping (#26158) | | fix - 3bb07ae9d9 | tabs: icons not centered inside tab (#26053) | | perf - 356aab723c | core: delegate trigger events (#26147) | | perf - a526ede4af | tabs: reduce amount of CSS generated for background color (#26186) |

    cdk

    | Commit | Description | | -- | -- | | fix - dac9e81f78 | listbox: set initial focus to selected option (#26174) |

    Special Thanks

    Amy Sorto, Kristiyan Kostadinov, Miles Malerba, Shauni and Wagner Maciel

    Source code(tar.gz)
    Source code(zip)
  • 15.1.0-next.0(Nov 30, 2022)

    15.1.0-next.0 "calcite-cranium" (2022-11-30)

    material

    | Commit | Description | | -- | -- | | feat - 8554e1538 | datepicker: Support drag and drop to adjust date ranges (#25548) | | feat - c370e064d | tabs: add a harness filter for tab selected state (#25806) | | fix - 44657e262 | autocomplete: apply theme of parent form field to panel (#25983) | | fix - 9b1f49f6f | chips: add support for aria-description (#25935) | | fix - d02cc6817 | datepicker: fix date picker shortcuts (#25951) | | fix - 57676e467 | list: add radio toggles (#25933) |

    cdk

    | Commit | Description | | -- | -- | | feat - e0a74b9c2 | menu: Allow setting cdkMenuTriggerFor null (#25818) |

    Special Thanks

    Amy Sorto, David Klingenberg, Joey Perrott, Karl Seamon, Miles Malerba, Sasidharan SD, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 15.0.1(Nov 30, 2022)

    15.0.1 "gypsum-garland" (2022-11-30)

    material

    | Commit | Description | | -- | -- | | fix - 0cd409e5b | chips: initial value from forms not reflected in the view (#26052) | | fix - a64ded01e | chips: make focus overlay not affect text color (#25892) | | fix - a779d210a | core: icons not aligned inside mat-option (#26054) | | fix - c0311aa37 | core: reintroduce opacity in elevation mixin (#26015) | | fix - 4300f3929 | core: ripples not being removed if container is hidden (#26096) | | fix - 261820ea2 | datepicker: date range inputs not aligning in some cases (#25967) | | fix - dc4e451a2 | datepicker: resolve typing issue when extending datepicker input in legacy app (#25988) | | fix - e0917085d | form-field: allow clicking on floating label (#26110) | | fix - 00618a99c | form-field: change selector to allow density class on form field (#26075) | | fix - 16ae0be2b | form-field: don't block click on prefix/suffix when disabled (#25987) | | fix - febf5dc06 | form-field: not visually disabled if form control is disabled without emitting an event (#26088) | | fix - e922f03be | list: allow mat-list-item outside list (#26092) | | fix - 78bd450f1 | list: hover indication blocking interactions (#26016) | | fix - 6e40e97be | list: pointer events disabled around content (#26012) | | fix - a9fea8f14 | schematics: add undefined check (#26081) | | fix - ffb5d077c | schematics: ensure mdc migration compatibility with nx (#26027) | | fix - a804a949d | schematics: improve mdc-migration error logging (#26060) | | fix - f61a21382 | select: changed after checked error if option label changes (#23315) | | fix - 1566ab10d | slide-toggle: focus indication not showing inside OnPush parent (#26111) | | fix - c9a5474f4 | slider: fix slider resize w/ transforms (#26044) | | fix - 8aa4a49d7 | slider: form control w/ initial disabled state (#25972) | | fix - dcde7684f | slider: update VI when toggling discrete (#25985) | | fix - c70875d38 | toolbar: inherit toolbar color in flat buttons (#26089) | | perf - 7755aa547 | chips: reduce amount of macro tasks (#26113) |

    cdk

    | Commit | Description | | -- | -- | | fix - e1686a87f | a11y: live announcer not working with aria-modal element (#25978) | | fix - 52e8f448a | menu: not closing when inside shadow DOM (#26112) | | fix - 84bb6608f | menu: prevent default selection key actions (#26051) | | fix - a3c4c00e9 | menu: remove unused var (#26140) |

    multiple

    | Commit | Description | | -- | -- | | fix - 8b53abda9 | remove touch tap highlights (#26073) |

    Special Thanks

    Andy Chrzaszcz, Bobby Galli, Joey Perrott, Kristiyan Kostadinov, Miles Malerba, Paul Gschwendtner, Totati, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0(Nov 16, 2022)

    15.0.0 "diamond-dinosaur" (2022-11-16)

    Breaking Changes

    material

    • The following components have been re-implemented based on MDC:
      • mat-autocomplete
      • mat-button
      • mat-fab
      • mat-icon-button
      • mat-card
      • mat-chip-list (now split into the following three components: mat-chip-set, mat-chip-listbox, and mat-chip-grid to better represent the different interaction patterns)
      • mat-option
      • mat-optgroup
      • mat-dialog (passing strings for MatDialogConfig.enterAnimationDuration and MatDialogConfig.exitAnimationDuration is deprecated, pass numbers in ms instead)
      • mat-action-list
      • mat-list
      • mat-list-item
      • mat-list-option
      • mat-nav-list
      • mat-selection-list
      • mat-menu
      • mat-radio-group
      • mat-radio-button
      • mat-select
      • mat-slide-toggle
      • mat-slider (has a new API that requires a <input matSliderThumb> element)
      • mat-snack-bar
      • mat-table
      • mat-tabs
    • The TypeScript API should remain largely unchanged, but the DOM and CSS classes for these components have changed.
    • See the MDC migration guide for more information about the changes and how to migrate your app: https://material.angular.io/guide/mdc-migration.
    • Buttons inside the datepicker popup and datepicker toggle now use the MDC-based button implementation. They have different CSS classes and styles, so custom style overrides may need to be updated.

    material-luxon-adapter

    • The MatLuxonDateModule now requires at least version 3 of Luxon.## Deprecations

    material

    • startDateLabel and endDateLabel for mat-datepicker are deprecated because they are not used.

    material-luxon-adapter

    | Commit | Description | | -- | -- | | feat - e1c0c5528a | update to luxon 3 (#25660) |

    youtube-player

    | Commit | Description | | -- | -- | | feat - f000b2f25b | support no cookie mode (#25165) |

    material

    | Commit | Description | | -- | -- | | feat - 532454b17a | autocomplete: switch implementation to use MDC (#25386) | | feat - 87e17aac0b | button: add variant to button harness (#25770) | | feat - 00f4abe859 | button: Switch button implementation to use MDC (#25381) | | feat - a928639e94 | card: Switch card implementation to use MDC (#25082) | | feat - e8e7199744 | checkbox: refactor pseudo-checkbox size styles (#25419) | | feat - 9ac264f10d | checkbox: switch implementation to use MDC (#25369) | | feat - 3b87655f9e | checkbox: update pseudo-checkbox size (#25425) | | feat - dc74aa382c | checkbox: use -size for legacy checkbox (#25424) | | feat - d496ebec00 | chips: switch implementation to use MDC (#25400) | | feat - 73ef52ce17 | core: add option to disable core typography (#25706) | | feat - 3463c5a38c | core: delete deprecated legacy theming API tests (#25265) | | feat - 742d858b9a | core: make mdc-based typography default (#25551) | | feat - 7e94186fd5 | core: move MDC-based elevation styles out of experimental (#25486) | | feat - 3fd20a7c53 | core: move mdc-helpers to material/core | | feat - 3b769b3eb3 | core: remove typography styles from core mixin (#25723) | | feat - 5b8d5214fe | core: switch option implementation to use MDC (#25343) | | feat - d70fd6c2de | datepicker: expose datepicker symbols (#25552) | | feat - ca54283837 | datepicker: make compatible with MDC & legacy components (#25648) | | feat - 439852ba8a | dialog: Switch dialog implementation to use MDC (#25352) | | feat - 119dd4bcfa | form-field: Ability to support custom error message components inside a form field (#25399) | | feat - 36af2a3fbe | form-field: add error harness (#25698) | | feat - 3db6b1d1ba | form-field: switch implementation to use MDC | | feat - 6883100b4c | input: switch implementation to use MDC | | feat - 750dad699f | legacy-core: create legacy-core entry point | | feat - 5f0f071ac5 | list: switch implementation to use MDC list (#25445) | | feat - 20db76d3e9 | menu: switch implementation to use MDC (#25431) | | feat - f7385ffc8a | paginator: migrate MDC examples (#25497) | | feat - 8f11370e5e | paginator: Switch paginator implementation to use MDC (#25456) | | feat - f384c24b94 | progress-bar: Switch progress-bar implementation to use MDC (#25234) | | feat - 4a6a0f18bb | radio: switch implementation to use MDC (#25409) | | feat - 7b5bb76d32 | schematics: add autocomplete styles migrator and tests | | feat - 8f8f06f229 | schematics: add card styles migrator and tests | | feat - ee5a8362ad | schematics: add checkbox styles migrator and tests | | feat - 0108de5aff | schematics: add chips styles migrator and tests | | feat - 825688f82e | schematics: add chips template migrator (#24601) | | feat - 98d09ffc18 | schematics: add dialog styles migrator and tests | | feat - 801c23cc00 | schematics: add fn for adding attrs to templates (#24550) | | feat - dcc98295b4 | schematics: add form-field styles migrator and tests | | feat - 226696d1d2 | schematics: add handling for all-component-themes (#25528) | | feat - 6eac002704 | schematics: add input styles migrator and tests | | feat - bcacdde9ff | schematics: add list styles migrator and tests | | feat - 6b24f9614d | schematics: add menu styles migrator and tests | | feat - d1bbcd64da | schematics: add paginator styles migrator and tests | | feat - e856da1a63 | schematics: add progress bar styles migrator and tests | | feat - a12f268aaf | schematics: add progress spinner styles migrator and tests | | feat - da07c36e7e | schematics: add radio styles migrator and tests | | feat - 479267207e | schematics: add select styles migrator and tests | | feat - 7646c73c32 | schematics: add slide toggle styles migrator and tests | | feat - d8f1cce07f | schematics: add slider styles migrator and tests | | feat - 7460ccdd12 | schematics: add snack-bar styles migrator and tests | | feat - 0554f1823e | schematics: add style migration support within typescript files (#25339) | | feat - 84398f4b3b | schematics: add table styles migrator and tests | | feat - 688443a93d | schematics: add tabs styles migrator and tests | | feat - 983f66460e | schematics: add template migration support within typescript files (#25496) | | feat - 6feaaea067 | schematics: add template migration to schematic (#24563) | | feat - 2159f2e5e9 | schematics: add the scaffolding for an mdc-migration schematic (#23804) | | feat - 331b53c272 | schematics: add tooltip styles migrator and tests | | feat - c682965262 | schematics: create updateModuleSpecifier ts migration fn (#25128) | | feat - d388adfe1c | schematics: create updateNamedImport ts migration fn (#25132) | | feat - 15906c7084 | schematics: impl card template migration (#24566) | | feat - 938802f7e4 | schematics: impl mat-mdc ts v15 ng-update (#25447) | | feat - 1e5dc8a7f2 | schematics: implement basic ts import migrations (#24797) | | feat - 1a99002343 | schematics: initial foundation for TS code migrators | | feat - f24a49f9b8 | schematics: initial setup for template migrations (#24515) | | feat - 8b147716c5 | schematics: initial setup for v15 ng-update (#25102) | | feat - cb7212397a | schematics: set up a system for migrating scss (#24326) | | feat - 33c3277207 | schematics: tree operation helper functions (#24539) | | feat - fad4f9bfb9 | schematics: v15 migrate imports (#25133) | | feat - 00d5f27e6f | schematics: v15 ng-update scss migration (#25395) | | feat - 8ca3155db7 | select: add page down/up button functionality (#25508) | | feat - bf6f38abd7 | select: switch implementation to use MDC (#25360) | | feat - a1bb436f01 | slide-toggle: Switch slide-toggle implementation to use MDC (#25404) | | feat - b863b14d20 | slider: switch implementation to use MDC (#25420) | | feat - 950d4377f4 | snack-bar: Switch snack-bar implementation to use MDC (#25458) | | feat - a8f847cbbb | table: migrate MDC examples (#25492) | | feat - 31a754c904 | table: pass this rather than concrete classes in the harnesses (#25482) | | feat - e3b80324c3 | table: Switch table implementation to use MDC (#25453) | | feat - 1fcdc27f46 | tabs: Switch tabs implementation to use MDC (#25411) | | feat - 1337f36f24 | tooltip: add option to open tooltip at mouse position (#25202) | | feat - 2fc05f584c | tooltip: migrate MDC examples (#25495) | | feat - fd2811b54d | tooltip: switch to MDC implementation (#25209) | | fix - 9f0071dc4c | button: cdk-focus classes not being applied (#25619) | | fix - 518b2b63aa | button: remove dependency on legacy button (#25579) | | fix - c440f844ec | card: don't add extra padding around mat-card-title-group (#25292) | | fix - 1ade334525 | card: remove card deps on legacy-card | | fix - 8a1cf8cdd3 | checkbox: disabled state not distinguishable in high contrast mode (#25788) | | fix - 4926cc57ee | chips: allow focusing disabled listbox options (#25771) | | fix - 17e217acd8 | chips: aria-selected not reflecting selection state (#25742) | | fix - 147a354ec7 | chips: don't remove aria-selected from deselected options (#25748) | | fix - 0f52389340 | chips: show checkmark for selected non-selectable chips (#25942) | | fix - 8643c9ccb5 | chips: use checkmark graphic for single-selection (#25890) | | fix - 1e969dd6a1 | core: add flag whether to copy color theme values (#25695) | | fix - c14d176842 | core: add optional warning for incomplete themes (#25654) | | fix - 9dbc4fd703 | core: add typography hierarchy to prebuilt (#25746) | | fix - c35763be97 | core: add typography to prebuilt themes (#25696) | | fix - a310fefb90 | core: default font family not picked up in define-typography-config (#25789) | | fix - 7021954dea | core: fix swapped units in define-typography functions (#25615) | | fix - fd5afe7038 | core: Move remaining MDC core functionality out of experimental (#25503) | | fix - e73ba59d7b | core: remove core style parameters (#25738) | | fix - 69efb41949 | core: switch typography hierarchy to new terminology | | fix - e3adcfe69a | core: use full theme config definitions to prebuilt themes (#25656) | | fix - bf9f2ec1d5 | core: warn when legacy theme is created (#25625) | | fix - 2704c310a3 | datepicker: announce the "to" when reading year range (#24958) | | fix - 67212ba4f4 | datepicker: calendar aria-descriptions start/end date (#25457) | | fix - 59b5d5ef44 | datepicker: changed after checked error during overlapping open/close sequence (#25843) | | fix - 0971e39485 | datepicker: unable to click datepicker toggle when form field is disabled (#25863) | | fix - 4cdc0956f9 | dialog: allow customizing animation duration (#25524) | | fix - 5e34770a41 | dialog: remove dialog deps on legacy-dialog | | fix - f9a4b97376 | dialog: using incorrect mixin for structural styles (#25356) | | fix - a0d74daf94 | form-field: fix typography for native input element (#25616) | | fix - fdb30adabe | form-field: remove hardcoded 16px label padding (#25383) | | fix - e3b679da00 | input: fix input prefix & suffix disabled color (#25398) | | fix - 29ed93a100 | legacy-autocomplete: deprecate all ts symbols | | fix - b10189809b | legacy-button: deprecate all ts symbols | | fix - 5caa44efcf | legacy-button: rename classnames in comments (#25459) | | fix - 3c60fe903c | legacy-button: rename classnames in comments (#25460) | | fix - a5a12b9f88 | legacy-card: deprecate all ts symbols | | fix - ab22cab5bc | legacy-checkbox: deprecate all ts symbols | | fix - aaf6a66a6b | legacy-checkbox: fix scss mixin names (#25442) | | fix - 2cadc901ee | legacy-chips: deprecate all ts symbols | | fix - ecdabb8412 | legacy-core: deprecate all ts symbols | | fix - 9bd852330e | legacy-core: name all ts symbols to reflect legacy-ness (#25673) | | fix - 5afe24de4e | legacy-dialog: deprecate all ts symbols | | fix - d527ddf0e0 | legacy-form-field: deprecate all ts symbols | | fix - 86c4a9d394 | legacy-form-field: remove invalid selector (#25554) | | fix - cf0dd6cca6 | legacy-input: deprecate all ts symbols | | fix - e67e49325d | legacy-list: deprecate all ts symbols | | fix - 4e56db6b08 | legacy-menu: deprecate all ts symbols | | fix - bc2fc6d4c0 | legacy-menu: rename missed ts symbol | | fix - b6f9d66b81 | legacy-paginator: deprecate all ts symbols | | fix - c3684dbef1 | legacy-progress-bar: deprecate all ts symbols | | fix - 36a54d3c2c | legacy-progress-spinner: deprecate all ts symbols | | fix - bbb9130cfd | legacy-radio: deprecate all ts symbols | | fix - 4bb3554c5c | legacy-select: deprecate all ts symbols | | fix - 1edd3908e9 | legacy-select: rename missed ts symbol | | fix - 13d8524be5 | legacy-slide-toggle: deprecate all ts symbols | | fix - cfadfc078c | legacy-slider: deprecate all ts symbols | | fix - 9fc3051107 | legacy-snack-bar: deprecate all ts symbols | | fix - 30f88b0853 | legacy-table: deprecate all ts symbols | | fix - 8fb62e50cf | legacy-tabs: deprecate all ts symbols | | fix - de5d41bf38 | legacy-tooltip: deprecate all ts symbols | | fix - bd8ab0c3a4 | legacy-tooltip: rename missed ts symbol | | fix - a106eba5a6 | list: communicate current active page with aria-current (#25681) | | fix - 6ed06a7dd3 | list: fix selection-list staying in tab order when disabled (#25735) | | fix - 8baae7342e | list: fix tabindex="-1" not being maintained when disabled (#25860) | | fix - 2686bfef39 | list: visually indicate active links in HCM (#25679) | | fix - 3b7c939308 | menu: custom origin in focusFirstItem not respected on open (#25812) | | fix - 73550546e4 | menu: update submenu indication when menu is assigned (#25608) | | fix - 07421d02fe | paginator: remove deps on legacy components | | fix - 9331866b11 | progress-bar: add coercion for number inputs (#25585) | | fix - c5c8e64f10 | progress-bar: remove dependency on legacy progress bar (#25581) | | fix - f9583184d6 | progress-spinner: remove dependency on legacy progress spinner (#25583) | | fix - 1655a69021 | radio: radio not preselected with static value and an ngIf (#25852) | | fix - 8ec486452b | schematics: add attr for multi-line start tags (#24586) | | fix - a612df148e | schematics: add binding parsing logic (#25910) | | fix - e801a7656e | schematics: add clarification about directory path format for MDC migration schematic (#25969) | | fix - 3d3656a00d | schematics: add comment for potentially deprecated styles after a migration | | fix - 4a512cf29a | schematics: add custom replacements for imports | | fix - df50b0721f | schematics: add explicit typography @include in v15 update (#25724) | | fix - a64186a45b | schematics: add handling for invert and vertical (#25922) | | fix - 4e468a9b15 | schematics: add handling for several api changes (#25943) | | fix - d3c0a25256 | schematics: add missing component to migration list (#25443) | | fix - 7b7ad32eb2 | schematics: add missing legacy sass mixin transforms | | fix - 69904a078e | schematics: add missing legacy TS symbol transforms | | fix - 4a3ae58027 | schematics: add renaming of non standard symbols (#25523) | | fix - f1658695a2 | schematics: add slider input & change template updates (#25952) | | fix - 425fd7dc32 | schematics: add support for all-components-theme mixin | | fix - f231404191 | schematics: add support for replacing mixins that begin with all-legacy-component | | fix - 18569b8242 | schematics: avoid mutating the AST when traversing (#25964) | | fix - a34a28458b | schematics: avoid re-entrant processing in MDC style migration | | fix - cfc9230295 | schematics: correctly migrate theme, color & typography | | fix - fd11f2b4d5 | schematics: ensure test files are included in migration (#25757) | | fix - 19d0b3613a | schematics: files with inline resources overwritten by ng-generate (#25744) | | fix - 018a6f7965 | schematics: fix calling .match on null | | fix - 8e2a666c72 | schematics: fix icon button selector and move button migrator to its own folder | | fix - 14958dfbdc | schematics: fix mdc migration schematics after rebasing (#25285) | | fix - a0ec4becac | schematics: fix various issues with mdc-migration (#25772) | | fix - 0b423d4c63 | schematics: gracefully skip broken css files (#25767) | | fix - d0a89aef32 | schematics: handle input level in typography migration (#25949) | | fix - 92b2299e4a | schematics: improve instructions for dealing with typography changes (#25950) | | fix - 1289310d46 | schematics: improve sass comment adding logic | | fix - 169bc2e4d6 | schematics: incorrect partial migration after typography hierarchy inclusion | | fix - cd2f13c27e | schematics: initialize slider template migrator (#25898) | | fix - 5ab25d0232 | schematics: make ts import replacements more specific (#25504) | | fix - 9acb7b282f | schematics: make ts symbol renamings more specific (#25522) | | fix - 056911822c | schematics: migrate legacy typography hierarchy usages in CSS | | fix - 6cee17e7ce | schematics: migrate named arguments in define-typography-config (#25907) | | fix - 9cdb4dbf4d | schematics: migrate typography hierarchy classes in templates | | fix - 32827ac58a | schematics: migrate typography-hierarchy mixin to legacy | | fix - ec116ab024 | schematics: move value bindings to slider thumb (#25916) | | fix - 08f6ef4357 | schematics: not migrating elements with template directives (#25956) | | fix - b85bb6eed3 | schematics: remove node_modules prefix from prebuilt theme | | fix - 65086c19a0 | schematics: rename references in MDC generate schematic (#25773) | | fix - b9ee368e2a | schematics: replace all-component-themes mixin with MDC equivalent instead of adding each component's theme | | fix - 9d5f0f3cff | schematics: replace pre-existing attribute values (#25754) | | fix - de301a8768 | schematics: respect specified directory in mdc migration (#25810) | | fix - abb177b4eb | schematics: split core imports in ng update (#25678) | | fix - 9a5f931aa1 | schematics: switch away from legacy components (#25839) | | fix - 15288a9aad | schematics: update and handle import statements for the MDC migration | | fix - 19008ef73e | schematics: update deprecated prefix field to take multiple prefixes | | fix - af72eda181 | schematics: update sass function names | | fix - 53b6b52510 | schematics: update test setup function name in template migration test | | fix - 2c9c7875cd | schematics: update theme names for MDC migration schematic (#25550) | | fix - b88e2ee178 | schematics: update typescript symbols in test code | | fix - 03f19cb6df | select: don't assign typeahead value after blur (#25811) | | fix - 9be94a0bfb | select: fix arrow alignment (#25626) | | fix - 19c45c5efb | slide-toggle: align colors with spec (#25792) | | fix - 3c01ef3101 | slide-toggle: animations not disabled with NoopAnimationsModule (#25821) | | fix - a3e6b58482 | slide-toggle: remove slide-toggle deps on legacy-slide-toggle | | fix - 25a3b1b517 | slider: fix track animation (#25924) | | fix - e8e91538f4 | snack-bar: fix legacy reference in docs | | fix - 4b1ecdf71a | sort: remove deps on legacy components | | fix - b98ae5ac07 | stepper: remove deps on legacy components | | fix - eafea5200c | table: cleanup legacy usage (#25525) | | fix - b70c18bcfe | table: fix legacy reference in docs | | fix - 66632c9c99 | tabs: avoid reference error (#25928) | | fix - c586fe6fc5 | tabs: remove tabs deps on legacy-tabs | | fix - 4fbe168167 | tabs: wrong disabled class on tab pagination button (#25832) | | fix - 218297aaee | tooltip: animations running when timeouts haven't elapsed (#25699) | | fix - 04ea76cd01 | tooltip: remove tooltip deps on legacy-tooltip | | fix - 9769a5adab | tooltip: resolve server-side rendering error (#25728) | | refactor - 2b2cd6e3e8 | datepicker: deprecate unused i18n strings (#25791) |

    cdk

    | Commit | Description | | -- | -- | | feat - 0734564c71 | listbox: add listbox to cdk (#25380) | | feat - a2cf3f6cc8 | menu: add support for passing in data to the menu template (#25778) | | feat - 7a24e95baf | portal: support projectableNodes in component portal (#25185) | | fix - b5f15f426c | a11y: clean up list key manager on destroy (#25715) | | fix - 992cafc395 | listbox: incorrectly validating preselected value (#25893) | | fix - 9e4d57cd21 | listbox: prevent form submission on click (#25858) | | fix - 48d666b111 | listbox: remove incorrect usage of validator (#25856) | | fix - 4b757e6eba | overlay: provide Overlay in root (#25909) |

    multiple

    | Commit | Description | | -- | -- | | fix - 285f46dc2b | deprecate all legacy sass mixins | | fix - fa599b7033 | ensure all public theming mixins are exposed at top-level (#25805) | | fix - cff2153093 | resolve extended template diagnostic warnings (#25546) |

    Special Thanks

    Alan Agius, Alvaro Junqueira, Amy Sorto, Andrew Kamarouski, Andrew Seguin, ConnorLin, Jeremy Elbourn, Jeremy Mowery, Kevin Lee / 이지환, Kristiyan Kostadinov, Martin Forstner, Mike Jerred, Miles Malerba, Paul Gschwendtner, Wagner Maciel, Zach Arend and angular-robot[bot]

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-rc.3(Nov 14, 2022)

    15.0.0-rc.3 "felt-feather" (2022-11-14)

    material

    | Commit | Description | | -- | -- | | fix - e801a7656e | schematics: add clarification about directory path format for MDC migration schematic (#25969) | | fix - 4e468a9b15 | schematics: add handling for several api changes (#25943) | | fix - f1658695a2 | schematics: add slider input & change template updates (#25952) | | fix - 18569b8242 | schematics: avoid mutating the AST when traversing (#25964) | | fix - d0a89aef32 | schematics: handle input level in typography migration (#25949) | | fix - 92b2299e4a | schematics: improve instructions for dealing with typography changes (#25950) | | fix - 08f6ef4357 | schematics: not migrating elements with template directives (#25956) | | fix - 25a3b1b517 | slider: fix track animation (#25924) |

    Special Thanks

    Amy Sorto, Kristiyan Kostadinov, Miles Malerba and Wagner Maciel

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-rc.2(Nov 9, 2022)

    15.0.0-rc.2 "steam-soul" (2022-11-09)

    material

    | Commit | Description | | -- | -- | | fix - 0f52389340 | chips: show checkmark for selected non-selectable chips (#25942) | | fix - 8643c9ccb5 | chips: use checkmark graphic for single-selection (#25890) | | fix - 69efb41949 | core: switch typography hierarchy to new terminology | | fix - a612df148e | schematics: add binding parsing logic (#25910) | | fix - a64186a45b | schematics: add handling for invert and vertical (#25922) | | fix - a34a28458b | schematics: avoid re-entrant processing in MDC style migration | | fix - 169bc2e4d6 | schematics: incorrect partial migration after typography hierarchy inclusion | | fix - 056911822c | schematics: migrate legacy typography hierarchy usages in CSS | | fix - 9cdb4dbf4d | schematics: migrate typography hierarchy classes in templates | | fix - 32827ac58a | schematics: migrate typography-hierarchy mixin to legacy | | fix - ec116ab024 | schematics: move value bindings to slider thumb (#25916) | | fix - 274a114f58 | stepper: content not visibile on first navigation when nested in tabs (#25930) | | fix - 66632c9c99 | tabs: avoid reference error (#25928) |

    cdk

    | Commit | Description | | -- | -- | | fix - f3bce0bf0c | scrolling: error when querying for CdkVirtualScrollViewport as CdkScrollable (#25937) |

    Special Thanks

    Douglas Parker, Jeremy Elbourn, Kristiyan Kostadinov, Paul Gschwendtner, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 14.2.7(Nov 9, 2022)

    14.2.7 "smoke-spirit" (2022-11-09)

    material

    | Commit | Description | | -- | -- | | fix - 53588b51d2 | stepper: add HCM disabled styles for stepper and tabs (#25393) (#25932) | | fix - a1473b93fc | stepper: content not visibile on first navigation when nested in tabs (#25930) |

    cdk

    | Commit | Description | | -- | -- | | fix - f63918a3b8 | scrolling: error when querying for CdkVirtualScrollViewport as CdkScrollable (#25937) |

    Special Thanks

    Douglas Parker, Kristiyan Kostadinov and Wagner Maciel

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-rc.1(Nov 3, 2022)

    15.0.0-rc.1 "feldspar-fence" (2022-11-02)

    material

    | Commit | Description | | -- | -- | | fix - 8baae7342 | list: fix tabindex="-1" not being maintained when disabled (#25860) | | fix - cd2f13c27 | schematics: initialize slider template migrator (#25898) | | fix - 6cee17e7c | schematics: migrate named arguments in define-typography-config (#25907) |

    cdk

    | Commit | Description | | -- | -- | | fix - 992cafc39 | listbox: incorrectly validating preselected value (#25893) | | fix - 4b757e6eb | overlay: provide Overlay in root (#25909) |

    Special Thanks

    Kristiyan Kostadinov, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-rc.0(Oct 26, 2022)

    15.0.0-rc.0 "plastic-platypus" (2022-10-26)

    material

    | Commit | Description | | -- | -- | | fix - 4926cc57e | chips: allow focusing disabled listbox options (#25771) | | fix - 59b5d5ef4 | datepicker: changed after checked error during overlapping open/close sequence (#25843) | | fix - 0971e3948 | datepicker: unable to click datepicker toggle when form field is disabled (#25863) | | fix - 3b7c93930 | menu: custom origin in focusFirstItem not respected on open (#25812) | | fix - 1655a6902 | radio: radio not preselected with static value and an ngIf (#25852) | | fix - b85bb6eed | schematics: remove node_modules prefix from prebuilt theme | | fix - de301a876 | schematics: respect specified directory in mdc migration (#25810) | | fix - 9a5f931aa | schematics: switch away from legacy components (#25839) | | fix - 03f19cb6d | select: don't assign typeahead value after blur (#25811) | | fix - 3c01ef310 | slide-toggle: animations not disabled with NoopAnimationsModule (#25821) | | fix - 169a03b30 | tabs: scroll position lost when tab header is hidden (#25855) | | fix - 4fbe16816 | tabs: wrong disabled class on tab pagination button (#25832) |

    cdk

    | Commit | Description | | -- | -- | | fix - 9e4d57cd2 | listbox: prevent form submission on click (#25858) | | fix - 48d666b11 | listbox: remove incorrect usage of validator (#25856) |

    multiple

    | Commit | Description | | -- | -- | | fix - fa599b703 | ensure all public theming mixins are exposed at top-level (#25805) |

    Special Thanks

    Alan Agius, Alvaro Junqueira, Andrew Seguin, Kristiyan Kostadinov, Miles Malerba, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 14.2.6(Oct 26, 2022)

    14.2.6 "quilt-seagull" (2022-10-26)

    material

    | Commit | Description | | -- | -- | | fix - 89771dcc4 | tabs: scroll position lost when tab header is hidden (#25855) |

    Special Thanks

    Kristiyan Kostadinov

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-next.5(Oct 12, 2022)

    15.0.0-next.5 "snow-swan" (2022-10-12)

    Deprecations

    material

      • startDateLabel is deprecated because it is not used
      • endDateLabel is deprecated because it is not used

    material

    | Commit | Description | | -- | -- | | feat - 87e17aac0b | button: add variant to button harness (#25770) | | fix - 8a1cf8cdd3 | checkbox: disabled state not distinguishable in high contrast mode (#25788) | | fix - 147a354ec7 | chips: don't remove aria-selected from deselected options (#25748) | | fix - a310fefb90 | core: default font family not picked up in define-typography-config (#25789) | | fix - d53e53bf98 | icon: forward fontIcon attribute to element (#25779) | | fix - 6ed06a7dd3 | list: fix selection-list staying in tab order when disabled (#25735) | | fix - a0ec4becac | schematics: fix various issues with mdc-migration (#25772) | | fix - 0b423d4c63 | schematics: gracefully skip broken css files (#25767) | | fix - 65086c19a0 | schematics: rename references in MDC generate schematic (#25773) | | fix - 19c45c5efb | slide-toggle: align colors with spec (#25792) | | refactor - 2b2cd6e3e8 | datepicker: deprecate unused i18n strings (#25791) |

    cdk

    | Commit | Description | | -- | -- | | feat - a2cf3f6cc8 | menu: add support for passing in data to the menu template (#25778) | | fix - 72547a41d4 | drag-drop: native event not passed as parameter to drop container (#25763) |

    Special Thanks

    Joe K, Joey Perrott, Kristiyan Kostadinov, Miles Malerba, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 14.2.5(Oct 12, 2022)

    14.2.5 "hail-heron" (2022-10-12)

    material

    | Commit | Description | | -- | -- | | fix - 79eab3838d | icon: forward fontIcon attribute to element (#25779) |

    cdk

    | Commit | Description | | -- | -- | | fix - b116f57d16 | drag-drop: native event not passed as parameter to drop container (#25763) |

    Special Thanks

    Joe K, Joey Perrott and Kristiyan Kostadinov

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-next.4(Oct 5, 2022)

    15.0.0-next.4 "quartz-quill" (2022-10-05)

    material

    | Commit | Description | | -- | -- | | fix - 9f0071dc4 | button: cdk-focus classes not being applied (#25619) | | fix - 17e217acd | chips: aria-selected not reflecting selection state (#25742) | | fix - 9dbc4fd70 | core: add typography hierarchy to prebuilt (#25746) | | fix - e73ba59d7 | core: remove core style parameters (#25738) | | fix - a106eba5a | list: communicate current active page with aria-current (#25681) | | fix - 2686bfef3 | list: visually indicate active links in HCM (#25679) | | fix - 4a512cf29 | schematics: add custom replacements for imports | | fix - f23140419 | schematics: add support for replacing mixins that begin with all-legacy-component | | fix - cfc923029 | schematics: correctly migrate theme, color & typography | | fix - fd11f2b4d | schematics: ensure test files are included in migration (#25757) | | fix - 19d0b3613 | schematics: files with inline resources overwritten by ng-generate (#25744) | | fix - 018a6f796 | schematics: fix calling .match on null | | fix - 1289310d4 | schematics: improve sass comment adding logic | | fix - 9d5f0f3cf | schematics: replace pre-existing attribute values (#25754) | | fix - 6526277d4 | tooltip: animation not cancelled when mouseleave goes through tooltip (#25740) | | fix - 9769a5ada | tooltip: resolve server-side rendering error (#25728) |

    Special Thanks

    Amy Sorto, Andrew Seguin, Joey Perrott, Kevin Lee / 이지환, Kristiyan Kostadinov, Miles Malerba, Titos Chaniotakis, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 14.2.4(Oct 5, 2022)

    14.2.4 "calcium-coconut" (2022-10-05)

    material

    | Commit | Description | | -- | -- | | fix - 9909f2a33 | tooltip: animation not cancelled when mouseleave goes through tooltip (#25740) |

    Special Thanks

    Joey Perrott, Kristiyan Kostadinov and Titos Chaniotakis

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-next.3(Sep 29, 2022)

    15.0.0-next.3 "blubber-blabber" (2022-09-29)

    material

    | Commit | Description | | -- | -- | | feat - 3b769b3eb3 | core: remove typography styles from core mixin (#25723) | | fix - df50b0721f | schematics: add explicit typography @include in v15 update (#25724) |

    cdk

    | Commit | Description | | -- | -- | | fix - b5f15f426c | a11y: clean up list key manager on destroy (#25715) |

    Special Thanks

    Andrew Seguin, Kristiyan Kostadinov and Miles Malerba

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-next.2(Sep 28, 2022)

    15.0.0-next.2 "bamboo-bear" (2022-09-28)

    Breaking Changes

    material

    • Buttons inside the datepicker popup and datepicker toggle now use the MDC-based button implementation. They have different CSS classes and styles, so custom style overrides may need to be updated

    material-luxon-adapter

    • The MatLuxonDateModule now requires at least version 3 of Luxon.

    material-luxon-adapter

    | Commit | Description | | -- | -- | | feat - e1c0c5528 | update to luxon 3 (#25660) |

    material

    | Commit | Description | | -- | -- | | feat - 73ef52ce1 | core: add option to disable core typography (#25706) | | feat - ca5428383 | datepicker: make compatible with MDC & legacy components (#25648) | | feat - 36af2a3fb | form-field: add error harness (#25698) | | feat - 8ca3155db | select: add page down/up button functionality (#25508) | | fix - 90e644634 | bottom-sheet: aria-modal not being set | | fix - 1e969dd6a | core: add flag whether to copy color theme values (#25695) | | fix - c14d17684 | core: add optional warning for incomplete themes (#25654) | | fix - c35763be9 | core: add typography to prebuilt themes (#25696) | | fix - e3adcfe69 | core: use full theme config definitions to prebuilt themes (#25656) | | fix - 2704c310a | datepicker: announce the "to" when reading year range (#24958) | | fix - 9d6cc6fe2 | dialog: aria-modal not being set | | fix - 9bd852330 | legacy-core: name all ts symbols to reflect legacy-ness (#25673) | | fix - 7b7ad32eb | schematics: add missing legacy sass mixin transforms | | fix - 69904a078 | schematics: add missing legacy TS symbol transforms | | fix - abb177b4e | schematics: split core imports in ng update (#25678) | | fix - 15288a9aa | schematics: update and handle import statements for the MDC migration | | fix - af72eda18 | schematics: update sass function names | | fix - b88e2ee17 | schematics: update typescript symbols in test code | | fix - 94c773dbc | stepper: remove invalid aria attribute (#25644) | | fix - 218297aae | tooltip: animations running when timeouts haven't elapsed (#25699) |

    Special Thanks

    Amy Sorto, Andrew Seguin, James Skinner, Kristiyan Kostadinov, Martin Forstner, Miles Malerba, Paul Gschwendtner, Zach Arend and angular-robot[bot]

    Source code(tar.gz)
    Source code(zip)
  • 14.2.3(Sep 28, 2022)

    14.2.3 "wool-wombat" (2022-09-28)

    material

    | Commit | Description | | -- | -- | | fix - 8c3d79156 | bottom-sheet: aria-modal not being set | | fix - 7d314a87b | dialog: aria-modal not being set | | fix - bc978445b | stepper: remove invalid aria attribute (#25644) | | fix - a9d3bc580 | tooltip: animations running when timeouts haven't elapsed (#25699) (#25701) |

    Special Thanks

    James Skinner, Kristiyan Kostadinov and Paul Gschwendtner

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-next.1(Sep 14, 2022)

    15.0.0-next.1 "ferrofluid-flounder" (2022-09-14)

    material

    | Commit | Description | | -- | -- | | fix - 518b2b63aa | button: remove dependency on legacy button (#25579) | | fix - 1ade334525 | card: remove card deps on legacy-card | | fix - 7021954dea | core: fix swapped units in define-typography functions (#25615) | | fix - bf9f2ec1d5 | core: warn when legacy theme is created (#25625) | | fix - 814ba1b668 | datepicker: restore focus after closing animation (#25567) | | fix - 5e34770a41 | dialog: remove dialog deps on legacy-dialog | | fix - a0d74daf94 | form-field: fix typography for native input element (#25616) | | fix - 73550546e4 | menu: update submenu indication when menu is assigned (#25608) | | fix - 07421d02fe | paginator: remove deps on legacy components | | fix - 9331866b11 | progress-bar: add coercion for number inputs (#25585) | | fix - c5c8e64f10 | progress-bar: remove dependency on legacy progress bar (#25581) | | fix - f9583184d6 | progress-spinner: remove dependency on legacy progress spinner (#25583) | | fix - 9be94a0bfb | select: fix arrow alignment (#25626) | | fix - a3e6b58482 | slide-toggle: remove slide-toggle deps on legacy-slide-toggle | | fix - e8e91538f4 | snack-bar: fix legacy reference in docs | | fix - 4b1ecdf71a | sort: remove deps on legacy components | | fix - b98ae5ac07 | stepper: remove deps on legacy components | | fix - b70c18bcfe | table: fix legacy reference in docs | | fix - c586fe6fc5 | tabs: remove tabs deps on legacy-tabs | | fix - 04ea76cd01 | tooltip: remove tooltip deps on legacy-tooltip |

    cdk

    | Commit | Description | | -- | -- | | fix - c294a3a5e3 | a11y: account for Windows 11 high contrast themes in detector (#25624) | | fix - 1b0265c4a5 | listbox: error with multiple preselected values (#25621) | | fix - eae2620e4b | menu: don't prevent default enter and space actions (#25591) |

    Special Thanks

    Andrew Seguin, ConnorLin, Kristiyan Kostadinov, Miles Malerba, Paul Gschwendtner and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 14.2.2(Sep 14, 2022)

    14.2.2 "cytoplasm-salmon" (2022-09-14)

    material

    | Commit | Description | | -- | -- | | fix - b3e35f3be4 | datepicker: restore focus after closing animation (#25567) |

    cdk

    | Commit | Description | | -- | -- | | fix - 6275f9d41f | a11y: account for Windows 11 high contrast themes in detector (#25624) | | fix - eb5f79bb7b | listbox: error with multiple preselected values (#25621) | | fix - 65af24ee53 | menu: don't prevent default enter and space actions (#25591) |

    Special Thanks

    Kristiyan Kostadinov and Paul Gschwendtner

    Source code(tar.gz)
    Source code(zip)
  • 15.0.0-next.0(Sep 7, 2022)

    15.0.0-next.0 "charcoal-coin" (2022-09-07)

    Breaking Changes

    material

      • DOM and CSS classes for mat-autocomplete have changes.
      • TypeScript API is largely the same but may have minor differences.
    • DOM and CSS classes for mat-button, mat-fab, and mat-icon-button have changed. Typescript API is largely the same but may have minor differences.

      • DOM and CSS classes for mat-card have changes
      • Typescript API is largely the same but may have minor differences
      • See the MDC migration guide for more information about the changes and how to migrate your app (TODO: link when available)
      • mat-chip-list has been split up into three different components: mat-chip-set, mat-chip-listbox and mat-chip-grid to better represent the different interaction patterns.
      • DOM and CSS classes for mat-option and mat-optgroup have changed.
      • Typescript API is largely the same but may have minor differences
      • DOM and CSS classes for mat-dialog have changes
      • Typescript API is largely the same but may have minor differences
      • See the MDC migration guide for more information about the changes and how to migrate your app (TODO: link when available)
      • fixup! feat(material/dialog): Switch dialog implementation to use MDC
      • DOM and CSS classes for the various list components have changed.
      • Typescript API is largely the same but may have minor differences.
      • DOM and CSS classes for mat-menu have changes.
      • Typescript API is largely the same but may have minor differences.
      • DOM and CSS classes for mat-radio-group and mat-radio-button have changes.
      • Typescript API is largely the same but may have minor differences.
      • DOM and CSS classes for mat-select have changes.
      • TypeScript API is largely the same but may have minor differences.
      • DOM and CSS classes for mat-slide-toggle have changes
      • Typescript API is largely the same but may have minor differences
      • See the MDC migration guide for more information about the changes and how to migrate your app (TODO: link when available)
      • mat-slider has a new API that requires a <input matSliderThumb> element.
      • DOM and CSS classes for mat-snack-bar have changes
      • Typescript API is largely the same but may have minor differences
      • See the MDC migration guide for more information about the changes and how to migrate your app (TODO: link when available)
      • DOM and CSS classes for mat-table have changes
      • Typescript API is largely the same but may have minor differences
      • See the MDC migration guide for more information about the changes and how to migrate your app (TODO: link when available)
      • DOM and CSS classes for mat-tabs have changes
      • Typescript API is largely the same but may have minor differences
      • See the MDC migration guide for more information about the changes and how to migrate your app (TODO: link when available)
      • Passing strings for MatDialogConfig.enterAnimationDuration and MatDialogConfig.exitAnimationDuration is deprecated, pass numbers in ms instead
      • deprecate the string animation durations in favor of numbers

    youtube-player

    | Commit | Description | | -- | -- | | feat - f000b2f25 | support no cookie mode (#25165) |

    material

    | Commit | Description | | -- | -- | | feat - 532454b17 | autocomplete: switch implementation to use MDC (#25386) | | feat - 00f4abe85 | button: Switch button implementation to use MDC (#25381) | | feat - a928639e9 | card: Switch card implementation to use MDC (#25082) | | feat - e8e719974 | checkbox: refactor pseudo-checkbox size styles (#25419) | | feat - 9ac264f10 | checkbox: switch implementation to use MDC (#25369) | | feat - 3b87655f9 | checkbox: update pseudo-checkbox size (#25425) | | feat - dc74aa382 | checkbox: use -size for legacy checkbox (#25424) | | feat - d496ebec0 | chips: switch implementation to use MDC (#25400) | | feat - 3463c5a38 | core: delete deprecated legacy theming API tests (#25265) | | feat - 742d858b9 | core: make mdc-based typography default (#25551) | | feat - 7e94186fd | core: move MDC-based elevation styles out of experimental (#25486) | | feat - 3fd20a7c5 | core: move mdc-helpers to material/core | | feat - 5b8d5214f | core: switch option implementation to use MDC (#25343) | | feat - d70fd6c2d | datepicker: expose datepicker symbols (#25552) | | feat - 439852ba8 | dialog: Switch dialog implementation to use MDC (#25352) | | feat - 119dd4bcf | form-field: Ability to support custom error message components inside a form field (#25399) | | feat - 3db6b1d1b | form-field: switch implementation to use MDC | | feat - 6883100b4 | input: switch implementation to use MDC | | feat - 750dad699 | legacy-core: create legacy-core entry point | | feat - 5f0f071ac | list: switch implementation to use MDC list (#25445) | | feat - 20db76d3e | menu: switch implementation to use MDC (#25431) | | feat - f7385ffc8 | paginator: migrate MDC examples (#25497) | | feat - 8f11370e5 | paginator: Switch paginator implementation to use MDC (#25456) | | feat - f384c24b9 | progress-bar: Switch progress-bar implementation to use MDC (#25234) | | feat - 4a6a0f18b | radio: switch implementation to use MDC (#25409) | | feat - 7b5bb76d3 | schematics: add autocomplete styles migrator and tests | | feat - 8f8f06f22 | schematics: add card styles migrator and tests | | feat - ee5a8362a | schematics: add checkbox styles migrator and tests | | feat - 0108de5af | schematics: add chips styles migrator and tests | | feat - 825688f82 | schematics: add chips template migrator (#24601) | | feat - 98d09ffc1 | schematics: add dialog styles migrator and tests | | feat - 801c23cc0 | schematics: add fn for adding attrs to templates (#24550) | | feat - dcc98295b | schematics: add form-field styles migrator and tests | | feat - 226696d1d | schematics: add handling for all-component-themes (#25528) | | feat - 6eac00270 | schematics: add input styles migrator and tests | | feat - bcacdde9f | schematics: add list styles migrator and tests | | feat - 6b24f9614 | schematics: add menu styles migrator and tests | | feat - d1bbcd64d | schematics: add paginator styles migrator and tests | | feat - e856da1a6 | schematics: add progress bar styles migrator and tests | | feat - a12f268aa | schematics: add progress spinner styles migrator and tests | | feat - da07c36e7 | schematics: add radio styles migrator and tests | | feat - 479267207 | schematics: add select styles migrator and tests | | feat - 7646c73c3 | schematics: add slide toggle styles migrator and tests | | feat - d8f1cce07 | schematics: add slider styles migrator and tests | | feat - 7460ccdd1 | schematics: add snack-bar styles migrator and tests | | feat - 0554f1823 | schematics: add style migration support within typescript files (#25339) | | feat - 84398f4b3 | schematics: add table styles migrator and tests | | feat - 688443a93 | schematics: add tabs styles migrator and tests | | feat - 983f66460 | schematics: add template migration support within typescript files (#25496) | | feat - 6feaaea06 | schematics: add template migration to schematic (#24563) | | feat - 2159f2e5e | schematics: add the scaffolding for an mdc-migration schematic (#23804) | | feat - 331b53c27 | schematics: add tooltip styles migrator and tests | | feat - c68296526 | schematics: create updateModuleSpecifier ts migration fn (#25128) | | feat - d388adfe1 | schematics: create updateNamedImport ts migration fn (#25132) | | feat - 15906c708 | schematics: impl card template migration (#24566) | | feat - 938802f7e | schematics: impl mat-mdc ts v15 ng-update (#25447) | | feat - 1e5dc8a7f | schematics: implement basic ts import migrations (#24797) | | feat - 1a9900234 | schematics: initial foundation for TS code migrators | | feat - f24a49f9b | schematics: initial setup for template migrations (#24515) | | feat - 8b147716c | schematics: initial setup for v15 ng-update (#25102) | | feat - cb7212397 | schematics: set up a system for migrating scss (#24326) | | feat - 33c327720 | schematics: tree operation helper functions (#24539) | | feat - fad4f9bfb | schematics: v15 migrate imports (#25133) | | feat - 00d5f27e6 | schematics: v15 ng-update scss migration (#25395) | | feat - bf6f38abd | select: switch implementation to use MDC (#25360) | | feat - a1bb436f0 | slide-toggle: Switch slide-toggle implementation to use MDC (#25404) | | feat - b863b14d2 | slider: switch implementation to use MDC (#25420) | | feat - 950d4377f | snack-bar: Switch snack-bar implementation to use MDC (#25458) | | feat - a8f847cbb | table: migrate MDC examples (#25492) | | feat - 31a754c90 | table: pass this rather than concrete classes in the harnesses (#25482) | | feat - e3b80324c | table: Switch table implementation to use MDC (#25453) | | feat - 1fcdc27f4 | tabs: Switch tabs implementation to use MDC (#25411) | | feat - 1337f36f2 | tooltip: add option to open tooltip at mouse position (#25202) | | feat - 2fc05f584 | tooltip: migrate MDC examples (#25495) | | feat - fd2811b54 | tooltip: switch to MDC implementation (#25209) | | fix - c440f844e | card: don't add extra padding around mat-card-title-group (#25292) | | fix - fd5afe703 | core: Move remaining MDC core functionality out of experimental (#25503) | | fix - 67212ba4f | datepicker: calendar aria-descriptions start/end date (#25457) | | fix - 4cdc0956f | dialog: allow customizing animation duration (#25524) | | fix - f9a4b9737 | dialog: using incorrect mixin for structural styles (#25356) | | fix - fdb30adab | form-field: remove hardcoded 16px label padding (#25383) | | fix - e3b679da0 | input: fix input prefix & suffix disabled color (#25398) | | fix - 29ed93a10 | legacy-autocomplete: deprecate all ts symbols | | fix - b10189809 | legacy-button: deprecate all ts symbols | | fix - 5caa44efc | legacy-button: rename classnames in comments (#25459) | | fix - 3c60fe903 | legacy-button: rename classnames in comments (#25460) | | fix - a5a12b9f8 | legacy-card: deprecate all ts symbols | | fix - ab22cab5b | legacy-checkbox: deprecate all ts symbols | | fix - aaf6a66a6 | legacy-checkbox: fix scss mixin names (#25442) | | fix - 2cadc901e | legacy-chips: deprecate all ts symbols | | fix - ecdabb841 | legacy-core: deprecate all ts symbols | | fix - 5afe24de4 | legacy-dialog: deprecate all ts symbols | | fix - d527ddf0e | legacy-form-field: deprecate all ts symbols | | fix - 86c4a9d39 | legacy-form-field: remove invalid selector (#25554) | | fix - cf0dd6cca | legacy-input: deprecate all ts symbols | | fix - e67e49325 | legacy-list: deprecate all ts symbols | | fix - 4e56db6b0 | legacy-menu: deprecate all ts symbols | | fix - bc2fc6d4c | legacy-menu: rename missed ts symbol | | fix - b6f9d66b8 | legacy-paginator: deprecate all ts symbols | | fix - c3684dbef | legacy-progress-bar: deprecate all ts symbols | | fix - 36a54d3c2 | legacy-progress-spinner: deprecate all ts symbols | | fix - bbb9130cf | legacy-radio: deprecate all ts symbols | | fix - 4bb3554c5 | legacy-select: deprecate all ts symbols | | fix - 1edd3908e | legacy-select: rename missed ts symbol | | fix - 13d8524be | legacy-slide-toggle: deprecate all ts symbols | | fix - cfadfc078 | legacy-slider: deprecate all ts symbols | | fix - 9fc305110 | legacy-snack-bar: deprecate all ts symbols | | fix - 30f88b085 | legacy-table: deprecate all ts symbols | | fix - 8fb62e50c | legacy-tabs: deprecate all ts symbols | | fix - de5d41bf3 | legacy-tooltip: deprecate all ts symbols | | fix - bd8ab0c3a | legacy-tooltip: rename missed ts symbol | | fix - 8ec486452 | schematics: add attr for multi-line start tags (#24586) | | fix - 3d3656a00 | schematics: add comment for potentially deprecated styles after a migration | | fix - d3c0a2525 | schematics: add missing component to migration list (#25443) | | fix - 4a3ae5802 | schematics: add renaming of non standard symbols (#25523) | | fix - 425fd7dc3 | schematics: add support for all-components-theme mixin | | fix - 8e2a666c7 | schematics: fix icon button selector and move button migrator to its own folder | | fix - 14958dfbd | schematics: fix mdc migration schematics after rebasing (#25285) | | fix - 5ab25d023 | schematics: make ts import replacements more specific (#25504) | | fix - 9acb7b282 | schematics: make ts symbol renamings more specific (#25522) | | fix - b9ee368e2 | schematics: replace all-component-themes mixin with MDC equivalent instead of adding each component's theme | | fix - 19008ef73 | schematics: update deprecated prefix field to take multiple prefixes | | fix - 53b6b5251 | schematics: update test setup function name in template migration test | | fix - 2c9c7875c | schematics: update theme names for MDC migration schematic (#25550) | | fix - eafea5200 | table: cleanup legacy usage (#25525) |

    cdk

    | Commit | Description | | -- | -- | | feat - 0734564c7 | listbox: add listbox to cdk (#25380) | | feat - 7a24e95ba | portal: support projectableNodes in component portal (#25185) |

    multiple

    | Commit | Description | | -- | -- | | fix - 285f46dc2 | deprecate all legacy sass mixins | | fix - cff215309 | resolve extended template diagnostic warnings (#25546) |

    Special Thanks

    Amy Sorto, Andrew Kamarouski, Andrew Seguin, Jeremy Mowery, Kristiyan Kostadinov, Mike Jerred, Miles Malerba, Paul Gschwendtner, Wagner Maciel, Zach Arend and angular-robot[bot]

    Source code(tar.gz)
    Source code(zip)
  • 14.2.1(Sep 7, 2022)

    14.2.1 "carbon-candle" (2022-09-07)

    material

    | Commit | Description | | -- | -- | | fix - 8683f476c | button-toggle: incorrect event source in some cases (#25544) |

    cdk

    | Commit | Description | | -- | -- | | fix - 84388dd23 | collections: ConnectableObservable incorrectly inferred as data source (#25526) |

    Special Thanks

    Kristiyan Kostadinov, Mark Goldberg and Paul Gschwendtner

    Source code(tar.gz)
    Source code(zip)
  • 14.2.0(Aug 25, 2022)

    14.2.0 "rayon-river" (2022-08-25)

    cdk-experimental

    | Commit | Description | | -- | -- | | fix - aaa9d93c92 | listbox: fix issue with aria-selected (#25373) |

    material

    | Commit | Description | | -- | -- | | feat - 657774e29b | datepicker: Allow user to jump between start and end dates with arrow keys (#25359) |

    cdk

    | Commit | Description | | -- | -- | | feat - 06c2164618 | a11y: add named export and public property to CdkMonitorFocus directive (#25427) | | feat - 0fb2e9a5f7 | listbox: add listbox to cdk (#25380) (#25474) | | fix - 79858ea14b | scrolling: error during server-side rendering (#25461) |

    Special Thanks

    Andrew Seguin, Emmanuel Roux, Joey Perrott, Karl Seamon, Kristiyan Kostadinov, Miles Malerba, Paul Gschwendtner and Wagner Maciel

    Source code(tar.gz)
    Source code(zip)
  • 14.2.0-rc.0(Aug 19, 2022)

    14.2.0-rc.0 "plastic-duck" (2022-08-19)

    material

    | Commit | Description | | -- | -- | | fix - b20876d86b | button-toggle: toggle name falling out of sync if name changes (#24713) | | fix - ab8f6fead4 | expansion: fix lint issue (#25469) |

    cdk

    | Commit | Description | | -- | -- | | feat - 0fb2e9a5f7 | listbox: add listbox to cdk (#25380) (#25474) | | fix - 200556ea96 | dialog: fall back to node injector token doesn't exist in template injector (#25406) | | fix - 0ba8c759fe | overlay: backdropClass type mismatch (#25487) |

    expansion

    | Commit | Description | | -- | -- | | fix - 27bf7e93a1 | fix expansion .mat-expansion-panel-header styles (#20019) |

    Special Thanks

    Andrew Seguin, Dmitrii Kuzmin, Kristiyan Kostadinov, Miles Malerba, ko-tori and swseverance

    Source code(tar.gz)
    Source code(zip)
  • 14.1.3(Aug 19, 2022)

    14.1.3 "rubber-chicken" (2022-08-19)

    material

    | Commit | Description | | -- | -- | | fix - d1ef7e23c6 | button-toggle: toggle name falling out of sync if name changes (#24713) | | fix - 19df7cf940 | expansion: fix lint issue (#25469) |

    cdk

    | Commit | Description | | -- | -- | | fix - f661a9300e | dialog: fall back to node injector token doesn't exist in template injector (#25406) | | fix - b9f09aa741 | overlay: backdropClass type mismatch (#25487) |

    expansion

    | Commit | Description | | -- | -- | | fix - b1450b1cb5 | fix expansion .mat-expansion-panel-header styles (#20019) |

    Special Thanks

    Andrew Seguin, Dmitrii Kuzmin, Kristiyan Kostadinov, ko-tori and swseverance

    Source code(tar.gz)
    Source code(zip)
  • 14.2.0-next.2(Aug 11, 2022)

    14.2.0-next.2 "maple-mantis" (2022-08-11)

    material-experimental

    | Commit | Description | | -- | -- | | fix - 7c0f56335a | mdc-list: set a role on MatNavList and MatActionList (#25412) |

    material

    | Commit | Description | | -- | -- | | feat - 657774e29b | datepicker: Allow user to jump between start and end dates with arrow keys (#25359) | | fix - 225273825a | chips: selectable="false" doesn't work on initial assignment (#24906) | | fix - 484058b80e | tooltip: avoid problem when triggers hide animation for not visible tooltip (#24652) |

    Special Thanks

    Egor Volvachev, Karl Seamon, Miles Malerba, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 14.1.2(Aug 11, 2022)

    14.1.2 "cedar-cicada" (2022-08-11)

    material-experimental

    | Commit | Description | | -- | -- | | fix - 0a4d8e9fc4 | mdc-list: set a role on MatNavList and MatActionList (#25412) |

    material

    | Commit | Description | | -- | -- | | fix - 69b29046d5 | chips: selectable="false" doesn't work on initial assignment (#24906) | | fix - 0f2ec70c86 | tooltip: avoid problem when triggers hide animation for not visible tooltip (#24652) |

    Special Thanks

    Egor Volvachev, Miles Malerba, Wagner Maciel and Zach Arend

    Source code(tar.gz)
    Source code(zip)
  • 14.2.0-next.1(Aug 3, 2022)

    14.2.0-next.1 "corundum-cat" (2022-08-03)

    material-experimental

    | Commit | Description | | -- | -- | | fix - f214a2ce0 | mdc-chips: don't use button element if chip row isn't editable (#25327) | | fix - aa008def1 | mdc-slider: skip resizing while the user is dragging (#25318) |

    cdk-experimental

    | Commit | Description | | -- | -- | | fix - aaa9d93c9 | listbox: fix issue with aria-selected (#25373) |

    cdk

    | Commit | Description | | -- | -- | | fix - bf2723c8b | dialog: use config injector if provided (#25332) | | fix - 82be1d709 | drag-drop: expose pickup position in constrainPosition callback (#25341) | | fix - aea1a5d67 | overlay: detach overlay when portal is destroyed from the outside (#25212) | | fix - 96b2d3461 | schematics: strip bom from sass files (#25364) |

    Special Thanks

    Amadou Sall, Kristiyan Kostadinov, Miles Malerba, Paul Gschwendtner, Serge and Wagner Maciel

    Source code(tar.gz)
    Source code(zip)
Angular 11 & Bootstrap 5 & Material Design 2.0 UI KIT

MDB 5 Angular Angular 12 & Bootstrap 5 & Material Design 2.0 UI KIT >> Get Started in 4 steps >> MDBAngular 5 Demo 500+ material UI components Super s

MDBootstrap 1.1k Dec 30, 2022
Lightweight, Material Design inspired go to top button. No dependencies. Pure Angular!

Angular ScrollTop Button Lightweight, Material Design inspired button for scroll-to-top of the page. No dependencies. Pure Angular! ✓ Angular 13, Ivy

BART! 19 Dec 18, 2022
Clarity Angular is a scalable, accessible, customizable, open-source design system built for Angular.

Getting Started Clarity Angular is published as two npm packages: Contains the static styles for building HTML components. Contains the Angular compon

VMware Clarity 145 Dec 29, 2022
An enterprise-class UI components based on At UI Design and Angular. 🚀 🚀 🚀

An enterprise-class UI components based on At UI Design and Angular. ?? ?? ??

塟愛鎵镞de栤仯 113 Dec 16, 2022
Angular UI Component Library based on Ant Design

NG-ZORRO An enterprise-class Angular UI component library based on Ant Design. English | 简体中文 ✨ Features An enterprise-class UI design system for Angu

NG-ZORRO 8.3k Jan 6, 2023
Native Angular components & directives for Lightning Design System

ng-lightning This library contains native Angular components and directives written from scratch in TypeScript using the Lightning Design System CSS f

null 910 Dec 8, 2022
Covalent: UI Platform based on Angular-Material

Covalent: UI Platform based on Angular-Material Covalent is a reusable UI platform from Teradata for building web applications with common standards a

Teradata Corporation 2.3k Jan 1, 2023
Angular Library workspace to creating and testing angular libraries

Library Workspace Run Locally Clone the project https://github.com/sametcelikbicak/library-workspace.git Go to the library project directory cd li

Samet ÇELİKBIÇAK 4 Nov 1, 2022
An example application that uses file-based routing with Angular, Analog, Vite with the Angular Router

Angular, Vite, and File-based routes This is an example application that uses Angular, Analog, and Vite for file-based routing. Routes are places in t

Brandon 9 Sep 25, 2022
Customizable Angular UI Library based on Eva Design System

Nebular Documentation | Stackblitz Template | UI Bakery - Angular UI Builder | Angular templates Nebular is a customizable Angular 10 UI Library with

Akveo 7.7k Dec 31, 2022
🚀 Style and Component Library for Angular

ngx-ui Component & Style Library for Angular by Swimlane. Installing npm i @swimlane/ngx-ui --S Install the project's peer depencencies (moment, codem

Swimlane 654 Dec 24, 2022
A set of UI components for use with Angular 2 and Bootstrap 4.

#Fuel-UI A set of UI components for use with Angular 2 and Bootstrap 4. See Fuel-UI homepage for live demo and documentation. ##Dependencies Node Gulp

Fuel Interactive 302 Jul 4, 2022
Angular multiselect component for web application. Easy to integrate and use.

Angular multiselect component for web application. Easy to integrate and use.

Dinh The Loc 2 Apr 20, 2022
NGX-YOUI is a Highly customizable library of Angular UI components for content and styles

NGX-YOUI NGX-YOUI is an Angular UI Library that can be highly customized with content and styles. You can easily integrate with other CSS frameworks a

NGX-YOUI 5 Nov 29, 2022
The code for a set of Angular 6+ components for the PatternFly project.

The code for a set of Angular 6+ components for the PatternFly project. Note that the release/3.x branch supports Angular 4 and 5.

PatternFly 87 Nov 15, 2022
The best way to quickly integrate Bootstrap 5 Bootstrap 4 or Bootstrap 3 Components with Angular

ngx-bootstrap The best way to quickly integrate Bootstrap 5 Bootstrap 4 or Bootstrap 3 Components with Angular Links Documentation Release Notes Slack

Valor Software 5.4k Jan 8, 2023
Heavily inspired by Angular Forms, this package provides utilities for complex Model-driven form management in Lit-based Web Components.

Heavily inspired by Angular Forms, this package provides utilities for complex Model-driven form management in Lit-based Web Components.

Michele Stieven 8 Dec 9, 2022
A component built in angular 13 which can generate an signature image in different fonts based on the selection.

AngularSignatureGenerator This project was generated with Angular CLI version 13.2.6. Development server Run ng serve for a dev server. Navigate to ht

Rohith P 4 Apr 26, 2022
Demo showing how to lazy load a component in Angular without routing!

WidgetDashboard This project was generated with Angular CLI version 13.2.6. Development server Run ng serve for a dev server. Navigate to http://local

Andy Bond 3 Mar 25, 2022