UNPKG

@mobilelivenpm/fds-angular-qa

Version:

This library was generated with [Nx](https://nx.dev).

102 lines (101 loc) 4.77 kB
import { AnimationEvent } from '@angular/animations'; import { ConfigurableFocusTrapFactory, FocusMonitor, FocusOrigin } from '@angular/cdk/a11y'; import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, DomPortal, TemplatePortal } from '@angular/cdk/portal'; import { ChangeDetectorRef, ComponentRef, ElementRef, EmbeddedViewRef, EventEmitter } from '@angular/core'; import { FdsModalConfig } from './modal-config'; /** Event that captures the state of dialog container animations. */ interface ModalAnimationEvent { state: 'opened' | 'opening' | 'closing' | 'closed'; totalTime: number; } /** * Throws an exception for the case when a ComponentPortal is * attached to a DomPortalOutlet without an origin. * @docs-private */ export declare function throwMatDialogContentAlreadyAttachedError(): void; /** * Base class for the `FdsModalContainer`. The base class does not implement * animations as these are left to implementers of the dialog container. */ export declare abstract class _FdsModalContainerBase extends BasePortalOutlet { protected _elementRef: ElementRef; protected _focusTrapFactory: ConfigurableFocusTrapFactory; protected _changeDetectorRef: ChangeDetectorRef; /** The dialog configuration. */ _config: FdsModalConfig; private _focusMonitor?; /** The portal outlet inside of this container into which the dialog content will be loaded. */ _portalOutlet: CdkPortalOutlet; /** Emits when an animation state changes. */ _animationStateChanged: EventEmitter<ModalAnimationEvent>; /** * Type of interaction that led to the dialog being closed. This is used to determine * whether the focus style will be applied when returning focus to its original location * after the dialog is closed. */ _closeInteractionType: FocusOrigin | null; /** ID of the element that should be considered as the dialog's label. */ _ariaLabelledBy: string | null; /** ID for the container DOM element. */ _id: string; protected _document: Document; /** The class that traps and manages focus within the dialog. */ private _focusTrap; /** Element that was focused before the dialog was opened. Save this to restore upon close. */ private _elementFocusedBeforeDialogWasOpened; constructor(_elementRef: ElementRef, _focusTrapFactory: ConfigurableFocusTrapFactory, _changeDetectorRef: ChangeDetectorRef, document: any, /** The dialog configuration. */ _config: FdsModalConfig, _focusMonitor?: FocusMonitor); /** Starts the dialog exit animation. */ abstract _startExitAnimation(): void; /** Initializes the dialog container with the attached content. */ _initializeWithAttachedContent(): void; /** * Attach a ComponentPortal as content to this dialog container. * @param portal Portal to be attached as the dialog content. */ attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>; /** * Attach a TemplatePortal as content to this dialog container. * @param portal Portal to be attached as the dialog content. */ attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>; /** * Attaches a DOM portal to the dialog container. * @param portal Portal to be attached. * @deprecated To be turned into a method. * @breaking-change 10.0.0 */ attachDomPortal: (portal: DomPortal) => void; /** Moves focus back into the dialog if it was moved out. */ _recaptureFocus(): void; /** Moves the focus inside the focus trap. */ protected _trapFocus(): void; /** Restores focus to the element that was focused before the dialog opened. */ protected _restoreFocus(): void; /** Sets up the focus trap. */ private _setupFocusTrap; /** Captures the element that was focused before the dialog was opened. */ private _capturePreviouslyFocusedElement; /** Focuses the dialog container. */ private _focusDialogContainer; /** Returns whether focus is inside the dialog. */ private _containsFocus; } /** * Internal component that wraps user-provided dialog content. * Animation is based on https://material.io/guidelines/motion/choreography.html. * @docs-private */ export declare class FdsModalContainer extends _FdsModalContainerBase { /** State of the dialog animation. */ _state: 'void' | 'enter' | 'exit'; /** Callback, invoked whenever an animation on the host completes. */ _onAnimationDone({ toState, totalTime }: AnimationEvent): void; /** Callback, invoked when an animation on the host starts. */ _onAnimationStart({ toState, totalTime }: AnimationEvent): void; /** Starts the dialog exit animation. */ _startExitAnimation(): void; } export {};