@softheon/armature 17.1.0 → 17.2.0

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 (59) hide show
  1. package/assets/styles/sof-styles.scss +4 -0
  2. package/esm2022/lib/alert-banner/alert-banner.module.mjs +2 -2
  3. package/esm2022/lib/alert-banner/components/alert-banner/alert-banner.component.mjs +2 -2
  4. package/esm2022/lib/armature.module.mjs +5 -2
  5. package/esm2022/lib/base-components/base-component.module.mjs +2 -2
  6. package/esm2022/lib/base-components/sof-alert/sof-alert.component.mjs +2 -2
  7. package/esm2022/lib/base-components/sof-badge/sof-badge.component.mjs +15 -4
  8. package/esm2022/lib/base-components/sof-banner/sof-banner.component.mjs +1 -1
  9. package/esm2022/lib/base-components/sof-button-toggle-group/sof-button-toggle-group.component.mjs +1 -1
  10. package/esm2022/lib/base-components/sof-confirm-address/sof-confirm-address.component.mjs +1 -1
  11. package/esm2022/lib/base-components/sof-image-checkbox/sof-image-checkbox.component.mjs +2 -2
  12. package/esm2022/lib/base-components/sof-modal/sof-modal.component.mjs +1 -1
  13. package/esm2022/lib/base-components/sof-progress-bar/sof-progress-bar.component.mjs +2 -2
  14. package/esm2022/lib/base-components/sof-radio-card/sof-radio-card.component.mjs +1 -1
  15. package/esm2022/lib/base-components/sof-simple-alert/sof-simple-alert.component.mjs +2 -2
  16. package/esm2022/lib/core/components/app-template/app-template.component.mjs +21 -13
  17. package/esm2022/lib/core/initializer/initializer.service.mjs +34 -18
  18. package/esm2022/lib/core/models/base-config.mjs +1 -1
  19. package/esm2022/lib/core/models/constants.mjs +5 -1
  20. package/esm2022/lib/core/models/federated-module-config.mjs +2 -0
  21. package/esm2022/lib/core/services/federated-module.service.mjs +60 -0
  22. package/esm2022/lib/error/components/error-common/error-common.component.mjs +1 -1
  23. package/esm2022/lib/error/error.module.mjs +2 -2
  24. package/esm2022/lib/faq/components/faq/faq.component.mjs +2 -2
  25. package/esm2022/lib/faq/faq.module.mjs +2 -2
  26. package/esm2022/lib/feedback-tool/components/feedback-tool/feedback-tool.component.mjs +2 -2
  27. package/esm2022/lib/feedback-tool/feedback-tool.module.mjs +2 -2
  28. package/esm2022/lib/footer/components/footer/footer.component.mjs +1 -1
  29. package/esm2022/lib/footer/components/site-map/site-map.component.mjs +1 -1
  30. package/esm2022/lib/footer/footer.module.mjs +2 -2
  31. package/esm2022/lib/forms/components/sof-address/sof-address.component.mjs +1 -1
  32. package/esm2022/lib/forms/forms.module.mjs +2 -2
  33. package/esm2022/lib/header/components/header/header.component.mjs +2 -2
  34. package/esm2022/lib/header/components/mobile-header-menu/mobile-header-menu.component.mjs +1 -1
  35. package/esm2022/lib/header/header.module.mjs +2 -2
  36. package/esm2022/lib/navigation/components/navigation/navigation.component.mjs +5 -5
  37. package/esm2022/lib/navigation/navigation.module.mjs +2 -2
  38. package/esm2022/public-api.mjs +2 -2
  39. package/fesm2022/softheon-armature.mjs +135 -40
  40. package/fesm2022/softheon-armature.mjs.map +1 -1
  41. package/lib/alert-banner/alert-banner.module.d.ts +1 -1
  42. package/lib/armature.module.d.ts +1 -1
  43. package/lib/base-components/base-component.module.d.ts +1 -1
  44. package/lib/base-components/sof-badge/sof-badge.component.d.ts +5 -1
  45. package/lib/core/components/app-template/app-template.component.d.ts +7 -1
  46. package/lib/core/initializer/initializer.service.d.ts +14 -6
  47. package/lib/core/models/base-config.d.ts +5 -0
  48. package/lib/core/models/constants.d.ts +4 -0
  49. package/lib/core/models/federated-module-config.d.ts +3 -0
  50. package/lib/core/services/federated-module.service.d.ts +23 -0
  51. package/lib/error/error.module.d.ts +1 -1
  52. package/lib/faq/faq.module.d.ts +1 -1
  53. package/lib/feedback-tool/feedback-tool.module.d.ts +1 -1
  54. package/lib/footer/footer.module.d.ts +1 -1
  55. package/lib/forms/forms.module.d.ts +1 -1
  56. package/lib/header/header.module.d.ts +1 -1
  57. package/lib/navigation/navigation.module.d.ts +1 -1
  58. package/package.json +2 -2
  59. package/public-api.d.ts +1 -1
@@ -2,7 +2,7 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./components/alert-banner/alert-banner.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@ngx-translate/core";
5
- import * as i4 from "@angular/flex-layout";
5
+ import * as i4 from "@ngbracket/ngx-layout";
6
6
  import * as i5 from "@angular/material/icon";
7
7
  export declare class AlertBannerModule {
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<AlertBannerModule, never>;
@@ -12,7 +12,7 @@ import * as i7 from "./alert-banner/alert-banner.module";
12
12
  import * as i8 from "./base-components/base-component.module";
13
13
  import * as i9 from "@angular/router";
14
14
  import * as i10 from "@angular/common";
15
- import * as i11 from "@angular/flex-layout";
15
+ import * as i11 from "@ngbracket/ngx-layout";
16
16
  /**
17
17
  * Session base path factory
18
18
  * @param injector The angular injector
@@ -12,7 +12,7 @@ import * as i10 from "./sof-simple-alert/sof-simple-alert.component";
12
12
  import * as i11 from "./sof-confirm-address/sof-confirm-address.component";
13
13
  import * as i12 from "@angular/router";
14
14
  import * as i13 from "@angular/common";
15
- import * as i14 from "@angular/flex-layout";
15
+ import * as i14 from "@ngbracket/ngx-layout";
16
16
  import * as i15 from "@angular/forms";
17
17
  import * as i16 from "@ngx-translate/core";
18
18
  import * as i17 from "@angular/material/select";
@@ -15,6 +15,10 @@ export declare class SofBadgeComponent {
15
15
  iconClass: string;
16
16
  /**Whether to show colored label */
17
17
  coloredLabel: boolean;
18
+ /** The badge aria label */
19
+ badgeAria: string;
20
+ /** The icon aria label */
21
+ iconAria: string;
18
22
  /**
19
23
  * The constructor
20
24
  */
@@ -22,5 +26,5 @@ export declare class SofBadgeComponent {
22
26
  /** On component init */
23
27
  ngOnInit(): void;
24
28
  static ɵfac: i0.ɵɵFactoryDeclaration<SofBadgeComponent, never>;
25
- static ɵcmp: i0.ɵɵComponentDeclaration<SofBadgeComponent, "sof-badge", never, { "noIcon": { "alias": "noIcon"; "required": false; }; "noOutline": { "alias": "noOutline"; "required": false; }; "badgeText": { "alias": "badgeText"; "required": false; }; "badgeColor": { "alias": "badgeColor"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "coloredLabel": { "alias": "coloredLabel"; "required": false; }; }, {}, never, never, false, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<SofBadgeComponent, "sof-badge", never, { "noIcon": { "alias": "noIcon"; "required": false; }; "noOutline": { "alias": "noOutline"; "required": false; }; "badgeText": { "alias": "badgeText"; "required": false; }; "badgeColor": { "alias": "badgeColor"; "required": false; }; "iconClass": { "alias": "iconClass"; "required": false; }; "coloredLabel": { "alias": "coloredLabel"; "required": false; }; "badgeAria": { "alias": "badgeAria"; "required": false; }; "iconAria": { "alias": "iconAria"; "required": false; }; }, {}, never, never, false, never>;
26
30
  }
@@ -8,11 +8,13 @@ import { HeaderSettings } from '../../../header/models/header.settings';
8
8
  import { NavigationAdvancedSettings, NavigationSettings, NavigationThemeSettings, NavNode } from '../../../navigation/navigation-api';
9
9
  import { BaseConfig } from '../../models/base-config';
10
10
  import { BaseConfigService } from '../../services/base-config.service';
11
+ import { FederatedModuleService } from '../../services/federated-module.service';
11
12
  import * as i0 from "@angular/core";
12
13
  /** The app template component */
13
14
  export declare class AppTemplateComponent implements OnInit {
14
15
  private readonly configService;
15
16
  private readonly translateService;
17
+ private readonly federatedModuleService;
16
18
  /** The config observable */
17
19
  config$: Observable<BaseConfig>;
18
20
  /** The header settings */
@@ -33,15 +35,19 @@ export declare class AppTemplateComponent implements OnInit {
33
35
  languageSettings: HeaderLanguageSettings;
34
36
  /** The current language */
35
37
  currentLang: string;
38
+ /** The log out text */
36
39
  get logOutText(): string;
37
40
  /** gets the non used language */
38
41
  get otherLangText(): string;
42
+ /** True when the application is running as a federated module */
43
+ isFederatedModule: boolean;
39
44
  /**
40
45
  * Constructs the component
41
46
  * @param configService The config service
42
47
  * @param translateService The translate service
48
+ * @param federatedModuleService The federated module service
43
49
  */
44
- constructor(configService: BaseConfigService, translateService: TranslateService);
50
+ constructor(configService: BaseConfigService, translateService: TranslateService, federatedModuleService: FederatedModuleService);
45
51
  /** Life cycle hook for component initialization */
46
52
  ngOnInit(): void;
47
53
  /**
@@ -7,6 +7,7 @@ import { BaseConfigService } from '../services/base-config.service';
7
7
  import { CustomAuthConfigService } from '../services/custom-auth-config.service';
8
8
  import { Router } from '@angular/router';
9
9
  import { Location } from '@angular/common';
10
+ import { FederatedModuleService } from '../services/federated-module.service';
10
11
  import * as i0 from "@angular/core";
11
12
  /**
12
13
  * The startup service is used to call methods that should be run when initially loading the application
@@ -19,6 +20,7 @@ export declare class Initializer {
19
20
  private readonly oAuthService;
20
21
  private readonly router;
21
22
  private readonly location;
23
+ private readonly federatedModuleService;
22
24
  private readonly customAuthConfigService;
23
25
  readonly _window: any;
24
26
  /** The configuration behavior subject */
@@ -37,16 +39,18 @@ export declare class Initializer {
37
39
  readonly isInitialized$: Observable<boolean>;
38
40
  /**
39
41
  * Constructs the startup service. Include any services that should be used during startup
40
- * @param http The HTTP Client
42
+ * @param http The http client
41
43
  * @param translateService The translate service
42
44
  * @param themeService The theme service
43
- * @param configService The configuration service
44
- * @param oAuthService The oidc authorization service
45
+ * @param configService The config service
46
+ * @param oAuthService The oauth service
45
47
  * @param router The router
46
48
  * @param location The location
47
- * @param customAuthConfigService The service that will configure the auth config
49
+ * @param federatedModuleService The federated module service
50
+ * @param customAuthConfigService The custom auth config service
51
+ * @param _window The window injection
48
52
  */
49
- constructor(http: HttpClient, translateService: TranslateService, themeService: ThemeService, configService: BaseConfigService, oAuthService: OAuthService, router: Router, location: Location, customAuthConfigService: CustomAuthConfigService, _window: any);
53
+ constructor(http: HttpClient, translateService: TranslateService, themeService: ThemeService, configService: BaseConfigService, oAuthService: OAuthService, router: Router, location: Location, federatedModuleService: FederatedModuleService, customAuthConfigService: CustomAuthConfigService, _window: any);
50
54
  /**
51
55
  * Loads all data that is needed upon initial loading of the website
52
56
  */
@@ -74,6 +78,10 @@ export declare class Initializer {
74
78
  private validateExistingTokenAgainstConfigs;
75
79
  /** Getting the subdomain from url */
76
80
  private getSubdomain;
77
- static ɵfac: i0.ɵɵFactoryDeclaration<Initializer, [null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
81
+ /**
82
+ * Tries to set up the federated modules when configured
83
+ */
84
+ private trySetUpFederatedModules;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<Initializer, [null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
78
86
  static ɵprov: i0.ɵɵInjectableDeclaration<Initializer>;
79
87
  }
@@ -1,4 +1,5 @@
1
1
  import { ThemePaletteModel } from '../client-generated/model/themePaletteModel';
2
+ import { FederatedModuleConfig } from './federated-module-config';
2
3
  import { HeaderConfig } from './header-config';
3
4
  import { NavigationConfig } from './navigation-config';
4
5
  import { OidcAuthSettings } from './oidc-auth-settings';
@@ -15,4 +16,8 @@ export interface BaseConfig {
15
16
  navigation: NavigationConfig;
16
17
  /** The sub domain configurations */
17
18
  subdomain?: SubdomainConfig;
19
+ /** The federated module configuration dictionary */
20
+ federatedModules?: {
21
+ [key: string]: FederatedModuleConfig;
22
+ };
18
23
  }
@@ -11,3 +11,7 @@ export declare const USER_ENTITY_SERVICE_CONFIG: InjectionToken<UserEntityServic
11
11
  export declare const preSignInRouteStorageKey: string;
12
12
  /** The language storage key */
13
13
  export declare const languageStorageKey: string;
14
+ /** The federated module configuration storage key */
15
+ export declare const federatedModuleConfigStorageKey: string;
16
+ /** The federated module id of the application, this should be set when the application is allowed to run as a federated module */
17
+ export declare const FEDERATED_MODULE_ID: InjectionToken<string>;
@@ -0,0 +1,3 @@
1
+ export interface FederatedModuleConfig {
2
+ displayName: string;
3
+ }
@@ -0,0 +1,23 @@
1
+ import { FederatedModuleConfig } from '../models/federated-module-config';
2
+ import * as i0 from "@angular/core";
3
+ /** The federated module service */
4
+ export declare class FederatedModuleService {
5
+ private readonly _window;
6
+ readonly federatedModuleId: string;
7
+ /** The federated module configuration */
8
+ get federatedModuleConfig(): FederatedModuleConfig;
9
+ /** True when application is running as a federated module */
10
+ get isFederatedModule(): boolean;
11
+ /** Gets the federated module config dictionary */
12
+ private get federatedModuleConfigDict();
13
+ /** The window interface */
14
+ private readonly window;
15
+ /**
16
+ * Constructs the service
17
+ * @param _window The browser window
18
+ * @param federatedModuleId The federated module id
19
+ */
20
+ constructor(_window: any, federatedModuleId: string);
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<FederatedModuleService, [{ optional: true; }, { optional: true; }]>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<FederatedModuleService>;
23
+ }
@@ -1,7 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./components/error-common/error-common.component";
3
3
  import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/flex-layout";
4
+ import * as i3 from "@ngbracket/ngx-layout";
5
5
  import * as i4 from "@ngx-translate/core";
6
6
  /** The error module */
7
7
  export declare class ErrorModule {
@@ -5,7 +5,7 @@ import * as i3 from "@angular/material/expansion";
5
5
  import * as i4 from "@angular/material/button";
6
6
  import * as i5 from "@angular/material/card";
7
7
  import * as i6 from "@angular/material/icon";
8
- import * as i7 from "@angular/flex-layout";
8
+ import * as i7 from "@ngbracket/ngx-layout";
9
9
  import * as i8 from "@ngx-translate/core";
10
10
  /** The FAQ Module */
11
11
  export declare class FaqModule {
@@ -2,7 +2,7 @@ import * as i0 from "@angular/core";
2
2
  import * as i1 from "./components/feedback-tool/feedback-tool.component";
3
3
  import * as i2 from "@angular/common";
4
4
  import * as i3 from "@ngx-translate/core";
5
- import * as i4 from "@angular/flex-layout";
5
+ import * as i4 from "@ngbracket/ngx-layout";
6
6
  import * as i5 from "@angular/material/form-field";
7
7
  import * as i6 from "@angular/material/input";
8
8
  import * as i7 from "@angular/material/button";
@@ -3,7 +3,7 @@ import * as i1 from "./components/footer/footer.component";
3
3
  import * as i2 from "./components/site-map/site-map.component";
4
4
  import * as i3 from "@angular/router";
5
5
  import * as i4 from "@angular/common";
6
- import * as i5 from "@angular/flex-layout";
6
+ import * as i5 from "@ngbracket/ngx-layout";
7
7
  import * as i6 from "@ngx-translate/core";
8
8
  import * as i7 from "@angular/material/button";
9
9
  /** The Footer Module */
@@ -7,7 +7,7 @@ import * as i5 from "./directives/alphanumeric/alphanumeric.directive";
7
7
  import * as i6 from "./directives/input-trim/input-trim.directive";
8
8
  import * as i7 from "./pipes/phone-format.pipe";
9
9
  import * as i8 from "@angular/common";
10
- import * as i9 from "@angular/flex-layout";
10
+ import * as i9 from "@ngbracket/ngx-layout";
11
11
  import * as i10 from "@angular/forms";
12
12
  import * as i11 from "@angular/material/input";
13
13
  import * as i12 from "@angular/material/form-field";
@@ -4,7 +4,7 @@ import * as i2 from "./components/mobile-header-menu/mobile-header-menu.componen
4
4
  import * as i3 from "@angular/router";
5
5
  import * as i4 from "@angular/common";
6
6
  import * as i5 from "@ngx-translate/core";
7
- import * as i6 from "@angular/flex-layout";
7
+ import * as i6 from "@ngbracket/ngx-layout";
8
8
  import * as i7 from "@angular/material/toolbar";
9
9
  import * as i8 from "@angular/material/menu";
10
10
  import * as i9 from "@angular/material/button-toggle";
@@ -3,7 +3,7 @@ import * as i1 from "./components/navigation/navigation.component";
3
3
  import * as i2 from "@angular/router";
4
4
  import * as i3 from "@angular/common";
5
5
  import * as i4 from "@ngx-translate/core";
6
- import * as i5 from "@angular/flex-layout";
6
+ import * as i5 from "@ngbracket/ngx-layout";
7
7
  import * as i6 from "@angular/material/sidenav";
8
8
  import * as i7 from "@angular/material/slider";
9
9
  import * as i8 from "@angular/material/slide-toggle";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softheon/armature",
3
- "version": "17.1.0",
3
+ "version": "17.2.0",
4
4
  "dependencies": {
5
5
  "tslib": "^2.5.0"
6
6
  },
@@ -10,12 +10,12 @@
10
10
  "@angular/common": "^17.1.2",
11
11
  "@angular/compiler": "^17.1.2",
12
12
  "@angular/core": "^17.1.2",
13
- "@angular/flex-layout": "^15.0.0-beta.42",
14
13
  "@angular/forms": "^17.1.2",
15
14
  "@angular/material": "^17.1.2",
16
15
  "@angular/platform-browser": "^17.1.2",
17
16
  "@angular/platform-browser-dynamic": "^17.1.2",
18
17
  "@angular/router": "^17.1.2",
18
+ "@ngbracket/ngx-layout": "^17.0.1",
19
19
  "@ngx-translate/core": "^15.0.0",
20
20
  "@ngx-translate/http-loader": "^8.0.0",
21
21
  "angular-oauth2-oidc": "~15.0.1",
package/public-api.d.ts CHANGED
@@ -25,7 +25,7 @@ export * from './lib/core/models/subdomain-config';
25
25
  export * from './lib/core/services/custom-auth-config.service';
26
26
  export * from './lib/core/components/app-template/app-template.component';
27
27
  export * from './lib/core/services/banner.service';
28
- export { SESSION_CONFIG, WINDOW, USER_ENTITY_SERVICE_CONFIG, preSignInRouteStorageKey, languageStorageKey } from './lib/core/models/constants';
28
+ export { SESSION_CONFIG, WINDOW, USER_ENTITY_SERVICE_CONFIG, preSignInRouteStorageKey, languageStorageKey, FEDERATED_MODULE_ID } from './lib/core/models/constants';
29
29
  export * from './lib/distributed-cache/distributed-cache-api';
30
30
  export * from './lib/error/error-api';
31
31
  export * from './lib/faq/faq-api';