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