@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).
105 lines (104 loc) • 2.28 kB
TypeScript
import { DsfrNavigation } from '../../shared';
/**
* Décrit l'événement émis lors d'une sélection d'un tag (si l'id est renseigné).
*
* @since 1.4.0
*/
export interface DsfrTagEvent {
/**
* L'identifiant du tag.
*/
id: string;
/**
* Le libellé du tag.
*/
label: string;
/**
* La valeur de l'hyperlien (exclusif avec `route`).
*/
link: string;
/**
* La valeur de la route (exclusif avec `link`).
*/
route: string;
/**
* Indique l'état de sélection.
*/
selected: boolean;
}
/**
* Décrit le modèle de présentation d'un Tag.
*/
export interface DsfrTag extends Omit<DsfrNavigation, 'linkTarget'> {
/**
* ID du tag, optionnel.
*
* @since 1.3.2
*/
id?: string;
/**
* Permet de personnaliser la couleur du tag.
*/
customClass?: string;
/**
* Permet d'avoir un tag cliquable disabled.
*
* @since 1.3
*/
disabled?: boolean;
/**
* Icône du tag.
*/
icon?: string;
/**
* Libelle du tag.
*/
label: string;
/**
* Lien du tag à renseigner si le mode est 'clickable'.
*/
link?: string;
/**
* Mode spécifique : default / selectable / clickable / deletable.
*/
mode?: DsfrTagMode;
/** État selected du tag. */
selected?: boolean;
/**
* Permet de basculer le tag en taille réduite
*/
small?: boolean;
/**
* Attribut aria-label du tag.
*/
ariaLabel?: string;
/**
* Tooltip du tag.
*/
title?: string;
}
/**
* Définit les modes d'affichage supporté pour un composant `Tag`.
*/
export declare enum DsfrTagModeConst {
/**
* Par défaut, le tag ne peut pas changer d'état ni accepter aucun lien.
*/
DEFAULT = "default",
/**
* Un tag cliquable permet de débrancher sur un lien ou un path Angular.
*/
CLICKABLE = "clickable",
/**
* Un tag sélectionnable possède un état de sélection.
*/
SELECTABLE = "selectable",
/**
* Un tag supprimable.
*/
DELETABLE = "deletable"
}
/**
* Type union correspondant aux valeurs de l'enum {@link DsfrTagModeConst}.
*/
export type DsfrTagMode = `${DsfrTagModeConst}`;