{"id":13406833,"url":"https://github.com/angular/components","last_synced_at":"2026-04-09T00:02:02.665Z","repository":{"id":37268825,"uuid":"49016322","full_name":"angular/components","owner":"angular","description":"Component infrastructure and Material Design components for Angular","archived":false,"fork":false,"pushed_at":"2026-02-18T12:09:09.000Z","size":150161,"stargazers_count":24993,"open_issues_count":1989,"forks_count":6850,"subscribers_count":863,"default_branch":"main","last_synced_at":"2026-02-18T22:59:16.265Z","etag":null,"topics":["angular","angular-components","material","material-design"],"latest_commit_sha":null,"homepage":"https://material.angular.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angular.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-01-04T18:50:02.000Z","updated_at":"2026-02-18T16:17:58.000Z","dependencies_parsed_at":"2024-02-12T16:57:41.450Z","dependency_job_id":"26c37330-bae2-469a-a907-a4080981504d","html_url":"https://github.com/angular/components","commit_stats":{"total_commits":13244,"total_committers":816,"mean_commits":"16.230392156862745","dds":0.6263968589549984,"last_synced_commit":"c9299b9e1ca22678e8f609f1c77ad45187be7d97"},"previous_names":["angular/material2"],"tags_count":660,"template":false,"template_full_name":null,"purl":"pkg:github/angular/components","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fcomponents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fcomponents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fcomponents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fcomponents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angular","download_url":"https://codeload.github.com/angular/components/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fcomponents/sbom","scorecard":{"id":196391,"data":{"date":"2025-08-15T08:43:49Z","repo":{"name":"github.com/angular/components","commit":"5b45df30ca60b75b27313d3b1b52c42ac037eb4f"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":7.4,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: RenovateBot: renovate.json:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":8,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecard.yml:23","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecard.yml:24","Info: topLevel 'contents' permission set to 'read': .github/workflows/assistant-to-the-branch-manager.yml:10","Info: found token with 'none' permissions: .github/workflows/ci.material-aio.yml:1","Info: found token with 'none' permissions: .github/workflows/ci.yml:1","Warn: topLevel 'deployments' permission set to 'write': .github/workflows/deploy-dev-app-main-push.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/dev-infra.yml:8","Info: topLevel permissions set to 'read-all': .github/workflows/docs-preview-build.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/docs-preview-deploy.yml:19","Info: topLevel 'actions' permission set to 'read': .github/workflows/docs-preview-deploy.yml:21","Info: topLevel 'pull-requests' permission set to 'read': .github/workflows/google-internal-tests.yml:8","Warn: topLevel 'statuses' permission set to 'write': .github/workflows/google-internal-tests.yml:9","Info: found token with 'none' permissions: .github/workflows/pr.material-aio.yml:1","Info: found token with 'none' permissions: .github/workflows/pr.yml:1","Info: topLevel permissions set to 'read-all': .github/workflows/preview-build-dev-app.yml:14","Info: found token with 'none' permissions: .github/workflows/scheduled-ci.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/scorecard.yml:12","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":2,"reason":"badge detected: InProgress","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:  14 out of  14 GitHub-owned GitHubAction dependencies pinned","Info:  93 out of  93 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: required approving review count is 1 on branch 'main'","Warn: codeowners review is not required on branch 'main'","Warn: no status checks found to merge onto branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"CI-Tests","score":10,"reason":"29 out of 29 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 23 contributing companies or organizations","details":["Info: found contributions from: DevIntent, airpair, angular, angular @google, angular-eslint, angular-hispano, classdojo, devintent, good code, google, googlers, https://1fpga.com, lemonade-hq, nachos, ng-packagr, ngxs, ngxs-labs, obshtestvo, reaviz, sass, storybookjs, swiss federal railways, willowtreeapps"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}},{"name":"Vulnerabilities","score":0,"reason":"17 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc","Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-4www-5p9h-95mh","Warn: Project is vulnerable to: GHSA-9gqv-wp59-fq42","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-5v2h-r2cx-5xgj","Warn: Project is vulnerable to: GHSA-rrrm-qjm4-v8hf","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-rv73-9c8w-jp4c"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T21:54:20.726Z","repository_id":37268825,"created_at":"2025-08-16T21:54:20.726Z","updated_at":"2025-08-16T21:54:20.726Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29837430,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T19:08:47.527Z","status":"ssl_error","status_checked_at":"2026-02-25T18:59:04.705Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular","angular-components","material","material-design"],"created_at":"2024-07-30T19:02:40.514Z","updated_at":"2026-04-09T00:02:02.653Z","avatar_url":"https://github.com/angular.png","language":"TypeScript","readme":"# Official components for Angular\n[![npm version](https://badge.fury.io/js/%40angular%2Fcdk.svg)](https://www.npmjs.com/package/@angular/cdk)\n[![Build status](https://circleci.com/gh/angular/components.svg?style=svg)](https://circleci.com/gh/angular/components)\n[![Gitter](https://badges.gitter.im/angular/components.svg)](https://gitter.im/angular/material2?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\nThe Angular team builds and maintains both common UI components and tools to help you build your\nown custom components. The team maintains several npm packages.\n\n| Package                   | Description                                                                           | Docs              |\n| ------------------------- | ------------------------------------------------------------------------------------- | ----------------- |\n| `@angular/aria`           | Collection of headless, accessible directives that implement common WAI-ARIA patterns | [Docs][aria-docs] |\n| `@angular/cdk`            | Library that helps you author custom UI components with common interaction patterns   | [Docs][cdk-docs]  |\n| `@angular/material`       | [Material Design][] UI components for Angular applications                            | [Docs][mat-docs]  |\n| `@angular/google-maps`    | Angular components built on top of the [Google Maps JavaScript API][]                 | [Docs][map-docs]  |\n| `@angular/youtube-player` | Angular component built on top of the [YouTube Player API][]                          | [Docs][ytp-docs]  |\n\n\n#### Quick links\n[Documentation, demos, and guides][mat-docs] |\n[Frequently Asked Questions](FAQ.md) |\n[Community Google group](https://groups.google.com/forum/#!forum/angular-material2) |\n[Contributing](https://github.com/angular/components/blob/main/CONTRIBUTING.md) |\n[StackBlitz Template](https://stackblitz.com/fork/components-issue)\n\n## Getting started\n\nSee our [Getting Started Guide][getting-started] if you're building your first project with Angular\nMaterial.\n\n\n## Contributing\n\nIf you'd like to contribute, please follow our [contributing guidelines][contributing]. Please see\nour [`help wanted`][help-wanted] label for a list of issues with good opportunities for\ncontribution. You can also use the [`good first issue`][good-first-issue] label to find issues\nif you are just starting to contribute to the project.\n\n## About the team\nThe Angular Components team is part of the Angular team at Google. The team includes both Google\nemployees and community contributors from around the globe.\n\nOur team has two primary goals:\n* Build high-quality UI components that developers can drop into existing applications\n* Provide tools that help developers build their own custom components with common interaction\npatterns\n\n\nWhat do we mean by \"high-quality\" components?\n* Internationalized and accessible so that all users can use them.\n* Straightforward APIs that don't confuse developers.\n* Behave as expected across a wide variety of use-cases without bugs.\n* Behavior is well-tested with both unit and integration tests.\n* Customizable within the bounds of the Material Design specification.\n* Performance cost is minimized.\n* Code is clean and well-documented to serve as an example for Angular developers.\n\n## Support policy\nAngular Material and the CDK follow the same support and release policy as the Angular framework.\nFor details on supported versions and update practices, see the\n[Angular support policy and schedule](https://angular.dev/reference/releases).\n\n## Browser and screen reader support\nThe Angular Components team supports the most recent two versions of all major browsers:\nChrome (including Android), Firefox, Safari (including iOS), and  Edge.\n\nWe aim for great user experience with the following screen readers:\n* **Windows**: NVDA and JAWS with FF / Chrome.\n* **macOS**: VoiceOver with Safari / Chrome.\n* **iOS**: VoiceOver with Safari\n* **Android**: Android Accessibility Suite (formerly TalkBack) with Chrome.\n* **Chrome OS**: ChromeVox with Chrome.\n\n\n[Material Design]: https://material.io\n[Google Maps JavaScript API]: https://developers.google.com/maps/documentation/javascript/tutorial\n[YouTube Player API]: https://developers.google.com/youtube/iframe_api_reference\n[aria-docs]: https://angular.dev/guide/aria/overview\n[cdk-docs]: https://material.angular.dev/cdk/categories\n[mat-docs]: https://material.angular.dev\n[map-docs]: https://github.com/angular/components/blob/main/src/google-maps/README.md\n[ytp-docs]: https://github.com/angular/components/blob/main/src/youtube-player/README.md\n[getting-started]: https://material.angular.dev/guide/getting-started\n[contributing]: https://github.com/angular/components/blob/main/CONTRIBUTING.md\n[help-wanted]: https://github.com/angular/components/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22\n[good-first-issue]: https://github.com/angular/components/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22+label%3A%22good+first+issue%22\n","funding_links":[],"categories":["TypeScript","Third Party Components","material-design","前端开发框架及项目","Uncategorized","Official resources"],"sub_categories":["Mixed Utilities","多工具库支持或纯JS","Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangular%2Fcomponents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangular%2Fcomponents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangular%2Fcomponents/lists"}