blob: 3e008f65db16e9d3c02e41f3a0263fdf630ffff6 [file] [log] [blame]
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import { AriaDescriber } from '@angular/cdk/a11y';
import { ElementRef, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
import { CanDisable, CanDisableCtor, ThemePalette } from '@angular/material/core';
/** @docs-private */
declare class MatBadgeBase {
}
declare const _MatBadgeMixinBase: CanDisableCtor & typeof MatBadgeBase;
export declare type MatBadgePosition = 'above after' | 'above before' | 'below before' | 'below after';
export declare type MatBadgeSize = 'small' | 'medium' | 'large';
/** Directive to display a text badge. */
export declare class MatBadge extends _MatBadgeMixinBase implements OnDestroy, OnChanges, CanDisable {
private _ngZone;
private _elementRef;
private _ariaDescriber;
private _renderer;
private _animationMode?;
/** Whether the badge has any content. */
_hasContent: boolean;
/** The color of the badge. Can be `primary`, `accent`, or `warn`. */
color: ThemePalette;
private _color;
/** Whether the badge should overlap its contents or not */
overlap: boolean;
private _overlap;
/**
* Position the badge should reside.
* Accepts any combination of 'above'|'below' and 'before'|'after'
*/
position: MatBadgePosition;
/** The content for the badge */
content: string;
/** Message used to describe the decorated element via aria-describedby */
description: string;
private _description;
/** Size of the badge. Can be 'small', 'medium', or 'large'. */
size: MatBadgeSize;
/** Whether the badge is hidden. */
hidden: boolean;
private _hidden;
/** Unique id for the badge */
_id: number;
private _badgeElement;
constructor(_ngZone: NgZone, _elementRef: ElementRef<HTMLElement>, _ariaDescriber: AriaDescriber, _renderer: Renderer2, _animationMode?: string | undefined);
/** Whether the badge is above the host or not */
isAbove(): boolean;
/** Whether the badge is after the host or not */
isAfter(): boolean;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
/**
* Gets the element into which the badge's content is being rendered.
* Undefined if the element hasn't been created (e.g. if the badge doesn't have content).
*/
getBadgeElement(): HTMLElement | undefined;
/** Injects a span element into the DOM with the content. */
private _updateTextContent;
/** Creates the badge element */
private _createBadgeElement;
/** Sets the aria-label property on the element */
private _updateHostAriaDescription;
/** Adds css theme class given the color to the component host */
private _setColor;
/** Clears any existing badges that might be left over from server-side rendering. */
private _clearExistingBadges;
}
export {};