@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.
- package/LICENCES-TIERCES.md +236 -0
- package/README.md +101 -47
- package/assets/icones/catalogue.json +3296 -0
- package/assets/icones/sprite.svg +235 -35
- package/fesm2022/starterlib-ui-arbre.mjs +473 -80
- package/fesm2022/starterlib-ui-arbre.mjs.map +1 -1
- package/fesm2022/starterlib-ui-donnees.mjs +3551 -522
- package/fesm2022/starterlib-ui-donnees.mjs.map +1 -1
- package/fesm2022/starterlib-ui-formulaires.mjs +3186 -443
- package/fesm2022/starterlib-ui-formulaires.mjs.map +1 -1
- package/fesm2022/starterlib-ui-libelles-en.mjs +380 -139
- package/fesm2022/starterlib-ui-libelles-en.mjs.map +1 -1
- package/fesm2022/starterlib-ui-listes.mjs +5354 -658
- package/fesm2022/starterlib-ui-listes.mjs.map +1 -1
- package/fesm2022/starterlib-ui-messagerie.mjs +737 -0
- package/fesm2022/starterlib-ui-messagerie.mjs.map +1 -0
- package/fesm2022/starterlib-ui-navigation.mjs +506 -243
- package/fesm2022/starterlib-ui-navigation.mjs.map +1 -1
- package/fesm2022/starterlib-ui-onglets.mjs +369 -135
- package/fesm2022/starterlib-ui-onglets.mjs.map +1 -1
- package/fesm2022/starterlib-ui-parcours.mjs +2449 -0
- package/fesm2022/starterlib-ui-parcours.mjs.map +1 -0
- package/fesm2022/starterlib-ui-qr.mjs +907 -0
- package/fesm2022/starterlib-ui-qr.mjs.map +1 -0
- package/fesm2022/starterlib-ui-saisie.mjs +8566 -1589
- package/fesm2022/starterlib-ui-saisie.mjs.map +1 -1
- package/fesm2022/starterlib-ui-selection.mjs +1340 -268
- package/fesm2022/starterlib-ui-selection.mjs.map +1 -1
- package/fesm2022/starterlib-ui-sens.mjs +59 -0
- package/fesm2022/starterlib-ui-sens.mjs.map +1 -0
- package/fesm2022/starterlib-ui-surfaces.mjs +5140 -1387
- package/fesm2022/starterlib-ui-surfaces.mjs.map +1 -1
- package/fesm2022/starterlib-ui.mjs +10721 -2871
- package/fesm2022/starterlib-ui.mjs.map +1 -1
- package/package.json +27 -18
- package/styles/amorce.css +69 -0
- package/styles/couches.css +178 -0
- package/types/starterlib-ui-arbre.d.ts +199 -25
- package/types/starterlib-ui-donnees.d.ts +1441 -180
- package/types/starterlib-ui-formulaires.d.ts +1174 -139
- package/types/starterlib-ui-libelles-en.d.ts +3 -23
- package/types/starterlib-ui-listes.d.ts +2310 -255
- package/types/starterlib-ui-messagerie.d.ts +317 -0
- package/types/starterlib-ui-navigation.d.ts +201 -63
- package/types/starterlib-ui-onglets.d.ts +172 -43
- package/types/starterlib-ui-parcours.d.ts +916 -0
- package/types/starterlib-ui-qr.d.ts +105 -0
- package/types/starterlib-ui-saisie.d.ts +3431 -549
- package/types/starterlib-ui-selection.d.ts +441 -65
- package/types/starterlib-ui-sens.d.ts +44 -0
- package/types/starterlib-ui-surfaces.d.ts +1899 -510
- package/types/starterlib-ui.d.ts +4749 -1115
- package/fesm2022/starterlib-ui-interactions.mjs +0 -43
- package/fesm2022/starterlib-ui-interactions.mjs.map +0 -1
- 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 {};
|