@starterlib/ui 0.6.0 → 0.7.1
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 +21 -0
- package/fesm2022/starterlib-ui-interactions.mjs +13 -8
- package/fesm2022/starterlib-ui-interactions.mjs.map +1 -1
- package/fesm2022/starterlib-ui-surfaces.mjs +73 -5
- package/fesm2022/starterlib-ui-surfaces.mjs.map +1 -1
- package/fesm2022/starterlib-ui.mjs +654 -46
- package/fesm2022/starterlib-ui.mjs.map +1 -1
- package/package.json +3 -3
- package/types/starterlib-ui-surfaces.d.ts +123 -71
- package/types/starterlib-ui.d.ts +442 -11
package/types/starterlib-ui.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
import { InjectionToken, Signal, Provider, DestroyRef, TemplateRef, Resource } from '@angular/core';
|
|
3
3
|
import { Ton, Montant, TonSemantique, DateIso, PlageDeDates, DescriptionDeFichier, ChoixDeTheme, Langue, EtatDeBloc } from '@starterlib/util';
|
|
4
4
|
export { ETATS_DE_BLOC, EtatDeBloc } from '@starterlib/util';
|
|
5
|
+
import * as i1 from '@angular/router';
|
|
5
6
|
import { ValidationError, FormValueControl, FormCheckboxControl } from '@angular/forms/signals';
|
|
6
7
|
import * as _starterlib_ui from '@starterlib/ui';
|
|
7
8
|
|
|
@@ -49,6 +50,22 @@ interface LibellesUi {
|
|
|
49
50
|
readonly filDAriane: string;
|
|
50
51
|
readonly allerAuContenu: string;
|
|
51
52
|
readonly navigationPrincipale: string;
|
|
53
|
+
/** Nom du repere de navigation du pied de page. */
|
|
54
|
+
readonly liensDuPied: string;
|
|
55
|
+
/** Barre de progression d'une navigation entre pages. */
|
|
56
|
+
readonly chargement: string;
|
|
57
|
+
/** Barre d'actions : texte du declencheur replie, et nom de son menu. */
|
|
58
|
+
readonly plus: string;
|
|
59
|
+
readonly plusDActions: string;
|
|
60
|
+
/** Parcours par etapes : nom de la liste, et etat de chaque etape. */
|
|
61
|
+
readonly etapes: string;
|
|
62
|
+
readonly etapeTerminee: string;
|
|
63
|
+
readonly etapeEnCours: string;
|
|
64
|
+
readonly etapeAVenir: string;
|
|
65
|
+
/** Tendance d'un indicateur chiffre, lue avant le texte de l'appelant. */
|
|
66
|
+
readonly tendanceEnHausse: string;
|
|
67
|
+
readonly tendanceEnBaisse: string;
|
|
68
|
+
readonly tendanceStable: string;
|
|
52
69
|
/** Transverses */
|
|
53
70
|
readonly theme: string;
|
|
54
71
|
readonly themeSysteme: string;
|
|
@@ -322,19 +339,45 @@ type TonDIcone = Exclude<Ton, 'inverse'>;
|
|
|
322
339
|
* Une icone est **decorative par defaut**. Regle de tri : si la retirer ne
|
|
323
340
|
* retire aucune information, elle est decorative. Une icone posee a cote d'un
|
|
324
341
|
* texte qui dit la meme chose l'est toujours.
|
|
342
|
+
*
|
|
343
|
+
* **Deux sprites, deux entrees.** Sans `sprite`, l'icone vient du sprite du
|
|
344
|
+
* socle (`CHEMIN_DU_SPRITE`, fourni par la coquille), et `nom` est contraint au
|
|
345
|
+
* type `NomDIcone` : une faute de frappe echoue a la compilation. Avec `sprite`
|
|
346
|
+
* — le chemin ABSOLU et hache que le manifeste d'un remote annonce —, l'icone
|
|
347
|
+
* est METIER : `nomMetier` accepte n'importe quel identifiant du sprite donne.
|
|
348
|
+
*
|
|
349
|
+
* ```html
|
|
350
|
+
* <st-icon nom="coche" />
|
|
351
|
+
* <st-icon [sprite]="manifeste.sprite" nomMetier="virement-instantane" />
|
|
352
|
+
* ```
|
|
353
|
+
*
|
|
354
|
+
* ⚠️ Un `nomMetier` sans `sprite` est refuse : le sprite du socle ne le
|
|
355
|
+
* contient pas, et une reference `use` qui ne resout pas ne rend RIEN, sans
|
|
356
|
+
* erreur. Mieux vaut echouer au rendu, une fois, avec la marche a suivre.
|
|
325
357
|
*/
|
|
326
358
|
declare class StIcon {
|
|
327
359
|
private readonly cheminDuSprite;
|
|
328
|
-
|
|
360
|
+
/** Nom d'un symbole du sprite du socle. Obligatoire sans `sprite`. */
|
|
361
|
+
readonly nom: _angular_core.InputSignal<"copie" | "boite-vide" | "calendrier" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "corbeille" | "croix" | "fichier" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "televerser" | "tri" | "triangle-alerte" | "utilisateur" | null>;
|
|
362
|
+
/**
|
|
363
|
+
* Chemin absolu d'un sprite METIER, hache, tel que le manifeste du remote le
|
|
364
|
+
* fournit. Jamais un chemin nu comme `/assets/icones/metier.svg` : le cache
|
|
365
|
+
* d'un an sur empreinte servirait l'ancien sprite apres un deploiement.
|
|
366
|
+
*/
|
|
367
|
+
readonly sprite: _angular_core.InputSignal<string | null>;
|
|
368
|
+
/** Nom d'un symbole du sprite METIER. Hors du type ferme du socle, et l'exige. */
|
|
369
|
+
readonly nomMetier: _angular_core.InputSignal<string | null>;
|
|
329
370
|
readonly taille: _angular_core.InputSignal<TailleDIcone>;
|
|
330
371
|
readonly ton: _angular_core.InputSignal<TonDIcone>;
|
|
331
372
|
/** `null` : l'icone est decorative et reste muette pour les lecteurs. */
|
|
332
373
|
readonly etiquette: _angular_core.InputSignal<string | null>;
|
|
333
374
|
protected readonly estDecorative: _angular_core.Signal<boolean>;
|
|
375
|
+
/** Seul le sprite du socle a des chevrons a miroiter : un sprite metier dessine les siens. */
|
|
334
376
|
protected readonly directionnelle: _angular_core.Signal<boolean>;
|
|
335
377
|
protected readonly reference: _angular_core.Signal<string>;
|
|
378
|
+
private nomDuSocle;
|
|
336
379
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StIcon, never>;
|
|
337
|
-
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>;
|
|
380
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StIcon, "st-icon", never, { "nom": { "alias": "nom"; "required": false; "isSignal": true; }; "sprite": { "alias": "sprite"; "required": false; "isSignal": true; }; "nomMetier": { "alias": "nomMetier"; "required": false; "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>;
|
|
338
381
|
}
|
|
339
382
|
|
|
340
383
|
/**
|
|
@@ -425,6 +468,8 @@ declare class StSpinner {
|
|
|
425
468
|
}
|
|
426
469
|
|
|
427
470
|
type TonDeProgression = Extract<Ton, 'primaire' | 'succes' | 'danger'>;
|
|
471
|
+
/** `fine` : un trait de l'echelle des epaisseurs, pour une barre posee sous un en-tete. */
|
|
472
|
+
type EpaisseurDeProgression = 'normale' | 'fine';
|
|
428
473
|
/**
|
|
429
474
|
* Barre de progression, determinee ou indeterminee.
|
|
430
475
|
*
|
|
@@ -439,6 +484,7 @@ declare class StProgress {
|
|
|
439
484
|
/** Obligatoire : une barre sans nom accessible n'apprend rien. */
|
|
440
485
|
readonly etiquette: _angular_core.InputSignal<string>;
|
|
441
486
|
readonly ton: _angular_core.InputSignal<TonDeProgression>;
|
|
487
|
+
readonly epaisseur: _angular_core.InputSignal<EpaisseurDeProgression>;
|
|
442
488
|
/** Texte lu a la place du pourcentage quand celui-ci n'est pas parlant. */
|
|
443
489
|
readonly texteDeValeur: _angular_core.InputSignal<string | null>;
|
|
444
490
|
protected readonly estIndeterminee: _angular_core.Signal<boolean>;
|
|
@@ -446,7 +492,7 @@ declare class StProgress {
|
|
|
446
492
|
protected readonly valeurAnnoncee: _angular_core.Signal<number | null>;
|
|
447
493
|
protected readonly pourcentage: _angular_core.Signal<number>;
|
|
448
494
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StProgress, never>;
|
|
449
|
-
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>;
|
|
495
|
+
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; }; "epaisseur": { "alias": "epaisseur"; "required": false; "isSignal": true; }; "texteDeValeur": { "alias": "texteDeValeur"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
450
496
|
}
|
|
451
497
|
|
|
452
498
|
type VarianteDeSquelette = 'texte' | 'tableau' | 'carte';
|
|
@@ -603,6 +649,40 @@ declare class StButtonGroup {
|
|
|
603
649
|
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>;
|
|
604
650
|
}
|
|
605
651
|
|
|
652
|
+
/**
|
|
653
|
+
* Barre d'actions d'un formulaire, collee en BAS de la zone de defilement.
|
|
654
|
+
*
|
|
655
|
+
* ```html
|
|
656
|
+
* <form (submit)="envoyer()">
|
|
657
|
+
* …
|
|
658
|
+
* <st-form-actions>
|
|
659
|
+
* <a debut stLink routerLink="..">Annuler</a>
|
|
660
|
+
* <button stButton type="button">Enregistrer le brouillon</button>
|
|
661
|
+
* <button stButton type="submit" variante="primaire">Valider le virement</button>
|
|
662
|
+
* </st-form-actions>
|
|
663
|
+
* </form>
|
|
664
|
+
* ```
|
|
665
|
+
*
|
|
666
|
+
* ⚠️ **`sticky`, JAMAIS `fixed`.** Un element fixe sort du flux : a 200 %
|
|
667
|
+
* d'echelle il recouvre les derniers champs, et dans une vue embarquee il se
|
|
668
|
+
* pose sous la barre du systeme. Collee, la barre reste dans le document —
|
|
669
|
+
* elle suit le formulaire, cede la place a son pied, et respecte la zone sure
|
|
670
|
+
* du bas de l'ecran (`env(safe-area-inset-bottom)`).
|
|
671
|
+
*
|
|
672
|
+
* ⚠️ **L'ordre du document est l'ordre visuel.** Rien n'est inverse par le
|
|
673
|
+
* style : l'action principale s'ecrit en dernier, elle se lit en dernier et se
|
|
674
|
+
* tabule en dernier — la ou la personne arrive apres avoir relu ses champs.
|
|
675
|
+
* L'emplacement `debut` accueille ce qui part a l'oppose (un retour, une
|
|
676
|
+
* annulation), et vient en premier dans les deux ordres.
|
|
677
|
+
*
|
|
678
|
+
* Une seule action principale par formulaire, et elle est un vrai
|
|
679
|
+
* `type="submit"` : Entree dans un champ l'envoie.
|
|
680
|
+
*/
|
|
681
|
+
declare class StFormActions {
|
|
682
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StFormActions, never>;
|
|
683
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StFormActions, "st-form-actions", never, {}, {}, never, ["[debut]", "*"], true, never>;
|
|
684
|
+
}
|
|
685
|
+
|
|
606
686
|
/**
|
|
607
687
|
* Valeur technique courte et copiable : identifiant de trace, reference
|
|
608
688
|
* d'operation, code d'erreur.
|
|
@@ -810,6 +890,54 @@ declare class StCount {
|
|
|
810
890
|
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>;
|
|
811
891
|
}
|
|
812
892
|
|
|
893
|
+
type SensDeTendance = 'hausse' | 'baisse' | 'stable';
|
|
894
|
+
/** La tendance d'un indicateur, decrite par l'appelant. Le texte est deja traduit. */
|
|
895
|
+
interface TendanceDeStat {
|
|
896
|
+
readonly sens: SensDeTendance;
|
|
897
|
+
/** Ce qui s'affiche a cote de la fleche : « +2,4 % sur un mois ». */
|
|
898
|
+
readonly texte: string;
|
|
899
|
+
/**
|
|
900
|
+
* ⚠️ Choisi par l'appelant, et non deduit du sens : une hausse des frais est
|
|
901
|
+
* un `danger`, une hausse de l'epargne un `succes`. Le socle ne sait pas
|
|
902
|
+
* lequel des deux il affiche.
|
|
903
|
+
*/
|
|
904
|
+
readonly ton?: TonSemantique;
|
|
905
|
+
}
|
|
906
|
+
/**
|
|
907
|
+
* Indicateur chiffre : un libelle, une valeur, et sa tendance.
|
|
908
|
+
*
|
|
909
|
+
* ```html
|
|
910
|
+
* <st-stat libelle="Solde disponible" [tendance]="{ sens: 'hausse', texte: '+2,4 % sur un mois', ton: 'succes' }">
|
|
911
|
+
* <st-money [valeur]="solde" />
|
|
912
|
+
* </st-stat>
|
|
913
|
+
* ```
|
|
914
|
+
*
|
|
915
|
+
* La valeur est PROJETEE : c'est `st-money`, `st-count` ou `st-date` qui la
|
|
916
|
+
* formate dans la langue courante, et le socle n'a pas a redire comment.
|
|
917
|
+
*
|
|
918
|
+
* ⚠️ **La tendance se lit par un texte ET une icone, jamais par la couleur
|
|
919
|
+
* seule.** Le texte de l'appelant porte deja le signe ; l'icone porte le sens ;
|
|
920
|
+
* et un mot lisible par lecteur seulement — « en hausse », « en baisse »,
|
|
921
|
+
* « stable » — precede le texte, parce qu'un lecteur d'ecran ne lit pas un
|
|
922
|
+
* chevron.
|
|
923
|
+
*
|
|
924
|
+
* Le libelle vient AVANT la valeur dans le document, comme dans une phrase :
|
|
925
|
+
* « Solde disponible, 1 234,50 € ». A l'ecran, il se pose au-dessus, en petit.
|
|
926
|
+
*/
|
|
927
|
+
declare class StStat {
|
|
928
|
+
private readonly libelles;
|
|
929
|
+
/** Texte visible, deja traduit. */
|
|
930
|
+
readonly libelle: _angular_core.InputSignal<string>;
|
|
931
|
+
readonly tendance: _angular_core.InputSignal<TendanceDeStat | null>;
|
|
932
|
+
/** Precision sous la valeur : la periode, la source. Jamais une information critique. */
|
|
933
|
+
readonly precision: _angular_core.InputSignal<string | null>;
|
|
934
|
+
protected readonly icone: _angular_core.Signal<"copie" | "boite-vide" | "calendrier" | "cercle" | "cercle-coche" | "cercle-croix" | "cercle-info" | "chevron-bas" | "chevron-droite" | "chevron-gauche" | "chevron-haut" | "coche" | "corbeille" | "croix" | "fichier" | "hors-ligne" | "lien-externe" | "menu" | "oeil" | "oeil-barre" | "plus" | "rafraichir" | "recherche" | "serveur" | "televerser" | "tri" | "triangle-alerte" | "utilisateur" | null>;
|
|
935
|
+
protected readonly tonDeTendance: _angular_core.Signal<TonSemantique>;
|
|
936
|
+
protected readonly sensLu: _angular_core.Signal<string>;
|
|
937
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StStat, never>;
|
|
938
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StStat, "st-stat", never, { "libelle": { "alias": "libelle"; "required": true; "isSignal": true; }; "tendance": { "alias": "tendance"; "required": false; "isSignal": true; }; "precision": { "alias": "precision"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
939
|
+
}
|
|
940
|
+
|
|
813
941
|
/**
|
|
814
942
|
* ⚠️ `primaire` et non « info » : les deux designaient deja la meme couleur
|
|
815
943
|
* d'accent, et rien ne distinguait un statut « info » d'un statut « primaire »
|
|
@@ -1192,15 +1320,21 @@ declare class StSkipLink {
|
|
|
1192
1320
|
}
|
|
1193
1321
|
|
|
1194
1322
|
/**
|
|
1195
|
-
*
|
|
1196
|
-
*
|
|
1323
|
+
* Propriete posee sur `<html>` avec la hauteur mesuree de l'en-tete collant.
|
|
1324
|
+
* La feuille de `@starterlib/tokens` la lit dans `scroll-padding-block-start`.
|
|
1325
|
+
*/
|
|
1326
|
+
declare const PROPRIETE_HAUTEUR_ENTETE = "--st-hauteur-entete";
|
|
1327
|
+
/**
|
|
1328
|
+
* Coquille d'une application : lien d'evitement, en-tete, bannieres globales,
|
|
1329
|
+
* navigation, contenu principal, pied de page.
|
|
1197
1330
|
*
|
|
1198
1331
|
* ```html
|
|
1199
1332
|
* <st-app-shell>
|
|
1200
|
-
* <
|
|
1201
|
-
* <
|
|
1333
|
+
* <st-header entete>…</st-header>
|
|
1334
|
+
* <st-offline-banner bannieres … />
|
|
1335
|
+
* <st-sidenav navigation>…</st-sidenav>
|
|
1202
1336
|
* <router-outlet />
|
|
1203
|
-
* <
|
|
1337
|
+
* <st-footer pied>…</st-footer>
|
|
1204
1338
|
* </st-app-shell>
|
|
1205
1339
|
* ```
|
|
1206
1340
|
*
|
|
@@ -1223,11 +1357,28 @@ declare class StSkipLink {
|
|
|
1223
1357
|
* `st-sidenav` qui porte ce repere. Pose ici aussi, il s'imbriquerait — le
|
|
1224
1358
|
* lecteur d'ecran annoncerait « navigation, navigation » — et resterait vide
|
|
1225
1359
|
* sur petit ecran, quand le contenu part dans le tiroir.
|
|
1360
|
+
*
|
|
1361
|
+
* ⚠️ **L'en-tete est collant, et la coquille en MESURE la hauteur** (WCAG
|
|
1362
|
+
* 2.4.11). Un element collant recouvre ce que le navigateur fait defiler vers
|
|
1363
|
+
* lui : sans decalage, chaque arret de tabulation qui remonte se cache SOUS
|
|
1364
|
+
* l'en-tete. La hauteur n'est pas connue d'avance — elle change avec le zoom,
|
|
1365
|
+
* la taille de police, le repli des actions — d'ou un `ResizeObserver`, qui
|
|
1366
|
+
* pose `--st-hauteur-entete` sur `<html>` ; la feuille de jetons la lit dans
|
|
1367
|
+
* `scroll-padding-block-start`. Sans navigateur (rendu serveur, jsdom), rien
|
|
1368
|
+
* n'est mesure et le repli de la feuille vaut zero.
|
|
1369
|
+
*
|
|
1370
|
+
* L'emplacement `bannieres` est un conteneur sans role, entre l'en-tete et le
|
|
1371
|
+
* corps : chaque banniere porte sa propre region vivante. Jamais `fixed`.
|
|
1226
1372
|
*/
|
|
1227
1373
|
declare class StAppShell {
|
|
1374
|
+
private readonly document;
|
|
1375
|
+
private readonly entete;
|
|
1376
|
+
private observateur;
|
|
1228
1377
|
protected readonly identifiantDuContenu = "contenu-principal";
|
|
1378
|
+
constructor();
|
|
1379
|
+
private mesurerLEntete;
|
|
1229
1380
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StAppShell, never>;
|
|
1230
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StAppShell, "st-app-shell", never, {}, {}, never, ["[entete]", "[navigation]", "*", "[pied]"], true, never>;
|
|
1381
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StAppShell, "st-app-shell", never, {}, {}, never, ["[entete]", "[bannieres]", "[navigation]", "*", "[pied]"], true, never>;
|
|
1231
1382
|
}
|
|
1232
1383
|
|
|
1233
1384
|
/**
|
|
@@ -1261,6 +1412,286 @@ declare class StHeader {
|
|
|
1261
1412
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StHeader, "st-header", never, {}, {}, never, ["[bascule]", "[marque]", "*"], true, never>;
|
|
1262
1413
|
}
|
|
1263
1414
|
|
|
1415
|
+
/**
|
|
1416
|
+
* Contenu du pied de page : mentions, version, statut.
|
|
1417
|
+
*
|
|
1418
|
+
* ```html
|
|
1419
|
+
* <st-app-shell>
|
|
1420
|
+
* …
|
|
1421
|
+
* <st-footer pied>
|
|
1422
|
+
* <a mentions stLink routerLink="/mentions">Mentions legales</a>
|
|
1423
|
+
* <a mentions stLink routerLink="/aide">Aide</a>
|
|
1424
|
+
* <span version>Version 1.4.2</span>
|
|
1425
|
+
* <st-status-pill statut="ok" libelle="Services disponibles" icone="cercle-coche" ton="succes" />
|
|
1426
|
+
* </st-footer>
|
|
1427
|
+
* </st-app-shell>
|
|
1428
|
+
* ```
|
|
1429
|
+
*
|
|
1430
|
+
* ⚠️ **Aucun repere `contentinfo` ici** : le `footer` de `st-app-shell` le porte
|
|
1431
|
+
* deja, et un second en ferait annoncer deux. Ce composant est le CONTENU du
|
|
1432
|
+
* pied. Ses mentions, elles, forment un repere de navigation nomme — c'est ce
|
|
1433
|
+
* qui permet a un lecteur d'ecran de sauter directement aux liens du pied, et
|
|
1434
|
+
* de les distinguer de la navigation principale.
|
|
1435
|
+
*
|
|
1436
|
+
* ⚠️ L'aide se pose ICI, dans les mentions, et au meme endroit sur le gabarit
|
|
1437
|
+
* pleine page : WCAG 3.2.6 exige qu'un mecanisme d'aide garde sa place d'une
|
|
1438
|
+
* page a l'autre.
|
|
1439
|
+
*
|
|
1440
|
+
* ⚠️ La `version` est un texte affiche : jamais un secret de construction, ni
|
|
1441
|
+
* une empreinte de commit qui dirait a un attaquant exactement quel code tourne.
|
|
1442
|
+
* Le numero de version publie suffit au support.
|
|
1443
|
+
*
|
|
1444
|
+
* Le statut est un `st-status-pill` projete, reconnu a son ELEMENT : `statut`
|
|
1445
|
+
* est le nom d'une de ses entrees, et un attribut nu du meme nom lui passerait
|
|
1446
|
+
* une chaine vide. Icone et texte, jamais la couleur seule ; un autre element
|
|
1447
|
+
* prend sa place par `ngProjectAs="st-status-pill"`.
|
|
1448
|
+
*/
|
|
1449
|
+
declare class StFooter {
|
|
1450
|
+
private readonly libelles;
|
|
1451
|
+
/** Nom du repere des mentions. `null` : le texte vient du dictionnaire. */
|
|
1452
|
+
readonly etiquette: _angular_core.InputSignal<string | null>;
|
|
1453
|
+
protected readonly etiquetteLue: _angular_core.Signal<string>;
|
|
1454
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StFooter, never>;
|
|
1455
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StFooter, "st-footer", never, { "etiquette": { "alias": "etiquette"; "required": false; "isSignal": true; }; }, {}, never, ["[mentions]", "[version]", "st-status-pill"], true, never>;
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1458
|
+
/**
|
|
1459
|
+
* Lien de navigation principale, pose en attribut sur un `<a>` natif :
|
|
1460
|
+
* `routerLink`, etat actif, icone et pastille, en un seul geste.
|
|
1461
|
+
*
|
|
1462
|
+
* ```html
|
|
1463
|
+
* <st-sidenav navigation>
|
|
1464
|
+
* <a stNavLink="/comptes"><st-icon nom="fichier" />Comptes</a>
|
|
1465
|
+
* <a [stNavLink]="['/messages']">
|
|
1466
|
+
* Messages<span class="st-vh">, 5 non lus</span>
|
|
1467
|
+
* <st-badge [valeur]="5" />
|
|
1468
|
+
* </a>
|
|
1469
|
+
* </st-sidenav>
|
|
1470
|
+
* ```
|
|
1471
|
+
*
|
|
1472
|
+
* **Ou il vit, et pourquoi.** Dans le tronc, a cote de `st-breadcrumb` et non
|
|
1473
|
+
* dans `ui/interactions` avec `st-sidenav` : les points d'entree se decoupent
|
|
1474
|
+
* par pair lourd, et ce lien n'en traine aucun — `@angular/router` est deja
|
|
1475
|
+
* exige par le tronc. Une SPA qui rend sa navigation sans tiroir n'a pas a
|
|
1476
|
+
* charger Aria pour un lien.
|
|
1477
|
+
*
|
|
1478
|
+
* ⚠️ **L'etat actif est porte par `aria-current="page"`**, pose par le routeur,
|
|
1479
|
+
* et c'est sur lui que la feuille se branche — jamais sur la seule couleur : le
|
|
1480
|
+
* lien courant se lit a sa graisse et au marqueur sur son bord de depart, qui
|
|
1481
|
+
* survivent au contraste force. La classe `st-nav-link--actif` accompagne, pour
|
|
1482
|
+
* qui veut y accrocher un style.
|
|
1483
|
+
*
|
|
1484
|
+
* ⚠️ La pastille est `aria-hidden` : le compte qu'elle affiche doit entrer
|
|
1485
|
+
* dans le nom du lien, par un texte lisible par lecteur seulement (`.st-vh`),
|
|
1486
|
+
* compose par l'appelant.
|
|
1487
|
+
*
|
|
1488
|
+
* Un composant et non une directive, parce qu'il RANGE ce qu'on lui projette :
|
|
1489
|
+
* l'icone devant, la pastille derriere, le libelle entre les deux, sans que
|
|
1490
|
+
* l'ordre d'ecriture compte.
|
|
1491
|
+
*/
|
|
1492
|
+
declare class StNavLink {
|
|
1493
|
+
constructor();
|
|
1494
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StNavLink, never>;
|
|
1495
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StNavLink, "a[stNavLink]", never, {}, {}, never, ["st-icon", "*", "st-badge"], true, [{ directive: typeof i1.RouterLink; inputs: { "routerLink": "stNavLink"; "queryParams": "queryParams"; "fragment": "fragment"; "queryParamsHandling": "queryParamsHandling"; "replaceUrl": "replaceUrl"; "state": "state"; }; outputs: {}; }, { directive: typeof i1.RouterLinkActive; inputs: { "routerLinkActiveOptions": "optionsDActivation"; }; outputs: {}; }]>;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
/**
|
|
1499
|
+
* En-tete de page : fil d'Ariane, titre de niveau 1, actions, onglets.
|
|
1500
|
+
* Premier enfant de la page d'un remote.
|
|
1501
|
+
*
|
|
1502
|
+
* ```html
|
|
1503
|
+
* <st-page-header precision="Trente derniers jours">
|
|
1504
|
+
* <st-breadcrumb [maillons]="maillons" />
|
|
1505
|
+
* Mes operations
|
|
1506
|
+
* <button stButton variante="primaire" actions>Exporter</button>
|
|
1507
|
+
* <st-tabs etiquette="Vue" [onglets]="onglets" [(selection)]="vue" />
|
|
1508
|
+
* </st-page-header>
|
|
1509
|
+
* ```
|
|
1510
|
+
*
|
|
1511
|
+
* ⚠️ Le fil et les onglets se reconnaissent a leur ELEMENT (`st-breadcrumb`,
|
|
1512
|
+
* `st-tabs`), pas a un attribut : `onglets` est deja le nom d'une entree de
|
|
1513
|
+
* `st-tabs`, et un attribut nu du meme nom lui passerait une chaine vide. Un
|
|
1514
|
+
* autre element prend leur place par `ngProjectAs="st-tabs"`.
|
|
1515
|
+
*
|
|
1516
|
+
* ⚠️ **Un seul `h1` par page, et c'est lui.** `StNavigation` de
|
|
1517
|
+
* `@starterlib/core` y pose le focus apres chaque changement de route — son
|
|
1518
|
+
* selecteur par defaut vise `h1, [role="heading"][aria-level="1"]` —, et le
|
|
1519
|
+
* lecteur d'ecran lit alors la phrase qui dit ou l'on vient d'arriver. Une
|
|
1520
|
+
* page qui titre ailleurs perd ce focus en silence (F14 du plan de la
|
|
1521
|
+
* coquille) ; une page qui titre deux fois le rend ambigu.
|
|
1522
|
+
*
|
|
1523
|
+
* ⚠️ Le fil d'Ariane vient AVANT le titre dans l'ordre du document, comme dans
|
|
1524
|
+
* la lecture : on sait d'ou l'on vient avant de lire ou l'on est. Les onglets
|
|
1525
|
+
* viennent apres : ils decoupent le contenu de la page, pas son identite.
|
|
1526
|
+
*
|
|
1527
|
+
* Il ne rend rien lui-meme d'autre que `st-page-title` : le fil, les actions et
|
|
1528
|
+
* les onglets sont ceux de la page, projetes.
|
|
1529
|
+
*/
|
|
1530
|
+
declare class StPageHeader {
|
|
1531
|
+
/** Texte secondaire sous le titre. Jamais porteur d'information critique. */
|
|
1532
|
+
readonly precision: _angular_core.InputSignal<string | null>;
|
|
1533
|
+
/** Cible d'un `aria-labelledby` : une region se nomme par son titre. */
|
|
1534
|
+
readonly identifiant: _angular_core.InputSignal<string | null>;
|
|
1535
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StPageHeader, never>;
|
|
1536
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StPageHeader, "st-page-header", never, { "precision": { "alias": "precision"; "required": false; "isSignal": true; }; "identifiant": { "alias": "identifiant"; "required": false; "isSignal": true; }; }, {}, never, ["st-breadcrumb", "*", "[actions]", "st-tabs"], true, never>;
|
|
1537
|
+
}
|
|
1538
|
+
|
|
1539
|
+
/**
|
|
1540
|
+
* Barre fine de progression d'une navigation, sous l'en-tete.
|
|
1541
|
+
*
|
|
1542
|
+
* ```html
|
|
1543
|
+
* <st-header entete>…</st-header>
|
|
1544
|
+
* <st-route-progress entete [actif]="navigation.enCours()" />
|
|
1545
|
+
* ```
|
|
1546
|
+
*
|
|
1547
|
+
* ⚠️ **Rien avant `delaiMs`** (200 ms par defaut). Une navigation qui aboutit
|
|
1548
|
+
* en 80 ms n'a pas a clignoter : la barre apparaitrait et disparaitrait avant
|
|
1549
|
+
* d'etre lue, et l'oeil retiendrait un scintillement a chaque clic. Passe le
|
|
1550
|
+
* delai, elle reste jusqu'a la fin, meme si celle-ci survient juste apres.
|
|
1551
|
+
*
|
|
1552
|
+
* ⚠️ **Aucun `aria-busy` sur `main`**, et ce n'est pas un oubli : `aria-busy`
|
|
1553
|
+
* fait TAIRE les mises a jour de la region qu'il marque, y compris les annonces
|
|
1554
|
+
* de la page qui arrive. La barre est un `progressbar` indetermine et nomme :
|
|
1555
|
+
* c'est ce qu'un lecteur d'ecran trouve s'il la cherche, sans etre interrompu.
|
|
1556
|
+
*
|
|
1557
|
+
* Elle n'occupe aucune hauteur : posee en absolu sous son hote, elle ne fait
|
|
1558
|
+
* pas sauter la page en apparaissant.
|
|
1559
|
+
*/
|
|
1560
|
+
declare class StRouteProgress {
|
|
1561
|
+
private readonly libelles;
|
|
1562
|
+
/** Vrai entre le debut et la fin d'une navigation. */
|
|
1563
|
+
readonly actif: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
1564
|
+
/** Delai avant d'afficher quoi que ce soit. Zero : tout de suite. */
|
|
1565
|
+
readonly delaiMs: _angular_core.InputSignal<number>;
|
|
1566
|
+
/** `null` : « Chargement », du dictionnaire. */
|
|
1567
|
+
readonly etiquette: _angular_core.InputSignal<string | null>;
|
|
1568
|
+
protected readonly etiquetteLue: _angular_core.Signal<string>;
|
|
1569
|
+
private readonly visibleInterne;
|
|
1570
|
+
protected readonly visible: _angular_core.Signal<boolean>;
|
|
1571
|
+
constructor();
|
|
1572
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StRouteProgress, never>;
|
|
1573
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StRouteProgress, "st-route-progress", never, { "actif": { "alias": "actif"; "required": false; "isSignal": true; }; "delaiMs": { "alias": "delaiMs"; "required": false; "isSignal": true; }; "etiquette": { "alias": "etiquette"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
/**
|
|
1577
|
+
* Gabarit pleine page : connexion, mot de passe oublie, mode embarque.
|
|
1578
|
+
*
|
|
1579
|
+
* ```html
|
|
1580
|
+
* <st-auth-shell>
|
|
1581
|
+
* <st-logo entete nom="Banque Exemple" clair="/ui/socle/assets/logo.svg" />
|
|
1582
|
+
* <st-lang-switch entete … />
|
|
1583
|
+
* <st-theme-toggle entete … />
|
|
1584
|
+
* <st-banner banniere ton="neutre" [message]="motifDeRedirection()" />
|
|
1585
|
+
* <router-outlet />
|
|
1586
|
+
* <a pied stLink routerLink="/mentions">Mentions legales</a>
|
|
1587
|
+
* <a pied stLink routerLink="/aide">Aide</a>
|
|
1588
|
+
* </st-auth-shell>
|
|
1589
|
+
* ```
|
|
1590
|
+
*
|
|
1591
|
+
* Ce que `st-app-shell` a, et qu'il n'a PAS, volontairement : ni navigation
|
|
1592
|
+
* laterale (rien a naviguer avant d'etre connecte), ni avertissement
|
|
1593
|
+
* d'inactivite (pas de session a fermer), ni messages ephemeres (rien ne se
|
|
1594
|
+
* passe en arriere-plan). Ce qu'il garde : le lien d'evitement — une page de
|
|
1595
|
+
* connexion se traverse aussi au clavier —, un `main` etroit centre a la
|
|
1596
|
+
* mesure de lecture, et les trois reperes, une fois chacun.
|
|
1597
|
+
*
|
|
1598
|
+
* ⚠️ **L'aide au meme endroit que dans l'application** (WCAG 3.2.6) : dans le
|
|
1599
|
+
* pied, comme dans `st-footer`. Une personne qui a trouve l'aide en bas de page
|
|
1600
|
+
* une fois doit la retrouver la, connectee ou non.
|
|
1601
|
+
*
|
|
1602
|
+
* L'emplacement `banniere`, en tete du `main`, recoit le MOTIF d'arrivee :
|
|
1603
|
+
* session expiree, fermee ailleurs, mot de passe reinitialise. Un `st-banner`
|
|
1604
|
+
* neutre y suffit ; jamais un message ephemere, qui serait manque.
|
|
1605
|
+
*/
|
|
1606
|
+
declare class StAuthShell {
|
|
1607
|
+
protected readonly identifiantDuContenu = "contenu-principal";
|
|
1608
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StAuthShell, never>;
|
|
1609
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StAuthShell, "st-auth-shell", never, {}, {}, never, ["[entete]", "[banniere]", "*", "[pied]"], true, never>;
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
/** Une etape d'un parcours, decrite par l'appelant. Le texte est deja traduit. */
|
|
1613
|
+
interface EtapeDeParcours {
|
|
1614
|
+
readonly libelle: string;
|
|
1615
|
+
}
|
|
1616
|
+
type EtatDEtape = 'faite' | 'courante' | 'a-venir';
|
|
1617
|
+
/**
|
|
1618
|
+
* Parcours par etapes : ou l'on en est, ce qui est fait, ce qui reste.
|
|
1619
|
+
*
|
|
1620
|
+
* ```html
|
|
1621
|
+
* <st-stepper [etapes]="etapes" [etape]="indice()" />
|
|
1622
|
+
* ```
|
|
1623
|
+
*
|
|
1624
|
+
* ⚠️ Une liste ORDONNEE : l'ordre des etapes est l'information, et le lecteur
|
|
1625
|
+
* d'ecran annonce « 2 sur 4 » de lui-meme. L'etape courante porte
|
|
1626
|
+
* `aria-current="step"`, ce qui est exactement le mot de la specification.
|
|
1627
|
+
*
|
|
1628
|
+
* ⚠️ **L'etat de chaque etape se lit par sa forme ET par un texte**, jamais par
|
|
1629
|
+
* la couleur seule : une coche pour ce qui est fait, un numero plein pour
|
|
1630
|
+
* l'etape en cours, un numero cercle pour ce qui vient ; et un mot lisible par
|
|
1631
|
+
* lecteur seulement — « terminee », « en cours », « a venir » — apres chaque
|
|
1632
|
+
* libelle. Sous contraste force, il ne reste que la forme et le mot.
|
|
1633
|
+
*
|
|
1634
|
+
* Il n'est PAS interactif : revenir a une etape est une decision du parcours,
|
|
1635
|
+
* qui la rend par un vrai lien ou un vrai bouton dans la page. Un indicateur
|
|
1636
|
+
* cliquable promettrait un retour que tous les parcours n'autorisent pas.
|
|
1637
|
+
*/
|
|
1638
|
+
declare class StStepper {
|
|
1639
|
+
private readonly libelles;
|
|
1640
|
+
readonly etapes: _angular_core.InputSignal<readonly EtapeDeParcours[]>;
|
|
1641
|
+
/** Indice de l'etape en cours, a partir de zero. */
|
|
1642
|
+
readonly etape: _angular_core.InputSignal<number>;
|
|
1643
|
+
/** Nom de la liste. `null` : « Etapes », du dictionnaire. */
|
|
1644
|
+
readonly etiquette: _angular_core.InputSignal<string | null>;
|
|
1645
|
+
protected readonly etiquetteLue: _angular_core.Signal<string>;
|
|
1646
|
+
protected readonly lignes: _angular_core.Signal<{
|
|
1647
|
+
libelle: string;
|
|
1648
|
+
numero: number;
|
|
1649
|
+
etat: EtatDEtape;
|
|
1650
|
+
texteDEtat: string;
|
|
1651
|
+
}[]>;
|
|
1652
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StStepper, never>;
|
|
1653
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StStepper, "st-stepper", never, { "etapes": { "alias": "etapes"; "required": true; "isSignal": true; }; "etape": { "alias": "etape"; "required": true; "isSignal": true; }; "etiquette": { "alias": "etiquette"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
1654
|
+
}
|
|
1655
|
+
|
|
1656
|
+
/**
|
|
1657
|
+
* Ligne de reglage : un libelle, une description, et le controle qui les suit.
|
|
1658
|
+
*
|
|
1659
|
+
* ```html
|
|
1660
|
+
* <st-settings-row libelle="Alertes par SMS" description="Un SMS a chaque virement sortant.">
|
|
1661
|
+
* <st-switch libelle="Activer" [(checked)]="sms" />
|
|
1662
|
+
* </st-settings-row>
|
|
1663
|
+
* ```
|
|
1664
|
+
*
|
|
1665
|
+
* ⚠️ **La ligne est un GROUPE nomme et decrit, et non une etiquette.** Le
|
|
1666
|
+
* controle projete garde son propre nom — celui de son `libelle`, ou un
|
|
1667
|
+
* `aria-label` pour un element natif — et la ligne l'enveloppe d'un
|
|
1668
|
+
* `role="group"` relie a son libelle par `aria-labelledby` et a sa description
|
|
1669
|
+
* par `aria-describedby`. En entrant dans le groupe, le lecteur d'ecran lit le
|
|
1670
|
+
* libelle, puis la description, puis le controle : « Alertes par SMS, groupe,
|
|
1671
|
+
* Un SMS a chaque virement sortant, Activer, interrupteur, desactive ».
|
|
1672
|
+
*
|
|
1673
|
+
* Pourquoi pas un `label for` : la plupart des controles du socle portent deja
|
|
1674
|
+
* leur etiquette, et un controle non natif (un groupe segmente, un declencheur
|
|
1675
|
+
* de menu) n'en accepte aucun. Le groupe, lui, marche pour tous, sans que la
|
|
1676
|
+
* ligne ait a connaitre ce qu'on lui projette.
|
|
1677
|
+
*
|
|
1678
|
+
* ⚠️ Un reglage s'applique IMMEDIATEMENT (c'est le sens de `st-switch`) ou
|
|
1679
|
+
* s'envoie avec un formulaire : la ligne ne tranche pas, le controle le dit.
|
|
1680
|
+
*/
|
|
1681
|
+
declare class StSettingsRow {
|
|
1682
|
+
/** Texte visible, deja traduit : le socle ne traduit rien. */
|
|
1683
|
+
readonly libelle: _angular_core.InputSignal<string>;
|
|
1684
|
+
/** Ce que le reglage fait, en une phrase. Reliee au groupe par `aria-describedby`. */
|
|
1685
|
+
readonly description: _angular_core.InputSignal<string | null>;
|
|
1686
|
+
/** Identifiants du libelle et de la description, cibles des attributs ARIA. */
|
|
1687
|
+
readonly identifiants: {
|
|
1688
|
+
readonly libelle: `${string}-libelle`;
|
|
1689
|
+
readonly description: `${string}-description`;
|
|
1690
|
+
};
|
|
1691
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<StSettingsRow, never>;
|
|
1692
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<StSettingsRow, "st-settings-row", never, { "libelle": { "alias": "libelle"; "required": true; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1264
1695
|
type TonDeBanniere = TonSemantique;
|
|
1265
1696
|
/**
|
|
1266
1697
|
* Message de page, persistant jusqu'a ce qu'on le ferme.
|
|
@@ -3015,5 +3446,5 @@ declare class StChargement {
|
|
|
3015
3446
|
/** Toutes les directives de gabarit, a importer d'un coup. */
|
|
3016
3447
|
declare const GABARITS_D_ETAT: readonly [typeof StSucces, typeof StErreur, typeof StVide, typeof StHorsLigne, typeof StChargement];
|
|
3017
3448
|
|
|
3018
|
-
export { AnnonceLocale, CHEMIN_DU_SPRITE, ContratDeChamp, ControleDeSaisie, FUSEAU_PAR_DEFAUT, GABARITS_D_ETAT, IDENTIFIANT_DU_CONTENU_PRINCIPAL, LIBELLES_EN, LIBELLES_FR, NOMS_DICONE, REGION_VIVANTE_PARENTE, ST_LIBELLES, ST_LOCALE, StAppShell, StAvatar, StBadge, StBanner, StBreadcrumb, StButton, StButtonGroup, StCalendar, StCard, StCellule, StChargement, StCheckbox, StCode, StControleDeChamp, StCopyButton, StCount, StDataTable, StDate, StDescription, StDescriptionList, StDivider, StElementDeListe, StEmpty, StErreur, StError, StErrorSummary, StFieldset, StFileUpload, StFilterBar, StFilterChip, StFormField, StHeader, StHeading, StHorsLigne, StIbanField, StIcon, StIconButton, StInlineMessage, StInput, StLangSwitch, StLink, StList, StLogo, StMasked, StMoney, StOfflineBanner, StOtpField, StPageTitle, StPagination, StPasswordField, StPhoneField, StProgress, StRadioGroup, StRelativeTime, StSearchField, StSection, StSelect, StSkeleton, StSkipLink, StSortHeader, StSpinner, StState, StStatusPill, StSucces, StSwitch, StTableauVide, StTag, StText, StTextarea, StThemeToggle, StTimer, StVide, cleDeFichier, copierDansLePressePapiers, erreurDate, erreurIban, erreurPlageDeDates, erreurTelephone, erreursDeFichiers, exempleDeDate, filtrerOptions, formaterDuree, fournirCheminDuSprite, fusionnerErreurs, messageDErreur, motifLocal, normaliserPourRecherche, pressePapiersDisponible, provideStarterUi };
|
|
3019
|
-
export type { BornesDeDate, ColonneDeTableau, ConfigurationUi, ContexteDElementDeListe, ContexteDeCellule, ContexteDeDescription, DensiteDeTableau, DispositionDeChamp, ElementDeDescription, ElementDeSaisie, ErreurAffichable, EtatDeTeleversementAffiche, FiltreActif, Focalisable, FormatDeDate, GraisseDeTexte, IssueDeCopie, LibellesUi, MaillonDeFil, ModeDePagination, NiveauDeTitre, NomDIcone, OptionDeListe, OptionRadio, OrientationDeSeparateur, ReglesDeFichiers, ReliefDeCarte, RembourrageDeCarte, RemplissageDeTelephone, SensDeTri, TailleDIcone, TailleDeBouton, TailleDeSpinner, TailleDeTitre, TonDIcone, TonDeBadge, TonDeBanniere, TonDeMessage, TonDeProgression, TonDeSpinner, TonDeStatut, TriDeTableau, TypeDeSaisie, TypeMasque, UsageDuMotDePasse, VarianteDErreur, VarianteDeBouton, VarianteDeBoutonIcone, VarianteDeLien, VarianteDeSquelette, VarianteDeTexte };
|
|
3449
|
+
export { AnnonceLocale, CHEMIN_DU_SPRITE, ContratDeChamp, ControleDeSaisie, FUSEAU_PAR_DEFAUT, GABARITS_D_ETAT, IDENTIFIANT_DU_CONTENU_PRINCIPAL, LIBELLES_EN, LIBELLES_FR, NOMS_DICONE, PROPRIETE_HAUTEUR_ENTETE, REGION_VIVANTE_PARENTE, ST_LIBELLES, ST_LOCALE, StAppShell, StAuthShell, StAvatar, StBadge, StBanner, StBreadcrumb, StButton, StButtonGroup, StCalendar, StCard, StCellule, StChargement, StCheckbox, StCode, StControleDeChamp, StCopyButton, StCount, StDataTable, StDate, StDescription, StDescriptionList, StDivider, StElementDeListe, StEmpty, StErreur, StError, StErrorSummary, StFieldset, StFileUpload, StFilterBar, StFilterChip, StFooter, StFormActions, StFormField, StHeader, StHeading, StHorsLigne, StIbanField, StIcon, StIconButton, StInlineMessage, StInput, StLangSwitch, StLink, StList, StLogo, StMasked, StMoney, StNavLink, StOfflineBanner, StOtpField, StPageHeader, StPageTitle, StPagination, StPasswordField, StPhoneField, StProgress, StRadioGroup, StRelativeTime, StRouteProgress, StSearchField, StSection, StSelect, StSettingsRow, StSkeleton, StSkipLink, StSortHeader, StSpinner, StStat, StState, StStatusPill, StStepper, StSucces, StSwitch, StTableauVide, StTag, StText, StTextarea, StThemeToggle, StTimer, StVide, cleDeFichier, copierDansLePressePapiers, erreurDate, erreurIban, erreurPlageDeDates, erreurTelephone, erreursDeFichiers, exempleDeDate, filtrerOptions, formaterDuree, fournirCheminDuSprite, fusionnerErreurs, messageDErreur, motifLocal, normaliserPourRecherche, pressePapiersDisponible, provideStarterUi };
|
|
3450
|
+
export type { BornesDeDate, ColonneDeTableau, ConfigurationUi, ContexteDElementDeListe, ContexteDeCellule, ContexteDeDescription, DensiteDeTableau, DispositionDeChamp, ElementDeDescription, ElementDeSaisie, EpaisseurDeProgression, ErreurAffichable, EtapeDeParcours, EtatDEtape, EtatDeTeleversementAffiche, FiltreActif, Focalisable, FormatDeDate, GraisseDeTexte, IssueDeCopie, LibellesUi, MaillonDeFil, ModeDePagination, NiveauDeTitre, NomDIcone, OptionDeListe, OptionRadio, OrientationDeSeparateur, ReglesDeFichiers, ReliefDeCarte, RembourrageDeCarte, RemplissageDeTelephone, SensDeTendance, SensDeTri, TailleDIcone, TailleDeBouton, TailleDeSpinner, TailleDeTitre, TendanceDeStat, TonDIcone, TonDeBadge, TonDeBanniere, TonDeMessage, TonDeProgression, TonDeSpinner, TonDeStatut, TriDeTableau, TypeDeSaisie, TypeMasque, UsageDuMotDePasse, VarianteDErreur, VarianteDeBouton, VarianteDeBoutonIcone, VarianteDeLien, VarianteDeSquelette, VarianteDeTexte };
|