@starterlib/ui 0.8.0 → 0.9.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 (55) hide show
  1. package/LICENCES-TIERCES.md +236 -0
  2. package/README.md +101 -47
  3. package/assets/icones/catalogue.json +3296 -0
  4. package/assets/icones/sprite.svg +235 -35
  5. package/fesm2022/starterlib-ui-arbre.mjs +473 -80
  6. package/fesm2022/starterlib-ui-arbre.mjs.map +1 -1
  7. package/fesm2022/starterlib-ui-donnees.mjs +3551 -522
  8. package/fesm2022/starterlib-ui-donnees.mjs.map +1 -1
  9. package/fesm2022/starterlib-ui-formulaires.mjs +3186 -443
  10. package/fesm2022/starterlib-ui-formulaires.mjs.map +1 -1
  11. package/fesm2022/starterlib-ui-libelles-en.mjs +380 -139
  12. package/fesm2022/starterlib-ui-libelles-en.mjs.map +1 -1
  13. package/fesm2022/starterlib-ui-listes.mjs +5354 -658
  14. package/fesm2022/starterlib-ui-listes.mjs.map +1 -1
  15. package/fesm2022/starterlib-ui-messagerie.mjs +737 -0
  16. package/fesm2022/starterlib-ui-messagerie.mjs.map +1 -0
  17. package/fesm2022/starterlib-ui-navigation.mjs +506 -243
  18. package/fesm2022/starterlib-ui-navigation.mjs.map +1 -1
  19. package/fesm2022/starterlib-ui-onglets.mjs +369 -135
  20. package/fesm2022/starterlib-ui-onglets.mjs.map +1 -1
  21. package/fesm2022/starterlib-ui-parcours.mjs +2449 -0
  22. package/fesm2022/starterlib-ui-parcours.mjs.map +1 -0
  23. package/fesm2022/starterlib-ui-qr.mjs +907 -0
  24. package/fesm2022/starterlib-ui-qr.mjs.map +1 -0
  25. package/fesm2022/starterlib-ui-saisie.mjs +8566 -1589
  26. package/fesm2022/starterlib-ui-saisie.mjs.map +1 -1
  27. package/fesm2022/starterlib-ui-selection.mjs +1340 -268
  28. package/fesm2022/starterlib-ui-selection.mjs.map +1 -1
  29. package/fesm2022/starterlib-ui-sens.mjs +59 -0
  30. package/fesm2022/starterlib-ui-sens.mjs.map +1 -0
  31. package/fesm2022/starterlib-ui-surfaces.mjs +5140 -1387
  32. package/fesm2022/starterlib-ui-surfaces.mjs.map +1 -1
  33. package/fesm2022/starterlib-ui.mjs +10737 -2871
  34. package/fesm2022/starterlib-ui.mjs.map +1 -1
  35. package/package.json +27 -18
  36. package/styles/amorce.css +69 -0
  37. package/styles/couches.css +178 -0
  38. package/types/starterlib-ui-arbre.d.ts +199 -25
  39. package/types/starterlib-ui-donnees.d.ts +1441 -180
  40. package/types/starterlib-ui-formulaires.d.ts +1174 -139
  41. package/types/starterlib-ui-libelles-en.d.ts +3 -23
  42. package/types/starterlib-ui-listes.d.ts +2310 -255
  43. package/types/starterlib-ui-messagerie.d.ts +317 -0
  44. package/types/starterlib-ui-navigation.d.ts +201 -63
  45. package/types/starterlib-ui-onglets.d.ts +166 -43
  46. package/types/starterlib-ui-parcours.d.ts +916 -0
  47. package/types/starterlib-ui-qr.d.ts +105 -0
  48. package/types/starterlib-ui-saisie.d.ts +3431 -549
  49. package/types/starterlib-ui-selection.d.ts +441 -65
  50. package/types/starterlib-ui-sens.d.ts +44 -0
  51. package/types/starterlib-ui-surfaces.d.ts +1899 -510
  52. package/types/starterlib-ui.d.ts +4739 -1120
  53. package/fesm2022/starterlib-ui-interactions.mjs +0 -43
  54. package/fesm2022/starterlib-ui-interactions.mjs.map +0 -1
  55. package/types/starterlib-ui-interactions.d.ts +0 -4
@@ -1 +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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"}
1
+ {"version":3,"file":"starterlib-ui-navigation.mjs","names":[],"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/lib/st-nav-tabs.ts","../../../../packages/ui/navigation/src/lib/st-nav-tabs.html","../../../../packages/ui/navigation/src/lib/st-page-nav.ts","../../../../packages/ui/navigation/src/lib/st-page-nav.html"],"mappings":"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"}
@@ -1,137 +1,371 @@
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 });
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, Directive, ElementRef, afterRenderEffect, booleanAttribute, computed, effect, inject, input, isDevMode, model } from "@angular/core";
3
+ import * as i1 from "@angular/aria/tabs";
4
+ import { Tab, TabContent, TabList, TabPanel, Tabs } from "@angular/aria/tabs";
5
+ import { ST_LOCALE, StIcon, StIdentifiants } from "@starterlib/ui";
6
+ var StTabs = class StTabs {
7
+ hote = inject(ElementRef).nativeElement;
8
+ locale = inject(ST_LOCALE);
9
+ baseParDefaut = inject(StIdentifiants).prochain("st-tabs");
10
+ onglets = input.required(...ngDevMode ? [{ debugName: "onglets" }] : /* istanbul ignore next */ []);
11
+ etiquette = input.required(...ngDevMode ? [{ debugName: "etiquette" }] : /* istanbul ignore next */ []);
12
+ activation = input("manuelle", ...ngDevMode ? [{ debugName: "activation" }] : /* istanbul ignore next */ []);
13
+ orientation = input("horizontale", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
14
+ identifiant = input(void 0, ...ngDevMode ? [{ debugName: "identifiant" }] : /* istanbul ignore next */ []);
15
+ selection = model(void 0, ...ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []);
16
+ selectionEffective = computed(() => {
17
+ const onglets = this.onglets();
18
+ const demandee = this.selection();
19
+ return onglets.some((o) => o.valeur === demandee && o.desactive !== true) ? demandee : onglets.find((o) => o.desactive !== true)?.valeur;
20
+ }, ...ngDevMode ? [{ debugName: "selectionEffective" }] : /* istanbul ignore next */ []);
21
+ modeAria = computed(() => this.activation() === "automatique" ? "follow" : "explicit", ...ngDevMode ? [{ debugName: "modeAria" }] : /* istanbul ignore next */ []);
22
+ orientationAria = computed(() => this.orientation() === "verticale" ? "vertical" : "horizontal", ...ngDevMode ? [{ debugName: "orientationAria" }] : /* istanbul ignore next */ []);
23
+ formatDesComptes = computed(() => new Intl.NumberFormat(this.locale()), ...ngDevMode ? [{ debugName: "formatDesComptes" }] : /* istanbul ignore next */ []);
24
+ constructor() {
25
+ effect(() => {
26
+ const demandee = this.selection();
27
+ const effective = this.selectionEffective();
28
+ if (effective === demandee) return;
29
+ if (demandee !== void 0 && isDevMode()) console.warn(`[st-tabs] selection "${demandee}" : aucun onglet selectionnable de cette valeur (inconnue ou desactivee) ; ${effective === void 0 ? "aucun onglet disponible" : `repli sur "${effective}"`}.`);
30
+ this.selection.set(effective);
31
+ });
32
+ afterRenderEffect({
33
+ earlyRead: () => {
34
+ const valeur = this.selectionEffective();
35
+ if (valeur === void 0 || this.orientation() === "verticale") return 0;
36
+ const liste = this.hote.querySelector(".st-tabs__liste");
37
+ const onglet = this.hote.ownerDocument.getElementById(this.idDOnglet(valeur));
38
+ if (liste === null || onglet === null) return 0;
39
+ const cadre = liste.getBoundingClientRect();
40
+ const boite = onglet.getBoundingClientRect();
41
+ const calcule = this.hote.ownerDocument.defaultView?.getComputedStyle(liste);
42
+ const avant = cadre.left + (Number.parseFloat(calcule?.scrollPaddingLeft ?? "") || 0);
43
+ const apres = cadre.right - (Number.parseFloat(calcule?.scrollPaddingRight ?? "") || 0);
44
+ if (boite.left < avant) return boite.left - avant;
45
+ if (boite.right > apres) return Math.min(boite.right - apres, boite.left - avant);
46
+ return 0;
47
+ },
48
+ write: (ecart) => {
49
+ const decalage = ecart();
50
+ const liste = this.hote.querySelector(".st-tabs__liste");
51
+ if (decalage !== 0 && liste !== null) liste.scrollLeft += decalage;
52
+ }
53
+ });
54
+ }
55
+ idDOnglet(valeur) {
56
+ return `${this.identifiant() ?? this.baseParDefaut}-onglet-${valeur}`;
57
+ }
58
+ compteDe(compte) {
59
+ return this.formatDesComptes().format(compte);
60
+ }
61
+ static ɵfac = i0.ɵɵngDeclareFactory({
62
+ minVersion: "12.0.0",
63
+ version: "22.2.0",
64
+ ngImport: i0,
65
+ type: StTabs,
66
+ deps: [],
67
+ target: i0.ɵɵFactoryTarget.Component
68
+ });
69
+ static ɵcmp = i0.ɵɵngDeclareComponent({
70
+ minVersion: "17.0.0",
71
+ version: "22.2.0",
72
+ type: StTabs,
73
+ isStandalone: true,
74
+ selector: "st-tabs",
75
+ inputs: {
76
+ onglets: {
77
+ classPropertyName: "onglets",
78
+ publicName: "onglets",
79
+ isSignal: true,
80
+ isRequired: true,
81
+ transformFunction: null
82
+ },
83
+ etiquette: {
84
+ classPropertyName: "etiquette",
85
+ publicName: "etiquette",
86
+ isSignal: true,
87
+ isRequired: true,
88
+ transformFunction: null
89
+ },
90
+ activation: {
91
+ classPropertyName: "activation",
92
+ publicName: "activation",
93
+ isSignal: true,
94
+ isRequired: false,
95
+ transformFunction: null
96
+ },
97
+ orientation: {
98
+ classPropertyName: "orientation",
99
+ publicName: "orientation",
100
+ isSignal: true,
101
+ isRequired: false,
102
+ transformFunction: null
103
+ },
104
+ identifiant: {
105
+ classPropertyName: "identifiant",
106
+ publicName: "identifiant",
107
+ isSignal: true,
108
+ isRequired: false,
109
+ transformFunction: null
110
+ },
111
+ selection: {
112
+ classPropertyName: "selection",
113
+ publicName: "selection",
114
+ isSignal: true,
115
+ isRequired: false,
116
+ transformFunction: null
117
+ }
118
+ },
119
+ outputs: { selection: "selectionChange" },
120
+ host: {
121
+ properties: { "attr.data-orientation": "orientation()" },
122
+ classAttribute: "st-tabs"
123
+ },
124
+ hostDirectives: [{ directive: i1.Tabs }],
125
+ ngImport: i0,
126
+ 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 [id]=\"idDOnglet(onglet.valeur)\"\n [value]=\"onglet.valeur\"\n [disabled]=\"onglet.desactive === true\"\n >\n @if (onglet.icone; as icone) {\n <st-icon [icone]=\"icone\" taille=\"18\" />\n }\n <span class=\"st-tabs__libelle\">{{ onglet.libelle }}</span>\n <!-- Compte et complement entrent dans le NOM par un texte lecteur-seul (« Operations, 42 ») ;\n ce que l'on voit est muet : lu tel quel, « Operations42 » colle au libelle. -->\n @if (onglet.compte !== undefined) {\n <span class=\"st-vh\">, {{ compteDe(onglet.compte) }}</span>\n <span class=\"st-tabs__compte\" aria-hidden=\"true\">{{ compteDe(onglet.compte) }}</span>\n }\n @if (onglet.complement) {\n <span class=\"st-vh\">, {{ onglet.complement }}</span>\n <span class=\"st-tabs__complement\" aria-hidden=\"true\">{{ onglet.complement }}</span>\n }\n @if (onglet.valeur === selectionEffective()) {\n <span class=\"st-tabs__marqueur\" aria-hidden=\"true\"></span>\n }\n </button>\n }\n</div>\n\n<div class=\"st-tabs__panneaux\">\n <ng-content />\n</div>\n",
127
+ 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-4);align-items:center;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--st-espacement-4);scrollbar-width:thin;background:linear-gradient(to right,var(--st-couleur-surface) 30%,transparent) left center/var(--st-espacement-10) 100% no-repeat local,linear-gradient(to left,var(--st-couleur-surface) 30%,transparent) right center/var(--st-espacement-10) 100% no-repeat local,radial-gradient(farthest-side at 0 50%,var(--st-couleur-ombre),transparent) left center/var(--st-espacement-3) 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,var(--st-couleur-ombre),transparent) right center/var(--st-espacement-3) 100% no-repeat scroll;box-shadow:inset 0 calc(-1 * var(--st-epaisseur-capillaire)) 0 0 var(--st-couleur-bordure)}:host([data-orientation=verticale]) .st-tabs__liste{flex-direction:column;gap:0;align-items:stretch;overflow:visible;scroll-snap-type:none;background:none;border-inline-end:var(--st-epaisseur-capillaire) solid var(--st-couleur-bordure);box-shadow:none}.st-tabs__panneaux{flex:1 1 auto;min-inline-size:0}.st-tabs__onglet:focus-visible{outline:var(--st-focus-epaisseur) solid var(--st-couleur-anneau-focus);outline-offset:calc(-1 * var(--st-focus-epaisseur))}.st-tabs__onglet{font-size:var(--st-taille-sm);line-height:var(--st-interligne-sm);font-weight:var(--st-graisse-moyenne);letter-spacing:var(--st-interlettrage-normal);position:relative;display:flex;flex:none;gap:var(--st-espacement-1);align-items:center;block-size:var(--st-hauteur-commande-defaut);min-inline-size:var(--st-cible-tactile-min);padding-block:0;padding-inline:var(--st-espacement-4);font-family:inherit;color:var(--st-couleur-texte-discret);white-space:nowrap;cursor:pointer;background-color:transparent;border:0;border-radius:0;scroll-snap-align:start;transition:color var(--st-duree-rapide) var(--st-courbe-standard),background-color var(--st-duree-rapide) var(--st-courbe-standard)}:host([data-orientation=verticale]) .st-tabs__onglet{gap:var(--st-espacement-2);text-align:start}.st-tabs__complement{margin-inline-start:auto;padding-inline-start:var(--st-espacement-2);font-size:var(--st-taille-2xs);line-height:var(--st-interligne-2xs);font-weight:var(--st-graisse-semi);font-variant-numeric:var(--st-chiffres-alignes);letter-spacing:var(--st-interlettrage-capitales);color:var(--st-couleur-texte-attenue)}.st-tabs__compte{margin-inline-start:var(--st-espacement-1-5);padding-block:var(--st-espacement-demi);padding-inline:var(--st-espacement-2);font-size:var(--st-taille-2xs);line-height:var(--st-interligne-2xs);font-weight:var(--st-graisse-semi);font-variant-numeric:var(--st-chiffres-alignes);letter-spacing:var(--st-interlettrage-capitales);color:var(--st-couleur-texte-discret);background-color:var(--st-couleur-surface-enfoncee);border-radius:var(--st-rayon-pleine)}.st-tabs__marqueur{position:absolute;inset-inline:0;inset-block-end:calc(-1 * var(--st-epaisseur-capillaire));block-size:var(--st-epaisseur-forte);background-color:var(--st-couleur-bordure-selection);forced-color-adjust:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}:host([data-orientation=verticale]) .st-tabs__marqueur{inset-block:0;inset-inline:auto calc(-1 * var(--st-epaisseur-capillaire));inline-size:var(--st-epaisseur-forte);block-size:auto}.st-tabs__onglet:active:not([aria-disabled=true]){color:var(--st-couleur-texte);background-color:var(--st-couleur-surface-active);border-start-start-radius:var(--st-rayon-sm);border-start-end-radius:var(--st-rayon-sm)}@media(hover:hover){.st-tabs__onglet:hover:not([aria-selected=true],[aria-disabled=true],:active){color:var(--st-couleur-texte);background-color:color-mix(in srgb,var(--st-couleur-surface-conteneur-bas) 70%,transparent);border-start-start-radius:var(--st-rayon-sm);border-start-end-radius:var(--st-rayon-sm)}}.st-tabs__onglet[aria-selected=true]{font-weight:var(--st-graisse-semi);color:var(--st-couleur-texte-primaire);background-color:var(--st-couleur-surface-conteneur-bas);border-start-start-radius:var(--st-rayon-sm);border-start-end-radius:var(--st-rayon-sm)}:host([data-orientation=verticale]) .st-tabs__onglet{border-radius:0}.st-tabs__onglet[aria-disabled=true]{color:var(--st-couleur-texte-desactive);cursor:not-allowed}@media(forced-colors:active){:host(:not([data-orientation=verticale])) .st-tabs__liste{border-block-end:var(--st-epaisseur-capillaire) solid var(--st-couleur-bordure)}}@media print{.st-tabs__liste{flex-wrap:wrap;overflow:visible;background:none;border-block-end:var(--st-epaisseur-capillaire) solid var(--st-couleur-bordure);box-shadow:none}:host([data-orientation=verticale]) .st-tabs__liste{border-block-end:0}}\n"],
128
+ dependencies: [
129
+ {
130
+ kind: "directive",
131
+ type: TabList,
132
+ selector: "[ngTabList]",
133
+ inputs: [
134
+ "orientation",
135
+ "wrap",
136
+ "softDisabled",
137
+ "focusMode",
138
+ "selectionMode",
139
+ "selectedTab",
140
+ "disabled"
141
+ ],
142
+ outputs: ["selectedTabChange"],
143
+ exportAs: ["ngTabList"]
144
+ },
145
+ {
146
+ kind: "directive",
147
+ type: Tab,
148
+ selector: "[ngTab]",
149
+ inputs: [
150
+ "id",
151
+ "disabled",
152
+ "value"
153
+ ],
154
+ exportAs: ["ngTab"]
155
+ },
156
+ {
157
+ kind: "component",
158
+ type: StIcon,
159
+ selector: "st-icon",
160
+ inputs: [
161
+ "icone",
162
+ "nom",
163
+ "variante",
164
+ "sprite",
165
+ "nomMetier",
166
+ "taille",
167
+ "ton",
168
+ "etiquette",
169
+ "miroir"
170
+ ]
171
+ }
172
+ ],
173
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
174
+ });
175
+ };
176
+ i0.ɵɵngDeclareClassMetadata({
177
+ minVersion: "12.0.0",
178
+ version: "22.2.0",
179
+ ngImport: i0,
180
+ type: StTabs,
181
+ decorators: [{
182
+ type: Component,
183
+ args: [{
184
+ selector: "st-tabs",
185
+ changeDetection: ChangeDetectionStrategy.OnPush,
186
+ imports: [
187
+ TabList,
188
+ Tab,
189
+ StIcon
190
+ ],
191
+ hostDirectives: [Tabs],
192
+ host: {
193
+ class: "st-tabs",
194
+ "[attr.data-orientation]": "orientation()"
195
+ },
196
+ 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 [id]=\"idDOnglet(onglet.valeur)\"\n [value]=\"onglet.valeur\"\n [disabled]=\"onglet.desactive === true\"\n >\n @if (onglet.icone; as icone) {\n <st-icon [icone]=\"icone\" taille=\"18\" />\n }\n <span class=\"st-tabs__libelle\">{{ onglet.libelle }}</span>\n <!-- Compte et complement entrent dans le NOM par un texte lecteur-seul (« Operations, 42 ») ;\n ce que l'on voit est muet : lu tel quel, « Operations42 » colle au libelle. -->\n @if (onglet.compte !== undefined) {\n <span class=\"st-vh\">, {{ compteDe(onglet.compte) }}</span>\n <span class=\"st-tabs__compte\" aria-hidden=\"true\">{{ compteDe(onglet.compte) }}</span>\n }\n @if (onglet.complement) {\n <span class=\"st-vh\">, {{ onglet.complement }}</span>\n <span class=\"st-tabs__complement\" aria-hidden=\"true\">{{ onglet.complement }}</span>\n }\n @if (onglet.valeur === selectionEffective()) {\n <span class=\"st-tabs__marqueur\" aria-hidden=\"true\"></span>\n }\n </button>\n }\n</div>\n\n<div class=\"st-tabs__panneaux\">\n <ng-content />\n</div>\n",
197
+ 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-4);align-items:center;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:var(--st-espacement-4);scrollbar-width:thin;background:linear-gradient(to right,var(--st-couleur-surface) 30%,transparent) left center/var(--st-espacement-10) 100% no-repeat local,linear-gradient(to left,var(--st-couleur-surface) 30%,transparent) right center/var(--st-espacement-10) 100% no-repeat local,radial-gradient(farthest-side at 0 50%,var(--st-couleur-ombre),transparent) left center/var(--st-espacement-3) 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,var(--st-couleur-ombre),transparent) right center/var(--st-espacement-3) 100% no-repeat scroll;box-shadow:inset 0 calc(-1 * var(--st-epaisseur-capillaire)) 0 0 var(--st-couleur-bordure)}:host([data-orientation=verticale]) .st-tabs__liste{flex-direction:column;gap:0;align-items:stretch;overflow:visible;scroll-snap-type:none;background:none;border-inline-end:var(--st-epaisseur-capillaire) solid var(--st-couleur-bordure);box-shadow:none}.st-tabs__panneaux{flex:1 1 auto;min-inline-size:0}.st-tabs__onglet:focus-visible{outline:var(--st-focus-epaisseur) solid var(--st-couleur-anneau-focus);outline-offset:calc(-1 * var(--st-focus-epaisseur))}.st-tabs__onglet{font-size:var(--st-taille-sm);line-height:var(--st-interligne-sm);font-weight:var(--st-graisse-moyenne);letter-spacing:var(--st-interlettrage-normal);position:relative;display:flex;flex:none;gap:var(--st-espacement-1);align-items:center;block-size:var(--st-hauteur-commande-defaut);min-inline-size:var(--st-cible-tactile-min);padding-block:0;padding-inline:var(--st-espacement-4);font-family:inherit;color:var(--st-couleur-texte-discret);white-space:nowrap;cursor:pointer;background-color:transparent;border:0;border-radius:0;scroll-snap-align:start;transition:color var(--st-duree-rapide) var(--st-courbe-standard),background-color var(--st-duree-rapide) var(--st-courbe-standard)}:host([data-orientation=verticale]) .st-tabs__onglet{gap:var(--st-espacement-2);text-align:start}.st-tabs__complement{margin-inline-start:auto;padding-inline-start:var(--st-espacement-2);font-size:var(--st-taille-2xs);line-height:var(--st-interligne-2xs);font-weight:var(--st-graisse-semi);font-variant-numeric:var(--st-chiffres-alignes);letter-spacing:var(--st-interlettrage-capitales);color:var(--st-couleur-texte-attenue)}.st-tabs__compte{margin-inline-start:var(--st-espacement-1-5);padding-block:var(--st-espacement-demi);padding-inline:var(--st-espacement-2);font-size:var(--st-taille-2xs);line-height:var(--st-interligne-2xs);font-weight:var(--st-graisse-semi);font-variant-numeric:var(--st-chiffres-alignes);letter-spacing:var(--st-interlettrage-capitales);color:var(--st-couleur-texte-discret);background-color:var(--st-couleur-surface-enfoncee);border-radius:var(--st-rayon-pleine)}.st-tabs__marqueur{position:absolute;inset-inline:0;inset-block-end:calc(-1 * var(--st-epaisseur-capillaire));block-size:var(--st-epaisseur-forte);background-color:var(--st-couleur-bordure-selection);forced-color-adjust:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}:host([data-orientation=verticale]) .st-tabs__marqueur{inset-block:0;inset-inline:auto calc(-1 * var(--st-epaisseur-capillaire));inline-size:var(--st-epaisseur-forte);block-size:auto}.st-tabs__onglet:active:not([aria-disabled=true]){color:var(--st-couleur-texte);background-color:var(--st-couleur-surface-active);border-start-start-radius:var(--st-rayon-sm);border-start-end-radius:var(--st-rayon-sm)}@media(hover:hover){.st-tabs__onglet:hover:not([aria-selected=true],[aria-disabled=true],:active){color:var(--st-couleur-texte);background-color:color-mix(in srgb,var(--st-couleur-surface-conteneur-bas) 70%,transparent);border-start-start-radius:var(--st-rayon-sm);border-start-end-radius:var(--st-rayon-sm)}}.st-tabs__onglet[aria-selected=true]{font-weight:var(--st-graisse-semi);color:var(--st-couleur-texte-primaire);background-color:var(--st-couleur-surface-conteneur-bas);border-start-start-radius:var(--st-rayon-sm);border-start-end-radius:var(--st-rayon-sm)}:host([data-orientation=verticale]) .st-tabs__onglet{border-radius:0}.st-tabs__onglet[aria-disabled=true]{color:var(--st-couleur-texte-desactive);cursor:not-allowed}@media(forced-colors:active){:host(:not([data-orientation=verticale])) .st-tabs__liste{border-block-end:var(--st-epaisseur-capillaire) solid var(--st-couleur-bordure)}}@media print{.st-tabs__liste{flex-wrap:wrap;overflow:visible;background:none;border-block-end:var(--st-epaisseur-capillaire) solid var(--st-couleur-bordure);box-shadow:none}:host([data-orientation=verticale]) .st-tabs__liste{border-block-end:0}}\n"]
198
+ }]
199
+ }],
200
+ ctorParameters: () => [],
201
+ propDecorators: {
202
+ onglets: [{
203
+ type: i0.Input,
204
+ args: [{
205
+ isSignal: true,
206
+ alias: "onglets",
207
+ required: true
208
+ }]
209
+ }],
210
+ etiquette: [{
211
+ type: i0.Input,
212
+ args: [{
213
+ isSignal: true,
214
+ alias: "etiquette",
215
+ required: true
216
+ }]
217
+ }],
218
+ activation: [{
219
+ type: i0.Input,
220
+ args: [{
221
+ isSignal: true,
222
+ alias: "activation",
223
+ required: false
224
+ }]
225
+ }],
226
+ orientation: [{
227
+ type: i0.Input,
228
+ args: [{
229
+ isSignal: true,
230
+ alias: "orientation",
231
+ required: false
232
+ }]
233
+ }],
234
+ identifiant: [{
235
+ type: i0.Input,
236
+ args: [{
237
+ isSignal: true,
238
+ alias: "identifiant",
239
+ required: false
240
+ }]
241
+ }],
242
+ selection: [{
243
+ type: i0.Input,
244
+ args: [{
245
+ isSignal: true,
246
+ alias: "selection",
247
+ required: false
248
+ }]
249
+ }, {
250
+ type: i0.Output,
251
+ args: ["selectionChange"]
252
+ }]
253
+ }
254
+ });
255
+ var StTabPanel = class StTabPanel {
256
+ contenuConserve = input(false, {
257
+ ...ngDevMode ? { debugName: "contenuConserve" } : /* istanbul ignore next */ {},
258
+ transform: booleanAttribute
259
+ });
260
+ onglets = inject(StTabs, { optional: true });
261
+ constructor() {
262
+ relayerLaConservation(this.contenuConserve);
263
+ }
264
+ static ɵfac = i0.ɵɵngDeclareFactory({
265
+ minVersion: "12.0.0",
266
+ version: "22.2.0",
267
+ ngImport: i0,
268
+ type: StTabPanel,
269
+ deps: [],
270
+ target: i0.ɵɵFactoryTarget.Component
271
+ });
272
+ static ɵcmp = i0.ɵɵngDeclareComponent({
273
+ minVersion: "17.1.0",
274
+ version: "22.2.0",
275
+ type: StTabPanel,
276
+ isStandalone: true,
277
+ selector: "st-tab-panel",
278
+ inputs: { contenuConserve: {
279
+ classPropertyName: "contenuConserve",
280
+ publicName: "contenuConserve",
281
+ isSignal: true,
282
+ isRequired: false,
283
+ transformFunction: null
284
+ } },
285
+ host: {
286
+ properties: { "attr.data-orientation": "onglets?.orientation() ?? null" },
287
+ classAttribute: "st-tab-panel"
288
+ },
289
+ hostDirectives: [{
290
+ directive: i1.TabPanel,
291
+ inputs: ["value", "valeur"]
292
+ }],
293
+ ngImport: i0,
294
+ template: "<ng-content />\n",
295
+ 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: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)}:host{display:block;padding-block:var(--st-espacement-4)}:host([data-orientation=verticale]){padding-block:0}:host([inert]){display:none}\n"],
296
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
297
+ });
298
+ };
299
+ i0.ɵɵngDeclareClassMetadata({
300
+ minVersion: "12.0.0",
301
+ version: "22.2.0",
302
+ ngImport: i0,
303
+ type: StTabPanel,
304
+ decorators: [{
305
+ type: Component,
306
+ args: [{
307
+ selector: "st-tab-panel",
308
+ changeDetection: ChangeDetectionStrategy.OnPush,
309
+ hostDirectives: [{
310
+ directive: TabPanel,
311
+ inputs: ["value: valeur"]
312
+ }],
313
+ host: {
314
+ class: "st-tab-panel",
315
+ "[attr.data-orientation]": "onglets?.orientation() ?? null"
316
+ },
317
+ template: "<ng-content />\n",
318
+ 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: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)}:host{display:block;padding-block:var(--st-espacement-4)}:host([data-orientation=verticale]){padding-block:0}:host([inert]){display:none}\n"]
319
+ }]
320
+ }],
321
+ ctorParameters: () => [],
322
+ propDecorators: { contenuConserve: [{
323
+ type: i0.Input,
324
+ args: [{
325
+ isSignal: true,
326
+ alias: "contenuConserve",
327
+ required: false
328
+ }]
329
+ }] }
330
+ });
331
+ function relayerLaConservation(conserve) {
332
+ const primitive = inject(i1["ɵɵDeferredContentAware"]);
333
+ effect(() => {
334
+ primitive.preserveContent.set(conserve());
335
+ });
108
336
  }
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
-
337
+ var StTabContent = class StTabContent {
338
+ static ɵfac = i0.ɵɵngDeclareFactory({
339
+ minVersion: "12.0.0",
340
+ version: "22.2.0",
341
+ ngImport: i0,
342
+ type: StTabContent,
343
+ deps: [],
344
+ target: i0.ɵɵFactoryTarget.Directive
345
+ });
346
+ static ɵdir = i0.ɵɵngDeclareDirective({
347
+ minVersion: "14.0.0",
348
+ version: "22.2.0",
349
+ type: StTabContent,
350
+ isStandalone: true,
351
+ selector: "ng-template[stTabContent]",
352
+ hostDirectives: [{ directive: i1.TabContent }],
353
+ ngImport: i0
354
+ });
355
+ };
356
+ i0.ɵɵngDeclareClassMetadata({
357
+ minVersion: "12.0.0",
358
+ version: "22.2.0",
359
+ ngImport: i0,
360
+ type: StTabContent,
361
+ decorators: [{
362
+ type: Directive,
363
+ args: [{
364
+ selector: "ng-template[stTabContent]",
365
+ hostDirectives: [TabContent]
366
+ }]
367
+ }]
368
+ });
136
369
  export { StTabContent, StTabPanel, StTabs };
137
- //# sourceMappingURL=starterlib-ui-onglets.mjs.map
370
+
371
+ //# sourceMappingURL=starterlib-ui-onglets.mjs.map