{"version":3,"file":"tab-group.d.ts","sources":["tab-group.d.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACA","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.io/license\n */\nimport { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { AfterContentChecked, AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';\nimport { FocusOrigin } from '@angular/cdk/a11y';\nimport { CanColor, CanDisableRipple, ThemePalette } from '@angular/material/core';\nimport { MatTab } from './tab';\nimport { MatTabsConfig } from './tab-config';\n/** A simple change event emitted on focus or selection changes. */\nexport declare class MatTabChangeEvent {\n /** Index of the currently-selected tab. */\n index: number;\n /** Reference to the currently-selected tab. */\n tab: MatTab;\n}\n/** Possible positions for the tab header. */\nexport declare type MatTabHeaderPosition = 'above' | 'below';\n/** @docs-private */\ndeclare const _MatTabGroupMixinBase: import(\"@angular/material/core/common-behaviors/constructor\").Constructor & import(\"@angular/material/core/common-behaviors/constructor\").AbstractConstructor & import(\"@angular/material/core/common-behaviors/constructor\").Constructor & import(\"@angular/material/core/common-behaviors/constructor\").AbstractConstructor & {\n new (_elementRef: ElementRef): {\n _elementRef: ElementRef;\n };\n};\ninterface MatTabGroupBaseHeader {\n _alignInkBarToSelectedTab: () => void;\n focusIndex: number;\n}\n/**\n * Base class with all of the `MatTabGroupBase` functionality.\n * @docs-private\n */\nexport declare abstract class _MatTabGroupBase extends _MatTabGroupMixinBase implements AfterContentInit, AfterContentChecked, OnDestroy, CanColor, CanDisableRipple {\n protected _changeDetectorRef: ChangeDetectorRef;\n _animationMode?: string | undefined;\n /**\n * All tabs inside the tab group. This includes tabs that belong to groups that are nested\n * inside the current one. We filter out only the tabs that belong to this group in `_tabs`.\n */\n abstract _allTabs: QueryList;\n abstract _tabBodyWrapper: ElementRef;\n abstract _tabHeader: MatTabGroupBaseHeader;\n /** All of the tabs that belong to the group. */\n _tabs: QueryList;\n /** The tab index that should be selected after the content has been checked. */\n private _indexToSelect;\n /** Snapshot of the height of the tab body wrapper before another tab is activated. */\n private _tabBodyWrapperHeight;\n /** Subscription to tabs being added/removed. */\n private _tabsSubscription;\n /** Subscription to changes in the tab labels. */\n private _tabLabelSubscription;\n /** Whether the tab group should grow to the size of the active tab. */\n get dynamicHeight(): boolean;\n set dynamicHeight(value: boolean);\n private _dynamicHeight;\n /** The index of the active tab. */\n get selectedIndex(): number | null;\n set selectedIndex(value: number | null);\n private _selectedIndex;\n /** Position of the tab header. */\n headerPosition: MatTabHeaderPosition;\n /** Duration for the tab animation. Will be normalized to milliseconds if no units are set. */\n get animationDuration(): string;\n set animationDuration(value: string);\n private _animationDuration;\n /**\n * `tabindex` to be set on the inner element that wraps the tab content. Can be used for improved\n * accessibility when the tab does not have focusable elements or if it has scrollable content.\n * The `tabindex` will be removed automatically for inactive tabs.\n * Read more at https://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-2/tabs.html\n */\n get contentTabIndex(): number | null;\n set contentTabIndex(value: number | null);\n private _contentTabIndex;\n /**\n * Whether pagination should be disabled. This can be used to avoid unnecessary\n * layout recalculations if it's known that pagination won't be required.\n */\n disablePagination: boolean;\n /** Background color of the tab group. */\n get backgroundColor(): ThemePalette;\n set backgroundColor(value: ThemePalette);\n private _backgroundColor;\n /** Output to enable support for two-way binding on `[(selectedIndex)]` */\n readonly selectedIndexChange: EventEmitter;\n /** Event emitted when focus has changed within a tab group. */\n readonly focusChange: EventEmitter;\n /** Event emitted when the body animation has completed */\n readonly animationDone: EventEmitter;\n /** Event emitted when the tab selection has changed. */\n readonly selectedTabChange: EventEmitter;\n private _groupId;\n constructor(elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, defaultConfig?: MatTabsConfig, _animationMode?: string | undefined);\n /**\n * After the content is checked, this component knows what tabs have been defined\n * and what the selected index should be. This is where we can know exactly what position\n * each tab should be in according to the new selected index, and additionally we know how\n * a new selected tab should transition in (from the left or right).\n */\n ngAfterContentChecked(): void;\n ngAfterContentInit(): void;\n /** Listens to changes in all of the tabs. */\n private _subscribeToAllTabChanges;\n ngOnDestroy(): void;\n /** Re-aligns the ink bar to the selected tab element. */\n realignInkBar(): void;\n /**\n * Sets focus to a particular tab.\n * @param index Index of the tab to be focused.\n */\n focusTab(index: number): void;\n _focusChanged(index: number): void;\n private _createChangeEvent;\n /**\n * Subscribes to changes in the tab labels. This is needed, because the @Input for the label is\n * on the MatTab component, whereas the data binding is inside the MatTabGroup. In order for the\n * binding to be updated, we need to subscribe to changes in it and trigger change detection\n * manually.\n */\n private _subscribeToTabLabels;\n /** Clamps the given index to the bounds of 0 and the tabs length. */\n private _clampTabIndex;\n /** Returns a unique id for each tab label element */\n _getTabLabelId(i: number): string;\n /** Returns a unique id for each tab content element */\n _getTabContentId(i: number): string;\n /**\n * Sets the height of the body wrapper to the height of the activating tab if dynamic\n * height property is true.\n */\n _setTabBodyWrapperHeight(tabHeight: number): void;\n /** Removes the height of the tab body wrapper. */\n _removeTabBodyWrapperHeight(): void;\n /** Handle click events, setting new selected index if appropriate. */\n _handleClick(tab: MatTab, tabHeader: MatTabGroupBaseHeader, index: number): void;\n /** Retrieves the tabindex for the tab. */\n _getTabIndex(tab: MatTab, idx: number): number | null;\n /** Callback for when the focused state of a tab has changed. */\n _tabFocusChanged(focusOrigin: FocusOrigin, index: number): void;\n static ngAcceptInputType_dynamicHeight: BooleanInput;\n static ngAcceptInputType_animationDuration: NumberInput;\n static ngAcceptInputType_selectedIndex: NumberInput;\n static ngAcceptInputType_disableRipple: BooleanInput;\n static ngAcceptInputType_contentTabIndex: NumberInput;\n}\n/**\n * Material design tab-group component. Supports basic tab pairs (label + content) and includes\n * animated ink-bar, keyboard navigation, and screen reader.\n * See: https://material.io/design/components/tabs.html\n */\nexport declare class MatTabGroup extends _MatTabGroupBase {\n _allTabs: QueryList;\n _tabBodyWrapper: ElementRef;\n _tabHeader: MatTabGroupBaseHeader;\n constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, defaultConfig?: MatTabsConfig, animationMode?: string);\n}\nexport {};\n"]}