You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.5 KiB
33 lines
1.5 KiB
/**
|
|
* @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 { NgZone } from '@angular/core';
|
|
import { InteractivityChecker } from '../interactivity-checker/interactivity-checker';
|
|
import { FocusTrap } from './focus-trap';
|
|
import { FocusTrapManager, ManagedFocusTrap } from './focus-trap-manager';
|
|
import { FocusTrapInertStrategy } from './focus-trap-inert-strategy';
|
|
import { ConfigurableFocusTrapConfig } from './configurable-focus-trap-config';
|
|
/**
|
|
* Class that allows for trapping focus within a DOM element.
|
|
*
|
|
* This class uses a strategy pattern that determines how it traps focus.
|
|
* See FocusTrapInertStrategy.
|
|
*/
|
|
export declare class ConfigurableFocusTrap extends FocusTrap implements ManagedFocusTrap {
|
|
private _focusTrapManager;
|
|
private _inertStrategy;
|
|
/** Whether the FocusTrap is enabled. */
|
|
get enabled(): boolean;
|
|
set enabled(value: boolean);
|
|
constructor(_element: HTMLElement, _checker: InteractivityChecker, _ngZone: NgZone, _document: Document, _focusTrapManager: FocusTrapManager, _inertStrategy: FocusTrapInertStrategy, config: ConfigurableFocusTrapConfig);
|
|
/** Notifies the FocusTrapManager that this FocusTrap will be destroyed. */
|
|
destroy(): void;
|
|
/** @docs-private Implemented as part of ManagedFocusTrap. */
|
|
_enable(): void;
|
|
/** @docs-private Implemented as part of ManagedFocusTrap. */
|
|
_disable(): void;
|
|
}
|