@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.
- package/README.md +41 -249
- package/collection.json +25 -0
- package/fesm2022/ojiepermana-angular-chart.mjs +3714 -0
- package/fesm2022/ojiepermana-angular-chart.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component.mjs +3463 -0
- package/fesm2022/ojiepermana-angular-component.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-generator-api.mjs +67 -0
- package/fesm2022/ojiepermana-angular-generator-api.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-layout.mjs +296 -408
- package/fesm2022/ojiepermana-angular-layout.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-navigation.mjs +2198 -404
- package/fesm2022/ojiepermana-angular-navigation.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-theme.mjs +381 -1
- package/fesm2022/ojiepermana-angular-theme.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular.mjs +16 -1
- package/fesm2022/ojiepermana-angular.mjs.map +1 -1
- package/generator/api/README.md +183 -0
- package/generator/api/bin/schematics/init/index.js +88 -0
- package/generator/api/bin/schematics/sdk/index.js +58 -0
- package/generator/api/bin/src/config/loader.js +41 -0
- package/generator/api/bin/src/config/schema.js +56 -0
- package/generator/api/bin/src/emit/client.js +246 -0
- package/generator/api/bin/src/emit/metadata.js +295 -0
- package/generator/api/bin/src/emit/models.js +106 -0
- package/generator/api/bin/src/emit/navigation.js +56 -0
- package/generator/api/bin/src/emit/operations.js +122 -0
- package/generator/api/bin/src/emit/public-api.js +54 -0
- package/generator/api/bin/src/emit/services.js +87 -0
- package/generator/api/bin/src/engine.js +65 -0
- package/generator/api/bin/src/layout/per-domain.js +346 -0
- package/generator/api/bin/src/parser/bundle.js +25 -0
- package/generator/api/bin/src/parser/ir.js +320 -0
- package/generator/api/bin/src/parser/types.js +7 -0
- package/generator/api/bin/src/render/template.js +58 -0
- package/generator/api/bin/src/writer/index.js +69 -0
- package/generator/api/schematics/init/schema.json +19 -0
- package/generator/api/schematics/sdk/schema.json +19 -0
- package/generator/api/sdk.config.example.json +22 -0
- package/generator/guide/README.md +84 -0
- package/generator/guide/bin/schematics/build/index.js +35 -0
- package/generator/guide/bin/schematics/init/index.js +70 -0
- package/generator/guide/bin/src/config/loader.js +50 -0
- package/generator/guide/bin/src/config/schema.js +12 -0
- package/generator/guide/bin/src/engine/component.js +73 -0
- package/generator/guide/bin/src/engine/frontmatter.js +42 -0
- package/generator/guide/bin/src/engine/index.js +42 -0
- package/generator/guide/bin/src/engine/naming.js +39 -0
- package/generator/guide/bin/src/engine/render.js +18 -0
- package/generator/guide/bin/src/engine/routes.js +106 -0
- package/generator/guide/bin/src/engine/walk.js +35 -0
- package/generator/guide/guide.config.example.json +9 -0
- package/generator/guide/schematics/build/schema.json +14 -0
- package/generator/guide/schematics/init/schema.json +19 -0
- package/package.json +58 -38
- package/theme/styles/etos.css +38 -0
- package/theme/styles/index.css +32 -8
- package/theme/styles/themes/brand/etos/color.css +21 -0
- package/theme/styles/themes/brand/etos/style.css +50 -0
- package/theme/styles/themes/library/_components.css +63 -0
- package/theme/styles/themes/library/_layers.css +15 -0
- package/theme/styles/themes/library/_material-overrides.css +254 -0
- package/theme/styles/themes/library/_tokens.css +54 -0
- package/theme/styles/themes/library/color/amber.css +18 -0
- package/theme/styles/themes/library/color/blue.css +23 -0
- package/theme/styles/themes/library/color/green.css +18 -0
- package/theme/styles/themes/library/color/index.css +9 -0
- package/theme/styles/themes/library/color/purple.css +18 -0
- package/theme/styles/themes/library/color/red.css +18 -0
- package/theme/styles/themes/library/style/brutal.css +47 -0
- package/theme/styles/themes/library/style/default.css +51 -0
- package/theme/styles/themes/library/style/index.css +8 -0
- package/theme/styles/themes/library/style/sharp.css +47 -0
- package/theme/styles/themes/library/style/soft.css +47 -0
- package/theme/styles/themes/mode/dark.css +20 -0
- package/theme/styles/themes/mode/index.css +6 -0
- package/theme/styles/themes/mode/light.css +24 -0
- package/theme/styles/themes/taildwind.css +109 -0
- package/types/ojiepermana-angular-chart.d.ts +1094 -0
- package/types/ojiepermana-angular-component.d.ts +1174 -0
- package/types/ojiepermana-angular-generator-api.d.ts +85 -0
- package/types/ojiepermana-angular-layout.d.ts +125 -76
- package/types/ojiepermana-angular-navigation.d.ts +256 -116
- package/types/ojiepermana-angular-theme.d.ts +170 -1
- package/types/ojiepermana-angular.d.ts +2 -1
- package/fesm2022/ojiepermana-angular-internal.mjs +0 -489
- package/fesm2022/ojiepermana-angular-internal.mjs.map +0 -1
- package/fesm2022/ojiepermana-angular-navigation-horizontal.mjs +0 -721
- package/fesm2022/ojiepermana-angular-navigation-horizontal.mjs.map +0 -1
- package/fesm2022/ojiepermana-angular-navigation-vertical.mjs +0 -1647
- package/fesm2022/ojiepermana-angular-navigation-vertical.mjs.map +0 -1
- package/fesm2022/ojiepermana-angular-shell.mjs +0 -19
- package/fesm2022/ojiepermana-angular-shell.mjs.map +0 -1
- package/fesm2022/ojiepermana-angular-theme-component.mjs +0 -235
- package/fesm2022/ojiepermana-angular-theme-component.mjs.map +0 -1
- package/fesm2022/ojiepermana-angular-theme-directive.mjs +0 -29
- package/fesm2022/ojiepermana-angular-theme-directive.mjs.map +0 -1
- package/fesm2022/ojiepermana-angular-theme-service.mjs +0 -241
- package/fesm2022/ojiepermana-angular-theme-service.mjs.map +0 -1
- package/layout/README.md +0 -144
- package/layout/src/component/horizontal/horizontal.css +0 -130
- package/layout/src/component/vertical/vertical.css +0 -75
- package/layout/src/layout.css +0 -16
- package/navigation/README.md +0 -301
- package/navigation/horizontal/README.md +0 -49
- package/shell/README.md +0 -41
- package/styles/index.css +0 -2
- package/styles/resets.css +0 -22
- package/theme/README.md +0 -379
- package/theme/styles/adapters/material-ui/index.css +0 -205
- package/theme/styles/modes/dark.css +0 -84
- package/theme/styles/presets/colors/blue.css +0 -45
- package/theme/styles/presets/colors/brand.css +0 -52
- package/theme/styles/presets/colors/cyan.css +0 -45
- package/theme/styles/presets/colors/green.css +0 -45
- package/theme/styles/presets/colors/index.css +0 -7
- package/theme/styles/presets/colors/orange.css +0 -45
- package/theme/styles/presets/colors/purple.css +0 -45
- package/theme/styles/presets/colors/red.css +0 -45
- package/theme/styles/presets/styles/flat.css +0 -61
- package/theme/styles/presets/styles/glass.css +0 -28
- package/theme/styles/presets/styles/index.css +0 -2
- package/theme/styles/roles/index.css +0 -67
- package/theme/styles/tokens/foundation.css +0 -136
- package/theme/styles/tokens/semantic.css +0 -87
- package/theme/styles/utilities/index.css +0 -88
- package/types/ojiepermana-angular-internal.d.ts +0 -90
- package/types/ojiepermana-angular-navigation-horizontal.d.ts +0 -81
- package/types/ojiepermana-angular-navigation-vertical.d.ts +0 -262
- package/types/ojiepermana-angular-shell.d.ts +0 -14
- package/types/ojiepermana-angular-theme-component.d.ts +0 -46
- package/types/ojiepermana-angular-theme-directive.d.ts +0 -10
- package/types/ojiepermana-angular-theme-service.d.ts +0 -68
- /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
|
|
2
|
-
import {
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
readonly
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
|
134
|
+
declare function provideMaterialLayout(config?: MaterialLayoutConfig): EnvironmentProviders;
|
|
86
135
|
|
|
87
|
-
declare const
|
|
136
|
+
declare const LAYOUT_VERSION = "0.0.1";
|
|
88
137
|
|
|
89
|
-
export {
|
|
90
|
-
export type {
|
|
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 };
|