@angular/cdk
Version:
Angular Material Component Development Kit
31 lines (30 loc) • 971 B
TypeScript
/**
* @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
*/
/**
* A FocusTrap managed by FocusTrapManager.
* Implemented by ConfigurableFocusTrap to avoid circular dependency.
*/
export interface ManagedFocusTrap {
_enable(): void;
_disable(): void;
focusInitialElementWhenReady(): Promise<boolean>;
}
/** Injectable that ensures only the most recently enabled FocusTrap is active. */
export declare class FocusTrapManager {
private _focusTrapStack;
/**
* Disables the FocusTrap at the top of the stack, and then pushes
* the new FocusTrap onto the stack.
*/
register(focusTrap: ManagedFocusTrap): void;
/**
* Removes the FocusTrap from the stack, and activates the
* FocusTrap that is the new top of the stack.
*/
deregister(focusTrap: ManagedFocusTrap): void;
}