What is @angular/material?
The @angular/material package is a UI component library for Angular applications that implements Google's Material Design. It provides a wide range of reusable UI components that are designed to be efficient, accessible, and visually appealing. These components help developers build cohesive, attractive, and functional web applications with less effort.
What are @angular/material's main functionalities?
Form Controls
Form controls are essential for collecting input from the user. @angular/material provides various form controls like input fields, checkboxes, radio buttons, and select dropdowns. The code sample demonstrates how to import and use the MatInputModule for text inputs.
import {MatInputModule} from '@angular/material/input';
@NgModule({
imports: [MatInputModule]
})
export class MyModule {}
Navigation
Navigation components help users move through the application. This includes menus, side navigation, and toolbars. The code sample shows how to import the MatToolbarModule to use a Material Design toolbar in your application.
import {MatToolbarModule} from '@angular/material/toolbar';
@NgModule({
imports: [MatToolbarModule]
})
export class MyModule {}
Layout
Layout components assist in structuring the view of an application. @angular/material offers grid lists, cards, and tabs to help organize content. The code sample illustrates the use of MatGridListModule for creating grid layouts.
import {MatGridListModule} from '@angular/material/grid-list';
@NgModule({
imports: [MatGridListModule]
})
export class MyModule {}
Buttons & Indicators
Buttons and indicators are used for actions and status feedback. This category includes buttons, progress bars, and spinner indicators. The code sample demonstrates importing MatButtonModule to use Material Design buttons.
import {MatButtonModule} from '@angular/material/button';
@NgModule({
imports: [MatButtonModule]
})
export class MyModule {}
Other packages similar to @angular/material
ngx-bootstrap
ngx-bootstrap provides Bootstrap components powered by Angular. It's similar to @angular/material in providing a set of reusable UI components but is based on Bootstrap's design system rather than Material Design.
primeng
PrimeNG is a collection of rich UI components for Angular. It offers a wide range of widgets and is comparable to @angular/material in terms of providing components for form controls, tables, overlays, and more. PrimeNG is known for its extensive component library beyond what @angular/material offers.
ng-zorro-antd
NG-ZORRO is an Angular UI library based on Ant Design. Similar to @angular/material, it provides a comprehensive suite of UI components that are designed to be modular, lightweight, and easy to use. It differs in its design philosophy, following Ant Design principles instead of Material Design.
17.3.3 "metal-fork" (2024-04-03)
material
| Commit | Type | Description |
| -- | -- | -- |
| 7ccc392936 | fix | button-toggle: standard button toggle strong focus bord… (#28790) |
| 8b92fda61f | fix | sort: clear aria description on destroy (#28801) |
multiple
| Commit | Type | Description |
| -- | -- | -- |
| 6b5b0c5db3 | fix | set nonce using setAttribute (#28800) |
<!-- CHANGELOG SPLIT MARKER -->
<a name="17.3.2"></a>