@mediusinc/mng-commons-layout 5.2.0 → 5.3.0-rc.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.
Files changed (41) hide show
  1. package/esm2022/index.mjs +5 -2
  2. package/esm2022/lib/components/footer.component.mjs +5 -3
  3. package/esm2022/lib/components/main-layout.component.mjs +11 -13
  4. package/esm2022/lib/components/menu-item.component.mjs +64 -144
  5. package/esm2022/lib/components/menu.component.mjs +10 -13
  6. package/esm2022/lib/components/pages/error/error.page.component.mjs +20 -0
  7. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +20 -0
  8. package/esm2022/lib/components/settings.component.mjs +89 -0
  9. package/esm2022/lib/components/sidebar.component.mjs +11 -12
  10. package/esm2022/lib/components/topbar-user.component.mjs +23 -4
  11. package/esm2022/lib/components/topbar.component.mjs +4 -4
  12. package/esm2022/lib/helpers/menu-items.mjs +26 -0
  13. package/esm2022/lib/models/menu.model.mjs +1 -1
  14. package/esm2022/lib/provide.mjs +3 -1
  15. package/esm2022/lib/services/layout-feature-config.token.mjs +1 -1
  16. package/esm2022/lib/services/layout.service.mjs +166 -0
  17. package/esm2022/lib/services/menu.service.mjs +37 -37
  18. package/fesm2022/mediusinc-mng-commons-layout.mjs +437 -287
  19. package/fesm2022/mediusinc-mng-commons-layout.mjs.map +1 -1
  20. package/index.d.ts +4 -1
  21. package/lib/components/footer.component.d.ts +2 -0
  22. package/lib/components/main-layout.component.d.ts +2 -5
  23. package/lib/components/menu-item.component.d.ts +15 -27
  24. package/lib/components/menu.component.d.ts +3 -4
  25. package/lib/components/pages/error/error.page.component.d.ts +7 -0
  26. package/lib/components/pages/not-found/not-found.page.component.d.ts +7 -0
  27. package/lib/components/settings.component.d.ts +30 -0
  28. package/lib/components/sidebar.component.d.ts +2 -4
  29. package/lib/components/topbar-user.component.d.ts +5 -0
  30. package/lib/components/topbar.component.d.ts +2 -2
  31. package/lib/helpers/menu-items.d.ts +2 -0
  32. package/lib/models/menu.model.d.ts +2 -2
  33. package/lib/services/layout-feature-config.token.d.ts +73 -0
  34. package/lib/services/layout.service.d.ts +46 -0
  35. package/lib/services/menu.service.d.ts +7 -8
  36. package/package.json +2 -2
  37. package/scss/layout/mng/_mng_layout_styles.scss +1 -0
  38. package/scss/layout/mng/_mng_sidebar_vertical.scss +8 -0
  39. package/version-info.json +6 -6
  40. package/esm2022/lib/services/main-layout.component.service.mjs +0 -71
  41. package/lib/services/main-layout.component.service.d.ts +0 -17
@@ -1,37 +1,25 @@
1
1
  import { AnimationEvent } from '@angular/animations';
2
- import { AfterViewChecked, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
3
- import { CommonsMenuItem } from '@mediusinc/mng-commons/core';
2
+ import { InternalCommonsMenuItem } from '@mediusinc/mng-commons/core';
4
3
  import * as i0 from "@angular/core";
5
- export declare class MenuItemComponent implements OnInit, OnDestroy, AfterViewChecked {
6
- private readonly router;
7
- private readonly injector;
8
- private readonly destroyRef;
4
+ export declare class MenuItemComponent {
9
5
  private readonly menuService;
10
6
  private readonly permissionService;
11
- private readonly layoutService;
12
- isPermitted: import("@angular/core").WritableSignal<boolean>;
13
- private childrenVisibilitySubject;
14
- private itemUrl?;
15
- item: CommonsMenuItem;
16
- root: boolean;
17
- visibleChangeEventEmitter: EventEmitter<boolean>;
18
- submenu: ElementRef;
19
- active: import("@angular/core").WritableSignal<boolean>;
20
- visible: import("@angular/core").WritableSignal<boolean>;
21
- private isVisibleSubscription?;
7
+ private readonly layout;
8
+ item: import("@angular/core").InputSignal<InternalCommonsMenuItem>;
9
+ root: import("@angular/core").InputSignal<boolean>;
10
+ visibleChange: import("@angular/core").OutputEmitterRef<boolean>;
11
+ private submenuElRef;
12
+ isPermitted: import("@angular/core").Signal<boolean | undefined>;
13
+ isVisibleFromItemSettings: import("@angular/core").Signal<boolean | undefined>;
14
+ private menuChangeEvents;
15
+ active: import("@angular/core").Signal<boolean>;
16
+ visible: import("@angular/core").Signal<boolean>;
22
17
  constructor();
23
- ngOnInit(): void;
24
- ngAfterViewChecked(): void;
25
- ngOnDestroy(): void;
26
- get submenuAnimation(): "collapsed" | "expanded" | "hidden" | "visible";
27
- get activeClass(): boolean;
18
+ get submenuAnimation(): "visible" | "collapsed" | "expanded" | "hidden";
28
19
  itemClick(event: Event): void;
29
20
  onSubmenuAnimated(event: AnimationEvent): void;
30
- onChildVisibleChange(visible: boolean, item: CommonsMenuItem, idx: number): void;
21
+ onChildVisibleChange(visible: boolean, item: InternalCommonsMenuItem, idx: number): void;
31
22
  private calculatePosition;
32
- private processItemVisibility;
33
- private updateActiveStateFromRoute;
34
- private processItemChildrenVisibility;
35
23
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "[mng-menuitem]", never, { "item": { "alias": "item"; "required": true; }; "root": { "alias": "root"; "required": false; }; }, { "visibleChangeEventEmitter": "visibleChange"; }, never, never, true, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemComponent, "[mng-menuitem]", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "root": { "alias": "root"; "required": false; "isSignal": true; }; }, { "visibleChange": "visibleChange"; }, never, never, true, never>;
37
25
  }
@@ -1,12 +1,11 @@
1
- import { CommonsMenuItem } from '@mediusinc/mng-commons/core';
1
+ import { MenuService } from '../services/menu.service';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class MenuComponent {
4
4
  private readonly route;
5
- private readonly menuService;
6
5
  private readonly config;
7
- private readonly layoutService;
6
+ private readonly layout;
7
+ readonly menuService: MenuService;
8
8
  routeData: import("@angular/core").Signal<import("@angular/router").Data | undefined>;
9
- menuItems: import("@angular/core").Signal<CommonsMenuItem[]>;
10
9
  constructor();
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
12
11
  static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "mng-menu", never, {}, {}, never, never, true, never>;
@@ -0,0 +1,7 @@
1
+ import { LayoutService } from '../../../services/layout.service';
2
+ import * as i0 from "@angular/core";
3
+ export declare class ErrorPageComponent {
4
+ readonly layout: LayoutService;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorPageComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<ErrorPageComponent, "mng-error-page", never, {}, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { LayoutService } from '../../../services/layout.service';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NotFoundPageComponent {
4
+ readonly layout: LayoutService;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotFoundPageComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<NotFoundPageComponent, "mng-not-found-page", never, {}, {}, never, never, true, never>;
7
+ }
@@ -0,0 +1,30 @@
1
+ import { Injector } from '@angular/core';
2
+ import { TranslateService } from '@ngx-translate/core';
3
+ import { ColorScheme, CommonsService } from '@mediusinc/mng-commons/core';
4
+ import { LayoutMenuMode } from '../services/layout-feature-config.token';
5
+ import { LayoutService } from '../services/layout.service';
6
+ import * as i0 from "@angular/core";
7
+ interface ColorSchemeOption {
8
+ value: ColorScheme;
9
+ label: string;
10
+ }
11
+ export declare class SettingsComponent {
12
+ private readonly document;
13
+ private readonly dynamicDialogConfig;
14
+ private readonly dynamicDialogRef;
15
+ readonly injector: Injector;
16
+ readonly translate: TranslateService;
17
+ readonly commons: CommonsService;
18
+ readonly layout: LayoutService;
19
+ readonly menuModes: LayoutMenuMode[];
20
+ colorSchemeOptions: import("@angular/core").WritableSignal<ColorSchemeOption[]>;
21
+ constructor();
22
+ switchLocale(language: string): void;
23
+ switchDataLocale(language: string): void;
24
+ onMenuModeChange(mode: LayoutMenuMode): void;
25
+ onColorSchemeChange(scheme: ColorScheme): void;
26
+ closeDialog(): void;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<SettingsComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<SettingsComponent, "mng-settings", never, {}, {}, never, never, true, never>;
29
+ }
30
+ export {};
@@ -1,11 +1,9 @@
1
1
  import { ElementRef, Type } from '@angular/core';
2
- import { CommonsService } from '@mediusinc/mng-commons/core';
3
- import { MainLayoutComponentService } from '../services/main-layout.component.service';
2
+ import { LayoutService } from '../services/layout.service';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class SidebarComponent {
6
5
  private readonly config;
7
- readonly commons: CommonsService;
8
- readonly layoutService: MainLayoutComponentService;
6
+ readonly layout: LayoutService;
9
7
  readonly el: ElementRef<any>;
10
8
  menuComponent: import("@angular/core").WritableSignal<Type<any> | undefined>;
11
9
  private timeout;
@@ -1,11 +1,16 @@
1
1
  import { IUser } from '@mediusinc/mng-commons/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TopbarUserComponent {
4
+ private readonly injector;
5
+ private readonly dialogService;
4
6
  private readonly commons;
5
7
  hrefJsVoid: import("@angular/platform-browser").SafeUrl;
8
+ private readonly config;
6
9
  user: import("@angular/core").Signal<IUser | undefined>;
7
10
  userRoles: import("@angular/core").Signal<string[]>;
11
+ settingsDisabled: import("@angular/core").WritableSignal<boolean>;
8
12
  logout(user: IUser | undefined, event: Event): void;
13
+ openSettings(): void;
9
14
  static ɵfac: i0.ɵɵFactoryDeclaration<TopbarUserComponent, never>;
10
15
  static ɵcmp: i0.ɵɵComponentDeclaration<TopbarUserComponent, "mng-topbar-user-component", never, {}, {}, never, never, true, never>;
11
16
  }
@@ -1,11 +1,11 @@
1
1
  import { ElementRef, Type } from '@angular/core';
2
2
  import { CommonsService } from '@mediusinc/mng-commons/core';
3
- import { MainLayoutComponentService } from '../services/main-layout.component.service';
3
+ import { LayoutService } from '../services/layout.service';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class TopbarComponent {
6
6
  readonly el: ElementRef<any>;
7
7
  readonly commons: CommonsService;
8
- readonly mainLayoutService: MainLayoutComponentService;
8
+ readonly layout: LayoutService;
9
9
  private readonly config;
10
10
  topbarUserComponent: import("@angular/core").WritableSignal<Type<any> | undefined>;
11
11
  breadcrumbComponent: import("@angular/core").WritableSignal<Type<any> | undefined>;
@@ -0,0 +1,2 @@
1
+ import { CommonsMenuItem, InternalCommonsMenuItem } from '@mediusinc/mng-commons/core';
2
+ export declare function prepareMenuItemsToInternal(menuItems: CommonsMenuItem[], parentKey?: string): InternalCommonsMenuItem[];
@@ -1,4 +1,4 @@
1
1
  export interface MenuChangeEvent {
2
- key: string;
3
- routeEvent?: boolean;
2
+ key?: string;
3
+ eventType?: 'routeChange' | 'reset';
4
4
  }
@@ -1,18 +1,91 @@
1
1
  import { InjectionToken, Type } from '@angular/core';
2
2
  import { MenuItem } from 'primeng/api';
3
3
  export type LayoutMenuMode = 'static' | 'overlay' | 'reveal' | 'drawer' | 'slim' | 'slim-plus';
4
+ export type ColorScheme = 'light' | 'dark' | 'auto';
5
+ /**
6
+ * Set of configurations for layout customization.
7
+ */
4
8
  export interface LayoutFeatureConfig {
9
+ /**
10
+ * Choose default menu mode.
11
+ */
5
12
  menuMode?: LayoutMenuMode;
13
+ /**
14
+ * Sets available menu modes.
15
+ */
16
+ menuModes?: LayoutMenuMode[];
17
+ /**
18
+ * Predefines menu modes (instead of taking them from route data config).
19
+ */
6
20
  menuItems?: MenuItem[];
21
+ /**
22
+ * Logo path (usually icon part only).
23
+ */
24
+ logoPath?: string;
25
+ /**
26
+ * Logo path for light color mode (usually icon part only).
27
+ */
28
+ logoPathLight?: string;
29
+ /**
30
+ * Logo path for dark color mode (usually icon part only).
31
+ */
32
+ logoPathDark?: string;
33
+ /**
34
+ * Logo path (usually name part only).
35
+ */
36
+ logoNamePath?: string;
37
+ /**
38
+ * Logo path for light color mode (usually name part only).
39
+ */
40
+ logoNamePathLight?: string;
41
+ /**
42
+ * Logo path for dark color mode (usually name part only).
43
+ */
44
+ logoNamePathDark?: string;
45
+ /**
46
+ * Default color scheme (defaults to 'auto').
47
+ */
48
+ colorScheme?: ColorScheme;
49
+ /**
50
+ * Enable ripple effect.
51
+ */
7
52
  ripple?: boolean;
53
+ /**
54
+ * Disables wrapping layout in notification wrapper.
55
+ */
8
56
  disableNotificationWrapper?: boolean;
57
+ /**
58
+ * Set custom components instead of default layout's one. If false provided for component, then it will not be displayed.
59
+ */
9
60
  components?: {
61
+ /**
62
+ * Specify custom topbar component or disable (if false).
63
+ */
10
64
  topbar?: Type<any> | false;
65
+ /**
66
+ * Specify custom menu component or disable (if false).
67
+ */
11
68
  menu?: Type<any> | false;
69
+ /**
70
+ * Specify custom footer component or disable (if false).
71
+ */
12
72
  footer?: Type<any> | false;
73
+ /**
74
+ * Specify custom breadcrumb component or disable (if false).
75
+ */
13
76
  breadcrumb?: Type<any> | false;
77
+ /**
78
+ * Specify custom topbarUser component or disable (if false).
79
+ */
14
80
  topbarUser?: Type<any> | false;
81
+ /**
82
+ * Specify custom version component or disable (if false).
83
+ */
15
84
  version?: Type<any> | false;
85
+ /**
86
+ * Specify custom settings component or disable (if false).
87
+ */
88
+ settings?: Type<any> | false;
16
89
  };
17
90
  }
18
91
  export declare const COMMONS_LAYOUT_FEATURE_CONFIG_IT: InjectionToken<LayoutFeatureConfig>;
@@ -0,0 +1,46 @@
1
+ import { LayoutState } from '../models/layout-state.model';
2
+ import { ColorScheme, LayoutMenuMode } from './layout-feature-config.token';
3
+ import * as i0 from "@angular/core";
4
+ export declare class LayoutService {
5
+ private readonly typeName;
6
+ private readonly storageMenuModeKey;
7
+ private readonly storageColorSchemeKey;
8
+ private readonly platformId;
9
+ private readonly document;
10
+ private readonly commonsConfig;
11
+ private readonly config;
12
+ private readonly storageService;
13
+ state: import("@angular/core").WritableSignal<LayoutState>;
14
+ private overlayOpen;
15
+ overlayOpen$: import("rxjs").Observable<any>;
16
+ private _colorSchemeSetting;
17
+ colorSchemeSetting: import("@angular/core").Signal<ColorScheme>;
18
+ private _colorScheme;
19
+ colorScheme: import("@angular/core").Signal<ColorScheme>;
20
+ colorSchemeIsLight: import("@angular/core").Signal<boolean>;
21
+ private getInitColorScheme;
22
+ private getInitActualColorScheme;
23
+ private getDefaultColorScheme;
24
+ setColorScheme(scheme: ColorScheme): void;
25
+ readonly menuModes: LayoutMenuMode[];
26
+ private _menuMode;
27
+ menuMode: import("@angular/core").Signal<LayoutMenuMode>;
28
+ private appLogoLight;
29
+ private appLogoDark;
30
+ appLogo: import("@angular/core").Signal<string>;
31
+ private appLogoNameLight;
32
+ private appLogoNameDark;
33
+ appLogoName: import("@angular/core").Signal<string>;
34
+ isOverlay: import("@angular/core").Signal<boolean>;
35
+ isSlim: import("@angular/core").Signal<boolean>;
36
+ isSlimPlus: import("@angular/core").Signal<boolean>;
37
+ constructor();
38
+ onMenuModeChange(mode: LayoutMenuMode): void;
39
+ onMenuToggle(): void;
40
+ onOverlaySubmenuOpen(): void;
41
+ isDesktop(): boolean;
42
+ isMobile(): boolean;
43
+ private initMenuMode;
44
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutService, never>;
45
+ static ɵprov: i0.ɵɵInjectableDeclaration<LayoutService>;
46
+ }
@@ -1,4 +1,4 @@
1
- import { CommonsMenuItem } from '@mediusinc/mng-commons/core';
1
+ import { CommonsMenuItem, InternalCommonsMenuItem } from '@mediusinc/mng-commons/core';
2
2
  import { MenuChangeEvent } from '../models/menu.model';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class MenuService {
@@ -6,14 +6,13 @@ export declare class MenuService {
6
6
  private readonly logger;
7
7
  private readonly router;
8
8
  private readonly commonsRouter;
9
- private readonly menuSource;
10
- private readonly resetSource;
11
- menuSource$: import("rxjs").Observable<MenuChangeEvent>;
12
- resetSource$: import("rxjs").Observable<unknown>;
13
- private menuItems;
9
+ private _menuItems;
10
+ menuItems: import("@angular/core").Signal<InternalCommonsMenuItem[]>;
11
+ private readonly menuChangeSubject;
12
+ menuChange$: import("rxjs").Observable<MenuChangeEvent>;
14
13
  private routeLoadedChildrenSubscriptions;
15
- initialize(menuItems: Array<CommonsMenuItem>): void;
16
- private generateMenuItemKeys;
14
+ setItems(menuItems: Array<CommonsMenuItem>): void;
15
+ private appendListenersToLazyChildren;
17
16
  private findAndSetActiveMenuItem;
18
17
  private listenToMenuItemLazyChildrenLoad;
19
18
  private findActiveRouteMatches;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons-layout",
3
- "version": "5.2.0",
3
+ "version": "5.3.0-rc.1",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^17.3.0 || ^18.0.0",
6
6
  "@angular/common": "^17.3.0 || ^18.0.0",
@@ -10,7 +10,7 @@
10
10
  "@angular/router": "^17.3.0 || ^18.0.0",
11
11
  "@ngx-translate/core": "^15.0.0",
12
12
  "primeng": "^17.18.0",
13
- "@mediusinc/mng-commons": "~5.2.0"
13
+ "@mediusinc/mng-commons": "~5.3.0-rc.1"
14
14
  },
15
15
  "dependencies": {
16
16
  "tslib": "^2.3.0"
@@ -1,3 +1,4 @@
1
1
  @import 'mng_layout_menu';
2
2
  @import 'mng_layout_topbar';
3
3
  @import 'mng_layout_footer';
4
+ @import 'mng_sidebar_vertical';
@@ -0,0 +1,8 @@
1
+ .layout-sidebar {
2
+ .layout-menu {
3
+ a.active-route {
4
+ border-left-color: var(--primary-color);
5
+ background-color: var(--root-menu-item-hover-bg);
6
+ }
7
+ }
8
+ }
package/version-info.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons-layout",
3
- "version": "5.2.0",
4
- "tag": "v5.2.0",
5
- "distance": 0,
6
- "hash": "bb36bdae",
3
+ "version": "5.3.0-rc.1",
4
+ "tag": "v5.2.0-rc.2",
5
+ "distance": 22,
6
+ "hash": "2f9bf37f",
7
7
  "dirty": true,
8
- "semver": "5.2.0+0.gbb36bdae.dirty",
8
+ "semver": "5.2.0-rc.2+22.g2f9bf37f.dirty",
9
9
  "buildTimestamp": null,
10
- "raw": "v5.2.0-bb36bdae-dirty"
10
+ "raw": "v5.2.0-rc.2-22-2f9bf37f-dirty"
11
11
  }
@@ -1,71 +0,0 @@
1
- import { Injectable, inject, signal } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from './layout-feature-config.token';
4
- import * as i0 from "@angular/core";
5
- export class MainLayoutComponentService {
6
- constructor() {
7
- this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
8
- this.state = signal({
9
- staticMenuDesktopInactive: false,
10
- overlayMenuActive: false,
11
- rightMenuActive: false,
12
- configSidebarVisible: false,
13
- staticMenuMobileActive: false,
14
- menuHoverActive: false,
15
- sidebarActive: false,
16
- anchored: false
17
- });
18
- this.overlayOpen = new Subject();
19
- this.overlayOpen$ = this.overlayOpen.asObservable();
20
- }
21
- onMenuToggle() {
22
- if (this.isOverlay()) {
23
- this.state.update(state => ({
24
- ...state,
25
- overlayMenuActive: !state.overlayMenuActive
26
- }));
27
- if (this.state().overlayMenuActive) {
28
- this.overlayOpen.next(null);
29
- }
30
- }
31
- if (this.isDesktop()) {
32
- this.state.update(state => ({
33
- ...state,
34
- staticMenuDesktopInactive: !state.staticMenuDesktopInactive
35
- }));
36
- }
37
- else {
38
- this.state.update(state => ({
39
- ...state,
40
- staticMenuMobileActive: !state.staticMenuMobileActive
41
- }));
42
- if (this.state().staticMenuMobileActive) {
43
- this.overlayOpen.next(null);
44
- }
45
- }
46
- }
47
- onOverlaySubmenuOpen() {
48
- this.overlayOpen.next(null);
49
- }
50
- isOverlay() {
51
- return this.config?.menuMode === 'overlay';
52
- }
53
- isSlim() {
54
- return this.config?.menuMode === 'slim';
55
- }
56
- isSlimPlus() {
57
- return this.config?.menuMode === 'slim-plus';
58
- }
59
- isDesktop() {
60
- return window.innerWidth > 991;
61
- }
62
- isMobile() {
63
- return !this.isDesktop();
64
- }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: MainLayoutComponentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
66
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: MainLayoutComponentService }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: MainLayoutComponentService, decorators: [{
69
- type: Injectable
70
- }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1sYXlvdXQuY29tcG9uZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL21haW4tbGF5b3V0LmNvbXBvbmVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRzdCLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLCtCQUErQixDQUFDOztBQUcvRSxNQUFNLE9BQU8sMEJBQTBCO0lBRHZDO1FBRVksV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRXJFLFVBQUssR0FBRyxNQUFNLENBQWM7WUFDL0IseUJBQXlCLEVBQUUsS0FBSztZQUNoQyxpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLG9CQUFvQixFQUFFLEtBQUs7WUFDM0Isc0JBQXNCLEVBQUUsS0FBSztZQUM3QixlQUFlLEVBQUUsS0FBSztZQUN0QixhQUFhLEVBQUUsS0FBSztZQUNwQixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7UUFFSyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDbEMsaUJBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO0tBc0R6RDtJQXBERyxZQUFZO1FBQ1IsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3hCLEdBQUcsS0FBSztnQkFDUixpQkFBaUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUI7YUFDOUMsQ0FBQyxDQUFDLENBQUM7WUFFSixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QixHQUFHLEtBQUs7Z0JBQ1IseUJBQXlCLEVBQUUsQ0FBQyxLQUFLLENBQUMseUJBQXlCO2FBQzlELENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3hCLEdBQUcsS0FBSztnQkFDUixzQkFBc0IsRUFBRSxDQUFDLEtBQUssQ0FBQyxzQkFBc0I7YUFDeEQsQ0FBQyxDQUFDLENBQUM7WUFFSixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEtBQUssTUFBTSxDQUFDO0lBQzVDLENBQUM7SUFFRCxVQUFVO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsS0FBSyxXQUFXLENBQUM7SUFDakQsQ0FBQztJQUVELFNBQVM7UUFDTCxPQUFPLE1BQU0sQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO0lBQ25DLENBQUM7SUFFRCxRQUFRO1FBQ0osT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXBFUSwwQkFBMEI7a0hBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge0xheW91dFN0YXRlfSBmcm9tICcuLi9tb2RlbHMvbGF5b3V0LXN0YXRlLm1vZGVsJztcbmltcG9ydCB7Q09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVR9IGZyb20gJy4vbGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvbmZpZyA9IGluamVjdChDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVCwge29wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICBwdWJsaWMgc3RhdGUgPSBzaWduYWw8TGF5b3V0U3RhdGU+KHtcbiAgICAgICAgc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZTogZmFsc2UsXG4gICAgICAgIG92ZXJsYXlNZW51QWN0aXZlOiBmYWxzZSxcbiAgICAgICAgcmlnaHRNZW51QWN0aXZlOiBmYWxzZSxcbiAgICAgICAgY29uZmlnU2lkZWJhclZpc2libGU6IGZhbHNlLFxuICAgICAgICBzdGF0aWNNZW51TW9iaWxlQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgbWVudUhvdmVyQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgc2lkZWJhckFjdGl2ZTogZmFsc2UsXG4gICAgICAgIGFuY2hvcmVkOiBmYWxzZVxuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSBvdmVybGF5T3BlbiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICBwdWJsaWMgb3ZlcmxheU9wZW4kID0gdGhpcy5vdmVybGF5T3Blbi5hc09ic2VydmFibGUoKTtcblxuICAgIG9uTWVudVRvZ2dsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNPdmVybGF5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgb3ZlcmxheU1lbnVBY3RpdmU6ICFzdGF0ZS5vdmVybGF5TWVudUFjdGl2ZVxuICAgICAgICAgICAgfSkpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZSgpLm92ZXJsYXlNZW51QWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5T3Blbi5uZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNEZXNrdG9wKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgc3RhdGljTWVudURlc2t0b3BJbmFjdGl2ZTogIXN0YXRlLnN0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmVcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgc3RhdGljTWVudU1vYmlsZUFjdGl2ZTogIXN0YXRlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmVcbiAgICAgICAgICAgIH0pKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUoKS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vdmVybGF5T3Blbi5uZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25PdmVybGF5U3VibWVudU9wZW4oKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheU9wZW4ubmV4dChudWxsKTtcbiAgICB9XG5cbiAgICBpc092ZXJsYXkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZz8ubWVudU1vZGUgPT09ICdvdmVybGF5JztcbiAgICB9XG5cbiAgICBpc1NsaW0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZz8ubWVudU1vZGUgPT09ICdzbGltJztcbiAgICB9XG5cbiAgICBpc1NsaW1QbHVzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWc/Lm1lbnVNb2RlID09PSAnc2xpbS1wbHVzJztcbiAgICB9XG5cbiAgICBpc0Rlc2t0b3AoKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA+IDk5MTtcbiAgICB9XG5cbiAgICBpc01vYmlsZSgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzRGVza3RvcCgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,17 +0,0 @@
1
- import { LayoutState } from '../models/layout-state.model';
2
- import * as i0 from "@angular/core";
3
- export declare class MainLayoutComponentService {
4
- private config;
5
- state: import("@angular/core").WritableSignal<LayoutState>;
6
- private overlayOpen;
7
- overlayOpen$: import("rxjs").Observable<any>;
8
- onMenuToggle(): void;
9
- onOverlaySubmenuOpen(): void;
10
- isOverlay(): boolean;
11
- isSlim(): boolean;
12
- isSlimPlus(): boolean;
13
- isDesktop(): boolean;
14
- isMobile(): boolean;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<MainLayoutComponentService, never>;
16
- static ɵprov: i0.ɵɵInjectableDeclaration<MainLayoutComponentService>;
17
- }