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).

125 lines (124 loc) 6.28 kB
import { EventEmitter, OnInit } from '@angular/core'; import { IsActiveMatchOptions, NavigationExtras } from '@angular/router'; import { DsfrI18nService, DsfrLink, DsfrLinkTarget, DsfrPosition, DsfrSize } from '../../shared'; import * as i0 from "@angular/core"; export declare class DsfrLinkComponent implements Omit<DsfrLink, 'active' | 'target'>, OnInit { private i18n; /** Permet d'ajouter un attribut `aria-current` sur le lien.*/ ariaCurrent: string | undefined; /** * La propriété ariaLabel définit une valeur de chaîne qui étiquette un élément interactif. * * @since 1.4.0 */ ariaLabel: string | undefined; /** * Identifie l'élément (ou les éléments) contrôlé par cet élément. * * @since 1.7.0 */ ariaControls: string | undefined; /** Pour ajouter des classes CSS custom. Supprimera la classe par défaut 'fr-link' */ customClass: string | undefined; /** * Permet de désactiver le composant. */ disabled: boolean; /** Classe de l'icône. */ icon: string | undefined; /** Position de l'icône. À droite par défaut. */ iconPosition: DsfrPosition | undefined; /** @since 1.6 */ linkId: string | undefined; /** Texte du lien simple. Sinon utiliser un slot [label].*/ label: string; /** Lien href externe, exclusif avec route et routePath. */ link: string | undefined; /** Attribut target du lien. */ linkTarget: DsfrLinkTarget | undefined; /** Path interne. Exclusif avec link et routePath, prioritaire sur link. */ route: string | undefined; /** Path angular géré en tant que directive routerLink. Prioritaire et exclusif avec link et route. */ routePath: string | string[] | undefined; /** Classe CSS utilisée pour la directive routerLink active. */ routerLinkActive: string | string[] | undefined; /** RouterLink : options additionnelles pour le routerLinkActive (exact). */ routerLinkActiveOptions: { exact: boolean; } | IsActiveMatchOptions | undefined; /** RouterLink : options additionnelles ppour le routerLink (queryParams, state, etc.) */ routerLinkExtras: NavigationExtras | undefined; /** * Taille du lien. */ linkSize: DsfrSize; /** Message du tooltip (attribut title). @since 1.3.0 */ tooltipMessage: string | undefined; /** * Transforme un lien en bouton si `button`, `link` par défaut. * * @since 1.7.0 */ mode: 'link' | 'button' | undefined; /** * Surcharger le comportement ariaCurrentWhenActive (routerLink). Par défaut "page" si la route est active . * * @since 1.13.0 */ ariaCurrentWhenActive: 'page' | 'step' | 'location' | 'date' | 'time' | true | false | undefined; /** * Si l'input 'route' est renseigné, sa valeur sera émise lorsque le lien est sélectionné. */ linkSelect: EventEmitter<string>; constructor(i18n: DsfrI18nService); /** * Taille du lien. * * @deprecated since(1.15.0) utiliser 'linkSize' à la place */ get size(): DsfrSize; /** @deprecated (since 1.5) utiliser `linkTarget` à la place. */ get targetLink(): DsfrLinkTarget | undefined; /** * Taille du lien. * * @deprecated since(1.15.0) utiliser 'linkSize' à la place */ set size(value: DsfrSize); /** @deprecated (since 1.5) utiliser `linkTarget` à la place. */ set targetLink(value: DsfrLinkTarget | undefined); /** * Activation du router Angular. * * L'usage de routerLink provoque un bug accessibilité sur la navigation au clavier (ajout d'un tabindex=0). * * @deprecated (since 1.11.5) utiliser `routePath` à la place. */ set routerLink(value: string | string[] | undefined); ngOnInit(): void; /** @internal */ getHref(): string | undefined; /** @internal */ hasRouterLink(): boolean; /** * DsfrLink est partagé par plusieurs composants, 'tag', 'card' et 'tile' à la place d'un simple lien. * Cela permet de bénéficier des nombreuses caractéristiques du composant DsfrLink. * * @since 1.5 Cependant, la classe 'fr-link' ne doit pas cohabiter les classes de ces composants ('fr-tag', ...) * * @internal */ getClass(): { 'fr-link': boolean; 'fr-link--icon-right': boolean | "" | undefined; 'fr-link--icon-left': boolean | "" | undefined; 'fr-link--sm': boolean; 'fr-link--lg': boolean; }; /** @internal */ getButtonClasses(): string; /** @internal */ onLink(event: Event): void; static ɵfac: i0.ɵɵFactoryDeclaration<DsfrLinkComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<DsfrLinkComponent, "dsfr-link", never, { "ariaCurrent": { "alias": "ariaCurrent"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaControls": { "alias": "ariaControls"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "linkId": { "alias": "linkId"; "required": false; }; "label": { "alias": "label"; "required": false; }; "link": { "alias": "link"; "required": false; }; "linkTarget": { "alias": "linkTarget"; "required": false; }; "route": { "alias": "route"; "required": false; }; "routePath": { "alias": "routePath"; "required": false; }; "routerLinkActive": { "alias": "routerLinkActive"; "required": false; }; "routerLinkActiveOptions": { "alias": "routerLinkActiveOptions"; "required": false; }; "routerLinkExtras": { "alias": "routerLinkExtras"; "required": false; }; "linkSize": { "alias": "linkSize"; "required": false; }; "tooltipMessage": { "alias": "tooltipMessage"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "ariaCurrentWhenActive": { "alias": "ariaCurrentWhenActive"; "required": false; }; "size": { "alias": "size"; "required": false; }; "targetLink": { "alias": "targetLink"; "required": false; }; "routerLink": { "alias": "routerLink"; "required": false; }; }, { "linkSelect": "linkSelect"; }, never, ["*"], true, never>; }