@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).
151 lines (150 loc) • 6.67 kB
TypeScript
import { AfterViewInit, ElementRef, EventEmitter, OnInit, Renderer2, TemplateRef } from '@angular/core';
import { DsfrLink, I18nService } from '../../shared';
import { DsfrConfig } from '../../shared/config/config.model';
import { DsfrHeaderMenuItem, DsfrHeaderTranslate } from './header.model';
import * as i0 from "@angular/core";
export declare class DsfrHeaderComponent implements OnInit, AfterViewInit {
private config;
i18n: I18nService;
private renderer;
/**@internal */
toolLinksMobile: ElementRef;
/**@internal */
toolLinks: ElementRef;
/**@internal */
headerTools: TemplateRef<any>;
/**@internal */
headerToolsMobile: TemplateRef<any>;
/**@internal */
translateComponent: ElementRef;
/**
* Boolean pour afficher le tag Beta (pour un site en beta).
*/
beta: boolean;
/**
* Identifiant de la navigation principale, généré par défaut
*/
navigationId: string;
/**
* Chemin vers le répertoire exposant les pictogrammes illustratifs DSFR.
*/
artworkDirPath: string;
/**
* Label associé au bloc marque (Marianne). Respectez la structure avec les <br>.
* (Ministère, gouvernement, république française)
*/
logoLabel: string;
/**
* Url du lien 'retour accueil' du logo de la Marianne.
*/
logoLink: string;
/**
* Url du lien 'retour accueil' du logo de la Marianne.
*/
logoTooltipMessage: string;
/** Path pour src d'image d'illustration. */
operatorImagePath: string;
/**
* Text alternatif à utiliser uniquement si l'image à une information à passer.
*/
operatorImageAlt: string;
/** Boolean pour passer le logo opérateur en mode vertical. */
operatorImageVertical: boolean;
/** Nom du service. */
serviceTitle: string;
/** Tagline du service. */
serviceTagline: string;
/** Tableau d'items du menu. */
menu: DsfrHeaderMenuItem[];
/**
* Permet d'afficher la barre de recherche.
*/
searchBar: boolean;
/**
* Permet d'afficher le selecteur de langue pour l'internationalisation.
*
* @see DsfrHeaderTranslate
*/
translate: DsfrHeaderTranslate;
/** Renvoi la valeur de l'input de la barre de recherche au changement. */
readonly searchChange: EventEmitter<string>;
/** Renvoi la valeur de l'input de la barre de recherche au clic sur rechercher. */
readonly searchSelect: EventEmitter<string>;
/**Emet l'évènement Event du DOM à la sélection d'un lien */
readonly linkSelect: EventEmitter<DsfrLink>;
/** Evenement émis au changement de langue (si showTranslate). Il contient le code de la langue. */
readonly langChange: EventEmitter<string>;
/** @internal */
searchInputId: string;
/**
* Nombre maximum de liens d'accès rapides (3)
*
* @internal
*/
maxToolsLinks: number;
/**
* @internal
*/
_useDeprecatedPictoPath: boolean;
/**
* @internal
*/
showDisplay: boolean;
private _headerToolsLinks;
/** @internal */
constructor(config: DsfrConfig, i18n: I18nService, renderer: Renderer2);
get display(): boolean;
get headerToolsLinks(): DsfrLink[];
get displayModalId(): string;
get pictoPath(): string;
/** Affichage du lien 'Paramètre d'affichage' pour gérer les modes clair/sombre. */
set display(value: boolean);
/**
* Tableau de lien d'accès rapide.
* Les icônes acceptés sont ceux du DSFR y compris ceux du tableau `DsfrBtnIcon`.
*/
set headerToolsLinks(links: DsfrLink[]);
/**
* Chemin des pictogrammes (du composant display) renseigné par le développeur.
*
* Note: ce chemin doit permettre de récupérer directement les fichiers SVG suivants : moon.svg, sun.svg, system.svg
*
* @deprecated Use `artworkDirPath` instead.
*/
set pictoPath(path: string);
/** internal */
ngOnInit(): void;
/** internal */
ngAfterViewInit(): void;
/**
* Fix: evenements non dupliqués par le script DSFR pour les liens (toolslinks) version mobile
* On prend la main sur le clic de la div parente en cas de lien 'route' pour envoyer l'event linkSelect
* @param event element cliqué
* @internal
*/
onSelectLinkMobile(event: Event): void;
/** @internal */
hasToolsLinks(): boolean;
/** @internal */
onLink(item: DsfrLink): void;
/** @internal */
onSearchSubmit(text: string): void;
/** @internal */
onSearchChange(text: string): void;
/** @internal */
onLanguageChange(codeLang: string): void;
/** @internal */
onMegaMenuClose(item: DsfrHeaderMenuItem): void;
/** @internal */
onMenuItemClick(item: DsfrHeaderMenuItem): void;
/** @internal */
getCustomClassHeaderToolsLink(item: DsfrLink): string;
/**
* Dupliquer les liens toolsLinks pour le menu mobile
* /!\ interaction script DSFR : le script copie les liens la premiere fois, mais n'écoute pas les changements
* Les liens à l'interieur de fr-header__tools-links sont dupliqués dans fr-header__menu-links
*/
private duplicateToolsLinksMobile;
static ɵfac: i0.ɵɵFactoryDeclaration<DsfrHeaderComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DsfrHeaderComponent, "dsfr-header", never, { "beta": { "alias": "beta"; "required": false; }; "navigationId": { "alias": "navigationId"; "required": false; }; "artworkDirPath": { "alias": "artworkDirPath"; "required": false; }; "logoLabel": { "alias": "logoLabel"; "required": false; }; "logoLink": { "alias": "logoLink"; "required": false; }; "logoTooltipMessage": { "alias": "logoTooltipMessage"; "required": false; }; "operatorImagePath": { "alias": "operatorImagePath"; "required": false; }; "operatorImageAlt": { "alias": "operatorImageAlt"; "required": false; }; "operatorImageVertical": { "alias": "operatorImageVertical"; "required": false; }; "serviceTitle": { "alias": "serviceTitle"; "required": false; }; "serviceTagline": { "alias": "serviceTagline"; "required": false; }; "menu": { "alias": "menu"; "required": false; }; "searchBar": { "alias": "searchBar"; "required": false; }; "translate": { "alias": "translate"; "required": false; }; "display": { "alias": "display"; "required": false; }; "headerToolsLinks": { "alias": "headerToolsLinks"; "required": false; }; "pictoPath": { "alias": "pictoPath"; "required": false; }; }, { "searchChange": "searchChange"; "searchSelect": "searchSelect"; "linkSelect": "linkSelect"; "langChange": "langChange"; }, ["headerTools", "headerToolsMobile"], never, false, never>;
}