UNPKG

@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
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>; }