@starterlib/ui 0.8.0 → 0.9.1

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 +10721 -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 +172 -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 +4749 -1115
  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
@@ -0,0 +1,105 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Encodeur QR pur (lot 264) : ISO/IEC 18004, versions 1 a 40, niveaux L, M, Q et H, modes
4
+ * numerique, alphanumerique et octets (UTF-8), un seul segment. Aucune dependance, aucun acces au
5
+ * DOM : une matrice de booleens que `st-qr-code` dessine.
6
+ *
7
+ * Ni au tronc ni dans `util` (ADR 0004, N06) : il ne sert qu'a `@starterlib/ui/qr`, et son poids ne
8
+ * se paie que la ou un code s'affiche.
9
+ */
10
+ /** Niveau de correction (7.5.1) : environ 7, 15, 25 et 30 % des mots de code recuperables. */
11
+ export type CorrectionQr = 'L' | 'M' | 'Q' | 'H';
12
+ export interface OptionsQr {
13
+ /** Defaut : `M`, le compromis d'un ecran (reflets, capteur mediocre). */
14
+ readonly correction?: CorrectionQr;
15
+ /** Bornes de version, 1 a 40 (defaut : toutes). */
16
+ readonly versionMin?: number;
17
+ readonly versionMax?: number;
18
+ /** Un masque impose (0 a 7) ; defaut : celui de moindre penalite (7.8.3). */
19
+ readonly masque?: number | null;
20
+ }
21
+ /** Le symbole encode : `modules[y][x]` est vrai pour un module sombre, zone silencieuse exclue. */
22
+ export interface MatriceQr {
23
+ readonly version: number;
24
+ readonly taille: number;
25
+ readonly correction: CorrectionQr;
26
+ readonly masque: number;
27
+ readonly modules: readonly (readonly boolean[])[];
28
+ }
29
+ /**
30
+ * Encode `texte` en symbole QR. Leve une `RangeError` quand il ne tient dans aucune version
31
+ * permise, ou quand une option sort de ses bornes.
32
+ */
33
+ export declare function encoderQr(texte: string, options?: OptionsQr): MatriceQr;
34
+ /** Un module sombre, en coordonnees du symbole (zone silencieuse comprise). */
35
+ interface ModuleSombre {
36
+ readonly x: number;
37
+ readonly y: number;
38
+ }
39
+ /**
40
+ * Un code QR (lot 264) : l'URI d'enrolement d'un authentificateur (`otpauth://`, reponse
41
+ * `EnrollTotpResponse.otpauthUri` d'identity), ou un virement SEPA a scanner (EPC QR).
42
+ *
43
+ * ```html
44
+ * <st-qr-code [valeur]="enrolement().otpauthUri" etiquette="Code QR de votre authentificateur">
45
+ * <p complement>
46
+ * Ou saisissez la cle :
47
+ * <st-code etiquette="Cle de l'authentificateur" [valeur]="enrolement().secret" />
48
+ * </p>
49
+ * </st-qr-code>
50
+ * ```
51
+ *
52
+ * - La cle est un SECRET : `st-code` la copie, mais ne la met jamais dans le nom de son bouton
53
+ * (« Copier : Cle de l'authentificateur », audit du 2026-09-27, A-11).
54
+ * - Un `svg` `role="img"` NOMME, dessine module par module (`@for`, un `rect` par module sombre) :
55
+ * aucun `innerHTML`, aucune chaine SVG fabriquee (regles-front, §4).
56
+ * - Toujours sombre sur clair, zone silencieuse de quatre modules comprise, meme en theme sombre :
57
+ * un symbole inverse n'est pas lu par tous les lecteurs (sous contraste force, les couleurs du
58
+ * systeme).
59
+ * - Le `[complement]` projete est OBLIGATOIRE (avertissement en developpement) : un code QR ne se
60
+ * lit ni a l'oreille ni sur l'ecran qui l'affiche ; le complement dit la meme chose en texte (la
61
+ * cle a saisir, les coordonnees du virement).
62
+ * - Une valeur trop longue pour le niveau demande ne dessine rien (erreur en developpement) : le
63
+ * complement reste.
64
+ */
65
+ export declare class StQrCode {
66
+ /** Le texte encode (URI `otpauth://`, charge utile EPC), jamais affiche tel quel. */
67
+ readonly valeur: import("@angular/core").InputSignal<string>;
68
+ /** Le nom du symbole pour les technologies d'assistance, deja traduit. */
69
+ readonly etiquette: import("@angular/core").InputSignal<string>;
70
+ /** Le cote du symbole en pixels CSS, zone silencieuse comprise. */
71
+ readonly taille: import("@angular/core").InputSignal<number>;
72
+ /** Defaut : `M`, le compromis d'un ecran. */
73
+ readonly correction: import("@angular/core").InputSignal<CorrectionQr>;
74
+ private readonly complement;
75
+ protected readonly matrice: import("@angular/core").Signal<MatriceQr | null>;
76
+ /** Le cote du symbole en modules, zone silencieuse comprise. */
77
+ protected readonly cote: import("@angular/core").Signal<number>;
78
+ protected readonly sombres: import("@angular/core").Signal<readonly ModuleSombre[]>;
79
+ constructor();
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<StQrCode, never>;
81
+ static ɵcmp: i0.ɵɵComponentDeclaration<StQrCode, "st-qr-code", never, {
82
+ "valeur": {
83
+ "alias": "valeur";
84
+ "required": true;
85
+ "isSignal": true;
86
+ };
87
+ "etiquette": {
88
+ "alias": "etiquette";
89
+ "required": true;
90
+ "isSignal": true;
91
+ };
92
+ "taille": {
93
+ "alias": "taille";
94
+ "required": false;
95
+ "isSignal": true;
96
+ };
97
+ "correction": {
98
+ "alias": "correction";
99
+ "required": false;
100
+ "isSignal": true;
101
+ };
102
+ }, {}, never, ["[complement]"], true, never>;
103
+ }
104
+
105
+ export {};