@ktortu/aaa 0.9.0 → 0.9.2

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 (54) hide show
  1. package/README.md +5 -3
  2. package/fesm2022/ktortu-aaa-button.mjs +10 -2
  3. package/fesm2022/ktortu-aaa-button.mjs.map +1 -1
  4. package/fesm2022/ktortu-aaa-card.mjs +14 -5
  5. package/fesm2022/ktortu-aaa-card.mjs.map +1 -1
  6. package/fesm2022/ktortu-aaa-cdk.mjs +50 -2
  7. package/fesm2022/ktortu-aaa-cdk.mjs.map +1 -1
  8. package/fesm2022/ktortu-aaa-dialog.mjs +80 -39
  9. package/fesm2022/ktortu-aaa-dialog.mjs.map +1 -1
  10. package/fesm2022/ktortu-aaa-disclosure.mjs +201 -0
  11. package/fesm2022/ktortu-aaa-disclosure.mjs.map +1 -0
  12. package/fesm2022/ktortu-aaa-forms.mjs +525 -149
  13. package/fesm2022/ktortu-aaa-forms.mjs.map +1 -1
  14. package/fesm2022/ktortu-aaa-i18n.mjs +27 -2
  15. package/fesm2022/ktortu-aaa-i18n.mjs.map +1 -1
  16. package/fesm2022/ktortu-aaa-menu.mjs.map +1 -1
  17. package/fesm2022/ktortu-aaa-progress-bar.mjs +91 -0
  18. package/fesm2022/ktortu-aaa-progress-bar.mjs.map +1 -0
  19. package/fesm2022/ktortu-aaa-snackbar.mjs +478 -0
  20. package/fesm2022/ktortu-aaa-snackbar.mjs.map +1 -0
  21. package/fesm2022/ktortu-aaa-tabs.mjs.map +1 -1
  22. package/fesm2022/ktortu-aaa-tooltip.mjs +20 -30
  23. package/fesm2022/ktortu-aaa-tooltip.mjs.map +1 -1
  24. package/fesm2022/ktortu-aaa.mjs +2 -0
  25. package/fesm2022/ktortu-aaa.mjs.map +1 -1
  26. package/forms/checkbox/checkbox-group.css +0 -8
  27. package/forms/chips/chip-list.css +5 -0
  28. package/forms/field/field.css +16 -0
  29. package/forms/radio/radio-group.css +1 -9
  30. package/forms/styles/field-box.css +14 -6
  31. package/forms/styles/field-pending.css +46 -0
  32. package/forms/styles/select-panel.css +4 -0
  33. package/package.json +13 -1
  34. package/progress-bar/progress-bar.css +127 -0
  35. package/snackbar/snackbar-tokens.css +53 -0
  36. package/snackbar/snackbar.css +175 -0
  37. package/styles/disclosure.css +6 -0
  38. package/styles/forms.css +1 -0
  39. package/styles/progress-bar.css +5 -0
  40. package/styles/snackbar.css +9 -0
  41. package/styles/styles.css +3 -0
  42. package/themes/theme-cyberpunk.css +11 -0
  43. package/tooltip/tooltip.css +1 -1
  44. package/types/ktortu-aaa-button.d.ts +2 -0
  45. package/types/ktortu-aaa-card.d.ts +3 -0
  46. package/types/ktortu-aaa-cdk.d.ts +27 -1
  47. package/types/ktortu-aaa-dialog.d.ts +89 -34
  48. package/types/ktortu-aaa-disclosure.d.ts +112 -0
  49. package/types/ktortu-aaa-forms.d.ts +238 -30
  50. package/types/ktortu-aaa-i18n.d.ts +3 -0
  51. package/types/ktortu-aaa-progress-bar.d.ts +27 -0
  52. package/types/ktortu-aaa-snackbar.d.ts +218 -0
  53. package/types/ktortu-aaa-tooltip.d.ts +0 -1
  54. package/types/ktortu-aaa.d.ts +2 -0
@@ -0,0 +1,112 @@
1
+ import * as i0 from '@angular/core';
2
+
3
+ /**
4
+ * Déclencheur d'un [ktDisclosure] : posé sur un **vrai `<button>`** (clavier Entrée/Espace
5
+ * gratuit). Câble `(click)` → `toggle()` et reflète l'état via `aria-expanded` / `aria-controls`
6
+ * (cf. ADR-0004). `type="button"` est posé **s'il est absent** (ne pas soumettre un formulaire,
7
+ * sans écraser un `type` explicite du consommateur).
8
+ *
9
+ * Le contenu du bouton appartient au consommateur (texte, icône, libellé piloté par `expanded()`). Un
10
+ * **chevron** décoratif (qui pivote selon l'état) est affiché par défaut ; le désactiver avec
11
+ * `[chevron]="false"`. La directive applique elle-même la classe de style — rien à écrire.
12
+ *
13
+ * @example
14
+ * ```html
15
+ * <button ktDisclosureToggle>Détails</button> <!-- avec chevron -->
16
+ * <button ktDisclosureToggle [chevron]="false">Détails</button> <!-- sans chevron -->
17
+ * ```
18
+ */
19
+ declare class KtDisclosureToggle {
20
+ readonly disclosure: KtDisclosure;
21
+ private readonly host;
22
+ private readonly auditEnabled;
23
+ private isDestroyed;
24
+ /** Affiche le chevron décoratif (qui pivote selon l'état). @default true */
25
+ readonly chevron: i0.InputSignalWithTransform<boolean, unknown>;
26
+ constructor();
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<KtDisclosureToggle, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KtDisclosureToggle, "button[ktDisclosureToggle]", never, { "chevron": { "alias": "chevron"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
29
+ }
30
+
31
+ /**
32
+ * Panneau repliable d'un [ktDisclosure]. **Composant** (et non directive) car l'animation grid
33
+ * `0fr ↔ 1fr` exige un **unique enfant `overflow:hidden`** autour du contenu projeté — ce wrapper
34
+ * (`.kt-disclosure-content__inner`) est fourni par le template, le consommateur reste libre d'y
35
+ * mettre autant de blocs qu'il veut.
36
+ *
37
+ * Porte l'`id` (cible de `aria-controls`) et passe **`inert`** quand c'est fermé : le contenu
38
+ * masqué sort de l'ordre de tabulation et de l'arbre d'accessibilité (jamais de focus dans
39
+ * l'invisible). Pas de `role=region` (anti-pollution du rotor de régions). Cf. ADR-0004.
40
+ *
41
+ * @example
42
+ * ```html
43
+ * <kt-disclosure-content>
44
+ * <p>Premier bloc</p>
45
+ * <p>Second bloc…</p>
46
+ * </kt-disclosure-content>
47
+ * ```
48
+ */
49
+ declare class KtDisclosureContent {
50
+ readonly disclosure: KtDisclosure;
51
+ static ɵfac: i0.ɵɵFactoryDeclaration<KtDisclosureContent, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<KtDisclosureContent, "kt-disclosure-content", never, {}, {}, never, ["*"], true, never>;
53
+ }
54
+
55
+ /**
56
+ * Disclosure : replie/déplie un **bloc d'interface** (volet d'options, module de dashboard,
57
+ * section d'une fiche produit). Directive HÔTE d'une famille à trois marqueurs — elle possède
58
+ * l'état, génère l'`id` du panneau et expose des méthodes impératives ; le câblage ARIA et
59
+ * l'animation vivent sur `[ktDisclosureToggle]` / `<kt-disclosure-content>`.
60
+ *
61
+ * Pour une **section de contenu** de page (façon Wikipédia / FAQ), préférer `<details>` natif
62
+ * (sémantique, find-in-page, SEO, zéro JS) — cf. ADR-0004.
63
+ *
64
+ * L'état est exposé via `exportAs: 'ktDisclosure'` : lisez `expanded()` pour piloter le template
65
+ * (ex. libellé « Voir plus / Voir moins ») sans input de libellé (i18n côté consommateur,
66
+ * cf. ADR-0003).
67
+ *
68
+ * Contrat : **un** `[ktDisclosureToggle]` et **un** `<kt-disclosure-content>` par hôte (id de
69
+ * panneau unique / `aria-controls` non ambigu) ; un avertissement dev le signale sinon.
70
+ *
71
+ * @example
72
+ * ```html
73
+ * <div ktDisclosure #d="ktDisclosure">
74
+ * <button ktDisclosureToggle>{{ d.expanded() ? 'Voir moins' : 'Voir plus' }}</button>
75
+ * <kt-disclosure-content><p>Mon contenu</p></kt-disclosure-content>
76
+ * </div>
77
+ * ```
78
+ */
79
+ declare class KtDisclosure {
80
+ private readonly idGen;
81
+ private readonly host;
82
+ private isDestroyed;
83
+ /** Identifiant stable du panneau contrôlé : cible de l'`aria-controls` du déclencheur. */
84
+ readonly contentId: string;
85
+ /**
86
+ * État ouvert/fermé. **Toujours utilisé en binding** (`[(expanded)]` / `[expanded]`), jamais en
87
+ * attribut nu : un `model()` n'accepte pas de `booleanAttribute`, donc `<div ktDisclosure expanded>`
88
+ * pousserait la chaîne `''` au lieu de `true`. En binding, la valeur est garantie booléenne.
89
+ * @default false
90
+ */
91
+ readonly expanded: i0.ModelSignal<boolean>;
92
+ private readonly auditEnabled;
93
+ readonly toggles: i0.Signal<readonly KtDisclosureToggle[]>;
94
+ readonly contents: i0.Signal<readonly KtDisclosureContent[]>;
95
+ constructor();
96
+ /** Bascule l'état. */
97
+ toggle(): void;
98
+ /** Ouvre le panneau. */
99
+ expand(): void;
100
+ /** Ferme le panneau. */
101
+ collapse(): void;
102
+ static ɵfac: i0.ɵɵFactoryDeclaration<KtDisclosure, never>;
103
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KtDisclosure, "[ktDisclosure]", ["ktDisclosure"], { "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, ["toggles", "contents"], never, true, never>;
104
+ }
105
+
106
+ /**
107
+ * Import ergonomique de toute la famille disclosure en une fois :
108
+ * `imports: [KtDisclosureImports]` au lieu d'énumérer chaque marqueur.
109
+ */
110
+ declare const KtDisclosureImports: readonly [typeof KtDisclosure, typeof KtDisclosureToggle, typeof KtDisclosureContent];
111
+
112
+ export { KtDisclosure, KtDisclosureContent, KtDisclosureImports, KtDisclosureToggle };