@edugouvfr/ngx-dsfr
Version:
NgxDsfr est un portage Angular des éléments d'interface du Système de Design de l'État Français (DSFR).
81 lines (80 loc) • 3.79 kB
TypeScript
import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core';
import { DsfrHeadingLevel, DsfrSize } from '../../shared';
import { DsfrModalAction } from './modal-action.model';
import * as i0 from "@angular/core";
export declare class DsfrModalComponent implements AfterViewInit, OnInit, OnDestroy {
private renderer2;
/** L'identifiant unique de l'élément <dialog>. */
dialogId: string;
/** Titre de la modale. */
titleModal: string;
/**
* Le niveau de titre devant être utilisé (tag `h1` par défaut).
* Cette balise ne produit pas de style, mais de la structure.
*/
headingLevel: DsfrHeadingLevel | undefined;
/** Le tableau des actions à positionner dans la modale. */
actions: DsfrModalAction[];
/** Permet de ne pas fermer la modale automatiquement lorsqu'une action est exécutée. */
autoCloseOnAction: boolean;
/** Autorise la fermeture de la modale au click sur le fond. */
concealingBackdrop: boolean;
/**
* Le mode de contrôle vous permet, le cas échéant, de maintenir la capacité de la modale à être pilotée
* programmatiquement en absence de bouton de contrôle.
*
* @since 1.8.0
* @deprecated (since 1.14.0)
*/
controlMode: 'button' | 'dynamic';
/** Indique la classe d'icône à utiliser en haut à gauche. Par défaut `fr-icon-arrow-right-line` */
icon: string;
/** Type de balise HTML, dialog par défaut */
markup: 'dialog' | 'div';
/** Positionnement de la modale en haut en mobile. */
mobileTop: boolean;
/** Signale l'ouverture de la modale. */
disclose: EventEmitter<void>;
/** Signale la fermeture de la modale. */
conceal: EventEmitter<void>;
/** @internal */
dsfrModal: ElementRef;
/** Template du pied de la modale (doit contenir des boutons d'actions) */
modalFooterTemplate: TemplateRef<any>;
/**
* L'identifiant unique de l'élément tenant titre descriptif de la modale.
*
* @internal
*/
titleElementId: string;
/** @internal */
sizeClasses: {
[klass: string]: boolean;
};
private _size;
private _unlisten;
/** @internal */
constructor(renderer2: Renderer2);
get size(): DsfrSize;
/**
* La taille de la modale.
* Valeurs possibles : `SM` (pour small), `MD` (pour medium), `LG` (pour large).
*/
set size(newSize: DsfrSize);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
/**
* Permet de déclencher programmatiquement l'ouverture de la modale.
*/
open(): void;
/**
* Permet de déclencher programmatiquement la fermeture de la modale.
*/
close(): void;
/** @internal */
performAction(action: DsfrModalAction): void;
private updateSizeClasses;
static ɵfac: i0.ɵɵFactoryDeclaration<DsfrModalComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DsfrModalComponent, "dsfr-modal", never, { "dialogId": { "alias": "dialogId"; "required": false; }; "titleModal": { "alias": "titleModal"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "autoCloseOnAction": { "alias": "autoCloseOnAction"; "required": false; }; "concealingBackdrop": { "alias": "concealingBackdrop"; "required": false; }; "controlMode": { "alias": "controlMode"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "markup": { "alias": "markup"; "required": false; }; "mobileTop": { "alias": "mobileTop"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "disclose": "disclose"; "conceal": "conceal"; }, ["modalFooterTemplate"], ["*"], true, never>;
}