UNPKG

@mobilelivenpm/fds-angular-qa

Version:

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

133 lines (132 loc) 6.28 kB
import { Overlay, OverlayContainer, ScrollStrategy } from '@angular/cdk/overlay'; import { ComponentType } from '@angular/cdk/portal'; import { Location } from '@angular/common'; import { InjectionToken, Injector, OnDestroy, TemplateRef, Type } from '@angular/core'; import { Observable, Subject } from 'rxjs'; import { FdsModalConfig } from './modal-config'; import { _FdsModalContainerBase, FdsModalContainer } from './modal-container'; import { FdsModalRef } from './modal-ref'; /** Injection token that can be used to access the data that was passed in to a dialog. */ export declare const MAT_DIALOG_DATA: InjectionToken<any>; /** Injection token that can be used to specify default dialog options. */ export declare const MAT_DIALOG_DEFAULT_OPTIONS: InjectionToken<FdsModalConfig<any>>; /** Injection token that determines the scroll handling while the dialog is open. */ export declare const MAT_DIALOG_SCROLL_STRATEGY: InjectionToken<() => ScrollStrategy>; /** @docs-private */ export declare function MAT_DIALOG_SCROLL_STRATEGY_FACTORY(overlay: Overlay): () => ScrollStrategy; /** @docs-private */ export declare function MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay): () => ScrollStrategy; /** @docs-private */ export declare const MAT_DIALOG_SCROLL_STRATEGY_PROVIDER: { provide: InjectionToken<() => ScrollStrategy>; deps: (typeof Overlay)[]; useFactory: typeof MAT_DIALOG_SCROLL_STRATEGY_PROVIDER_FACTORY; }; /** * Base class for dialog services. The base dialog service allows * for arbitrary dialog refs and dialog container components. */ export declare abstract class _FdsModalBase<C extends _FdsModalContainerBase> implements OnDestroy { private _overlay; private _injector; private _defaultOptions; private _parentDialog; private _overlayContainer; private _dialogRefConstructor; private _dialogContainerType; private _dialogDataToken; /** * Stream that emits when all open dialog have finished closing. * Will emit on subscribe if there are no open dialogs to begin with. */ readonly afterAllClosed: Observable<void>; private _openDialogsAtThisLevel; private readonly _afterAllClosedAtThisLevel; private readonly _afterOpenedAtThisLevel; private _ariaHiddenElements; private _scrollStrategy; constructor(_overlay: Overlay, _injector: Injector, _defaultOptions: FdsModalConfig | undefined, _parentDialog: _FdsModalBase<C> | undefined, _overlayContainer: OverlayContainer, scrollStrategy: any, _dialogRefConstructor: Type<FdsModalRef<any>>, _dialogContainerType: Type<C>, _dialogDataToken: InjectionToken<any>); /** Keeps track of the currently-open dialogs. */ get openDialogs(): FdsModalRef<any>[]; /** Stream that emits when a dialog has been opened. */ get afterOpened(): Subject<FdsModalRef<any>>; _getAfterAllClosed(): Subject<void>; /** * Opens a modal dialog containing the given component. * @param componentOrTemplateRef Type of the component to load into the dialog, * or a TemplateRef to instantiate as the dialog content. * @param config Extra configuration options. * @returns Reference to the newly-opened dialog. */ open<T, D = any, R = any>(componentOrTemplateRef: ComponentType<T> | TemplateRef<T>, config?: FdsModalConfig<D>): FdsModalRef<T, R>; /** * Closes all of the currently-open dialogs. */ closeAll(): void; /** * Finds an open dialog by its id. * @param id ID to use when looking up the dialog. */ getDialogById(id: string): FdsModalRef<any> | undefined; ngOnDestroy(): void; /** * Creates the overlay into which the dialog will be loaded. * @param config The dialog configuration. * @returns A promise resolving to the OverlayRef for the created overlay. */ private _createOverlay; /** * Creates an overlay config from a dialog config. * @param dialogConfig The dialog configuration. * @returns The overlay configuration. */ private _getOverlayConfig; /** * Attaches a dialog container to a dialog's already-created overlay. * @param overlay Reference to the dialog's underlying overlay. * @param config The dialog configuration. * @returns A promise resolving to a ComponentRef for the attached container. */ private _attachDialogContainer; /** * Attaches the user-provided component to the already-created dialog container. * @param componentOrTemplateRef The type of component being loaded into the dialog, * or a TemplateRef to instantiate as the content. * @param dialogContainer Reference to the wrapping dialog container. * @param overlayRef Reference to the overlay in which the dialog resides. * @param config The dialog configuration. * @returns A promise resolving to the FdsModalRef that should be returned to the user. */ private _attachDialogContent; /** * Creates a custom injector to be used inside the dialog. This allows a component loaded inside * of a dialog to close itself and, optionally, to return a value. * @param config Config object that is used to construct the dialog. * @param dialogRef Reference to the dialog. * @param dialogContainer Dialog container element that wraps all of the contents. * @returns The custom injector that can be used inside the dialog. */ private _createInjector; /** * Removes a dialog from the array of open dialogs. * @param dialogRef Dialog to be removed. */ private _removeOpenDialog; /** * Hides all of the content that isn't an overlay from assistive technology. */ private _hideNonDialogContentFromAssistiveTechnology; /** Closes all of the dialogs in an array. */ private _closeDialogs; } /** * Service to open modal dialogs. */ export declare class FdsModalService extends _FdsModalBase<FdsModalContainer> { constructor(overlay: Overlay, injector: Injector, /** * @deprecated `_location` parameter to be removed. * @breaking-change 10.0.0 */ location: Location, defaultOptions: FdsModalConfig, scrollStrategy: any, parentDialog: FdsModalService, overlayContainer: OverlayContainer); }