@ktortu/aaa 0.9.0 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/fesm2022/ktortu-aaa-button.mjs +10 -2
- package/fesm2022/ktortu-aaa-button.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-card.mjs +14 -5
- package/fesm2022/ktortu-aaa-card.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-cdk.mjs +50 -2
- package/fesm2022/ktortu-aaa-cdk.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-dialog.mjs +80 -39
- package/fesm2022/ktortu-aaa-dialog.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-disclosure.mjs +201 -0
- package/fesm2022/ktortu-aaa-disclosure.mjs.map +1 -0
- package/fesm2022/ktortu-aaa-forms.mjs +525 -149
- package/fesm2022/ktortu-aaa-forms.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-i18n.mjs +27 -2
- package/fesm2022/ktortu-aaa-i18n.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-menu.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-progress-bar.mjs +91 -0
- package/fesm2022/ktortu-aaa-progress-bar.mjs.map +1 -0
- package/fesm2022/ktortu-aaa-snackbar.mjs +478 -0
- package/fesm2022/ktortu-aaa-snackbar.mjs.map +1 -0
- package/fesm2022/ktortu-aaa-tabs.mjs.map +1 -1
- package/fesm2022/ktortu-aaa-tooltip.mjs +20 -30
- package/fesm2022/ktortu-aaa-tooltip.mjs.map +1 -1
- package/fesm2022/ktortu-aaa.mjs +2 -0
- package/fesm2022/ktortu-aaa.mjs.map +1 -1
- package/forms/checkbox/checkbox-group.css +0 -8
- package/forms/chips/chip-list.css +5 -0
- package/forms/field/field.css +16 -0
- package/forms/radio/radio-group.css +1 -9
- package/forms/styles/field-box.css +14 -6
- package/forms/styles/field-pending.css +46 -0
- package/forms/styles/select-panel.css +4 -0
- package/package.json +13 -1
- package/progress-bar/progress-bar.css +127 -0
- package/snackbar/snackbar-tokens.css +53 -0
- package/snackbar/snackbar.css +175 -0
- package/styles/disclosure.css +6 -0
- package/styles/forms.css +1 -0
- package/styles/progress-bar.css +5 -0
- package/styles/snackbar.css +9 -0
- package/styles/styles.css +3 -0
- package/themes/theme-cyberpunk.css +11 -0
- package/tooltip/tooltip.css +1 -1
- package/types/ktortu-aaa-button.d.ts +2 -0
- package/types/ktortu-aaa-card.d.ts +3 -0
- package/types/ktortu-aaa-cdk.d.ts +27 -1
- package/types/ktortu-aaa-dialog.d.ts +89 -34
- package/types/ktortu-aaa-disclosure.d.ts +112 -0
- package/types/ktortu-aaa-forms.d.ts +238 -30
- package/types/ktortu-aaa-i18n.d.ts +3 -0
- package/types/ktortu-aaa-progress-bar.d.ts +27 -0
- package/types/ktortu-aaa-snackbar.d.ts +218 -0
- package/types/ktortu-aaa-tooltip.d.ts +0 -1
- package/types/ktortu-aaa.d.ts +2 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EnvironmentProviders } from '@angular/core';
|
|
2
2
|
import { KtFieldConfig, KtSelectConfigOptions, KtChipsConfig } from '@ktortu/aaa/forms';
|
|
3
|
+
import { KtSnackbarConfig } from '@ktortu/aaa/snackbar';
|
|
3
4
|
import { KtTabsConfig } from '@ktortu/aaa/tabs';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -18,6 +19,8 @@ interface KtTranslations {
|
|
|
18
19
|
select?: Partial<KtSelectConfigOptions>;
|
|
19
20
|
/** Libellés des listes de chips → {@link KT_CHIPS_CONFIG}. */
|
|
20
21
|
chips?: Partial<KtChipsConfig>;
|
|
22
|
+
/** Libellés de la snackbar (`closeLabel`) → {@link KT_SNACKBAR_CONFIG}. */
|
|
23
|
+
snackbar?: Partial<KtSnackbarConfig>;
|
|
21
24
|
/** Libellés de la pagination des onglets → {@link KT_TABS_CONFIG}. */
|
|
22
25
|
tabs?: Partial<KtTabsConfig>;
|
|
23
26
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { AfterViewInit } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
declare class KtProgressBar implements AfterViewInit {
|
|
5
|
+
private readonly idGen;
|
|
6
|
+
private readonly elementRef;
|
|
7
|
+
protected readonly labelId: string;
|
|
8
|
+
private readonly hasProjectedContent;
|
|
9
|
+
/** Mode de fonctionnement de la barre de progression. @default 'indeterminate' */
|
|
10
|
+
readonly mode: _angular_core.InputSignal<"determinate" | "indeterminate">;
|
|
11
|
+
/** Valeur de la progression (entre 0 et 100). Ignorée en mode 'indeterminate'. @default 0 */
|
|
12
|
+
readonly value: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
13
|
+
/** Label textuel optionnel passé par attribut. */
|
|
14
|
+
readonly label: _angular_core.InputSignal<string | undefined>;
|
|
15
|
+
/** Détermine si le label textuel doit être visible à l'écran. @default true */
|
|
16
|
+
readonly labelVisible: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
17
|
+
/** Permet de figer l'animation indéterminée (utile pour les tests). @default false */
|
|
18
|
+
readonly reducedMotion: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
19
|
+
/** Indique si le composant dispose d'un label défini (soit via input, soit par projection). */
|
|
20
|
+
protected readonly hasLabel: _angular_core.Signal<boolean>;
|
|
21
|
+
protected readonly transformStyle: _angular_core.Signal<string | null>;
|
|
22
|
+
ngAfterViewInit(): void;
|
|
23
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtProgressBar, never>;
|
|
24
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtProgressBar, "kt-progress-bar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelVisible": { "alias": "labelVisible"; "required": false; "isSignal": true; }; "reducedMotion": { "alias": "reducedMotion"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { KtProgressBar };
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InjectionToken, Provider, OnDestroy } from '@angular/core';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
|
|
5
|
+
/** Politesse de l'annonce au lecteur d'écran (relayée à `LiveAnnouncer`). */
|
|
6
|
+
type KtSnackbarPoliteness = 'polite' | 'assertive';
|
|
7
|
+
/** Bord d'ancrage de la snackbar dans le viewport. */
|
|
8
|
+
type KtSnackbarPosition = 'top' | 'bottom';
|
|
9
|
+
/**
|
|
10
|
+
* Régime temporel de la snackbar :
|
|
11
|
+
* - `'auto'` : disparition automatique après `duration`, **mise en pause au survol et au focus**
|
|
12
|
+
* clavier (WCAG 1.4.13 / 2.2.1). Conforme **AA**. C'est le défaut.
|
|
13
|
+
* - `'manual'` : **aucune** minuterie, la snackbar reste jusqu'à fermeture explicite
|
|
14
|
+
* (bouton de fermeture ou `ref.dismiss()`). Conforme **2.2.3 (AAA)** au sens strict.
|
|
15
|
+
*
|
|
16
|
+
* Conformément aux recommandations d'accessibilité (Roselli/Soueidan), la snackbar ne porte **pas
|
|
17
|
+
* d'action interactive** (ex. « Annuler ») : une action auto-disparaissante n'est pas atteignable et
|
|
18
|
+
* une live region n'expose pas ses boutons. Pour un undo, préférez un mécanisme atteignable côté app
|
|
19
|
+
* (Ctrl+Z, bannière persistante).
|
|
20
|
+
*/
|
|
21
|
+
type KtSnackbarTiming = 'auto' | 'manual';
|
|
22
|
+
/**
|
|
23
|
+
* Variante sémantique de la snackbar. Pilote uniquement l'**apparence** (couleur d'accent + icône),
|
|
24
|
+
* via l'attribut `data-variant` et les tokens CSS `--snackbar-*` — donc entièrement gérée par le
|
|
25
|
+
* thème, sans logique TypeScript. Découplée de la `politeness` (une « erreur » n'est pas forcément
|
|
26
|
+
* une urgence assertive). La couleur n'est jamais le seul indice : chaque variante porte une **icône**
|
|
27
|
+
* de forme distincte (WCAG 1.4.1).
|
|
28
|
+
* - `'neutral'` : pastille neutre, sans icône (défaut) ;
|
|
29
|
+
* - `'info' | 'success' | 'warning' | 'error'` : accent + icône dédiés.
|
|
30
|
+
*/
|
|
31
|
+
type KtSnackbarVariant = 'neutral' | 'info' | 'success' | 'warning' | 'error';
|
|
32
|
+
/**
|
|
33
|
+
* Défauts de la snackbar, injectables via `provideKtSnackbar` / `KT_SNACKBAR_CONFIG`.
|
|
34
|
+
* Tous les champs sont surchargeables **par appel** via les options de `KtSnackbar.open()`.
|
|
35
|
+
*
|
|
36
|
+
* Résolution en cascade (convention de la lib) : `option d'open ?? KT_SNACKBAR_CONFIG ?? défaut`.
|
|
37
|
+
*/
|
|
38
|
+
interface KtSnackbarConfig {
|
|
39
|
+
/**
|
|
40
|
+
* Durée d'affichage en régime `'auto'`. Soit un **nombre fixe** (ms), soit le sentinel
|
|
41
|
+
* **`'reading-time'`** (DÉFAUT) qui **calcule** la durée d'après la longueur du message :
|
|
42
|
+
* `clamp(longueur × readingTimePerChar, readingTimeMin, readingTimeMax)`. Passer un nombre à
|
|
43
|
+
* `open()` force donc une durée fixe pour cet appel.
|
|
44
|
+
*
|
|
45
|
+
* ⚠️ Gardez le message **court** : une snackbar est un message transitoire (pas un paragraphe).
|
|
46
|
+
* Un message long fait grimper la durée jusqu'au plafond `readingTimeMax`.
|
|
47
|
+
* @default 'reading-time'
|
|
48
|
+
*/
|
|
49
|
+
duration: number | 'reading-time';
|
|
50
|
+
/** Plancher (ms) de la durée calculée (`'reading-time'`) — laisse le temps de lire un message court. @default 4000 */
|
|
51
|
+
readingTimeMin: number;
|
|
52
|
+
/** Plafond (ms) de la durée calculée (`'reading-time'`) — borne un message long. @default 10000 */
|
|
53
|
+
readingTimeMax: number;
|
|
54
|
+
/** Coefficient de lecture : millisecondes ajoutées par caractère du message. @default 60 (~200 mots/min) */
|
|
55
|
+
readingTimePerChar: number;
|
|
56
|
+
/** Régime temporel (cf. {@link KtSnackbarTiming}). @default 'auto' (AA + pause) */
|
|
57
|
+
timing: KtSnackbarTiming;
|
|
58
|
+
/** Bord d'ancrage dans le viewport. @default 'bottom' */
|
|
59
|
+
position: KtSnackbarPosition;
|
|
60
|
+
/** Politesse de l'annonce lecteur d'écran. @default 'polite' */
|
|
61
|
+
politeness: KtSnackbarPoliteness;
|
|
62
|
+
/** Variante sémantique (apparence seule, cf. {@link KtSnackbarVariant}). @default 'neutral' */
|
|
63
|
+
variant: KtSnackbarVariant;
|
|
64
|
+
/** Affiche un bouton de fermeture (cible 44px, AAA). @default true */
|
|
65
|
+
closable: boolean;
|
|
66
|
+
/** Nom accessible du bouton de fermeture. @default 'Close' (FR fourni en lot L3) */
|
|
67
|
+
closeLabel: string;
|
|
68
|
+
/**
|
|
69
|
+
* Taille maximale de la file FIFO (snackbar affichée + en attente). Au-delà, les **plus anciennes
|
|
70
|
+
* en attente** sont retirées silencieusement. Une seule snackbar est visible à la fois. @default 3
|
|
71
|
+
*/
|
|
72
|
+
max: number;
|
|
73
|
+
}
|
|
74
|
+
/** Défauts AAA-orientés de la snackbar (anglais neutre). */
|
|
75
|
+
declare const KT_SNACKBAR_DEFAULTS: KtSnackbarConfig;
|
|
76
|
+
declare const KT_SNACKBAR_CONFIG: InjectionToken<Partial<KtSnackbarConfig>>;
|
|
77
|
+
/**
|
|
78
|
+
* Options ponctuelles d'ouverture d'une snackbar : un sous-ensemble (toutes facultatives) de la
|
|
79
|
+
* config, prioritaire sur `KT_SNACKBAR_CONFIG` et sur les défauts.
|
|
80
|
+
*/
|
|
81
|
+
type KtSnackbarOptions = Partial<KtSnackbarConfig>;
|
|
82
|
+
/**
|
|
83
|
+
* Fournit des défauts de snackbar pour un sous-arbre ou l'application entière.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* // app.config.ts — bascule TOUTE l'app en AAA strict (aucune disparition automatique)
|
|
88
|
+
* providers: [provideKtSnackbar({ timing: 'manual' })]
|
|
89
|
+
* ```
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* providers: [provideKtSnackbar({ duration: 8000, position: 'top' })]
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
declare function provideKtSnackbar(config: Partial<KtSnackbarConfig>): Provider;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Raison de fermeture d'une snackbar, transmise par {@link KtSnackbarRef.afterDismissed}.
|
|
99
|
+
* - `'timeout'` : la minuterie (régime `'auto'`) est arrivée à échéance ;
|
|
100
|
+
* - `'dismiss'` : fermeture explicite (bouton de fermeture, `Échap`, ou `ref.dismiss()`) ;
|
|
101
|
+
* - `'replaced'` : la snackbar a été retirée de la file sans être affichée (file pleine — cf. `max`).
|
|
102
|
+
*/
|
|
103
|
+
type KtSnackbarDismissReason = 'timeout' | 'dismiss' | 'replaced';
|
|
104
|
+
/**
|
|
105
|
+
* Référence d'une snackbar ouverte, renvoyée par `KtSnackbar.open()`. Permet de fermer la
|
|
106
|
+
* snackbar par programmation et d'observer sa fermeture.
|
|
107
|
+
*
|
|
108
|
+
* Le débutant peut l'ignorer (`snackbar.open('…')`) ; le code avancé s'en sert pour piloter la
|
|
109
|
+
* fermeture et réagir à la raison de fin.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```ts
|
|
113
|
+
* const ref = snackbar.open('Brouillon enregistré');
|
|
114
|
+
* ref.afterDismissed().subscribe((reason) => console.log(reason)); // 'timeout' | 'dismiss' | 'replaced'
|
|
115
|
+
* // plus tard : ref.dismiss();
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
declare class KtSnackbarRef {
|
|
119
|
+
private readonly onDismiss;
|
|
120
|
+
private readonly _afterDismissed;
|
|
121
|
+
private settled;
|
|
122
|
+
/**
|
|
123
|
+
* @param onDismiss Rappel exécuté une fois à la fermeture (animation de sortie + démontage de
|
|
124
|
+
* l'overlay + avance de la file), fourni par le service.
|
|
125
|
+
* @internal Construit par `KtSnackbar` — n'instanciez pas `KtSnackbarRef` directement.
|
|
126
|
+
*/
|
|
127
|
+
constructor(onDismiss: (reason: KtSnackbarDismissReason) => void);
|
|
128
|
+
/**
|
|
129
|
+
* Ferme la snackbar (idempotent). Déclenche la sortie/démontage puis émet la raison sur
|
|
130
|
+
* `afterDismissed()`.
|
|
131
|
+
* @param reason Raison de fermeture. @default 'dismiss'
|
|
132
|
+
*/
|
|
133
|
+
dismiss(reason?: KtSnackbarDismissReason): void;
|
|
134
|
+
/** Émet une fois (puis complète) à la fermeture, avec la {@link KtSnackbarDismissReason}. */
|
|
135
|
+
afterDismissed(): Observable<KtSnackbarDismissReason>;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Service d'ouverture des snackbars `@ktortu/aaa` — feedback **non bloquant** qui confirme une
|
|
140
|
+
* action ou signale un événement transitoire sans interrompre la tâche (n'utilisez PAS de snackbar
|
|
141
|
+
* pour une information critique à acquitter : préférez le dialog).
|
|
142
|
+
*
|
|
143
|
+
* Architecture a11y :
|
|
144
|
+
* - **CDK Overlay** pour le panneau visuel, **CDK LiveAnnouncer** pour l'annonce — **un seul canal**
|
|
145
|
+
* d'annonce (le panneau n'est pas une live region) ;
|
|
146
|
+
* - **le focus n'est jamais déplacé** vers la snackbar (RGAA « message de statut » / WCAG 4.1.3) ;
|
|
147
|
+
* - disparition automatique **en pause au survol et au focus** (régime `'auto'`, défaut AA), ou
|
|
148
|
+
* persistante (`timing: 'manual'`, AAA) ;
|
|
149
|
+
* - **file FIFO** : une seule snackbar visible, les suivantes patientent (live region non saturée).
|
|
150
|
+
* La file est bornée par `max` (défaut 3) ; les messages **identiques** sont fusionnés (coalescing) ;
|
|
151
|
+
* - **Échap** ferme la snackbar affichée (la plus récente).
|
|
152
|
+
*
|
|
153
|
+
* Requiert côté hôte les styles `@angular/cdk/overlay-prebuilt.css` **et**
|
|
154
|
+
* `@angular/cdk/a11y-prebuilt.css` (ce dernier masque l'élément du LiveAnnouncer), en plus de
|
|
155
|
+
* `@ktortu/aaa/snackbar.css`.
|
|
156
|
+
*
|
|
157
|
+
* > [!IMPORTANT]
|
|
158
|
+
* > **Prérequis d'intégration obligatoire :**
|
|
159
|
+
* > Ce service ne fonctionnera pas correctement sans l'importation de ces deux fichiers CSS de l'overlay CDK et d'accessibilité dans votre feuille de styles globale ou votre build.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```ts
|
|
163
|
+
* private readonly snackbar = inject(KtSnackbar);
|
|
164
|
+
* this.snackbar.open('Brouillon enregistré'); // disparaît, annonce polie
|
|
165
|
+
* this.snackbar.open('Fichier supprimé', { variant: 'success' }); // variante (couleur + icône)
|
|
166
|
+
* this.snackbar.open('Hors ligne', { timing: 'manual' }); // reste jusqu'à fermeture (AAA)
|
|
167
|
+
* ```
|
|
168
|
+
*/
|
|
169
|
+
declare class KtSnackbar implements OnDestroy {
|
|
170
|
+
private readonly overlay;
|
|
171
|
+
private readonly injector;
|
|
172
|
+
private readonly liveAnnouncer;
|
|
173
|
+
private readonly config;
|
|
174
|
+
private readonly platformId;
|
|
175
|
+
private readonly doc;
|
|
176
|
+
/** File FIFO : `queue[0]` est la snackbar affichée dès qu'elle est attachée. */
|
|
177
|
+
private readonly queue;
|
|
178
|
+
private active;
|
|
179
|
+
private escapeRegistered;
|
|
180
|
+
/**
|
|
181
|
+
* Ouvre une snackbar affichant `message`. Les `options` priment sur `KT_SNACKBAR_CONFIG`, qui
|
|
182
|
+
* prime sur les défauts. Renvoie une {@link KtSnackbarRef} (ignorable dans le cas simple).
|
|
183
|
+
*
|
|
184
|
+
* Une seule snackbar est visible : si une autre est affichée, celle-ci patiente en file (FIFO).
|
|
185
|
+
* Un `message` identique à une snackbar déjà affichée ou en attente est **fusionné** : on renvoie
|
|
186
|
+
* alors la référence existante sans rien ré-empiler.
|
|
187
|
+
*
|
|
188
|
+
* > [!IMPORTANT]
|
|
189
|
+
* > Assurez-vous d'avoir importé `@angular/cdk/overlay-prebuilt.css` et `@angular/cdk/a11y-prebuilt.css` dans votre application hôte.
|
|
190
|
+
*
|
|
191
|
+
* @param message Texte affiché et annoncé au lecteur d'écran.
|
|
192
|
+
* @param options Surcharges ponctuelles (durée, régime, position, politesse, variante, fermeture).
|
|
193
|
+
* @returns La référence de la snackbar (existante en cas de fusion).
|
|
194
|
+
*/
|
|
195
|
+
open(message: string, options?: KtSnackbarOptions): KtSnackbarRef;
|
|
196
|
+
ngOnDestroy(): void;
|
|
197
|
+
/** Borne la file (affichée + en attente) : retire les plus ANCIENNES en attente au-delà de `max`. */
|
|
198
|
+
private enforceMax;
|
|
199
|
+
/** Affiche la tête de file si rien n'est actuellement visible. */
|
|
200
|
+
private showHead;
|
|
201
|
+
/** Retire l'élément de la file ; s'il est affiché, joue la sortie puis démonte et avance la file. */
|
|
202
|
+
private handleDismiss;
|
|
203
|
+
private readonly onDocumentKeydown;
|
|
204
|
+
private registerEscape;
|
|
205
|
+
private unregisterEscape;
|
|
206
|
+
/**
|
|
207
|
+
* Durée effective (ms) en régime `'auto'`. Un nombre est pris tel quel (durée fixe) ; le sentinel
|
|
208
|
+
* `'reading-time'` calcule `clamp(longueur × perChar, min, max)`.
|
|
209
|
+
*/
|
|
210
|
+
private computeDuration;
|
|
211
|
+
/** Résolution en cascade `option ?? KT_SNACKBAR_CONFIG ?? défaut`, champ par champ. */
|
|
212
|
+
private resolve;
|
|
213
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<KtSnackbar, never>;
|
|
214
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<KtSnackbar>;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export { KT_SNACKBAR_CONFIG, KT_SNACKBAR_DEFAULTS, KtSnackbar, KtSnackbarRef, provideKtSnackbar };
|
|
218
|
+
export type { KtSnackbarConfig, KtSnackbarDismissReason, KtSnackbarOptions, KtSnackbarPoliteness, KtSnackbarPosition, KtSnackbarTiming, KtSnackbarVariant };
|
|
@@ -39,7 +39,6 @@ declare class KtTooltip implements OnDestroy {
|
|
|
39
39
|
private readonly host;
|
|
40
40
|
private readonly renderer;
|
|
41
41
|
private readonly vcr;
|
|
42
|
-
private readonly ngZone;
|
|
43
42
|
private readonly platformId;
|
|
44
43
|
/** Contenu de l'infobulle : texte simple (injecté en `textContent`) ou `TemplateRef` non interactif. */
|
|
45
44
|
readonly ktTooltip: _angular_core.InputSignal<string | TemplateRef<unknown>>;
|
package/types/ktortu-aaa.d.ts
CHANGED
|
@@ -5,5 +5,7 @@ export * from '@ktortu/aaa/dialog';
|
|
|
5
5
|
export * from '@ktortu/aaa/forms';
|
|
6
6
|
export * from '@ktortu/aaa/i18n';
|
|
7
7
|
export * from '@ktortu/aaa/menu';
|
|
8
|
+
export * from '@ktortu/aaa/snackbar';
|
|
8
9
|
export * from '@ktortu/aaa/tabs';
|
|
9
10
|
export * from '@ktortu/aaa/tooltip';
|
|
11
|
+
export * from '@ktortu/aaa/progress-bar';
|