Component infrastructure and Material Design components for Angular
This report summarizes scanner evidence for angular/components, a TypeScript project with 25,037 GitHub stars. SynthScan examined 498,577 lines of code across 4195 source files, recording 369 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 0.9 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 250 finding(s).
Are imports declared and package/API names verified? 119 finding(s).
Are wrappers, guards, and repeated structures necessary? 198 finding(s).
Which changes need focused human review? 369 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 369 distinct pattern matches across 8 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/example-module/generate-example-module.ts | 31 | function inlineExampleModuleTemplate(parsedData: AnalyzedExamples): string { | CODE |
| LOW | tools/example-module/generate-example-module.ts | 161 | function assertReferencedExampleFileExists( | CODE |
| LOW | tools/dgeni/common/sort-members.ts | 4 | export function sortCategorizedMethodMembers( | CODE |
| LOW | tools/dgeni/common/sort-members.ts | 30 | export function sortCategorizedPropertyMembers( | CODE |
| LOW | tools/dgeni/common/normalize-function-parameters.ts | 32 | export function normalizeFunctionParameters(doc: DefaultFunctionDoc) { | CODE |
| LOW | tools/stylelint/cross-package-import-validation.ts | 69 | function convertToProjectRelativePosixPath(fileName: string): string { | CODE |
| LOW | tools/stylelint/no-unused-import.ts | 63 | function extractNamespaceFromUseStatement(params: string): string | null { | CODE |
| LOW | tools/tslint-rules/lightweightTokensRule.ts | 43 | function checkSourceFileForLightweightTokens(ctx: Context, typeChecker: ts.TypeChecker): void { | CODE |
| LOW | tools/tslint-rules/lightweightTokensRule.ts | 62 | function checkClassDeclarationForLightweightToken( | CODE |
| LOW | tools/tslint-rules/lightweightTokensRule.ts | 85 | function checkConstructorForLightweightTokens( | CODE |
| LOW | tools/sass/local-sass-importer.ts | 12 | export function createLocalAngularPackageImporter(packageDirAbsPath: string): FileImporter { | CODE |
| LOW | test/karma.conf.js | 139 | function splitBrowsersIntoInstances(browsers, maxInstances) { | CODE |
| LOW | docs/src/app/shared/style-manager/style-manager.ts | 36 | function getExistingLinkElementByKey(key: string) { | CODE |
| LOW | docs/src/app/shared/analytics/format-error.ts | 13 | export function formatErrorEventForAnalytics(event: ErrorEvent): string { | CODE |
| LOW⚡ | goldens/cdk/tree/index.api.md | 306 | export function getMultipleTreeControlsError(): Error; | CODE |
| LOW⚡ | goldens/cdk/tree/index.api.md | 309 | export function getTreeControlMissingError(): Error; | CODE |
| LOW⚡ | goldens/cdk/tree/index.api.md | 312 | export function getTreeMissingMatchingNodeDefError(): Error; | CODE |
| LOW⚡ | goldens/cdk/tree/index.api.md | 315 | export function getTreeMultipleDefaultNodeDefsError(): Error; | CODE |
| LOW⚡ | goldens/cdk/tree/index.api.md | 318 | export function getTreeNoValidDataSourceError(): Error; | CODE |
| LOW | goldens/cdk/platform/index.api.md | 28 | export function normalizePassiveListenerOptions(options: AddEventListenerOptions): AddEventListenerOptions | boolean; | CODE |
| LOW | goldens/cdk/platform/index.api.md | 65 | export function supportsPassiveEventListeners(): boolean; | CODE |
| LOW | goldens/cdk/dialog/index.api.md | 203 | export function throwDialogContentAlreadyAttachedError(): void; | CODE |
| LOW | goldens/cdk/testing/index.api.md | 82 | export function handleAutoChangeDetectionStatus(handler: (status: AutoChangeDetectionStatus) => void): void; | CODE |
| LOW | goldens/cdk/testing/index.api.md | 209 | export function stopHandlingAutoChangeDetectionStatus(): void; | CODE |
| LOW | goldens/cdk/a11y/index.api.md | 339 | export function isFakeMousedownFromScreenReader(event: MouseEvent): boolean; | CODE |
| LOW | goldens/cdk/a11y/index.api.md | 342 | export function isFakeTouchstartFromScreenReader(event: TouchEvent): boolean; | CODE |
| LOW⚡ | goldens/cdk/overlay/index.api.md | 259 | export function createBlockScrollStrategy(injector: Injector): BlockScrollStrategy; | CODE |
| LOW⚡ | goldens/cdk/overlay/index.api.md | 262 | export function createCloseScrollStrategy(injector: Injector, config?: CloseScrollStrategyConfig): CloseScrollStrategy; | CODE |
| LOW⚡ | goldens/cdk/overlay/index.api.md | 265 | export function createFlexibleConnectedPositionStrategy(injector: Injector, origin: FlexibleConnectedPositionStrategyOri | CODE |
| LOW⚡ | goldens/cdk/overlay/index.api.md | 268 | export function createGlobalPositionStrategy(_injector: Injector): GlobalPositionStrategy; | CODE |
| LOW⚡ | goldens/cdk/overlay/index.api.md | 277 | export function createRepositionScrollStrategy(injector: Injector, config?: RepositionScrollStrategyConfig): RepositionS | CODE |
| LOW | goldens/cdk/overlay/index.api.md | 620 | export function validateHorizontalPosition(property: string, value: HorizontalConnectionPos): void; | CODE |
| LOW | goldens/cdk/collections/index.api.md | 45 | export function getMultipleValuesInSingleSelectionError(): Error; | CODE |
| LOW | goldens/material/tooltip/index.api.md | 27 | export function getMatTooltipInvalidPositionError(position: string): Error; | CODE |
| LOW | goldens/material/sidenav/index.api.md | 188 | export function throwMatDuplicatedDrawerError(position: string): void; | CODE |
| LOW | goldens/material/autocomplete/index.api.md | 33 | export function getMatAutocompleteMissingPanelError(): Error; | CODE |
| LOW | goldens/material/input/index.api.md | 34 | export function getMatInputUnsupportedTypeError(type: string): Error; | CODE |
| LOW | goldens/material/toolbar/index.api.md | 46 | export function throwToolbarMixedModesError(): void; | CODE |
| LOW⚡ | goldens/material/form-field/index.api.md | 28 | export function getMatFormFieldDuplicatedHintError(align: string): Error; | CODE |
| LOW⚡ | goldens/material/form-field/index.api.md | 31 | export function getMatFormFieldMissingControlError(): Error; | CODE |
| LOW⚡ | goldens/material/form-field/index.api.md | 34 | export function getMatFormFieldPlaceholderConflictError(): Error; | CODE |
| LOW⚡ | goldens/material/icon/index.api.md | 22 | export function getMatIconFailedToSanitizeLiteralError(literal: SafeHtml): Error; | CODE |
| LOW⚡ | goldens/material/icon/index.api.md | 25 | export function getMatIconFailedToSanitizeUrlError(url: SafeResourceUrl): Error; | CODE |
| LOW⚡ | goldens/material/icon/index.api.md | 28 | export function getMatIconNameNotFoundError(iconName: string): Error; | CODE |
| LOW⚡ | goldens/material/icon/index.api.md | 31 | export function getMatIconNoHttpProviderError(): Error; | CODE |
| LOW | …rial-date-fns-adapter/adapter/date-fns-adapter.spec.ts | 611 | function stripDirectionalityCharacters(str: string) { | CODE |
| LOW | src/cdk/tree/tree-with-tree-control.spec.ts | 491 | function createTrackByTestComponent(trackByStrategy: 'reference' | 'property' | 'index') { | CODE |
| LOW | src/cdk/tree/tree-with-tree-control.spec.ts | 997 | function createTrackByTestComponent(trackByStrategy: 'reference' | 'property' | 'index') { | CODE |
| LOW | src/cdk/tree/tree.spec.ts | 543 | function createTrackByTestComponent(trackByStrategy: 'reference' | 'property' | 'index') { | CODE |
| LOW | src/cdk/tree/tree.spec.ts | 1081 | function createTrackByTestComponent(trackByStrategy: 'reference' | 'property' | 'index') { | CODE |
| LOW⚡ | src/cdk/tree/tree-errors.ts | 13 | export function getTreeNoValidDataSourceError() { | CODE |
| LOW⚡ | src/cdk/tree/tree-errors.ts | 21 | export function getTreeMultipleDefaultNodeDefsError() { | CODE |
| LOW⚡ | src/cdk/tree/tree-errors.ts | 29 | export function getTreeMissingMatchingNodeDefError() { | CODE |
| LOW⚡ | src/cdk/tree/tree-errors.ts | 37 | export function getTreeControlMissingError() { | CODE |
| LOW⚡ | src/cdk/tree/tree-errors.ts | 46 | export function getMultipleTreeControlsError() { | CODE |
| LOW⚡ | src/cdk/portal/portal-errors.ts | 21 | export function throwPortalAlreadyAttachedError() { | CODE |
| LOW⚡ | src/cdk/portal/portal-errors.ts | 29 | export function throwPortalOutletAlreadyDisposedError() { | CODE |
| LOW⚡ | src/cdk/portal/portal-errors.ts | 37 | export function throwUnknownPortalTypeError() { | CODE |
| LOW | src/cdk/portal/portal-errors.ts | 48 | export function throwNullPortalOutletError() { | CODE |
| LOW | src/cdk/portal/portal-errors.ts | 56 | export function throwNoPortalAttachedError() { | CODE |
| 138 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | guides/theming-your-components.md | 295 | <pre class="mat-text-primary mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 295 | <pre class="mat-text-primary mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 307 | <pre class="mat-text-secondary mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor si | CODE |
| LOW | guides/theming-your-components.md | 307 | <pre class="mat-text-secondary mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor si | CODE |
| LOW | guides/theming-your-components.md | 320 | <pre class="mat-text-error mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit am | CODE |
| LOW | guides/theming-your-components.md | 320 | <pre class="mat-text-error mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit am | CODE |
| LOW | guides/theming-your-components.md | 333 | <pre class="mat-text-disabled mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 333 | <pre class="mat-text-disabled mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 346 | <pre class="mat-text-on-surface-variant mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum | CODE |
| LOW | guides/theming-your-components.md | 346 | <pre class="mat-text-on-surface-variant mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum | CODE |
| LOW | guides/theming-your-components.md | 359 | <pre class="mat-text-on-primary mat-bg-primary mat-corner-sm mat-border">Example text: Lorem ipsum dolor sit amet, conse | CODE |
| LOW | guides/theming-your-components.md | 359 | <pre class="mat-text-on-primary mat-bg-primary mat-corner-sm mat-border">Example text: Lorem ipsum dolor sit amet, conse | CODE |
| LOW | guides/theming-your-components.md | 372 | <pre class="mat-text-on-primary-container mat-bg-primary-container mat-corner-sm mat-border">Example text: Lorem ipsum d | CODE |
| LOW | guides/theming-your-components.md | 372 | <pre class="mat-text-on-primary-container mat-bg-primary-container mat-corner-sm mat-border">Example text: Lorem ipsum d | CODE |
| LOW | guides/theming-your-components.md | 385 | <pre class="mat-text-on-secondary mat-bg-secondary mat-corner-sm mat-border">Example text: Lorem ipsum dolor sit amet, c | CODE |
| LOW | guides/theming-your-components.md | 385 | <pre class="mat-text-on-secondary mat-bg-secondary mat-corner-sm mat-border">Example text: Lorem ipsum dolor sit amet, c | CODE |
| LOW | guides/theming-your-components.md | 398 | <pre class="mat-text-on-secondary-container mat-bg-secondary-container mat-corner-sm mat-border">Example text: Lorem ips | CODE |
| LOW | guides/theming-your-components.md | 398 | <pre class="mat-text-on-secondary-container mat-bg-secondary-container mat-corner-sm mat-border">Example text: Lorem ips | CODE |
| LOW | guides/theming-your-components.md | 410 | <pre class="mat-text-on-error mat-bg-error mat-corner-sm mat-border">Example text: Lorem ipsum dolor sit amet, consectet | CODE |
| LOW | guides/theming-your-components.md | 410 | <pre class="mat-text-on-error mat-bg-error mat-corner-sm mat-border">Example text: Lorem ipsum dolor sit amet, consectet | CODE |
| LOW | guides/theming-your-components.md | 422 | <pre class="mat-text-on-error-container mat-bg-error-container mat-corner-sm mat-border">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 422 | <pre class="mat-text-on-error-container mat-bg-error-container mat-corner-sm mat-border">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 434 | <pre class="mat-text-on-surface mat-bg-surface mat-corner-sm mat-border">Example text: Lorem ipsum dolor sit amet, conse | CODE |
| LOW | guides/theming-your-components.md | 434 | <pre class="mat-text-on-surface mat-bg-surface mat-corner-sm mat-border">Example text: Lorem ipsum dolor sit amet, conse | CODE |
| LOW | guides/theming-your-components.md | 446 | <pre class="mat-text-inverse-on-surface mat-bg-inverse-surface mat-corner-sm mat-border">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 446 | <pre class="mat-text-inverse-on-surface mat-bg-inverse-surface mat-corner-sm mat-border">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 581 | <pre class="mat-font-body-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 581 | <pre class="mat-font-body-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 593 | <pre class="mat-font-body-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 593 | <pre class="mat-font-body-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 605 | <pre class="mat-font-body-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 605 | <pre class="mat-font-body-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 620 | <pre class="mat-font-display-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor s | CODE |
| LOW | guides/theming-your-components.md | 620 | <pre class="mat-font-display-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor s | CODE |
| LOW | guides/theming-your-components.md | 632 | <pre class="mat-font-display-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor s | CODE |
| LOW | guides/theming-your-components.md | 632 | <pre class="mat-font-display-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor s | CODE |
| LOW | guides/theming-your-components.md | 644 | <pre class="mat-font-display-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor s | CODE |
| LOW | guides/theming-your-components.md | 644 | <pre class="mat-font-display-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor s | CODE |
| LOW | guides/theming-your-components.md | 659 | <pre class="mat-font-headline-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 659 | <pre class="mat-font-headline-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 670 | <pre class="mat-font-headline-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 670 | <pre class="mat-font-headline-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 681 | <pre class="mat-font-headline-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 681 | <pre class="mat-font-headline-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor | CODE |
| LOW | guides/theming-your-components.md | 695 | <pre class="mat-font-label-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 695 | <pre class="mat-font-label-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 706 | <pre class="mat-font-label-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 706 | <pre class="mat-font-label-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 717 | <pre class="mat-font-label-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 717 | <pre class="mat-font-label-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 732 | <pre class="mat-font-title-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 732 | <pre class="mat-font-title-sm mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 744 | <pre class="mat-font-title-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 744 | <pre class="mat-font-title-md mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 756 | <pre class="mat-font-title-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | guides/theming-your-components.md | 756 | <pre class="mat-font-title-lg mat-corner-sm mat-border mat-bg-surface-container-low">Example text: Lorem ipsum dolor sit | CODE |
| LOW | goldens/cdk/text-field/index.api.md | 77 | static ɵdir: i0.ɵɵDirectiveDeclaration<CdkTextareaAutosize, "textarea[cdkTextareaAutosize]", ["cdkTextareaAutosize"] | CODE |
| LOW | goldens/material/chips/index.api.md | 260 | static ɵcmp: i0.ɵɵComponentDeclaration<MatChipGrid, "mat-chip-grid", never, { "disabled": { "alias": "disabled"; "re | CODE |
| LOW | goldens/material/chips/index.api.md | 321 | static ɵdir: i0.ɵɵDirectiveDeclaration<MatChipInput, "input[matChipInputFor]", ["matChipInput", "matChipInputFor"], | CODE |
| LOW | goldens/material/input/index.api.md | 234 | static ɵdir: i0.ɵɵDirectiveDeclaration<MatInput, "input[matInput], textarea[matInput], select[matNativeControl], | CODE |
| 51 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | src/cdk/menu/menu-trigger.spec.ts | 529 | fixture.componentInstance.nativeTriggers.first.nativeElement.click(); | CODE |
| CRITICAL | src/cdk/menu/menu-trigger.spec.ts | 533 | fixture.componentInstance.nativeMenus.first.nativeElement.querySelector('.cdk-menu-item'); | CODE |
| CRITICAL | src/cdk/drag-drop/directives/drop-list-shared.spec.ts | 352 | fixture.componentInstance.dropInstance.element.nativeElement.getBoundingClientRect(); | CODE |
| CRITICAL | src/cdk/drag-drop/directives/drop-list-shared.spec.ts | 923 | fixture.componentInstance.dropInstance.element.nativeElement.getBoundingClientRect(); | CODE |
| CRITICAL | src/cdk/drag-drop/directives/drop-list-shared.spec.ts | 1828 | fixture.componentInstance.dropInstance.element.nativeElement.getBoundingClientRect(); | CODE |
| CRITICAL | src/material/sidenav/drawer.spec.ts | 1176 | const subscription = fixture.componentInstance.drawerContainer._drawers.changes.subscribe({ | CODE |
| CRITICAL | src/material/autocomplete/autocomplete.zone.spec.ts | 71 | const subscription = fixture.componentInstance.trigger.autocomplete.closed.subscribe(() => | CODE |
| CRITICAL | src/material/datepicker/date-range-input.spec.ts | 451 | fixture.componentInstance.range.controls.start.setValue(new Date()); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/dgeni/templates/common.template.html | 1 | ## {$ doc.name $} ({$ doc.docType $}) | COMMENT |
| LOW | integration/vitest/src/vitest.spec.ts | 41 | // TODO(crisbeto): this _should_ work with a virtual DOM. | COMMENT |
| LOW | docs/src/app/shared/doc-viewer/doc-viewer.ts | 241 | } | COMMENT |
| LOW | .github/angular-robot.yml | 1 | # Configuration for angular-robot | COMMENT |
| LOW | src/cdk/a11y/focus-monitor/focus-monitor.ts | 321 | // window blurred. Otherwise, we've reached the point where we can't identify the source of the | COMMENT |
| LOW | src/cdk/schematics/ng-add/index.ts | 21 | // The CLI inserts `@angular/cdk` into the `package.json` before this schematic runs. This | COMMENT |
| LOW | …cdk-experimental/scrolling/auto-size-virtual-scroll.ts | 201 | let scrollMagnitude = Math.abs(scrollDelta); | COMMENT |
| LOW | …cdk-experimental/scrolling/auto-size-virtual-scroll.ts | 241 | // The amount of unfilled space that should be filled on the side the user is scrolling toward | COMMENT |
| LOW | src/material/core/ripple/ripple-renderer.ts | 221 | // In some cases where there's a higher load on the browser, it can choose not to dispatch | COMMENT |
| LOW | src/material/core/style/_elevation.scss | 101 | // | COMMENT |
| LOW | src/material/core/option/optgroup.ts | 21 | // The option group has two different "modes": regular and inert. The regular mode uses the | COMMENT |
| LOW | src/material/core/theming/_inspection.scss | 81 | /// - With an M2 theme theme it accepts between 2 and 4 arguments, or the equivalent of calling | COMMENT |
| LOW | src/material/core/theming/_theming.scss | 121 | // Creates a backwards compatible theme. Previously in Angular Material, theme objects | COMMENT |
| LOW | src/material/core/m2/_palette.scss | 1 | @use 'sass:map'; | COMMENT |
| LOW | src/material/core/m2/_typography.scss | 161 | /// https://material.io/guidelines/style/typography.html. | COMMENT |
| LOW | src/material/core/m2/_typography.scss | 221 | @if map.get($level, font-family) == null { | COMMENT |
| LOW | src/material/core/m2/_typography.scss | 241 | /// @param {Map} $headline-3 The font settings for the headline-3 font level. | COMMENT |
| LOW | src/material/core/m2/_typography.scss | 281 | body-2: $body-2 or _rem-to-px(typography-config-level-from-mdc(body2)), | COMMENT |
| LOW | src/material/core/m2/_typography.scss | 301 | /// @param {Map} $headline-6 The font settings for the headline-6 font level. | COMMENT |
| LOW | src/material/core/m2/_theming.scss | 21 | /// @param {Map} $palette The palette from which to extract a color. | COMMENT |
| LOW | src/material/core/m2/_theming.scss | 61 | '#{$hue}-contrast': get-contrast-color-from-palette($base-palette, $hue), | COMMENT |
| LOW | src/material/core/m2/_theming.scss | 261 | } | COMMENT |
| LOW | src/material/core/m2/_theming.scss | 281 | COMMENT | |
| LOW | src/material/core/tokens/_system.scss | 41 | /// If the config map's typography value is a font family string, it will be used as the | COMMENT |
| LOW | src/material/core/tokens/_m3-tokens.scss | 101 | COMMENT | |
| LOW | src/material/core/tokens/_classes.scss | 1 | @use '../theming/typography'; | COMMENT |
| LOW | src/material/autocomplete/autocomplete.ts | 321 | // Normally WAI ARIA's instructions are to exclude disabled items from the tab order, but it | COMMENT |
| LOW | src/material/datepicker/aria-accessible-name.ts | 1 | /** | COMMENT |
| LOW | src/material/datepicker/aria-accessible-name.ts | 21 | // ``` | COMMENT |
| LOW | src/material/datepicker/aria-accessible-name.ts | 161 | } | COMMENT |
| LOW | src/material/slider/slider.ts | 801 | // 1. TranslateX | COMMENT |
| LOW | src/material/slider/slider.spec.ts | 61 | expect(input.value).withContext('value').toBe(value); | COMMENT |
| LOW | src/material/slider/slider.spec.ts | 241 | it('should not allow end thumb to slide past the start thumb', async () => { | COMMENT |
| LOW | src/material/dialog/dialog-container.ts | 141 | COMMENT | |
| LOW | …ial/form-field/_mdc-text-field-textarea-overrides.scss | 1 | // MDCs default textarea styles cannot be used because they only apply if a special | COMMENT |
| LOW | src/material/form-field/_m2-form-field.scss | 181 | // spec only describes vertical spacing/alignment in non-dense mode. This means that we | COMMENT |
| LOW | …al/form-field/_mdc-text-field-structure-overrides.scss | 1 | @use './m3-form-field'; | COMMENT |
| LOW | …al/form-field/_mdc-text-field-structure-overrides.scss | 41 | // TODO(b/263527625): should be removed when this is addressed on the MDC side. | COMMENT |
| LOW | …al/form-field/_mdc-text-field-structure-overrides.scss | 141 | // the notched outline container, and already applies a specific horizontal spacing which | COMMENT |
| LOW | src/material/select/select.ts | 1121 | // From [Developing a Keyboard Interface]( | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/cdk/a11y/focus-monitor/focus-monitor.ts | 215 | // robust solution. | COMMENT |
| MEDIUM | src/material/sidenav/drawer.scss | 42 | // TODO(hansl): Update this with a more robust solution. | COMMENT |
| MEDIUM | src/material/dialog/dialog-container.ts | 95 | // the dialog animation for us, but there are a few reasons why we just leverage | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | guides/material-2.md | 934 | #### Step 1: Extract theme-based styles to a separate file | COMMENT |
| LOW | guides/material-2.md | 972 | #### Step 2: Use values from the theme | COMMENT |
| LOW | guides/material-2.md | 998 | #### Step 3: Add a theme mixin | COMMENT |
| LOW | guides/material-2.md | 1035 | #### Step 4: Include the theme mixin in your application | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …erver-overview/breakpoint-observer-overview-example.ts | 16 | // Create a map to display breakpoint names for demonstration purposes. | COMMENT |
| LOW | src/material/icon/icon-registry.ts | 285 | * If the registered font is a ligature font, then don't forget to also include the special | COMMENT |
| LOW | src/material/icon/icon.ts | 110 | * content of the `<mat-icon>` component. If you register a custom font class, don't forget to also | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | CHANGELOG.md | 1526 | | [ea700e6d81](https://github.com/angular/components/commit/ea700e6d817699b99af15276affac3a4013e61fb) | fix | **ui-patte | CODE |
| MEDIUM | integration/yarn-pnp-compat/README.md | 9 | ## Code scaffolding | COMMENT |