@angular/material 21.0.0-next.9 → 21.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/tokens/_classes.scss +1 -1
- package/core/tokens/m2/_md-sys-color.scss +17 -17
- package/fesm2022/_animation-chunk.mjs +10 -16
- package/fesm2022/_animation-chunk.mjs.map +1 -1
- package/fesm2022/_date-formats-chunk.mjs +68 -164
- package/fesm2022/_date-formats-chunk.mjs.map +1 -1
- package/fesm2022/_date-range-input-harness-chunk.mjs +284 -463
- package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_error-options-chunk.mjs +56 -19
- package/fesm2022/_error-options-chunk.mjs.map +1 -1
- package/fesm2022/_error-state-chunk.mjs +24 -31
- package/fesm2022/_error-state-chunk.mjs.map +1 -1
- package/fesm2022/_form-field-chunk.mjs +1224 -1017
- package/fesm2022/_form-field-chunk.mjs.map +1 -1
- package/fesm2022/_icon-button-chunk.mjs +243 -187
- package/fesm2022/_icon-button-chunk.mjs.map +1 -1
- package/fesm2022/_icon-registry-chunk.mjs +350 -575
- package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
- package/fesm2022/_input-harness-chunk.mjs +56 -107
- package/fesm2022/_input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_input-value-accessor-chunk.mjs +0 -6
- package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
- package/fesm2022/_internal-form-field-chunk.mjs +59 -19
- package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
- package/fesm2022/_line-chunk.mjs +83 -43
- package/fesm2022/_line-chunk.mjs.map +1 -1
- package/fesm2022/_option-chunk.mjs +348 -311
- package/fesm2022/_option-chunk.mjs.map +1 -1
- package/fesm2022/_option-harness-chunk.mjs +23 -39
- package/fesm2022/_option-harness-chunk.mjs.map +1 -1
- package/fesm2022/_option-module-chunk.mjs +36 -10
- package/fesm2022/_option-module-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-chunk.mjs +79 -44
- package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs +36 -10
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
- package/fesm2022/_public-api-chunk.mjs +71 -134
- package/fesm2022/_public-api-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-chunk.mjs +504 -600
- package/fesm2022/_ripple-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-loader-chunk.mjs +120 -138
- package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-module-chunk.mjs +36 -10
- package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
- package/fesm2022/_structural-styles-chunk.mjs +37 -10
- package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
- package/fesm2022/_tooltip-chunk.mjs +811 -888
- package/fesm2022/_tooltip-chunk.mjs.map +1 -1
- package/fesm2022/autocomplete-testing.mjs +62 -86
- package/fesm2022/autocomplete-testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs +965 -1126
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge-testing.mjs +38 -54
- package/fesm2022/badge-testing.mjs.map +1 -1
- package/fesm2022/badge.mjs +321 -272
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet-testing.mjs +10 -24
- package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs +349 -344
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-testing.mjs +60 -94
- package/fesm2022/button-testing.mjs.map +1 -1
- package/fesm2022/button-toggle-testing.mjs +76 -125
- package/fesm2022/button-toggle-testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +752 -662
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +263 -158
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card-testing.mjs +19 -33
- package/fesm2022/card-testing.mjs.map +1 -1
- package/fesm2022/card.mjs +576 -272
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox-testing.mjs +71 -123
- package/fesm2022/checkbox-testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +515 -477
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips-testing.mjs +201 -344
- package/fesm2022/chips-testing.mjs.map +1 -1
- package/fesm2022/chips.mjs +2552 -2289
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core-testing.mjs +14 -28
- package/fesm2022/core-testing.mjs.map +1 -1
- package/fesm2022/core.mjs +357 -328
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker-testing.mjs +15 -25
- package/fesm2022/datepicker-testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +4826 -4563
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog-testing.mjs +93 -129
- package/fesm2022/dialog-testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs +810 -829
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider-testing.mjs +10 -11
- package/fesm2022/divider-testing.mjs.map +1 -1
- package/fesm2022/divider.mjs +119 -43
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion-testing.mjs +74 -130
- package/fesm2022/expansion-testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs +703 -515
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field-testing-control.mjs +16 -33
- package/fesm2022/form-field-testing-control.mjs.map +1 -1
- package/fesm2022/form-field-testing.mjs +118 -179
- package/fesm2022/form-field-testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs +36 -10
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list-testing.mjs +65 -113
- package/fesm2022/grid-list-testing.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +559 -494
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon-testing.mjs +148 -127
- package/fesm2022/icon-testing.mjs.map +1 -1
- package/fesm2022/icon.mjs +325 -351
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input-testing.mjs +59 -99
- package/fesm2022/input-testing.mjs.map +1 -1
- package/fesm2022/input.mjs +457 -520
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/list-testing.mjs +251 -434
- package/fesm2022/list-testing.mjs.map +1 -1
- package/fesm2022/list.mjs +1522 -1204
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/material.mjs +0 -5
- package/fesm2022/material.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs +159 -228
- package/fesm2022/menu-testing.mjs.map +1 -1
- package/fesm2022/menu.mjs +1338 -1343
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator-testing.mjs +55 -79
- package/fesm2022/paginator-testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs +381 -309
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar-testing.mjs +12 -21
- package/fesm2022/progress-bar-testing.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +224 -169
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner-testing.mjs +13 -23
- package/fesm2022/progress-spinner-testing.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +235 -160
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio-testing.mjs +133 -208
- package/fesm2022/radio-testing.mjs.map +1 -1
- package/fesm2022/radio.mjs +712 -679
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select-testing.mjs +83 -117
- package/fesm2022/select-testing.mjs.map +1 -1
- package/fesm2022/select.mjs +1116 -1246
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav-testing.mjs +54 -120
- package/fesm2022/sidenav-testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +1078 -995
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle-testing.mjs +57 -92
- package/fesm2022/slide-toggle-testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +369 -279
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider-testing.mjs +90 -138
- package/fesm2022/slider-testing.mjs.map +1 -1
- package/fesm2022/slider.mjs +1651 -1716
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar-testing.mjs +40 -87
- package/fesm2022/snack-bar-testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs +763 -714
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort-testing.mjs +45 -66
- package/fesm2022/sort-testing.mjs.map +1 -1
- package/fesm2022/sort.mjs +419 -344
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper-testing.mjs +78 -154
- package/fesm2022/stepper-testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs +790 -498
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table-testing.mjs +120 -213
- package/fesm2022/table-testing.mjs.map +1 -1
- package/fesm2022/table.mjs +1026 -684
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs-testing.mjs +125 -197
- package/fesm2022/tabs-testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs +2351 -2028
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker-testing.mjs +113 -172
- package/fesm2022/timepicker-testing.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +1019 -826
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs +16 -27
- package/fesm2022/toolbar-testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +163 -78
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip-testing.mjs +41 -52
- package/fesm2022/tooltip-testing.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +36 -10
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs +86 -162
- package/fesm2022/tree-testing.mjs.map +1 -1
- package/fesm2022/tree.mjs +638 -466
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/types/expansion.d.ts +4 -2
- package/types/menu-testing.d.ts +2 -0
- package/types/select.d.ts +1 -1
- package/types/timepicker.d.ts +1 -0
package/fesm2022/badge.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/badge/badge.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/badge/badge-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {_IdGenerator, AriaDescriber, InteractivityChecker} from '@angular/cdk/a11y';\n\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n HOST_TAG_NAME,\n DOCUMENT,\n} from '@angular/core';\nimport {_animationsDisabled, ThemePalette} from '../core';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n/** Allowed position options for matBadgePosition */\nexport type MatBadgePosition =\n | 'above after'\n | 'above before'\n | 'below before'\n | 'below after'\n | 'before'\n | 'after'\n | 'above'\n | 'below';\n\n/** Allowed size options for matBadgeSize */\nexport type MatBadgeSize = 'small' | 'medium' | 'large';\n\nconst BADGE_CONTENT_CLASS = 'mat-badge-content';\n\n/**\n * Component used to load the structural styles of the badge.\n * @docs-private\n */\n@Component({\n styleUrl: 'badge.css',\n encapsulation: ViewEncapsulation.None,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class _MatBadgeStyleLoader {}\n\n/** Directive to display a text badge. */\n@Directive({\n selector: '[matBadge]',\n host: {\n 'class': 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !content',\n '[class.mat-badge-disabled]': 'disabled',\n },\n})\nexport class MatBadge implements OnInit, OnDestroy {\n private _ngZone = inject(NgZone);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ariaDescriber = inject(AriaDescriber);\n private _renderer = inject(Renderer2);\n private _animationsDisabled = _animationsDisabled();\n private _idGenerator = inject(_IdGenerator);\n\n /**\n * Theme color of the badge. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/badge/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input('matBadgeColor')\n get color(): ThemePalette {\n return this._color;\n }\n set color(value: ThemePalette) {\n this._setColor(value);\n this._color = value;\n }\n private _color: ThemePalette = 'primary';\n\n /** Whether the badge should overlap its contents or not */\n @Input({alias: 'matBadgeOverlap', transform: booleanAttribute}) overlap: boolean = true;\n\n /** Whether the badge is disabled. */\n @Input({alias: 'matBadgeDisabled', transform: booleanAttribute}) disabled: boolean;\n\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n @Input('matBadgePosition') position: MatBadgePosition = 'above after';\n\n /** The content for the badge */\n @Input('matBadge')\n get content(): string | number | undefined | null {\n return this._content;\n }\n set content(newContent: string | number | undefined | null) {\n this._updateRenderedContent(newContent);\n }\n private _content: string | number | undefined | null;\n\n /** Message used to describe the decorated element via aria-describedby */\n @Input('matBadgeDescription')\n get description(): string {\n return this._description;\n }\n set description(newDescription: string) {\n this._updateDescription(newDescription);\n }\n private _description: string;\n\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n @Input('matBadgeSize') size: MatBadgeSize = 'medium';\n\n /** Whether the badge is hidden. */\n @Input({alias: 'matBadgeHidden', transform: booleanAttribute}) hidden: boolean;\n\n /** Visible badge element. */\n private _badgeElement: HTMLElement | undefined;\n\n /** Inline badge description. Used when the badge is applied to non-interactive host elements. */\n private _inlineBadgeDescription: HTMLElement | undefined;\n\n /** Whether the OnInit lifecycle hook has run yet */\n private _isInitialized = false;\n\n /** InteractivityChecker to determine if the badge host is focusable. */\n private _interactivityChecker = inject(InteractivityChecker);\n\n private _document = inject(DOCUMENT);\n\n constructor(...args: unknown[]);\n\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_MatBadgeStyleLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const nativeElement = this._elementRef.nativeElement;\n\n if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n throw Error('matBadge must be attached to an element node.');\n }\n\n const tagName = inject(HOST_TAG_NAME);\n\n // Heads-up for developers to avoid putting matBadge on <mat-icon>\n // as it is aria-hidden by default docs mention this at:\n // https://material.angular.dev/components/badge/overview#accessibility\n if (\n tagName.toLowerCase() === 'mat-icon' &&\n nativeElement.getAttribute('aria-hidden') === 'true'\n ) {\n console.warn(\n `Detected a matBadge on an \"aria-hidden\" \"<mat-icon>\". ` +\n `Consider setting aria-hidden=\"false\" in order to surface the information assistive technology.` +\n `\\n${nativeElement.outerHTML}`,\n );\n }\n }\n }\n\n /** Whether the badge is above the host or not */\n isAbove(): boolean {\n return this.position.indexOf('below') === -1;\n }\n\n /** Whether the badge is after the host or not */\n isAfter(): boolean {\n return this.position.indexOf('before') === -1;\n }\n\n /**\n * Gets the element into which the badge's content is being rendered. Undefined if the element\n * hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement(): HTMLElement | undefined {\n return this._badgeElement;\n }\n\n ngOnInit() {\n // We may have server-side rendered badge that we need to clear.\n // We need to do this in ngOnInit because the full content of the component\n // on which the badge is attached won't necessarily be in the DOM until this point.\n this._clearExistingBadges();\n\n if (this.content && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n this._updateRenderedContent(this.content);\n }\n\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n // ViewEngine only: when creating a badge through the Renderer, Angular remembers its index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(this._badgeElement);\n this._inlineBadgeDescription?.remove();\n }\n\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n }\n\n /** Gets whether the badge's host element is interactive. */\n private _isHostInteractive(): boolean {\n // Ignore visibility since it requires an expensive style caluclation.\n return this._interactivityChecker.isFocusable(this._elementRef.nativeElement, {\n ignoreVisibility: true,\n });\n }\n\n /** Creates the badge element */\n private _createBadgeElement(): HTMLElement {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n\n badgeElement.setAttribute('id', this._idGenerator.getId('mat-badge-content-'));\n\n // The badge is aria-hidden because we don't want it to appear in the page's navigation\n // flow. Instead, we use the badge to describe the decorated element with aria-describedby.\n badgeElement.setAttribute('aria-hidden', 'true');\n badgeElement.classList.add(BADGE_CONTENT_CLASS);\n\n if (this._animationsDisabled) {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n\n this._elementRef.nativeElement.appendChild(badgeElement);\n\n // animate in after insertion\n if (typeof requestAnimationFrame === 'function' && !this._animationsDisabled) {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n\n return badgeElement;\n }\n\n /** Update the text content of the badge element in the DOM, creating the element if necessary. */\n private _updateRenderedContent(newContent: string | number | undefined | null): void {\n const newContentNormalized: string = `${newContent ?? ''}`.trim();\n\n // Don't create the badge element if the directive isn't initialized because we want to\n // append the badge element to the *end* of the host element's content for backwards\n // compatibility.\n if (this._isInitialized && newContentNormalized && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n }\n\n if (this._badgeElement) {\n this._badgeElement.textContent = newContentNormalized;\n }\n\n this._content = newContentNormalized;\n }\n\n /** Updates the host element's aria description via AriaDescriber. */\n private _updateDescription(newDescription: string): void {\n // Always start by removing the aria-describedby; we will add a new one if necessary.\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n\n // NOTE: We only check whether the host is interactive here, which happens during\n // when then badge content changes. It is possible that the host changes\n // interactivity status separate from one of these. However, watching the interactivity\n // status of the host would require a `MutationObserver`, which is likely more code + overhead\n // than it's worth; from usages inside Google, we see that the vats majority of badges either\n // never change interactivity, or also set `matBadgeHidden` based on the same condition.\n\n if (!newDescription || this._isHostInteractive()) {\n this._removeInlineDescription();\n }\n\n this._description = newDescription;\n\n // We don't add `aria-describedby` for non-interactive hosts elements because we\n // instead insert the description inline.\n if (this._isHostInteractive()) {\n this._ariaDescriber.describe(this._elementRef.nativeElement, newDescription);\n } else {\n this._updateInlineDescription();\n }\n }\n\n private _updateInlineDescription() {\n // Create the inline description element if it doesn't exist\n if (!this._inlineBadgeDescription) {\n this._inlineBadgeDescription = this._document.createElement('span');\n this._inlineBadgeDescription.classList.add('cdk-visually-hidden');\n }\n\n this._inlineBadgeDescription.textContent = this.description;\n this._badgeElement?.appendChild(this._inlineBadgeDescription);\n }\n\n private _removeInlineDescription() {\n this._inlineBadgeDescription?.remove();\n this._inlineBadgeDescription = undefined;\n }\n\n /** Adds css theme class given the color to the component host */\n private _setColor(colorPalette: ThemePalette) {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(`mat-badge-${this._color}`);\n if (colorPalette) {\n classList.add(`mat-badge-${colorPalette}`);\n }\n }\n\n /** Clears any existing badges that might be left over from server-side rendering. */\n private _clearExistingBadges() {\n // Only check direct children of this host element in order to avoid deleting\n // any badges that might exist in descendant elements.\n const badges = this._elementRef.nativeElement.querySelectorAll(\n `:scope > .${BADGE_CONTENT_CLASS}`,\n );\n for (const badgeElement of Array.from(badges)) {\n if (badgeElement !== this._badgeElement) {\n badgeElement.remove();\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {MatBadge, _MatBadgeStyleLoader} from './badge';\n\n@NgModule({\n // Note: we _shouldn't_ have to import `_MatBadgeStyleLoader`,\n // but it seems to be necessary for tests.\n imports: [A11yModule, MatBadge, _MatBadgeStyleLoader],\n exports: [MatBadge, BidiModule],\n})\nexport class MatBadgeModule {}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"badge.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/badge/badge.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/badge/badge-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {_IdGenerator, AriaDescriber, InteractivityChecker} from '@angular/cdk/a11y';\n\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n HOST_TAG_NAME,\n DOCUMENT,\n} from '@angular/core';\nimport {_animationsDisabled, ThemePalette} from '../core';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n/** Allowed position options for matBadgePosition */\nexport type MatBadgePosition =\n | 'above after'\n | 'above before'\n | 'below before'\n | 'below after'\n | 'before'\n | 'after'\n | 'above'\n | 'below';\n\n/** Allowed size options for matBadgeSize */\nexport type MatBadgeSize = 'small' | 'medium' | 'large';\n\nconst BADGE_CONTENT_CLASS = 'mat-badge-content';\n\n/**\n * Component used to load the structural styles of the badge.\n * @docs-private\n */\n@Component({\n styleUrl: 'badge.css',\n encapsulation: ViewEncapsulation.None,\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class _MatBadgeStyleLoader {}\n\n/** Directive to display a text badge. */\n@Directive({\n selector: '[matBadge]',\n host: {\n 'class': 'mat-badge',\n '[class.mat-badge-overlap]': 'overlap',\n '[class.mat-badge-above]': 'isAbove()',\n '[class.mat-badge-below]': '!isAbove()',\n '[class.mat-badge-before]': '!isAfter()',\n '[class.mat-badge-after]': 'isAfter()',\n '[class.mat-badge-small]': 'size === \"small\"',\n '[class.mat-badge-medium]': 'size === \"medium\"',\n '[class.mat-badge-large]': 'size === \"large\"',\n '[class.mat-badge-hidden]': 'hidden || !content',\n '[class.mat-badge-disabled]': 'disabled',\n },\n})\nexport class MatBadge implements OnInit, OnDestroy {\n private _ngZone = inject(NgZone);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ariaDescriber = inject(AriaDescriber);\n private _renderer = inject(Renderer2);\n private _animationsDisabled = _animationsDisabled();\n private _idGenerator = inject(_IdGenerator);\n\n /**\n * Theme color of the badge. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/badge/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input('matBadgeColor')\n get color(): ThemePalette {\n return this._color;\n }\n set color(value: ThemePalette) {\n this._setColor(value);\n this._color = value;\n }\n private _color: ThemePalette = 'primary';\n\n /** Whether the badge should overlap its contents or not */\n @Input({alias: 'matBadgeOverlap', transform: booleanAttribute}) overlap: boolean = true;\n\n /** Whether the badge is disabled. */\n @Input({alias: 'matBadgeDisabled', transform: booleanAttribute}) disabled: boolean;\n\n /**\n * Position the badge should reside.\n * Accepts any combination of 'above'|'below' and 'before'|'after'\n */\n @Input('matBadgePosition') position: MatBadgePosition = 'above after';\n\n /** The content for the badge */\n @Input('matBadge')\n get content(): string | number | undefined | null {\n return this._content;\n }\n set content(newContent: string | number | undefined | null) {\n this._updateRenderedContent(newContent);\n }\n private _content: string | number | undefined | null;\n\n /** Message used to describe the decorated element via aria-describedby */\n @Input('matBadgeDescription')\n get description(): string {\n return this._description;\n }\n set description(newDescription: string) {\n this._updateDescription(newDescription);\n }\n private _description: string;\n\n /** Size of the badge. Can be 'small', 'medium', or 'large'. */\n @Input('matBadgeSize') size: MatBadgeSize = 'medium';\n\n /** Whether the badge is hidden. */\n @Input({alias: 'matBadgeHidden', transform: booleanAttribute}) hidden: boolean;\n\n /** Visible badge element. */\n private _badgeElement: HTMLElement | undefined;\n\n /** Inline badge description. Used when the badge is applied to non-interactive host elements. */\n private _inlineBadgeDescription: HTMLElement | undefined;\n\n /** Whether the OnInit lifecycle hook has run yet */\n private _isInitialized = false;\n\n /** InteractivityChecker to determine if the badge host is focusable. */\n private _interactivityChecker = inject(InteractivityChecker);\n\n private _document = inject(DOCUMENT);\n\n constructor(...args: unknown[]);\n\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_MatBadgeStyleLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n const nativeElement = this._elementRef.nativeElement;\n\n if (nativeElement.nodeType !== nativeElement.ELEMENT_NODE) {\n throw Error('matBadge must be attached to an element node.');\n }\n\n const tagName = inject(HOST_TAG_NAME);\n\n // Heads-up for developers to avoid putting matBadge on <mat-icon>\n // as it is aria-hidden by default docs mention this at:\n // https://material.angular.dev/components/badge/overview#accessibility\n if (\n tagName.toLowerCase() === 'mat-icon' &&\n nativeElement.getAttribute('aria-hidden') === 'true'\n ) {\n console.warn(\n `Detected a matBadge on an \"aria-hidden\" \"<mat-icon>\". ` +\n `Consider setting aria-hidden=\"false\" in order to surface the information assistive technology.` +\n `\\n${nativeElement.outerHTML}`,\n );\n }\n }\n }\n\n /** Whether the badge is above the host or not */\n isAbove(): boolean {\n return this.position.indexOf('below') === -1;\n }\n\n /** Whether the badge is after the host or not */\n isAfter(): boolean {\n return this.position.indexOf('before') === -1;\n }\n\n /**\n * Gets the element into which the badge's content is being rendered. Undefined if the element\n * hasn't been created (e.g. if the badge doesn't have content).\n */\n getBadgeElement(): HTMLElement | undefined {\n return this._badgeElement;\n }\n\n ngOnInit() {\n // We may have server-side rendered badge that we need to clear.\n // We need to do this in ngOnInit because the full content of the component\n // on which the badge is attached won't necessarily be in the DOM until this point.\n this._clearExistingBadges();\n\n if (this.content && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n this._updateRenderedContent(this.content);\n }\n\n this._isInitialized = true;\n }\n\n ngOnDestroy() {\n // ViewEngine only: when creating a badge through the Renderer, Angular remembers its index.\n // We have to destroy it ourselves, otherwise it'll be retained in memory.\n if (this._renderer.destroyNode) {\n this._renderer.destroyNode(this._badgeElement);\n this._inlineBadgeDescription?.remove();\n }\n\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n }\n\n /** Gets whether the badge's host element is interactive. */\n private _isHostInteractive(): boolean {\n // Ignore visibility since it requires an expensive style caluclation.\n return this._interactivityChecker.isFocusable(this._elementRef.nativeElement, {\n ignoreVisibility: true,\n });\n }\n\n /** Creates the badge element */\n private _createBadgeElement(): HTMLElement {\n const badgeElement = this._renderer.createElement('span');\n const activeClass = 'mat-badge-active';\n\n badgeElement.setAttribute('id', this._idGenerator.getId('mat-badge-content-'));\n\n // The badge is aria-hidden because we don't want it to appear in the page's navigation\n // flow. Instead, we use the badge to describe the decorated element with aria-describedby.\n badgeElement.setAttribute('aria-hidden', 'true');\n badgeElement.classList.add(BADGE_CONTENT_CLASS);\n\n if (this._animationsDisabled) {\n badgeElement.classList.add('_mat-animation-noopable');\n }\n\n this._elementRef.nativeElement.appendChild(badgeElement);\n\n // animate in after insertion\n if (typeof requestAnimationFrame === 'function' && !this._animationsDisabled) {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => {\n badgeElement.classList.add(activeClass);\n });\n });\n } else {\n badgeElement.classList.add(activeClass);\n }\n\n return badgeElement;\n }\n\n /** Update the text content of the badge element in the DOM, creating the element if necessary. */\n private _updateRenderedContent(newContent: string | number | undefined | null): void {\n const newContentNormalized: string = `${newContent ?? ''}`.trim();\n\n // Don't create the badge element if the directive isn't initialized because we want to\n // append the badge element to the *end* of the host element's content for backwards\n // compatibility.\n if (this._isInitialized && newContentNormalized && !this._badgeElement) {\n this._badgeElement = this._createBadgeElement();\n }\n\n if (this._badgeElement) {\n this._badgeElement.textContent = newContentNormalized;\n }\n\n this._content = newContentNormalized;\n }\n\n /** Updates the host element's aria description via AriaDescriber. */\n private _updateDescription(newDescription: string): void {\n // Always start by removing the aria-describedby; we will add a new one if necessary.\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this.description);\n\n // NOTE: We only check whether the host is interactive here, which happens during\n // when then badge content changes. It is possible that the host changes\n // interactivity status separate from one of these. However, watching the interactivity\n // status of the host would require a `MutationObserver`, which is likely more code + overhead\n // than it's worth; from usages inside Google, we see that the vats majority of badges either\n // never change interactivity, or also set `matBadgeHidden` based on the same condition.\n\n if (!newDescription || this._isHostInteractive()) {\n this._removeInlineDescription();\n }\n\n this._description = newDescription;\n\n // We don't add `aria-describedby` for non-interactive hosts elements because we\n // instead insert the description inline.\n if (this._isHostInteractive()) {\n this._ariaDescriber.describe(this._elementRef.nativeElement, newDescription);\n } else {\n this._updateInlineDescription();\n }\n }\n\n private _updateInlineDescription() {\n // Create the inline description element if it doesn't exist\n if (!this._inlineBadgeDescription) {\n this._inlineBadgeDescription = this._document.createElement('span');\n this._inlineBadgeDescription.classList.add('cdk-visually-hidden');\n }\n\n this._inlineBadgeDescription.textContent = this.description;\n this._badgeElement?.appendChild(this._inlineBadgeDescription);\n }\n\n private _removeInlineDescription() {\n this._inlineBadgeDescription?.remove();\n this._inlineBadgeDescription = undefined;\n }\n\n /** Adds css theme class given the color to the component host */\n private _setColor(colorPalette: ThemePalette) {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(`mat-badge-${this._color}`);\n if (colorPalette) {\n classList.add(`mat-badge-${colorPalette}`);\n }\n }\n\n /** Clears any existing badges that might be left over from server-side rendering. */\n private _clearExistingBadges() {\n // Only check direct children of this host element in order to avoid deleting\n // any badges that might exist in descendant elements.\n const badges = this._elementRef.nativeElement.querySelectorAll(\n `:scope > .${BADGE_CONTENT_CLASS}`,\n );\n for (const badgeElement of Array.from(badges)) {\n if (badgeElement !== this._badgeElement) {\n badgeElement.remove();\n }\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {A11yModule} from '@angular/cdk/a11y';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {MatBadge, _MatBadgeStyleLoader} from './badge';\n\n@NgModule({\n // Note: we _shouldn't_ have to import `_MatBadgeStyleLoader`,\n // but it seems to be necessary for tests.\n imports: [A11yModule, MatBadge, _MatBadgeStyleLoader],\n exports: [MatBadge, BidiModule],\n})\nexport class MatBadgeModule {}\n"],"names":["BADGE_CONTENT_CLASS","_MatBadgeStyleLoader","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","args","template","MatBadge","_ngZone","inject","NgZone","_elementRef","ElementRef","_ariaDescriber","AriaDescriber","_renderer","Renderer2","_animationsDisabled","_idGenerator","_IdGenerator","color","_color","value","_setColor","overlap","disabled","position","content","_content","newContent","_updateRenderedContent","description","_description","newDescription","_updateDescription","size","hidden","_badgeElement","_inlineBadgeDescription","_isInitialized","_interactivityChecker","InteractivityChecker","_document","DOCUMENT","constructor","styleLoader","_CdkPrivateStyleLoader","load","_VisuallyHiddenLoader","ngDevMode","nativeElement","nodeType","ELEMENT_NODE","Error","tagName","HOST_TAG_NAME","toLowerCase","getAttribute","console","warn","outerHTML","isAbove","indexOf","isAfter","getBadgeElement","ngOnInit","_clearExistingBadges","_createBadgeElement","ngOnDestroy","destroyNode","remove","removeDescription","_isHostInteractive","isFocusable","ignoreVisibility","badgeElement","createElement","activeClass","setAttribute","getId","classList","add","appendChild","requestAnimationFrame","runOutsideAngular","newContentNormalized","trim","textContent","_removeInlineDescription","describe","_updateInlineDescription","undefined","colorPalette","badges","querySelectorAll","Array","from","Directive","ɵdir","ɵɵngDeclareDirective","isStandalone","selector","inputs","booleanAttribute","host","properties","classAttribute","ngImport","Input","alias","transform","MatBadgeModule","NgModule","imports","A11yModule","exports","BidiModule"],"mappings":"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"}
|
|
@@ -1,30 +1,16 @@
|
|
|
1
1
|
import { ContentContainerComponentHarness, HarnessPredicate, TestKey } from '@angular/cdk/testing';
|
|
2
2
|
|
|
3
|
-
/** Harness for interacting with a standard MatBottomSheet in tests. */
|
|
4
3
|
class MatBottomSheetHarness extends ContentContainerComponentHarness {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return new HarnessPredicate(MatBottomSheetHarness, options);
|
|
16
|
-
}
|
|
17
|
-
/** Gets the value of the bottom sheet's "aria-label" attribute. */
|
|
18
|
-
async getAriaLabel() {
|
|
19
|
-
return (await this.host()).getAttribute('aria-label');
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Dismisses the bottom sheet by pressing escape. Note that this method cannot
|
|
23
|
-
* be used if "disableClose" has been set to true via the config.
|
|
24
|
-
*/
|
|
25
|
-
async dismiss() {
|
|
26
|
-
await (await this.host()).sendKeys(TestKey.ESCAPE);
|
|
27
|
-
}
|
|
4
|
+
static hostSelector = '.mat-bottom-sheet-container:not([mat-exit])';
|
|
5
|
+
static with(options = {}) {
|
|
6
|
+
return new HarnessPredicate(MatBottomSheetHarness, options);
|
|
7
|
+
}
|
|
8
|
+
async getAriaLabel() {
|
|
9
|
+
return (await this.host()).getAttribute('aria-label');
|
|
10
|
+
}
|
|
11
|
+
async dismiss() {
|
|
12
|
+
await (await this.host()).sendKeys(TestKey.ESCAPE);
|
|
13
|
+
}
|
|
28
14
|
}
|
|
29
15
|
|
|
30
16
|
export { MatBottomSheetHarness };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bottom-sheet-testing.mjs","sources":["../../../../../
|
|
1
|
+
{"version":3,"file":"bottom-sheet-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/bottom-sheet/testing/bottom-sheet-harness.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ContentContainerComponentHarness, HarnessPredicate, TestKey} from '@angular/cdk/testing';\nimport {BottomSheetHarnessFilters} from './bottom-sheet-harness-filters';\n\n/** Harness for interacting with a standard MatBottomSheet in tests. */\nexport class MatBottomSheetHarness extends ContentContainerComponentHarness<string> {\n // Developers can provide a custom component or template for the\n // bottom sheet. The canonical parent is the \".mat-bottom-sheet-container\".\n static hostSelector = '.mat-bottom-sheet-container:not([mat-exit])';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a bottom sheet with\n * specific attributes.\n * @param options Options for narrowing the search.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: BottomSheetHarnessFilters = {}): HarnessPredicate<MatBottomSheetHarness> {\n return new HarnessPredicate(MatBottomSheetHarness, options);\n }\n\n /** Gets the value of the bottom sheet's \"aria-label\" attribute. */\n async getAriaLabel(): Promise<string | null> {\n return (await this.host()).getAttribute('aria-label');\n }\n\n /**\n * Dismisses the bottom sheet by pressing escape. Note that this method cannot\n * be used if \"disableClose\" has been set to true via the config.\n */\n async dismiss(): Promise<void> {\n await (await this.host()).sendKeys(TestKey.ESCAPE);\n }\n}\n"],"names":["MatBottomSheetHarness","ContentContainerComponentHarness","hostSelector","with","options","HarnessPredicate","getAriaLabel","host","getAttribute","dismiss","sendKeys","TestKey","ESCAPE"],"mappings":";;AAYM,MAAOA,qBAAsB,SAAQC,gCAAwC,CAAA;EAGjF,OAAOC,YAAY,GAAG,6CAA6C;AAQnE,EAAA,OAAOC,IAAIA,CAACC,OAAA,GAAqC,EAAE,EAAA;AACjD,IAAA,OAAO,IAAIC,gBAAgB,CAACL,qBAAqB,EAAEI,OAAO,CAAC;AAC7D;EAGA,MAAME,YAAYA,GAAA;IAChB,OAAO,CAAC,MAAM,IAAI,CAACC,IAAI,EAAE,EAAEC,YAAY,CAAC,YAAY,CAAC;AACvD;EAMA,MAAMC,OAAOA,GAAA;AACX,IAAA,MAAM,CAAC,MAAM,IAAI,CAACF,IAAI,EAAE,EAAEG,QAAQ,CAACC,OAAO,CAACC,MAAM,CAAC;AACpD;;;;;"}
|