@starterlib/ui 0.10.13 → 0.11.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 (63) hide show
  1. package/LICENCES-TIERCES.md +9 -3
  2. package/README.md +167 -32
  3. package/assets/icones/catalogue.json +199 -4
  4. package/assets/icones/sprite.svg +14 -0
  5. package/assets/logos/starter-bank-clair.svg +1 -0
  6. package/assets/logos/starter-bank-monochrome.svg +1 -0
  7. package/assets/logos/starter-bank-sombre.svg +1 -0
  8. package/fesm2022/starterlib-ui-arbre.mjs +25 -25
  9. package/fesm2022/starterlib-ui-arbre.mjs.map +1 -1
  10. package/fesm2022/starterlib-ui-donnees.mjs +760 -274
  11. package/fesm2022/starterlib-ui-donnees.mjs.map +1 -1
  12. package/fesm2022/starterlib-ui-etats.mjs +82 -82
  13. package/fesm2022/starterlib-ui-etats.mjs.map +1 -1
  14. package/fesm2022/starterlib-ui-force.mjs +18 -0
  15. package/fesm2022/starterlib-ui-force.mjs.map +1 -0
  16. package/fesm2022/starterlib-ui-formulaires.mjs +580 -198
  17. package/fesm2022/starterlib-ui-formulaires.mjs.map +1 -1
  18. package/fesm2022/starterlib-ui-graphiques.mjs +934 -0
  19. package/fesm2022/starterlib-ui-graphiques.mjs.map +1 -0
  20. package/fesm2022/starterlib-ui-indicateurs.mjs +59 -59
  21. package/fesm2022/starterlib-ui-indicateurs.mjs.map +1 -1
  22. package/fesm2022/starterlib-ui-libelles-en.mjs +11 -0
  23. package/fesm2022/starterlib-ui-libelles-en.mjs.map +1 -1
  24. package/fesm2022/starterlib-ui-listes.mjs +727 -315
  25. package/fesm2022/starterlib-ui-listes.mjs.map +1 -1
  26. package/fesm2022/starterlib-ui-messagerie.mjs +45 -45
  27. package/fesm2022/starterlib-ui-messagerie.mjs.map +1 -1
  28. package/fesm2022/starterlib-ui-mise-en-page.mjs +46 -46
  29. package/fesm2022/starterlib-ui-mise-en-page.mjs.map +1 -1
  30. package/fesm2022/starterlib-ui-navigation.mjs +200 -42
  31. package/fesm2022/starterlib-ui-navigation.mjs.map +1 -1
  32. package/fesm2022/starterlib-ui-onglets.mjs +20 -20
  33. package/fesm2022/starterlib-ui-onglets.mjs.map +1 -1
  34. package/fesm2022/starterlib-ui-parcours.mjs +631 -168
  35. package/fesm2022/starterlib-ui-parcours.mjs.map +1 -1
  36. package/fesm2022/starterlib-ui-qr.mjs +11 -11
  37. package/fesm2022/starterlib-ui-qr.mjs.map +1 -1
  38. package/fesm2022/starterlib-ui-saisie.mjs +617 -511
  39. package/fesm2022/starterlib-ui-saisie.mjs.map +1 -1
  40. package/fesm2022/starterlib-ui-selection.mjs +64 -64
  41. package/fesm2022/starterlib-ui-selection.mjs.map +1 -1
  42. package/fesm2022/starterlib-ui-sens.mjs +3 -3
  43. package/fesm2022/starterlib-ui-surfaces.mjs +246 -242
  44. package/fesm2022/starterlib-ui-surfaces.mjs.map +1 -1
  45. package/fesm2022/starterlib-ui-virtuel.mjs +272 -0
  46. package/fesm2022/starterlib-ui-virtuel.mjs.map +1 -0
  47. package/fesm2022/starterlib-ui.mjs +1142 -898
  48. package/fesm2022/starterlib-ui.mjs.map +1 -1
  49. package/package.json +31 -3
  50. package/types/starterlib-ui-donnees.d.ts +231 -5
  51. package/types/starterlib-ui-force.d.ts +19 -0
  52. package/types/starterlib-ui-formulaires.d.ts +132 -1
  53. package/types/starterlib-ui-graphiques.d.ts +421 -0
  54. package/types/starterlib-ui-indicateurs.d.ts +11 -4
  55. package/types/starterlib-ui-listes.d.ts +230 -13
  56. package/types/starterlib-ui-navigation.d.ts +82 -1
  57. package/types/starterlib-ui-parcours.d.ts +265 -5
  58. package/types/starterlib-ui-saisie.d.ts +91 -10
  59. package/types/starterlib-ui-selection.d.ts +1 -1
  60. package/types/starterlib-ui-surfaces.d.ts +10 -9
  61. package/types/starterlib-ui-virtuel.d.ts +103 -0
  62. package/types/starterlib-ui.d.ts +175 -24
  63. package/virtuel/README.md +46 -0
@@ -0,0 +1,272 @@
1
+ import { CdkFixedSizeVirtualScroll, CdkVirtualForOf, CdkVirtualScrollViewport } from "@angular/cdk/scrolling";
2
+ import { NgTemplateOutlet } from "@angular/common";
3
+ import * as i0 from "@angular/core";
4
+ import { ChangeDetectionStrategy, Component, Directive, TemplateRef, computed, contentChild, inject, input, isDevMode, numberAttribute, viewChild } from "@angular/core";
5
+ var StVirtualItem = class StVirtualItem {
6
+ typage = input("", {
7
+ ...ngDevMode ? { debugName: "typage" } : /* istanbul ignore next */ {},
8
+ alias: "stVirtualItem"
9
+ });
10
+ gabarit = inject(TemplateRef);
11
+ static ngTemplateContextGuard(_directive, _contexte) {
12
+ return true;
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({
15
+ minVersion: "12.0.0",
16
+ version: "22.2.1",
17
+ ngImport: i0,
18
+ type: StVirtualItem,
19
+ deps: [],
20
+ target: i0.ɵɵFactoryTarget.Directive
21
+ });
22
+ static ɵdir = i0.ɵɵngDeclareDirective({
23
+ minVersion: "17.1.0",
24
+ version: "22.2.1",
25
+ type: StVirtualItem,
26
+ isStandalone: true,
27
+ selector: "ng-template[stVirtualItem]",
28
+ inputs: { typage: {
29
+ classPropertyName: "typage",
30
+ publicName: "stVirtualItem",
31
+ isSignal: true,
32
+ isRequired: false,
33
+ transformFunction: null
34
+ } },
35
+ ngImport: i0
36
+ });
37
+ };
38
+ i0.ɵɵngDeclareClassMetadata({
39
+ minVersion: "12.0.0",
40
+ version: "22.2.1",
41
+ ngImport: i0,
42
+ type: StVirtualItem,
43
+ decorators: [{
44
+ type: Directive,
45
+ args: [{ selector: "ng-template[stVirtualItem]" }]
46
+ }],
47
+ propDecorators: { typage: [{
48
+ type: i0.Input,
49
+ args: [{
50
+ isSignal: true,
51
+ alias: "stVirtualItem",
52
+ required: false
53
+ }]
54
+ }] }
55
+ });
56
+ const SUIVI_PAR_RANG = (rang) => rang;
57
+ const HAUTEUR_PAR_DEFAUT = 44;
58
+ var StVirtualList = class StVirtualList {
59
+ elements = input.required(...ngDevMode ? [{ debugName: "elements" }] : /* istanbul ignore next */ []);
60
+ libelle = input.required(...ngDevMode ? [{ debugName: "libelle" }] : /* istanbul ignore next */ []);
61
+ hauteurDeLigne = input(HAUTEUR_PAR_DEFAUT, {
62
+ ...ngDevMode ? { debugName: "hauteurDeLigne" } : /* istanbul ignore next */ {},
63
+ transform: numberAttribute
64
+ });
65
+ hauteurDeFenetre = input("24rem", ...ngDevMode ? [{ debugName: "hauteurDeFenetre" }] : /* istanbul ignore next */ []);
66
+ suivi = input(SUIVI_PAR_RANG, ...ngDevMode ? [{ debugName: "suivi" }] : /* istanbul ignore next */ []);
67
+ ligne = contentChild.required(StVirtualItem, ...ngDevMode ? [{ debugName: "ligne" }] : /* istanbul ignore next */ []);
68
+ fenetre = viewChild.required(CdkVirtualScrollViewport, ...ngDevMode ? [{ debugName: "fenetre" }] : /* istanbul ignore next */ []);
69
+ hauteur = computed(() => {
70
+ const hauteur = this.hauteurDeLigne();
71
+ if (Number.isFinite(hauteur) && hauteur > 0) return hauteur;
72
+ if (isDevMode()) console.warn(`[st-virtual-list] hauteurDeLigne invalide (${String(hauteur)}) : ${String(HAUTEUR_PAR_DEFAUT)} px retenus.`);
73
+ return HAUTEUR_PAR_DEFAUT;
74
+ }, ...ngDevMode ? [{ debugName: "hauteur" }] : /* istanbul ignore next */ []);
75
+ margeMin = computed(() => this.hauteur() * 5, ...ngDevMode ? [{ debugName: "margeMin" }] : /* istanbul ignore next */ []);
76
+ margeMax = computed(() => this.hauteur() * 10, ...ngDevMode ? [{ debugName: "margeMax" }] : /* istanbul ignore next */ []);
77
+ allerA(rang, comportement = "auto") {
78
+ this.fenetre().scrollToIndex(rang, comportement);
79
+ }
80
+ static ɵfac = i0.ɵɵngDeclareFactory({
81
+ minVersion: "12.0.0",
82
+ version: "22.2.1",
83
+ ngImport: i0,
84
+ type: StVirtualList,
85
+ deps: [],
86
+ target: i0.ɵɵFactoryTarget.Component
87
+ });
88
+ static ɵcmp = i0.ɵɵngDeclareComponent({
89
+ minVersion: "17.2.0",
90
+ version: "22.2.1",
91
+ type: StVirtualList,
92
+ isStandalone: true,
93
+ selector: "st-virtual-list",
94
+ inputs: {
95
+ elements: {
96
+ classPropertyName: "elements",
97
+ publicName: "elements",
98
+ isSignal: true,
99
+ isRequired: true,
100
+ transformFunction: null
101
+ },
102
+ libelle: {
103
+ classPropertyName: "libelle",
104
+ publicName: "libelle",
105
+ isSignal: true,
106
+ isRequired: true,
107
+ transformFunction: null
108
+ },
109
+ hauteurDeLigne: {
110
+ classPropertyName: "hauteurDeLigne",
111
+ publicName: "hauteurDeLigne",
112
+ isSignal: true,
113
+ isRequired: false,
114
+ transformFunction: null
115
+ },
116
+ hauteurDeFenetre: {
117
+ classPropertyName: "hauteurDeFenetre",
118
+ publicName: "hauteurDeFenetre",
119
+ isSignal: true,
120
+ isRequired: false,
121
+ transformFunction: null
122
+ },
123
+ suivi: {
124
+ classPropertyName: "suivi",
125
+ publicName: "suivi",
126
+ isSignal: true,
127
+ isRequired: false,
128
+ transformFunction: null
129
+ }
130
+ },
131
+ host: {
132
+ properties: { "style.--st-virtual-list-hauteur": "hauteurDeFenetre()" },
133
+ classAttribute: "st-virtual-list"
134
+ },
135
+ queries: [{
136
+ propertyName: "ligne",
137
+ first: true,
138
+ predicate: StVirtualItem,
139
+ descendants: true,
140
+ isSignal: true
141
+ }],
142
+ viewQueries: [{
143
+ propertyName: "fenetre",
144
+ first: true,
145
+ predicate: CdkVirtualScrollViewport,
146
+ descendants: true,
147
+ isSignal: true
148
+ }],
149
+ ngImport: i0,
150
+ template: "<!-- La fenetre est la region qui defile : focalisable et nommee, elle se parcourt au clavier. -->\n<cdk-virtual-scroll-viewport\n class=\"st-virtual-list__fenetre\"\n [itemSize]=\"hauteur()\"\n [minBufferPx]=\"margeMin()\"\n [maxBufferPx]=\"margeMax()\"\n tabindex=\"0\"\n role=\"region\"\n [attr.aria-label]=\"libelle()\"\n>\n <!-- role=\"list\" : Safari retire la semantique d'une liste sans puces. -->\n <ul class=\"st-virtual-list__liste\" role=\"list\">\n <li\n *cdkVirtualFor=\"let element of elements(); let rang = index; trackBy: suivi()\"\n class=\"st-virtual-list__ligne\"\n [style.block-size.px]=\"hauteur()\"\n [attr.aria-setsize]=\"elements().length\"\n [attr.aria-posinset]=\"rang + 1\"\n >\n <ng-container\n [ngTemplateOutlet]=\"ligne().gabarit\"\n [ngTemplateOutletContext]=\"{ $implicit: element, index: rang }\"\n />\n </li>\n </ul>\n</cdk-virtual-scroll-viewport>\n",
151
+ 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:block}.st-virtual-list__fenetre:focus-visible{outline:var(--st-focus-epaisseur) solid var(--st-couleur-anneau-focus);outline-offset:var(--st-focus-decalage);box-shadow:0 0 0 var(--st-focus-lisere) var(--st-couleur-lisere-focus)}.st-virtual-list__fenetre{box-sizing:border-box;block-size:var(--st-virtual-list-hauteur, 24rem);overscroll-behavior:contain;border:var(--st-epaisseur-fine) solid var(--st-couleur-bordure);border-radius:var(--st-rayon-md);background:var(--st-couleur-surface)}.st-virtual-list__liste{margin:0;padding:0;list-style:none}.st-virtual-list__ligne{display:flex;align-items:center;box-sizing:border-box;padding-inline:var(--st-espacement-4);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--st-couleur-texte);border-block-end:var(--st-epaisseur-fine) solid var(--st-couleur-bordure)}@media(forced-colors:active){.st-virtual-list__fenetre{border-color:CanvasText}}\n"],
152
+ dependencies: [
153
+ {
154
+ kind: "component",
155
+ type: CdkVirtualScrollViewport,
156
+ selector: "cdk-virtual-scroll-viewport",
157
+ inputs: ["orientation", "appendOnly"],
158
+ outputs: ["scrolledIndexChange"]
159
+ },
160
+ {
161
+ kind: "directive",
162
+ type: CdkFixedSizeVirtualScroll,
163
+ selector: "cdk-virtual-scroll-viewport[itemSize]",
164
+ inputs: [
165
+ "itemSize",
166
+ "minBufferPx",
167
+ "maxBufferPx"
168
+ ]
169
+ },
170
+ {
171
+ kind: "directive",
172
+ type: CdkVirtualForOf,
173
+ selector: "[cdkVirtualFor][cdkVirtualForOf]",
174
+ inputs: [
175
+ "cdkVirtualForOf",
176
+ "cdkVirtualForTrackBy",
177
+ "cdkVirtualForTemplate",
178
+ "cdkVirtualForTemplateCacheSize"
179
+ ]
180
+ },
181
+ {
182
+ kind: "directive",
183
+ type: NgTemplateOutlet,
184
+ selector: "[ngTemplateOutlet]",
185
+ inputs: [
186
+ "ngTemplateOutletContext",
187
+ "ngTemplateOutlet",
188
+ "ngTemplateOutletInjector"
189
+ ]
190
+ }
191
+ ],
192
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
193
+ });
194
+ };
195
+ i0.ɵɵngDeclareClassMetadata({
196
+ minVersion: "12.0.0",
197
+ version: "22.2.1",
198
+ ngImport: i0,
199
+ type: StVirtualList,
200
+ decorators: [{
201
+ type: Component,
202
+ args: [{
203
+ selector: "st-virtual-list",
204
+ changeDetection: ChangeDetectionStrategy.OnPush,
205
+ imports: [
206
+ CdkVirtualScrollViewport,
207
+ CdkFixedSizeVirtualScroll,
208
+ CdkVirtualForOf,
209
+ NgTemplateOutlet
210
+ ],
211
+ host: {
212
+ class: "st-virtual-list",
213
+ "[style.--st-virtual-list-hauteur]": "hauteurDeFenetre()"
214
+ },
215
+ template: "<!-- La fenetre est la region qui defile : focalisable et nommee, elle se parcourt au clavier. -->\n<cdk-virtual-scroll-viewport\n class=\"st-virtual-list__fenetre\"\n [itemSize]=\"hauteur()\"\n [minBufferPx]=\"margeMin()\"\n [maxBufferPx]=\"margeMax()\"\n tabindex=\"0\"\n role=\"region\"\n [attr.aria-label]=\"libelle()\"\n>\n <!-- role=\"list\" : Safari retire la semantique d'une liste sans puces. -->\n <ul class=\"st-virtual-list__liste\" role=\"list\">\n <li\n *cdkVirtualFor=\"let element of elements(); let rang = index; trackBy: suivi()\"\n class=\"st-virtual-list__ligne\"\n [style.block-size.px]=\"hauteur()\"\n [attr.aria-setsize]=\"elements().length\"\n [attr.aria-posinset]=\"rang + 1\"\n >\n <ng-container\n [ngTemplateOutlet]=\"ligne().gabarit\"\n [ngTemplateOutletContext]=\"{ $implicit: element, index: rang }\"\n />\n </li>\n </ul>\n</cdk-virtual-scroll-viewport>\n",
216
+ 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:block}.st-virtual-list__fenetre:focus-visible{outline:var(--st-focus-epaisseur) solid var(--st-couleur-anneau-focus);outline-offset:var(--st-focus-decalage);box-shadow:0 0 0 var(--st-focus-lisere) var(--st-couleur-lisere-focus)}.st-virtual-list__fenetre{box-sizing:border-box;block-size:var(--st-virtual-list-hauteur, 24rem);overscroll-behavior:contain;border:var(--st-epaisseur-fine) solid var(--st-couleur-bordure);border-radius:var(--st-rayon-md);background:var(--st-couleur-surface)}.st-virtual-list__liste{margin:0;padding:0;list-style:none}.st-virtual-list__ligne{display:flex;align-items:center;box-sizing:border-box;padding-inline:var(--st-espacement-4);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--st-couleur-texte);border-block-end:var(--st-epaisseur-fine) solid var(--st-couleur-bordure)}@media(forced-colors:active){.st-virtual-list__fenetre{border-color:CanvasText}}\n"]
217
+ }]
218
+ }],
219
+ propDecorators: {
220
+ elements: [{
221
+ type: i0.Input,
222
+ args: [{
223
+ isSignal: true,
224
+ alias: "elements",
225
+ required: true
226
+ }]
227
+ }],
228
+ libelle: [{
229
+ type: i0.Input,
230
+ args: [{
231
+ isSignal: true,
232
+ alias: "libelle",
233
+ required: true
234
+ }]
235
+ }],
236
+ hauteurDeLigne: [{
237
+ type: i0.Input,
238
+ args: [{
239
+ isSignal: true,
240
+ alias: "hauteurDeLigne",
241
+ required: false
242
+ }]
243
+ }],
244
+ hauteurDeFenetre: [{
245
+ type: i0.Input,
246
+ args: [{
247
+ isSignal: true,
248
+ alias: "hauteurDeFenetre",
249
+ required: false
250
+ }]
251
+ }],
252
+ suivi: [{
253
+ type: i0.Input,
254
+ args: [{
255
+ isSignal: true,
256
+ alias: "suivi",
257
+ required: false
258
+ }]
259
+ }],
260
+ ligne: [{
261
+ type: i0.ContentChild,
262
+ args: [i0.forwardRef(() => StVirtualItem), { isSignal: true }]
263
+ }],
264
+ fenetre: [{
265
+ type: i0.ViewChild,
266
+ args: [i0.forwardRef(() => CdkVirtualScrollViewport), { isSignal: true }]
267
+ }]
268
+ }
269
+ });
270
+ export { StVirtualItem, StVirtualList };
271
+
272
+ //# sourceMappingURL=starterlib-ui-virtuel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starterlib-ui-virtuel.mjs","names":[],"sources":["../../../../packages/ui/virtuel/src/lib/st-virtual-list.ts","../../../../packages/ui/virtuel/src/lib/st-virtual-list.html"],"mappings":"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"}