@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
174 lines (173 loc) • 7.42 kB
TypeScript
import { AfterViewChecked, ChangeDetectorRef, ElementRef, Injector, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { Subject } from 'rxjs';
import { Strings } from '../../generated/strings';
import { CoreBaseComponent } from '../common/base.component';
import * as i0 from "@angular/core";
/**
*
* @smeDoc {@label Dialog @id sme-dialog}
*
* @overview
* @file {@filepath ./examples/dialog-overview.md}
*
* @example {@label Basic Usage @id basic-usage}
* @file {@filename component.ts @filepath ./examples/dialog-example.component.ts}
* @file {@filename component.html @filepath ./examples/dialog-example.component.html}
*
* @example {@label Dialog Chain @id dialog-chain}
* @file {@filename component.ts @filepath ./examples/dialog-example-dialog-chain.component.ts}
* @file {@filename component.html @filepath ./examples/dialog-example-dialog-chain.component.html}
*
* @example {@label Full Screen Dialog @id full-screen-dialog}
* @file {@filename component.ts @filepath ./examples/dialog-example-full-screen-dialog.component.ts}
* @file {@filename component.html @filepath ./examples/dialog-example-full-screen-dialog.component.html}
*
*/
export declare class DialogHeaderComponent {
static ɵfac: i0.ɵɵFactoryDeclaration<DialogHeaderComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DialogHeaderComponent, "sme-dialog-header", never, {}, {}, never, ["*"], false, never>;
}
export declare class DialogContentComponent {
static ɵfac: i0.ɵɵFactoryDeclaration<DialogContentComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DialogContentComponent, "sme-dialog-content", never, {}, {}, never, ["*"], false, never>;
}
export declare class DialogFooterComponent {
static ɵfac: i0.ɵɵFactoryDeclaration<DialogFooterComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DialogFooterComponent, "sme-dialog-footer", never, {}, {}, never, ["*"], false, never>;
}
export declare enum DialogCloseReason {
SoftDismiss = 0,
CloseButton = 1,
EscapeKey = 2,
CompetingDialog = 3
}
export declare class DialogMode {
static pane: string;
static widePane: string;
static compact: string;
static compactSquare: string;
static fullscreen: string;
static centered: string;
static centeredMedium: string;
static centeredLarge: string;
static notification: string;
}
export declare const modalDialog = "modal";
export declare const alertDialog = "alert";
export declare class DialogComponent extends CoreBaseComponent implements OnChanges, OnDestroy, AfterViewChecked {
private elementRef;
private changeDetectorRef;
/**
* The source name to use for logging
*/
protected get logSourceName(): string;
/**
* Static constant to provide unique ids for each master view
*/
private static nextDialogId;
dialogClasses: string[];
dialogRole: string;
strings: Strings;
dialogLevel: number;
/**
* A bag of ids generated using @see {masterViewId} and the map returned from @see {createIdBag}
*/
idBag: MsftSme.StringMap<string>;
/**
* The unique id of this master view.
* This is useful when masterViews need to use an ID but may appear multiple times on the same page.
* Using this ID as the basis for the controls internal IDs generated in @see {createIdBag} keeps the IDs unique.
*/
protected dialogId: number;
protected mode: string;
/**
* Whether to allow interaction with elements from outside the dialog especially to support the hovering events.
*/
allowBackgroundInteraction: boolean;
/**
* Whether to render the dialog background. False to hide the dialog container and make the background transparent.
* The background color then will be based on the dialog body.
*/
showBackdrop: boolean;
/**
* Whether to enable the feature of clicking outside of the dialog to close the current dialog.
* True means clicking outside the dialog will close the dialog. We want this to be set to false when there are forms in the dialog.
*/
clickBackdrop: boolean;
ariaLabel: string;
ariaDescription: string;
/**
* Sets whether this should be an action pane or a centered dialog
*
* @deprecated Use dialogMode instead
* @param newValue if true, uses a left pane dialog, otherwise a centered dialog
*/
set actionPane(newValue: boolean);
/**
* Indicates the dialog mode to use
* @see DialogMode
*/
set dialogMode(mode: string);
get dialogMode(): string;
/**
* Dialog types. Mostly used for accessibility. Valid values:
* @see modalDialog = 'modal';
* @see alertDialog = "alert";
*/
dialogType: string;
/**
* Flag to determine whether the dialog should have a close button in top right or not
*/
closeButton: boolean;
/**
* Compact dialog can be full height when displaying on the right side of the screen.
* It can also be displayed in the middle of the screen that needs to be having paddings to each direction.
* This compactFullHeight to true will always be 100% height. Otherwise css would control the max height.
*/
compactFullHeight: boolean;
closeRequested: Subject<DialogCloseReason>;
private doAutoFocus;
private isVisible;
set visible(visible: boolean);
get visible(): boolean;
constructor(elementRef: ElementRef, changeDetectorRef: ChangeDetectorRef, injector: Injector);
onKeyUp(): void;
/**
* Angular Life Cycle hook for After View Checked.
* When the visibility changes, we are going to focus on the first element that has the autofocus attribute
*/
ngAfterViewChecked(): void;
/**
* Completed the closeRequested subject
*/
ngOnDestroy(): void;
/**
* Auto focus on first element that is focusable
*/
autoFocus(): void;
/**
* Shows the dialog.
*/
show(): void;
/**
* Hides the dialog.
*/
hide(): void;
/**
* Notifies closeRequested subscribers that the backdrop has been clicked, requesting a soft dismiss
*/
onBackgroundClicked(): void;
/**
* Notifies closeRequested subscribers that the close button has been pressed, requesting a close button dismiss
*/
onCloseClicked(): void;
onEscapePressed(): void;
ngOnChanges(changes: SimpleChanges): void;
protected setDialogModeFromInput(): void;
/**
* Creates the idBag used by this component to store unique element ids.
*/
protected createIdBag(): MsftSme.StringMap<string>;
static ɵfac: i0.ɵɵFactoryDeclaration<DialogComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DialogComponent, "sme-dialog", never, { "allowBackgroundInteraction": "allowBackgroundInteraction"; "showBackdrop": "showBackdrop"; "clickBackdrop": "clickBackdrop"; "ariaLabel": "ariaLabel"; "ariaDescription": "ariaDescription"; "actionPane": "actionPane"; "dialogMode": "dialogMode"; "dialogType": "dialogType"; "closeButton": "closeButton"; "compactFullHeight": "compactFullHeight"; }, {}, never, ["sme-dialog-header", "sme-dialog-content", "sme-dialog-footer"], false, never>;
}