@starterlib/ui 0.9.0 → 0.10.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.
Files changed (38) hide show
  1. package/README.md +44 -32
  2. package/assets/icones/catalogue.json +1 -1
  3. package/fesm2022/starterlib-ui-donnees.mjs +200 -3
  4. package/fesm2022/starterlib-ui-donnees.mjs.map +1 -1
  5. package/fesm2022/starterlib-ui-etats.mjs +1158 -0
  6. package/fesm2022/starterlib-ui-etats.mjs.map +1 -0
  7. package/fesm2022/starterlib-ui-formulaires.mjs +3 -2
  8. package/fesm2022/starterlib-ui-formulaires.mjs.map +1 -1
  9. package/fesm2022/starterlib-ui-indicateurs.mjs +1013 -0
  10. package/fesm2022/starterlib-ui-indicateurs.mjs.map +1 -0
  11. package/fesm2022/starterlib-ui-libelles-en.mjs.map +1 -1
  12. package/fesm2022/starterlib-ui-listes.mjs +5 -2
  13. package/fesm2022/starterlib-ui-listes.mjs.map +1 -1
  14. package/fesm2022/starterlib-ui-messagerie.mjs +2 -2
  15. package/fesm2022/starterlib-ui-messagerie.mjs.map +1 -1
  16. package/fesm2022/starterlib-ui-mise-en-page.mjs +892 -0
  17. package/fesm2022/starterlib-ui-mise-en-page.mjs.map +1 -0
  18. package/fesm2022/starterlib-ui-onglets.mjs.map +1 -1
  19. package/fesm2022/starterlib-ui-parcours.mjs +222 -4
  20. package/fesm2022/starterlib-ui-parcours.mjs.map +1 -1
  21. package/fesm2022/starterlib-ui-saisie.mjs +131 -3
  22. package/fesm2022/starterlib-ui-saisie.mjs.map +1 -1
  23. package/fesm2022/starterlib-ui-surfaces.mjs +2 -1
  24. package/fesm2022/starterlib-ui-surfaces.mjs.map +1 -1
  25. package/fesm2022/starterlib-ui.mjs +3510 -7105
  26. package/fesm2022/starterlib-ui.mjs.map +1 -1
  27. package/package.json +15 -3
  28. package/types/starterlib-ui-donnees.d.ts +95 -1
  29. package/types/starterlib-ui-etats.d.ts +486 -0
  30. package/types/starterlib-ui-formulaires.d.ts +1 -1
  31. package/types/starterlib-ui-indicateurs.d.ts +463 -0
  32. package/types/starterlib-ui-listes.d.ts +2 -1
  33. package/types/starterlib-ui-mise-en-page.d.ts +355 -0
  34. package/types/starterlib-ui-onglets.d.ts +6 -0
  35. package/types/starterlib-ui-parcours.d.ts +123 -3
  36. package/types/starterlib-ui-saisie.d.ts +72 -2
  37. package/types/starterlib-ui-selection.d.ts +3 -2
  38. package/types/starterlib-ui.d.ts +52 -1605
@@ -0,0 +1,1158 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, InjectionToken, Injector, TemplateRef, afterRenderEffect, booleanAttribute, computed, contentChild, effect, inject, input, isDevMode, linkedSignal, numberAttribute, signal, untracked } from "@angular/core";
3
+ import { REGION_VIVANTE_PARENTE, ST_LIBELLES, StEmpty, StError, StIcon, StProgress, StSpinner, affichageDiffere, decrireLErreur, fonduDEntree } from "@starterlib/ui";
4
+ import { DOCUMENT, NgTemplateOutlet } from "@angular/common";
5
+ import { delai, tenue } from "@starterlib/tokens";
6
+ var StSucces = class StSucces {
7
+ gabarit = inject(TemplateRef);
8
+ stSucces = input(void 0, ...ngDevMode ? [{ debugName: "stSucces" }] : /* istanbul ignore next */ []);
9
+ static ngTemplateContextGuard(_directive, _contexte) {
10
+ return true;
11
+ }
12
+ static ɵfac = i0.ɵɵngDeclareFactory({
13
+ minVersion: "12.0.0",
14
+ version: "22.2.0",
15
+ ngImport: i0,
16
+ type: StSucces,
17
+ deps: [],
18
+ target: i0.ɵɵFactoryTarget.Directive
19
+ });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({
21
+ minVersion: "17.1.0",
22
+ version: "22.2.0",
23
+ type: StSucces,
24
+ isStandalone: true,
25
+ selector: "ng-template[stSucces]",
26
+ inputs: { stSucces: {
27
+ classPropertyName: "stSucces",
28
+ publicName: "stSucces",
29
+ isSignal: true,
30
+ isRequired: false,
31
+ transformFunction: null
32
+ } },
33
+ ngImport: i0
34
+ });
35
+ };
36
+ i0.ɵɵngDeclareClassMetadata({
37
+ minVersion: "12.0.0",
38
+ version: "22.2.0",
39
+ ngImport: i0,
40
+ type: StSucces,
41
+ decorators: [{
42
+ type: Directive,
43
+ args: [{ selector: "ng-template[stSucces]" }]
44
+ }],
45
+ propDecorators: { stSucces: [{
46
+ type: i0.Input,
47
+ args: [{
48
+ isSignal: true,
49
+ alias: "stSucces",
50
+ required: false
51
+ }]
52
+ }] }
53
+ });
54
+ var StErreur = class StErreur {
55
+ gabarit = inject(TemplateRef);
56
+ static ngTemplateContextGuard(_directive, _contexte) {
57
+ return true;
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({
60
+ minVersion: "12.0.0",
61
+ version: "22.2.0",
62
+ ngImport: i0,
63
+ type: StErreur,
64
+ deps: [],
65
+ target: i0.ɵɵFactoryTarget.Directive
66
+ });
67
+ static ɵdir = i0.ɵɵngDeclareDirective({
68
+ minVersion: "14.0.0",
69
+ version: "22.2.0",
70
+ type: StErreur,
71
+ isStandalone: true,
72
+ selector: "ng-template[stErreur]",
73
+ ngImport: i0
74
+ });
75
+ };
76
+ i0.ɵɵngDeclareClassMetadata({
77
+ minVersion: "12.0.0",
78
+ version: "22.2.0",
79
+ ngImport: i0,
80
+ type: StErreur,
81
+ decorators: [{
82
+ type: Directive,
83
+ args: [{ selector: "ng-template[stErreur]" }]
84
+ }]
85
+ });
86
+ var StVide = class StVide {
87
+ gabarit = inject(TemplateRef);
88
+ static ɵfac = i0.ɵɵngDeclareFactory({
89
+ minVersion: "12.0.0",
90
+ version: "22.2.0",
91
+ ngImport: i0,
92
+ type: StVide,
93
+ deps: [],
94
+ target: i0.ɵɵFactoryTarget.Directive
95
+ });
96
+ static ɵdir = i0.ɵɵngDeclareDirective({
97
+ minVersion: "14.0.0",
98
+ version: "22.2.0",
99
+ type: StVide,
100
+ isStandalone: true,
101
+ selector: "ng-template[stVide]",
102
+ ngImport: i0
103
+ });
104
+ };
105
+ i0.ɵɵngDeclareClassMetadata({
106
+ minVersion: "12.0.0",
107
+ version: "22.2.0",
108
+ ngImport: i0,
109
+ type: StVide,
110
+ decorators: [{
111
+ type: Directive,
112
+ args: [{ selector: "ng-template[stVide]" }]
113
+ }]
114
+ });
115
+ var StHorsLigne = class StHorsLigne {
116
+ gabarit = inject(TemplateRef);
117
+ static ɵfac = i0.ɵɵngDeclareFactory({
118
+ minVersion: "12.0.0",
119
+ version: "22.2.0",
120
+ ngImport: i0,
121
+ type: StHorsLigne,
122
+ deps: [],
123
+ target: i0.ɵɵFactoryTarget.Directive
124
+ });
125
+ static ɵdir = i0.ɵɵngDeclareDirective({
126
+ minVersion: "14.0.0",
127
+ version: "22.2.0",
128
+ type: StHorsLigne,
129
+ isStandalone: true,
130
+ selector: "ng-template[stHorsLigne]",
131
+ ngImport: i0
132
+ });
133
+ };
134
+ i0.ɵɵngDeclareClassMetadata({
135
+ minVersion: "12.0.0",
136
+ version: "22.2.0",
137
+ ngImport: i0,
138
+ type: StHorsLigne,
139
+ decorators: [{
140
+ type: Directive,
141
+ args: [{ selector: "ng-template[stHorsLigne]" }]
142
+ }]
143
+ });
144
+ var StChargement = class StChargement {
145
+ gabarit = inject(TemplateRef);
146
+ static ɵfac = i0.ɵɵngDeclareFactory({
147
+ minVersion: "12.0.0",
148
+ version: "22.2.0",
149
+ ngImport: i0,
150
+ type: StChargement,
151
+ deps: [],
152
+ target: i0.ɵɵFactoryTarget.Directive
153
+ });
154
+ static ɵdir = i0.ɵɵngDeclareDirective({
155
+ minVersion: "14.0.0",
156
+ version: "22.2.0",
157
+ type: StChargement,
158
+ isStandalone: true,
159
+ selector: "ng-template[stChargement]",
160
+ ngImport: i0
161
+ });
162
+ };
163
+ i0.ɵɵngDeclareClassMetadata({
164
+ minVersion: "12.0.0",
165
+ version: "22.2.0",
166
+ ngImport: i0,
167
+ type: StChargement,
168
+ decorators: [{
169
+ type: Directive,
170
+ args: [{ selector: "ng-template[stChargement]" }]
171
+ }]
172
+ });
173
+ const GABARITS_D_ETAT = [
174
+ StSucces,
175
+ StErreur,
176
+ StVide,
177
+ StHorsLigne,
178
+ StChargement
179
+ ];
180
+ const ENTETE_DE_TABLEAU = [
181
+ 24,
182
+ 32,
183
+ 20,
184
+ 24
185
+ ];
186
+ const RANGEES_DE_TABLEAU = [
187
+ [
188
+ 28,
189
+ 48,
190
+ 16,
191
+ 28
192
+ ],
193
+ [
194
+ 24,
195
+ 40,
196
+ 20,
197
+ 32
198
+ ],
199
+ [
200
+ 32,
201
+ 36,
202
+ 14,
203
+ 24
204
+ ],
205
+ [
206
+ 20,
207
+ 28,
208
+ 16,
209
+ 16
210
+ ]
211
+ ];
212
+ const RANGEES_DE_LISTE = [
213
+ [
214
+ 36,
215
+ 48,
216
+ 24
217
+ ],
218
+ [
219
+ 44,
220
+ 32,
221
+ 28
222
+ ],
223
+ [
224
+ 28,
225
+ 40,
226
+ 20
227
+ ]
228
+ ];
229
+ const ENTETE_DE_LISTE = [32, 20];
230
+ const LIBELLES_DE_FORMULAIRE = [28, 36];
231
+ const COLONNE_DE_PASTILLE = 2;
232
+ function cyclique(valeurs, rang) {
233
+ return valeurs[rang % valeurs.length];
234
+ }
235
+ var StSkeleton = class StSkeleton {
236
+ variante = input("texte", ...ngDevMode ? [{ debugName: "variante" }] : /* istanbul ignore next */ []);
237
+ lignes = input(3, {
238
+ ...ngDevMode ? { debugName: "lignes" } : /* istanbul ignore next */ {},
239
+ transform: numberAttribute
240
+ });
241
+ colonnes = input(4, {
242
+ ...ngDevMode ? { debugName: "colonnes" } : /* istanbul ignore next */ {},
243
+ transform: numberAttribute
244
+ });
245
+ anime = input(true, {
246
+ ...ngDevMode ? { debugName: "anime" } : /* istanbul ignore next */ {},
247
+ transform: booleanAttribute
248
+ });
249
+ puits = input(false, {
250
+ ...ngDevMode ? { debugName: "puits" } : /* istanbul ignore next */ {},
251
+ transform: booleanAttribute
252
+ });
253
+ entete = input(false, {
254
+ ...ngDevMode ? { debugName: "entete" } : /* istanbul ignore next */ {},
255
+ transform: booleanAttribute
256
+ });
257
+ avecEntete = computed(() => this.entete() && this.variante() === "liste", ...ngDevMode ? [{ debugName: "avecEntete" }] : /* istanbul ignore next */ []);
258
+ enteteDeListe = ENTETE_DE_LISTE;
259
+ indicesDeLigne = computed(() => Array.from({ length: Math.max(1, this.lignes()) }, (_, index) => index), ...ngDevMode ? [{ debugName: "indicesDeLigne" }] : /* istanbul ignore next */ []);
260
+ indicesDeColonne = computed(() => Array.from({ length: Math.max(1, this.colonnes()) }, (_, index) => index), ...ngDevMode ? [{ debugName: "indicesDeColonne" }] : /* istanbul ignore next */ []);
261
+ enteteDeTableau = computed(() => this.indicesDeColonne().map((colonne) => cyclique(ENTETE_DE_TABLEAU, colonne)), ...ngDevMode ? [{ debugName: "enteteDeTableau" }] : /* istanbul ignore next */ []);
262
+ rangeesDeTableau = computed(() => this.indicesDeLigne().map((ligne) => this.indicesDeColonne().map((colonne) => ({
263
+ pas: cyclique(cyclique(RANGEES_DE_TABLEAU, ligne), colonne),
264
+ pastille: colonne % 4 === COLONNE_DE_PASTILLE
265
+ }))), ...ngDevMode ? [{ debugName: "rangeesDeTableau" }] : /* istanbul ignore next */ []);
266
+ rangeesDeListe = computed(() => this.indicesDeLigne().map((ligne) => {
267
+ const [titre, sousTitre, montant] = cyclique(RANGEES_DE_LISTE, ligne);
268
+ return {
269
+ titre,
270
+ sousTitre,
271
+ montant
272
+ };
273
+ }), ...ngDevMode ? [{ debugName: "rangeesDeListe" }] : /* istanbul ignore next */ []);
274
+ champsDeFormulaire = computed(() => this.indicesDeLigne().map((ligne) => ({
275
+ libelle: cyclique(LIBELLES_DE_FORMULAIRE, ligne),
276
+ aide: ligne % 2 === 0
277
+ })), ...ngDevMode ? [{ debugName: "champsDeFormulaire" }] : /* istanbul ignore next */ []);
278
+ static ɵfac = i0.ɵɵngDeclareFactory({
279
+ minVersion: "12.0.0",
280
+ version: "22.2.0",
281
+ ngImport: i0,
282
+ type: StSkeleton,
283
+ deps: [],
284
+ target: i0.ɵɵFactoryTarget.Component
285
+ });
286
+ static ɵcmp = i0.ɵɵngDeclareComponent({
287
+ minVersion: "17.0.0",
288
+ version: "22.2.0",
289
+ type: StSkeleton,
290
+ isStandalone: true,
291
+ selector: "st-skeleton",
292
+ inputs: {
293
+ variante: {
294
+ classPropertyName: "variante",
295
+ publicName: "variante",
296
+ isSignal: true,
297
+ isRequired: false,
298
+ transformFunction: null
299
+ },
300
+ lignes: {
301
+ classPropertyName: "lignes",
302
+ publicName: "lignes",
303
+ isSignal: true,
304
+ isRequired: false,
305
+ transformFunction: null
306
+ },
307
+ colonnes: {
308
+ classPropertyName: "colonnes",
309
+ publicName: "colonnes",
310
+ isSignal: true,
311
+ isRequired: false,
312
+ transformFunction: null
313
+ },
314
+ anime: {
315
+ classPropertyName: "anime",
316
+ publicName: "anime",
317
+ isSignal: true,
318
+ isRequired: false,
319
+ transformFunction: null
320
+ },
321
+ puits: {
322
+ classPropertyName: "puits",
323
+ publicName: "puits",
324
+ isSignal: true,
325
+ isRequired: false,
326
+ transformFunction: null
327
+ },
328
+ entete: {
329
+ classPropertyName: "entete",
330
+ publicName: "entete",
331
+ isSignal: true,
332
+ isRequired: false,
333
+ transformFunction: null
334
+ }
335
+ },
336
+ host: {
337
+ attributes: { "aria-hidden": "true" },
338
+ properties: {
339
+ "attr.data-variante": "variante()",
340
+ "attr.data-anime": "anime() ? \"\" : null",
341
+ "attr.data-puits": "puits() ? \"\" : null",
342
+ "attr.data-entete": "avecEntete() ? \"\" : null"
343
+ },
344
+ classAttribute: "st-skeleton"
345
+ },
346
+ ngImport: i0,
347
+ template: "@switch (variante()) {\n @case ('tableau') {\n <div class=\"st-skeleton__entete\">\n @for (pas of enteteDeTableau(); track $index) {\n <span class=\"st-skeleton__bloc st-skeleton__titre\" [style.--st-skeleton-pas]=\"pas\"></span>\n }\n </div>\n @for (rangee of rangeesDeTableau(); track $index) {\n <div class=\"st-skeleton__rangee\">\n @for (cellule of rangee; track $index) {\n <span\n class=\"st-skeleton__bloc st-skeleton__cellule\"\n [class.st-skeleton__cellule--pastille]=\"cellule.pastille\"\n [style.--st-skeleton-pas]=\"cellule.pas\"\n ></span>\n }\n </div>\n }\n }\n @case ('liste') {\n @if (avecEntete()) {\n <div class=\"st-skeleton__entete-de-liste\">\n @for (pas of enteteDeListe; track $index) {\n <span\n class=\"st-skeleton__bloc st-skeleton__titre-de-liste\"\n [style.--st-skeleton-pas]=\"pas\"\n ></span>\n }\n </div>\n }\n @for (rangee of rangeesDeListe(); track $index) {\n <div class=\"st-skeleton__rangee st-skeleton__rangee--liste\">\n <div class=\"st-skeleton__personne\">\n <span class=\"st-skeleton__bloc st-skeleton__disque\"></span>\n <div class=\"st-skeleton__lignes\">\n <span\n class=\"st-skeleton__bloc st-skeleton__titre-de-ligne\"\n [style.--st-skeleton-pas]=\"rangee.titre\"\n ></span>\n <span\n class=\"st-skeleton__bloc st-skeleton__sous-titre\"\n [style.--st-skeleton-pas]=\"rangee.sousTitre\"\n ></span>\n </div>\n </div>\n <span\n class=\"st-skeleton__bloc st-skeleton__montant\"\n [style.--st-skeleton-pas]=\"rangee.montant\"\n ></span>\n </div>\n }\n }\n @case ('carte') {\n <div class=\"st-skeleton__entete-de-carte\">\n <div class=\"st-skeleton__lignes st-skeleton__lignes--serrees\">\n <span class=\"st-skeleton__bloc st-skeleton__titre-de-ligne st-skeleton__pas-40\"></span>\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__pas-24\"></span>\n </div>\n <span class=\"st-skeleton__bloc st-skeleton__pastille\"></span>\n </div>\n <div class=\"st-skeleton__bloc st-skeleton__media\">\n <st-icon class=\"st-skeleton__pictogramme\" nom=\"graphique-ligne\" taille=\"48\" />\n </div>\n <div class=\"st-skeleton__pied\">\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__pas-32\"></span>\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__pas-20\"></span>\n </div>\n }\n @case ('formulaire') {\n @for (champ of champsDeFormulaire(); track $index) {\n <div class=\"st-skeleton__champ\">\n <span\n class=\"st-skeleton__bloc st-skeleton__sous-titre\"\n [style.--st-skeleton-pas]=\"champ.libelle\"\n ></span>\n <span class=\"st-skeleton__bloc st-skeleton__saisie\"></span>\n @if (champ.aide) {\n <span class=\"st-skeleton__bloc st-skeleton__aide\"></span>\n }\n </div>\n }\n }\n @case ('indicateur') {\n <div class=\"st-skeleton__entete-de-carte\">\n <span class=\"st-skeleton__bloc st-skeleton__libelle-doux st-skeleton__pas-28\"></span>\n <span class=\"st-skeleton__bloc st-skeleton__pastille st-skeleton__pastille--courte\"></span>\n </div>\n <span class=\"st-skeleton__bloc st-skeleton__valeur\"></span>\n <div class=\"st-skeleton__lignes st-skeleton__lignes--serrees\">\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__plein\"></span>\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__deux-tiers\"></span>\n </div>\n }\n @default {\n @for (ligne of indicesDeLigne(); track ligne) {\n <span class=\"st-skeleton__bloc st-skeleton__ligne\"></span>\n }\n }\n}\n",
348
+ styles: [".st-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host([hidden]){display:none!important}:host{display:flex;flex-direction:column;gap:var(--st-espacement-2)}:host([data-variante=carte]),:host([data-variante=formulaire]),:host([data-variante=indicateur]){gap:var(--st-espacement-4)}:host([data-puits]){padding:var(--st-espacement-4);background:var(--st-couleur-surface-conteneur-bas);border-radius:var(--st-rayon-md)}.st-skeleton__bloc{display:block;inline-size:calc(var(--st-espacement-1) * var(--st-skeleton-pas));background:var(--st-couleur-surface-conteneur-haut);border-radius:var(--st-rayon-sm)}.st-skeleton__pas-20{--st-skeleton-pas: 20}.st-skeleton__pas-24{--st-skeleton-pas: 24}.st-skeleton__pas-28{--st-skeleton-pas: 28}.st-skeleton__pas-32{--st-skeleton-pas: 32}.st-skeleton__pas-40{--st-skeleton-pas: 40}.st-skeleton__ligne{inline-size:auto;block-size:var(--st-densite-texte-interligne)}.st-skeleton__ligne:last-child{inline-size:var(--st-skeleton-derniere, 60%)}.st-skeleton__entete,.st-skeleton__rangee{display:flex;align-items:center;justify-content:space-between}.st-skeleton__entete{padding-block-end:var(--st-espacement-2);border-block-end:var(--st-epaisseur-fine) solid var(--st-couleur-surface-active)}.st-skeleton__rangee{padding-block:var(--st-espacement-2);border-block-end:var(--st-epaisseur-fine) solid color-mix(in srgb,var(--st-couleur-surface-active) 60%,transparent)}.st-skeleton__rangee:last-child{border-block-end:0}.st-skeleton__titre{block-size:var(--st-espacement-3)}.st-skeleton__cellule{block-size:var(--st-espacement-4);background:var(--st-couleur-surface-active)}.st-skeleton__cellule--pastille{block-size:var(--st-espacement-5);border-radius:var(--st-rayon-pleine)}.st-skeleton__entete-de-liste{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--st-espacement-2)}.st-skeleton__titre-de-liste{block-size:var(--st-espacement-6);background:var(--st-couleur-surface-active)}.st-skeleton__rangee--liste{padding-block:0;border-block-end:0}.st-skeleton__rangee--liste+.st-skeleton__rangee--liste{padding-block-start:var(--st-espacement-2);border-block-start:var(--st-epaisseur-fine) solid color-mix(in srgb,var(--st-couleur-surface-active) 60%,transparent)}.st-skeleton__personne{display:flex;align-items:center;gap:var(--st-espacement-2)}.st-skeleton__disque{flex:none;inline-size:var(--st-espacement-10);block-size:var(--st-espacement-10);background:var(--st-couleur-surface-active);border-radius:var(--st-rayon-pleine)}.st-skeleton__lignes{display:flex;flex-direction:column;gap:var(--st-espacement-1-5)}.st-skeleton__lignes--serrees{gap:var(--st-espacement-1)}.st-skeleton__titre-de-ligne,.st-skeleton__montant{block-size:var(--st-espacement-4);background:var(--st-couleur-surface-active)}.st-skeleton__sous-titre{block-size:var(--st-espacement-3)}.st-skeleton__entete-de-carte,.st-skeleton__pied{display:flex;align-items:center;justify-content:space-between}.st-skeleton__pastille{--st-skeleton-pas: 16;block-size:var(--st-espacement-6);border-radius:var(--st-rayon-pleine)}.st-skeleton__pastille--courte{--st-skeleton-pas: 14}.st-skeleton__media{display:flex;align-items:center;justify-content:center;inline-size:auto;aspect-ratio:16/9;overflow:hidden;background:var(--st-couleur-surface-active);border-radius:var(--st-rayon-md)}.st-skeleton__pictogramme{color:var(--st-couleur-surface-enfoncee)}.st-skeleton__champ{display:flex;flex-direction:column;gap:var(--st-espacement-1-5)}.st-skeleton__saisie{inline-size:auto;block-size:var(--st-hauteur-commande-xl);background:var(--st-couleur-surface-active);border-radius:var(--st-rayon-md)}.st-skeleton__aide{--st-skeleton-pas: 48;block-size:var(--st-espacement-2-5)}.st-skeleton__libelle-doux{block-size:var(--st-espacement-4)}.st-skeleton__valeur{--st-skeleton-pas: 44;block-size:var(--st-hauteur-commande-md)}.st-skeleton__plein{inline-size:auto}.st-skeleton__deux-tiers{inline-size:66.6666666667%}:host([data-anime]) .st-skeleton__bloc{animation:st-skeleton-pulsation max(var(--st-anim-chargement, var(--st-cadence-normale)),var(--st-cadence-min)) ease-in-out infinite}@media(prefers-reduced-motion:reduce){:root:not([data-mouvement=complet]) :host([data-anime]) .st-skeleton__bloc{animation:st-skeleton-respiration max(var(--st-anim-respiration, var(--st-cadence-respiration)),var(--st-cadence-min)) ease-in-out infinite}}[data-mouvement=reduit] :host([data-anime]) .st-skeleton__bloc{animation:st-skeleton-respiration max(var(--st-anim-respiration, var(--st-cadence-respiration)),var(--st-cadence-min)) ease-in-out infinite}@media(forced-colors:active){.st-skeleton__bloc{forced-color-adjust:none;background:Canvas;outline:var(--st-epaisseur-fine) solid GrayText;outline-offset:calc(-1 * var(--st-epaisseur-fine))}}@media print{:host{display:none}}@keyframes st-skeleton-pulsation{0%,to{opacity:1}50%{opacity:.5}}@keyframes st-skeleton-respiration{0%,to{opacity:1}50%{opacity:.5}}\n"],
349
+ dependencies: [{
350
+ kind: "component",
351
+ type: StIcon,
352
+ selector: "st-icon",
353
+ inputs: [
354
+ "icone",
355
+ "nom",
356
+ "variante",
357
+ "sprite",
358
+ "nomMetier",
359
+ "taille",
360
+ "ton",
361
+ "etiquette",
362
+ "miroir"
363
+ ]
364
+ }],
365
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
366
+ });
367
+ };
368
+ i0.ɵɵngDeclareClassMetadata({
369
+ minVersion: "12.0.0",
370
+ version: "22.2.0",
371
+ ngImport: i0,
372
+ type: StSkeleton,
373
+ decorators: [{
374
+ type: Component,
375
+ args: [{
376
+ selector: "st-skeleton",
377
+ changeDetection: ChangeDetectionStrategy.OnPush,
378
+ imports: [StIcon],
379
+ host: {
380
+ class: "st-skeleton",
381
+ "aria-hidden": "true",
382
+ "[attr.data-variante]": "variante()",
383
+ "[attr.data-anime]": "anime() ? \"\" : null",
384
+ "[attr.data-puits]": "puits() ? \"\" : null",
385
+ "[attr.data-entete]": "avecEntete() ? \"\" : null"
386
+ },
387
+ template: "@switch (variante()) {\n @case ('tableau') {\n <div class=\"st-skeleton__entete\">\n @for (pas of enteteDeTableau(); track $index) {\n <span class=\"st-skeleton__bloc st-skeleton__titre\" [style.--st-skeleton-pas]=\"pas\"></span>\n }\n </div>\n @for (rangee of rangeesDeTableau(); track $index) {\n <div class=\"st-skeleton__rangee\">\n @for (cellule of rangee; track $index) {\n <span\n class=\"st-skeleton__bloc st-skeleton__cellule\"\n [class.st-skeleton__cellule--pastille]=\"cellule.pastille\"\n [style.--st-skeleton-pas]=\"cellule.pas\"\n ></span>\n }\n </div>\n }\n }\n @case ('liste') {\n @if (avecEntete()) {\n <div class=\"st-skeleton__entete-de-liste\">\n @for (pas of enteteDeListe; track $index) {\n <span\n class=\"st-skeleton__bloc st-skeleton__titre-de-liste\"\n [style.--st-skeleton-pas]=\"pas\"\n ></span>\n }\n </div>\n }\n @for (rangee of rangeesDeListe(); track $index) {\n <div class=\"st-skeleton__rangee st-skeleton__rangee--liste\">\n <div class=\"st-skeleton__personne\">\n <span class=\"st-skeleton__bloc st-skeleton__disque\"></span>\n <div class=\"st-skeleton__lignes\">\n <span\n class=\"st-skeleton__bloc st-skeleton__titre-de-ligne\"\n [style.--st-skeleton-pas]=\"rangee.titre\"\n ></span>\n <span\n class=\"st-skeleton__bloc st-skeleton__sous-titre\"\n [style.--st-skeleton-pas]=\"rangee.sousTitre\"\n ></span>\n </div>\n </div>\n <span\n class=\"st-skeleton__bloc st-skeleton__montant\"\n [style.--st-skeleton-pas]=\"rangee.montant\"\n ></span>\n </div>\n }\n }\n @case ('carte') {\n <div class=\"st-skeleton__entete-de-carte\">\n <div class=\"st-skeleton__lignes st-skeleton__lignes--serrees\">\n <span class=\"st-skeleton__bloc st-skeleton__titre-de-ligne st-skeleton__pas-40\"></span>\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__pas-24\"></span>\n </div>\n <span class=\"st-skeleton__bloc st-skeleton__pastille\"></span>\n </div>\n <div class=\"st-skeleton__bloc st-skeleton__media\">\n <st-icon class=\"st-skeleton__pictogramme\" nom=\"graphique-ligne\" taille=\"48\" />\n </div>\n <div class=\"st-skeleton__pied\">\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__pas-32\"></span>\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__pas-20\"></span>\n </div>\n }\n @case ('formulaire') {\n @for (champ of champsDeFormulaire(); track $index) {\n <div class=\"st-skeleton__champ\">\n <span\n class=\"st-skeleton__bloc st-skeleton__sous-titre\"\n [style.--st-skeleton-pas]=\"champ.libelle\"\n ></span>\n <span class=\"st-skeleton__bloc st-skeleton__saisie\"></span>\n @if (champ.aide) {\n <span class=\"st-skeleton__bloc st-skeleton__aide\"></span>\n }\n </div>\n }\n }\n @case ('indicateur') {\n <div class=\"st-skeleton__entete-de-carte\">\n <span class=\"st-skeleton__bloc st-skeleton__libelle-doux st-skeleton__pas-28\"></span>\n <span class=\"st-skeleton__bloc st-skeleton__pastille st-skeleton__pastille--courte\"></span>\n </div>\n <span class=\"st-skeleton__bloc st-skeleton__valeur\"></span>\n <div class=\"st-skeleton__lignes st-skeleton__lignes--serrees\">\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__plein\"></span>\n <span class=\"st-skeleton__bloc st-skeleton__sous-titre st-skeleton__deux-tiers\"></span>\n </div>\n }\n @default {\n @for (ligne of indicesDeLigne(); track ligne) {\n <span class=\"st-skeleton__bloc st-skeleton__ligne\"></span>\n }\n }\n}\n",
388
+ styles: [".st-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host([hidden]){display:none!important}:host{display:flex;flex-direction:column;gap:var(--st-espacement-2)}:host([data-variante=carte]),:host([data-variante=formulaire]),:host([data-variante=indicateur]){gap:var(--st-espacement-4)}:host([data-puits]){padding:var(--st-espacement-4);background:var(--st-couleur-surface-conteneur-bas);border-radius:var(--st-rayon-md)}.st-skeleton__bloc{display:block;inline-size:calc(var(--st-espacement-1) * var(--st-skeleton-pas));background:var(--st-couleur-surface-conteneur-haut);border-radius:var(--st-rayon-sm)}.st-skeleton__pas-20{--st-skeleton-pas: 20}.st-skeleton__pas-24{--st-skeleton-pas: 24}.st-skeleton__pas-28{--st-skeleton-pas: 28}.st-skeleton__pas-32{--st-skeleton-pas: 32}.st-skeleton__pas-40{--st-skeleton-pas: 40}.st-skeleton__ligne{inline-size:auto;block-size:var(--st-densite-texte-interligne)}.st-skeleton__ligne:last-child{inline-size:var(--st-skeleton-derniere, 60%)}.st-skeleton__entete,.st-skeleton__rangee{display:flex;align-items:center;justify-content:space-between}.st-skeleton__entete{padding-block-end:var(--st-espacement-2);border-block-end:var(--st-epaisseur-fine) solid var(--st-couleur-surface-active)}.st-skeleton__rangee{padding-block:var(--st-espacement-2);border-block-end:var(--st-epaisseur-fine) solid color-mix(in srgb,var(--st-couleur-surface-active) 60%,transparent)}.st-skeleton__rangee:last-child{border-block-end:0}.st-skeleton__titre{block-size:var(--st-espacement-3)}.st-skeleton__cellule{block-size:var(--st-espacement-4);background:var(--st-couleur-surface-active)}.st-skeleton__cellule--pastille{block-size:var(--st-espacement-5);border-radius:var(--st-rayon-pleine)}.st-skeleton__entete-de-liste{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--st-espacement-2)}.st-skeleton__titre-de-liste{block-size:var(--st-espacement-6);background:var(--st-couleur-surface-active)}.st-skeleton__rangee--liste{padding-block:0;border-block-end:0}.st-skeleton__rangee--liste+.st-skeleton__rangee--liste{padding-block-start:var(--st-espacement-2);border-block-start:var(--st-epaisseur-fine) solid color-mix(in srgb,var(--st-couleur-surface-active) 60%,transparent)}.st-skeleton__personne{display:flex;align-items:center;gap:var(--st-espacement-2)}.st-skeleton__disque{flex:none;inline-size:var(--st-espacement-10);block-size:var(--st-espacement-10);background:var(--st-couleur-surface-active);border-radius:var(--st-rayon-pleine)}.st-skeleton__lignes{display:flex;flex-direction:column;gap:var(--st-espacement-1-5)}.st-skeleton__lignes--serrees{gap:var(--st-espacement-1)}.st-skeleton__titre-de-ligne,.st-skeleton__montant{block-size:var(--st-espacement-4);background:var(--st-couleur-surface-active)}.st-skeleton__sous-titre{block-size:var(--st-espacement-3)}.st-skeleton__entete-de-carte,.st-skeleton__pied{display:flex;align-items:center;justify-content:space-between}.st-skeleton__pastille{--st-skeleton-pas: 16;block-size:var(--st-espacement-6);border-radius:var(--st-rayon-pleine)}.st-skeleton__pastille--courte{--st-skeleton-pas: 14}.st-skeleton__media{display:flex;align-items:center;justify-content:center;inline-size:auto;aspect-ratio:16/9;overflow:hidden;background:var(--st-couleur-surface-active);border-radius:var(--st-rayon-md)}.st-skeleton__pictogramme{color:var(--st-couleur-surface-enfoncee)}.st-skeleton__champ{display:flex;flex-direction:column;gap:var(--st-espacement-1-5)}.st-skeleton__saisie{inline-size:auto;block-size:var(--st-hauteur-commande-xl);background:var(--st-couleur-surface-active);border-radius:var(--st-rayon-md)}.st-skeleton__aide{--st-skeleton-pas: 48;block-size:var(--st-espacement-2-5)}.st-skeleton__libelle-doux{block-size:var(--st-espacement-4)}.st-skeleton__valeur{--st-skeleton-pas: 44;block-size:var(--st-hauteur-commande-md)}.st-skeleton__plein{inline-size:auto}.st-skeleton__deux-tiers{inline-size:66.6666666667%}:host([data-anime]) .st-skeleton__bloc{animation:st-skeleton-pulsation max(var(--st-anim-chargement, var(--st-cadence-normale)),var(--st-cadence-min)) ease-in-out infinite}@media(prefers-reduced-motion:reduce){:root:not([data-mouvement=complet]) :host([data-anime]) .st-skeleton__bloc{animation:st-skeleton-respiration max(var(--st-anim-respiration, var(--st-cadence-respiration)),var(--st-cadence-min)) ease-in-out infinite}}[data-mouvement=reduit] :host([data-anime]) .st-skeleton__bloc{animation:st-skeleton-respiration max(var(--st-anim-respiration, var(--st-cadence-respiration)),var(--st-cadence-min)) ease-in-out infinite}@media(forced-colors:active){.st-skeleton__bloc{forced-color-adjust:none;background:Canvas;outline:var(--st-epaisseur-fine) solid GrayText;outline-offset:calc(-1 * var(--st-epaisseur-fine))}}@media print{:host{display:none}}@keyframes st-skeleton-pulsation{0%,to{opacity:1}50%{opacity:.5}}@keyframes st-skeleton-respiration{0%,to{opacity:1}50%{opacity:.5}}\n"]
389
+ }]
390
+ }],
391
+ propDecorators: {
392
+ variante: [{
393
+ type: i0.Input,
394
+ args: [{
395
+ isSignal: true,
396
+ alias: "variante",
397
+ required: false
398
+ }]
399
+ }],
400
+ lignes: [{
401
+ type: i0.Input,
402
+ args: [{
403
+ isSignal: true,
404
+ alias: "lignes",
405
+ required: false
406
+ }]
407
+ }],
408
+ colonnes: [{
409
+ type: i0.Input,
410
+ args: [{
411
+ isSignal: true,
412
+ alias: "colonnes",
413
+ required: false
414
+ }]
415
+ }],
416
+ anime: [{
417
+ type: i0.Input,
418
+ args: [{
419
+ isSignal: true,
420
+ alias: "anime",
421
+ required: false
422
+ }]
423
+ }],
424
+ puits: [{
425
+ type: i0.Input,
426
+ args: [{
427
+ isSignal: true,
428
+ alias: "puits",
429
+ required: false
430
+ }]
431
+ }],
432
+ entete: [{
433
+ type: i0.Input,
434
+ args: [{
435
+ isSignal: true,
436
+ alias: "entete",
437
+ required: false
438
+ }]
439
+ }]
440
+ }
441
+ });
442
+ const ST_EN_LIGNE = new InjectionToken("st.en-ligne", {
443
+ providedIn: "root",
444
+ factory: () => {
445
+ const fenetre = inject(DOCUMENT).defaultView;
446
+ const enLigne = signal(fenetre?.navigator.onLine ?? true, ...ngDevMode ? [{ debugName: "enLigne" }] : /* istanbul ignore next */ []);
447
+ const monter = () => {
448
+ enLigne.set(true);
449
+ };
450
+ const descendre = () => {
451
+ enLigne.set(false);
452
+ };
453
+ fenetre?.addEventListener("online", monter);
454
+ fenetre?.addEventListener("offline", descendre);
455
+ inject(DestroyRef).onDestroy(() => {
456
+ fenetre?.removeEventListener("online", monter);
457
+ fenetre?.removeEventListener("offline", descendre);
458
+ });
459
+ return enLigne.asReadonly();
460
+ }
461
+ });
462
+ function estVideParDefaut(valeur) {
463
+ if (valeur === null || valeur === void 0) return true;
464
+ if (Array.isArray(valeur)) return valeur.length === 0;
465
+ if (typeof valeur === "object" && "content" in valeur) {
466
+ const { content: contenu } = valeur;
467
+ return Array.isArray(contenu) && contenu.length === 0;
468
+ }
469
+ return false;
470
+ }
471
+ function estHorsLigneParDefaut(erreur) {
472
+ return typeof erreur === "object" && erreur !== null && erreur.status === 0;
473
+ }
474
+ var StState = class StState {
475
+ libelles = inject(ST_LIBELLES);
476
+ enLigne = inject(ST_EN_LIGNE);
477
+ ressource = input(null, ...ngDevMode ? [{ debugName: "ressource" }] : /* istanbul ignore next */ []);
478
+ etat = input(null, ...ngDevMode ? [{ debugName: "etat" }] : /* istanbul ignore next */ []);
479
+ estVide = input(estVideParDefaut, ...ngDevMode ? [{ debugName: "estVide" }] : /* istanbul ignore next */ []);
480
+ estHorsLigne = input(estHorsLigneParDefaut, ...ngDevMode ? [{ debugName: "estHorsLigne" }] : /* istanbul ignore next */ []);
481
+ squelette = input("texte", ...ngDevMode ? [{ debugName: "squelette" }] : /* istanbul ignore next */ []);
482
+ lignesDeSquelette = input(3, {
483
+ ...ngDevMode ? { debugName: "lignesDeSquelette" } : /* istanbul ignore next */ {},
484
+ transform: numberAttribute
485
+ });
486
+ delaiAvantSilhouette = input(delai.attente, {
487
+ ...ngDevMode ? { debugName: "delaiAvantSilhouette" } : /* istanbul ignore next */ {},
488
+ transform: numberAttribute
489
+ });
490
+ annonces = input(null, ...ngDevMode ? [{ debugName: "annonces" }] : /* istanbul ignore next */ []);
491
+ hauteurMinimale = input(null, ...ngDevMode ? [{ debugName: "hauteurMinimale" }] : /* istanbul ignore next */ []);
492
+ gabaritSucces = contentChild(StSucces, ...ngDevMode ? [{ debugName: "gabaritSucces" }] : /* istanbul ignore next */ []);
493
+ gabaritErreur = contentChild(StErreur, ...ngDevMode ? [{ debugName: "gabaritErreur" }] : /* istanbul ignore next */ []);
494
+ gabaritVide = contentChild(StVide, ...ngDevMode ? [{ debugName: "gabaritVide" }] : /* istanbul ignore next */ []);
495
+ gabaritHorsLigne = contentChild(StHorsLigne, ...ngDevMode ? [{ debugName: "gabaritHorsLigne" }] : /* istanbul ignore next */ []);
496
+ gabaritChargement = contentChild(StChargement, ...ngDevMode ? [{ debugName: "gabaritChargement" }] : /* istanbul ignore next */ []);
497
+ instantane = computed(() => {
498
+ const ressource = this.ressource();
499
+ if (ressource === null) return {
500
+ statut: "idle",
501
+ valeur: void 0
502
+ };
503
+ return {
504
+ statut: ressource.status(),
505
+ valeur: ressource.hasValue() ? ressource.value() : void 0
506
+ };
507
+ }, ...ngDevMode ? [{ debugName: "instantane" }] : /* istanbul ignore next */ []);
508
+ valeurRetenue = linkedSignal({
509
+ ...ngDevMode ? { debugName: "valeurRetenue" } : /* istanbul ignore next */ {},
510
+ source: () => this.instantane(),
511
+ computation: (source, precedent) => {
512
+ if (source.valeur !== void 0) return source.valeur;
513
+ return source.statut === "loading" || source.statut === "reloading" ? precedent?.value : void 0;
514
+ }
515
+ });
516
+ horsLigneALErreur = linkedSignal({
517
+ ...ngDevMode ? { debugName: "horsLigneALErreur" } : /* istanbul ignore next */ {},
518
+ source: () => this.instantane().statut === "error" ? this.ressource()?.error() : void 0,
519
+ computation: () => !untracked(this.enLigne)
520
+ });
521
+ etatDeLaRessource = computed(() => {
522
+ if (this.ressource() === null) return null;
523
+ const { statut } = this.instantane();
524
+ if (statut === "error") return this.horsLigneALErreur() || this.estHorsLigne()(this.ressource()?.error()) ? "hors-ligne" : "erreur";
525
+ const valeur = this.valeurRetenue();
526
+ if (valeur === void 0) return statut === "idle" || statut === "loading" || statut === "reloading" ? "chargement" : "vide";
527
+ return this.estVide()(valeur) ? "vide" : "succes";
528
+ }, ...ngDevMode ? [{ debugName: "etatDeLaRessource" }] : /* istanbul ignore next */ []);
529
+ etatEffectif = computed(() => {
530
+ const etat = this.etat();
531
+ if (etat === "succes" && this.ressource() !== null && this.valeurRetenue() === void 0) return "chargement";
532
+ return etat ?? this.etatDeLaRessource() ?? "chargement";
533
+ }, ...ngDevMode ? [{ debugName: "etatEffectif" }] : /* istanbul ignore next */ []);
534
+ enRechargement = computed(() => {
535
+ const { statut } = this.instantane();
536
+ if (statut !== "loading" && statut !== "reloading") return false;
537
+ return this.valeurRetenue() !== void 0;
538
+ }, ...ngDevMode ? [{ debugName: "enRechargement" }] : /* istanbul ignore next */ []);
539
+ enAttente = computed(() => {
540
+ if (this.enRechargement()) return true;
541
+ if (this.etatEffectif() !== "chargement") return false;
542
+ return this.etat() !== null || this.instantane().statut !== "idle";
543
+ }, ...ngDevMode ? [{ debugName: "enAttente" }] : /* istanbul ignore next */ []);
544
+ chargementVisible = affichageDiffere(() => this.etatEffectif() === "chargement", { delai: () => this.delaiAvantSilhouette() });
545
+ rechargementLong = affichageDiffere(() => this.enRechargement(), {
546
+ delai: () => tenue.rechargementAnnonce,
547
+ tenue: 0
548
+ });
549
+ montreLaSilhouette = computed(() => this.chargementVisible(), ...ngDevMode ? [{ debugName: "montreLaSilhouette" }] : /* istanbul ignore next */ []);
550
+ gabaritDeChargement = computed(() => this.gabaritChargement()?.gabarit ?? null, ...ngDevMode ? [{ debugName: "gabaritDeChargement" }] : /* istanbul ignore next */ []);
551
+ annoncesLues = computed(() => {
552
+ const fournies = this.annonces();
553
+ if (fournies !== null) return fournies;
554
+ const libelles = this.libelles();
555
+ return {
556
+ chargement: libelles.chargementEnCours,
557
+ erreur: libelles.erreurSurvenue,
558
+ vide: libelles.aucunResultat,
559
+ "hors-ligne": libelles.horsConnexion
560
+ };
561
+ }, ...ngDevMode ? [{ debugName: "annoncesLues" }] : /* istanbul ignore next */ []);
562
+ annonce = computed(() => {
563
+ if (this.rechargementLong()) return this.libelles().actualisationEnCours;
564
+ const etat = this.etatEffectif();
565
+ if (etat === "chargement" && !this.chargementVisible()) return "";
566
+ return this.annoncesLues()[etat] ?? "";
567
+ }, ...ngDevMode ? [{ debugName: "annonce" }] : /* istanbul ignore next */ []);
568
+ injecteurDuSucces = Injector.create({
569
+ providers: [{
570
+ provide: REGION_VIVANTE_PARENTE,
571
+ useValue: null
572
+ }],
573
+ parent: inject(Injector)
574
+ });
575
+ injecteurDuGabarit = computed(() => this.etatEffectif() === "succes" ? this.injecteurDuSucces : null, ...ngDevMode ? [{ debugName: "injecteurDuGabarit" }] : /* istanbul ignore next */ []);
576
+ erreurDecrite = computed(() => {
577
+ const ressource = this.ressource();
578
+ if (ressource?.status() !== "error") return null;
579
+ return decrireLErreur(ressource.error());
580
+ }, ...ngDevMode ? [{ debugName: "erreurDecrite" }] : /* istanbul ignore next */ []);
581
+ contexte = computed(() => {
582
+ const etat = this.etatEffectif();
583
+ if (etat === "erreur" || etat === "hors-ligne") return { $implicit: this.erreurDecrite() ?? decrireLErreur(null) };
584
+ return { $implicit: this.valeurRetenue() };
585
+ }, ...ngDevMode ? [{ debugName: "contexte" }] : /* istanbul ignore next */ []);
586
+ gabaritDeLEtat = computed(() => {
587
+ switch (this.etatEffectif()) {
588
+ case "erreur": return this.gabaritErreur()?.gabarit ?? null;
589
+ case "vide": return this.gabaritVide()?.gabarit ?? null;
590
+ case "hors-ligne": return this.gabaritHorsLigne()?.gabarit ?? this.gabaritErreur()?.gabarit ?? null;
591
+ case "chargement": return null;
592
+ default: return this.gabaritSucces()?.gabarit ?? null;
593
+ }
594
+ }, ...ngDevMode ? [{ debugName: "gabaritDeLEtat" }] : /* istanbul ignore next */ []);
595
+ gabaritParDefaut = computed(() => {
596
+ const etat = this.etatEffectif();
597
+ if (etat !== "erreur" && etat !== "vide" && etat !== "hors-ligne") return null;
598
+ return this.gabaritDeLEtat() === null ? etat : null;
599
+ }, ...ngDevMode ? [{ debugName: "gabaritParDefaut" }] : /* istanbul ignore next */ []);
600
+ textesParDefaut = computed(() => this.libelles(), ...ngDevMode ? [{ debugName: "textesParDefaut" }] : /* istanbul ignore next */ []);
601
+ affiche = computed(() => this.etatEffectif() === "chargement" && this.chargementVisible() ? "silhouette" : this.etatEffectif(), ...ngDevMode ? [{ debugName: "affiche" }] : /* istanbul ignore next */ []);
602
+ constructor() {
603
+ const hote = inject(ElementRef).nativeElement;
604
+ let precedent = null;
605
+ afterRenderEffect({ write: () => {
606
+ const affiche = this.affiche();
607
+ if (precedent === "silhouette" && (affiche === "succes" || affiche === "vide")) fonduDEntree(hote);
608
+ precedent = affiche;
609
+ } });
610
+ effect(() => {
611
+ const manquant = this.gabaritParDefaut();
612
+ const sansSucces = this.etatEffectif() === "succes" && this.gabaritSucces() === void 0;
613
+ if (!isDevMode() || manquant === null && !sansSucces) return;
614
+ console.warn(`[st-state] Etat "${manquant ?? "succes"}" atteint sans gabarit. Les cinq etats doivent etre traites : declarer <ng-template stErreur>, <ng-template stVide> et <ng-template stHorsLigne>. Le gabarit par defaut du dictionnaire est rendu.`);
615
+ });
616
+ }
617
+ static ɵfac = i0.ɵɵngDeclareFactory({
618
+ minVersion: "12.0.0",
619
+ version: "22.2.0",
620
+ ngImport: i0,
621
+ type: StState,
622
+ deps: [],
623
+ target: i0.ɵɵFactoryTarget.Component
624
+ });
625
+ static ɵcmp = i0.ɵɵngDeclareComponent({
626
+ minVersion: "17.0.0",
627
+ version: "22.2.0",
628
+ type: StState,
629
+ isStandalone: true,
630
+ selector: "st-state",
631
+ inputs: {
632
+ ressource: {
633
+ classPropertyName: "ressource",
634
+ publicName: "ressource",
635
+ isSignal: true,
636
+ isRequired: false,
637
+ transformFunction: null
638
+ },
639
+ etat: {
640
+ classPropertyName: "etat",
641
+ publicName: "etat",
642
+ isSignal: true,
643
+ isRequired: false,
644
+ transformFunction: null
645
+ },
646
+ estVide: {
647
+ classPropertyName: "estVide",
648
+ publicName: "estVide",
649
+ isSignal: true,
650
+ isRequired: false,
651
+ transformFunction: null
652
+ },
653
+ estHorsLigne: {
654
+ classPropertyName: "estHorsLigne",
655
+ publicName: "estHorsLigne",
656
+ isSignal: true,
657
+ isRequired: false,
658
+ transformFunction: null
659
+ },
660
+ squelette: {
661
+ classPropertyName: "squelette",
662
+ publicName: "squelette",
663
+ isSignal: true,
664
+ isRequired: false,
665
+ transformFunction: null
666
+ },
667
+ lignesDeSquelette: {
668
+ classPropertyName: "lignesDeSquelette",
669
+ publicName: "lignesDeSquelette",
670
+ isSignal: true,
671
+ isRequired: false,
672
+ transformFunction: null
673
+ },
674
+ delaiAvantSilhouette: {
675
+ classPropertyName: "delaiAvantSilhouette",
676
+ publicName: "delaiAvantSilhouette",
677
+ isSignal: true,
678
+ isRequired: false,
679
+ transformFunction: null
680
+ },
681
+ annonces: {
682
+ classPropertyName: "annonces",
683
+ publicName: "annonces",
684
+ isSignal: true,
685
+ isRequired: false,
686
+ transformFunction: null
687
+ },
688
+ hauteurMinimale: {
689
+ classPropertyName: "hauteurMinimale",
690
+ publicName: "hauteurMinimale",
691
+ isSignal: true,
692
+ isRequired: false,
693
+ transformFunction: null
694
+ }
695
+ },
696
+ host: {
697
+ properties: {
698
+ "attr.data-etat": "etatEffectif()",
699
+ "attr.data-rechargement": "enRechargement() ? \"\" : null",
700
+ "attr.aria-busy": "enAttente() ? \"true\" : null",
701
+ "style.min-block-size": "hauteurMinimale()"
702
+ },
703
+ classAttribute: "st-state"
704
+ },
705
+ providers: [{
706
+ provide: REGION_VIVANTE_PARENTE,
707
+ useValue: true
708
+ }],
709
+ queries: [
710
+ {
711
+ propertyName: "gabaritSucces",
712
+ first: true,
713
+ predicate: StSucces,
714
+ descendants: true,
715
+ isSignal: true
716
+ },
717
+ {
718
+ propertyName: "gabaritErreur",
719
+ first: true,
720
+ predicate: StErreur,
721
+ descendants: true,
722
+ isSignal: true
723
+ },
724
+ {
725
+ propertyName: "gabaritVide",
726
+ first: true,
727
+ predicate: StVide,
728
+ descendants: true,
729
+ isSignal: true
730
+ },
731
+ {
732
+ propertyName: "gabaritHorsLigne",
733
+ first: true,
734
+ predicate: StHorsLigne,
735
+ descendants: true,
736
+ isSignal: true
737
+ },
738
+ {
739
+ propertyName: "gabaritChargement",
740
+ first: true,
741
+ predicate: StChargement,
742
+ descendants: true,
743
+ isSignal: true
744
+ }
745
+ ],
746
+ ngImport: i0,
747
+ template: "@if (enRechargement()) {\n <!-- Rechargement : les donnees restent, une barre de 4 px en tete du bloc le dit (planche 9). -->\n <st-progress\n class=\"st-state__rechargement\"\n epaisseur=\"rechargement\"\n [etiquette]=\"textesParDefaut().chargementEnCours\"\n />\n}\n@if (montreLaSilhouette()) {\n <!-- La silhouette reste le temps de sa tenue, meme si la reponse est deja la. -->\n @if (gabaritDeChargement(); as gabarit) {\n <ng-container [ngTemplateOutlet]=\"gabarit\" />\n } @else if (squelette(); as variante) {\n <st-skeleton [variante]=\"variante\" [lignes]=\"lignesDeSquelette()\" />\n } @else {\n <st-spinner />\n }\n} @else if (gabaritDeLEtat(); as gabarit) {\n <ng-container\n [ngTemplateOutlet]=\"gabarit\"\n [ngTemplateOutletContext]=\"contexte()\"\n [ngTemplateOutletInjector]=\"injecteurDuGabarit()\"\n />\n} @else {\n @switch (gabaritParDefaut()) {\n @case ('vide') {\n <st-empty [titre]=\"textesParDefaut().aucunResultat\" />\n }\n @case ('erreur') {\n <st-error\n disposition=\"centree\"\n [code]=\"erreurDecrite()?.code ?? 'ERREUR_INCONNUE'\"\n [titre]=\"textesParDefaut().erreurSurvenue\"\n [variante]=\"erreurDecrite()?.variante ?? 'serveur'\"\n [traceId]=\"erreurDecrite()?.traceId ?? null\"\n [rejouable]=\"false\"\n />\n }\n @case ('hors-ligne') {\n <st-error\n disposition=\"centree\"\n variante=\"hors-ligne\"\n [code]=\"erreurDecrite()?.code ?? 'HORS_LIGNE'\"\n [titre]=\"textesParDefaut().horsConnexion\"\n [rejouable]=\"false\"\n sansDetails\n />\n }\n }\n}\n\n<span class=\"st-vh\" aria-live=\"polite\">{{ annonce() }}</span>\n",
748
+ styles: [".st-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host([hidden]){display:none!important}:host{display:flow-root}.st-state__rechargement{position:absolute;inset-block-start:0;inset-inline:0}\n"],
749
+ dependencies: [
750
+ {
751
+ kind: "directive",
752
+ type: NgTemplateOutlet,
753
+ selector: "[ngTemplateOutlet]",
754
+ inputs: [
755
+ "ngTemplateOutletContext",
756
+ "ngTemplateOutlet",
757
+ "ngTemplateOutletInjector"
758
+ ]
759
+ },
760
+ {
761
+ kind: "component",
762
+ type: StSkeleton,
763
+ selector: "st-skeleton",
764
+ inputs: [
765
+ "variante",
766
+ "lignes",
767
+ "colonnes",
768
+ "anime",
769
+ "puits",
770
+ "entete"
771
+ ]
772
+ },
773
+ {
774
+ kind: "component",
775
+ type: StSpinner,
776
+ selector: "st-spinner",
777
+ inputs: [
778
+ "taille",
779
+ "ton",
780
+ "etiquette",
781
+ "icone"
782
+ ]
783
+ },
784
+ {
785
+ kind: "component",
786
+ type: StProgress,
787
+ selector: "st-progress",
788
+ inputs: [
789
+ "valeur",
790
+ "max",
791
+ "etiquette",
792
+ "ton",
793
+ "epaisseur",
794
+ "texteDeValeur",
795
+ "avecValeur",
796
+ "decompte"
797
+ ]
798
+ },
799
+ {
800
+ kind: "component",
801
+ type: StEmpty,
802
+ selector: "st-empty",
803
+ inputs: [
804
+ "titre",
805
+ "description",
806
+ "icone",
807
+ "niveauDuTitre",
808
+ "taille",
809
+ "variante"
810
+ ]
811
+ },
812
+ {
813
+ kind: "component",
814
+ type: StError,
815
+ selector: "st-error",
816
+ inputs: [
817
+ "variante",
818
+ "disposition",
819
+ "code",
820
+ "titre",
821
+ "message",
822
+ "traceId",
823
+ "niveauDuTitre",
824
+ "icone",
825
+ "rejouable",
826
+ "rejeuEnCours",
827
+ "secondesAvantNouvelEssai",
828
+ "echeance",
829
+ "sansDetails",
830
+ "libelleRejeu",
831
+ "etiquetteDeTrace"
832
+ ],
833
+ outputs: ["rejeu"]
834
+ }
835
+ ],
836
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
837
+ });
838
+ };
839
+ i0.ɵɵngDeclareClassMetadata({
840
+ minVersion: "12.0.0",
841
+ version: "22.2.0",
842
+ ngImport: i0,
843
+ type: StState,
844
+ decorators: [{
845
+ type: Component,
846
+ args: [{
847
+ selector: "st-state",
848
+ changeDetection: ChangeDetectionStrategy.OnPush,
849
+ imports: [
850
+ NgTemplateOutlet,
851
+ StSkeleton,
852
+ StSpinner,
853
+ StProgress,
854
+ StEmpty,
855
+ StError
856
+ ],
857
+ providers: [{
858
+ provide: REGION_VIVANTE_PARENTE,
859
+ useValue: true
860
+ }],
861
+ host: {
862
+ class: "st-state",
863
+ "[attr.data-etat]": "etatEffectif()",
864
+ "[attr.data-rechargement]": "enRechargement() ? \"\" : null",
865
+ "[attr.aria-busy]": "enAttente() ? \"true\" : null",
866
+ "[style.min-block-size]": "hauteurMinimale()"
867
+ },
868
+ template: "@if (enRechargement()) {\n <!-- Rechargement : les donnees restent, une barre de 4 px en tete du bloc le dit (planche 9). -->\n <st-progress\n class=\"st-state__rechargement\"\n epaisseur=\"rechargement\"\n [etiquette]=\"textesParDefaut().chargementEnCours\"\n />\n}\n@if (montreLaSilhouette()) {\n <!-- La silhouette reste le temps de sa tenue, meme si la reponse est deja la. -->\n @if (gabaritDeChargement(); as gabarit) {\n <ng-container [ngTemplateOutlet]=\"gabarit\" />\n } @else if (squelette(); as variante) {\n <st-skeleton [variante]=\"variante\" [lignes]=\"lignesDeSquelette()\" />\n } @else {\n <st-spinner />\n }\n} @else if (gabaritDeLEtat(); as gabarit) {\n <ng-container\n [ngTemplateOutlet]=\"gabarit\"\n [ngTemplateOutletContext]=\"contexte()\"\n [ngTemplateOutletInjector]=\"injecteurDuGabarit()\"\n />\n} @else {\n @switch (gabaritParDefaut()) {\n @case ('vide') {\n <st-empty [titre]=\"textesParDefaut().aucunResultat\" />\n }\n @case ('erreur') {\n <st-error\n disposition=\"centree\"\n [code]=\"erreurDecrite()?.code ?? 'ERREUR_INCONNUE'\"\n [titre]=\"textesParDefaut().erreurSurvenue\"\n [variante]=\"erreurDecrite()?.variante ?? 'serveur'\"\n [traceId]=\"erreurDecrite()?.traceId ?? null\"\n [rejouable]=\"false\"\n />\n }\n @case ('hors-ligne') {\n <st-error\n disposition=\"centree\"\n variante=\"hors-ligne\"\n [code]=\"erreurDecrite()?.code ?? 'HORS_LIGNE'\"\n [titre]=\"textesParDefaut().horsConnexion\"\n [rejouable]=\"false\"\n sansDetails\n />\n }\n }\n}\n\n<span class=\"st-vh\" aria-live=\"polite\">{{ annonce() }}</span>\n",
869
+ styles: [".st-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host([hidden]){display:none!important}:host{display:flow-root}.st-state__rechargement{position:absolute;inset-block-start:0;inset-inline:0}\n"]
870
+ }]
871
+ }],
872
+ ctorParameters: () => [],
873
+ propDecorators: {
874
+ ressource: [{
875
+ type: i0.Input,
876
+ args: [{
877
+ isSignal: true,
878
+ alias: "ressource",
879
+ required: false
880
+ }]
881
+ }],
882
+ etat: [{
883
+ type: i0.Input,
884
+ args: [{
885
+ isSignal: true,
886
+ alias: "etat",
887
+ required: false
888
+ }]
889
+ }],
890
+ estVide: [{
891
+ type: i0.Input,
892
+ args: [{
893
+ isSignal: true,
894
+ alias: "estVide",
895
+ required: false
896
+ }]
897
+ }],
898
+ estHorsLigne: [{
899
+ type: i0.Input,
900
+ args: [{
901
+ isSignal: true,
902
+ alias: "estHorsLigne",
903
+ required: false
904
+ }]
905
+ }],
906
+ squelette: [{
907
+ type: i0.Input,
908
+ args: [{
909
+ isSignal: true,
910
+ alias: "squelette",
911
+ required: false
912
+ }]
913
+ }],
914
+ lignesDeSquelette: [{
915
+ type: i0.Input,
916
+ args: [{
917
+ isSignal: true,
918
+ alias: "lignesDeSquelette",
919
+ required: false
920
+ }]
921
+ }],
922
+ delaiAvantSilhouette: [{
923
+ type: i0.Input,
924
+ args: [{
925
+ isSignal: true,
926
+ alias: "delaiAvantSilhouette",
927
+ required: false
928
+ }]
929
+ }],
930
+ annonces: [{
931
+ type: i0.Input,
932
+ args: [{
933
+ isSignal: true,
934
+ alias: "annonces",
935
+ required: false
936
+ }]
937
+ }],
938
+ hauteurMinimale: [{
939
+ type: i0.Input,
940
+ args: [{
941
+ isSignal: true,
942
+ alias: "hauteurMinimale",
943
+ required: false
944
+ }]
945
+ }],
946
+ gabaritSucces: [{
947
+ type: i0.ContentChild,
948
+ args: [i0.forwardRef(() => StSucces), { isSignal: true }]
949
+ }],
950
+ gabaritErreur: [{
951
+ type: i0.ContentChild,
952
+ args: [i0.forwardRef(() => StErreur), { isSignal: true }]
953
+ }],
954
+ gabaritVide: [{
955
+ type: i0.ContentChild,
956
+ args: [i0.forwardRef(() => StVide), { isSignal: true }]
957
+ }],
958
+ gabaritHorsLigne: [{
959
+ type: i0.ContentChild,
960
+ args: [i0.forwardRef(() => StHorsLigne), { isSignal: true }]
961
+ }],
962
+ gabaritChargement: [{
963
+ type: i0.ContentChild,
964
+ args: [i0.forwardRef(() => StChargement), { isSignal: true }]
965
+ }]
966
+ }
967
+ });
968
+ var StSplashScreen = class StSplashScreen {
969
+ libelles = inject(ST_LIBELLES);
970
+ variante = input("clair", ...ngDevMode ? [{ debugName: "variante" }] : /* istanbul ignore next */ []);
971
+ nom = input.required(...ngDevMode ? [{ debugName: "nom" }] : /* istanbul ignore next */ []);
972
+ sousTitre = input(null, ...ngDevMode ? [{ debugName: "sousTitre" }] : /* istanbul ignore next */ []);
973
+ statut = input(null, ...ngDevMode ? [{ debugName: "statut" }] : /* istanbul ignore next */ []);
974
+ version = input(null, ...ngDevMode ? [{ debugName: "version" }] : /* istanbul ignore next */ []);
975
+ delaiMs = input(delai.attente, {
976
+ ...ngDevMode ? { debugName: "delaiMs" } : /* istanbul ignore next */ {},
977
+ transform: numberAttribute
978
+ });
979
+ etiquetteLue = computed(() => this.statut() ?? this.libelles().chargementEnCours, ...ngDevMode ? [{ debugName: "etiquetteLue" }] : /* istanbul ignore next */ []);
980
+ statutVisible = affichageDiffere(() => true, { delai: () => this.delaiMs() });
981
+ static ɵfac = i0.ɵɵngDeclareFactory({
982
+ minVersion: "12.0.0",
983
+ version: "22.2.0",
984
+ ngImport: i0,
985
+ type: StSplashScreen,
986
+ deps: [],
987
+ target: i0.ɵɵFactoryTarget.Component
988
+ });
989
+ static ɵcmp = i0.ɵɵngDeclareComponent({
990
+ minVersion: "17.0.0",
991
+ version: "22.2.0",
992
+ type: StSplashScreen,
993
+ isStandalone: true,
994
+ selector: "st-splash-screen",
995
+ inputs: {
996
+ variante: {
997
+ classPropertyName: "variante",
998
+ publicName: "variante",
999
+ isSignal: true,
1000
+ isRequired: false,
1001
+ transformFunction: null
1002
+ },
1003
+ nom: {
1004
+ classPropertyName: "nom",
1005
+ publicName: "nom",
1006
+ isSignal: true,
1007
+ isRequired: true,
1008
+ transformFunction: null
1009
+ },
1010
+ sousTitre: {
1011
+ classPropertyName: "sousTitre",
1012
+ publicName: "sousTitre",
1013
+ isSignal: true,
1014
+ isRequired: false,
1015
+ transformFunction: null
1016
+ },
1017
+ statut: {
1018
+ classPropertyName: "statut",
1019
+ publicName: "statut",
1020
+ isSignal: true,
1021
+ isRequired: false,
1022
+ transformFunction: null
1023
+ },
1024
+ version: {
1025
+ classPropertyName: "version",
1026
+ publicName: "version",
1027
+ isSignal: true,
1028
+ isRequired: false,
1029
+ transformFunction: null
1030
+ },
1031
+ delaiMs: {
1032
+ classPropertyName: "delaiMs",
1033
+ publicName: "delaiMs",
1034
+ isSignal: true,
1035
+ isRequired: false,
1036
+ transformFunction: null
1037
+ }
1038
+ },
1039
+ host: {
1040
+ properties: {
1041
+ "attr.data-variante": "variante()",
1042
+ "attr.data-theme": "variante() === \"marque\" ? \"sombre\" : null"
1043
+ },
1044
+ classAttribute: "st-splash-screen"
1045
+ },
1046
+ providers: [{
1047
+ provide: REGION_VIVANTE_PARENTE,
1048
+ useValue: true
1049
+ }],
1050
+ ngImport: i0,
1051
+ template: "<div class=\"st-splash-screen__haut\">\n <ng-content select=\"[surtitre]\" />\n</div>\n\n<div class=\"st-splash-screen__centre\">\n <div class=\"st-splash-screen__tuile\">\n <ng-content select=\"[logo]\" />\n </div>\n <p class=\"st-splash-screen__nom\">{{ nom() }}</p>\n @if (sousTitre() !== null) {\n <p class=\"st-splash-screen__sous-titre\">{{ sousTitre() }}</p>\n }\n @if (variante() === 'marque') {\n <st-progress class=\"st-splash-screen__barre\" epaisseur=\"route\" [etiquette]=\"etiquetteLue()\" />\n } @else {\n <st-spinner class=\"st-splash-screen__indicateur\" taille=\"lg\" [etiquette]=\"etiquetteLue()\" />\n }\n <!-- La region existe VIDE des la creation ; le texte y entre apres le delai d'attente. Sans\n statut, le libelle par defaut y est lu (masque) : l'attente est un message d'etat (4.1.3). -->\n <div class=\"st-splash-screen__statut\" role=\"status\">\n @if (statutVisible()) {\n @if (statut() !== null) {\n <p class=\"st-splash-screen__statut-texte\">{{ statut() }}</p>\n } @else {\n <span class=\"st-vh\">{{ etiquetteLue() }}</span>\n }\n }\n </div>\n <ng-content />\n</div>\n\n<div class=\"st-splash-screen__pied\">\n @if (version() !== null) {\n <span class=\"st-splash-screen__version\">{{ version() }}</span>\n }\n <ng-content select=\"[pied]\" />\n</div>\n",
1052
+ styles: [".st-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host([hidden]){display:none!important}:host{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-block-size:100vh;min-block-size:100dvh;padding:var(--st-espacement-4);overflow:hidden;color:var(--st-couleur-texte);text-align:center;background-color:var(--st-couleur-surface);border:var(--st-epaisseur-fine) solid var(--st-couleur-surface-enfoncee);isolation:isolate}.st-splash-screen__haut,.st-splash-screen__centre,.st-splash-screen__pied{position:relative}:host([data-variante=clair]):before{position:absolute;inset:0 0 auto;block-size:var(--st-espacement-1-5);content:\"\";background-color:var(--st-couleur-primaire)}:host([data-variante=marque]){background-color:var(--st-couleur-surface-enfoncee);border-color:var(--st-couleur-surface-conteneur-haut)}:host([data-variante=marque]):before{position:absolute;inset-block-start:calc(-1 * var(--st-espacement-16));inset-inline-start:calc(-1 * var(--st-espacement-16));inline-size:calc(var(--st-espacement-24) + var(--st-espacement-20));block-size:calc(var(--st-espacement-24) + var(--st-espacement-20));content:\"\";background-color:color-mix(in srgb,var(--st-couleur-primaire-discret) 60%,transparent);border-radius:var(--st-rayon-pleine)}.st-splash-screen__haut{display:flex;gap:var(--st-espacement-2);align-items:center;justify-content:space-between;font-size:var(--st-taille-2xs);font-weight:var(--st-graisse-semi);line-height:var(--st-interligne-2xs);letter-spacing:var(--st-interlettrage-capitales);color:var(--st-couleur-texte-discret);text-transform:uppercase}.st-splash-screen__haut:empty{visibility:hidden}.st-splash-screen__centre{display:flex;flex-direction:column;align-items:center}.st-splash-screen__tuile{display:flex;align-items:center;justify-content:center;inline-size:var(--st-espacement-12);block-size:var(--st-espacement-12);margin-block-end:var(--st-espacement-2);color:var(--st-couleur-texte-primaire);background-color:var(--st-couleur-surface-conteneur-bas);border:var(--st-epaisseur-fine) solid var(--st-couleur-surface-enfoncee);border-radius:var(--st-rayon-lg);box-shadow:var(--st-ombre-repos)}.st-splash-screen__tuile:empty{display:none}:host([data-variante=marque]) .st-splash-screen__tuile{box-shadow:var(--st-ombre-surelevee)}.st-splash-screen__nom{margin:0;font-size:var(--st-taille-lg);line-height:var(--st-interligne-md);font-weight:var(--st-graisse-semi);letter-spacing:var(--st-approche-lg)}.st-splash-screen__sous-titre{margin:var(--st-espacement-demi) 0 0;font-size:var(--st-taille-2xs);font-weight:var(--st-graisse-moyenne);line-height:var(--st-interligne-2xs);letter-spacing:var(--st-interlettrage-surtitre);color:var(--st-couleur-texte-primaire);text-transform:uppercase}.st-splash-screen__indicateur{margin-block:var(--st-espacement-4)}.st-splash-screen__barre{inline-size:var(--st-largeur-champ-md);margin-block:var(--st-espacement-4)}.st-splash-screen__statut-texte{margin:0;font-size:var(--st-taille-sm);font-weight:var(--st-graisse-moyenne);line-height:var(--st-interligne-sm)}.st-splash-screen__pied{display:flex;flex-direction:column;gap:var(--st-espacement-demi);align-items:center;font-size:var(--st-taille-xs);line-height:var(--st-interligne-xs);color:var(--st-couleur-texte-attenue)}.st-splash-screen__pied:empty{visibility:hidden}:host([data-variante=marque]) .st-splash-screen__pied{padding-block-start:var(--st-espacement-1);border-block-start:var(--st-epaisseur-fine) solid var(--st-couleur-surface-conteneur-haut)}.st-splash-screen__version{font-family:var(--st-police-mono);font-variant-numeric:var(--st-chiffres-alignes)}@media(forced-colors:active){:host:before{display:none}}\n"],
1053
+ dependencies: [{
1054
+ kind: "component",
1055
+ type: StSpinner,
1056
+ selector: "st-spinner",
1057
+ inputs: [
1058
+ "taille",
1059
+ "ton",
1060
+ "etiquette",
1061
+ "icone"
1062
+ ]
1063
+ }, {
1064
+ kind: "component",
1065
+ type: StProgress,
1066
+ selector: "st-progress",
1067
+ inputs: [
1068
+ "valeur",
1069
+ "max",
1070
+ "etiquette",
1071
+ "ton",
1072
+ "epaisseur",
1073
+ "texteDeValeur",
1074
+ "avecValeur",
1075
+ "decompte"
1076
+ ]
1077
+ }],
1078
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1079
+ });
1080
+ };
1081
+ i0.ɵɵngDeclareClassMetadata({
1082
+ minVersion: "12.0.0",
1083
+ version: "22.2.0",
1084
+ ngImport: i0,
1085
+ type: StSplashScreen,
1086
+ decorators: [{
1087
+ type: Component,
1088
+ args: [{
1089
+ selector: "st-splash-screen",
1090
+ changeDetection: ChangeDetectionStrategy.OnPush,
1091
+ imports: [StSpinner, StProgress],
1092
+ providers: [{
1093
+ provide: REGION_VIVANTE_PARENTE,
1094
+ useValue: true
1095
+ }],
1096
+ host: {
1097
+ class: "st-splash-screen",
1098
+ "[attr.data-variante]": "variante()",
1099
+ "[attr.data-theme]": "variante() === \"marque\" ? \"sombre\" : null"
1100
+ },
1101
+ template: "<div class=\"st-splash-screen__haut\">\n <ng-content select=\"[surtitre]\" />\n</div>\n\n<div class=\"st-splash-screen__centre\">\n <div class=\"st-splash-screen__tuile\">\n <ng-content select=\"[logo]\" />\n </div>\n <p class=\"st-splash-screen__nom\">{{ nom() }}</p>\n @if (sousTitre() !== null) {\n <p class=\"st-splash-screen__sous-titre\">{{ sousTitre() }}</p>\n }\n @if (variante() === 'marque') {\n <st-progress class=\"st-splash-screen__barre\" epaisseur=\"route\" [etiquette]=\"etiquetteLue()\" />\n } @else {\n <st-spinner class=\"st-splash-screen__indicateur\" taille=\"lg\" [etiquette]=\"etiquetteLue()\" />\n }\n <!-- La region existe VIDE des la creation ; le texte y entre apres le delai d'attente. Sans\n statut, le libelle par defaut y est lu (masque) : l'attente est un message d'etat (4.1.3). -->\n <div class=\"st-splash-screen__statut\" role=\"status\">\n @if (statutVisible()) {\n @if (statut() !== null) {\n <p class=\"st-splash-screen__statut-texte\">{{ statut() }}</p>\n } @else {\n <span class=\"st-vh\">{{ etiquetteLue() }}</span>\n }\n }\n </div>\n <ng-content />\n</div>\n\n<div class=\"st-splash-screen__pied\">\n @if (version() !== null) {\n <span class=\"st-splash-screen__version\">{{ version() }}</span>\n }\n <ng-content select=\"[pied]\" />\n</div>\n",
1102
+ styles: [".st-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:host([hidden]){display:none!important}:host{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-block-size:100vh;min-block-size:100dvh;padding:var(--st-espacement-4);overflow:hidden;color:var(--st-couleur-texte);text-align:center;background-color:var(--st-couleur-surface);border:var(--st-epaisseur-fine) solid var(--st-couleur-surface-enfoncee);isolation:isolate}.st-splash-screen__haut,.st-splash-screen__centre,.st-splash-screen__pied{position:relative}:host([data-variante=clair]):before{position:absolute;inset:0 0 auto;block-size:var(--st-espacement-1-5);content:\"\";background-color:var(--st-couleur-primaire)}:host([data-variante=marque]){background-color:var(--st-couleur-surface-enfoncee);border-color:var(--st-couleur-surface-conteneur-haut)}:host([data-variante=marque]):before{position:absolute;inset-block-start:calc(-1 * var(--st-espacement-16));inset-inline-start:calc(-1 * var(--st-espacement-16));inline-size:calc(var(--st-espacement-24) + var(--st-espacement-20));block-size:calc(var(--st-espacement-24) + var(--st-espacement-20));content:\"\";background-color:color-mix(in srgb,var(--st-couleur-primaire-discret) 60%,transparent);border-radius:var(--st-rayon-pleine)}.st-splash-screen__haut{display:flex;gap:var(--st-espacement-2);align-items:center;justify-content:space-between;font-size:var(--st-taille-2xs);font-weight:var(--st-graisse-semi);line-height:var(--st-interligne-2xs);letter-spacing:var(--st-interlettrage-capitales);color:var(--st-couleur-texte-discret);text-transform:uppercase}.st-splash-screen__haut:empty{visibility:hidden}.st-splash-screen__centre{display:flex;flex-direction:column;align-items:center}.st-splash-screen__tuile{display:flex;align-items:center;justify-content:center;inline-size:var(--st-espacement-12);block-size:var(--st-espacement-12);margin-block-end:var(--st-espacement-2);color:var(--st-couleur-texte-primaire);background-color:var(--st-couleur-surface-conteneur-bas);border:var(--st-epaisseur-fine) solid var(--st-couleur-surface-enfoncee);border-radius:var(--st-rayon-lg);box-shadow:var(--st-ombre-repos)}.st-splash-screen__tuile:empty{display:none}:host([data-variante=marque]) .st-splash-screen__tuile{box-shadow:var(--st-ombre-surelevee)}.st-splash-screen__nom{margin:0;font-size:var(--st-taille-lg);line-height:var(--st-interligne-md);font-weight:var(--st-graisse-semi);letter-spacing:var(--st-approche-lg)}.st-splash-screen__sous-titre{margin:var(--st-espacement-demi) 0 0;font-size:var(--st-taille-2xs);font-weight:var(--st-graisse-moyenne);line-height:var(--st-interligne-2xs);letter-spacing:var(--st-interlettrage-surtitre);color:var(--st-couleur-texte-primaire);text-transform:uppercase}.st-splash-screen__indicateur{margin-block:var(--st-espacement-4)}.st-splash-screen__barre{inline-size:var(--st-largeur-champ-md);margin-block:var(--st-espacement-4)}.st-splash-screen__statut-texte{margin:0;font-size:var(--st-taille-sm);font-weight:var(--st-graisse-moyenne);line-height:var(--st-interligne-sm)}.st-splash-screen__pied{display:flex;flex-direction:column;gap:var(--st-espacement-demi);align-items:center;font-size:var(--st-taille-xs);line-height:var(--st-interligne-xs);color:var(--st-couleur-texte-attenue)}.st-splash-screen__pied:empty{visibility:hidden}:host([data-variante=marque]) .st-splash-screen__pied{padding-block-start:var(--st-espacement-1);border-block-start:var(--st-epaisseur-fine) solid var(--st-couleur-surface-conteneur-haut)}.st-splash-screen__version{font-family:var(--st-police-mono);font-variant-numeric:var(--st-chiffres-alignes)}@media(forced-colors:active){:host:before{display:none}}\n"]
1103
+ }]
1104
+ }],
1105
+ propDecorators: {
1106
+ variante: [{
1107
+ type: i0.Input,
1108
+ args: [{
1109
+ isSignal: true,
1110
+ alias: "variante",
1111
+ required: false
1112
+ }]
1113
+ }],
1114
+ nom: [{
1115
+ type: i0.Input,
1116
+ args: [{
1117
+ isSignal: true,
1118
+ alias: "nom",
1119
+ required: true
1120
+ }]
1121
+ }],
1122
+ sousTitre: [{
1123
+ type: i0.Input,
1124
+ args: [{
1125
+ isSignal: true,
1126
+ alias: "sousTitre",
1127
+ required: false
1128
+ }]
1129
+ }],
1130
+ statut: [{
1131
+ type: i0.Input,
1132
+ args: [{
1133
+ isSignal: true,
1134
+ alias: "statut",
1135
+ required: false
1136
+ }]
1137
+ }],
1138
+ version: [{
1139
+ type: i0.Input,
1140
+ args: [{
1141
+ isSignal: true,
1142
+ alias: "version",
1143
+ required: false
1144
+ }]
1145
+ }],
1146
+ delaiMs: [{
1147
+ type: i0.Input,
1148
+ args: [{
1149
+ isSignal: true,
1150
+ alias: "delaiMs",
1151
+ required: false
1152
+ }]
1153
+ }]
1154
+ }
1155
+ });
1156
+ export { GABARITS_D_ETAT, ST_EN_LIGNE, StChargement, StErreur, StHorsLigne, StSkeleton, StSplashScreen, StState, StSucces, StVide };
1157
+
1158
+ //# sourceMappingURL=starterlib-ui-etats.mjs.map