@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).
155 lines (154 loc) • 7.74 kB
TypeScript
import { NavigationExtras } from '@angular/router';
import { DsfrFileSizeUnit, DsfrHeadingLevel, DsfrLink, DsfrLinkTarget, DsfrNavigation, DsfrSize, LangService } from '../../shared';
import { DsfrBadge } from '../badge';
import { DsfrPanelBackground, DsfrPanelBorder } from '../card';
import { DsfrTag } from '../tag';
import * as i0 from "@angular/core";
export declare const DEFAULT_HEADING_LEVEL: DsfrHeadingLevel;
export declare abstract class BasePanelComponent implements DsfrNavigation {
private langService;
/** @since 1.7 La propriété ariaLabel définit une valeur de chaîne qui étiquette un élément interactif. */
ariaLabel?: string;
/**
* Permet de positionner des badges (jusqu'à 4 badges maxi) en haut du composant, optionnel.
* @see DsfrBadge
*/
badges: DsfrBadge[];
/**
* Permet d'avoir un fond gris ou transparent.
*/
customBackground: DsfrPanelBackground;
/**
* Permet d'afficher une ombre ou ne pas mettre de bordure.
*/
customBorder: DsfrPanelBorder;
/**
* Une description optionnelle plein texte.
*/
description: string;
/**
* Permet de désactiver le composant.
*/
disabled: boolean;
/**
* Equivalent à l'attribut html natif 'download'.
* - true : la fenêtre de téléchargement s'affiche directement,
* - false : le fichier est ouvert avant d'être téléchargé,
* - string : nouveau nom de fichier proposé au téléchargement.
*/
downloadDirect: boolean | string;
/**
* Si 'true' (défaut) : le détail du téléchargement est automatiquement renseigné par le script DSFR.
* - Dans ce cas, les propriétés : 'downloadMimeType', 'downloadSizeBytes', 'downloadLangCode' sont ignorées.
* Si 'false' : le détail est calculé par la librairie 'ngx-dsfr'.
* Dans les 2 cas, l'unité dépend de la langue du site, en octets (ko, Mo, ...) pour 'fr', en 'bytes' (KB, MB...) pour les autres langues.
* Ce mécanisme peut être forcé avec 'downloadSizeUnit'.
*/
downloadAssessFile: boolean;
/**
* Obligatoire, dans le cas d'un téléchargement si le document n'est pas du même langage que la page courante.
* Ex : downloadLangCode="en".
*/
downloadLangCode: string;
/**
* Format du fichier, à renseigner si downloadAssessFile est faux.
*/
downloadMimeType: string;
/**
* Poids du fichier en octets, à renseigner si downloadAssessFile est faux.
* */
downloadSizeBytes: number;
/**
* Permet de désactiver le lien étendu de la carte.
*/
enlargeLink: boolean;
/**
* Titre du composant.
* Le fait de valoriser cette propriété est prioritaire sur le ng-content [heading].
* Attention fonctionnellement la présence d'un titre est obligatoire.
*/
heading: string;
/**
* Le niveau de titre devant être utilisé (tag `h4` par défaut).
* Cette balise ne produit pas de style, mais de la structure.
*/
headingLevel: string;
/**
* Passe le composant en mode horizontal.
*/
horizontal: boolean;
/**
* Permet de positionner un lien de type href.
* Sert aussi de lien de téléchargement.
*/
link: string;
/**
* Permet de positionner une route Angular qui sera récupérée via 'output tileSelect.
*/
route: string;
/**
* Path angular géré en tant que directive routerLink. Prioritaire et exclusif avec link et route.
*/
routePath: string | string[];
/**
* Classe CSS utilisée pour la directive routerLink active.
*/
routerLinkActive: string | string[] | undefined;
/**
* RouterLink : valeurs additionnelles de navigation pour le routerLink (queryParams, state, etc.)
*/
routerLinkExtras: NavigationExtras;
/**
* Dimension du composant, 'MD' par défaut ('SM, 'MD' uniquement pour la tuile).
*/
size: DsfrSize;
private _download;
private _downloadSizeUnit;
private _linkTarget;
private _tags;
private _detailBottom;
protected constructor(langService: LangService);
get downloadSizeUnit(): DsfrFileSizeUnit;
get linkTarget(): DsfrLinkTarget;
get tags(): DsfrTag[];
get itemLink(): DsfrLink;
get download(): boolean;
get detailBottom(): string;
/**
* Dans le cas d'un téléchargement sans l'option 'downloadAssessFile',
* on crée le détail à l'aide des propriétés 'downloadSizeBytes', 'downloadMimeType'.
* @internal
*/
protected get downloadDetail(): string;
/**
* Transforme le composant classique en composant de téléchargement.
*/
set download(download: boolean);
/** Zone de détail se trouvant visuellement sous la description et à côté de l’icône, optionnel.
* Pour la tuile, on peut passer un slot de sélecteur "detail".
* En cas de téléchargement le détail est remplacé par les informations du fichier calculées selon downloadAssessFile.
*/
set detailBottom(value: string);
/**
* Force l'unité par défaut qui dépend de la langue du site, en octets (ko, Mo, ...) pour 'fr', en 'bytes' (KB, MB...) pour les autres langues.
*/
set downloadSizeUnit(value: DsfrFileSizeUnit);
/**
* Attribut target du lien.
*/
set linkTarget(target: DsfrLinkTarget);
/**
* Permet de positionner des tags en haut de la carte (cliquables ou non), optionnel.
* @see DsfrTag
*/
set tags(tags: DsfrTag[]);
/**
* @deprecated (@since 1.11.5) utiliser `routePath` à la place.
* routerLink provoque un bug accessibilité sur la navigation au clavier (ajout d'un tabindex=0)
**/
set routerLink(value: string | string[] | undefined);
/** @internal */
hasLink(): boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<BasePanelComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<BasePanelComponent, "ng-component", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "badges": { "alias": "badges"; "required": false; }; "customBackground": { "alias": "customBackground"; "required": false; }; "customBorder": { "alias": "customBorder"; "required": false; }; "description": { "alias": "description"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "downloadDirect": { "alias": "downloadDirect"; "required": false; }; "downloadAssessFile": { "alias": "downloadAssessFile"; "required": false; }; "downloadLangCode": { "alias": "downloadLangCode"; "required": false; }; "downloadMimeType": { "alias": "downloadMimeType"; "required": false; }; "downloadSizeBytes": { "alias": "downloadSizeBytes"; "required": false; }; "enlargeLink": { "alias": "enlargeLink"; "required": false; }; "heading": { "alias": "heading"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "link": { "alias": "link"; "required": false; }; "route": { "alias": "route"; "required": false; }; "routePath": { "alias": "routePath"; "required": false; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; }; "routerLinkExtras": { "alias": "routerLinkExtras"; "required": false; }; "size": { "alias": "size"; "required": false; }; "download": { "alias": "download"; "required": false; }; "detailBottom": { "alias": "detailBottom"; "required": false; }; "downloadSizeUnit": { "alias": "downloadSizeUnit"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; "routerLink": { "alias": "routerLink"; "required": false; }; }, {}, never, never, false, never>;
}