@starterlib/ui 0.1.0 → 0.2.0
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 +96 -36
- package/assets/icones/sprite.svg +32 -0
- package/fesm2022/starterlib-ui-surfaces.mjs +244 -0
- package/fesm2022/starterlib-ui-surfaces.mjs.map +1 -0
- package/fesm2022/starterlib-ui.mjs +623 -168
- package/fesm2022/starterlib-ui.mjs.map +1 -1
- package/package.json +8 -5
- package/types/starterlib-ui-surfaces.d.ts +108 -0
- package/types/starterlib-ui.d.ts +421 -124
package/types/starterlib-ui.d.ts
CHANGED
|
@@ -1,17 +1,133 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, TemplateRef } from '@angular/core';
|
|
3
|
-
import { Montant } from '@starterlib/util';
|
|
2
|
+
import { InjectionToken, Signal, Provider, Resource, TemplateRef } from '@angular/core';
|
|
3
|
+
import { Ton, Montant, TonSemantique, EtatDeBloc } from '@starterlib/util';
|
|
4
|
+
export { ETATS_DE_BLOC, EtatDeBloc } from '@starterlib/util';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Les textes que les composants portent eux-memes.
|
|
8
|
+
*
|
|
9
|
+
* ⚠️ Ce ne sont pas « les textes de l'application » : le socle ne connait aucun
|
|
10
|
+
* ecran. Ce sont les quelques mots qu'un composant doit dire sans que
|
|
11
|
+
* l'appelant ait a les fournir a chaque usage — le nom d'un bouton de copie,
|
|
12
|
+
* l'annonce d'un chargement, la mention d'une ouverture dans une autre fenetre.
|
|
13
|
+
* Tout le reste est un `input` de l'appelant.
|
|
14
|
+
*
|
|
15
|
+
* Les entrees a trou sont des FONCTIONS, et non des gabarits a interpoler :
|
|
16
|
+
* l'ordre des mots change d'une langue a l'autre (« IBAN se terminant par
|
|
17
|
+
* 2606 » contre « IBAN ending in 2606 »), et une fonction laisse la langue
|
|
18
|
+
* decider, sans inventer un mini-langage de gabarit dans la librairie.
|
|
19
|
+
*/
|
|
20
|
+
interface LibellesUi {
|
|
21
|
+
/** Indicateur d'activite, et etat de chargement d'un bloc. */
|
|
22
|
+
readonly chargementEnCours: string;
|
|
23
|
+
readonly erreurSurvenue: string;
|
|
24
|
+
readonly aucunResultat: string;
|
|
25
|
+
readonly horsConnexion: string;
|
|
26
|
+
/** Erreur : action de rejeu, et etiquette de l'identifiant technique. */
|
|
27
|
+
readonly reessayer: string;
|
|
28
|
+
readonly identifiantDeTrace: string;
|
|
29
|
+
/** Etiquette du code machine affiche a cote du message. */
|
|
30
|
+
readonly codeTechnique: string;
|
|
31
|
+
/** Valeur technique copiable. */
|
|
32
|
+
readonly copier: string;
|
|
33
|
+
readonly copieEffectuee: string;
|
|
34
|
+
/** Valeur masquee. */
|
|
35
|
+
readonly afficher: string;
|
|
36
|
+
readonly masquer: string;
|
|
37
|
+
readonly valeurMasqueeANouveau: string;
|
|
38
|
+
readonly natureIban: string;
|
|
39
|
+
readonly natureCarte: string;
|
|
40
|
+
readonly natureTelephone: string;
|
|
41
|
+
readonly seTerminantPar: (nature: string, quatreDerniers: string) => string;
|
|
42
|
+
/** Lien sortant, etiquette de retrait, temps relatif. */
|
|
43
|
+
readonly nouvelleFenetre: string;
|
|
44
|
+
readonly retirer: string;
|
|
45
|
+
readonly aLInstant: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Defaut francais, identique mot pour mot aux textes ecrits en dur jusqu'a la
|
|
49
|
+
* 0.1.1 : une application qui ne fournit rien ne change pas de comportement.
|
|
50
|
+
*
|
|
51
|
+
* Il existe pour que le socle reste utilisable sans i18n, pas pour dispenser
|
|
52
|
+
* d'en avoir une. Une application bilingue DOIT fournir son propre dictionnaire
|
|
53
|
+
* sous forme de signal — sinon la moitie de l'interface reste en francais quand
|
|
54
|
+
* l'utilisateur passe a l'anglais, et rien ne le signale.
|
|
55
|
+
*/
|
|
56
|
+
declare const LIBELLES_FR: LibellesUi;
|
|
57
|
+
/** Traduction anglaise du meme dictionnaire. La paire est obligatoire. */
|
|
58
|
+
declare const LIBELLES_EN: LibellesUi;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Locale de formatage des montants, des dates et des nombres, **sous forme de
|
|
62
|
+
* signal**.
|
|
63
|
+
*
|
|
64
|
+
* ⚠️ Pourquoi pas `LOCALE_ID` : il est fige au demarrage de l'application. Or
|
|
65
|
+
* l'ADR 0014 du backend exige de changer de langue SANS recharger — la coquille
|
|
66
|
+
* detient la langue, et tout doit basculer d'un coup. Un composant qui lit
|
|
67
|
+
* `LOCALE_ID` continuerait d'afficher « 1 234,50 € » dans une interface passee
|
|
68
|
+
* a l'anglais.
|
|
69
|
+
*
|
|
70
|
+
* Le defaut lit `LOCALE_ID` : une application qui ne fournit rien garde le
|
|
71
|
+
* comportement d'avant, simplement sans pouvoir changer de langue a chaud.
|
|
72
|
+
*/
|
|
73
|
+
declare const ST_LOCALE: InjectionToken<Signal<string>>;
|
|
74
|
+
/**
|
|
75
|
+
* Textes portes par les composants eux-memes, sous forme de signal pour la
|
|
76
|
+
* meme raison que la locale.
|
|
77
|
+
*/
|
|
78
|
+
declare const ST_LIBELLES: InjectionToken<Signal<LibellesUi>>;
|
|
79
|
+
/**
|
|
80
|
+
* Chemin du sprite SVG des icones, **fourni par l'application**.
|
|
81
|
+
*
|
|
82
|
+
* ⚠️ Aucun defaut, et c'est voulu. Un defaut absolu (`/assets/icones/...`) est
|
|
83
|
+
* faux des que l'interface est servie sous un prefixe (`/ui/<interface>/`), et
|
|
84
|
+
* l'echec est MUET : la reference externe d'un `<use>` qui ne resout pas ne
|
|
85
|
+
* leve rien, toutes les icones restent vides, et la regle « un statut se lit
|
|
86
|
+
* par une icone ET un texte » tombe sans que rien ne le signale. Mieux vaut
|
|
87
|
+
* echouer au demarrage, une fois, avec la marche a suivre.
|
|
88
|
+
*
|
|
89
|
+
* L'actif est publie avec le paquet :
|
|
90
|
+
* `node_modules/@starterlib/ui/assets/icones/sprite.svg`. Chaque SPA le copie
|
|
91
|
+
* dans ses actifs (bloc `assets` de `angular.json`), puis fournit son chemin —
|
|
92
|
+
* de preference empreinte, pour un cache immuable :
|
|
93
|
+
*
|
|
94
|
+
* ```ts
|
|
95
|
+
* { provide: CHEMIN_DU_SPRITE, useValue: '/ui/socle/assets/icones/sprite.svg' }
|
|
96
|
+
* ```
|
|
10
97
|
*/
|
|
11
98
|
declare const CHEMIN_DU_SPRITE: InjectionToken<string>;
|
|
99
|
+
/**
|
|
100
|
+
* Fournit le chemin du sprite. A poser une fois, dans la configuration de
|
|
101
|
+
* l'application — jamais dans un composant, ou deux branches de l'arbre
|
|
102
|
+
* pourraient viser deux sprites differents.
|
|
103
|
+
*/
|
|
104
|
+
declare function fournirCheminDuSprite(chemin: string): Provider;
|
|
105
|
+
/** Ce que l'application fournit a `@starterlib/ui`, et rien d'autre. */
|
|
106
|
+
interface ConfigurationUi {
|
|
107
|
+
/** Obligatoire : voir `CHEMIN_DU_SPRITE`. */
|
|
108
|
+
readonly cheminDuSprite: string;
|
|
109
|
+
/**
|
|
110
|
+
* Locale de formatage. Un signal quand la langue change a l'execution, ce
|
|
111
|
+
* qui est le cas des que la coquille porte un selecteur de langue.
|
|
112
|
+
*/
|
|
113
|
+
readonly locale?: Signal<string> | string;
|
|
114
|
+
/** Textes portes par les composants. Un signal, pour la meme raison. */
|
|
115
|
+
readonly libelles?: Signal<LibellesUi> | LibellesUi;
|
|
116
|
+
/** Fuseau de rendu des dates. Vient de la personne connectee, pas du poste. */
|
|
117
|
+
readonly fuseau?: string;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Configure `@starterlib/ui` pour toute l'application.
|
|
121
|
+
*
|
|
122
|
+
* ⚠️ A appeler dans l'HOTE uniquement. Dans un assemblage federe, un remote qui
|
|
123
|
+
* la rappellerait poserait un second jeu de valeurs dans son injecteur de
|
|
124
|
+
* route : deux locales, deux dictionnaires, et la moitie de l'ecran resterait
|
|
125
|
+
* dans l'ancienne langue apres une bascule.
|
|
126
|
+
*/
|
|
127
|
+
declare function provideStarterUi(configuration: ConfigurationUi): Provider[];
|
|
12
128
|
/**
|
|
13
129
|
* Marque la presence d'une region vivante possedee par un ancetre, en pratique
|
|
14
|
-
*
|
|
130
|
+
* le composant `st-state`.
|
|
15
131
|
*
|
|
16
132
|
* Tout composant susceptible de porter un `role="status"` l'injecte en
|
|
17
133
|
* optionnel et **se tait** s'il en trouve un. Sans cela, un indicateur de
|
|
@@ -27,15 +143,9 @@ declare const REGION_VIVANTE_PARENTE: InjectionToken<true>;
|
|
|
27
143
|
*/
|
|
28
144
|
declare const FUSEAU_PAR_DEFAUT: InjectionToken<string>;
|
|
29
145
|
|
|
30
|
-
/**
|
|
31
|
-
* Les cinq etats que tout bloc consommant l'API doit traiter. Le type les
|
|
32
|
-
* enumere pour qu'aucun ne s'oublie : un `switch` non exhaustif ne compile pas.
|
|
33
|
-
*/
|
|
34
|
-
type EtatDeBloc = 'chargement' | 'erreur' | 'vide' | 'hors-ligne' | 'succes';
|
|
35
|
-
declare const ETATS_DE_BLOC: readonly EtatDeBloc[];
|
|
36
|
-
|
|
37
146
|
type TailleDIcone = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
38
|
-
|
|
147
|
+
/** Une icone prend n'importe quel ton sauf `inverse`, qui vise un fond plein. */
|
|
148
|
+
type TonDIcone = Exclude<Ton, 'inverse'>;
|
|
39
149
|
/**
|
|
40
150
|
* Icone tiree d'un sprite SVG servi en meme origine.
|
|
41
151
|
*
|
|
@@ -50,19 +160,20 @@ type TonDIcone = 'courant' | 'discret' | 'primaire' | 'succes' | 'avertissement'
|
|
|
50
160
|
*/
|
|
51
161
|
declare class StIcon {
|
|
52
162
|
private readonly cheminDuSprite;
|
|
53
|
-
readonly nom: _angular_core.InputSignal<"
|
|
163
|
+
readonly nom: _angular_core.InputSignal<"boite-vide" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "copie" | "corbeille" | "croix" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "triangle-alerte" | "utilisateur">;
|
|
54
164
|
readonly taille: _angular_core.InputSignal<TailleDIcone>;
|
|
55
165
|
readonly ton: _angular_core.InputSignal<TonDIcone>;
|
|
56
166
|
/** `null` : l'icone est decorative et reste muette pour les lecteurs. */
|
|
57
167
|
readonly etiquette: _angular_core.InputSignal<string | null>;
|
|
58
|
-
readonly estDecorative: _angular_core.Signal<boolean>;
|
|
59
|
-
readonly reference: _angular_core.Signal<string>;
|
|
168
|
+
protected readonly estDecorative: _angular_core.Signal<boolean>;
|
|
169
|
+
protected readonly reference: _angular_core.Signal<string>;
|
|
60
170
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StIcon, never>;
|
|
61
171
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StIcon, "st-icon", never, { "nom": { "alias": "nom"; "required": true; "isSignal": true; }; "taille": { "alias": "taille"; "required": false; "isSignal": true; }; "ton": { "alias": "ton"; "required": false; "isSignal": true; }; "etiquette": { "alias": "etiquette"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
62
172
|
}
|
|
63
173
|
|
|
64
174
|
/**
|
|
65
|
-
* Noms du sprite,
|
|
175
|
+
* Noms du sprite, tenus a l'identique de `assets/icones/sprite.svg` par les
|
|
176
|
+
* tests de `st-icon.spec.ts` (dans les deux sens).
|
|
66
177
|
*
|
|
67
178
|
* Le type existe pour qu'une faute de frappe echoue a la compilation : une
|
|
68
179
|
* reference `use` vers un identifiant absent ne rend RIEN, sans erreur, et le
|
|
@@ -83,7 +194,7 @@ type GraisseDeTexte = 'normale' | 'moyenne' | 'semi';
|
|
|
83
194
|
declare class StText {
|
|
84
195
|
readonly variante: _angular_core.InputSignal<VarianteDeTexte>;
|
|
85
196
|
readonly graisse: _angular_core.InputSignal<GraisseDeTexte>;
|
|
86
|
-
readonly enLigne: _angular_core.
|
|
197
|
+
readonly enLigne: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
87
198
|
/**
|
|
88
199
|
* Nombre de lignes au-dela duquel le texte est coupe.
|
|
89
200
|
*
|
|
@@ -114,13 +225,13 @@ declare class StHeading {
|
|
|
114
225
|
readonly taille: _angular_core.InputSignal<TailleDeTitre | null>;
|
|
115
226
|
/** Cible d'un `aria-labelledby` : une region se nomme par son titre. */
|
|
116
227
|
readonly identifiant: _angular_core.InputSignal<string | null>;
|
|
117
|
-
readonly tailleEffective: _angular_core.Signal<TailleDeTitre>;
|
|
228
|
+
protected readonly tailleEffective: _angular_core.Signal<TailleDeTitre>;
|
|
118
229
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StHeading, never>;
|
|
119
230
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StHeading, "st-heading", never, { "niveau": { "alias": "niveau"; "required": true; "isSignal": true; }; "taille": { "alias": "taille"; "required": false; "isSignal": true; }; "identifiant": { "alias": "identifiant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
120
231
|
}
|
|
121
232
|
|
|
122
233
|
type TailleDeSpinner = 'sm' | 'md' | 'lg';
|
|
123
|
-
type TonDeSpinner = '
|
|
234
|
+
type TonDeSpinner = Extract<Ton, 'neutre' | 'primaire' | 'inverse'>;
|
|
124
235
|
/**
|
|
125
236
|
* Indicateur d'activite indeterminee.
|
|
126
237
|
*
|
|
@@ -136,15 +247,18 @@ type TonDeSpinner = 'courant' | 'primaire' | 'inverse';
|
|
|
136
247
|
*/
|
|
137
248
|
declare class StSpinner {
|
|
138
249
|
private readonly regionParente;
|
|
250
|
+
private readonly libelles;
|
|
139
251
|
readonly taille: _angular_core.InputSignal<TailleDeSpinner>;
|
|
140
252
|
readonly ton: _angular_core.InputSignal<TonDeSpinner>;
|
|
141
|
-
|
|
142
|
-
readonly
|
|
253
|
+
/** `null` : le texte vient du dictionnaire de l'application. */
|
|
254
|
+
readonly etiquette: _angular_core.InputSignal<string | null>;
|
|
255
|
+
protected readonly etiquetteLue: _angular_core.Signal<string>;
|
|
256
|
+
protected readonly sAnnonce: _angular_core.Signal<boolean>;
|
|
143
257
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StSpinner, never>;
|
|
144
258
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StSpinner, "st-spinner", never, { "taille": { "alias": "taille"; "required": false; "isSignal": true; }; "ton": { "alias": "ton"; "required": false; "isSignal": true; }; "etiquette": { "alias": "etiquette"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
145
259
|
}
|
|
146
260
|
|
|
147
|
-
type TonDeProgression = 'primaire' | 'succes' | 'danger'
|
|
261
|
+
type TonDeProgression = Extract<Ton, 'primaire' | 'succes' | 'danger'>;
|
|
148
262
|
/**
|
|
149
263
|
* Barre de progression, determinee ou indeterminee.
|
|
150
264
|
*
|
|
@@ -161,10 +275,10 @@ declare class StProgress {
|
|
|
161
275
|
readonly ton: _angular_core.InputSignal<TonDeProgression>;
|
|
162
276
|
/** Texte lu a la place du pourcentage quand celui-ci n'est pas parlant. */
|
|
163
277
|
readonly texteDeValeur: _angular_core.InputSignal<string | null>;
|
|
164
|
-
readonly estIndeterminee: _angular_core.Signal<boolean>;
|
|
278
|
+
protected readonly estIndeterminee: _angular_core.Signal<boolean>;
|
|
165
279
|
/** Omis quand la progression est indeterminee : l'annoncer serait faux. */
|
|
166
|
-
readonly valeurAnnoncee: _angular_core.Signal<number | null>;
|
|
167
|
-
readonly pourcentage: _angular_core.Signal<number>;
|
|
280
|
+
protected readonly valeurAnnoncee: _angular_core.Signal<number | null>;
|
|
281
|
+
protected readonly pourcentage: _angular_core.Signal<number>;
|
|
168
282
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StProgress, never>;
|
|
169
283
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StProgress, "st-progress", never, { "valeur": { "alias": "valeur"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "etiquette": { "alias": "etiquette"; "required": true; "isSignal": true; }; "ton": { "alias": "ton"; "required": false; "isSignal": true; }; "texteDeValeur": { "alias": "texteDeValeur"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
170
284
|
}
|
|
@@ -184,14 +298,20 @@ declare class StSkeleton {
|
|
|
184
298
|
readonly variante: _angular_core.InputSignal<VarianteDeSquelette>;
|
|
185
299
|
readonly lignes: _angular_core.InputSignal<number>;
|
|
186
300
|
readonly colonnes: _angular_core.InputSignal<number>;
|
|
187
|
-
readonly anime: _angular_core.
|
|
188
|
-
readonly indicesDeLigne: _angular_core.Signal<number[]>;
|
|
189
|
-
readonly indicesDeColonne: _angular_core.Signal<number[]>;
|
|
301
|
+
readonly anime: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
302
|
+
protected readonly indicesDeLigne: _angular_core.Signal<number[]>;
|
|
303
|
+
protected readonly indicesDeColonne: _angular_core.Signal<number[]>;
|
|
190
304
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StSkeleton, never>;
|
|
191
305
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StSkeleton, "st-skeleton", never, { "variante": { "alias": "variante"; "required": false; "isSignal": true; }; "lignes": { "alias": "lignes"; "required": false; "isSignal": true; }; "colonnes": { "alias": "colonnes"; "required": false; "isSignal": true; }; "anime": { "alias": "anime"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
192
306
|
}
|
|
193
307
|
|
|
194
|
-
|
|
308
|
+
/**
|
|
309
|
+
* ⚠️ Une variante dit quel FOND le bouton prend, pas ce qu'il signifie ; c'est
|
|
310
|
+
* un axe distinct du ton, et il le reste. Mais son quatrieme membre s'appelle
|
|
311
|
+
* `danger` comme partout ailleurs : il n'y a aucune raison qu'un bouton rouge
|
|
312
|
+
* et une pastille rouge portent deux mots differents.
|
|
313
|
+
*/
|
|
314
|
+
type VarianteDeBouton = 'primaire' | 'secondaire' | 'discret' | 'danger';
|
|
195
315
|
type TailleDeBouton = 'sm' | 'md' | 'lg';
|
|
196
316
|
/**
|
|
197
317
|
* Bouton du socle, pose en ATTRIBUT sur un `<button>` natif.
|
|
@@ -202,6 +322,11 @@ type TailleDeBouton = 'sm' | 'md' | 'lg';
|
|
|
202
322
|
* tabulation si quelqu'un lui pose un `tabindex`. Tout fonctionne en
|
|
203
323
|
* demonstration et casse au premier formulaire reel.
|
|
204
324
|
*
|
|
325
|
+
* ⚠️ L'indicateur de chargement est MUET (`aria-hidden`) : pose dans le bouton,
|
|
326
|
+
* son `role="status"` entrait dans le nom accessible, qui devenait « Chargement
|
|
327
|
+
* en cours Valider ». L'annonce de l'action en cours revient a l'annonceur
|
|
328
|
+
* global du noyau, pas au bouton.
|
|
329
|
+
*
|
|
205
330
|
* ⚠️ Pendant le chargement, le bouton porte `aria-disabled` et NON `disabled` :
|
|
206
331
|
* l'attribut natif lui retire le focus, le lecteur d'ecran perd le controle
|
|
207
332
|
* qu'il avait sous le doigt et retombe sur le corps du document. Les clics
|
|
@@ -210,21 +335,27 @@ type TailleDeBouton = 'sm' | 'md' | 'lg';
|
|
|
210
335
|
declare class StButton {
|
|
211
336
|
readonly variante: _angular_core.InputSignal<VarianteDeBouton>;
|
|
212
337
|
readonly taille: _angular_core.InputSignal<TailleDeBouton>;
|
|
213
|
-
readonly pleineLargeur: _angular_core.
|
|
214
|
-
readonly iconeAvant: _angular_core.InputSignal<"
|
|
215
|
-
readonly iconeApres: _angular_core.InputSignal<"
|
|
338
|
+
readonly pleineLargeur: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
339
|
+
readonly iconeAvant: _angular_core.InputSignal<"boite-vide" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "copie" | "corbeille" | "croix" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "triangle-alerte" | "utilisateur" | null>;
|
|
340
|
+
readonly iconeApres: _angular_core.InputSignal<"boite-vide" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "copie" | "corbeille" | "croix" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "triangle-alerte" | "utilisateur" | null>;
|
|
216
341
|
/**
|
|
217
342
|
* Action en cours. Tant qu'il vaut vrai, les clics sont avales : c'est le
|
|
218
343
|
* mecanisme d'anti double soumission. L'appelant doit le lever DES la
|
|
219
344
|
* soumission, pas a l'arrivee de la reponse.
|
|
220
345
|
*/
|
|
221
|
-
readonly chargement: _angular_core.
|
|
346
|
+
readonly chargement: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
347
|
+
/**
|
|
348
|
+
* Le ton suit le FOND du bouton, et non le bouton en general : sur une
|
|
349
|
+
* variante posee sur la surface (`secondaire`, qui est le defaut, et
|
|
350
|
+
* `discret`), un indicateur en ton inverse tombait a 1,00:1 — invisible.
|
|
351
|
+
*/
|
|
352
|
+
readonly tonDuChargement: _angular_core.Signal<TonDeSpinner>;
|
|
222
353
|
constructor();
|
|
223
354
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StButton, never>;
|
|
224
355
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StButton, "button[stButton]", never, { "variante": { "alias": "variante"; "required": false; "isSignal": true; }; "taille": { "alias": "taille"; "required": false; "isSignal": true; }; "pleineLargeur": { "alias": "pleineLargeur"; "required": false; "isSignal": true; }; "iconeAvant": { "alias": "iconeAvant"; "required": false; "isSignal": true; }; "iconeApres": { "alias": "iconeApres"; "required": false; "isSignal": true; }; "chargement": { "alias": "chargement"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
225
356
|
}
|
|
226
357
|
|
|
227
|
-
type VarianteDeBoutonIcone = 'discret' | 'secondaire' | '
|
|
358
|
+
type VarianteDeBoutonIcone = Extract<VarianteDeBouton, 'discret' | 'secondaire' | 'danger'>;
|
|
228
359
|
/**
|
|
229
360
|
* Bouton reduit a une icone, pose en attribut sur un `<button>` natif.
|
|
230
361
|
*
|
|
@@ -233,15 +364,22 @@ type VarianteDeBoutonIcone = 'discret' | 'secondaire' | 'destructeur';
|
|
|
233
364
|
* de facon fiable.
|
|
234
365
|
*/
|
|
235
366
|
declare class StIconButton {
|
|
236
|
-
readonly icone: _angular_core.InputSignal<"
|
|
367
|
+
readonly icone: _angular_core.InputSignal<"boite-vide" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "copie" | "corbeille" | "croix" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "triangle-alerte" | "utilisateur">;
|
|
237
368
|
/** Nom accessible du controle. Sans lui, l'icone ne dit rien. */
|
|
238
369
|
readonly etiquette: _angular_core.InputSignal<string>;
|
|
239
370
|
readonly variante: _angular_core.InputSignal<VarianteDeBoutonIcone>;
|
|
240
371
|
readonly taille: _angular_core.InputSignal<"sm" | "md">;
|
|
241
|
-
/**
|
|
242
|
-
|
|
372
|
+
/**
|
|
373
|
+
* `null` : le bouton n'est pas a deux etats et n'annonce aucune pression.
|
|
374
|
+
*
|
|
375
|
+
* ⚠️ Une ENTREE, et non un `model`. Le composant ne bascule rien de lui-meme :
|
|
376
|
+
* l'etat enfonce reflete une donnee que l'appelant detient. En `model`,
|
|
377
|
+
* `[(enfonce)]` compilait et ne remontait jamais — une liaison bidirectionnelle
|
|
378
|
+
* muette est pire qu'absente, puisqu'elle se relit comme fonctionnelle.
|
|
379
|
+
*/
|
|
380
|
+
readonly enfonce: _angular_core.InputSignal<boolean | null>;
|
|
243
381
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StIconButton, never>;
|
|
244
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StIconButton, "button[stIconButton]", never, { "icone": { "alias": "icone"; "required": true; "isSignal": true; }; "etiquette": { "alias": "etiquette"; "required": true; "isSignal": true; }; "variante": { "alias": "variante"; "required": false; "isSignal": true; }; "taille": { "alias": "taille"; "required": false; "isSignal": true; }; "enfonce": { "alias": "enfonce"; "required": false; "isSignal": true; }; }, {
|
|
382
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StIconButton, "button[stIconButton]", never, { "icone": { "alias": "icone"; "required": true; "isSignal": true; }; "etiquette": { "alias": "etiquette"; "required": true; "isSignal": true; }; "variante": { "alias": "variante"; "required": false; "isSignal": true; }; "taille": { "alias": "taille"; "required": false; "isSignal": true; }; "enfonce": { "alias": "enfonce"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
245
383
|
}
|
|
246
384
|
|
|
247
385
|
type VarianteDeLien = 'texte' | 'autonome' | 'discret';
|
|
@@ -256,11 +394,16 @@ type VarianteDeLien = 'texte' | 'autonome' | 'discret';
|
|
|
256
394
|
* quiconque regarde l'ecran.
|
|
257
395
|
*/
|
|
258
396
|
declare class StLink {
|
|
397
|
+
private readonly libelles;
|
|
259
398
|
readonly variante: _angular_core.InputSignal<VarianteDeLien>;
|
|
260
399
|
/** Ouvre dans un nouvel onglet, et l'annonce dans le nom accessible. */
|
|
261
|
-
readonly externe: _angular_core.
|
|
262
|
-
/**
|
|
263
|
-
|
|
400
|
+
readonly externe: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
401
|
+
/**
|
|
402
|
+
* Mention lue par les lecteurs d'ecran quand le lien sort du site.
|
|
403
|
+
* `null` : le texte vient du dictionnaire de l'application.
|
|
404
|
+
*/
|
|
405
|
+
readonly mentionExterne: _angular_core.InputSignal<string | null>;
|
|
406
|
+
protected readonly mentionExterneLue: _angular_core.Signal<string>;
|
|
264
407
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StLink, never>;
|
|
265
408
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StLink, "a[stLink]", never, { "variante": { "alias": "variante"; "required": false; "isSignal": true; }; "externe": { "alias": "externe"; "required": false; "isSignal": true; }; "mentionExterne": { "alias": "mentionExterne"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
266
409
|
}
|
|
@@ -278,7 +421,7 @@ declare class StButtonGroup {
|
|
|
278
421
|
readonly etiquette: _angular_core.InputSignal<string>;
|
|
279
422
|
readonly orientation: _angular_core.InputSignal<"horizontale" | "verticale">;
|
|
280
423
|
/** Boutons jointifs, rayons fusionnes. */
|
|
281
|
-
readonly attache: _angular_core.
|
|
424
|
+
readonly attache: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
282
425
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StButtonGroup, never>;
|
|
283
426
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StButtonGroup, "st-button-group", never, { "etiquette": { "alias": "etiquette"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "attache": { "alias": "attache"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
284
427
|
}
|
|
@@ -295,24 +438,28 @@ declare class StButtonGroup {
|
|
|
295
438
|
declare class StCode {
|
|
296
439
|
private readonly document;
|
|
297
440
|
private readonly destruction;
|
|
441
|
+
private readonly libelles;
|
|
298
442
|
readonly valeur: _angular_core.InputSignal<string>;
|
|
299
|
-
readonly
|
|
300
|
-
|
|
301
|
-
readonly
|
|
302
|
-
readonly
|
|
443
|
+
readonly copiable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
444
|
+
/** `null` : les textes viennent du dictionnaire de l'application. */
|
|
445
|
+
readonly etiquette: _angular_core.InputSignal<string | null>;
|
|
446
|
+
readonly libelleCopier: _angular_core.InputSignal<string | null>;
|
|
447
|
+
readonly messageDeConfirmation: _angular_core.InputSignal<string | null>;
|
|
448
|
+
protected readonly etiquetteLue: _angular_core.Signal<string>;
|
|
449
|
+
protected readonly libelleCopierLu: _angular_core.Signal<string>;
|
|
303
450
|
readonly copie: _angular_core.OutputEmitterRef<string>;
|
|
304
451
|
private readonly confirmation;
|
|
305
452
|
private minuterie;
|
|
306
|
-
readonly texteDeConfirmation: _angular_core.Signal<string>;
|
|
453
|
+
protected readonly texteDeConfirmation: _angular_core.Signal<string>;
|
|
307
454
|
/**
|
|
308
455
|
* Le bouton n'apparait que si le navigateur sait copier. Sans presse-papiers,
|
|
309
456
|
* un bouton qui ne fait rien vaut moins que la selection manuelle, que la
|
|
310
457
|
* feuille garde possible (`user-select: all`).
|
|
311
458
|
*/
|
|
312
|
-
readonly copiePossible: _angular_core.Signal<boolean>;
|
|
459
|
+
protected readonly copiePossible: _angular_core.Signal<boolean>;
|
|
313
460
|
protected auClicDeCopie(): Promise<void>;
|
|
314
461
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StCode, never>;
|
|
315
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StCode, "st-code", never, { "valeur": { "alias": "valeur"; "required": true; "isSignal": true; }; "
|
|
462
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StCode, "st-code", never, { "valeur": { "alias": "valeur"; "required": true; "isSignal": true; }; "copiable": { "alias": "copiable"; "required": false; "isSignal": true; }; "etiquette": { "alias": "etiquette"; "required": false; "isSignal": true; }; "libelleCopier": { "alias": "libelleCopier"; "required": false; "isSignal": true; }; "messageDeConfirmation": { "alias": "messageDeConfirmation"; "required": false; "isSignal": true; }; }, { "copie": "copie"; }, never, never, true, never>;
|
|
316
463
|
}
|
|
317
464
|
|
|
318
465
|
type TypeMasque = 'iban' | 'carte' | 'telephone';
|
|
@@ -328,24 +475,31 @@ type TypeMasque = 'iban' | 'carte' | 'telephone';
|
|
|
328
475
|
* journal.
|
|
329
476
|
*/
|
|
330
477
|
declare class StMasked {
|
|
478
|
+
private readonly libelles;
|
|
331
479
|
private readonly destruction;
|
|
332
480
|
readonly valeur: _angular_core.InputSignal<string>;
|
|
333
481
|
readonly type: _angular_core.InputSignal<TypeMasque>;
|
|
334
482
|
readonly revele: _angular_core.ModelSignal<boolean>;
|
|
335
|
-
readonly revelationAutorisee: _angular_core.
|
|
483
|
+
readonly revelationAutorisee: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
336
484
|
readonly dureeDeRevelationEnSecondes: _angular_core.InputSignal<number>;
|
|
337
|
-
|
|
338
|
-
readonly
|
|
485
|
+
/** `null` : les textes viennent du dictionnaire de l'application. */
|
|
486
|
+
readonly libelleAfficher: _angular_core.InputSignal<string | null>;
|
|
487
|
+
readonly libelleMasquer: _angular_core.InputSignal<string | null>;
|
|
339
488
|
readonly revelation: _angular_core.OutputEmitterRef<{
|
|
340
489
|
type: TypeMasque;
|
|
341
490
|
}>;
|
|
342
491
|
private readonly annonce;
|
|
343
|
-
readonly texteDAnnonce: _angular_core.Signal<string>;
|
|
492
|
+
protected readonly texteDAnnonce: _angular_core.Signal<string>;
|
|
344
493
|
private minuterie;
|
|
345
|
-
readonly valeurMasquee: _angular_core.Signal<string>;
|
|
346
|
-
readonly valeurAffichee: _angular_core.Signal<string>;
|
|
347
|
-
|
|
348
|
-
|
|
494
|
+
protected readonly valeurMasquee: _angular_core.Signal<string>;
|
|
495
|
+
protected readonly valeurAffichee: _angular_core.Signal<string>;
|
|
496
|
+
/**
|
|
497
|
+
* La nature et la tournure viennent du dictionnaire : l'ordre des mots change
|
|
498
|
+
* d'une langue a l'autre, « IBAN se terminant par 2606 » contre « IBAN ending
|
|
499
|
+
* in 2606 ». Une chaine a trous ne suffirait pas.
|
|
500
|
+
*/
|
|
501
|
+
protected readonly nomAccessible: _angular_core.Signal<string>;
|
|
502
|
+
protected readonly libelleDuBouton: _angular_core.Signal<string>;
|
|
349
503
|
private valeurLisible;
|
|
350
504
|
protected basculer(): void;
|
|
351
505
|
private masquer;
|
|
@@ -367,11 +521,11 @@ declare class StMasked {
|
|
|
367
521
|
declare class StMoney {
|
|
368
522
|
private readonly locale;
|
|
369
523
|
readonly valeur: _angular_core.InputSignal<Montant>;
|
|
370
|
-
readonly signeExplicite: _angular_core.
|
|
371
|
-
readonly sansDevise: _angular_core.
|
|
524
|
+
readonly signeExplicite: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
525
|
+
readonly sansDevise: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
372
526
|
readonly taille: _angular_core.InputSignal<"sm" | "md" | "lg" | "xl">;
|
|
373
|
-
readonly signe: _angular_core.Signal<"negatif" | "positif" | "nul">;
|
|
374
|
-
readonly texte: _angular_core.Signal<string>;
|
|
527
|
+
protected readonly signe: _angular_core.Signal<"negatif" | "positif" | "nul">;
|
|
528
|
+
protected readonly texte: _angular_core.Signal<string>;
|
|
375
529
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StMoney, never>;
|
|
376
530
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StMoney, "st-money", never, { "valeur": { "alias": "valeur"; "required": true; "isSignal": true; }; "signeExplicite": { "alias": "signeExplicite"; "required": false; "isSignal": true; }; "sansDevise": { "alias": "sansDevise"; "required": false; "isSignal": true; }; "taille": { "alias": "taille"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
377
531
|
}
|
|
@@ -394,12 +548,33 @@ declare class StDate {
|
|
|
394
548
|
readonly valeur: _angular_core.InputSignal<string | Date>;
|
|
395
549
|
readonly format: _angular_core.InputSignal<FormatDeDate>;
|
|
396
550
|
readonly fuseau: _angular_core.InputSignal<string | null>;
|
|
551
|
+
/**
|
|
552
|
+
* Une DATE DE CALENDRIER (`2026-09-12`) n'est pas un instant : une date de
|
|
553
|
+
* naissance, une echeance ou un jour de valeur n'ont pas d'heure, et ne
|
|
554
|
+
* doivent pas changer de jour selon le fuseau de qui les regarde.
|
|
555
|
+
*
|
|
556
|
+
* ⚠️ Le piege est dans la norme : `new Date('2026-09-12')` vaut minuit UTC,
|
|
557
|
+
* donc le 11 septembre partout a l'ouest de Greenwich. Une echeance affichee
|
|
558
|
+
* la veille est un defaut que personne ne voit depuis l'Europe.
|
|
559
|
+
*/
|
|
560
|
+
private readonly estDateDeCalendrier;
|
|
397
561
|
private readonly date;
|
|
398
|
-
readonly estValide: _angular_core.Signal<boolean>;
|
|
399
|
-
|
|
400
|
-
|
|
562
|
+
protected readonly estValide: _angular_core.Signal<boolean>;
|
|
563
|
+
/**
|
|
564
|
+
* Le fuseau de rendu. Pour une date de calendrier, c'est UTC : la valeur a
|
|
565
|
+
* ete construite a minuit UTC, la relire en UTC rend donc le jour ecrit.
|
|
566
|
+
*/
|
|
567
|
+
private readonly fuseauDeRendu;
|
|
568
|
+
/**
|
|
569
|
+
* Une date de calendrier porte `2026-09-12`, sans heure ni decalage : c'est
|
|
570
|
+
* la forme que la norme HTML attend, et la seule qui ne mente pas.
|
|
571
|
+
*/
|
|
572
|
+
protected readonly iso: _angular_core.Signal<string | null>;
|
|
573
|
+
/** Une date sans heure ne peut pas en afficher une. */
|
|
574
|
+
private readonly optionsDeFormat;
|
|
575
|
+
protected readonly texte: _angular_core.Signal<string>;
|
|
401
576
|
/** Forme longue, lue par les technologies d'assistance. */
|
|
402
|
-
readonly texteAccessible: _angular_core.Signal<string | null>;
|
|
577
|
+
protected readonly texteAccessible: _angular_core.Signal<string | null>;
|
|
403
578
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StDate, never>;
|
|
404
579
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StDate, "st-date", never, { "valeur": { "alias": "valeur"; "required": true; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "fuseau": { "alias": "fuseau"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
405
580
|
}
|
|
@@ -416,20 +591,21 @@ declare class StDate {
|
|
|
416
591
|
*/
|
|
417
592
|
declare class StRelativeTime {
|
|
418
593
|
private readonly locale;
|
|
594
|
+
private readonly libelles;
|
|
419
595
|
private readonly fuseau;
|
|
420
596
|
readonly valeur: _angular_core.InputSignal<string | Date>;
|
|
421
|
-
readonly rafraichir: _angular_core.
|
|
597
|
+
readonly rafraichir: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
422
598
|
/** Au-dela de ce nombre de jours, la date absolue est plus parlante. */
|
|
423
599
|
readonly seuilAbsoluEnJours: _angular_core.InputSignal<number>;
|
|
424
600
|
private readonly destruction;
|
|
425
601
|
private readonly maintenant;
|
|
426
602
|
constructor();
|
|
427
603
|
private dateEnMillisecondes;
|
|
428
|
-
readonly estValide: _angular_core.Signal<boolean>;
|
|
429
|
-
readonly iso: _angular_core.Signal<string | null>;
|
|
430
|
-
readonly depasseLeSeuil: _angular_core.Signal<boolean>;
|
|
431
|
-
readonly texte: _angular_core.Signal<string>;
|
|
432
|
-
readonly texteAccessible: _angular_core.Signal<string>;
|
|
604
|
+
protected readonly estValide: _angular_core.Signal<boolean>;
|
|
605
|
+
protected readonly iso: _angular_core.Signal<string | null>;
|
|
606
|
+
protected readonly depasseLeSeuil: _angular_core.Signal<boolean>;
|
|
607
|
+
protected readonly texte: _angular_core.Signal<string>;
|
|
608
|
+
protected readonly texteAccessible: _angular_core.Signal<string>;
|
|
433
609
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StRelativeTime, never>;
|
|
434
610
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StRelativeTime, "st-relative-time", never, { "valeur": { "alias": "valeur"; "required": true; "isSignal": true; }; "rafraichir": { "alias": "rafraichir"; "required": false; "isSignal": true; }; "seuilAbsoluEnJours": { "alias": "seuilAbsoluEnJours"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
435
611
|
}
|
|
@@ -446,17 +622,22 @@ declare class StRelativeTime {
|
|
|
446
622
|
declare class StCount {
|
|
447
623
|
private readonly locale;
|
|
448
624
|
readonly valeur: _angular_core.InputSignal<number>;
|
|
449
|
-
readonly ton: _angular_core.InputSignal<"
|
|
625
|
+
readonly ton: _angular_core.InputSignal<"neutre" | "discret">;
|
|
450
626
|
/** `null` : jamais d'abreviation. */
|
|
451
627
|
readonly abregerAuDela: _angular_core.InputSignal<number | null>;
|
|
452
|
-
readonly estAbrege: _angular_core.Signal<boolean>;
|
|
453
|
-
readonly texteComplet: _angular_core.Signal<string>;
|
|
454
|
-
readonly texte: _angular_core.Signal<string>;
|
|
628
|
+
protected readonly estAbrege: _angular_core.Signal<boolean>;
|
|
629
|
+
protected readonly texteComplet: _angular_core.Signal<string>;
|
|
630
|
+
protected readonly texte: _angular_core.Signal<string>;
|
|
455
631
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StCount, never>;
|
|
456
632
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StCount, "st-count", never, { "valeur": { "alias": "valeur"; "required": true; "isSignal": true; }; "ton": { "alias": "ton"; "required": false; "isSignal": true; }; "abregerAuDela": { "alias": "abregerAuDela"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
457
633
|
}
|
|
458
634
|
|
|
459
|
-
|
|
635
|
+
/**
|
|
636
|
+
* ⚠️ `primaire` et non « info » : les deux designaient deja la meme couleur
|
|
637
|
+
* d'accent, et rien ne distinguait un statut « info » d'un statut « primaire »
|
|
638
|
+
* ailleurs dans le socle.
|
|
639
|
+
*/
|
|
640
|
+
type TonDeStatut = TonSemantique;
|
|
460
641
|
/**
|
|
461
642
|
* Pastille de statut.
|
|
462
643
|
*
|
|
@@ -474,13 +655,13 @@ declare class StStatusPill {
|
|
|
474
655
|
readonly statut: _angular_core.InputSignal<string>;
|
|
475
656
|
/** Texte deja traduit par l'appelant : le socle ne traduit rien. */
|
|
476
657
|
readonly libelle: _angular_core.InputSignal<string>;
|
|
477
|
-
readonly icone: _angular_core.InputSignal<"
|
|
478
|
-
readonly ton: _angular_core.InputSignal<
|
|
658
|
+
readonly icone: _angular_core.InputSignal<"boite-vide" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "copie" | "corbeille" | "croix" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "triangle-alerte" | "utilisateur">;
|
|
659
|
+
readonly ton: _angular_core.InputSignal<TonSemantique>;
|
|
479
660
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StStatusPill, never>;
|
|
480
661
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StStatusPill, "st-status-pill", never, { "statut": { "alias": "statut"; "required": true; "isSignal": true; }; "libelle": { "alias": "libelle"; "required": true; "isSignal": true; }; "icone": { "alias": "icone"; "required": true; "isSignal": true; }; "ton": { "alias": "ton"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
481
662
|
}
|
|
482
663
|
|
|
483
|
-
type TonDeBadge =
|
|
664
|
+
type TonDeBadge = TonSemantique;
|
|
484
665
|
/**
|
|
485
666
|
* Pastille de comptage superposee a un autre element.
|
|
486
667
|
*
|
|
@@ -493,10 +674,10 @@ type TonDeBadge = 'neutre' | 'primaire' | 'succes' | 'avertissement' | 'danger';
|
|
|
493
674
|
declare class StBadge {
|
|
494
675
|
readonly valeur: _angular_core.InputSignal<string | number | null>;
|
|
495
676
|
readonly max: _angular_core.InputSignal<number>;
|
|
496
|
-
readonly ton: _angular_core.InputSignal<
|
|
677
|
+
readonly ton: _angular_core.InputSignal<TonSemantique>;
|
|
497
678
|
/** Point seul, sans chiffre : signale une nouveaute sans la quantifier. */
|
|
498
|
-
readonly point: _angular_core.
|
|
499
|
-
readonly texte: _angular_core.Signal<string>;
|
|
679
|
+
readonly point: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
680
|
+
protected readonly texte: _angular_core.Signal<string>;
|
|
500
681
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StBadge, never>;
|
|
501
682
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StBadge, "st-badge", never, { "valeur": { "alias": "valeur"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "ton": { "alias": "ton"; "required": false; "isSignal": true; }; "point": { "alias": "point"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
502
683
|
}
|
|
@@ -511,12 +692,14 @@ declare class StBadge {
|
|
|
511
692
|
*/
|
|
512
693
|
declare class StTag {
|
|
513
694
|
private readonly element;
|
|
695
|
+
private readonly libelles;
|
|
514
696
|
readonly libelle: _angular_core.InputSignal<string>;
|
|
515
|
-
readonly supprimable: _angular_core.
|
|
516
|
-
readonly ton: _angular_core.InputSignal<"
|
|
517
|
-
|
|
697
|
+
readonly supprimable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
698
|
+
readonly ton: _angular_core.InputSignal<"neutre" | "primaire">;
|
|
699
|
+
/** `null` : le texte vient du dictionnaire de l'application. */
|
|
700
|
+
readonly prefixeDeSuppression: _angular_core.InputSignal<string | null>;
|
|
518
701
|
readonly supprime: _angular_core.OutputEmitterRef<void>;
|
|
519
|
-
readonly libelleDeSuppression: _angular_core.Signal<string>;
|
|
702
|
+
protected readonly libelleDeSuppression: _angular_core.Signal<string>;
|
|
520
703
|
protected auRetrait(): void;
|
|
521
704
|
/**
|
|
522
705
|
* Cible, dans l'ordre : le bouton de l'etiquette suivante, celui de la
|
|
@@ -544,12 +727,12 @@ declare class StAvatar {
|
|
|
544
727
|
* `true` quand le nom figure deja a cote de l'avatar, ce qui est le cas
|
|
545
728
|
* courant : l'avatar devient alors decoratif et se tait.
|
|
546
729
|
*/
|
|
547
|
-
readonly nomAdjacent: _angular_core.
|
|
730
|
+
readonly nomAdjacent: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
548
731
|
private readonly imageEchouee;
|
|
549
|
-
readonly afficheLImage: _angular_core.Signal<boolean>;
|
|
550
|
-
readonly initiales: _angular_core.Signal<string>;
|
|
732
|
+
protected readonly afficheLImage: _angular_core.Signal<boolean>;
|
|
733
|
+
protected readonly initiales: _angular_core.Signal<string>;
|
|
551
734
|
/** Vide quand le nom est deja lisible a cote : eviter la double lecture. */
|
|
552
|
-
readonly texteAlternatif: _angular_core.Signal<string>;
|
|
735
|
+
protected readonly texteAlternatif: _angular_core.Signal<string>;
|
|
553
736
|
protected auxEchecsDImage(): void;
|
|
554
737
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StAvatar, never>;
|
|
555
738
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StAvatar, "st-avatar", never, { "nom": { "alias": "nom"; "required": true; "isSignal": true; }; "sourceImage": { "alias": "sourceImage"; "required": false; "isSignal": true; }; "taille": { "alias": "taille"; "required": false; "isSignal": true; }; "forme": { "alias": "forme"; "required": false; "isSignal": true; }; "nomAdjacent": { "alias": "nomAdjacent"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -565,7 +748,7 @@ declare class StAvatar {
|
|
|
565
748
|
declare class StEmpty {
|
|
566
749
|
readonly titre: _angular_core.InputSignal<string>;
|
|
567
750
|
readonly description: _angular_core.InputSignal<string | null>;
|
|
568
|
-
readonly icone: _angular_core.InputSignal<"
|
|
751
|
+
readonly icone: _angular_core.InputSignal<"boite-vide" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "copie" | "corbeille" | "croix" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "triangle-alerte" | "utilisateur">;
|
|
569
752
|
readonly niveauDuTitre: _angular_core.InputSignal<NiveauDeTitre>;
|
|
570
753
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StEmpty, never>;
|
|
571
754
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StEmpty, "st-empty", never, { "titre": { "alias": "titre"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icone": { "alias": "icone"; "required": false; "isSignal": true; }; "niveauDuTitre": { "alias": "niveauDuTitre"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
@@ -586,6 +769,7 @@ type VarianteDErreur = 'hors-ligne' | 'serveur' | 'client';
|
|
|
586
769
|
*/
|
|
587
770
|
declare class StError {
|
|
588
771
|
private readonly regionParente;
|
|
772
|
+
private readonly libelles;
|
|
589
773
|
readonly variante: _angular_core.InputSignal<VarianteDErreur>;
|
|
590
774
|
/** Code machine stable, tel que rendu par le backend. */
|
|
591
775
|
readonly code: _angular_core.InputSignal<string>;
|
|
@@ -593,15 +777,19 @@ declare class StError {
|
|
|
593
777
|
readonly message: _angular_core.InputSignal<string>;
|
|
594
778
|
readonly traceId: _angular_core.InputSignal<string | null>;
|
|
595
779
|
readonly niveauDuTitre: _angular_core.InputSignal<NiveauDeTitre>;
|
|
596
|
-
readonly rejouable: _angular_core.
|
|
597
|
-
readonly
|
|
598
|
-
|
|
599
|
-
readonly
|
|
780
|
+
readonly rejouable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
781
|
+
readonly rejeuEnCours: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
782
|
+
/** `null` : les textes viennent du dictionnaire de l'application. */
|
|
783
|
+
readonly libelleRejeu: _angular_core.InputSignal<string | null>;
|
|
784
|
+
readonly etiquetteDeTrace: _angular_core.InputSignal<string | null>;
|
|
600
785
|
readonly rejeu: _angular_core.OutputEmitterRef<void>;
|
|
601
|
-
readonly
|
|
602
|
-
readonly
|
|
786
|
+
protected readonly libelleRejeuLu: _angular_core.Signal<string>;
|
|
787
|
+
protected readonly etiquetteDeTraceLue: _angular_core.Signal<string>;
|
|
788
|
+
protected readonly etiquetteDuCode: _angular_core.Signal<string>;
|
|
789
|
+
protected readonly icone: _angular_core.Signal<"boite-vide" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "copie" | "corbeille" | "croix" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "triangle-alerte" | "utilisateur">;
|
|
790
|
+
protected readonly sAnnonce: _angular_core.Signal<boolean>;
|
|
603
791
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StError, never>;
|
|
604
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StError, "st-error", never, { "variante": { "alias": "variante"; "required": false; "isSignal": true; }; "code": { "alias": "code"; "required": true; "isSignal": true; }; "titre": { "alias": "titre"; "required": true; "isSignal": true; }; "message": { "alias": "message"; "required": true; "isSignal": true; }; "traceId": { "alias": "traceId"; "required": false; "isSignal": true; }; "niveauDuTitre": { "alias": "niveauDuTitre"; "required": false; "isSignal": true; }; "rejouable": { "alias": "rejouable"; "required": false; "isSignal": true; }; "
|
|
792
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StError, "st-error", never, { "variante": { "alias": "variante"; "required": false; "isSignal": true; }; "code": { "alias": "code"; "required": true; "isSignal": true; }; "titre": { "alias": "titre"; "required": true; "isSignal": true; }; "message": { "alias": "message"; "required": true; "isSignal": true; }; "traceId": { "alias": "traceId"; "required": false; "isSignal": true; }; "niveauDuTitre": { "alias": "niveauDuTitre"; "required": false; "isSignal": true; }; "rejouable": { "alias": "rejouable"; "required": false; "isSignal": true; }; "rejeuEnCours": { "alias": "rejeuEnCours"; "required": false; "isSignal": true; }; "libelleRejeu": { "alias": "libelleRejeu"; "required": false; "isSignal": true; }; "etiquetteDeTrace": { "alias": "etiquetteDeTrace"; "required": false; "isSignal": true; }; }, { "rejeu": "rejeu"; }, never, never, true, never>;
|
|
605
793
|
}
|
|
606
794
|
|
|
607
795
|
/**
|
|
@@ -619,7 +807,7 @@ declare class StError {
|
|
|
619
807
|
declare class StOfflineBanner {
|
|
620
808
|
readonly message: _angular_core.InputSignal<string>;
|
|
621
809
|
readonly libelleRejeu: _angular_core.InputSignal<string | null>;
|
|
622
|
-
readonly rejeuEnCours: _angular_core.
|
|
810
|
+
readonly rejeuEnCours: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
623
811
|
readonly rejeu: _angular_core.OutputEmitterRef<void>;
|
|
624
812
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StOfflineBanner, never>;
|
|
625
813
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StOfflineBanner, "st-offline-banner", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "libelleRejeu": { "alias": "libelleRejeu"; "required": false; "isSignal": true; }; "rejeuEnCours": { "alias": "rejeuEnCours"; "required": false; "isSignal": true; }; }, { "rejeu": "rejeu"; }, never, never, true, never>;
|
|
@@ -629,29 +817,73 @@ declare class StOfflineBanner {
|
|
|
629
817
|
* Impose les cinq etats a un bloc qui consomme l'API, et centralise leur
|
|
630
818
|
* annonce.
|
|
631
819
|
*
|
|
820
|
+
* Deux usages. Le plus courant passe la ressource, et l'etat s'en deduit :
|
|
821
|
+
*
|
|
822
|
+
* ```html
|
|
823
|
+
* <st-state [ressource]="operations">
|
|
824
|
+
* <ng-template [stSucces]="operations" let-page>…</ng-template>
|
|
825
|
+
* <ng-template stErreur let-erreur><st-error … /></ng-template>
|
|
826
|
+
* <ng-template stVide><st-empty … /></ng-template>
|
|
827
|
+
* </st-state>
|
|
828
|
+
* ```
|
|
829
|
+
*
|
|
830
|
+
* L'autre pose `[etat]` a la main, pour un bloc qui ne vient pas d'une
|
|
831
|
+
* ressource — une soumission de formulaire, par exemple.
|
|
832
|
+
*
|
|
833
|
+
* ⚠️ Un RECHARGEMENT garde le contenu affiche. Revenir a la silhouette a chaque
|
|
834
|
+
* changement de filtre fait clignoter la page entiere et perd la position de
|
|
835
|
+
* lecture ; seul le premier chargement n'a rien a montrer.
|
|
836
|
+
*
|
|
632
837
|
* ⚠️ L'hote ne porte PAS `role="status"`, contrairement a ce qu'on attendrait :
|
|
633
838
|
* un remplacement de contenu A L'INTERIEUR d'une region vivante fait relire
|
|
634
839
|
* tout le sous-arbre par le lecteur d'ecran a chaque bascule d'etat. Seule une
|
|
635
|
-
* petite zone masquee porte l'annonce, qui tient en quelques mots.
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
*/
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
readonly succes: _angular_core.InputSignal<TemplateRef<unknown>>;
|
|
646
|
-
readonly chargement: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
647
|
-
readonly erreur: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
648
|
-
readonly vide: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
649
|
-
readonly horsLigne: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
840
|
+
* petite zone masquee porte l'annonce, qui tient en quelques mots.
|
|
841
|
+
*/
|
|
842
|
+
declare class StState<T> {
|
|
843
|
+
private readonly libelles;
|
|
844
|
+
/** La ressource dont l'etat se deduit. */
|
|
845
|
+
readonly ressource: _angular_core.InputSignal<Resource<T> | null>;
|
|
846
|
+
/** Etat pose a la main. Il prime sur la ressource quand les deux existent. */
|
|
847
|
+
readonly etat: _angular_core.InputSignal<EtatDeBloc | null>;
|
|
848
|
+
/** Ce qui compte comme « vide » : par defaut, une collection sans element. */
|
|
849
|
+
readonly estVide: _angular_core.InputSignal<(valeur: T) => boolean>;
|
|
650
850
|
/** Silhouette par defaut du chargement. `null` : un indicateur tournant. */
|
|
651
851
|
readonly squelette: _angular_core.InputSignal<VarianteDeSquelette | null>;
|
|
652
852
|
readonly lignesDeSquelette: _angular_core.InputSignal<number>;
|
|
653
|
-
|
|
654
|
-
readonly
|
|
853
|
+
/** `null` : les annonces viennent du dictionnaire de l'application. */
|
|
854
|
+
readonly annonces: _angular_core.InputSignal<Readonly<Record<EtatDeBloc, string>> | null>;
|
|
855
|
+
private readonly gabaritSucces;
|
|
856
|
+
private readonly gabaritErreur;
|
|
857
|
+
private readonly gabaritVide;
|
|
858
|
+
private readonly gabaritHorsLigne;
|
|
859
|
+
private readonly gabaritChargement;
|
|
860
|
+
private readonly instantane;
|
|
861
|
+
/**
|
|
862
|
+
* La derniere valeur connue, gardee pendant qu'une autre se charge.
|
|
863
|
+
*
|
|
864
|
+
* ⚠️ Necessaire, et pas seulement confortable : un changement de PARAMETRE
|
|
865
|
+
* n'est pas un `reload`. Angular traite le premier comme une nouvelle
|
|
866
|
+
* requete — statut « loading », valeur videe. Sans cette memoire, changer un
|
|
867
|
+
* filtre ou tourner une page ferait donc disparaitre le tableau, clignoter la
|
|
868
|
+
* page, et perdre la position de lecture. Une erreur, elle, ne garde rien :
|
|
869
|
+
* afficher des donnees perimees sous un message d'erreur serait mentir.
|
|
870
|
+
*/
|
|
871
|
+
private readonly valeurRetenue;
|
|
872
|
+
/** Etat deduit de la ressource, valeur retenue comprise. */
|
|
873
|
+
private readonly etatDeLaRessource;
|
|
874
|
+
readonly etatEffectif: _angular_core.Signal<EtatDeBloc>;
|
|
875
|
+
/**
|
|
876
|
+
* Une valeur est affichee, et une autre arrive — par rappel explicite ou par
|
|
877
|
+
* changement de parametre.
|
|
878
|
+
*/
|
|
879
|
+
protected readonly enRechargement: _angular_core.Signal<boolean>;
|
|
880
|
+
protected readonly enAttente: _angular_core.Signal<boolean>;
|
|
881
|
+
private readonly annoncesLues;
|
|
882
|
+
protected readonly annonce: _angular_core.Signal<string>;
|
|
883
|
+
/** Contexte passe au gabarit : la valeur en succes, l'erreur en erreur. */
|
|
884
|
+
readonly contexte: _angular_core.Signal<{
|
|
885
|
+
$implicit: unknown;
|
|
886
|
+
}>;
|
|
655
887
|
/**
|
|
656
888
|
* Les etats degrades n'ont pas de rendu par defaut : afficher un texte
|
|
657
889
|
* generique a la place d'un vrai ecran vide ou d'une vraie erreur donnerait
|
|
@@ -659,11 +891,76 @@ declare class StState {
|
|
|
659
891
|
* voie, en developpement.
|
|
660
892
|
*/
|
|
661
893
|
readonly gabaritDeLEtat: _angular_core.Signal<TemplateRef<unknown> | null>;
|
|
662
|
-
readonly
|
|
894
|
+
private readonly chargementVisible;
|
|
895
|
+
/** La silhouette par defaut, une fois le delai anti-clignotement passe. */
|
|
896
|
+
protected readonly montreLaSilhouetteParDefaut: _angular_core.Signal<boolean>;
|
|
897
|
+
constructor();
|
|
663
898
|
private signalerSiAbsent;
|
|
664
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StState
|
|
665
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StState
|
|
899
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StState<any>, never>;
|
|
900
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StState<any>, "st-state", never, { "ressource": { "alias": "ressource"; "required": false; "isSignal": true; }; "etat": { "alias": "etat"; "required": false; "isSignal": true; }; "estVide": { "alias": "estVide"; "required": false; "isSignal": true; }; "squelette": { "alias": "squelette"; "required": false; "isSignal": true; }; "lignesDeSquelette": { "alias": "lignesDeSquelette"; "required": false; "isSignal": true; }; "annonces": { "alias": "annonces"; "required": false; "isSignal": true; }; }, {}, ["gabaritSucces", "gabaritErreur", "gabaritVide", "gabaritHorsLigne", "gabaritChargement"], never, true, never>;
|
|
901
|
+
}
|
|
902
|
+
|
|
903
|
+
/**
|
|
904
|
+
* Les gabarits des cinq etats, declares DANS `<st-state>`.
|
|
905
|
+
*
|
|
906
|
+
* ⚠️ Pourquoi des directives de contenu plutot que des entrees `TemplateRef` :
|
|
907
|
+
* un `<ng-template>` declare a l'exterieur du composant appartient a
|
|
908
|
+
* l'injecteur de l'endroit ou il est ECRIT, pas de celui qui le rend. Les
|
|
909
|
+
* fournisseurs de `st-state` — dont `REGION_VIVANTE_PARENTE`, qui fait taire
|
|
910
|
+
* les annonces en double — ne l'atteignaient donc pas, et l'erreur etait
|
|
911
|
+
* annoncee deux fois. Passer par le contenu rend la declaration a l'exterieur
|
|
912
|
+
* impossible : le defaut ne peut plus revenir.
|
|
913
|
+
*/
|
|
914
|
+
declare class StSucces<T> {
|
|
915
|
+
readonly gabarit: TemplateRef<{
|
|
916
|
+
$implicit: Exclude<T, undefined>;
|
|
917
|
+
}>;
|
|
918
|
+
/**
|
|
919
|
+
* La ressource n'est lue nulle part : elle porte le TYPE de la valeur, pour
|
|
920
|
+
* que `let-valeur` soit type dans le gabarit au lieu d'etre `unknown`.
|
|
921
|
+
*/
|
|
922
|
+
readonly stSucces: _angular_core.InputSignal<Resource<T> | undefined>;
|
|
923
|
+
/**
|
|
924
|
+
* `Exclude<T, undefined>` : une ressource sans valeur initiale se type
|
|
925
|
+
* `T | undefined`, mais st-state ne rend ce gabarit QUE lorsqu'une valeur
|
|
926
|
+
* existe. Sans cela, chaque gabarit de succes devrait ecrire `page?.length`
|
|
927
|
+
* pour un cas qui ne se produit pas.
|
|
928
|
+
*/
|
|
929
|
+
static ngTemplateContextGuard<T>(_directive: StSucces<T>, _contexte: unknown): _contexte is {
|
|
930
|
+
$implicit: Exclude<T, undefined>;
|
|
931
|
+
};
|
|
932
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StSucces<any>, never>;
|
|
933
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StSucces<any>, "ng-template[stSucces]", never, { "stSucces": { "alias": "stSucces"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
934
|
+
}
|
|
935
|
+
/** Erreur. Le contexte porte l'erreur elle-meme, pour l'afficher ou la traduire. */
|
|
936
|
+
declare class StErreur {
|
|
937
|
+
readonly gabarit: TemplateRef<{
|
|
938
|
+
$implicit: unknown;
|
|
939
|
+
}>;
|
|
940
|
+
static ngTemplateContextGuard(_directive: StErreur, _contexte: unknown): _contexte is {
|
|
941
|
+
$implicit: unknown;
|
|
942
|
+
};
|
|
943
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StErreur, never>;
|
|
944
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StErreur, "ng-template[stErreur]", never, {}, {}, never, never, true, never>;
|
|
945
|
+
}
|
|
946
|
+
declare class StVide {
|
|
947
|
+
readonly gabarit: TemplateRef<void>;
|
|
948
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StVide, never>;
|
|
949
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StVide, "ng-template[stVide]", never, {}, {}, never, never, true, never>;
|
|
950
|
+
}
|
|
951
|
+
declare class StHorsLigne {
|
|
952
|
+
readonly gabarit: TemplateRef<void>;
|
|
953
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StHorsLigne, never>;
|
|
954
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StHorsLigne, "ng-template[stHorsLigne]", never, {}, {}, never, never, true, never>;
|
|
955
|
+
}
|
|
956
|
+
/** Chargement sur mesure. Sans lui, `st-state` rend sa silhouette par defaut. */
|
|
957
|
+
declare class StChargement {
|
|
958
|
+
readonly gabarit: TemplateRef<void>;
|
|
959
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StChargement, never>;
|
|
960
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<StChargement, "ng-template[stChargement]", never, {}, {}, never, never, true, never>;
|
|
666
961
|
}
|
|
962
|
+
/** Toutes les directives de gabarit, a importer d'un coup. */
|
|
963
|
+
declare const GABARITS_D_ETAT: readonly [typeof StSucces, typeof StErreur, typeof StVide, typeof StHorsLigne, typeof StChargement];
|
|
667
964
|
|
|
668
|
-
export { CHEMIN_DU_SPRITE,
|
|
669
|
-
export type {
|
|
965
|
+
export { CHEMIN_DU_SPRITE, FUSEAU_PAR_DEFAUT, GABARITS_D_ETAT, LIBELLES_EN, LIBELLES_FR, NOMS_DICONE, REGION_VIVANTE_PARENTE, ST_LIBELLES, ST_LOCALE, StAvatar, StBadge, StButton, StButtonGroup, StChargement, StCode, StCount, StDate, StEmpty, StErreur, StError, StHeading, StHorsLigne, StIcon, StIconButton, StLink, StMasked, StMoney, StOfflineBanner, StProgress, StRelativeTime, StSkeleton, StSpinner, StState, StStatusPill, StSucces, StTag, StText, StVide, fournirCheminDuSprite, provideStarterUi };
|
|
966
|
+
export type { ConfigurationUi, FormatDeDate, GraisseDeTexte, LibellesUi, NiveauDeTitre, NomDIcone, TailleDIcone, TailleDeBouton, TailleDeSpinner, TailleDeTitre, TonDIcone, TonDeBadge, TonDeProgression, TonDeSpinner, TonDeStatut, TypeMasque, VarianteDErreur, VarianteDeBouton, VarianteDeBoutonIcone, VarianteDeLien, VarianteDeSquelette, VarianteDeTexte };
|