Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@angular/material
Advanced tools
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.
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 {}
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 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 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.
This is the home for the Angular team's Material Design components built on top of Angular 2.
Google group, Contributing, Plunker Template
See our Getting Started Guide if you're building your first project with Angular Material 2.
Angular Material 2 is currently in alpha and under active development. During alpha, breaking API and behavior changes will be occurring regularly.
Check out our directory of design documents for more insight into our process.
If you'd like to contribute, you must follow our contributing guidelines.
You can look through the issues (which should be up-to-date on who is working on which features
and which pieces are blocked) and make a comment.
Also see our Good for community contribution
label.
High level items planned for September 2016:
Feature | Status | Docs | Issue |
---|---|---|---|
button | Available | README | - |
cards | Available | README | - |
checkbox | Available | README | - |
radio | Available | README | - |
input | Available | README | - |
sidenav | Available | README | - |
toolbar | Available | README | - |
list | Available | README | #107 |
grid-list | Available | README | - |
icon | Available | README | - |
progress-circle | Available | README | - |
progress-bar | Available | README | - |
tabs | Available | README | - |
slide-toggle | Available | README | - |
button-toggle | Available | README | - |
slider | Available | README | - |
menu | Initial version, needs enhancements | README | #119 |
tooltip | Initial version, needs enhancements | README | - |
ripples | Available, but needs to be applied | README | #108 |
dialog | Started, not yet ready for release | - | #114 |
snackbar / toast | Proof-of-concept | - | #115 |
select | Design started | - | #118 |
textarea | Not started | - | #546 |
autocomplete | Not started | - | #117 |
chips | Not started | - | #120 |
theming | In master, not released, some bugs | Guide | #123 |
prod build | Not started | - | - |
docs site | UX design and tooling in progress | - | - |
typography | Not started | - | #205 |
layout | Not started | - | - |
fab speed-dial | Not started | - | #860 |
fab toolbar | Not started | - | - |
bottom-sheet | Not started | - | - |
bottom-nav | Not started | - | #408 |
virtual-repeat | Not started | - | #823 |
datepicker | Not started | - | #675 |
data-table | Not started | - | #581 |
stepper | Not started | - | #508 |
"Available" means that the components or feature is published and available for use, but may still be missing some behaviors or polish.
Our goal is to build a set of high-quality UI components built with Angular 2 and TypeScript, following the Material Design spec. These components will serve as an example of how to write Angular code following best practices.
Angular Material supports the most recent two versions of all major browsers: Chrome (including Android), Firefox, Safari (including iOS), and IE11 / Edge
We also aim for great user experience with the following screen readers:
FAQs
Angular Material
The npm package @angular/material receives a total of 1,404,081 weekly downloads. As such, @angular/material popularity was classified as popular.
We found that @angular/material demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.