@ojiepermana/angular 0.1.1 → 21.0.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 (133) hide show
  1. package/README.md +41 -249
  2. package/collection.json +25 -0
  3. package/fesm2022/ojiepermana-angular-chart.mjs +3714 -0
  4. package/fesm2022/ojiepermana-angular-chart.mjs.map +1 -0
  5. package/fesm2022/ojiepermana-angular-component.mjs +3463 -0
  6. package/fesm2022/ojiepermana-angular-component.mjs.map +1 -0
  7. package/fesm2022/ojiepermana-angular-generator-api.mjs +67 -0
  8. package/fesm2022/ojiepermana-angular-generator-api.mjs.map +1 -0
  9. package/fesm2022/ojiepermana-angular-layout.mjs +296 -408
  10. package/fesm2022/ojiepermana-angular-layout.mjs.map +1 -1
  11. package/fesm2022/ojiepermana-angular-navigation.mjs +2198 -404
  12. package/fesm2022/ojiepermana-angular-navigation.mjs.map +1 -1
  13. package/fesm2022/ojiepermana-angular-theme.mjs +381 -1
  14. package/fesm2022/ojiepermana-angular-theme.mjs.map +1 -1
  15. package/fesm2022/ojiepermana-angular.mjs +16 -1
  16. package/fesm2022/ojiepermana-angular.mjs.map +1 -1
  17. package/generator/api/README.md +183 -0
  18. package/generator/api/bin/schematics/init/index.js +88 -0
  19. package/generator/api/bin/schematics/sdk/index.js +58 -0
  20. package/generator/api/bin/src/config/loader.js +41 -0
  21. package/generator/api/bin/src/config/schema.js +56 -0
  22. package/generator/api/bin/src/emit/client.js +246 -0
  23. package/generator/api/bin/src/emit/metadata.js +295 -0
  24. package/generator/api/bin/src/emit/models.js +106 -0
  25. package/generator/api/bin/src/emit/navigation.js +56 -0
  26. package/generator/api/bin/src/emit/operations.js +122 -0
  27. package/generator/api/bin/src/emit/public-api.js +54 -0
  28. package/generator/api/bin/src/emit/services.js +87 -0
  29. package/generator/api/bin/src/engine.js +65 -0
  30. package/generator/api/bin/src/layout/per-domain.js +346 -0
  31. package/generator/api/bin/src/parser/bundle.js +25 -0
  32. package/generator/api/bin/src/parser/ir.js +320 -0
  33. package/generator/api/bin/src/parser/types.js +7 -0
  34. package/generator/api/bin/src/render/template.js +58 -0
  35. package/generator/api/bin/src/writer/index.js +69 -0
  36. package/generator/api/schematics/init/schema.json +19 -0
  37. package/generator/api/schematics/sdk/schema.json +19 -0
  38. package/generator/api/sdk.config.example.json +22 -0
  39. package/generator/guide/README.md +84 -0
  40. package/generator/guide/bin/schematics/build/index.js +35 -0
  41. package/generator/guide/bin/schematics/init/index.js +70 -0
  42. package/generator/guide/bin/src/config/loader.js +50 -0
  43. package/generator/guide/bin/src/config/schema.js +12 -0
  44. package/generator/guide/bin/src/engine/component.js +73 -0
  45. package/generator/guide/bin/src/engine/frontmatter.js +42 -0
  46. package/generator/guide/bin/src/engine/index.js +42 -0
  47. package/generator/guide/bin/src/engine/naming.js +39 -0
  48. package/generator/guide/bin/src/engine/render.js +18 -0
  49. package/generator/guide/bin/src/engine/routes.js +106 -0
  50. package/generator/guide/bin/src/engine/walk.js +35 -0
  51. package/generator/guide/guide.config.example.json +9 -0
  52. package/generator/guide/schematics/build/schema.json +14 -0
  53. package/generator/guide/schematics/init/schema.json +19 -0
  54. package/package.json +58 -38
  55. package/theme/styles/etos.css +38 -0
  56. package/theme/styles/index.css +32 -8
  57. package/theme/styles/themes/brand/etos/color.css +21 -0
  58. package/theme/styles/themes/brand/etos/style.css +50 -0
  59. package/theme/styles/themes/library/_components.css +63 -0
  60. package/theme/styles/themes/library/_layers.css +15 -0
  61. package/theme/styles/themes/library/_material-overrides.css +254 -0
  62. package/theme/styles/themes/library/_tokens.css +54 -0
  63. package/theme/styles/themes/library/color/amber.css +18 -0
  64. package/theme/styles/themes/library/color/blue.css +23 -0
  65. package/theme/styles/themes/library/color/green.css +18 -0
  66. package/theme/styles/themes/library/color/index.css +9 -0
  67. package/theme/styles/themes/library/color/purple.css +18 -0
  68. package/theme/styles/themes/library/color/red.css +18 -0
  69. package/theme/styles/themes/library/style/brutal.css +47 -0
  70. package/theme/styles/themes/library/style/default.css +51 -0
  71. package/theme/styles/themes/library/style/index.css +8 -0
  72. package/theme/styles/themes/library/style/sharp.css +47 -0
  73. package/theme/styles/themes/library/style/soft.css +47 -0
  74. package/theme/styles/themes/mode/dark.css +20 -0
  75. package/theme/styles/themes/mode/index.css +6 -0
  76. package/theme/styles/themes/mode/light.css +24 -0
  77. package/theme/styles/themes/taildwind.css +109 -0
  78. package/types/ojiepermana-angular-chart.d.ts +1094 -0
  79. package/types/ojiepermana-angular-component.d.ts +1174 -0
  80. package/types/ojiepermana-angular-generator-api.d.ts +85 -0
  81. package/types/ojiepermana-angular-layout.d.ts +125 -76
  82. package/types/ojiepermana-angular-navigation.d.ts +256 -116
  83. package/types/ojiepermana-angular-theme.d.ts +170 -1
  84. package/types/ojiepermana-angular.d.ts +2 -1
  85. package/fesm2022/ojiepermana-angular-internal.mjs +0 -489
  86. package/fesm2022/ojiepermana-angular-internal.mjs.map +0 -1
  87. package/fesm2022/ojiepermana-angular-navigation-horizontal.mjs +0 -721
  88. package/fesm2022/ojiepermana-angular-navigation-horizontal.mjs.map +0 -1
  89. package/fesm2022/ojiepermana-angular-navigation-vertical.mjs +0 -1647
  90. package/fesm2022/ojiepermana-angular-navigation-vertical.mjs.map +0 -1
  91. package/fesm2022/ojiepermana-angular-shell.mjs +0 -19
  92. package/fesm2022/ojiepermana-angular-shell.mjs.map +0 -1
  93. package/fesm2022/ojiepermana-angular-theme-component.mjs +0 -235
  94. package/fesm2022/ojiepermana-angular-theme-component.mjs.map +0 -1
  95. package/fesm2022/ojiepermana-angular-theme-directive.mjs +0 -29
  96. package/fesm2022/ojiepermana-angular-theme-directive.mjs.map +0 -1
  97. package/fesm2022/ojiepermana-angular-theme-service.mjs +0 -241
  98. package/fesm2022/ojiepermana-angular-theme-service.mjs.map +0 -1
  99. package/layout/README.md +0 -144
  100. package/layout/src/component/horizontal/horizontal.css +0 -130
  101. package/layout/src/component/vertical/vertical.css +0 -75
  102. package/layout/src/layout.css +0 -16
  103. package/navigation/README.md +0 -301
  104. package/navigation/horizontal/README.md +0 -49
  105. package/shell/README.md +0 -41
  106. package/styles/index.css +0 -2
  107. package/styles/resets.css +0 -22
  108. package/theme/README.md +0 -379
  109. package/theme/styles/adapters/material-ui/index.css +0 -205
  110. package/theme/styles/modes/dark.css +0 -84
  111. package/theme/styles/presets/colors/blue.css +0 -45
  112. package/theme/styles/presets/colors/brand.css +0 -52
  113. package/theme/styles/presets/colors/cyan.css +0 -45
  114. package/theme/styles/presets/colors/green.css +0 -45
  115. package/theme/styles/presets/colors/index.css +0 -7
  116. package/theme/styles/presets/colors/orange.css +0 -45
  117. package/theme/styles/presets/colors/purple.css +0 -45
  118. package/theme/styles/presets/colors/red.css +0 -45
  119. package/theme/styles/presets/styles/flat.css +0 -61
  120. package/theme/styles/presets/styles/glass.css +0 -28
  121. package/theme/styles/presets/styles/index.css +0 -2
  122. package/theme/styles/roles/index.css +0 -67
  123. package/theme/styles/tokens/foundation.css +0 -136
  124. package/theme/styles/tokens/semantic.css +0 -87
  125. package/theme/styles/utilities/index.css +0 -88
  126. package/types/ojiepermana-angular-internal.d.ts +0 -90
  127. package/types/ojiepermana-angular-navigation-horizontal.d.ts +0 -81
  128. package/types/ojiepermana-angular-navigation-vertical.d.ts +0 -262
  129. package/types/ojiepermana-angular-shell.d.ts +0 -14
  130. package/types/ojiepermana-angular-theme-component.d.ts +0 -46
  131. package/types/ojiepermana-angular-theme-directive.d.ts +0 -10
  132. package/types/ojiepermana-angular-theme-service.d.ts +0 -68
  133. /package/{navigation/vertical → chart}/README.md +0 -0
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Public config shape for the SDK generator.
3
+ *
4
+ * Users place an `sdk.config.json` at the workspace root describing one or more
5
+ * generation targets. All paths are resolved relative to the workspace root
6
+ * (i.e. the directory containing the config file).
7
+ */
8
+ type SdkOutputMode = 'standalone' | 'library' | 'secondary-entrypoint';
9
+ interface SdkFeatureFlags {
10
+ /** Emit `models/*.ts` (type-only DTO interfaces). Default `true`. */
11
+ models?: boolean;
12
+ /** Emit tree-shakeable operation functions in `fn/<tag>/*.ts`. Default `true`. */
13
+ operations?: boolean;
14
+ /** Emit grouped Injectable service classes per tag. Default `true`. */
15
+ services?: boolean;
16
+ /** Emit the runtime client primitives (ApiConfiguration, BaseService, etc). Default `true`. */
17
+ client?: boolean;
18
+ /** Emit operation rules + field validators + permission helpers. Default `true`. */
19
+ metadata?: boolean;
20
+ /** Emit navigation tree derived from tags (parent, x-icon). Default `false`. */
21
+ navigation?: boolean;
22
+ }
23
+ interface SdkTargetConfig {
24
+ /** Path to OpenAPI 3.x spec (YAML or JSON). Required. */
25
+ input: string;
26
+ /** Output directory (relative to workspace root). Required. */
27
+ output: string;
28
+ /** Output mode. Defaults to `"standalone"`. */
29
+ mode?: SdkOutputMode;
30
+ /** Optional human-readable name used for logs & the generated `Api` class. */
31
+ clientName?: string;
32
+ /** Package name used when `mode === "library"`. */
33
+ packageName?: string;
34
+ /** Package version used when `mode === "library"`. Defaults to `0.0.1`. */
35
+ packageVersion?: string;
36
+ /** Default rootUrl baked into ApiConfiguration. Defaults to the first server in the spec. */
37
+ rootUrl?: string;
38
+ /** Feature toggles. Every feature defaults to `true` except `navigation` (default `true` too). */
39
+ features?: SdkFeatureFlags;
40
+ /**
41
+ * When `true`, reorganize emitted files into one folder per domain (derived
42
+ * from OpenAPI tags). Models shared by multiple domains live in `shared/`,
43
+ * domain-owned models live inside each domain. Default `false` (flat layout).
44
+ */
45
+ splitByDomain?: boolean;
46
+ /**
47
+ * Granularity of `splitByDomain`. Only meaningful when `splitByDomain` is
48
+ * `true`. `'service'` (default) groups every tag under its root parent — one
49
+ * folder per backend service (e.g. all Role/Permission/... tags collapse into
50
+ * `access/`). `'tag'` emits one folder per leaf tag, nested under the parent
51
+ * chain (e.g. `storage/gcs/`, `storage/s3/`, `access/role/`).
52
+ */
53
+ splitDepth?: 'service' | 'tag';
54
+ /** Custom file banner. Defaults to a short auto-generated notice. */
55
+ banner?: string;
56
+ }
57
+ interface SdkConfig {
58
+ targets: SdkTargetConfig[];
59
+ }
60
+ interface ResolvedFeatureFlags {
61
+ models: boolean;
62
+ operations: boolean;
63
+ services: boolean;
64
+ client: boolean;
65
+ metadata: boolean;
66
+ navigation: boolean;
67
+ }
68
+ interface ResolvedSdkTarget {
69
+ input: string;
70
+ output: string;
71
+ mode: SdkOutputMode;
72
+ clientName: string;
73
+ packageName: string;
74
+ packageVersion: string;
75
+ rootUrl: string | undefined;
76
+ features: ResolvedFeatureFlags;
77
+ splitByDomain: boolean;
78
+ splitDepth: 'service' | 'tag';
79
+ banner: string;
80
+ }
81
+ declare function resolveTarget(raw: SdkTargetConfig): ResolvedSdkTarget;
82
+ declare function resolveConfig(raw: unknown): ResolvedSdkTarget[];
83
+
84
+ export { resolveConfig, resolveTarget };
85
+ export type { ResolvedFeatureFlags, ResolvedSdkTarget, SdkConfig, SdkFeatureFlags, SdkOutputMode, SdkTargetConfig };
@@ -1,90 +1,139 @@
1
- import * as i0 from '@angular/core';
2
- import { EnvironmentProviders, InjectionToken } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, EnvironmentProviders } from '@angular/core';
3
+ import { SidebarAppearance, SidebarPosition, SidebarMode, TopbarAppearance } from '@ojiepermana/angular/navigation';
3
4
 
4
- declare const LAYOUT_MODES: readonly ["vertical", "horizontal", "empty"];
5
- type LayoutMode = (typeof LAYOUT_MODES)[number];
6
- declare const LAYOUT_CONTAINERS: readonly ["full", "boxed"];
7
- type LayoutContainer = (typeof LAYOUT_CONTAINERS)[number];
8
- interface NgLayoutConfig {
9
- defaultMode: LayoutMode;
10
- defaultContainer: LayoutContainer;
11
- }
12
-
13
- declare class LayoutService {
14
- private readonly config;
15
- private readonly document;
16
- private readonly isBrowser;
17
- private readonly storage;
18
- readonly mode: i0.WritableSignal<"vertical" | "horizontal" | "empty">;
19
- readonly container: i0.WritableSignal<"full" | "boxed">;
20
- constructor();
21
- /**
22
- * Updates the active shell mode and persists the value for future sessions.
23
- */
24
- setMode(value: LayoutMode): void;
25
- /**
26
- * Updates the active container width mode and persists the value for future sessions.
27
- */
28
- setContainer(value: LayoutContainer): void;
29
- /**
30
- * Clears persisted layout state and restores the configured defaults for mode and container.
31
- */
32
- reset(): void;
33
- private applyToDOM;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<LayoutService, never>;
35
- static ɵprov: i0.ɵɵInjectableDeclaration<LayoutService>;
5
+ /**
6
+ * Vertical layout — sidebar + main (scrollable).
7
+ *
8
+ * Data navigasi diambil dari `NavigationService` (register via
9
+ * `NavigationService.registerItems()` di bootstrap). Main memegang
10
+ * `<router-outlet>` dan scroll jika konten panjang.
11
+ *
12
+ * Markup:
13
+ * ```html
14
+ * <vertical>
15
+ * <!-- sidebar + router-outlet dirender oleh komponen -->
16
+ * </vertical>
17
+ * ```
18
+ */
19
+ declare class VerticalLayoutComponent {
20
+ private readonly layout;
21
+ private readonly theme;
22
+ readonly sidebarAppearance: _angular_core.InputSignal<SidebarAppearance>;
23
+ readonly sidebarPosition: _angular_core.InputSignal<SidebarPosition>;
24
+ readonly sidebarMode: _angular_core.InputSignal<SidebarMode>;
25
+ readonly ariaLabel: _angular_core.InputSignal<string>;
26
+ protected readonly layoutWidth: _angular_core.Signal<"full" | "fixed">;
27
+ protected readonly themeStyle: _angular_core.Signal<"default" | "sharp" | "brutal" | "soft">;
28
+ protected readonly shellBorderWidth: _angular_core.Signal<"var(--border-width)" | null>;
29
+ protected readonly dividerBorderWidth: _angular_core.Signal<string>;
30
+ protected readonly hostClasses: _angular_core.Signal<string>;
31
+ protected readonly frameClasses: _angular_core.Signal<string>;
32
+ protected readonly mainClasses: _angular_core.Signal<string>;
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<VerticalLayoutComponent, never>;
34
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<VerticalLayoutComponent, "vertical", never, { "sidebarAppearance": { "alias": "sidebarAppearance"; "required": false; "isSignal": true; }; "sidebarPosition": { "alias": "sidebarPosition"; "required": false; "isSignal": true; }; "sidebarMode": { "alias": "sidebarMode"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
36
35
  }
37
36
 
38
- declare class LayoutHostDirective {
39
- protected readonly layout: LayoutService;
40
- static ɵfac: i0.ɵɵFactoryDeclaration<LayoutHostDirective, never>;
41
- static ɵdir: i0.ɵɵDirectiveDeclaration<LayoutHostDirective, "[ngtLayoutHost]", never, {}, {}, never, never, true, never>;
37
+ /**
38
+ * Horizontal layout — topbar (h-12) + main (scrollable).
39
+ *
40
+ * Data navigasi diambil dari `NavigationService`.
41
+ * Consumer app dapat memproyeksikan brand kiri dan profile kanan.
42
+ *
43
+ * Markup:
44
+ * ```html
45
+ * <horizontal>
46
+ * <a ui-layout-brand>Brand</a>
47
+ * <button ui-layout-profile type="button">Profile</button>
48
+ * </horizontal>
49
+ * ```
50
+ */
51
+ declare class HorizontalLayoutComponent {
52
+ private readonly layout;
53
+ private readonly theme;
54
+ readonly topbarAppearance: _angular_core.InputSignal<TopbarAppearance>;
55
+ readonly ariaLabel: _angular_core.InputSignal<string>;
56
+ protected readonly layoutWidth: _angular_core.Signal<"full" | "fixed">;
57
+ protected readonly themeStyle: _angular_core.Signal<"default" | "sharp" | "brutal" | "soft">;
58
+ protected readonly shellBorderWidth: _angular_core.Signal<"var(--border-width)" | null>;
59
+ protected readonly dividerBorderWidth: _angular_core.Signal<string>;
60
+ protected readonly hostClasses: _angular_core.Signal<string>;
61
+ protected readonly frameClasses: _angular_core.Signal<string>;
62
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<HorizontalLayoutComponent, never>;
63
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<HorizontalLayoutComponent, "horizontal", never, { "topbarAppearance": { "alias": "topbarAppearance"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["[ui-layout-brand],[ui-topbar-start]", "[ui-layout-profile],[ui-topbar-end]"], true, never>;
42
64
  }
43
65
 
44
- declare class LayoutHorizontalComponent {
45
- static ɵfac: i0.ɵɵFactoryDeclaration<LayoutHorizontalComponent, never>;
46
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutHorizontalComponent, "horizontal", never, {}, {}, never, ["[brand]", "[navigation]", "[action]"], true, never>;
66
+ /**
67
+ * Empty layout — full-viewport, flex-centered main.
68
+ *
69
+ * Cocok untuk halaman login / error / onboarding (pola shadcn `login-05`).
70
+ * Konten dirender lewat `<router-outlet>`; consumer men-style card / form
71
+ * milik halaman route sendiri.
72
+ *
73
+ * Markup:
74
+ * ```html
75
+ * <empty>
76
+ * <!-- router-outlet dirender oleh komponen -->
77
+ * </empty>
78
+ * ```
79
+ */
80
+ declare class EmptyLayoutComponent {
81
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyLayoutComponent, never>;
82
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyLayoutComponent, "empty", never, {}, {}, never, never, true, never>;
47
83
  }
48
84
 
49
- declare class LayoutVerticalComponent {
50
- static ɵfac: i0.ɵɵFactoryDeclaration<LayoutVerticalComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutVerticalComponent, "vertical", never, {}, {}, never, ["[navigation]"], true, never>;
85
+ declare const LAYOUT_MODES: readonly ["vertical", "horizontal"];
86
+ type LayoutMode = (typeof LAYOUT_MODES)[number];
87
+ declare const LAYOUT_WIDTHS: readonly ["full", "fixed"];
88
+ type LayoutWidth = (typeof LAYOUT_WIDTHS)[number];
89
+ interface MaterialLayoutConfig {
90
+ /** Initial layout mode. */
91
+ readonly mode?: LayoutMode;
92
+ /** Initial layout width. */
93
+ readonly width?: LayoutWidth;
94
+ /** @deprecated Use `mode` instead. */
95
+ /** Initial layout mode. Defaults to `vertical`. */
96
+ readonly defaultMode?: LayoutMode;
97
+ /** localStorage key used to persist the layout mode. Set to `null` to disable persistence. */
98
+ readonly storageKey?: string | null;
99
+ /** localStorage key used to persist the layout width. Set to `null` to disable persistence. */
100
+ readonly widthStorageKey?: string | null;
52
101
  }
53
-
54
- declare class LayoutContainerSwitcherComponent {
55
- protected readonly layout: LayoutService;
56
- protected readonly label: i0.Signal<"Boxed layout container enabled" | "Boxed layout container disabled">;
57
- protected toggle(): void;
58
- static ɵfac: i0.ɵɵFactoryDeclaration<LayoutContainerSwitcherComponent, never>;
59
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutContainerSwitcherComponent, "layout-container-switcher", never, {}, {}, never, never, true, never>;
102
+ interface ResolvedMaterialLayoutConfig {
103
+ readonly defaultMode: LayoutMode;
104
+ readonly defaultWidth: LayoutWidth;
105
+ readonly storageKey: string | null;
106
+ readonly widthStorageKey: string | null;
60
107
  }
108
+ declare const MATERIAL_LAYOUT_CONFIG: InjectionToken<MaterialLayoutConfig>;
109
+ declare const DEFAULT_MATERIAL_LAYOUT_CONFIG: ResolvedMaterialLayoutConfig;
110
+ declare function isLayoutMode(value: string | null | undefined): value is LayoutMode;
111
+ declare function isLayoutWidth(value: string | null | undefined): value is LayoutWidth;
61
112
 
62
- declare class LayoutModeSwitcherComponent {
63
- protected readonly layout: LayoutService;
64
- protected readonly options: ({
65
- value: "vertical";
66
- label: string;
67
- } | {
68
- value: "horizontal";
69
- label: string;
70
- })[];
71
- protected readonly currentOption: i0.Signal<{
72
- value: "vertical";
73
- label: string;
74
- } | {
75
- value: "horizontal";
76
- label: string;
77
- } | {
78
- value: "empty";
79
- label: string;
80
- }>;
81
- static ɵfac: i0.ɵɵFactoryDeclaration<LayoutModeSwitcherComponent, never>;
82
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutModeSwitcherComponent, "layout-mode-switcher", never, {}, {}, never, never, true, never>;
113
+ declare class LayoutService {
114
+ private readonly document;
115
+ private readonly config;
116
+ private readonly _mode;
117
+ private readonly _width;
118
+ readonly mode: _angular_core.Signal<"vertical" | "horizontal">;
119
+ readonly width: _angular_core.Signal<"full" | "fixed">;
120
+ constructor();
121
+ setMode(mode: LayoutMode): void;
122
+ toggleMode(): void;
123
+ setWidth(width: LayoutWidth): void;
124
+ toggleWidth(): void;
125
+ private resolveConfig;
126
+ private readPersistedMode;
127
+ private readPersistedWidth;
128
+ private persistMode;
129
+ private persistWidth;
130
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutService, never>;
131
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<LayoutService>;
83
132
  }
84
133
 
85
- declare function provideNgLayout(config?: Partial<NgLayoutConfig>): EnvironmentProviders;
134
+ declare function provideMaterialLayout(config?: MaterialLayoutConfig): EnvironmentProviders;
86
135
 
87
- declare const NG_LAYOUT_CONFIG: InjectionToken<NgLayoutConfig>;
136
+ declare const LAYOUT_VERSION = "0.0.1";
88
137
 
89
- export { LayoutContainerSwitcherComponent, LayoutHorizontalComponent, LayoutHostDirective, LayoutModeSwitcherComponent, LayoutService, LayoutVerticalComponent, NG_LAYOUT_CONFIG, provideNgLayout };
90
- export type { LayoutContainer, LayoutMode, NgLayoutConfig };
138
+ export { DEFAULT_MATERIAL_LAYOUT_CONFIG, EmptyLayoutComponent, HorizontalLayoutComponent, LAYOUT_MODES, LAYOUT_VERSION, LAYOUT_WIDTHS, LayoutService, MATERIAL_LAYOUT_CONFIG, VerticalLayoutComponent, isLayoutMode, isLayoutWidth, provideMaterialLayout };
139
+ export type { LayoutMode, LayoutWidth, MaterialLayoutConfig, ResolvedMaterialLayoutConfig };