@rxap/layout 16.0.0-dev.2 → 16.0.0-dev.21

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 (75) hide show
  1. package/CHANGELOG.md +442 -0
  2. package/LICENSE +621 -21
  3. package/LICENSE.md +621 -0
  4. package/README.md +7 -22
  5. package/esm2022/index.mjs +5 -6
  6. package/esm2022/lib/app-url.service.mjs +64 -0
  7. package/esm2022/lib/footer/footer.component.mjs +10 -41
  8. package/esm2022/lib/footer.directive.mjs +21 -22
  9. package/esm2022/lib/header/apps-button/apps-button.component.mjs +40 -120
  10. package/esm2022/lib/header/header.component.mjs +64 -141
  11. package/esm2022/lib/header/language-selector/language-selector.component.mjs +22 -115
  12. package/esm2022/lib/header/navigation-progress-bar/navigation-progress-bar.component.mjs +19 -24
  13. package/esm2022/lib/header/reset-button/reset-button.component.mjs +12 -19
  14. package/esm2022/lib/header/settings-button/settings-button.component.mjs +46 -0
  15. package/esm2022/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.mjs +16 -39
  16. package/esm2022/lib/header/sign-out/sign-out.component.mjs +17 -28
  17. package/esm2022/lib/header/user-profile-icon/user-profile-icon.component.mjs +32 -117
  18. package/esm2022/lib/i18n-check.guard.mjs +30 -0
  19. package/esm2022/lib/i18n.service.mjs +36 -0
  20. package/esm2022/lib/language-selector.service.mjs +34 -0
  21. package/esm2022/lib/layout/layout.component.mjs +61 -91
  22. package/esm2022/lib/layout/layout.component.service.mjs +21 -22
  23. package/esm2022/lib/navigation/navigation-item/navigation-item.component.mjs +116 -264
  24. package/esm2022/lib/navigation/navigation-item.mjs +4 -4
  25. package/esm2022/lib/navigation/navigation.component.mjs +46 -106
  26. package/esm2022/lib/navigation/navigation.service.mjs +28 -27
  27. package/esm2022/lib/navigation/replace-router-paths.service.mjs +9 -10
  28. package/esm2022/lib/sidenav/sidenav-footer.directive.mjs +15 -16
  29. package/esm2022/lib/sidenav/sidenav-header.directive.mjs +15 -16
  30. package/esm2022/lib/sidenav/sidenav.component.mjs +29 -121
  31. package/esm2022/lib/sidenav/sidenav.component.service.mjs +8 -9
  32. package/esm2022/lib/sidenav/version/version.component.mjs +14 -48
  33. package/esm2022/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.mjs +15 -38
  34. package/esm2022/lib/tokens.mjs +1 -1
  35. package/esm2022/lib/types.mjs +1 -1
  36. package/esm2022/lib/window-container-sidenav/window-container-sidenav.component.mjs +14 -33
  37. package/esm2022/rxap-layout.mjs +1 -1
  38. package/fesm2022/rxap-layout.mjs +824 -1534
  39. package/fesm2022/rxap-layout.mjs.map +1 -1
  40. package/index.d.ts +4 -3
  41. package/lib/app-url.service.d.ts +26 -0
  42. package/lib/footer.directive.d.ts +1 -1
  43. package/lib/header/apps-button/apps-button.component.d.ts +12 -20
  44. package/lib/header/header.component.d.ts +7 -12
  45. package/lib/header/language-selector/language-selector.component.d.ts +1 -16
  46. package/lib/header/settings-button/settings-button.component.d.ts +19 -0
  47. package/lib/header/sidenav-toggle-button/sidenav-toggle-button.component.d.ts +1 -1
  48. package/lib/header/sign-out/sign-out.component.d.ts +4 -4
  49. package/lib/header/user-profile-icon/user-profile-icon.component.d.ts +11 -7
  50. package/lib/i18n-check.guard.d.ts +11 -0
  51. package/lib/i18n.service.d.ts +12 -0
  52. package/lib/language-selector.service.d.ts +15 -0
  53. package/lib/layout/layout.component.d.ts +9 -4
  54. package/lib/navigation/navigation-item/navigation-item.component.d.ts +11 -18
  55. package/lib/navigation/navigation-item.d.ts +1 -1
  56. package/lib/navigation/navigation.component.d.ts +6 -6
  57. package/lib/navigation/navigation.service.d.ts +1 -1
  58. package/lib/sidenav/version/version.component.d.ts +2 -2
  59. package/lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component.d.ts +2 -4
  60. package/lib/types.d.ts +3 -2
  61. package/lib/window-container-sidenav/window-container-sidenav.component.d.ts +1 -1
  62. package/package.json +101 -66
  63. package/theme.css +1 -0
  64. package/collection.json +0 -10
  65. package/esm2022/lib/layout/layout.component.module.mjs +0 -32
  66. package/esm2022/lib/sidenav-content/sidenav-content.component.mjs +0 -46
  67. package/esm2022/lib/sidenav-content/sidenav-content.component.service.mjs +0 -37
  68. package/lib/layout/layout.component.module.d.ts +0 -10
  69. package/lib/sidenav-content/sidenav-content.component.d.ts +0 -12
  70. package/lib/sidenav-content/sidenav-content.component.service.d.ts +0 -15
  71. package/migration.json +0 -4
  72. package/src/schematics/ng-add/index.d.ts +0 -2
  73. package/src/schematics/ng-add/index.js +0 -8
  74. package/src/schematics/ng-add/index.js.map +0 -1
  75. package/src/schematics/ng-add/schema.json +0 -7
package/index.d.ts CHANGED
@@ -7,7 +7,6 @@ export * from './lib/header/reset-button/reset-button.component';
7
7
  export * from './lib/header/sidenav-toggle-button/sidenav-toggle-button.component';
8
8
  export * from './lib/header/navigation-progress-bar/navigation-progress-bar.component';
9
9
  export * from './lib/header/apps-button/apps-button.component';
10
- export * from './lib/layout/layout.component.module';
11
10
  export * from './lib/layout/layout.component';
12
11
  export * from './lib/layout/layout.component.service';
13
12
  export * from './lib/navigation/navigation-item';
@@ -20,9 +19,11 @@ export * from './lib/sidenav/sidenav-header.directive';
20
19
  export * from './lib/sidenav/sidenav-footer.directive';
21
20
  export * from './lib/sidenav/sidenav.component.service';
22
21
  export * from './lib/sidenav/version/version.component';
23
- export * from './lib/sidenav-content/sidenav-content.component.service';
24
- export * from './lib/sidenav-content/sidenav-content.component';
25
22
  export * from './lib/toggle-window-sidenav-button/toggle-window-sidenav-button.component';
26
23
  export * from './lib/window-container-sidenav/window-container-sidenav.component';
27
24
  export * from './lib/footer.directive';
28
25
  export * from './lib/types';
26
+ export * from './lib/i18n-check.guard';
27
+ export * from './lib/i18n.service';
28
+ export * from './lib/language-selector.service';
29
+ export * from './lib/app-url.service';
@@ -0,0 +1,26 @@
1
+ import { RxapUserProfileService } from '@rxap/authentication';
2
+ import { ConfigService } from '@rxap/config';
3
+ import * as i0 from "@angular/core";
4
+ export interface ExternalApps {
5
+ image?: string;
6
+ label: string;
7
+ href: string;
8
+ empty?: false;
9
+ hidden?: boolean;
10
+ id?: string;
11
+ permissions: string[];
12
+ }
13
+ export declare class AppUrlService {
14
+ private readonly config;
15
+ private readonly localeId;
16
+ private readonly userProfileService;
17
+ private _apps;
18
+ constructor(config: ConfigService, localeId: string, userProfileService: RxapUserProfileService);
19
+ getApp(appId: string): ExternalApps | null;
20
+ getAppUrl(appId: string, path: string): string | null;
21
+ navigate(appId: string, path: string): void;
22
+ getAppList(): Promise<Array<ExternalApps>>;
23
+ private getPathPrefix;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppUrlService, never>;
25
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppUrlService>;
26
+ }
@@ -1,4 +1,4 @@
1
- import { OnInit, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
1
+ import { OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import { FooterService } from '@rxap/services';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class FooterDirective implements OnInit, OnDestroy {
@@ -1,24 +1,16 @@
1
- import { ConfigService } from '@rxap/config';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { AppUrlService, ExternalApps } from '../../app-url.service';
3
+ import { RxapAuthenticationService } from '@rxap/authentication';
2
4
  import * as i0 from "@angular/core";
3
- export interface AppsButtonGridItem {
4
- image: string;
5
- label: string;
6
- href: string;
7
- empty?: false;
8
- }
9
- export interface EmptyAppsButtonGridItem {
10
- empty: true;
11
- href?: undefined;
12
- label?: undefined;
13
- image?: undefined;
14
- }
15
- export declare class AppsButtonComponent {
16
- private readonly config;
17
- get gridWithPadding(): Array<AppsButtonGridItem | EmptyAppsButtonGridItem>;
18
- get columns(): 1 | 2 | 3;
5
+ export declare class AppsButtonComponent implements OnInit, OnDestroy {
6
+ private readonly appUrlService;
7
+ private readonly authenticationService;
19
8
  isOpen: boolean;
20
- grid: Array<AppsButtonGridItem>;
21
- constructor(grid: any, config: ConfigService);
22
- static ɵfac: i0.ɵɵFactoryDeclaration<AppsButtonComponent, [{ optional: true; }, null]>;
9
+ readonly appList: import("@angular/core").WritableSignal<ExternalApps[]>;
10
+ private _subscription?;
11
+ constructor(grid: any, appUrlService: AppUrlService, authenticationService: RxapAuthenticationService);
12
+ ngOnInit(): void;
13
+ ngOnDestroy(): void;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppsButtonComponent, [{ optional: true; }, null, null]>;
23
15
  static ɵcmp: i0.ɵɵComponentDeclaration<AppsButtonComponent, "rxap-apps-button", never, {}, {}, never, never, true, never>;
24
16
  }
@@ -1,26 +1,21 @@
1
- import { OnInit, OnDestroy } from '@angular/core';
2
- import { Constructor } from '@rxap/utilities';
3
- import { Subscription, Observable } from 'rxjs';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { ThemePalette } from '@angular/material/core';
4
3
  import { MatSidenav } from '@angular/material/sidenav';
5
- import { UserService } from '@rxap/authentication';
6
4
  import { HeaderService } from '@rxap/services';
7
- import { MatMenuPanel } from '@angular/material/menu';
8
- import { ThemePalette } from '@angular/material/core';
5
+ import { Constructor } from '@rxap/utilities';
6
+ import { Subscription } from 'rxjs';
9
7
  import * as i0 from "@angular/core";
10
8
  export declare class HeaderComponent implements OnInit, OnDestroy {
11
9
  readonly headerComponentService: HeaderService;
12
- private readonly userService;
13
10
  headerComponent: any;
14
11
  sidenav?: MatSidenav;
15
12
  components: Array<Constructor<any>>;
16
13
  subscriptions: Subscription;
17
- hasUser$: Observable<boolean>;
18
14
  color: ThemePalette;
19
- settingsMenuPanel?: MatMenuPanel;
20
- constructor(headerComponentService: HeaderService, userService: UserService<any>, headerComponent: any);
15
+ constructor(headerComponentService: HeaderService, headerComponent: any);
21
16
  ngOnInit(): void;
22
17
  updateComponents(): void;
23
18
  ngOnDestroy(): void;
24
- static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, [null, null, { optional: true; }]>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "rxap-header", never, { "sidenav": { "alias": "sidenav"; "required": false; }; "color": { "alias": "color"; "required": false; }; "settingsMenuPanel": { "alias": "settingsMenuPanel"; "required": false; }; }, {}, never, ["*"], true, never>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, [null, { optional: true; }]>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "rxap-header", never, { "sidenav": { "alias": "sidenav"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, ["*"], true, never>;
26
21
  }
@@ -1,20 +1,5 @@
1
- import { ConfigService } from '@rxap/config';
1
+ import { LanguageSelectorService } from '../../language-selector.service';
2
2
  import * as i0 from "@angular/core";
3
- export declare const RXAP_SELECTED_LANGUAGE_LOCAL_STORAGE_KEY = "rxap__selected_language";
4
- export declare const RXAP_SELECTED_LANGUAGE_CHANGE_LOCAL_STORAGE_KEY = "rxap__selected_language_last_change";
5
- export declare class LanguageSelectorService {
6
- private readonly config;
7
- readonly languages: any;
8
- readonly defaultLanguage: string;
9
- selectedLanguage: string;
10
- constructor(config: ConfigService);
11
- setLanguage(language: string): void;
12
- autoRedirect(): void;
13
- private redirect;
14
- private checkLastChange;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorService, never>;
16
- static ɵprov: i0.ɵɵInjectableDeclaration<LanguageSelectorService>;
17
- }
18
3
  export declare class LanguageSelectorComponent {
19
4
  readonly language: LanguageSelectorService;
20
5
  constructor(language: LanguageSelectorService);
@@ -0,0 +1,19 @@
1
+ import { ComponentPortal } from '@angular/cdk/portal';
2
+ import { Injector, OnDestroy, OnInit } from '@angular/core';
3
+ import { ActivatedRoute } from '@angular/router';
4
+ import { ThemeService } from '@rxap/services';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SettingsButtonComponent implements OnInit, OnDestroy {
7
+ readonly theme: ThemeService;
8
+ private readonly route;
9
+ private readonly injector;
10
+ isDevMode: boolean;
11
+ items: import("@angular/core").WritableSignal<ComponentPortal<unknown>[]>;
12
+ private _subscription?;
13
+ constructor(theme: ThemeService, route: ActivatedRoute, injector: Injector);
14
+ ngOnDestroy(): void;
15
+ ngOnInit(): void;
16
+ private getCustomMenuItems;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<SettingsButtonComponent, never>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<SettingsButtonComponent, "rxap-settings-button", never, {}, {}, never, never, true, never>;
19
+ }
@@ -3,5 +3,5 @@ import * as i0 from "@angular/core";
3
3
  export declare class SidenavToggleButtonComponent {
4
4
  sidenav: MatSidenav;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<SidenavToggleButtonComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<SidenavToggleButtonComponent, "rxap-sidenav-toggle-button", never, { "sidenav": { "alias": "sidenav"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidenavToggleButtonComponent, "rxap-sidenav-toggle-button", never, { "sidenav": { "alias": "sidenav"; "required": true; }; }, {}, never, never, true, never>;
7
7
  }
@@ -1,9 +1,9 @@
1
- import { Router } from '@angular/router';
1
+ import { RxapAuthenticationService } from '@rxap/authentication';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class SignOutComponent {
4
- private readonly router;
5
- constructor(router: Router);
6
- redirectToRoot(): void;
4
+ private readonly authenticationService;
5
+ constructor(authenticationService: RxapAuthenticationService);
6
+ logout(): Promise<void>;
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<SignOutComponent, never>;
8
8
  static ɵcmp: i0.ɵɵComponentDeclaration<SignOutComponent, "rxap-sign-out", never, {}, {}, never, never, true, never>;
9
9
  }
@@ -1,11 +1,15 @@
1
- import { Observable } from 'rxjs';
2
- import { UserService } from '@rxap/authentication';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { RxapAuthenticationService, RxapUserProfileService } from '@rxap/authentication';
3
3
  import * as i0 from "@angular/core";
4
- export declare class UserProfileIconComponent {
5
- userService: UserService;
6
- userProfileUrl$: Observable<string | undefined>;
7
- userName$: Observable<string>;
8
- constructor(userService: UserService);
4
+ export declare class UserProfileIconComponent implements OnInit, OnDestroy {
5
+ private readonly userProfileService;
6
+ private readonly authenticationService;
7
+ username: import("@angular/core").WritableSignal<string | null>;
8
+ private _subscription?;
9
+ constructor(userProfileService: RxapUserProfileService, authenticationService: RxapAuthenticationService);
10
+ ngOnInit(): void;
11
+ ngOnDestroy(): void;
12
+ logout(): Promise<void>;
9
13
  static ɵfac: i0.ɵɵFactoryDeclaration<UserProfileIconComponent, never>;
10
14
  static ɵcmp: i0.ɵɵComponentDeclaration<UserProfileIconComponent, "rxap-user-profile-icon", never, {}, {}, never, never, true, never>;
11
15
  }
@@ -0,0 +1,11 @@
1
+ import { RxapUserProfileService } from '@rxap/authentication';
2
+ import { I18nService } from './i18n.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class I18nCheckGuard {
5
+ private readonly i18nService;
6
+ private readonly userProfileService;
7
+ constructor(i18nService: I18nService, userProfileService: RxapUserProfileService);
8
+ canActivate(): Promise<boolean>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<I18nCheckGuard, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<I18nCheckGuard>;
11
+ }
@@ -0,0 +1,12 @@
1
+ import { RxapUserProfileService } from '@rxap/authentication';
2
+ import * as i0 from "@angular/core";
3
+ export declare class I18nService {
4
+ private readonly localId;
5
+ private readonly userProfileService;
6
+ readonly currentLanguage: string;
7
+ constructor(localId: string, userProfileService: RxapUserProfileService);
8
+ setLanguage(language: string): Promise<void>;
9
+ redirect(next: string, current?: string): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<I18nService, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<I18nService>;
12
+ }
@@ -0,0 +1,15 @@
1
+ import { ConfigService } from '@rxap/config';
2
+ import { I18nService } from './i18n.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class LanguageSelectorService {
5
+ private readonly config;
6
+ private readonly localId;
7
+ private readonly i18nService;
8
+ readonly languages: any;
9
+ readonly defaultLanguage: string;
10
+ selectedLanguage: string;
11
+ constructor(config: ConfigService, localId: string, i18nService: I18nService);
12
+ setLanguage(language: string): Promise<void>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<LanguageSelectorService>;
15
+ }
@@ -1,11 +1,16 @@
1
+ import { MatDrawerMode, MatSidenav } from '@angular/material/sidenav';
2
+ import { Environment } from '@rxap/environment';
3
+ import { IconLoaderService } from '@rxap/icon';
1
4
  import { LayoutComponentService } from './layout.component.service';
2
- import { MatSidenav } from '@angular/material/sidenav';
3
5
  import * as i0 from "@angular/core";
4
6
  export declare class LayoutComponent {
5
7
  readonly layoutComponentService: LayoutComponentService;
6
- openWindowSidenav: boolean;
8
+ private readonly environment;
9
+ sidenavMode: MatDrawerMode;
7
10
  sidenav: MatSidenav;
8
- constructor(layoutComponentService: LayoutComponentService);
11
+ constructor(layoutComponentService: LayoutComponentService, environment: Environment, iconLoaderService: IconLoaderService);
12
+ get release(): string;
13
+ toggleSidenavMode(): void;
9
14
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutComponent, "rxap-layout", never, {}, {}, never, ["*"], true, never>;
15
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutComponent, "rxap-layout", never, {}, {}, never, never, true, never>;
11
16
  }
@@ -1,39 +1,32 @@
1
- import { OnChanges, SimpleChanges, OnDestroy, AfterViewInit, ElementRef, Renderer2, OnInit, ViewContainerRef } from '@angular/core';
2
- import { NavigationItem, Navigation, NavigationDividerItem } from '../navigation-item';
3
- import { RouterLinkActive, Router } from '@angular/router';
4
- import { SidenavComponentService } from '../../sidenav/sidenav.component.service';
1
+ import { ElementRef, OnChanges, OnDestroy, Renderer2, SimpleChanges, ViewContainerRef } from '@angular/core';
2
+ import { Router, RouterLinkActive } from '@angular/router';
5
3
  import { Overlay } from '@angular/cdk/overlay';
4
+ import { SidenavComponentService } from '../../sidenav/sidenav.component.service';
5
+ import { Navigation, NavigationDividerItem, NavigationItem } from '../navigation-item';
6
6
  import * as i0 from "@angular/core";
7
- export declare class NavigationItemComponent implements OnChanges, AfterViewInit, OnDestroy, OnInit {
7
+ export declare class NavigationItemComponent implements OnChanges, OnDestroy {
8
8
  private readonly router;
9
9
  readonly sidenav: SidenavComponentService;
10
10
  private readonly elementRef;
11
11
  private readonly renderer;
12
12
  private readonly overlay;
13
13
  private readonly viewContainerRef;
14
+ level: number;
15
+ private _isActive;
14
16
  children: Navigation | null;
15
17
  routerLinkActive: RouterLinkActive;
16
18
  item: NavigationItem;
17
- level: number;
18
- isActive: boolean;
19
- private _navigationOverlay;
19
+ active: import("@angular/core").WritableSignal<boolean>;
20
+ get isActive(): boolean;
21
+ set isActive(value: boolean);
20
22
  private readonly _subscription;
21
- private _overlayRef?;
22
- private _embeddedViewRef?;
23
- /**
24
- * indicates the mouse is over the
25
- */
26
- lockeOverlay: boolean;
27
23
  constructor(router: Router, sidenav: SidenavComponentService, elementRef: ElementRef, renderer: Renderer2, overlay: Overlay, viewContainerRef: ViewContainerRef);
28
24
  ngOnChanges(changes: SimpleChanges): void;
29
25
  ngAfterViewInit(): void;
30
- ngOnInit(): void;
31
26
  ngOnDestroy(): void;
32
- onMouseenter(): void;
33
- onMouseleave(): void;
34
27
  isNavigationDividerItem(item: NavigationItem | NavigationDividerItem): item is NavigationDividerItem;
35
28
  isNavigationItem(item: NavigationItem | NavigationDividerItem): item is NavigationItem;
36
29
  asNavigationItem(item: NavigationItem | NavigationDividerItem): NavigationItem;
37
30
  static ɵfac: i0.ɵɵFactoryDeclaration<NavigationItemComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<NavigationItemComponent, "li[rxap-navigation-item]", never, { "item": { "alias": "item"; "required": false; }; "level": { "alias": "level"; "required": false; }; }, {}, never, never, true, never>;
31
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavigationItemComponent, "li[rxap-navigation-item]", never, { "level": { "alias": "level"; "required": false; }; "item": { "alias": "item"; "required": true; }; }, {}, never, never, true, never>;
39
32
  }
@@ -1,5 +1,5 @@
1
1
  import { IconConfig } from '@rxap/utilities';
2
- import { InjectionToken, Type, AbstractType } from '@angular/core';
2
+ import { AbstractType, InjectionToken, Type } from '@angular/core';
3
3
  import { Observable } from 'rxjs';
4
4
  export type Navigation = Array<NavigationItem | NavigationDividerItem>;
5
5
  export type NavigationWithInserts = Array<NavigationItem<NavigationWithInserts> | NavigationDividerItem | NavigationInsertItem>;
@@ -1,24 +1,24 @@
1
- import { OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
- import { Navigation, NavigationItem, NavigationDividerItem } from './navigation-item';
3
- import { NavigationService } from './navigation.service';
1
+ import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
4
2
  import { Subscription } from 'rxjs';
5
3
  import { SidenavComponentService } from '../sidenav/sidenav.component.service';
4
+ import { Navigation, NavigationDividerItem, NavigationItem } from './navigation-item';
5
+ import { NavigationService } from './navigation.service';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class NavigationComponent implements OnInit, OnDestroy {
8
8
  private readonly navigationService;
9
9
  private readonly cdr;
10
10
  readonly sidenav: SidenavComponentService;
11
- _root: boolean;
12
- set root(value: boolean | '');
13
11
  items: Navigation;
14
12
  subscription?: Subscription;
15
13
  level: number;
16
14
  constructor(navigationService: NavigationService, cdr: ChangeDetectorRef, sidenav: SidenavComponentService);
15
+ _root: boolean;
16
+ set root(value: boolean | '');
17
17
  ngOnInit(): void;
18
18
  ngOnDestroy(): void;
19
19
  isNavigationDividerItem(item: NavigationItem | NavigationDividerItem): item is NavigationDividerItem;
20
20
  isNavigationItem(item: NavigationItem | NavigationDividerItem): item is NavigationItem;
21
21
  asNavigationItem(item: NavigationItem | NavigationDividerItem): NavigationItem;
22
22
  static ɵfac: i0.ɵɵFactoryDeclaration<NavigationComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<NavigationComponent, "ul[rxap-navigation]", never, { "root": { "alias": "root"; "required": false; }; "items": { "alias": "items"; "required": false; }; "level": { "alias": "level"; "required": false; }; }, {}, never, never, true, never>;
23
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavigationComponent, "ul[rxap-navigation]", never, { "items": { "alias": "items"; "required": false; }; "level": { "alias": "level"; "required": false; }; "root": { "alias": "root"; "required": false; }; }, {}, never, never, true, never>;
24
24
  }
@@ -1,6 +1,6 @@
1
1
  import type { Injector } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
- import { Navigation, NavigationWithInserts, NavigationItem, NavigationDividerItem } from './navigation-item';
3
+ import { Navigation, NavigationDividerItem, NavigationItem, NavigationWithInserts } from './navigation-item';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class NavigationService {
6
6
  private readonly injector;
@@ -1,5 +1,5 @@
1
- import { OnInit, OnDestroy } from '@angular/core';
2
- import { VersionService, Version } from '@rxap/services';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
+ import { Version, VersionService } from '@rxap/services';
3
3
  import { KeyValue } from '@rxap/utilities';
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class VersionComponent implements OnInit, OnDestroy {
@@ -1,10 +1,8 @@
1
- import { OnInit, EventEmitter } from '@angular/core';
1
+ import { EventEmitter } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- export declare class ToggleWindowSidenavButtonComponent implements OnInit {
3
+ export declare class ToggleWindowSidenavButtonComponent {
4
4
  openWindowSidenav: boolean;
5
5
  openWindowSidenavChange: EventEmitter<boolean>;
6
- constructor();
7
- ngOnInit(): void;
8
6
  toggle(): void;
9
7
  static ɵfac: i0.ɵɵFactoryDeclaration<ToggleWindowSidenavButtonComponent, never>;
10
8
  static ɵcmp: i0.ɵɵComponentDeclaration<ToggleWindowSidenavButtonComponent, "rxap-toggle-window-sidenav-button", never, { "openWindowSidenav": { "alias": "openWindowSidenav"; "required": false; }; }, { "openWindowSidenavChange": "openWindowSidenavChange"; }, never, never, true, never>;
package/lib/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export interface LogoConfig {
2
- src: string;
3
- width: string;
2
+ src?: string;
3
+ width?: number;
4
+ height?: number;
4
5
  }
@@ -1,4 +1,4 @@
1
- import { OnInit, OnDestroy } from '@angular/core';
1
+ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { WindowContainerSidenavService } from '@rxap/services';
3
3
  import { ComponentPortal } from '@angular/cdk/portal';
4
4
  import * as i0 from "@angular/core";
package/package.json CHANGED
@@ -1,75 +1,113 @@
1
1
  {
2
2
  "name": "@rxap/layout",
3
- "version": "16.0.0-dev.2",
4
- "bugs": {
5
- "url": "https://gitlab.com/rxap/packages/-/issues",
6
- "email": "incoming+rxap-packages-14898188-issue-@incoming.gitlab.com"
3
+ "version": "16.0.0-dev.21",
4
+ "peerDependencies": {
5
+ "@angular/animations": "^16.1.4",
6
+ "@angular/cdk": "^16.1.4",
7
+ "@angular/common": "^16.1.4",
8
+ "@angular/core": "^16.1.4",
9
+ "@angular/flex-layout": "^15.0.0-beta.42",
10
+ "@angular/forms": "^16.1.4",
11
+ "@angular/material": "^16.1.4",
12
+ "@angular/router": "^16.1.4",
13
+ "@rxap/authentication": "^16.0.0-dev.12",
14
+ "@rxap/browser-utilities": "^0.0.2-dev.7",
15
+ "@rxap/config": "^16.0.0-dev.13",
16
+ "@rxap/data-source": "^16.0.0-dev.14",
17
+ "@rxap/directives": "^16.0.0-dev.13",
18
+ "@rxap/environment": "^16.0.0-dev.12",
19
+ "@rxap/icon": "^16.0.0-dev.13",
20
+ "@rxap/material-directives": "^16.0.0-dev.15",
21
+ "@rxap/ngx-status-check": "^16.1.0-dev.4",
22
+ "@rxap/services": "^16.0.0-dev.12",
23
+ "@rxap/utilities": "^16.0.0-dev.16",
24
+ "rxjs": "^7.8.0",
25
+ "@faker-js/faker": "8.0.2"
26
+ },
27
+ "sideEffects": false,
28
+ "dependencies": {
29
+ "tslib": "2.6.2"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public",
33
+ "directory": "../../../dist/packages/angular/layout"
7
34
  },
8
35
  "keywords": [
9
36
  "rxap",
37
+ "angular",
38
+ "ngx",
39
+ "packages",
10
40
  "layout",
11
- "angular"
41
+ "angular-layout"
12
42
  ],
13
- "private": false,
14
- "author": "Merzough Münker",
15
- "homepage": "https://gitlab.com/rxap/packages/libs/layout",
16
- "repository": "git@gitlab.com:rxap/packages.git",
17
- "license": "MIT",
18
- "description": "A collection of components and services that provides standard layouts for angular applications.",
19
- "peerDependencies": {
20
- "@angular-devkit/schematics": "^15.0.3",
21
- "@angular/animations": "^16.0.2",
22
- "@angular/cdk": "^16.0.1",
23
- "@angular/common": "^16.0.2",
24
- "@angular/core": "^16.0.2",
25
- "@angular/flex-layout": "^15.0.0-beta.42",
26
- "@angular/forms": "^16.0.2",
27
- "@angular/localize": "^16.0.2",
28
- "@angular/material": "^16.0.1",
29
- "@angular/platform-browser": "^16.0.2",
30
- "@angular/platform-browser-dynamic": "^16.0.2",
31
- "@angular/router": "^16.0.2",
32
- "@rxap/authentication": "^16.0.0-dev.2",
33
- "@rxap/components": "^16.0.0-dev.2",
34
- "@rxap/config": "^16.0.0-dev.2",
35
- "@rxap/definition": "^16.0.0-dev.2",
36
- "@rxap/directives": "^16.0.0-dev.2",
37
- "@rxap/forms": "^16.0.0-dev.2",
38
- "@rxap/material-directives": "^16.0.0-dev.2",
39
- "@rxap/services": "^16.0.0-dev.2",
40
- "@rxap/utilities": "^16.0.0-dev.1",
41
- "joi": "^17.6.3",
42
- "reflect-metadata": "^0.1.13",
43
- "rxjs": "^6.6.0"
44
- },
45
- "schematics": "./collection.json",
46
- "ng-update": {
47
- "migrations": "./migration.json",
48
- "packageGroup": [
49
- "@rxap/authentication",
50
- "@rxap/components",
51
- "@rxap/config",
52
- "@rxap/definition",
53
- "@rxap/directives",
54
- "@rxap/forms",
55
- "@rxap/layout",
56
- "@rxap/material-directives",
57
- "@rxap/services",
58
- "@rxap/utilities"
59
- ]
43
+ "homepage": "https:/gitlab.com/rxap/packages/packages/angular/layout",
44
+ "bugs": {
45
+ "url": "https://gitlab.com/rxap/packages/-/issues",
46
+ "email": "incoming+rxap-packages-14898188-issue-@incoming.gitlab.com"
60
47
  },
61
- "publishConfig": {
62
- "directory": "../../dist/libs/layout",
63
- "access": "public"
48
+ "license": "GPL-3.0-or-later",
49
+ "repository": {
50
+ "type": "git",
51
+ "url": "https://gitlab.com/rxap/packages.git",
52
+ "directory": "packages/angular/layout"
64
53
  },
65
- "ng-add": {
66
- "save": "dependencies"
54
+ "author": {
55
+ "name": "Merzough Münker",
56
+ "email": "mmuenker@digitaix.com"
67
57
  },
68
- "dependencies": {
69
- "@rxap/schematics-utilities": "^16.0.0-dev.1",
70
- "tslib": "^2.3.1",
71
- "tsconfig-paths-webpack-plugin": "3.5.2"
58
+ "nx-migrations": {
59
+ "packageGroup": [
60
+ {
61
+ "package": "@rxap/authentication",
62
+ "version": "16.0.0-dev.12"
63
+ },
64
+ {
65
+ "package": "@rxap/browser-utilities",
66
+ "version": "0.0.2-dev.7"
67
+ },
68
+ {
69
+ "package": "@rxap/config",
70
+ "version": "16.0.0-dev.13"
71
+ },
72
+ {
73
+ "package": "@rxap/data-source",
74
+ "version": "16.0.0-dev.14"
75
+ },
76
+ {
77
+ "package": "@rxap/directives",
78
+ "version": "16.0.0-dev.13"
79
+ },
80
+ {
81
+ "package": "@rxap/environment",
82
+ "version": "16.0.0-dev.12"
83
+ },
84
+ {
85
+ "package": "@rxap/icon",
86
+ "version": "16.0.0-dev.13"
87
+ },
88
+ {
89
+ "package": "@rxap/material-directives",
90
+ "version": "16.0.0-dev.15"
91
+ },
92
+ {
93
+ "package": "@rxap/ngx-status-check",
94
+ "version": "16.1.0-dev.4"
95
+ },
96
+ {
97
+ "package": "@rxap/services",
98
+ "version": "16.0.0-dev.12"
99
+ },
100
+ {
101
+ "package": "@rxap/utilities",
102
+ "version": "16.0.0-dev.16"
103
+ },
104
+ {
105
+ "package": "@rxap/rxjs",
106
+ "version": "1.0.1-dev.0"
107
+ }
108
+ ]
72
109
  },
110
+ "gitHead": "bd86d01028b51371b98a2cd984539c1ba2a9bf26",
73
111
  "module": "fesm2022/rxap-layout.mjs",
74
112
  "typings": "index.d.ts",
75
113
  "exports": {
@@ -81,10 +119,7 @@
81
119
  "esm2022": "./esm2022/rxap-layout.mjs",
82
120
  "esm": "./esm2022/rxap-layout.mjs",
83
121
  "default": "./fesm2022/rxap-layout.mjs"
84
- }
85
- },
86
- "sideEffects": false,
87
- "scripts": {
88
- "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
122
+ },
123
+ "./theme": "./theme.css"
89
124
  }
90
125
  }
package/theme.css ADDED
@@ -0,0 +1 @@
1
+ .container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.top-0{top:0}.z-10{z-index:10}.z-50{z-index:50}.mx-16{margin-left:4rem;margin-right:4rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-32{margin-bottom:8rem}.mb-4{margin-bottom:1rem}.ml-16{margin-left:4rem}.ml-2{margin-left:.5rem}.mt-16{margin-top:4rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-3{height:.75rem}.h-6{height:1.5rem}.h-full{height:100%}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-3{width:.75rem}.w-96{width:24rem}.w-full{width:100%}.min-w-full{min-width:100%}.\!max-w-none{max-width:none!important}.grow{flex-grow:1}.grow-0{flex-grow:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-stretch{justify-items:stretch}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-5{row-gap:1.25rem}.self-stretch{align-self:stretch}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-accent-600{border-color:var(--accent-600)}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-red-500{background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-red-500,.bg-white{--tw-bg-opacity:1}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity))}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-16{padding-left:4rem;padding-right:4rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.pl-0{padding-left:0}.pl-12{padding-left:3rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-5{padding-right:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-accent-400{color:var(--accent-400)}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity:1;color:rgb(161 98 7/var(--tw-text-opacity))}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}:is(.dark .dark\:text-neutral-400){--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}:is(.dark .dark\:hover\:text-white:hover){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}@media (min-width:768px){.md\:w-1\/2{width:50%}}