@starterlib/ui 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +95 -42
- package/fesm2022/starterlib-ui-arbre.mjs +82 -0
- package/fesm2022/starterlib-ui-arbre.mjs.map +1 -0
- package/fesm2022/starterlib-ui-donnees.mjs +532 -0
- package/fesm2022/starterlib-ui-donnees.mjs.map +1 -0
- package/fesm2022/starterlib-ui-formulaires.mjs +2 -1
- package/fesm2022/starterlib-ui-formulaires.mjs.map +1 -1
- package/fesm2022/starterlib-ui-interactions.mjs +34 -589
- package/fesm2022/starterlib-ui-interactions.mjs.map +1 -1
- package/fesm2022/starterlib-ui-libelles-en.mjs +142 -0
- package/fesm2022/starterlib-ui-libelles-en.mjs.map +1 -0
- package/fesm2022/starterlib-ui-listes.mjs +671 -0
- package/fesm2022/starterlib-ui-listes.mjs.map +1 -0
- package/fesm2022/starterlib-ui-navigation.mjs +246 -0
- package/fesm2022/starterlib-ui-navigation.mjs.map +1 -0
- package/fesm2022/starterlib-ui-onglets.mjs +137 -0
- package/fesm2022/starterlib-ui-onglets.mjs.map +1 -0
- package/fesm2022/starterlib-ui-saisie.mjs +1632 -0
- package/fesm2022/starterlib-ui-saisie.mjs.map +1 -0
- package/fesm2022/starterlib-ui-selection.mjs +269 -0
- package/fesm2022/starterlib-ui-selection.mjs.map +1 -0
- package/fesm2022/starterlib-ui.mjs +105 -2931
- package/fesm2022/starterlib-ui.mjs.map +1 -1
- package/package.json +35 -3
- package/types/starterlib-ui-arbre.d.ts +51 -0
- package/types/starterlib-ui-donnees.d.ts +228 -0
- package/types/starterlib-ui-formulaires.d.ts +5 -4
- package/types/starterlib-ui-interactions.d.ts +4 -316
- package/types/starterlib-ui-libelles-en.d.ts +25 -0
- package/types/starterlib-ui-listes.d.ts +432 -0
- package/types/starterlib-ui-navigation.d.ts +104 -0
- package/types/starterlib-ui-onglets.d.ts +89 -0
- package/types/starterlib-ui-saisie.d.ts +924 -0
- package/types/starterlib-ui-selection.d.ts +112 -0
- package/types/starterlib-ui.d.ts +9 -1575
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starterlib-ui-listes.mjs","sources":["../../../../packages/ui/listes/src/lib/st-pagination.ts","../../../../packages/ui/listes/src/lib/st-pagination.html","../../../../packages/ui/listes/src/lib/st-description-list.ts","../../../../packages/ui/listes/src/lib/st-description-list.html","../../../../packages/ui/listes/src/lib/st-list.ts","../../../../packages/ui/listes/src/lib/st-list.html","../../../../packages/ui/listes/src/lib/st-sort-header.ts","../../../../packages/ui/listes/src/lib/st-sort-header.html","../../../../packages/ui/listes/src/lib/st-data-table.ts","../../../../packages/ui/listes/src/lib/st-data-table.html","../../../../packages/ui/listes/src/lib/st-filter-chip.ts","../../../../packages/ui/listes/src/lib/st-filter-chip.html","../../../../packages/ui/listes/src/lib/st-filter-bar.ts","../../../../packages/ui/listes/src/lib/st-filter-bar.html","../../../../packages/ui/listes/src/public-api.ts","../../../../packages/ui/listes/src/starterlib-ui-listes.ts"],"names":["compteur"],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
2
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { inject, Injector, input, computed, signal, viewChild, effect, DestroyRef, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
|
|
5
|
+
import { RUPTURES } from '@starterlib/tokens';
|
|
6
|
+
import { ST_LIBELLES } from '@starterlib/ui';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Au-dela, la navigation tient a cote du contenu. Meme seuil que `st-app-shell`,
|
|
10
|
+
* lu dans les jetons : ecrit en dur ici, il avait deja diverge une fois de la
|
|
11
|
+
* feuille (F7 du plan de la coquille).
|
|
12
|
+
*/
|
|
13
|
+
const ECRAN_LARGE = RUPTURES.lg.requete;
|
|
14
|
+
let compteur = 0;
|
|
15
|
+
/**
|
|
16
|
+
* Navigation laterale : une region a cote du contenu sur grand ecran, un tiroir
|
|
17
|
+
* sur petit ecran.
|
|
18
|
+
*
|
|
19
|
+
* ```html
|
|
20
|
+
* <st-app-shell>
|
|
21
|
+
* <button entete stButton [stSidenavToggle]="navigation">Menu</button>
|
|
22
|
+
* <st-sidenav navigation #navigation etiquette="Navigation principale">
|
|
23
|
+
* <a routerLink="/comptes">Comptes</a>
|
|
24
|
+
* </st-sidenav>
|
|
25
|
+
* …
|
|
26
|
+
* </st-app-shell>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* ⚠️ **Deux modes, jamais confondus.** Persistante, c'est une REGION de la page :
|
|
30
|
+
* aucun piege, rien a ouvrir. Modale, c'est un TIROIR, donc un `StDialog` — role,
|
|
31
|
+
* piegeage du focus, Echap, retour du focus au bouton — et non une region
|
|
32
|
+
* glissee par-dessus la page avec un peu de CSS, qui laisserait le clavier
|
|
33
|
+
* parcourir la page cachee dessous.
|
|
34
|
+
*
|
|
35
|
+
* ⚠️ **Elle porte son propre `<nav>`, et un seul a la fois.** Sur petit ecran,
|
|
36
|
+
* la region en ligne DISPARAIT quand le tiroir prend le relais : laissee en
|
|
37
|
+
* place, elle resterait un repere de navigation vide, que le lecteur d'ecran
|
|
38
|
+
* proposerait sans rien y trouver.
|
|
39
|
+
*
|
|
40
|
+
* Un lien suivi dans le tiroir le ferme : `StDialog` se ferme a toute navigation
|
|
41
|
+
* du routeur.
|
|
42
|
+
*/
|
|
43
|
+
class StSidenav {
|
|
44
|
+
// Capture a la construction : apres l'attente du module, le contexte
|
|
45
|
+
// d'injection n'existe plus, et `inject()` y leverait.
|
|
46
|
+
injecteur = inject(Injector);
|
|
47
|
+
libelles = inject(ST_LIBELLES);
|
|
48
|
+
/**
|
|
49
|
+
* Nom du repere. `null` : « Navigation principale », du dictionnaire. A
|
|
50
|
+
* renseigner des qu'une page compte deux navigations, qui doivent se
|
|
51
|
+
* distinguer.
|
|
52
|
+
*/
|
|
53
|
+
etiquette = input(null, /* @ts-ignore */
|
|
54
|
+
...(ngDevMode ? [{ debugName: "etiquette" }] : /* istanbul ignore next */ []));
|
|
55
|
+
etiquetteLue = computed(() => this.etiquette() ?? this.libelles().navigationPrincipale, /* @ts-ignore */
|
|
56
|
+
...(ngDevMode ? [{ debugName: "etiquetteLue" }] : /* istanbul ignore next */ []));
|
|
57
|
+
/** `auto` : persistante sur grand ecran, tiroir en dessous. */
|
|
58
|
+
mode = input('auto', /* @ts-ignore */
|
|
59
|
+
...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
60
|
+
identifiant = `st-sidenav-${(compteur += 1).toString()}`;
|
|
61
|
+
ecranLarge = signal(false, /* @ts-ignore */
|
|
62
|
+
...(ngDevMode ? [{ debugName: "ecranLarge" }] : /* istanbul ignore next */ []));
|
|
63
|
+
/** Mode reellement applique. Lu par le bouton, qui ne s'affiche qu'en tiroir. */
|
|
64
|
+
modeEffectif = computed(() => {
|
|
65
|
+
const mode = this.mode();
|
|
66
|
+
if (mode !== 'auto')
|
|
67
|
+
return mode;
|
|
68
|
+
return this.ecranLarge() ? 'persistant' : 'modal';
|
|
69
|
+
}, /* @ts-ignore */
|
|
70
|
+
...(ngDevMode ? [{ debugName: "modeEffectif" }] : /* istanbul ignore next */ []));
|
|
71
|
+
ouvertInterne = signal(false, /* @ts-ignore */
|
|
72
|
+
...(ngDevMode ? [{ debugName: "ouvertInterne" }] : /* istanbul ignore next */ []));
|
|
73
|
+
ouvert = this.ouvertInterne.asReadonly();
|
|
74
|
+
// Nomme autrement que la variable `#contenu` du gabarit, qui la masquerait.
|
|
75
|
+
gabarit = viewChild.required('contenu', /* @ts-ignore */
|
|
76
|
+
...(ngDevMode ? [{ debugName: "gabarit" }] : /* istanbul ignore next */ []));
|
|
77
|
+
reference = null;
|
|
78
|
+
// Pose AVANT l'attente du module de surfaces : sans lui, deux clics rapides
|
|
79
|
+
// ouvriraient deux tiroirs, `this.reference` etant encore nul pendant le
|
|
80
|
+
// chargement.
|
|
81
|
+
ouvertureEnCours = false;
|
|
82
|
+
// Le composant peut disparaitre PENDANT l'attente — une navigation, un
|
|
83
|
+
// `@if` qui bascule. `fermer()` ne suffirait pas : il n'y a encore rien a
|
|
84
|
+
// fermer, et le tiroir se poserait apres coup, orphelin.
|
|
85
|
+
detruit = false;
|
|
86
|
+
/**
|
|
87
|
+
* Le service de dialogue, charge a la PREMIERE ouverture et garde ensuite.
|
|
88
|
+
* Rend `null` si le composant a ete detruit pendant l'attente.
|
|
89
|
+
*
|
|
90
|
+
* ⚠️ Le specificateur etant dans la carte d'importation de l'application
|
|
91
|
+
* federee, cet import dynamique resout vers l'INSTANCE PARTAGEE du point
|
|
92
|
+
* d'entree : le tiroir emploie le meme `StDialog`, le meme recouvrement et la
|
|
93
|
+
* meme pile que le reste de l'application. Un import dynamique ne dedouble
|
|
94
|
+
* rien ; il decale seulement le moment du telechargement.
|
|
95
|
+
*
|
|
96
|
+
* ⚠️ **Le controle de destruction est ICI, avant `injecteur.get`, et non chez
|
|
97
|
+
* l'appelant.** Un injecteur detruit ne rend pas `undefined` : il LEVE
|
|
98
|
+
* (NG0205). Le controle place apres la resolution du service arrivait donc
|
|
99
|
+
* trop tard, et une navigation pendant le chargement du module produisait un
|
|
100
|
+
* rejet non gere — invisible en developpement, remonte comme erreur
|
|
101
|
+
* applicative en production, puisque `basculer()` appelle `ouvrir()` sans
|
|
102
|
+
* attendre sa promesse.
|
|
103
|
+
*/
|
|
104
|
+
async serviceDeDialogue() {
|
|
105
|
+
const { StDialog: classe } = await import('@starterlib/ui/surfaces');
|
|
106
|
+
if (this.detruit)
|
|
107
|
+
return null;
|
|
108
|
+
return this.injecteur.get(classe);
|
|
109
|
+
}
|
|
110
|
+
constructor() {
|
|
111
|
+
const abonnement = inject(BreakpointObserver)
|
|
112
|
+
.observe(ECRAN_LARGE)
|
|
113
|
+
.subscribe((etat) => {
|
|
114
|
+
this.ecranLarge.set(etat.matches);
|
|
115
|
+
});
|
|
116
|
+
// Un ecran qui s'elargit pendant que le tiroir est ouvert : la navigation
|
|
117
|
+
// redevient une region, et le tiroir n'a plus de raison d'etre.
|
|
118
|
+
effect(() => {
|
|
119
|
+
if (this.modeEffectif() === 'persistant')
|
|
120
|
+
this.fermer();
|
|
121
|
+
});
|
|
122
|
+
inject(DestroyRef).onDestroy(() => {
|
|
123
|
+
this.detruit = true;
|
|
124
|
+
abonnement.unsubscribe();
|
|
125
|
+
this.fermer();
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Ouvre le tiroir. Asynchrone depuis la 0.8.0 : le module du dialogue se
|
|
130
|
+
* charge a la demande. La promesse est tenue quand le tiroir est a l'ecran —
|
|
131
|
+
* un test l'attend, l'appelant ordinaire n'a rien a en faire.
|
|
132
|
+
*/
|
|
133
|
+
async ouvrir() {
|
|
134
|
+
if (this.modeEffectif() !== 'modal' || this.reference !== null)
|
|
135
|
+
return;
|
|
136
|
+
if (this.ouvertureEnCours)
|
|
137
|
+
return;
|
|
138
|
+
this.ouvertureEnCours = true;
|
|
139
|
+
try {
|
|
140
|
+
const dialogues = await this.serviceDeDialogue();
|
|
141
|
+
// `null` : le composant a disparu pendant l'attente. L'ecran a pu
|
|
142
|
+
// s'elargir aussi — ouvrir maintenant poserait un tiroir que plus rien ne
|
|
143
|
+
// fermerait.
|
|
144
|
+
if (dialogues === null || this.modeEffectif() !== 'modal')
|
|
145
|
+
return;
|
|
146
|
+
const reference = dialogues.ouvrir(this.gabarit(), {
|
|
147
|
+
cote: 'debut',
|
|
148
|
+
etiquette: this.etiquetteLue(),
|
|
149
|
+
});
|
|
150
|
+
this.reference = reference;
|
|
151
|
+
this.ouvertInterne.set(true);
|
|
152
|
+
void reference.ferme.then(() => {
|
|
153
|
+
if (this.reference !== reference)
|
|
154
|
+
return;
|
|
155
|
+
this.reference = null;
|
|
156
|
+
this.ouvertInterne.set(false);
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
finally {
|
|
160
|
+
this.ouvertureEnCours = false;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
fermer() {
|
|
164
|
+
const reference = this.reference;
|
|
165
|
+
if (reference === null)
|
|
166
|
+
return;
|
|
167
|
+
this.reference = null;
|
|
168
|
+
this.ouvertInterne.set(false);
|
|
169
|
+
reference.fermer();
|
|
170
|
+
}
|
|
171
|
+
/** Reste synchrone : c'est ce que lit la liaison de clic du bouton. */
|
|
172
|
+
basculer() {
|
|
173
|
+
if (this.ouvertInterne())
|
|
174
|
+
this.fermer();
|
|
175
|
+
else
|
|
176
|
+
void this.ouvrir();
|
|
177
|
+
}
|
|
178
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StSidenav, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
179
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: StSidenav, isStandalone: true, selector: "st-sidenav", inputs: { etiquette: { classPropertyName: "etiquette", publicName: "etiquette", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-mode": "modeEffectif()" }, classAttribute: "st-sidenav" }, viewQueries: [{ propertyName: "gabarit", first: true, predicate: ["contenu"], descendants: true, isSignal: true }], ngImport: i0, template: "<ng-template #contenu>\n <nav class=\"st-sidenav__navigation\" [attr.id]=\"identifiant\" [attr.aria-label]=\"etiquetteLue()\">\n <ng-content />\n </nav>\n</ng-template>\n\n@if (modeEffectif() === 'persistant') {\n <ng-container [ngTemplateOutlet]=\"contenu\" />\n}\n", 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}:host([data-mode=modal]){display:none}.st-sidenav__navigation{display:flex;flex-direction:column;gap:var(--st-espacement-1);padding:var(--st-espacement-4)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
180
|
+
}
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StSidenav, decorators: [{
|
|
182
|
+
type: Component,
|
|
183
|
+
args: [{ selector: 'st-sidenav', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet], host: {
|
|
184
|
+
class: 'st-sidenav',
|
|
185
|
+
'[attr.data-mode]': 'modeEffectif()',
|
|
186
|
+
}, template: "<ng-template #contenu>\n <nav class=\"st-sidenav__navigation\" [attr.id]=\"identifiant\" [attr.aria-label]=\"etiquetteLue()\">\n <ng-content />\n </nav>\n</ng-template>\n\n@if (modeEffectif() === 'persistant') {\n <ng-container [ngTemplateOutlet]=\"contenu\" />\n}\n", 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}:host([data-mode=modal]){display:none}.st-sidenav__navigation{display:flex;flex-direction:column;gap:var(--st-espacement-1);padding:var(--st-espacement-4)}\n"] }]
|
|
187
|
+
}], ctorParameters: () => [], propDecorators: { etiquette: [{ type: i0.Input, args: [{ isSignal: true, alias: "etiquette", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], gabarit: [{ type: i0.ViewChild, args: ['contenu', { isSignal: true }] }] } });
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Bouton qui ouvre la navigation en tiroir.
|
|
191
|
+
*
|
|
192
|
+
* ⚠️ **Masque quand la navigation est persistante.** Un bouton « Menu » qui ne
|
|
193
|
+
* fait rien, parce que la navigation est deja affichee a cote, est un arret de
|
|
194
|
+
* tabulation inutile et une promesse non tenue.
|
|
195
|
+
*
|
|
196
|
+
* ⚠️ `aria-expanded` suit l'ouverture du tiroir : sans lui, rien ne dit a qui
|
|
197
|
+
* n'en voit pas l'effet que le bouton a agi.
|
|
198
|
+
*/
|
|
199
|
+
class StSidenavToggle {
|
|
200
|
+
stSidenavToggle = input.required(/* @ts-ignore */
|
|
201
|
+
...(ngDevMode ? [{ debugName: "stSidenavToggle" }] : /* istanbul ignore next */ []));
|
|
202
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StSidenavToggle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
203
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: StSidenavToggle, isStandalone: true, selector: "[stSidenavToggle]", inputs: { stSidenavToggle: { classPropertyName: "stSidenavToggle", publicName: "stSidenavToggle", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "aria-haspopup": "dialog" }, listeners: { "click": "stSidenavToggle().basculer()" }, properties: { "attr.aria-expanded": "stSidenavToggle().ouvert()", "attr.hidden": "stSidenavToggle().modeEffectif() === \"modal\" ? null : \"\"" } }, ngImport: i0 });
|
|
204
|
+
}
|
|
205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StSidenavToggle, decorators: [{
|
|
206
|
+
type: Directive,
|
|
207
|
+
args: [{
|
|
208
|
+
selector: '[stSidenavToggle]',
|
|
209
|
+
host: {
|
|
210
|
+
'aria-haspopup': 'dialog',
|
|
211
|
+
'[attr.aria-expanded]': 'stSidenavToggle().ouvert()',
|
|
212
|
+
'[attr.hidden]': 'stSidenavToggle().modeEffectif() === "modal" ? null : ""',
|
|
213
|
+
'(click)': 'stSidenavToggle().basculer()',
|
|
214
|
+
},
|
|
215
|
+
}]
|
|
216
|
+
}], propDecorators: { stSidenavToggle: [{ type: i0.Input, args: [{ isSignal: true, alias: "stSidenavToggle", required: true }] }] } });
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* @starterlib/ui/navigation — la navigation laterale : region a cote du
|
|
220
|
+
* contenu sur grand ecran, tiroir sur petit ecran.
|
|
221
|
+
*
|
|
222
|
+
* ⚠️ Detache de `@starterlib/ui/interactions`, qui agregeait quatre familles
|
|
223
|
+
* derriere UN specificateur (ADR 0031, decision 2). La coquille n'y voulait
|
|
224
|
+
* que `StSidenav`, qui n'a besoin que d'`@angular/cdk/layout` — un observateur
|
|
225
|
+
* de rupture, quelques centaines d'octets —, et payait au passage tout
|
|
226
|
+
* `@angular/aria` amene par les onglets, la selection et l'arbre.
|
|
227
|
+
*
|
|
228
|
+
* Pair lourd de ce point d'entree, et le seul : `@angular/cdk/layout`.
|
|
229
|
+
* L'ouverture du tiroir charge `@starterlib/ui/surfaces` A LA DEMANDE : le
|
|
230
|
+
* dialogue n'est plus une arete statique du chemin de peinture (ADR 0031,
|
|
231
|
+
* decision 3).
|
|
232
|
+
*
|
|
233
|
+
* ⚠️ En federation, ce point d'entree se partage SEPAREMENT : c'est un
|
|
234
|
+
* specificateur de module distinct.
|
|
235
|
+
*
|
|
236
|
+
* ```ts
|
|
237
|
+
* import { StSidenav, StSidenavToggle } from '@starterlib/ui/navigation';
|
|
238
|
+
* ```
|
|
239
|
+
*/
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Generated bundle index. Do not edit.
|
|
243
|
+
*/
|
|
244
|
+
|
|
245
|
+
export { StSidenav, StSidenavToggle };
|
|
246
|
+
//# sourceMappingURL=starterlib-ui-navigation.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starterlib-ui-navigation.mjs","sources":["../../../../packages/ui/navigation/src/lib/st-sidenav.ts","../../../../packages/ui/navigation/src/lib/st-sidenav.html","../../../../packages/ui/navigation/src/lib/st-sidenav-toggle.ts","../../../../packages/ui/navigation/src/public-api.ts","../../../../packages/ui/navigation/src/starterlib-ui-navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, model, computed, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/aria/tabs';
|
|
4
|
+
import { TabList, Tab, Tabs, TabPanel, TabContent } from '@angular/aria/tabs';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Onglets, sur les primitives `@angular/aria/tabs`.
|
|
8
|
+
*
|
|
9
|
+
* ```html
|
|
10
|
+
* <st-tabs etiquette="Compte" [onglets]="onglets" [(selection)]="onglet">
|
|
11
|
+
* <st-tab-panel valeur="operations">
|
|
12
|
+
* <ng-template stTabContent><app-operations /></ng-template>
|
|
13
|
+
* </st-tab-panel>
|
|
14
|
+
* <st-tab-panel valeur="virements">
|
|
15
|
+
* <ng-template stTabContent><app-virements /></ng-template>
|
|
16
|
+
* </st-tab-panel>
|
|
17
|
+
* </st-tabs>
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* ⚠️ **La liste d'onglets est rendue par le composant, a partir de donnees**, et
|
|
21
|
+
* non projetee. Les primitives d'Aria relient un onglet a sa liste par
|
|
22
|
+
* INJECTION, et un contenu projete garde l'injecteur de l'endroit ou il est
|
|
23
|
+
* ecrit : c'est la lecon de `st-menu`, ou des elements projetes ne
|
|
24
|
+
* s'enregistraient jamais. Rendue ici, la liste est a coup sur sous la bonne
|
|
25
|
+
* primitive — et ses valeurs peuvent etre dites en francais.
|
|
26
|
+
*
|
|
27
|
+
* Les PANNEAUX, eux, sont projetes : ecrits directement sous `st-tabs`, leur
|
|
28
|
+
* injecteur parent est celui de l'hote, qui porte la primitive `Tabs`.
|
|
29
|
+
*
|
|
30
|
+
* ⚠️ **Activation manuelle par defaut.** En activation automatique, chaque
|
|
31
|
+
* fleche SELECTIONNE l'onglet atteint ; son contenu differe se rend, et charge
|
|
32
|
+
* ses donnees. Parcourir cinq onglets au clavier lancerait cinq requetes pour en
|
|
33
|
+
* lire un. En manuelle, les fleches deplacent le focus et Entree ou Espace
|
|
34
|
+
* selectionne. `automatique` reste le bon choix quand les panneaux sont deja la
|
|
35
|
+
* et s'affichent sans delai.
|
|
36
|
+
*/
|
|
37
|
+
class StTabs {
|
|
38
|
+
onglets = input.required(/* @ts-ignore */
|
|
39
|
+
...(ngDevMode ? [{ debugName: "onglets" }] : /* istanbul ignore next */ []));
|
|
40
|
+
/** Nom accessible de la liste : sans lui, plusieurs listes d'onglets se confondent. */
|
|
41
|
+
etiquette = input.required(/* @ts-ignore */
|
|
42
|
+
...(ngDevMode ? [{ debugName: "etiquette" }] : /* istanbul ignore next */ []));
|
|
43
|
+
activation = input('manuelle', /* @ts-ignore */
|
|
44
|
+
...(ngDevMode ? [{ debugName: "activation" }] : /* istanbul ignore next */ []));
|
|
45
|
+
orientation = input('horizontale', /* @ts-ignore */
|
|
46
|
+
...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
47
|
+
/** Valeur de l'onglet selectionne. `undefined` : le premier onglet disponible. */
|
|
48
|
+
selection = model(undefined, /* @ts-ignore */
|
|
49
|
+
...(ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []));
|
|
50
|
+
/**
|
|
51
|
+
* ⚠️ Toujours un onglet selectionne. Le motif ARIA l'exige : une liste sans
|
|
52
|
+
* selection n'affiche aucun panneau, et la page parait vide sans raison.
|
|
53
|
+
*/
|
|
54
|
+
selectionEffective = computed(() => this.selection() ?? this.onglets().find((onglet) => onglet.desactive !== true)?.valeur, /* @ts-ignore */
|
|
55
|
+
...(ngDevMode ? [{ debugName: "selectionEffective" }] : /* istanbul ignore next */ []));
|
|
56
|
+
modeAria = computed(() => this.activation() === 'automatique' ? 'follow' : 'explicit', /* @ts-ignore */
|
|
57
|
+
...(ngDevMode ? [{ debugName: "modeAria" }] : /* istanbul ignore next */ []));
|
|
58
|
+
orientationAria = computed(() => this.orientation() === 'verticale' ? 'vertical' : 'horizontal', /* @ts-ignore */
|
|
59
|
+
...(ngDevMode ? [{ debugName: "orientationAria" }] : /* istanbul ignore next */ []));
|
|
60
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StTabs, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
61
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: StTabs, isStandalone: true, selector: "st-tabs", inputs: { onglets: { classPropertyName: "onglets", publicName: "onglets", isSignal: true, isRequired: true, transformFunction: null }, etiquette: { classPropertyName: "etiquette", publicName: "etiquette", isSignal: true, isRequired: true, transformFunction: null }, activation: { classPropertyName: "activation", publicName: "activation", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selection: "selectionChange" }, host: { properties: { "attr.data-orientation": "orientation()" }, classAttribute: "st-tabs" }, hostDirectives: [{ directive: i1.Tabs }], ngImport: i0, template: "<div\n class=\"st-tabs__liste\"\n ngTabList\n [attr.aria-label]=\"etiquette()\"\n [selectionMode]=\"modeAria()\"\n [orientation]=\"orientationAria()\"\n [selectedTab]=\"selectionEffective()\"\n (selectedTabChange)=\"selection.set($event)\"\n>\n @for (onglet of onglets(); track onglet.valeur) {\n <button\n class=\"st-tabs__onglet\"\n type=\"button\"\n ngTab\n [value]=\"onglet.valeur\"\n [disabled]=\"onglet.desactive === true\"\n >\n {{ onglet.libelle }}\n </button>\n }\n</div>\n\n<div class=\"st-tabs__panneaux\">\n <ng-content />\n</div>\n", 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}:host([data-orientation=verticale]){display:flex;gap:var(--st-espacement-4)}.st-tabs__liste{display:flex;gap:var(--st-espacement-1);border-block-end:1px solid var(--st-couleur-bordure)}:host([data-orientation=verticale]) .st-tabs__liste{flex-direction:column;border-block-end:0;border-inline-end:1px solid var(--st-couleur-bordure)}.st-tabs__panneaux{flex:1 1 auto;min-inline-size:0}.st-tabs__onglet:focus-visible{outline:2px solid var(--st-couleur-anneau-focus);outline-offset:2px}.st-tabs__onglet{min-block-size:var(--st-cible-tactile-min);padding:var(--st-espacement-2) var(--st-espacement-4);font:inherit;color:var(--st-couleur-texte-discret);cursor:pointer;background:none;border:0;border-block-end:3px solid transparent}@media(hover:hover){.st-tabs__onglet:hover{color:var(--st-couleur-texte)}}.st-tabs__onglet[aria-selected=true]{font-weight:var(--st-graisse-semi);color:var(--st-couleur-texte);border-block-end-color:var(--st-couleur-primaire)}.st-tabs__onglet[aria-disabled=true]{color:var(--st-couleur-texte-desactive);cursor:not-allowed}@media(forced-colors:active){.st-tabs__onglet[aria-selected=true]{border-block-end-color:Highlight}}\n"], dependencies: [{ kind: "directive", type: TabList, selector: "[ngTabList]", inputs: ["orientation", "wrap", "softDisabled", "focusMode", "selectionMode", "selectedTab", "disabled"], outputs: ["selectedTabChange"], exportAs: ["ngTabList"] }, { kind: "directive", type: Tab, selector: "[ngTab]", inputs: ["id", "disabled", "value"], exportAs: ["ngTab"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
62
|
+
}
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StTabs, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{ selector: 'st-tabs', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TabList, Tab], hostDirectives: [Tabs], host: {
|
|
66
|
+
class: 'st-tabs',
|
|
67
|
+
'[attr.data-orientation]': 'orientation()',
|
|
68
|
+
}, template: "<div\n class=\"st-tabs__liste\"\n ngTabList\n [attr.aria-label]=\"etiquette()\"\n [selectionMode]=\"modeAria()\"\n [orientation]=\"orientationAria()\"\n [selectedTab]=\"selectionEffective()\"\n (selectedTabChange)=\"selection.set($event)\"\n>\n @for (onglet of onglets(); track onglet.valeur) {\n <button\n class=\"st-tabs__onglet\"\n type=\"button\"\n ngTab\n [value]=\"onglet.valeur\"\n [disabled]=\"onglet.desactive === true\"\n >\n {{ onglet.libelle }}\n </button>\n }\n</div>\n\n<div class=\"st-tabs__panneaux\">\n <ng-content />\n</div>\n", 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}:host([data-orientation=verticale]){display:flex;gap:var(--st-espacement-4)}.st-tabs__liste{display:flex;gap:var(--st-espacement-1);border-block-end:1px solid var(--st-couleur-bordure)}:host([data-orientation=verticale]) .st-tabs__liste{flex-direction:column;border-block-end:0;border-inline-end:1px solid var(--st-couleur-bordure)}.st-tabs__panneaux{flex:1 1 auto;min-inline-size:0}.st-tabs__onglet:focus-visible{outline:2px solid var(--st-couleur-anneau-focus);outline-offset:2px}.st-tabs__onglet{min-block-size:var(--st-cible-tactile-min);padding:var(--st-espacement-2) var(--st-espacement-4);font:inherit;color:var(--st-couleur-texte-discret);cursor:pointer;background:none;border:0;border-block-end:3px solid transparent}@media(hover:hover){.st-tabs__onglet:hover{color:var(--st-couleur-texte)}}.st-tabs__onglet[aria-selected=true]{font-weight:var(--st-graisse-semi);color:var(--st-couleur-texte);border-block-end-color:var(--st-couleur-primaire)}.st-tabs__onglet[aria-disabled=true]{color:var(--st-couleur-texte-desactive);cursor:not-allowed}@media(forced-colors:active){.st-tabs__onglet[aria-selected=true]{border-block-end-color:Highlight}}\n"] }]
|
|
69
|
+
}], propDecorators: { onglets: [{ type: i0.Input, args: [{ isSignal: true, alias: "onglets", required: true }] }], etiquette: [{ type: i0.Input, args: [{ isSignal: true, alias: "etiquette", required: true }] }], activation: [{ type: i0.Input, args: [{ isSignal: true, alias: "activation", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }, { type: i0.Output, args: ["selectionChange"] }] } });
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Panneau d'un onglet, relie par sa `valeur`.
|
|
73
|
+
*
|
|
74
|
+
* ⚠️ La primitive d'Aria ne masque RIEN : elle pose `inert` sur le panneau
|
|
75
|
+
* inactif, ce qui le retire de l'arbre d'accessibilite et du clavier, mais le
|
|
76
|
+
* laisse a l'ecran. Sa documentation le dit en une ligne. Sans le style de ce
|
|
77
|
+
* composant, tous les panneaux s'affichaient empiles, muets et intouchables.
|
|
78
|
+
*/
|
|
79
|
+
/* eslint-disable-next-line @typescript-eslint/no-extraneous-class --
|
|
80
|
+
Vide par construction : tout le comportement vient de la primitive d'Aria
|
|
81
|
+
composee en directive d'hote. La classe porte le selecteur et le style du
|
|
82
|
+
socle, rien d'autre ; y ajouter un membre pour satisfaire la regle serait
|
|
83
|
+
inventer de l'API. */
|
|
84
|
+
class StTabPanel {
|
|
85
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StTabPanel, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.6", type: StTabPanel, isStandalone: true, selector: "st-tab-panel", host: { classAttribute: "st-tab-panel" }, hostDirectives: [{ directive: i1.TabPanel, inputs: ["value", "valeur"] }], ngImport: i0, template: "<ng-content />\n", 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:focus-visible{outline:2px solid var(--st-couleur-anneau-focus);outline-offset:2px}:host{display:block;padding-block:var(--st-espacement-4)}:host([inert]){display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StTabPanel, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'st-tab-panel', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [{ directive: TabPanel, inputs: ['value: valeur'] }], host: { class: 'st-tab-panel' }, template: "<ng-content />\n", 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:focus-visible{outline:2px solid var(--st-couleur-anneau-focus);outline-offset:2px}:host{display:block;padding-block:var(--st-espacement-4)}:host([inert]){display:none}\n"] }]
|
|
91
|
+
}] });
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Contenu differe d'un panneau : rendu a la premiere selection de son onglet.
|
|
95
|
+
*
|
|
96
|
+
* Un ecran a cinq onglets ne charge ainsi que celui qu'on regarde. Voir
|
|
97
|
+
* l'activation manuelle de `st-tabs` : c'est ce qui empeche qu'un simple
|
|
98
|
+
* parcours au clavier les rende tous.
|
|
99
|
+
*/
|
|
100
|
+
/* eslint-disable-next-line @typescript-eslint/no-extraneous-class --
|
|
101
|
+
Vide par construction : tout le comportement vient de la primitive d'Aria
|
|
102
|
+
composee en directive d'hote. La classe porte le selecteur et le style du
|
|
103
|
+
socle, rien d'autre ; y ajouter un membre pour satisfaire la regle serait
|
|
104
|
+
inventer de l'API. */
|
|
105
|
+
class StTabContent {
|
|
106
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StTabContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
107
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.6", type: StTabContent, isStandalone: true, selector: "ng-template[stTabContent]", hostDirectives: [{ directive: i1.TabContent }], ngImport: i0 });
|
|
108
|
+
}
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: StTabContent, decorators: [{
|
|
110
|
+
type: Directive,
|
|
111
|
+
args: [{
|
|
112
|
+
selector: 'ng-template[stTabContent]',
|
|
113
|
+
hostDirectives: [TabContent],
|
|
114
|
+
}]
|
|
115
|
+
}] });
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* @starterlib/ui/onglets — les onglets et leurs panneaux.
|
|
119
|
+
*
|
|
120
|
+
* ⚠️ Detache de `@starterlib/ui/interactions` (ADR 0031, decision 2) : le
|
|
121
|
+
* decoupage suit la frontiere des pairs reellement observee. Pair lourd de ce
|
|
122
|
+
* point d'entree, et le seul : `@angular/aria/tabs`.
|
|
123
|
+
*
|
|
124
|
+
* ⚠️ En federation, ce point d'entree se partage SEPAREMENT : c'est un
|
|
125
|
+
* specificateur de module distinct.
|
|
126
|
+
*
|
|
127
|
+
* ```ts
|
|
128
|
+
* import { StTabs, StTabPanel, StTabContent } from '@starterlib/ui/onglets';
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Generated bundle index. Do not edit.
|
|
134
|
+
*/
|
|
135
|
+
|
|
136
|
+
export { StTabContent, StTabPanel, StTabs };
|
|
137
|
+
//# sourceMappingURL=starterlib-ui-onglets.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starterlib-ui-onglets.mjs","sources":["../../../../packages/ui/onglets/src/lib/st-tabs.ts","../../../../packages/ui/onglets/src/lib/st-tabs.html","../../../../packages/ui/onglets/src/lib/st-tab-panel.ts","../../../../packages/ui/onglets/src/lib/st-tab-panel.html","../../../../packages/ui/onglets/src/lib/st-tab-content.ts","../../../../packages/ui/onglets/src/public-api.ts","../../../../packages/ui/onglets/src/starterlib-ui-onglets.ts"],"names":[],"mappings":"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"}
|