@alyle/ui
Version:
Minimal Design, a set of components for Angular
86 lines (85 loc) • 3.47 kB
TypeScript
import { OnInit, ComponentFactory, TemplateRef, Injector, ApplicationRef, Renderer2, ElementRef, ChangeDetectorRef, OnDestroy, AfterContentInit } from '@angular/core';
import { AnimationEvent } from '@angular/animations';
import { LyOverlayRef, LyTheme2, ThemeVariables, LyClasses, StyleCollection, StyleTemplate, ThemeRef, StyleRenderer, WithStyles } from '@alyle/ui';
import { Subject } from 'rxjs';
import { LyDialogRef } from './dialog-ref';
import { Color } from '@alyle/ui/color';
import { FocusTrapFactory } from '@angular/cdk/a11y';
import * as i0 from "@angular/core";
export interface LyDialogTheme {
/** Styles for Dialog Component. */
root?: StyleCollection<((classes: LyClasses<typeof STYLES>) => StyleTemplate)> | ((classes: LyClasses<typeof STYLES>) => StyleTemplate);
/** Styles that apply when a color is set. */
color?: (classes: LyClasses<typeof STYLES>, color: Color) => StyleTemplate;
}
export interface LyDialogVariables {
dialog?: LyDialogTheme;
}
/** @docs-private */
declare const STYLES: (theme: ThemeVariables & LyDialogVariables, ref: ThemeRef) => {
root: () => (_className: string) => string;
};
/** @docs-private */
export declare class LyDialogContainer implements WithStyles, OnInit, AfterContentInit, OnDestroy {
readonly sRenderer: StyleRenderer;
private _appRef;
private _overlayRef;
private _theme;
private _el;
private _cd;
private _renderer;
private _trapFactory;
/** @docs-private */
readonly classes: LyClasses<(theme: ThemeVariables & LyDialogVariables, ref: ThemeRef) => {
root: () => (_className: string) => string;
}>;
private _embeddedViewRef;
private _componentRef;
private _focusTrap;
/** Previously focused element to restore focus to upon destroy when using autoCapture. */
private _previouslyFocusedElement;
/** @internal */
readonly _afterOpened: Subject<void>;
/** @internal */
readonly _beforeClosed: Subject<any>;
/** @internal */
readonly _afterClosed: Subject<any>;
/**
* State of the dialog animation.
* @internal
*/
_state: 'void' | 'enter' | 'exit';
/** @internal */
private readonly viewContainerRef;
/** @internal */
private _componentFactoryOrTemplate;
private _newInjector;
constructor(sRenderer: StyleRenderer, _appRef: ApplicationRef, _overlayRef: LyOverlayRef, _theme: LyTheme2, _el: ElementRef<HTMLElement>, _cd: ChangeDetectorRef, _renderer: Renderer2, _trapFactory: FocusTrapFactory);
ngOnInit(): void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
/** @internal */
_init(componentFactoryOrTemplate: ComponentFactory<any> | TemplateRef<any>, newInjector: Injector): void;
/**
* Start to close, starts the dialog exit animation.
* @internal
*/
_startClose(): void;
_onAnimationStart(event: AnimationEvent): void;
/** @internal */
_onAnimationDone(event: AnimationEvent): void;
private _destroy;
/** @internal */
_getHostElement(): HTMLElement;
private _captureFocus;
static ɵfac: i0.ɵɵFactoryDeclaration<LyDialogContainer, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<LyDialogContainer, "ly-dialog-container", never, {}, {}, never, never, false, never>;
}
export declare class LyDialogContext {
private _injector;
$implicit: any;
dialogRef: LyDialogRef;
get data(): unknown;
constructor(_injector: Injector);
}
export {};