Five packages cover finished UI and lower-level behavior
Angular Components maintains 5 package families: Angular Material, the Component Dev Kit, Angular Aria, Google Maps components, and a YouTube player. Material supplies ready interface controls. The CDK handles recurring behavior used to build custom controls, while Aria provides headless directives for common accessibility patterns. That split lets a team choose the visual system or only the underlying behavior instead of taking the whole repository as one library.
Release v22.1.6 shipped on September 9, 2026, and the README says Material and CDK follow Angular's support schedule. That alignment is the strongest reason to choose this project over an independent kit. An Angular upgrade still needs migration work, but the framework and its official component packages share a published release policy. Google maintains the project with community contributors under the MIT license.
App teams install packages while contributors face 4,798 files
The measured checkout had 4,798 files, roughly 329,061 lines of source, and a 23.4 MB Git tree before dependencies. It is a workspace monorepo containing the public packages, documentation site, examples, development applications, integration areas, and release tooling. pnpm manages packages, while Bazel-backed commands drive much of the build and test work. That structure makes sense for Google-scale maintenance and is excessive for evaluating a button or dialog.
Application developers get a much shorter path through the Angular CLI and published packages. A team can add Material to an existing app, or import CDK and Aria pieces where a custom design system needs behavior without Material styling. Contributors need Node, pnpm, a fork, the repository checkout, and the documented command conventions. On Windows, the developer guide directs repository contributors to WSL even though ordinary Angular application development remains supported natively.
What happened when we ran it
Our sandbox installed 1,938 packages in 66 seconds, leaving 1,253 MB on disk. The build then ran for 398 seconds and exited with status 1. Its log tail points to scripts/build-packages-dist-main.mts, followed by a child-process status of 1 and no captured standard output or error. That tail does not identify the failing package or the underlying error, so we cannot assign a cause.
The test command failed after 8 seconds. Its own help text said it needed at least 1 non-option argument and received 0, which is a clear interface error rather than a failed assertion. The checkout contained a tests directory and 13 CI workflow files, while our scan found no Dockerfile. These results describe commit e25db3e in an unprivileged Node 22 sandbox with 3 CPUs, 8 GB of RAM, and no secrets.
The 8-second test failure came from a missing target
Angular's developer guide documents pnpm test <target>, with a component name or source path as the target. Running pnpm test alone therefore does not mean "run everything" in this repository. Our command reached the test runner, printed its options, and stopped because no target was present. A contributor should choose the affected package or component, then use the separate end-to-end and lint commands when the change calls for them.
The build failure is less helpful. After 398 seconds, the supplied tail reports only the wrapper script and child status. It does not say whether Bazel, a package build, a platform tool, or another step failed. The responsible conclusion is limited: the documented root build did not finish successfully in our fresh Debian container, and its final output did not tell a new contributor what to fix.
Browser support stops at the two newest major versions
The README supports the most recent 2 versions of Chrome, Firefox, Safari, and Edge, including the named mobile variants. Its screen-reader matrix covers NVDA and JAWS on Windows, VoiceOver on macOS and iOS, Android Accessibility Suite, and ChromeVox. That is a useful contract for current product teams. It also gives teams with long-lived enterprise browsers a direct reason to choose another library or carry their own compatibility testing.
Accessibility work continues. Open issue 33775 reports NVDA reading a form-field error twice when a required marker is hidden, and it was updated on September 9, 2026. A current support matrix tells you where the team aims to work. Your application still needs tests for its exact labels, focus order, overlays, forms, browser versions, and assistive technology combinations.
Material customization stays inside Material Design
The README promises customization within the bounds of the Material Design specification. That makes Angular Material a strong default when the design language fits, but a poor shortcut for a brand that intends to replace its visual grammar. The CDK is the more useful part of this repository in that case. It provides common interaction patterns without requiring finished Material components, and Angular Aria goes further with headless accessible directives.
Taiga UI, NG-ZORRO, and Clarity Angular make different visual choices. Taiga UI favors modular imports and CSS custom properties. NG-ZORRO follows Ant Design and targets dense application interfaces. Clarity separates its static styles from its Angular controls. None is an automatic substitute for the CDK, so compare the behavior layer as carefully as the component gallery.
September issue traffic confirms active maintenance
GitHub recorded a last push on September 15, 2026, 25,045 stars, 1,185 open issues, and 170 open pull requests. Nine issues had closed since September 1 when we checked. The latest release, v22.1.6, arrived on September 9 with a CDK overlay fix. This is a busy repository with a large queue, and its APIs and fixes keep moving.
Start with the published package that solves the immediate application problem. The 66-second source install and 1,253 MB dependency footprint become relevant only when you plan to contribute, debug internals, or build release artifacts. At that point, name a test target before running the suite and budget for a root build whose failed tail may offer little diagnosis.

