@starterlib/ui 0.11.6 → 0.12.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 CHANGED
@@ -22,7 +22,8 @@ quatorzieme, `qr`, et le quinzieme, `messagerie`, depuis la 0.9.0 : lots 228, 24
22
22
  pas sort du tronc ; `virtuel` depuis la 0.10.14 : lot 267, la liste virtuelle, bonus sous condition
23
23
  ecrite, `packages/ui/virtuel/README.md` ; `force` depuis la 0.11.0 : l'adaptateur de la jauge de force
24
24
  du mot de passe, ADR web 0011, charge a la demande et jamais partage en federation ; `graphiques`
25
- depuis la 0.11.0 : courbe et tendance en SVG ecrit a la main, sans bibliotheque, P08-07 d'Aplomb).
25
+ depuis la 0.11.0 : courbe et tendance en SVG ecrit a la main, sans bibliotheque, P08-07 d'Aplomb ;
26
+ l'histogramme depuis la 0.12.0, P08-18).
26
27
 
27
28
  1. **La dependance** (ADR 0003) : un composant sort du tronc quand il traine un
28
29
  pair lourd, et le point d'entree ou il va se choisit par ce qu'il EST pour
@@ -72,7 +73,7 @@ import { GABARITS_D_ETAT, StState } from '@starterlib/ui/etats';
72
73
  import { StStatusPill, StTag } from '@starterlib/ui/indicateurs';
73
74
  import { StSection, StText } from '@starterlib/ui/mise-en-page';
74
75
  import { StVirtualItem, StVirtualList } from '@starterlib/ui/virtuel';
75
- import { StLineChart, StSparkline } from '@starterlib/ui/graphiques';
76
+ import { StHistogram, StLineChart, StSparkline } from '@starterlib/ui/graphiques';
76
77
  ```
77
78
 
78
79
  `sens` ne porte aucun composant : il remplace le `Directionality` du CDK, qui ne lit `dir` qu'a sa
@@ -91,7 +92,7 @@ d'abord des CHAMPS ; `parcours` et `messagerie` composent le tronc, `saisie`, `l
91
92
  0.10.0, ce qui est sorti du tronc est importe la ou il se compose : `listes` importe `etats` (le
92
93
  squelette) et `indicateurs` (la pastille de statut), `saisie` et `parcours` importent
93
94
  `indicateurs`, `formulaires` et `surfaces` importent `mise-en-page`.
94
- `graphiques` compose le tronc et `listes` (le tableau equivalent d'une courbe), et aucun point
95
+ `graphiques` compose le tronc et `listes` (le tableau equivalent d'un graphique), et aucun point
95
96
  d'entree ne l'importe. `libelles-en`, `sens` et `virtuel` n'importent aucun autre point d'entree : le catalogue
96
97
  anglais ne lit du tronc que le TYPE `LibellesUi`, et la liste virtuelle ne compose que le CDK. `navigation` atteint
97
98
  `surfaces` par `import()` seulement : le dialogue du tiroir ne pese pas sur le
@@ -467,6 +468,29 @@ axe, decorative et accompagnee de son texte (derniere valeur, variation exacte d
467
468
  point, lue en phrase), ou etiquetee. Graduations : `@starterlib/util/graduations`. Series de la
468
469
  palette : jetons `--st-couleur-serie1` a `4` (D166). Recette : `docs/recettes/courbe-de-capital.md`.
469
470
 
471
+ Histogramme (0.12.0, P08-18) — `st-histogram`, meme point d'entree, meme moteur d'echelle. Des
472
+ `classes` FOURNIES (`{ debut, fin, effectif }`, bornes en chaines decimales, de preference calculees
473
+ par le serveur sur toutes ses donnees), ou des `valeurs` rangees par le composant en environ
474
+ `nombreDeClasses` classes de bornes agreables (une valeur sur une borne va dans la classe qui
475
+ commence a cette borne, la derniere comprend sa fin) ; les deux donnees, les classes l'emportent
476
+ (avertissement en developpement). `axe` nomme l'axe des valeurs (sous l'axe, en tete du tableau),
477
+ `devise` ou `pourcentage` disent l'unite des bornes, `etiquette` et `resume` nomment et decrivent le
478
+ `svg`. Les classes et leurs effectifs se lisent au lecteur d'ecran, classe vide comprise ; une
479
+ classe negative (sa fin au plus zero) est hachuree, et la legende le dit quand les deux signes sont
480
+ la ; les effectifs se graduent par entiers ; « Voir les donnees » bascule vers le tableau
481
+ equivalent. Aucun calcul statistique metier : ni moyenne, ni mediane, ni regroupement de classes
482
+ (50 recommandees).
483
+
484
+ ```html
485
+ <st-histogram
486
+ etiquette="Rendements des essais"
487
+ axe="Rendement de l'essai"
488
+ pourcentage
489
+ [resume]="resume()"
490
+ [classes]="classes()"
491
+ />
492
+ ```
493
+
470
494
  Demande de modification d'une valeur gouvernee (0.11.0, P08-13) — `st-change-request`
471
495
  (`ui/parcours`) : un plafond, un seuil, une duree, demandes dans un formulaire Signal Forms de
472
496
  l'application (`form[stForm]`). Les champs sont PROJETES et lies par `[formField]` : la valeur
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "paquet": "@starterlib/ui",
3
- "version": "0.11.6",
3
+ "version": "0.12.0",
4
4
  "sprite": {
5
5
  "fichier": "sprite.svg",
6
6
  "empreinte": "67749CA7",
@@ -14,7 +14,14 @@ const LIBELLES_GRAPHIQUES_FR = {
14
14
  evenements: "Événements",
15
15
  separateurDEvenement: "\xA0: ",
16
16
  aucuneDonnee: "Aucune donnée à afficher",
17
- tendance: (dernier, variation) => variation === null ? `Derni\u00e8re valeur\u00a0: ${dernier}` : `Derni\u00e8re valeur\u00a0: ${dernier}, variation\u00a0: ${variation}`
17
+ tendance: (dernier, variation) => variation === null ? `Derni\u00e8re valeur\u00a0: ${dernier}` : `Derni\u00e8re valeur\u00a0: ${dernier}, variation\u00a0: ${variation}`,
18
+ colonneEffectif: "Effectif",
19
+ axeEffectif: "Effectif",
20
+ intervalle: (debut, fin) => `${debut} \u00e0 ${fin}`,
21
+ classes: "Classes et effectifs",
22
+ classe: (debut, fin, effectif) => `De ${debut} \u00e0 ${fin}\u00a0: ${effectif}`,
23
+ classesNegatives: "Valeurs négatives",
24
+ classesPositives: "Valeurs positives ou nulles"
18
25
  };
19
26
  const LIBELLES_GRAPHIQUES_EN = {
20
27
  voirLesDonnees: "Show data",
@@ -26,7 +33,14 @@ const LIBELLES_GRAPHIQUES_EN = {
26
33
  evenements: "Events",
27
34
  separateurDEvenement: ": ",
28
35
  aucuneDonnee: "No data to show",
29
- tendance: (dernier, variation) => variation === null ? `Latest value: ${dernier}` : `Latest value: ${dernier}, change: ${variation}`
36
+ tendance: (dernier, variation) => variation === null ? `Latest value: ${dernier}` : `Latest value: ${dernier}, change: ${variation}`,
37
+ colonneEffectif: "Count",
38
+ axeEffectif: "Count",
39
+ intervalle: (debut, fin) => `${debut} to ${fin}`,
40
+ classes: "Classes and counts",
41
+ classe: (debut, fin, effectif) => `From ${debut} to ${fin}: ${effectif}`,
42
+ classesNegatives: "Negative values",
43
+ classesPositives: "Zero or positive values"
30
44
  };
31
45
  const ST_LIBELLES_GRAPHIQUES = new InjectionToken("ST_LIBELLES_GRAPHIQUES", {
32
46
  providedIn: "root",
@@ -253,6 +267,28 @@ function formateurDeDates(locale, fuseau, avecHeure) {
253
267
  });
254
268
  return (instant) => format.format(new Date(instant));
255
269
  }
270
+ const LARGEUR_SUPPOSEE = 640;
271
+ function largeurDeLHote() {
272
+ const largeur = signal(LARGEUR_SUPPOSEE, ...ngDevMode ? [{ debugName: "largeur" }] : /* istanbul ignore next */ []);
273
+ const element = inject(ElementRef).nativeElement;
274
+ const destruction = inject(DestroyRef);
275
+ let observateur = null;
276
+ destruction.onDestroy(() => {
277
+ observateur?.disconnect();
278
+ });
279
+ afterNextRender(() => {
280
+ const Observateur = element.ownerDocument.defaultView?.ResizeObserver;
281
+ if (Observateur === void 0) return;
282
+ const mesurer = () => {
283
+ const mesuree = Math.round(element.clientWidth);
284
+ if (mesuree > 0) largeur.set(mesuree);
285
+ };
286
+ mesurer();
287
+ observateur = new Observateur(mesurer);
288
+ observateur.observe(element);
289
+ });
290
+ return largeur.asReadonly();
291
+ }
256
292
  const SERIES_MAX = 4;
257
293
  const POINTS_RECOMMANDES = 500;
258
294
  const TRAITS_PAR_RANG = [
@@ -261,16 +297,15 @@ const TRAITS_PAR_RANG = [
261
297
  "points",
262
298
  "mixte"
263
299
  ];
264
- const LARGEUR_SUPPOSEE = 640;
265
- const CHASSE = 7;
266
- const ECART_DES_REPERES = 96;
267
- const ECART_DES_GRADUATIONS = 48;
268
- const MARGE_BAS = 28;
269
- const MARGE_HAUT = 12;
300
+ const CHASSE$1 = 7;
301
+ const ECART_DES_REPERES$1 = 96;
302
+ const ECART_DES_GRADUATIONS$1 = 48;
303
+ const MARGE_BAS$1 = 28;
304
+ const MARGE_HAUT$1 = 12;
270
305
  const MARGE_HAUT_AVEC_MARQUEURS = 26;
271
- const MARGE_DROITE = 12;
306
+ const MARGE_DROITE$1 = 12;
272
307
  const SANS_VALEUR = "—";
273
- function arrondir$1(valeur) {
308
+ function arrondir$2(valeur) {
274
309
  return Math.round(valeur * 10) / 10;
275
310
  }
276
311
  var StLineChart = class StLineChart {
@@ -295,7 +330,7 @@ var StLineChart = class StLineChart {
295
330
  });
296
331
  hauteur = input(240, ...ngDevMode ? [{ debugName: "hauteur" }] : /* istanbul ignore next */ []);
297
332
  vueDonnees = signal(false, ...ngDevMode ? [{ debugName: "vueDonnees" }] : /* istanbul ignore next */ []);
298
- largeur = signal(LARGEUR_SUPPOSEE, ...ngDevMode ? [{ debugName: "largeur" }] : /* istanbul ignore next */ []);
333
+ largeur = largeurDeLHote();
299
334
  identifiants = (() => {
300
335
  const base = inject(StIdentifiants).prochain("st-graphique");
301
336
  return {
@@ -360,28 +395,28 @@ var StLineChart = class StLineChart {
360
395
  debut = Math.min(debut, point.instant);
361
396
  fin = Math.max(fin, point.instant);
362
397
  }
363
- const nombreDeGraduations = Math.max(3, Math.floor(hauteur / ECART_DES_GRADUATIONS));
398
+ const nombreDeGraduations = Math.max(3, Math.floor(hauteur / ECART_DES_GRADUATIONS$1));
364
399
  const echelle = this.pariteEchelle() ? graduationsSymetriques(minimum, maximum, nombreDeGraduations) : graduationsAgreables(minimum, maximum, nombreDeGraduations);
365
400
  const graduer = formateurDeGraduations(this.locale(), this.forme(), echelle.pas, Math.max(Math.abs(echelle.debut), Math.abs(echelle.fin)));
366
401
  const textes = echelle.valeurs.map(graduer);
367
402
  const plusLongue = textes.reduce((longueur, texte) => Math.max(longueur, texte.length), 0);
368
- const gauche = Math.min(Math.round(largeur * .4), Math.ceil(plusLongue * CHASSE) + 12);
369
- const droite = largeur - MARGE_DROITE;
370
- const haut = this.marqueursLus().length > 0 ? MARGE_HAUT_AVEC_MARQUEURS : MARGE_HAUT;
371
- const bas = hauteur - MARGE_BAS;
372
- const y = (valeur) => arrondir$1(haut + (echelle.fin - valeur) / (echelle.fin - echelle.debut) * (bas - haut));
403
+ const gauche = Math.min(Math.round(largeur * .4), Math.ceil(plusLongue * CHASSE$1) + 12);
404
+ const droite = largeur - MARGE_DROITE$1;
405
+ const haut = this.marqueursLus().length > 0 ? MARGE_HAUT_AVEC_MARQUEURS : MARGE_HAUT$1;
406
+ const bas = hauteur - MARGE_BAS$1;
407
+ const y = (valeur) => arrondir$2(haut + (echelle.fin - valeur) / (echelle.fin - echelle.debut) * (bas - haut));
373
408
  const plat = debut === fin;
374
- const x = (instant) => arrondir$1(plat ? (gauche + droite) / 2 : gauche + (instant - debut) / (fin - debut) * (droite - gauche));
409
+ const x = (instant) => arrondir$2(plat ? (gauche + droite) / 2 : gauche + (instant - debut) / (fin - debut) * (droite - gauche));
375
410
  const fuseau = this.fuseauDeRendu();
376
411
  const temps = plat ? {
377
412
  unite: "jour",
378
413
  valeurs: [debut]
379
- } : graduationsTemporelles(debut, fin, fuseau, Math.max(2, Math.floor((droite - gauche) / ECART_DES_REPERES)));
414
+ } : graduationsTemporelles(debut, fin, fuseau, Math.max(2, Math.floor((droite - gauche) / ECART_DES_REPERES$1)));
380
415
  const reperer = formateurDeReperes(this.locale(), fuseau);
381
416
  const reperes = temps.valeurs.map((instant, rang) => {
382
417
  const texte = reperer(instant, temps.unite, rang === 0);
383
418
  const position = x(instant);
384
- const demi = texte.length * CHASSE / 2;
419
+ const demi = texte.length * CHASSE$1 / 2;
385
420
  return {
386
421
  x: position,
387
422
  texte,
@@ -471,24 +506,6 @@ var StLineChart = class StLineChart {
471
506
  return ligne;
472
507
  });
473
508
  }, ...ngDevMode ? [{ debugName: "lignes" }] : /* istanbul ignore next */ []);
474
- constructor() {
475
- const element = inject(ElementRef).nativeElement;
476
- const destruction = inject(DestroyRef);
477
- afterNextRender(() => {
478
- const Observateur = element.ownerDocument.defaultView?.ResizeObserver;
479
- if (Observateur === void 0) return;
480
- const mesurer = () => {
481
- const largeur = Math.round(element.clientWidth);
482
- if (largeur > 0) this.largeur.set(largeur);
483
- };
484
- mesurer();
485
- const observateur = new Observateur(mesurer);
486
- observateur.observe(element);
487
- destruction.onDestroy(() => {
488
- observateur.disconnect();
489
- });
490
- });
491
- }
492
509
  basculer() {
493
510
  const donnees = !this.vueDonnees();
494
511
  this.vueDonnees.set(donnees);
@@ -656,7 +673,6 @@ i0.ɵɵngDeclareClassMetadata({
656
673
  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;min-inline-size:0;max-inline-size:100%}.st-line-chart__barre{display:flex;justify-content:flex-end;margin-block-end:var(--st-espacement-2)}.st-line-chart__svg{display:block;inline-size:100%;block-size:auto;overflow:visible;direction:ltr}.st-line-chart__graduation,.st-line-chart__numero{font-size:var(--st-taille-xs);line-height:var(--st-interligne-xs);font-weight:var(--st-graisse-moyenne);letter-spacing:var(--st-interlettrage-large);fill:var(--st-couleur-texte-discret);font-variant-numeric:var(--st-chiffres-alignes)}.st-line-chart__numero{font-weight:var(--st-graisse-semi);fill:var(--st-couleur-texte)}.st-line-chart__grille{stroke:var(--st-couleur-bordure);stroke-width:1;shape-rendering:crispEdges}.st-line-chart__grille[data-zero]{stroke:var(--st-couleur-bordure-forte)}.st-line-chart__trace{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.st-line-chart__trace[data-trait=tirets]{stroke-dasharray:8 5;stroke-linecap:butt}.st-line-chart__trace[data-trait=points]{stroke-width:3;stroke-dasharray:0 6}.st-line-chart__trace[data-trait=mixte]{stroke-dasharray:10 5 0 5}.st-line-chart__trace[data-serie=\"1\"]{stroke:var(--st-couleur-serie1)}.st-line-chart__point[data-serie=\"1\"]{fill:var(--st-couleur-serie1)}.st-line-chart__trace[data-serie=\"2\"]{stroke:var(--st-couleur-serie2)}.st-line-chart__point[data-serie=\"2\"]{fill:var(--st-couleur-serie2)}.st-line-chart__trace[data-serie=\"3\"]{stroke:var(--st-couleur-serie3)}.st-line-chart__point[data-serie=\"3\"]{fill:var(--st-couleur-serie3)}.st-line-chart__trace[data-serie=\"4\"]{stroke:var(--st-couleur-serie4)}.st-line-chart__point[data-serie=\"4\"]{fill:var(--st-couleur-serie4)}.st-line-chart__perte{stroke:none}.st-line-chart__hachure{stroke:var(--st-couleur-texte-discret);stroke-width:1.5}.st-line-chart__marqueur{stroke:var(--st-couleur-texte-discret);stroke-width:1;stroke-dasharray:2 3}.st-line-chart__legende,.st-line-chart__evenements{font-size:var(--st-taille-sm);line-height:var(--st-interligne-sm);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);margin:var(--st-espacement-3) 0 0;color:var(--st-couleur-texte)}.st-line-chart__legende{display:flex;flex-wrap:wrap;gap:var(--st-espacement-2) var(--st-espacement-4);padding:0;list-style:none}.st-line-chart__cle{display:inline-flex;gap:var(--st-espacement-2);align-items:center;min-inline-size:0;overflow-wrap:anywhere}.st-line-chart__echantillon{flex:none;overflow:visible}.st-line-chart__evenements{padding-inline-start:var(--st-espacement-5)}.st-line-chart__resume{font-size:var(--st-taille-sm);line-height:var(--st-interligne-sm);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);margin:var(--st-espacement-2) 0 0;color:var(--st-couleur-texte-discret)}.st-line-chart__vide{font-size:var(--st-taille-md);line-height:var(--st-interligne-md);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);display:grid;place-items:center;min-block-size:8rem;margin:0;padding:var(--st-espacement-4);color:var(--st-couleur-texte-discret);text-align:center;border:var(--st-epaisseur-fine) dashed var(--st-couleur-bordure);border-radius:var(--st-rayon-md)}@media(forced-colors:active){.st-line-chart__trace[data-serie],.st-line-chart__hachure,.st-line-chart__marqueur{stroke:CanvasText}.st-line-chart__point[data-serie]{fill:CanvasText}.st-line-chart__grille,.st-line-chart__grille[data-zero]{stroke:GrayText}.st-line-chart__graduation,.st-line-chart__numero{fill:CanvasText}}\n"]
657
674
  }]
658
675
  }],
659
- ctorParameters: () => [],
660
676
  propDecorators: {
661
677
  series: [{
662
678
  type: i0.Input,
@@ -742,7 +758,7 @@ i0.ɵɵngDeclareClassMetadata({
742
758
  });
743
759
  const LARGEUR = 100;
744
760
  const MARGE = 2;
745
- function arrondir(valeur) {
761
+ function arrondir$1(valeur) {
746
762
  return Math.round(valeur * 100) / 100;
747
763
  }
748
764
  var StSparkline = class StSparkline {
@@ -773,8 +789,8 @@ var StSparkline = class StSparkline {
773
789
  }
774
790
  const { debut, fin } = graduationsAgreables(minimum, maximum);
775
791
  const duree = dernier.instant - premier.instant;
776
- const x = (instant) => arrondir(duree === 0 ? LARGEUR / 2 : (instant - premier.instant) / duree * LARGEUR);
777
- const y = (valeur) => arrondir(MARGE + (fin - valeur) / (fin - debut) * 20);
792
+ const x = (instant) => arrondir$1(duree === 0 ? LARGEUR / 2 : (instant - premier.instant) / duree * LARGEUR);
793
+ const y = (valeur) => arrondir$1(MARGE + (fin - valeur) / (fin - debut) * 20);
778
794
  const coordonnees = points.map((point) => `${String(x(point.instant))} ${String(y(point.valeur))}`);
779
795
  return {
780
796
  ligne: points.length > 1 ? `M${coordonnees.join("L")}` : null,
@@ -929,6 +945,457 @@ i0.ɵɵngDeclareClassMetadata({
929
945
  }]
930
946
  }
931
947
  });
932
- export { LIBELLES_GRAPHIQUES_EN, LIBELLES_GRAPHIQUES_FR, ST_LIBELLES_GRAPHIQUES, StLineChart, StSparkline, catalogueDesGraphiques, fournirLibellesGraphiques, libellesDesGraphiques };
948
+ function signaler(message, objet) {
949
+ if (typeof ngDevMode === "undefined" || !!ngDevMode) console.warn(message, objet);
950
+ }
951
+ function enTexte(valeur) {
952
+ const texte = String(Number(valeur.toPrecision(12)));
953
+ if (!/e/i.test(texte)) return texte;
954
+ return valeur.toFixed(20).replace(/\.?0+$/, "");
955
+ }
956
+ function lireClasses(classes, source) {
957
+ const lues = [];
958
+ for (const classe of classes) {
959
+ const debut = classe.debut.trim();
960
+ const fin = classe.fin.trim();
961
+ if (!estDecimale(debut) || !estDecimale(fin) || Number(fin) <= Number(debut) || !Number.isSafeInteger(classe.effectif) || classe.effectif < 0) {
962
+ signaler(`${source} : classe illisible ecartee`, classe);
963
+ continue;
964
+ }
965
+ lues.push({
966
+ debut: Number(debut),
967
+ fin: Number(fin),
968
+ texteDebut: debut,
969
+ texteFin: fin,
970
+ effectif: classe.effectif
971
+ });
972
+ }
973
+ return lues.sort((a, b) => a.debut - b.debut);
974
+ }
975
+ function classesDesValeurs(valeurs, nombre, source) {
976
+ const nombres = [];
977
+ let minimum = Infinity;
978
+ let maximum = -Infinity;
979
+ for (const valeur of valeurs) {
980
+ const texte = valeur.trim();
981
+ if (!estDecimale(texte)) {
982
+ signaler(`${source} : valeur illisible ecartee`, valeur);
983
+ continue;
984
+ }
985
+ const lu = Number(texte);
986
+ nombres.push(lu);
987
+ minimum = Math.min(minimum, lu);
988
+ maximum = Math.max(maximum, lu);
989
+ }
990
+ if (nombres.length === 0) return [];
991
+ const bornes = graduationsAgreables(minimum, maximum, Math.max(1, Math.round(nombre)) + 1).valeurs;
992
+ const classes = bornes.slice(0, -1).map((debut, rang) => ({
993
+ debut,
994
+ fin: bornes[rang + 1] ?? debut
995
+ }));
996
+ const effectifs = classes.map(() => 0);
997
+ const pas = (classes[0]?.fin ?? 1) - (classes[0]?.debut ?? 0);
998
+ for (const valeur of nombres) {
999
+ let rang = Math.min(classes.length - 1, Math.max(0, Math.floor((valeur - (classes[0]?.debut ?? 0)) / pas)));
1000
+ while (rang > 0 && valeur < (classes[rang]?.debut ?? 0)) rang -= 1;
1001
+ while (rang < classes.length - 1 && valeur >= (classes[rang]?.fin ?? 0)) rang += 1;
1002
+ effectifs[rang] = (effectifs[rang] ?? 0) + 1;
1003
+ }
1004
+ return classes.map((classe, rang) => ({
1005
+ ...classe,
1006
+ texteDebut: enTexte(classe.debut),
1007
+ texteFin: enTexte(classe.fin),
1008
+ effectif: effectifs[rang] ?? 0
1009
+ }));
1010
+ }
1011
+ function graduationsDEffectif(plusGrand, nombreVise) {
1012
+ const haut = Math.max(1, plusGrand);
1013
+ const echelle = graduationsAgreables(0, haut, nombreVise);
1014
+ if (echelle.pas >= 1) return echelle;
1015
+ const fin = Math.ceil(haut);
1016
+ return {
1017
+ debut: 0,
1018
+ fin,
1019
+ pas: 1,
1020
+ valeurs: Array.from({ length: fin + 1 }, (_, rang) => rang)
1021
+ };
1022
+ }
1023
+ const CLASSES_RECOMMANDEES = 50;
1024
+ const CHASSE = 7;
1025
+ const ECART_DES_REPERES = 96;
1026
+ const ECART_DES_GRADUATIONS = 48;
1027
+ const MARGE_HAUT = 24;
1028
+ const MARGE_BAS = 48;
1029
+ const MARGE_DROITE = 12;
1030
+ function arrondir(valeur) {
1031
+ return Math.round(valeur * 10) / 10;
1032
+ }
1033
+ var StHistogram = class StHistogram {
1034
+ locale = inject(ST_LOCALE);
1035
+ catalogue = catalogueDesGraphiques();
1036
+ annonce = new AnnonceLocale(inject(DestroyRef));
1037
+ classes = input(null, ...ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []);
1038
+ valeurs = input(null, ...ngDevMode ? [{ debugName: "valeurs" }] : /* istanbul ignore next */ []);
1039
+ nombreDeClasses = input(10, ...ngDevMode ? [{ debugName: "nombreDeClasses" }] : /* istanbul ignore next */ []);
1040
+ axe = input.required(...ngDevMode ? [{ debugName: "axe" }] : /* istanbul ignore next */ []);
1041
+ devise = input(null, ...ngDevMode ? [{ debugName: "devise" }] : /* istanbul ignore next */ []);
1042
+ pourcentage = input(false, {
1043
+ ...ngDevMode ? { debugName: "pourcentage" } : /* istanbul ignore next */ {},
1044
+ transform: booleanAttribute
1045
+ });
1046
+ etiquette = input.required(...ngDevMode ? [{ debugName: "etiquette" }] : /* istanbul ignore next */ []);
1047
+ resume = input.required(...ngDevMode ? [{ debugName: "resume" }] : /* istanbul ignore next */ []);
1048
+ hauteur = input(240, ...ngDevMode ? [{ debugName: "hauteur" }] : /* istanbul ignore next */ []);
1049
+ vueDonnees = signal(false, ...ngDevMode ? [{ debugName: "vueDonnees" }] : /* istanbul ignore next */ []);
1050
+ largeur = largeurDeLHote();
1051
+ identifiants = (() => {
1052
+ const base = inject(StIdentifiants).prochain("st-histogramme");
1053
+ return {
1054
+ motif: `${base}-motif`,
1055
+ resume: `${base}-resume`
1056
+ };
1057
+ })();
1058
+ forme = computed(() => ({
1059
+ devise: this.devise(),
1060
+ pourcentage: this.pourcentage()
1061
+ }), ...ngDevMode ? [{ debugName: "forme" }] : /* istanbul ignore next */ []);
1062
+ classesDites = computed(() => {
1063
+ const fournies = this.classes();
1064
+ const valeurs = this.valeurs();
1065
+ const developpement = typeof ngDevMode === "undefined" || !!ngDevMode;
1066
+ if (fournies !== null && valeurs !== null && developpement) console.warn("st-histogram : classes ET valeurs donnees ; les classes l emportent.");
1067
+ const lues = fournies !== null ? lireClasses(fournies, "st-histogram") : classesDesValeurs(valeurs ?? [], this.nombreDeClasses(), "st-histogram");
1068
+ if (lues.length > CLASSES_RECOMMANDEES && developpement) console.warn(`st-histogram : ${String(lues.length)} classes ; ${String(CLASSES_RECOMMANDEES)} au plus, regroupees cote serveur.`);
1069
+ const borne = formateurDeValeurs(this.locale(), this.forme());
1070
+ const effectif = formateurDeValeurs(this.locale(), {
1071
+ devise: null,
1072
+ pourcentage: false
1073
+ });
1074
+ return lues.map((classe, indice) => ({
1075
+ ...classe,
1076
+ rang: indice + 1,
1077
+ negative: classe.fin <= 0,
1078
+ texteDuDebut: borne(classe.texteDebut),
1079
+ texteDeLaFin: borne(classe.texteFin),
1080
+ texteDeLEffectif: effectif(String(classe.effectif))
1081
+ }));
1082
+ }, ...ngDevMode ? [{ debugName: "classesDites" }] : /* istanbul ignore next */ []);
1083
+ deuxSignes = computed(() => {
1084
+ const classes = this.classesDites();
1085
+ return classes.some((classe) => classe.negative) && classes.some((classe) => !classe.negative);
1086
+ }, ...ngDevMode ? [{ debugName: "deuxSignes" }] : /* istanbul ignore next */ []);
1087
+ dessin = computed(() => {
1088
+ const classes = this.classesDites();
1089
+ const premiere = classes[0];
1090
+ const derniere = classes.at(-1);
1091
+ if (premiere === void 0 || derniere === void 0) return null;
1092
+ const largeur = Math.max(160, this.largeur());
1093
+ const hauteur = Math.max(192, Math.round(this.hauteur()));
1094
+ const haut = MARGE_HAUT;
1095
+ const bas = hauteur - MARGE_BAS;
1096
+ const effectifs = graduationsDEffectif(classes.reduce((plus, classe) => Math.max(plus, classe.effectif), 0), Math.max(3, Math.floor((bas - haut) / ECART_DES_GRADUATIONS)));
1097
+ const graduer = formateurDeGraduations(this.locale(), {
1098
+ devise: null,
1099
+ pourcentage: false
1100
+ }, effectifs.pas, effectifs.fin);
1101
+ const textes = effectifs.valeurs.map(graduer);
1102
+ const plusLongue = textes.reduce((longueur, texte) => Math.max(longueur, texte.length), 0);
1103
+ const gauche = Math.min(Math.round(largeur * .4), Math.ceil(plusLongue * CHASSE) + 12);
1104
+ const droite = largeur - MARGE_DROITE;
1105
+ const y = (effectif) => arrondir(bas - effectif / effectifs.fin * (bas - haut));
1106
+ const echelle = graduationsAgreables(premiere.debut, derniere.fin, Math.max(2, Math.floor((droite - gauche) / ECART_DES_REPERES)));
1107
+ const x = (valeur) => arrondir(gauche + (valeur - echelle.debut) / (echelle.fin - echelle.debut) * (droite - gauche));
1108
+ const reperer = formateurDeGraduations(this.locale(), this.forme(), echelle.pas, Math.max(Math.abs(echelle.debut), Math.abs(echelle.fin)));
1109
+ const reperes = echelle.valeurs.map((valeur) => {
1110
+ const texte = reperer(valeur);
1111
+ const position = x(valeur);
1112
+ const demi = texte.length * CHASSE / 2;
1113
+ return {
1114
+ x: position,
1115
+ texte,
1116
+ ancre: position - demi < 0 ? "start" : position + demi > largeur ? "end" : "middle"
1117
+ };
1118
+ });
1119
+ const barres = classes.filter((classe) => classe.effectif > 0).map((classe) => {
1120
+ const debut = x(classe.debut);
1121
+ const etendue = x(classe.fin) - debut;
1122
+ const interstice = etendue > 3 ? .5 : 0;
1123
+ return {
1124
+ rang: classe.rang,
1125
+ negative: classe.negative,
1126
+ x: arrondir(debut + interstice),
1127
+ y: y(classe.effectif),
1128
+ largeur: arrondir(Math.max(1, etendue - 2 * interstice)),
1129
+ hauteur: arrondir(bas - y(classe.effectif))
1130
+ };
1131
+ });
1132
+ return {
1133
+ largeur,
1134
+ hauteur,
1135
+ gauche,
1136
+ droite,
1137
+ haut,
1138
+ bas,
1139
+ graduations: effectifs.valeurs.map((valeur, rang) => ({
1140
+ y: y(valeur),
1141
+ texte: textes[rang] ?? ""
1142
+ })),
1143
+ reperes,
1144
+ zero: echelle.debut < 0 && echelle.fin > 0 ? x(0) : null,
1145
+ barres
1146
+ };
1147
+ }, ...ngDevMode ? [{ debugName: "dessin" }] : /* istanbul ignore next */ []);
1148
+ colonnes = computed(() => [{
1149
+ cle: "classe",
1150
+ libelle: this.axe()
1151
+ }, {
1152
+ cle: "effectif",
1153
+ libelle: this.catalogue().libelles.colonneEffectif,
1154
+ alignement: "fin"
1155
+ }], ...ngDevMode ? [{ debugName: "colonnes" }] : /* istanbul ignore next */ []);
1156
+ lignes = computed(() => {
1157
+ const libelles = this.catalogue().libelles;
1158
+ return this.classesDites().map((classe) => ({
1159
+ cle: String(classe.rang),
1160
+ classe: libelles.intervalle(classe.texteDuDebut, classe.texteDeLaFin),
1161
+ effectif: classe.texteDeLEffectif
1162
+ }));
1163
+ }, ...ngDevMode ? [{ debugName: "lignes" }] : /* istanbul ignore next */ []);
1164
+ basculer() {
1165
+ const donnees = !this.vueDonnees();
1166
+ this.vueDonnees.set(donnees);
1167
+ const libelles = this.catalogue().libelles;
1168
+ this.annonce.annoncer(donnees ? libelles.tableauAffiche : libelles.graphiqueAffiche);
1169
+ }
1170
+ static ɵfac = i0.ɵɵngDeclareFactory({
1171
+ minVersion: "12.0.0",
1172
+ version: "22.2.2",
1173
+ ngImport: i0,
1174
+ type: StHistogram,
1175
+ deps: [],
1176
+ target: i0.ɵɵFactoryTarget.Component
1177
+ });
1178
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1179
+ minVersion: "17.0.0",
1180
+ version: "22.2.2",
1181
+ type: StHistogram,
1182
+ isStandalone: true,
1183
+ selector: "st-histogram",
1184
+ inputs: {
1185
+ classes: {
1186
+ classPropertyName: "classes",
1187
+ publicName: "classes",
1188
+ isSignal: true,
1189
+ isRequired: false,
1190
+ transformFunction: null
1191
+ },
1192
+ valeurs: {
1193
+ classPropertyName: "valeurs",
1194
+ publicName: "valeurs",
1195
+ isSignal: true,
1196
+ isRequired: false,
1197
+ transformFunction: null
1198
+ },
1199
+ nombreDeClasses: {
1200
+ classPropertyName: "nombreDeClasses",
1201
+ publicName: "nombreDeClasses",
1202
+ isSignal: true,
1203
+ isRequired: false,
1204
+ transformFunction: null
1205
+ },
1206
+ axe: {
1207
+ classPropertyName: "axe",
1208
+ publicName: "axe",
1209
+ isSignal: true,
1210
+ isRequired: true,
1211
+ transformFunction: null
1212
+ },
1213
+ devise: {
1214
+ classPropertyName: "devise",
1215
+ publicName: "devise",
1216
+ isSignal: true,
1217
+ isRequired: false,
1218
+ transformFunction: null
1219
+ },
1220
+ pourcentage: {
1221
+ classPropertyName: "pourcentage",
1222
+ publicName: "pourcentage",
1223
+ isSignal: true,
1224
+ isRequired: false,
1225
+ transformFunction: null
1226
+ },
1227
+ etiquette: {
1228
+ classPropertyName: "etiquette",
1229
+ publicName: "etiquette",
1230
+ isSignal: true,
1231
+ isRequired: true,
1232
+ transformFunction: null
1233
+ },
1234
+ resume: {
1235
+ classPropertyName: "resume",
1236
+ publicName: "resume",
1237
+ isSignal: true,
1238
+ isRequired: true,
1239
+ transformFunction: null
1240
+ },
1241
+ hauteur: {
1242
+ classPropertyName: "hauteur",
1243
+ publicName: "hauteur",
1244
+ isSignal: true,
1245
+ isRequired: false,
1246
+ transformFunction: null
1247
+ }
1248
+ },
1249
+ host: {
1250
+ properties: { "attr.data-vue": "vueDonnees() ? \"donnees\" : \"graphique\"" },
1251
+ classAttribute: "st-histogram"
1252
+ },
1253
+ ngImport: i0,
1254
+ template: "<div class=\"st-histogram__barre-d-outils\">\n <button\n stButton\n variante=\"discret\"\n taille=\"sm\"\n type=\"button\"\n [attr.lang]=\"catalogue().langueDeRepli\"\n (click)=\"basculer()\"\n >\n {{ vueDonnees() ? catalogue().libelles.voirLeGraphique : catalogue().libelles.voirLesDonnees }}\n </button>\n</div>\n\n@if (vueDonnees()) {\n <st-data-table\n [legende]=\"etiquette()\"\n [colonnes]=\"colonnes()\"\n [lignes]=\"lignes()\"\n cle=\"cle\"\n hauteurMax=\"24rem\"\n />\n} @else if (dessin(); as dessin) {\n <svg\n class=\"st-histogram__svg\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMinYMin meet\"\n [attr.aria-label]=\"etiquette()\"\n [attr.aria-describedby]=\"identifiants.resume\"\n [attr.viewBox]=\"'0 0 ' + dessin.largeur + ' ' + dessin.hauteur\"\n [attr.height]=\"dessin.hauteur\"\n >\n <defs>\n <pattern\n patternUnits=\"userSpaceOnUse\"\n width=\"6\"\n height=\"6\"\n patternTransform=\"rotate(45)\"\n [attr.id]=\"identifiants.motif\"\n >\n <line class=\"st-histogram__hachure\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"6\" />\n </pattern>\n </defs>\n <text class=\"st-histogram__nom-d-axe\" text-anchor=\"start\" [attr.x]=\"0\" y=\"12\">\n {{ catalogue().libelles.axeEffectif }}\n </text>\n @for (graduation of dessin.graduations; track $index) {\n <line\n class=\"st-histogram__grille\"\n [attr.data-base]=\"$first ? '' : null\"\n [attr.x1]=\"dessin.gauche\"\n [attr.x2]=\"dessin.droite\"\n [attr.y1]=\"graduation.y\"\n [attr.y2]=\"graduation.y\"\n />\n <text\n class=\"st-histogram__graduation\"\n data-axe=\"effectifs\"\n text-anchor=\"end\"\n dominant-baseline=\"middle\"\n [attr.x]=\"dessin.gauche - 8\"\n [attr.y]=\"graduation.y\"\n >\n {{ graduation.texte }}\n </text>\n }\n @for (barre of dessin.barres; track barre.rang) {\n <rect\n class=\"st-histogram__classe\"\n [attr.data-signe]=\"barre.negative ? 'negatif' : 'positif'\"\n [attr.fill]=\"barre.negative ? 'url(#' + identifiants.motif + ')' : null\"\n [attr.x]=\"barre.x\"\n [attr.y]=\"barre.y\"\n [attr.width]=\"barre.largeur\"\n [attr.height]=\"barre.hauteur\"\n />\n }\n @if (dessin.zero !== null) {\n <line\n class=\"st-histogram__zero\"\n [attr.x1]=\"dessin.zero\"\n [attr.x2]=\"dessin.zero\"\n [attr.y1]=\"dessin.haut\"\n [attr.y2]=\"dessin.bas\"\n />\n }\n @for (repere of dessin.reperes; track $index) {\n <text\n class=\"st-histogram__graduation\"\n data-axe=\"valeurs\"\n [attr.text-anchor]=\"repere.ancre\"\n [attr.x]=\"repere.x\"\n [attr.y]=\"dessin.bas + 18\"\n >\n {{ repere.texte }}\n </text>\n }\n <text\n class=\"st-histogram__nom-d-axe\"\n text-anchor=\"middle\"\n [attr.x]=\"(dessin.gauche + dessin.droite) / 2\"\n [attr.y]=\"dessin.hauteur - 6\"\n >\n {{ axe() }}\n </text>\n </svg>\n\n <ul class=\"st-histogram__classes st-vh\" [attr.aria-label]=\"catalogue().libelles.classes\">\n @for (classe of classesDites(); track classe.rang) {\n <li [attr.lang]=\"catalogue().langueDeRepli\">\n {{\n catalogue().libelles.classe(\n classe.texteDuDebut,\n classe.texteDeLaFin,\n classe.texteDeLEffectif\n )\n }}\n </li>\n }\n </ul>\n\n @if (deuxSignes()) {\n <ul\n class=\"st-histogram__legende\"\n [attr.aria-label]=\"catalogue().libelles.legende\"\n [attr.lang]=\"catalogue().langueDeRepli\"\n >\n <li class=\"st-histogram__cle\">\n <svg\n class=\"st-histogram__echantillon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 16 12\"\n width=\"16\"\n height=\"12\"\n >\n <rect\n class=\"st-histogram__classe\"\n data-signe=\"negatif\"\n x=\"1\"\n y=\"1\"\n width=\"14\"\n height=\"10\"\n [attr.fill]=\"'url(#' + identifiants.motif + ')'\"\n />\n </svg>\n {{ catalogue().libelles.classesNegatives }}\n </li>\n <li class=\"st-histogram__cle\">\n <svg\n class=\"st-histogram__echantillon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 16 12\"\n width=\"16\"\n height=\"12\"\n >\n <rect\n class=\"st-histogram__classe\"\n data-signe=\"positif\"\n x=\"1\"\n y=\"1\"\n width=\"14\"\n height=\"10\"\n />\n </svg>\n {{ catalogue().libelles.classesPositives }}\n </li>\n </ul>\n }\n} @else {\n <p class=\"st-histogram__vide\" [attr.lang]=\"catalogue().langueDeRepli\">\n {{ catalogue().libelles.aucuneDonnee }}\n </p>\n}\n\n<p class=\"st-histogram__resume\" [id]=\"identifiants.resume\">{{ resume() }}</p>\n<span\n class=\"st-histogram__annonce st-vh\"\n aria-live=\"polite\"\n [attr.lang]=\"catalogue().langueDeRepli\"\n >{{ annonce.texte() }}</span\n>\n",
1255
+ 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;min-inline-size:0;max-inline-size:100%}.st-histogram__barre-d-outils{display:flex;justify-content:flex-end;margin-block-end:var(--st-espacement-2)}.st-histogram__svg{display:block;inline-size:100%;block-size:auto;overflow:visible;direction:ltr}.st-histogram__graduation,.st-histogram__nom-d-axe{font-size:var(--st-taille-xs);line-height:var(--st-interligne-xs);font-weight:var(--st-graisse-moyenne);letter-spacing:var(--st-interlettrage-large);fill:var(--st-couleur-texte-discret);font-variant-numeric:var(--st-chiffres-alignes)}.st-histogram__nom-d-axe{font-weight:var(--st-graisse-semi);fill:var(--st-couleur-texte)}.st-histogram__grille{stroke:var(--st-couleur-bordure);stroke-width:1;shape-rendering:crispEdges}.st-histogram__grille[data-base]{stroke:var(--st-couleur-bordure-forte)}.st-histogram__zero{stroke:var(--st-couleur-bordure-forte);stroke-width:1.5;shape-rendering:crispEdges}.st-histogram__classe[data-signe=positif]{fill:var(--st-couleur-serie1)}.st-histogram__classe[data-signe=negatif]{stroke:var(--st-couleur-serie2);stroke-width:1.5}.st-histogram__hachure{stroke:var(--st-couleur-serie2);stroke-width:2}.st-histogram__legende{font-size:var(--st-taille-sm);line-height:var(--st-interligne-sm);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);display:flex;flex-wrap:wrap;gap:var(--st-espacement-2) var(--st-espacement-4);margin:var(--st-espacement-3) 0 0;padding:0;color:var(--st-couleur-texte);list-style:none}.st-histogram__cle{display:inline-flex;gap:var(--st-espacement-2);align-items:center;min-inline-size:0;overflow-wrap:anywhere}.st-histogram__echantillon{flex:none;overflow:visible}.st-histogram__resume{font-size:var(--st-taille-sm);line-height:var(--st-interligne-sm);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);margin:var(--st-espacement-2) 0 0;color:var(--st-couleur-texte-discret)}.st-histogram__vide{font-size:var(--st-taille-md);line-height:var(--st-interligne-md);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);display:grid;place-items:center;min-block-size:8rem;margin:0;padding:var(--st-espacement-4);color:var(--st-couleur-texte-discret);text-align:center;border:var(--st-epaisseur-fine) dashed var(--st-couleur-bordure);border-radius:var(--st-rayon-md)}@media(forced-colors:active){.st-histogram__classe[data-signe=positif]{fill:CanvasText}.st-histogram__classe[data-signe=negatif],.st-histogram__hachure,.st-histogram__zero{stroke:CanvasText}.st-histogram__grille,.st-histogram__grille[data-base]{stroke:GrayText}.st-histogram__graduation,.st-histogram__nom-d-axe{fill:CanvasText}}\n"],
1256
+ dependencies: [{
1257
+ kind: "component",
1258
+ type: StButton,
1259
+ selector: "button[stButton]",
1260
+ inputs: [
1261
+ "variante",
1262
+ "taille",
1263
+ "pleineLargeur",
1264
+ "iconeAvant",
1265
+ "iconeApres",
1266
+ "chargement",
1267
+ "indisponible",
1268
+ "raisonIndisponible"
1269
+ ]
1270
+ }, {
1271
+ kind: "component",
1272
+ type: StDataTable,
1273
+ selector: "st-data-table",
1274
+ inputs: [
1275
+ "legende",
1276
+ "legendeMasquee",
1277
+ "colonnes",
1278
+ "lignes",
1279
+ "cle",
1280
+ "enTeteDeLigne",
1281
+ "premiereColonneFigee",
1282
+ "hauteurMax",
1283
+ "tonDeLigne",
1284
+ "ligneChoisissable",
1285
+ "densite",
1286
+ "chargement",
1287
+ "annonceDeRechargement",
1288
+ "selectionnable",
1289
+ "selection",
1290
+ "tri",
1291
+ "triTernaire",
1292
+ "texteVide",
1293
+ "raisonDuVide",
1294
+ "lignesAttendues"
1295
+ ],
1296
+ outputs: [
1297
+ "selectionChange",
1298
+ "triChange",
1299
+ "effacement"
1300
+ ]
1301
+ }],
1302
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1303
+ });
1304
+ };
1305
+ i0.ɵɵngDeclareClassMetadata({
1306
+ minVersion: "12.0.0",
1307
+ version: "22.2.2",
1308
+ ngImport: i0,
1309
+ type: StHistogram,
1310
+ decorators: [{
1311
+ type: Component,
1312
+ args: [{
1313
+ selector: "st-histogram",
1314
+ changeDetection: ChangeDetectionStrategy.OnPush,
1315
+ imports: [StButton, StDataTable],
1316
+ host: {
1317
+ class: "st-histogram",
1318
+ "[attr.data-vue]": "vueDonnees() ? \"donnees\" : \"graphique\""
1319
+ },
1320
+ template: "<div class=\"st-histogram__barre-d-outils\">\n <button\n stButton\n variante=\"discret\"\n taille=\"sm\"\n type=\"button\"\n [attr.lang]=\"catalogue().langueDeRepli\"\n (click)=\"basculer()\"\n >\n {{ vueDonnees() ? catalogue().libelles.voirLeGraphique : catalogue().libelles.voirLesDonnees }}\n </button>\n</div>\n\n@if (vueDonnees()) {\n <st-data-table\n [legende]=\"etiquette()\"\n [colonnes]=\"colonnes()\"\n [lignes]=\"lignes()\"\n cle=\"cle\"\n hauteurMax=\"24rem\"\n />\n} @else if (dessin(); as dessin) {\n <svg\n class=\"st-histogram__svg\"\n role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\"\n focusable=\"false\"\n preserveAspectRatio=\"xMinYMin meet\"\n [attr.aria-label]=\"etiquette()\"\n [attr.aria-describedby]=\"identifiants.resume\"\n [attr.viewBox]=\"'0 0 ' + dessin.largeur + ' ' + dessin.hauteur\"\n [attr.height]=\"dessin.hauteur\"\n >\n <defs>\n <pattern\n patternUnits=\"userSpaceOnUse\"\n width=\"6\"\n height=\"6\"\n patternTransform=\"rotate(45)\"\n [attr.id]=\"identifiants.motif\"\n >\n <line class=\"st-histogram__hachure\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"6\" />\n </pattern>\n </defs>\n <text class=\"st-histogram__nom-d-axe\" text-anchor=\"start\" [attr.x]=\"0\" y=\"12\">\n {{ catalogue().libelles.axeEffectif }}\n </text>\n @for (graduation of dessin.graduations; track $index) {\n <line\n class=\"st-histogram__grille\"\n [attr.data-base]=\"$first ? '' : null\"\n [attr.x1]=\"dessin.gauche\"\n [attr.x2]=\"dessin.droite\"\n [attr.y1]=\"graduation.y\"\n [attr.y2]=\"graduation.y\"\n />\n <text\n class=\"st-histogram__graduation\"\n data-axe=\"effectifs\"\n text-anchor=\"end\"\n dominant-baseline=\"middle\"\n [attr.x]=\"dessin.gauche - 8\"\n [attr.y]=\"graduation.y\"\n >\n {{ graduation.texte }}\n </text>\n }\n @for (barre of dessin.barres; track barre.rang) {\n <rect\n class=\"st-histogram__classe\"\n [attr.data-signe]=\"barre.negative ? 'negatif' : 'positif'\"\n [attr.fill]=\"barre.negative ? 'url(#' + identifiants.motif + ')' : null\"\n [attr.x]=\"barre.x\"\n [attr.y]=\"barre.y\"\n [attr.width]=\"barre.largeur\"\n [attr.height]=\"barre.hauteur\"\n />\n }\n @if (dessin.zero !== null) {\n <line\n class=\"st-histogram__zero\"\n [attr.x1]=\"dessin.zero\"\n [attr.x2]=\"dessin.zero\"\n [attr.y1]=\"dessin.haut\"\n [attr.y2]=\"dessin.bas\"\n />\n }\n @for (repere of dessin.reperes; track $index) {\n <text\n class=\"st-histogram__graduation\"\n data-axe=\"valeurs\"\n [attr.text-anchor]=\"repere.ancre\"\n [attr.x]=\"repere.x\"\n [attr.y]=\"dessin.bas + 18\"\n >\n {{ repere.texte }}\n </text>\n }\n <text\n class=\"st-histogram__nom-d-axe\"\n text-anchor=\"middle\"\n [attr.x]=\"(dessin.gauche + dessin.droite) / 2\"\n [attr.y]=\"dessin.hauteur - 6\"\n >\n {{ axe() }}\n </text>\n </svg>\n\n <ul class=\"st-histogram__classes st-vh\" [attr.aria-label]=\"catalogue().libelles.classes\">\n @for (classe of classesDites(); track classe.rang) {\n <li [attr.lang]=\"catalogue().langueDeRepli\">\n {{\n catalogue().libelles.classe(\n classe.texteDuDebut,\n classe.texteDeLaFin,\n classe.texteDeLEffectif\n )\n }}\n </li>\n }\n </ul>\n\n @if (deuxSignes()) {\n <ul\n class=\"st-histogram__legende\"\n [attr.aria-label]=\"catalogue().libelles.legende\"\n [attr.lang]=\"catalogue().langueDeRepli\"\n >\n <li class=\"st-histogram__cle\">\n <svg\n class=\"st-histogram__echantillon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 16 12\"\n width=\"16\"\n height=\"12\"\n >\n <rect\n class=\"st-histogram__classe\"\n data-signe=\"negatif\"\n x=\"1\"\n y=\"1\"\n width=\"14\"\n height=\"10\"\n [attr.fill]=\"'url(#' + identifiants.motif + ')'\"\n />\n </svg>\n {{ catalogue().libelles.classesNegatives }}\n </li>\n <li class=\"st-histogram__cle\">\n <svg\n class=\"st-histogram__echantillon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 16 12\"\n width=\"16\"\n height=\"12\"\n >\n <rect\n class=\"st-histogram__classe\"\n data-signe=\"positif\"\n x=\"1\"\n y=\"1\"\n width=\"14\"\n height=\"10\"\n />\n </svg>\n {{ catalogue().libelles.classesPositives }}\n </li>\n </ul>\n }\n} @else {\n <p class=\"st-histogram__vide\" [attr.lang]=\"catalogue().langueDeRepli\">\n {{ catalogue().libelles.aucuneDonnee }}\n </p>\n}\n\n<p class=\"st-histogram__resume\" [id]=\"identifiants.resume\">{{ resume() }}</p>\n<span\n class=\"st-histogram__annonce st-vh\"\n aria-live=\"polite\"\n [attr.lang]=\"catalogue().langueDeRepli\"\n >{{ annonce.texte() }}</span\n>\n",
1321
+ 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;min-inline-size:0;max-inline-size:100%}.st-histogram__barre-d-outils{display:flex;justify-content:flex-end;margin-block-end:var(--st-espacement-2)}.st-histogram__svg{display:block;inline-size:100%;block-size:auto;overflow:visible;direction:ltr}.st-histogram__graduation,.st-histogram__nom-d-axe{font-size:var(--st-taille-xs);line-height:var(--st-interligne-xs);font-weight:var(--st-graisse-moyenne);letter-spacing:var(--st-interlettrage-large);fill:var(--st-couleur-texte-discret);font-variant-numeric:var(--st-chiffres-alignes)}.st-histogram__nom-d-axe{font-weight:var(--st-graisse-semi);fill:var(--st-couleur-texte)}.st-histogram__grille{stroke:var(--st-couleur-bordure);stroke-width:1;shape-rendering:crispEdges}.st-histogram__grille[data-base]{stroke:var(--st-couleur-bordure-forte)}.st-histogram__zero{stroke:var(--st-couleur-bordure-forte);stroke-width:1.5;shape-rendering:crispEdges}.st-histogram__classe[data-signe=positif]{fill:var(--st-couleur-serie1)}.st-histogram__classe[data-signe=negatif]{stroke:var(--st-couleur-serie2);stroke-width:1.5}.st-histogram__hachure{stroke:var(--st-couleur-serie2);stroke-width:2}.st-histogram__legende{font-size:var(--st-taille-sm);line-height:var(--st-interligne-sm);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);display:flex;flex-wrap:wrap;gap:var(--st-espacement-2) var(--st-espacement-4);margin:var(--st-espacement-3) 0 0;padding:0;color:var(--st-couleur-texte);list-style:none}.st-histogram__cle{display:inline-flex;gap:var(--st-espacement-2);align-items:center;min-inline-size:0;overflow-wrap:anywhere}.st-histogram__echantillon{flex:none;overflow:visible}.st-histogram__resume{font-size:var(--st-taille-sm);line-height:var(--st-interligne-sm);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);margin:var(--st-espacement-2) 0 0;color:var(--st-couleur-texte-discret)}.st-histogram__vide{font-size:var(--st-taille-md);line-height:var(--st-interligne-md);font-weight:var(--st-graisse-normale);letter-spacing:var(--st-interlettrage-normal);display:grid;place-items:center;min-block-size:8rem;margin:0;padding:var(--st-espacement-4);color:var(--st-couleur-texte-discret);text-align:center;border:var(--st-epaisseur-fine) dashed var(--st-couleur-bordure);border-radius:var(--st-rayon-md)}@media(forced-colors:active){.st-histogram__classe[data-signe=positif]{fill:CanvasText}.st-histogram__classe[data-signe=negatif],.st-histogram__hachure,.st-histogram__zero{stroke:CanvasText}.st-histogram__grille,.st-histogram__grille[data-base]{stroke:GrayText}.st-histogram__graduation,.st-histogram__nom-d-axe{fill:CanvasText}}\n"]
1322
+ }]
1323
+ }],
1324
+ propDecorators: {
1325
+ classes: [{
1326
+ type: i0.Input,
1327
+ args: [{
1328
+ isSignal: true,
1329
+ alias: "classes",
1330
+ required: false
1331
+ }]
1332
+ }],
1333
+ valeurs: [{
1334
+ type: i0.Input,
1335
+ args: [{
1336
+ isSignal: true,
1337
+ alias: "valeurs",
1338
+ required: false
1339
+ }]
1340
+ }],
1341
+ nombreDeClasses: [{
1342
+ type: i0.Input,
1343
+ args: [{
1344
+ isSignal: true,
1345
+ alias: "nombreDeClasses",
1346
+ required: false
1347
+ }]
1348
+ }],
1349
+ axe: [{
1350
+ type: i0.Input,
1351
+ args: [{
1352
+ isSignal: true,
1353
+ alias: "axe",
1354
+ required: true
1355
+ }]
1356
+ }],
1357
+ devise: [{
1358
+ type: i0.Input,
1359
+ args: [{
1360
+ isSignal: true,
1361
+ alias: "devise",
1362
+ required: false
1363
+ }]
1364
+ }],
1365
+ pourcentage: [{
1366
+ type: i0.Input,
1367
+ args: [{
1368
+ isSignal: true,
1369
+ alias: "pourcentage",
1370
+ required: false
1371
+ }]
1372
+ }],
1373
+ etiquette: [{
1374
+ type: i0.Input,
1375
+ args: [{
1376
+ isSignal: true,
1377
+ alias: "etiquette",
1378
+ required: true
1379
+ }]
1380
+ }],
1381
+ resume: [{
1382
+ type: i0.Input,
1383
+ args: [{
1384
+ isSignal: true,
1385
+ alias: "resume",
1386
+ required: true
1387
+ }]
1388
+ }],
1389
+ hauteur: [{
1390
+ type: i0.Input,
1391
+ args: [{
1392
+ isSignal: true,
1393
+ alias: "hauteur",
1394
+ required: false
1395
+ }]
1396
+ }]
1397
+ }
1398
+ });
1399
+ export { LIBELLES_GRAPHIQUES_EN, LIBELLES_GRAPHIQUES_FR, ST_LIBELLES_GRAPHIQUES, StHistogram, StLineChart, StSparkline, catalogueDesGraphiques, fournirLibellesGraphiques, libellesDesGraphiques };
933
1400
 
934
1401
  //# sourceMappingURL=starterlib-ui-graphiques.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"starterlib-ui-graphiques.mjs","names":[],"sources":["../../../../packages/ui/graphiques/src/lib/libelles-graphiques.ts","../../../../packages/ui/graphiques/src/lib/lecture.ts","../../../../packages/ui/graphiques/src/lib/st-line-chart.ts","../../../../packages/ui/graphiques/src/lib/st-line-chart.html","../../../../packages/ui/graphiques/src/lib/st-sparkline.ts","../../../../packages/ui/graphiques/src/lib/st-sparkline.html"],"mappings":"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"}
1
+ {"version":3,"file":"starterlib-ui-graphiques.mjs","names":[],"sources":["../../../../packages/ui/graphiques/src/lib/libelles-graphiques.ts","../../../../packages/ui/graphiques/src/lib/lecture.ts","../../../../packages/ui/graphiques/src/lib/mesure.ts","../../../../packages/ui/graphiques/src/lib/st-line-chart.ts","../../../../packages/ui/graphiques/src/lib/st-line-chart.html","../../../../packages/ui/graphiques/src/lib/st-sparkline.ts","../../../../packages/ui/graphiques/src/lib/st-sparkline.html","../../../../packages/ui/graphiques/src/lib/classes.ts","../../../../packages/ui/graphiques/src/lib/st-histogram.ts","../../../../packages/ui/graphiques/src/lib/st-histogram.html"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starterlib/ui",
3
- "version": "0.11.6",
3
+ "version": "0.12.0",
4
4
  "description": "Bibliotheque de composants st-* du socle frontal starter, sur CDK et Aria.",
5
5
  "license": "UNLICENSED",
6
6
  "sideEffects": false,
@@ -25,8 +25,8 @@
25
25
  "@angular/forms": "^22.2.0",
26
26
  "@angular/cdk": "^22.2.0",
27
27
  "@angular/aria": "^22.2.0",
28
- "@starterlib/tokens": "^0.11.0",
29
- "@starterlib/util": "^0.11.0",
28
+ "@starterlib/tokens": "^0.12.0",
29
+ "@starterlib/util": "^0.12.0",
30
30
  "@zxcvbn-ts/core": "^4.2.0",
31
31
  "@zxcvbn-ts/language-common": "^4.1.3",
32
32
  "@zxcvbn-ts/language-en": "^4.1.1",
@@ -2,7 +2,7 @@ import * as i0 from "@angular/core";
2
2
  import { InjectionToken, Provider, Signal } from "@angular/core";
3
3
  import { AnnonceLocale, CatalogueDuPointDEntree } from "@starterlib/ui";
4
4
  import { ColonneDeTableau } from "@starterlib/ui/listes";
5
- import { UniteDeTemps } from "@starterlib/util/graduations";
5
+ import { Graduations, UniteDeTemps } from "@starterlib/util/graduations";
6
6
  /**
7
7
  * Les donnees d'un graphique (P08-07), telles que l'API les donne : des instants ISO 8601 et des
8
8
  * valeurs en CHAINE DECIMALE, jamais en flottant (regles-front §2). L'echelle se calcule sur des
@@ -48,6 +48,16 @@ export interface MarqueurDeGraphique {
48
48
  readonly instant: string;
49
49
  readonly libelle: string;
50
50
  }
51
+ /**
52
+ * Une classe d'histogramme (P08-18), de preference calculee par le SERVEUR sur toutes ses donnees :
53
+ * ses bornes en chaines decimales exactes, de `debut` (compris) a `fin` (exclue, sauf pour la
54
+ * derniere classe), et son effectif, un entier positif ou nul.
55
+ */
56
+ export interface ClasseDHistogramme {
57
+ readonly debut: string;
58
+ readonly fin: string;
59
+ readonly effectif: number;
60
+ }
51
61
  /**
52
62
  * Les libelles de `@starterlib/ui/graphiques` (P08-07) : le catalogue par point d'entree (AD-10,
53
63
  * D154), comme ceux des donnees et de la navigation. La langue suit celle du dictionnaire du tronc.
@@ -76,6 +86,20 @@ export interface LibellesGraphiques {
76
86
  * variation depuis le premier point, deja formatees ; `null` : un seul point.
77
87
  */
78
88
  readonly tendance: (dernier: string, variation: string | null) => string;
89
+ /** L'en-tete de la colonne des effectifs du tableau equivalent de `st-histogram` (P08-18). */
90
+ readonly colonneEffectif: string;
91
+ /** Le nom de l'axe des effectifs de `st-histogram`, au-dessus de ses graduations. */
92
+ readonly axeEffectif: string;
93
+ /** Une classe dans le tableau equivalent : ses bornes, deja formatees (« 0 % a 5 % »). */
94
+ readonly intervalle: (debut: string, fin: string) => string;
95
+ /** Le nom de la liste des classes, lue par le lecteur d'ecran sous l'histogramme. */
96
+ readonly classes: string;
97
+ /** Une classe lue par le lecteur d'ecran : ses bornes et son effectif, deja formates. */
98
+ readonly classe: (debut: string, fin: string, effectif: string) => string;
99
+ /** La legende des classes negatives (hachurees) d'un histogramme. */
100
+ readonly classesNegatives: string;
101
+ /** La legende des classes positives ou nulles d'un histogramme. */
102
+ readonly classesPositives: string;
79
103
  }
80
104
  export declare const LIBELLES_GRAPHIQUES_FR: LibellesGraphiques;
81
105
  export declare const LIBELLES_GRAPHIQUES_EN: LibellesGraphiques;
@@ -181,7 +205,7 @@ interface MarqueurLu {
181
205
  readonly libelle: string;
182
206
  }
183
207
  /** Ce que le gabarit dessine : calcule une fois par changement des donnees ou de la largeur. */
184
- interface Dessin {
208
+ interface Dessin$1 {
185
209
  readonly largeur: number;
186
210
  readonly hauteur: number;
187
211
  /** Le cadre du trace : de `gauche` a `droite`, de `haut` a `bas`. */
@@ -278,12 +302,11 @@ export declare class StLineChart {
278
302
  protected readonly marqueursLus: import("@angular/core").Signal<readonly MarqueurLu[]>;
279
303
  /** Aucun point lisible, ni dans les series ni dans le plafond. */
280
304
  protected readonly vide: import("@angular/core").Signal<boolean>;
281
- protected readonly dessin: import("@angular/core").Signal<Dessin | null>;
305
+ protected readonly dessin: import("@angular/core").Signal<Dessin$1 | null>;
282
306
  /** Les colonnes du tableau equivalent : l'instant, chaque serie, le plafond. */
283
307
  protected readonly colonnes: import("@angular/core").Signal<readonly ColonneDeTableau[]>;
284
308
  /** Une ligne par instant, dans l'ordre du temps ; chaque valeur relue depuis sa chaine. */
285
309
  protected readonly lignes: import("@angular/core").Signal<readonly Readonly<Record<string, string>>[]>;
286
- constructor();
287
310
  /** La courbe ou le tableau ; le bouton garde le focus, et la bascule s'annonce. */
288
311
  protected basculer(): void;
289
312
  static ɵfac: i0.ɵɵFactoryDeclaration<StLineChart, never>;
@@ -417,5 +440,178 @@ export declare class StSparkline {
417
440
  };
418
441
  }, {}, never, never, true, never>;
419
442
  }
443
+ /** Une classe lue : ses bornes en nombres (l'echelle) et en chaines (l'affichage), son effectif. */
444
+ interface ClasseLue {
445
+ readonly debut: number;
446
+ readonly fin: number;
447
+ readonly texteDebut: `${number}`;
448
+ readonly texteFin: `${number}`;
449
+ readonly effectif: number;
450
+ }
451
+ /**
452
+ * Les classes fournies, lisibles, dans l'ordre des bornes : une classe sans bornes decimales, sans
453
+ * etendue (`fin` <= `debut`) ou d'effectif qui n'est pas un entier positif ou nul est ecartee
454
+ * (signale en developpement).
455
+ */
456
+ declare function lireClasses(classes: readonly ClasseDHistogramme[], source: string): ClasseLue[];
457
+ /**
458
+ * Les classes de valeurs fournies (chaines decimales), en TypeScript pur : des bornes « agreables »
459
+ * (celles d'une graduation, `@starterlib/util/graduations`), environ `nombre` classes de meme
460
+ * largeur ; une valeur sur une borne va dans la classe qui commence a cette borne, et la derniere
461
+ * classe comprend sa fin. Aucun calcul statistique metier : le serveur qui en a besoin fournit ses
462
+ * classes.
463
+ */
464
+ declare function classesDesValeurs(valeurs: readonly string[], nombre: number, source: string): ClasseLue[];
465
+ /**
466
+ * Les graduations de l'axe des effectifs : de zero au plus grand, des pas ENTIERS (un effectif de
467
+ * deux ne se gradue pas par demis) ; tout vide, l'axe va de zero a un.
468
+ */
469
+ declare function graduationsDEffectif(plusGrand: number, nombreVise: number): Graduations;
470
+ /** Une classe a dessiner, et ce qui la dit. */
471
+ interface ClasseDite extends ClasseLue {
472
+ readonly rang: number;
473
+ readonly negative: boolean;
474
+ readonly texteDuDebut: string;
475
+ readonly texteDeLaFin: string;
476
+ readonly texteDeLEffectif: string;
477
+ }
478
+ /** Ce que le gabarit dessine : calcule une fois par changement des donnees ou de la largeur. */
479
+ interface Dessin {
480
+ readonly largeur: number;
481
+ readonly hauteur: number;
482
+ readonly gauche: number;
483
+ readonly droite: number;
484
+ readonly haut: number;
485
+ readonly bas: number;
486
+ readonly graduations: readonly {
487
+ readonly y: number;
488
+ readonly texte: string;
489
+ }[];
490
+ readonly reperes: readonly {
491
+ readonly x: number;
492
+ readonly texte: string;
493
+ readonly ancre: 'start' | 'middle' | 'end';
494
+ }[];
495
+ /** La verticale de zero, si l'axe passe de part et d'autre. */
496
+ readonly zero: number | null;
497
+ readonly barres: readonly {
498
+ readonly rang: number;
499
+ readonly negative: boolean;
500
+ readonly x: number;
501
+ readonly y: number;
502
+ readonly largeur: number;
503
+ readonly hauteur: number;
504
+ }[];
505
+ }
506
+ /**
507
+ * Une distribution par classes (P08-18, DEC-103) : resultats des essais du laboratoire, resultats
508
+ * publiables ; en SVG ecrit a la main, sans bibliotheque, au niveau d'accessibilite de la courbe.
509
+ *
510
+ * ```html
511
+ * <st-histogram etiquette="Rendements des essais" axe="Rendement" pourcentage
512
+ * [resume]="resume()" [classes]="classes()" />
513
+ * <st-histogram etiquette="Durees des positions" axe="Duree, en jours" [valeurs]="durees()" />
514
+ * ```
515
+ *
516
+ * - **Classes fournies** (`classes`, de preference calculees par le serveur sur toutes ses donnees)
517
+ * ou **calculees** en TypeScript pur sur des valeurs fournies (`valeurs`, `nombreDeClasses`) : des
518
+ * bornes « agreables » de meme largeur. Aucun calcul statistique metier dans le composant.
519
+ * - **Accessible** : un `svg` `role="img"` nomme (`etiquette`) et decrit (`resume`, visible) ; la
520
+ * liste des classes et de leurs effectifs se lit au lecteur d'ecran sous l'image ; « Voir les
521
+ * donnees » bascule vers un `st-data-table` equivalent, au clavier, et la bascule s'annonce.
522
+ * - **La couleur ne dit rien seule** : une classe negative (sa fin au plus zero) est HACHUREE, ce que
523
+ * le contraste force garde ; la verticale de zero est plus franche.
524
+ * - **Des chaines decimales** : les bornes affichees relisent leur chaine (regles-front §2), les
525
+ * graduations viennent de `@starterlib/util/graduations` ; les effectifs se graduent par entiers.
526
+ * - **Sobre** : aucune animation ; 50 classes au plus, recommandees (signale en developpement).
527
+ */
528
+ export declare class StHistogram {
529
+ private readonly locale;
530
+ protected readonly catalogue: import("@angular/core").Signal<import("@starterlib/ui").CatalogueDuPointDEntree<import("@starterlib/ui/graphiques").LibellesGraphiques>>;
531
+ protected readonly annonce: AnnonceLocale;
532
+ /** Les classes fournies ; prioritaires sur `valeurs` (les deux donnees : signale en developpement). */
533
+ readonly classes: import("@angular/core").InputSignal<readonly ClasseDHistogramme[] | null>;
534
+ /** Des valeurs en chaines decimales, rangees en classes par le composant. */
535
+ readonly valeurs: import("@angular/core").InputSignal<readonly string[] | null>;
536
+ /** Le nombre de classes vise pour des `valeurs` : les bornes agreables l'ajustent. */
537
+ readonly nombreDeClasses: import("@angular/core").InputSignal<number>;
538
+ /** Le nom de l'axe des valeurs, deja traduit (« Rendement de l'essai ») : sous l'axe et en tete du tableau. */
539
+ readonly axe: import("@angular/core").InputSignal<string>;
540
+ /** Code ISO 4217 : les bornes sont des montants dans cette devise. */
541
+ readonly devise: import("@angular/core").InputSignal<string | null>;
542
+ /** Sans devise : les bornes sont EN POUR CENT, telles que l'API les donne (3.25 : « 3,25 % »). */
543
+ readonly pourcentage: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
544
+ /** Le nom du graphique, deja traduit. */
545
+ readonly etiquette: import("@angular/core").InputSignal<string>;
546
+ /** Ce que la distribution montre, en une ou deux phrases, deja traduites : lu et affiche. */
547
+ readonly resume: import("@angular/core").InputSignal<string>;
548
+ /** La hauteur du trace, en pixels CSS. */
549
+ readonly hauteur: import("@angular/core").InputSignal<number>;
550
+ protected readonly vueDonnees: import("@angular/core").WritableSignal<boolean>;
551
+ private readonly largeur;
552
+ protected readonly identifiants: {
553
+ readonly motif: `${string}-motif`;
554
+ readonly resume: `${string}-resume`;
555
+ };
556
+ private readonly forme;
557
+ protected readonly classesDites: import("@angular/core").Signal<readonly ClasseDite[]>;
558
+ /** Des classes negatives ET positives : la legende dit la hachure. */
559
+ protected readonly deuxSignes: import("@angular/core").Signal<boolean>;
560
+ protected readonly dessin: import("@angular/core").Signal<Dessin | null>;
561
+ /** Les colonnes du tableau equivalent : la classe (nommee par l'axe), son effectif. */
562
+ protected readonly colonnes: import("@angular/core").Signal<readonly ColonneDeTableau[]>;
563
+ /** Une ligne par classe, classes vides comprises, dans l'ordre des bornes. */
564
+ protected readonly lignes: import("@angular/core").Signal<readonly Readonly<Record<string, string>>[]>;
565
+ /** L'histogramme ou le tableau ; le bouton garde le focus, et la bascule s'annonce. */
566
+ protected basculer(): void;
567
+ static ɵfac: i0.ɵɵFactoryDeclaration<StHistogram, never>;
568
+ static ɵcmp: i0.ɵɵComponentDeclaration<StHistogram, "st-histogram", never, {
569
+ "classes": {
570
+ "alias": "classes";
571
+ "required": false;
572
+ "isSignal": true;
573
+ };
574
+ "valeurs": {
575
+ "alias": "valeurs";
576
+ "required": false;
577
+ "isSignal": true;
578
+ };
579
+ "nombreDeClasses": {
580
+ "alias": "nombreDeClasses";
581
+ "required": false;
582
+ "isSignal": true;
583
+ };
584
+ "axe": {
585
+ "alias": "axe";
586
+ "required": true;
587
+ "isSignal": true;
588
+ };
589
+ "devise": {
590
+ "alias": "devise";
591
+ "required": false;
592
+ "isSignal": true;
593
+ };
594
+ "pourcentage": {
595
+ "alias": "pourcentage";
596
+ "required": false;
597
+ "isSignal": true;
598
+ };
599
+ "etiquette": {
600
+ "alias": "etiquette";
601
+ "required": true;
602
+ "isSignal": true;
603
+ };
604
+ "resume": {
605
+ "alias": "resume";
606
+ "required": true;
607
+ "isSignal": true;
608
+ };
609
+ "hauteur": {
610
+ "alias": "hauteur";
611
+ "required": false;
612
+ "isSignal": true;
613
+ };
614
+ }, {}, never, never, true, never>;
615
+ }
420
616
 
421
617
  export {};