@edugouvfr/ngx-dsfr-ext
Version:
NgxDsfrExt est une extension au package @edugouvfr/ngx-dsfr (portage Angular des éléments DSFR)
90 lines (89 loc) • 4.95 kB
TypeScript
import { BreakpointObserver } from '@angular/cdk/layout';
import { ChangeDetectorRef, ElementRef, EventEmitter, OnInit } from '@angular/core';
import { DefaultControlComponent, DsfrFileSizeUnit, DsfrI18nService, DsfrSeverity } from '@edugouvfr/ngx-dsfr';
import * as i0 from "@angular/core";
export declare class DsfrUploadDndComponent extends DefaultControlComponent<File[]> implements OnInit {
private cdr;
/** @internal */
inputFile: ElementRef<HTMLInputElement>;
/** @internal */
inlineDeleteBtn: ElementRef<HTMLButtonElement>;
/** Version inline du composant. */
inline: boolean;
/** Label du button. */
buttonLabel: string;
/** En mode full, n'affiche pas l'illustration. */
hideIllustration: boolean;
/** Texte indiquant le format de fichier accepté. Doit refléter la valeur donnée à l'attribut `accept` */
formatAsked: string | undefined;
/** Texte indiquant le poids maximal autorisé du ou des fichiers. La valeur est seulement indicative et n'entraine aucune vérification interne au composant. */
maxSizeInfo: string | undefined;
/** Unité de poids de fichier autorisé. */
sizeUnit: DsfrFileSizeUnit;
/** Ajoute l'attribut `aria-invalid` sur le champ de formulaire. */
ariaInvalid: string;
/**
* L'attribut `accept` prend comme valeur une chaîne de caractères contenant une ou plusieurs spécificateurs de type de fichier unique, séparées par des virgules.
* Ces spécificateurs décrivent les types de fichiers pouvant être sélectionnés par l'utilisateur.
*
* ex: .jpg,.png,audio/*...
*/
accept: string;
/** Permet l'ajout de plusieurs fichiers à la fois. */
multiple: boolean;
/** Message d'information lié au composant. */
message: string | undefined;
/** Représente la sévérité du message. */
messageSeverity: DsfrSeverity;
/**
* Id de l'élément affichant les messages associé à l'éditeur. A renseigner si vous souhaitez positionner un attribut
* `aria-describedby` référençant votre message au niveau de l'élément hôte de l'éditeur.
*
* Attention : cet input est statique et doit être connu à l'initialisation du composant.
*/
messagesGroupId: string;
/** Evénement émis à la sélection d'un ou plusieurs fichiers. */
selectionChange: EventEmitter<File[]>;
/** Evénement émis lorsque l'utilisateur annule la sélection. */
fileBrowsingCancel: EventEmitter<void>;
/** @internal */
i18n: DsfrI18nService;
protected breakpointObserver: BreakpointObserver;
protected customBreakpoint: string;
protected restitutionSelectedFiles: string;
protected messageExpandButton: string;
protected formatAskedUniqueId: string;
protected ariaDescribedby: string;
/** Gère l'affichage du bon markup en mode mobile. */
protected isMobile: import("@angular/core").Signal<boolean>;
private _renderer;
constructor(cdr: ChangeDetectorRef);
/**
* Surcharge permettant de gérer la mise à jour du DOM.
*
* @internal
*/
writeValue(value: File[] | undefined): void;
setDisabledState(isDisabled: boolean): void;
/** @internal */
ngOnInit(): void;
/**
* Permet de programmatiquement réinitialiser le champ après une sélection de fichier(s).
* @deprecated utiliser directement value
*/
reset(): void;
/**
* Fonction issue de la lib principale.
*/
protected onFileBrowsingCancel(): void;
/**
* Fonction issue de la lib principale.
*/
/** TODO: en version inline, après la sélection d'un fichier forcer le focus sur le btn de suppressions (accessibility). */
protected onFileChange(event: Event): void;
protected deleteFile(index: any): void;
protected deleteAllFiles(): void;
private convertFileArrayToFileList;
static ɵfac: i0.ɵɵFactoryDeclaration<DsfrUploadDndComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DsfrUploadDndComponent, "dsfr-ext-upload-dnd, dsfrx-upload-dnd", never, { "inline": { "alias": "inline"; "required": false; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; }; "hideIllustration": { "alias": "hideIllustration"; "required": false; }; "formatAsked": { "alias": "formatAsked"; "required": false; }; "maxSizeInfo": { "alias": "maxSizeInfo"; "required": false; }; "sizeUnit": { "alias": "sizeUnit"; "required": false; }; "ariaInvalid": { "alias": "ariaInvalid"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "message": { "alias": "message"; "required": false; }; "messageSeverity": { "alias": "messageSeverity"; "required": false; }; "messagesGroupId": { "alias": "messagesGroupId"; "required": false; }; }, { "selectionChange": "selectionChange"; "fileBrowsingCancel": "fileBrowsingCancel"; }, never, never, true, never>;
}