@ktortu/aaa 0.9.5 → 0.9.7

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 (37) hide show
  1. package/README.md +25 -1
  2. package/button/button-tokens.css +3 -1
  3. package/button/button.css +3 -3
  4. package/card/card-tokens.css +2 -1
  5. package/cdk/styles/foundation.css +19 -10
  6. package/dialog/dialog.css +8 -4
  7. package/fesm2022/ktortu-aaa-dialog.mjs +16 -16
  8. package/fesm2022/ktortu-aaa-dialog.mjs.map +1 -1
  9. package/fesm2022/ktortu-aaa-forms.mjs +71 -37
  10. package/fesm2022/ktortu-aaa-forms.mjs.map +1 -1
  11. package/fesm2022/ktortu-aaa-layout.mjs +286 -0
  12. package/fesm2022/ktortu-aaa-layout.mjs.map +1 -0
  13. package/fesm2022/ktortu-aaa.mjs +1 -0
  14. package/fesm2022/ktortu-aaa.mjs.map +1 -1
  15. package/forms/chips/chip-listbox.css +15 -0
  16. package/forms/field/field.css +3 -1
  17. package/forms/styles/select-panel.css +3 -3
  18. package/package.json +5 -1
  19. package/styles/layout.css +140 -0
  20. package/styles/styles.css +1 -0
  21. package/themes/theme-ant.css +21 -16
  22. package/themes/theme-architecte.css +28 -28
  23. package/themes/theme-aurora.css +23 -23
  24. package/themes/theme-bootstrap.css +19 -19
  25. package/themes/theme-carbon.css +18 -18
  26. package/themes/theme-catppuccin.css +27 -27
  27. package/themes/theme-cyberpunk.css +28 -28
  28. package/themes/theme-fluent.css +32 -19
  29. package/themes/theme-material-you.css +78 -27
  30. package/themes/theme-material.css +28 -19
  31. package/themes/theme-primer.css +24 -18
  32. package/themes/theme-vegetal.css +21 -21
  33. package/tooltip/tooltip.css +1 -0
  34. package/types/ktortu-aaa-dialog.d.ts +7 -7
  35. package/types/ktortu-aaa-forms.d.ts +24 -4
  36. package/types/ktortu-aaa-layout.d.ts +117 -0
  37. package/types/ktortu-aaa.d.ts +1 -0
@@ -0,0 +1,117 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
3
+ import * as i1 from '@angular/cdk/a11y';
4
+
5
+ /** Mode d'état de la navigation latérale. */
6
+ type KtSidenavState = 'expanded' | 'rail' | 'hidden';
7
+ declare const KT_LAYOUT_DEFAULT_STATE: InjectionToken<KtSidenavState>;
8
+ /**
9
+ * Service global de gestion de la mise en page (Layout).
10
+ * Gère l'état d'ouverture/fermeture de la barre latérale sur mobile et bureau,
11
+ * ainsi que le comportement spécifique de "rail" sur bureau.
12
+ *
13
+ * NOTE: Ce service n'est pas "providedIn: 'root'". Le développeur doit le fournir
14
+ * (via le tableau providers d'un composant parent ou de l'application) pour
15
+ * maîtriser le scope (ex: avoir plusieurs layouts indépendants).
16
+ */
17
+ declare class KtLayoutService {
18
+ private readonly viewport;
19
+ private readonly defaultState;
20
+ /**
21
+ * Comportement actif lors de la fermeture sur ordinateur (écran non mobile).
22
+ * Renseigné généralement par le composant racine `KtLayoutComponent`.
23
+ */
24
+ readonly desktopCloseBehavior: _angular_core.WritableSignal<"rail" | "hidden">;
25
+ private readonly _isDesktopOpen;
26
+ private readonly _isMobileOpen;
27
+ readonly isMobile: _angular_core.Signal<boolean>;
28
+ readonly isRail: _angular_core.Signal<boolean>;
29
+ readonly isExpanded: _angular_core.Signal<boolean>;
30
+ readonly isHidden: _angular_core.Signal<boolean>;
31
+ readonly isMobileOpen: _angular_core.Signal<boolean>;
32
+ toggle(): void;
33
+ open(): void;
34
+ close(): void;
35
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtLayoutService, never>;
36
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<KtLayoutService>;
37
+ }
38
+
39
+ /**
40
+ * Composant racine de l'application qui gère la structure de base (Sidebar, Toolbar, Contenu).
41
+ * Configure dynamiquement le comportement du layout.
42
+ */
43
+ declare class KtLayoutComponent {
44
+ /**
45
+ * Définit le comportement de la navigation latérale lors de sa fermeture sur bureau (écran large).
46
+ * - `'hidden'` (défaut) : le menu est complètement masqué et retiré du flux visuel/a11y.
47
+ * - `'rail'` : le menu est réduit à une fine barre verticale (mini-sidebar), permettant
48
+ * d'afficher uniquement les icônes. Idéal si les liens possèdent des icônes explicites.
49
+ */
50
+ readonly desktopCloseBehavior: _angular_core.InputSignal<"rail" | "hidden">;
51
+ protected readonly layout: KtLayoutService;
52
+ constructor();
53
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtLayoutComponent, never>;
54
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtLayoutComponent, "kt-layout", never, { "desktopCloseBehavior": { "alias": "desktopCloseBehavior"; "required": false; "isSignal": true; }; }, {}, never, ["kt-sidenav", "kt-toolbar", "*"], true, never>;
55
+ }
56
+
57
+ /**
58
+ * Composant représentant le panneau latéral de navigation.
59
+ * Se comporte comme un tiroir (drawer) superposé sur mobile, et comme un
60
+ * menu latéral persistant (réductible ou masquable) sur ordinateur.
61
+ */
62
+ declare class KtSidenavComponent {
63
+ protected readonly layout: KtLayoutService;
64
+ protected readonly isHidden: _angular_core.Signal<boolean>;
65
+ private readonly trapFocus;
66
+ constructor();
67
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtSidenavComponent, never>;
68
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtSidenavComponent, "kt-sidenav", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.CdkTrapFocus; inputs: {}; outputs: {}; }]>;
69
+ }
70
+
71
+ /**
72
+ * Barre d'outils supérieure (Toolbar / Top app bar).
73
+ * Se place généralement dans un `kt-layout`.
74
+ */
75
+ declare class KtToolbarComponent {
76
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtToolbarComponent, never>;
77
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtToolbarComponent, "kt-toolbar", never, {}, {}, never, ["*"], true, never>;
78
+ }
79
+
80
+ declare class KtNavItemComponent {
81
+ label: _angular_core.InputSignal<string>;
82
+ protected readonly layout: KtLayoutService;
83
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtNavItemComponent, never>;
84
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<KtNavItemComponent, "kt-nav-item", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["[kt-icon]", "*"], true, never>;
85
+ }
86
+
87
+ /**
88
+ * Directive applicable sur n'importe quel élément (souvent un bouton) pour basculer
89
+ * l'état d'ouverture du panneau latéral (Sidenav).
90
+ *
91
+ * Expose l'état du layout pour des utilisations dynamiques dans le template
92
+ * (ex: changer l'icône selon l'état).
93
+ *
94
+ * @example
95
+ * ```html
96
+ * <button ktSidenavToggle #btn="ktSidenavToggle" [icon]="btn.isRail() ? 'right' : 'left'">
97
+ * ```
98
+ */
99
+ declare class KtSidenavToggleDirective {
100
+ private readonly layout;
101
+ /** Indique si le menu est actuellement réduit en mode rail. */
102
+ readonly isRail: _angular_core.Signal<boolean>;
103
+ /** Indique si le menu est actuellement complètement étendu sur bureau. */
104
+ readonly isExpanded: _angular_core.Signal<boolean>;
105
+ /** Indique si le menu est totalement masqué. */
106
+ readonly isHidden: _angular_core.Signal<boolean>;
107
+ /** Indique si le tiroir est actuellement ouvert par-dessus le contenu (mobile). */
108
+ readonly isMobileOpen: _angular_core.Signal<boolean>;
109
+ /** Indique si l'écran actuel est de taille compacte (mobile). */
110
+ readonly isMobile: _angular_core.Signal<boolean>;
111
+ onClick(): void;
112
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KtSidenavToggleDirective, never>;
113
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KtSidenavToggleDirective, "[ktSidenavToggle]", ["ktSidenavToggle"], {}, {}, never, never, true, never>;
114
+ }
115
+
116
+ export { KT_LAYOUT_DEFAULT_STATE, KtLayoutComponent, KtLayoutService, KtNavItemComponent, KtSidenavComponent, KtSidenavToggleDirective, KtToolbarComponent };
117
+ export type { KtSidenavState };
@@ -10,3 +10,4 @@ export * from '@ktortu/aaa/snackbar';
10
10
  export * from '@ktortu/aaa/tabs';
11
11
  export * from '@ktortu/aaa/tooltip';
12
12
  export * from '@ktortu/aaa/progress-bar';
13
+ export * from '@ktortu/aaa/layout';