aril 0.0.26 → 0.0.28

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 (117) hide show
  1. package/README.md +2 -2
  2. package/boot/config/config.sample.json +19 -0
  3. package/boot/config/index.d.ts +2 -0
  4. package/boot/config/src/app.configs.d.ts +13 -0
  5. package/boot/{host/src/services/custom-manifest.d.ts → config/src/custom-remote.d.ts} +2 -2
  6. package/boot/host/index.d.ts +0 -1
  7. package/boot/host/src/bootstrap.d.ts +2 -2
  8. package/boot/host/src/services/microFrontEnd.service.d.ts +1 -1
  9. package/boot/mfe/index.d.ts +1 -1
  10. package/boot/mfe/src/app.component.d.ts +2 -0
  11. package/boot/mfe/src/appComponentLoader.d.ts +1 -0
  12. package/boot/mfe/src/bootstrap.d.ts +5 -2
  13. package/boot/mfe/src/loadStyles.d.ts +3 -0
  14. package/esm2022/boot/config/aril-boot-config.mjs +5 -0
  15. package/esm2022/boot/config/index.mjs +3 -0
  16. package/esm2022/boot/config/src/app.configs.mjs +19 -0
  17. package/esm2022/boot/config/src/custom-remote.mjs +2 -0
  18. package/esm2022/boot/host/index.mjs +1 -2
  19. package/esm2022/boot/host/src/bootstrap.mjs +14 -12
  20. package/esm2022/boot/host/src/services/microFrontEnd.service.mjs +1 -1
  21. package/esm2022/boot/mfe/index.mjs +2 -2
  22. package/esm2022/boot/mfe/src/app.component.mjs +10 -3
  23. package/esm2022/boot/mfe/src/appComponentLoader.mjs +5 -0
  24. package/esm2022/boot/mfe/src/bootstrap.mjs +24 -33
  25. package/esm2022/boot/mfe/src/loadStyles.mjs +16 -0
  26. package/esm2022/http/index.mjs +2 -1
  27. package/esm2022/http/lib/enums.mjs +3 -1
  28. package/esm2022/http/src/httpClient.mjs +6 -4
  29. package/esm2022/http/src/serviceBase.mjs +12 -43
  30. package/esm2022/http/src/serviceMockBase.mjs +5 -0
  31. package/esm2022/http/src/serviceRequest.mjs +26 -0
  32. package/esm2022/http/src/serviceStateMethods.mjs +97 -3
  33. package/esm2022/i18n/index.mjs +2 -2
  34. package/esm2022/i18n/src/folder-name-token.mjs +3 -0
  35. package/esm2022/i18n/src/loader.mjs +3 -3
  36. package/esm2022/i18n/src/provideScope.mjs +2 -2
  37. package/esm2022/keycloak/index.mjs +2 -1
  38. package/esm2022/keycloak/src/auth.guard.mjs +39 -0
  39. package/esm2022/keycloak/src/keycloak.manager.mjs +21 -2
  40. package/esm2022/public-api.mjs +1 -2
  41. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +8 -5
  42. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +3 -3
  43. package/esm2022/theme/layout/service/app.layout.service.mjs +1 -1
  44. package/esm2022/theme/layout/service/app.menu.service.mjs +3 -1
  45. package/esm2022/ui/button/src/button.component.mjs +1 -1
  46. package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +1 -1
  47. package/esm2022/util/block/aril-util-block.mjs +5 -0
  48. package/esm2022/util/block/index.mjs +2 -0
  49. package/esm2022/util/block/src/block.mjs +64 -0
  50. package/esm2022/util/custom_pages/src/notFound.component.mjs +53 -110
  51. package/esm2022/util/pub-sub/src/pub-sub.service.mjs +2 -3
  52. package/fesm2022/{aril-boot-mfe-app.component-zro0FnKY.mjs → aril-app.component-pGPjpk8x.mjs} +14 -7
  53. package/fesm2022/aril-app.component-pGPjpk8x.mjs.map +1 -0
  54. package/fesm2022/aril-boot-config.mjs +26 -0
  55. package/fesm2022/aril-boot-config.mjs.map +1 -0
  56. package/fesm2022/aril-boot-host.mjs +14 -13
  57. package/fesm2022/aril-boot-host.mjs.map +1 -1
  58. package/fesm2022/{aril-app.component-sZDpvJDM.mjs → aril-boot-mfe-app.component-h5TW-GVW.mjs} +13 -6
  59. package/fesm2022/aril-boot-mfe-app.component-h5TW-GVW.mjs.map +1 -0
  60. package/fesm2022/aril-boot-mfe-aril-boot-mfe-7ZwVVddO.mjs +92 -0
  61. package/fesm2022/aril-boot-mfe-aril-boot-mfe-7ZwVVddO.mjs.map +1 -0
  62. package/fesm2022/aril-boot-mfe.mjs +13 -81
  63. package/fesm2022/aril-boot-mfe.mjs.map +1 -1
  64. package/fesm2022/aril-http.mjs +140 -45
  65. package/fesm2022/aril-http.mjs.map +1 -1
  66. package/fesm2022/aril-i18n.mjs +3 -3
  67. package/fesm2022/aril-i18n.mjs.map +1 -1
  68. package/fesm2022/aril-keycloak.mjs +58 -3
  69. package/fesm2022/aril-keycloak.mjs.map +1 -1
  70. package/fesm2022/aril-theme-layout.mjs +11 -7
  71. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  72. package/fesm2022/aril-ui-button.mjs.map +1 -1
  73. package/fesm2022/aril-ui-lib.mjs.map +1 -1
  74. package/fesm2022/aril-util-block.mjs +71 -0
  75. package/fesm2022/aril-util-block.mjs.map +1 -0
  76. package/fesm2022/aril-util-custom_pages.mjs +52 -109
  77. package/fesm2022/aril-util-custom_pages.mjs.map +1 -1
  78. package/fesm2022/aril-util-pub-sub.mjs +1 -2
  79. package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
  80. package/fesm2022/aril.mjs +215 -16
  81. package/fesm2022/aril.mjs.map +1 -1
  82. package/http/index.d.ts +1 -0
  83. package/http/lib/enums.d.ts +4 -2
  84. package/http/src/httpClient.d.ts +2 -4
  85. package/http/src/serviceBase.d.ts +4 -2
  86. package/http/src/serviceMockBase.d.ts +6 -0
  87. package/http/src/serviceRequest.d.ts +4 -0
  88. package/http/src/serviceStateMethods.d.ts +11 -2
  89. package/i18n/index.d.ts +1 -1
  90. package/i18n/src/folder-name-token.d.ts +2 -0
  91. package/i18n/src/provideScope.d.ts +0 -4
  92. package/keycloak/index.d.ts +1 -0
  93. package/keycloak/src/auth.guard.d.ts +11 -0
  94. package/keycloak/src/keycloak.manager.d.ts +1 -0
  95. package/package.json +13 -1
  96. package/public-api.d.ts +0 -1
  97. package/scripts/util/blockui.min.js +7 -0
  98. package/styles/util/blockui.css +56 -0
  99. package/theme/layout/app/profileSidebar/app.profilesidebar.component.d.ts +3 -0
  100. package/theme/layout/app/profileSidebar/app.profilesidebar.component.html +151 -152
  101. package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +31 -24
  102. package/theme/layout/app/topbar/app.topbar.component.html +45 -45
  103. package/theme/layout/app/topbar/app.topbar.component.ts +32 -32
  104. package/theme/layout/service/app.layout.service.ts +178 -178
  105. package/theme/layout/service/app.menu.service.ts +2 -0
  106. package/ui/button/src/button.component.d.ts +1 -1
  107. package/ui/lib/src/input/common-input-validators.service.d.ts +2 -1
  108. package/util/block/index.d.ts +1 -0
  109. package/util/block/src/block.d.ts +28 -0
  110. package/util/pub-sub/src/pub-sub.service.d.ts +1 -2
  111. package/esm2022/boot/host/src/services/custom-manifest.mjs +0 -2
  112. package/esm2022/i18n/src/file-url-token.mjs +0 -3
  113. package/fesm2022/aril-app.component-sZDpvJDM.mjs.map +0 -1
  114. package/fesm2022/aril-aril-D__IXMsf.mjs +0 -207
  115. package/fesm2022/aril-aril-D__IXMsf.mjs.map +0 -1
  116. package/fesm2022/aril-boot-mfe-app.component-zro0FnKY.mjs.map +0 -1
  117. package/i18n/src/file-url-token.d.ts +0 -2
package/fesm2022/aril.mjs CHANGED
@@ -1,17 +1,216 @@
1
- export { b as aril } from './aril-aril-D__IXMsf.mjs';
2
- import '@angular/common/http';
3
- import '@angular/core';
4
- import '@angular/platform-browser';
5
- import '@angular/platform-browser/animations';
6
- import 'primeng/api';
7
- import 'keycloak-angular';
8
- import 'aril/http';
9
- import 'aril/i18n';
10
- import 'aril/keycloak';
11
- import '@angular/router';
12
- import '@angular-architects/module-federation-tools';
13
- import 'aril/theme/layout';
14
- import 'aril/util/pub-sub';
15
- import '@angular/elements';
16
- import 'aril/util/loaders';
1
+ import { provideHttpClient, withInterceptors, HttpClient } from '@angular/common/http';
2
+ import * as i0 from '@angular/core';
3
+ import { inject, Renderer2, ElementRef, Component, ViewEncapsulation, ViewChild, NgZone, importProvidersFrom, APP_INITIALIZER, Injectable } from '@angular/core';
4
+ import { bootstrapApplication, createApplication } from '@angular/platform-browser';
5
+ import { provideAnimations } from '@angular/platform-browser/animations';
6
+ import * as i1 from '@angular/router';
7
+ import { RouterOutlet, provideRouter, withComponentInputBinding, withHashLocation } from '@angular/router';
8
+ import { MessageService, ConfirmationService } from 'primeng/api';
9
+ import { loadAppConfigs } from 'aril/boot/config';
10
+ import { i18nModule, i18nFolderName } from 'aril/i18n';
11
+ import { authInterceptor, KeycloakManager } from 'aril/keycloak';
12
+ import { WebComponentWrapper, ModuleFederationToolsModule, startsWith } from '@angular-architects/module-federation-tools';
13
+ import { AppLayoutComponent, AppMenuService } from 'aril/theme/layout';
14
+ import * as i2 from 'aril/util/pub-sub';
15
+ import { createCustomElement } from '@angular/elements';
16
+ import { KeycloakAngularModule } from 'keycloak-angular';
17
+ import { StyleLoaderService } from 'aril/util/loaders';
18
+
19
+ class ShadowDOMWrapperComponent extends WebComponentWrapper {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.renderer = inject(Renderer2);
23
+ }
24
+ ngOnInit() {
25
+ const shadowRoot = this.vc.nativeElement.parentNode;
26
+ const styleUrls = this['route'].snapshot.data.styleUrls || [];
27
+ // Inject styles into the Shadow DOM
28
+ styleUrls.forEach((url) => {
29
+ const link = this.renderer.createElement('link');
30
+ link.setAttribute('rel', 'stylesheet');
31
+ link.setAttribute('type', 'text/css');
32
+ link.setAttribute('href', url);
33
+ this.renderer.appendChild(shadowRoot, link);
34
+ });
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ShadowDOMWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: ShadowDOMWrapperComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "vc", first: true, predicate: ["vc"], descendants: true, read: ElementRef, static: true }], usesInheritance: true, ngImport: i0, template: '<div #vc></div>', isInline: true, encapsulation: i0.ViewEncapsulation.ShadowDom }); }
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ShadowDOMWrapperComponent, decorators: [{
40
+ type: Component,
41
+ args: [{
42
+ standalone: true,
43
+ template: '<div #vc></div>',
44
+ encapsulation: ViewEncapsulation.ShadowDom
45
+ }]
46
+ }], propDecorators: { vc: [{
47
+ type: ViewChild,
48
+ args: ['vc', { read: ElementRef, static: true }]
49
+ }] } });
50
+
51
+ /* eslint-disable @typescript-eslint/no-explicit-any */
52
+ class AppComponent {
53
+ constructor(router, pubSubService) {
54
+ globalThis.ngZone = inject(NgZone);
55
+ globalThis.isMFEMode = true;
56
+ pubSubService.subscribe('navigateBetweenApps', (data) => {
57
+ router.navigateByUrl(data.path);
58
+ pubSubService.publish({
59
+ name: 'navigateInApps',
60
+ data: data
61
+ });
62
+ });
63
+ }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, deps: [{ token: i1.Router }, { token: i2.PubSubService }], target: i0.ɵɵFactoryTarget.Component }); }
65
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppComponent, isStandalone: true, selector: "aril-root", ngImport: i0, template: ` <app-layout></app-layout> `, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: AppLayoutComponent, selector: "app-layout" }] }); }
66
+ }
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, decorators: [{
68
+ type: Component,
69
+ args: [{
70
+ standalone: true,
71
+ selector: 'aril-root',
72
+ template: ` <app-layout></app-layout> `,
73
+ imports: [RouterOutlet, ModuleFederationToolsModule, ShadowDOMWrapperComponent, AppLayoutComponent]
74
+ }]
75
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.PubSubService }] });
76
+
77
+ const boot$1 = (routes, pluginInitializer, keycloakConfig) => {
78
+ const appConfig = {
79
+ providers: [
80
+ provideAnimations(),
81
+ provideHttpClient(withInterceptors([authInterceptor])),
82
+ provideRouter(routes, withComponentInputBinding(), withHashLocation()),
83
+ importProvidersFrom(i18nModule),
84
+ MessageService,
85
+ ConfirmationService,
86
+ pluginInitializer,
87
+ {
88
+ provide: APP_INITIALIZER,
89
+ useFactory: (keycloak) => keycloak.init(keycloakConfig),
90
+ multi: true,
91
+ deps: [KeycloakManager]
92
+ },
93
+ {
94
+ provide: APP_INITIALIZER,
95
+ useFactory: loadAppConfigs,
96
+ multi: true,
97
+ deps: [HttpClient]
98
+ },
99
+ {
100
+ provide: i18nFolderName,
101
+ useValue: 'host'
102
+ }
103
+ ]
104
+ };
105
+ bootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));
106
+ };
107
+
108
+ class MicroFrontendService {
109
+ constructor() {
110
+ this.appMenuService = inject(AppMenuService);
111
+ }
112
+ buildRoutes(plugins) {
113
+ const mfeRoutes = plugins.map((config) => ({
114
+ matcher: startsWith(config.remoteName),
115
+ component: config.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,
116
+ data: config
117
+ }));
118
+ return mfeRoutes;
119
+ }
120
+ setMenuItems(plugins) {
121
+ const menuItems = plugins.map((config) => {
122
+ return {
123
+ label: config.remoteName,
124
+ icon: 'pi pi-fw pi-bars',
125
+ routerLink: config.remoteName
126
+ };
127
+ });
128
+ this.appMenuService.menuConfig.set({ items: menuItems });
129
+ }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MicroFrontendService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
131
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MicroFrontendService, providedIn: 'root' }); }
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MicroFrontendService, decorators: [{
134
+ type: Injectable,
135
+ args: [{ providedIn: 'root' }]
136
+ }] });
137
+
138
+ const appComponentLoader = async () => {
139
+ const { AppComponent } = await import('./aril-app.component-pGPjpk8x.mjs');
140
+ return AppComponent;
141
+ };
142
+
143
+ function loadStylesheets(styleLoaderService, appName) {
144
+ const styles = [
145
+ 'layout.css',
146
+ 'ui.common.css',
147
+ 'preloading.css',
148
+ 'primeng.min.css',
149
+ 'theme.light.indigo.css',
150
+ 'dx.fluent.saas.light.css',
151
+ `assets/${appName}/styles/primeflex/primeflex.min.css`,
152
+ `assets/${appName}/styles/primeicons/primeicons.css`
153
+ ];
154
+ if (globalThis.isMFEMode)
155
+ return () => Promise.resolve();
156
+ return () => styleLoaderService.load(styles);
157
+ }
158
+
159
+ var appName;
160
+ var menuItems = [];
161
+ const boot = (_appName, _routes, _menuItems, _keycloakOptions, _federatedComponents) => {
162
+ appName = _appName;
163
+ menuItems = _menuItems;
164
+ const appBootConfig = {
165
+ providers: [
166
+ provideAnimations(),
167
+ provideHttpClient(withInterceptors([authInterceptor])),
168
+ provideRouter(_routes, withComponentInputBinding(), withHashLocation()),
169
+ importProvidersFrom(i18nModule, KeycloakAngularModule),
170
+ MessageService,
171
+ ConfirmationService,
172
+ globalThis.ngZone ? { provide: NgZone, useValue: globalThis.ngZone } : [],
173
+ {
174
+ provide: APP_INITIALIZER,
175
+ useFactory: (keycloak) => keycloak.init(_keycloakOptions),
176
+ multi: true,
177
+ deps: [KeycloakManager]
178
+ },
179
+ {
180
+ provide: APP_INITIALIZER,
181
+ useFactory: loadStylesheets,
182
+ multi: true,
183
+ deps: [StyleLoaderService, i18nFolderName]
184
+ },
185
+ {
186
+ provide: APP_INITIALIZER,
187
+ useFactory: loadAppConfigs,
188
+ multi: true,
189
+ deps: [HttpClient]
190
+ },
191
+ {
192
+ provide: i18nFolderName,
193
+ useValue: _appName
194
+ }
195
+ ]
196
+ };
197
+ createApplication(appBootConfig).then((appRef) => {
198
+ appComponentLoader().then((AppComponent) => {
199
+ const app = createCustomElement(AppComponent, { injector: appRef.injector });
200
+ customElements.define(`app-${appName}`, app);
201
+ if (_federatedComponents) {
202
+ Object.entries(_federatedComponents).forEach(([selector, component]) => {
203
+ const fdc = createCustomElement(component, { injector: appRef.injector });
204
+ customElements.define(selector, fdc);
205
+ });
206
+ }
207
+ });
208
+ });
209
+ };
210
+
211
+ /**
212
+ * Generated bundle index. Do not edit.
213
+ */
214
+
215
+ export { appName as a, menuItems as m };
17
216
  //# sourceMappingURL=aril.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"aril.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"aril.mjs","sources":["../../projects/aril/boot/host/src/services/showdowDOMWrapper.ts","../../projects/aril/boot/host/src/app.component.ts","../../projects/aril/boot/host/src/bootstrap.ts","../../projects/aril/boot/host/src/services/microFrontEnd.service.ts","../../projects/aril/boot/mfe/src/appComponentLoader.ts","../../projects/aril/boot/mfe/src/loadStyles.ts","../../projects/aril/boot/mfe/src/bootstrap.ts","../../projects/aril/aril.ts"],"sourcesContent":["import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewEncapsulation, inject } from '@angular/core';\n\nimport { WebComponentWrapper } from '@angular-architects/module-federation-tools';\n\n@Component({\n\tstandalone: true,\n\ttemplate: '<div #vc></div>',\n\tencapsulation: ViewEncapsulation.ShadowDom\n})\nexport class ShadowDOMWrapperComponent extends WebComponentWrapper implements OnInit {\n\t@ViewChild('vc', { read: ElementRef, static: true }) override vc!: ElementRef;\n\n\tprivate renderer = inject(Renderer2);\n\n\tngOnInit(): void {\n\t\tconst shadowRoot = this.vc.nativeElement.parentNode;\n\t\tconst styleUrls = this['route'].snapshot.data.styleUrls || [];\n\n\t\t// Inject styles into the Shadow DOM\n\t\tstyleUrls.forEach((url: string) => {\n\t\t\tconst link = this.renderer.createElement('link');\n\t\t\tlink.setAttribute('rel', 'stylesheet');\n\t\t\tlink.setAttribute('type', 'text/css');\n\t\t\tlink.setAttribute('href', url);\n\t\t\tthis.renderer.appendChild(shadowRoot, link);\n\t\t});\n\t}\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, NgZone, inject } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\n\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { AppLayoutComponent } from 'aril/theme/layout';\nimport { PubSubService } from 'aril/util/pub-sub';\n\nimport { ShadowDOMWrapperComponent } from './services/showdowDOMWrapper';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-root',\n\ttemplate: ` <app-layout></app-layout> `,\n\timports: [RouterOutlet, ModuleFederationToolsModule, ShadowDOMWrapperComponent, AppLayoutComponent]\n})\nexport class AppComponent {\n\tconstructor(router: Router, pubSubService: PubSubService) {\n\t\t(<any>globalThis).ngZone = inject(NgZone);\n\t\t(<any>globalThis).isMFEMode = true;\n\n\t\tpubSubService.subscribe('navigateBetweenApps', (data: any) => {\n\t\t\trouter.navigateByUrl(data.path);\n\t\t\tpubSubService.publish({\n\t\t\t\tname: 'navigateInApps',\n\t\t\t\tdata: data\n\t\t\t});\n\t\t});\n\t}\n}\n","import { HttpClient, provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, importProvidersFrom } from '@angular/core';\r\nimport { bootstrapApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\nimport { Routes, provideRouter, withComponentInputBinding, withHashLocation } from '@angular/router';\r\n\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\n\r\nimport { KeycloakAngularModule, KeycloakOptions } from 'keycloak-angular';\r\n\r\nimport { loadAppConfigs } from 'aril/boot/config';\r\nimport { i18nFolderName, i18nModule } from 'aril/i18n';\r\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { PluginInitializer } from './services/plugin-init.token';\r\n\r\nexport const boot = (routes: Routes, pluginInitializer: PluginInitializer, keycloakConfig: KeycloakOptions) => {\r\n\tconst appConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\tprovideRouter(routes, withComponentInputBinding(), withHashLocation()),\r\n\t\t\timportProvidersFrom(i18nModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\tpluginInitializer,\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (keycloak: KeycloakManager) => keycloak.init(keycloakConfig),\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [KeycloakManager]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadAppConfigs,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [HttpClient]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nFolderName,\r\n\t\t\t\tuseValue: 'host'\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tbootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));\r\n};\r\n","import { Injectable, inject } from '@angular/core';\nimport { Routes } from '@angular/router';\n\nimport { MenuItem } from 'primeng/api';\n\nimport {\n\tWebComponentWrapper,\n\tWebComponentWrapperOptions,\n\tstartsWith\n} from '@angular-architects/module-federation-tools';\n\nimport { CustomRemoteConfig } from 'aril/boot/config';\nimport { AppMenuService } from 'aril/theme/layout';\n\nimport { ShadowDOMWrapperComponent } from './showdowDOMWrapper';\n\n@Injectable({ providedIn: 'root' })\nexport class MicroFrontendService {\n\tprivate appMenuService = inject(AppMenuService);\n\n\tbuildRoutes(plugins: CustomRemoteConfig[]): Routes {\n\t\tconst mfeRoutes: Routes = plugins.map((config) => ({\n\t\t\tmatcher: startsWith(config.remoteName),\n\t\t\tcomponent: config.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,\n\t\t\tdata: config as WebComponentWrapperOptions\n\t\t}));\n\n\t\treturn mfeRoutes;\n\t}\n\n\tsetMenuItems(plugins: CustomRemoteConfig[]): void {\n\t\tconst menuItems: MenuItem[] = plugins.map((config) => {\n\t\t\treturn {\n\t\t\t\tlabel: config.remoteName,\n\t\t\t\ticon: 'pi pi-fw pi-bars',\n\t\t\t\trouterLink: config.remoteName\n\t\t\t};\n\t\t});\n\n\t\tthis.appMenuService.menuConfig.set({ items: menuItems });\n\t}\n}\n","export const appComponentLoader = async () => {\r\n\tconst { AppComponent } = await import('./app.component');\r\n\treturn AppComponent;\r\n};","import { APIs } from 'aril/http';\r\nimport { StyleLoaderService } from 'aril/util/loaders';\r\n\r\nexport function loadStylesheets(styleLoaderService: StyleLoaderService, appName: APIs): () => Promise<any> {\r\n\tconst styles = [\r\n\t\t'layout.css',\r\n\t\t'ui.common.css',\r\n\t\t'preloading.css',\r\n\t\t'primeng.min.css',\r\n\t\t'theme.light.indigo.css',\r\n\t\t'dx.fluent.saas.light.css',\r\n\t\t`assets/${appName}/styles/primeflex/primeflex.min.css`,\r\n\t\t`assets/${appName}/styles/primeicons/primeicons.css`\r\n\t];\r\n\r\n\tif ((<any>globalThis).isMFEMode) return () => Promise.resolve();\r\n\r\n\treturn () => styleLoaderService.load(styles);\r\n}\r\n","import { HttpClient, provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, NgZone, Type, importProvidersFrom } from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\nimport { Routes, provideRouter, withComponentInputBinding, withHashLocation } from '@angular/router';\r\n\r\nimport { ConfirmationService, MenuItem, MessageService } from 'primeng/api';\r\n\r\nimport { KeycloakAngularModule, KeycloakOptions } from 'keycloak-angular';\r\n\r\nimport { loadAppConfigs } from 'aril/boot/config';\r\nimport { APIs } from 'aril/http';\r\nimport { i18nFolderName, i18nModule } from 'aril/i18n';\r\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\r\nimport { StyleLoaderService } from 'aril/util/loaders';\r\n\r\nimport { appComponentLoader } from './appComponentLoader';\r\nimport { loadStylesheets } from './loadStyles';\r\n\r\nexport var appName: APIs | undefined;\r\nexport var menuItems: MenuItem[] = [];\r\n\r\nexport const boot = (\r\n\t_appName: APIs | undefined,\r\n\t_routes: Routes,\r\n\t_menuItems: MenuItem[],\r\n\t_keycloakOptions: KeycloakOptions,\r\n\t_federatedComponents?: { [selector: string]: Type<any> }\r\n) => {\r\n\tappName = _appName;\r\n\tmenuItems = _menuItems;\r\n\r\n\tconst appBootConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\tprovideRouter(_routes, withComponentInputBinding(), withHashLocation()),\r\n\t\t\timportProvidersFrom(i18nModule, KeycloakAngularModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t(<any>globalThis).ngZone ? { provide: NgZone, useValue: (<any>globalThis).ngZone } : [],\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (keycloak: KeycloakManager) => keycloak.init(_keycloakOptions),\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [KeycloakManager]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadStylesheets,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [StyleLoaderService, i18nFolderName]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadAppConfigs,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [HttpClient]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nFolderName,\r\n\t\t\t\tuseValue: _appName\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tcreateApplication(appBootConfig).then((appRef) => {\r\n\t\tappComponentLoader().then((AppComponent) => {\r\n\t\t\tconst app = createCustomElement(AppComponent, { injector: appRef.injector });\r\n\t\t\tcustomElements.define(`app-${appName}`, app);\r\n\r\n\t\t\tif (_federatedComponents) {\r\n\t\t\t\tObject.entries(_federatedComponents).forEach(([selector, component]) => {\r\n\t\t\t\t\tconst fdc = createCustomElement(component, { injector: appRef.injector });\r\n\t\t\t\t\tcustomElements.define(selector, fdc);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["boot"],"mappings":"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"}
package/http/index.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from './lib/enums';
2
2
  export * from './lib/interfaces';
3
3
  export * from './src/httpClient';
4
4
  export * from './src/serviceBase';
5
+ export * from './src/serviceMockBase';
5
6
  export * from './src/serviceStateMethods';
@@ -3,7 +3,8 @@ export declare enum HTTPMethods {
3
3
  GETBYPARAMS = "GETBYPARAMS",
4
4
  POST = "POST",
5
5
  PUT = "PUT",
6
- DELETE = "DELETE"
6
+ DELETE = "DELETE",
7
+ DELETEBYPARAMS = "DELETEBYPARAMS"
7
8
  }
8
9
  export declare enum APIs {
9
10
  THOR = "thor",
@@ -17,7 +18,8 @@ export declare enum APIs {
17
18
  LENA = "lena",
18
19
  HES = "hes",
19
20
  MTH = "mth",
20
- SIS = "sis"
21
+ SIS = "sis",
22
+ MNG = "mng"
21
23
  }
22
24
  export declare enum ProxyTypes {
23
25
  Native = 0,
@@ -1,10 +1,8 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { APIs } from '../lib/enums';
3
1
  import { ServiceCallStateMap } from '../lib/interfaces';
4
- export declare const API_TOKEN: InjectionToken<APIs>;
5
2
  export declare abstract class RestClient {
6
3
  private readonly httpClient;
7
- private readonly baseAPI;
8
4
  private readonly injector;
5
+ private readonly messageService;
6
+ private readonly translocoService;
9
7
  abstract states: ServiceCallStateMap<any>;
10
8
  }
@@ -1,3 +1,5 @@
1
1
  import { APIs, HTTPMethods, ProxyTypes } from '../lib/enums';
2
- export declare function ServiceCall(httpMethod: HTTPMethods, proxy: ProxyTypes, serviceURL: string, remoteAPI?: APIs): MethodDecorator;
3
- export declare function ServiceCallMock(httpMethod: HTTPMethods, proxy: ProxyTypes, serviceURL: string, mockAPI: string): MethodDecorator;
2
+ export declare function ServiceCall(httpMethod: HTTPMethods, proxy: ProxyTypes, serviceURL: string, message?: {
3
+ success?: string;
4
+ error?: string;
5
+ }, remoteAPI?: APIs): MethodDecorator;
@@ -0,0 +1,6 @@
1
+ import { HTTPMethods, ProxyTypes } from '../lib/enums';
2
+ export declare function ServiceCallMock(httpMethod: HTTPMethods, proxy: ProxyTypes, serviceURL: string, mockAPI: string, message?: {
3
+ success?: string;
4
+ error?: string;
5
+ useDefault: boolean;
6
+ }): MethodDecorator;
@@ -0,0 +1,4 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Interfaces } from 'aril/util/lib';
3
+ import { HTTPMethods } from '../lib/enums';
4
+ export declare function getRequest(httpMethod: HTTPMethods, fn: () => any, args: any[]): HttpParams | Interfaces.MapStringString | undefined;
@@ -1,4 +1,13 @@
1
+ import { HttpErrorResponse } from '@angular/common/http';
2
+ import { MessageService } from 'primeng/api';
3
+ import { TranslocoService } from '@ngneat/transloco';
1
4
  import { ServiceCallStateMap } from '../lib/interfaces';
2
5
  export declare const callState: (states: ServiceCallStateMap<any>, serviceName: any) => void;
3
- export declare const successState: (states: ServiceCallStateMap<any>, serviceName: any) => void;
4
- export declare const errorState: (states: ServiceCallStateMap<any>, serviceName: any) => void;
6
+ export declare const successState: (states: ServiceCallStateMap<any>, serviceName: any, translocoService: TranslocoService, messageService: MessageService, message?: {
7
+ success?: string;
8
+ error?: string;
9
+ }, response?: any) => void;
10
+ export declare const errorState: (states: ServiceCallStateMap<any>, serviceName: any, error: HttpErrorResponse, translocoService: TranslocoService, messageService: MessageService, message?: {
11
+ success?: string | undefined;
12
+ error?: string | undefined;
13
+ } | undefined) => void;
package/i18n/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './src/loader';
2
2
  export * from './src/provideI18n';
3
3
  export * from './src/provideScope';
4
- export * from './src/file-url-token';
4
+ export * from './src/folder-name-token';
5
5
  export * from './src/i18n.module';
@@ -0,0 +1,2 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare const i18nFolderName: InjectionToken<string>;
@@ -1,7 +1,3 @@
1
- /**
2
- * @param loader `(lang: string) => import(`./i18n/${lang}.json`)` to create a relative import to the correct dir
3
- */
4
- export declare function i18nLoaderFactory(loader: (lang: string) => Promise<any>): any;
5
1
  export declare const providei18nScope: (scopeName: string, loader: (lang: string) => Promise<any>) => {
6
2
  provide: import("@angular/core").InjectionToken<import("@ngneat/transloco").TranslocoScope>;
7
3
  useValue: import("@ngneat/transloco").TranslocoScope;
@@ -1,2 +1,3 @@
1
1
  export * from './src/keycloak.manager';
2
2
  export * from './src/auth.interceptor';
3
+ export * from './src/auth.guard';
@@ -0,0 +1,11 @@
1
+ import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
2
+ import { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';
3
+ import * as i0 from "@angular/core";
4
+ export declare class AuthGuard extends KeycloakAuthGuard {
5
+ protected readonly router: Router;
6
+ protected readonly keycloak: KeycloakService;
7
+ constructor(router: Router, keycloak: KeycloakService);
8
+ isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthGuard, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthGuard>;
11
+ }
@@ -4,6 +4,7 @@ import { KeycloakLoginOptions } from 'keycloak-js';
4
4
  import { Observable } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class KeycloakManager {
7
+ constructor();
7
8
  readonly keycloak: KeycloakService;
8
9
  private defaultOptions;
9
10
  init(options: KeycloakOptions): () => Promise<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aril",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.1.0",
6
6
  "@angular/core": "^17.1.0",
@@ -74,6 +74,12 @@
74
74
  "esm": "./esm2022/util/aril-util.mjs",
75
75
  "default": "./fesm2022/aril-util.mjs"
76
76
  },
77
+ "./boot/config": {
78
+ "types": "./boot/config/index.d.ts",
79
+ "esm2022": "./esm2022/boot/config/aril-boot-config.mjs",
80
+ "esm": "./esm2022/boot/config/aril-boot-config.mjs",
81
+ "default": "./fesm2022/aril-boot-config.mjs"
82
+ },
77
83
  "./boot/host": {
78
84
  "types": "./boot/host/index.d.ts",
79
85
  "esm2022": "./esm2022/boot/host/aril-boot-host.mjs",
@@ -236,6 +242,12 @@
236
242
  "esm": "./esm2022/ui/value/aril-ui-value.mjs",
237
243
  "default": "./fesm2022/aril-ui-value.mjs"
238
244
  },
245
+ "./util/block": {
246
+ "types": "./util/block/index.d.ts",
247
+ "esm2022": "./esm2022/util/block/aril-util-block.mjs",
248
+ "esm": "./esm2022/util/block/aril-util-block.mjs",
249
+ "default": "./fesm2022/aril-util-block.mjs"
250
+ },
239
251
  "./util/custom_pages": {
240
252
  "types": "./util/custom_pages/index.d.ts",
241
253
  "esm2022": "./esm2022/util/custom_pages/aril-util-custom_pages.mjs",
package/public-api.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  import './boot/host/index';
2
2
  import './boot/mfe/index';
3
- export declare const aril = "ARiL-UI-LIB";
@@ -0,0 +1,7 @@
1
+ "use strict";Element.prototype.matches||(Element.prototype.matches=function(t){for(var e=(this.document||this.ownerDocument).querySelectorAll(t),n=e.length;--n>=0&&e.item(n)!==this;);return n>-1}),Element.prototype.closest||(Element.prototype.closest=function(t){var e=this;if(!document.documentElement.contains(this))return null;do{if(e.matches(t))return e;e=e.parentElement}while(null!==e);return null})
2
+ /**
3
+ * ChildNode.remove() polyfill
4
+ * https://gomakethings.com/removing-an-element-from-the-dom-the-es6-way/
5
+ * @author Chris Ferdinandi
6
+ * @license MIT
7
+ */,function(t){for(var e=0;e<t.length;e++)window[t[e]]&&!("remove"in window[t[e]].prototype)&&(window[t[e]].prototype.remove=function(){this.parentNode.removeChild(this)})}(["Element","CharacterData","DocumentType"]),function(){for(var t=0,e=["webkit","moz"],n=0;n<e.length&&!window.requestAnimationFrame;++n)window.requestAnimationFrame=window[e[n]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[n]+"CancelAnimationFrame"]||window[e[n]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e){var n=(new Date).getTime(),i=Math.max(0,16-(n-t)),o=window.setTimeout((function(){e(n+i)}),i);return t=n+i,o}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(t){clearTimeout(t)})}(),[Element.prototype,Document.prototype,DocumentFragment.prototype].forEach((function(t){t.hasOwnProperty("prepend")||Object.defineProperty(t,"prepend",{configurable:!0,enumerable:!0,writable:!0,value:function(){var t=Array.prototype.slice.call(arguments),e=document.createDocumentFragment();t.forEach((function(t){var n=t instanceof Node;e.appendChild(n?t:document.createTextNode(String(t)))})),this.insertBefore(e,this.firstChild)}})})),null==Element.prototype.getAttributeNames&&(Element.prototype.getAttributeNames=function(){for(var t=this.attributes,e=t.length,n=new Array(e),i=0;i<e;i++)n[i]=t[i].name;return n}),window.KTUtilElementDataStore={},window.KTUtilElementDataStoreID=0,window.KTUtilDelegatedEventHandlers={};var KTUtil=function(){var t=[],e=function(){window.addEventListener("resize",(function(){KTUtil.throttle(undefined,(function(){!function(){for(var e=0;e<t.length;e++)t[e].call()}()}),200)}))};return{init:function(t){e()},addResizeHandler:function(e){t.push(e)},removeResizeHandler:function(e){for(var n=0;n<t.length;n++)e===t[n]&&delete t[n]},runResizeHandlers:function(){_runResizeHandlers()},resize:function(){if("function"==typeof Event)window.dispatchEvent(new Event("resize"));else{var t=window.document.createEvent("UIEvents");t.initUIEvent("resize",!0,!1,window,0),window.dispatchEvent(t)}},getURLParam:function(t){var e,n,i=window.location.search.substring(1).split("&");for(e=0;e<i.length;e++)if((n=i[e].split("="))[0]==t)return unescape(n[1]);return null},isMobileDevice:function(){var t=this.getViewPort().width<this.getBreakpoint("lg");return!1===t&&(t=null!=navigator.userAgent.match(/iPad/i)),t},isDesktopDevice:function(){return!KTUtil.isMobileDevice()},getViewPort:function(){var t=window,e="inner";return"innerWidth"in window||(e="client",t=document.documentElement||document.body),{width:t[e+"Width"],height:t[e+"Height"]}},isBreakpointUp:function(t){return this.getViewPort().width>=this.getBreakpoint(t)},isBreakpointDown:function(t){return this.getViewPort().width<this.getBreakpoint(t)},getViewportWidth:function(){return this.getViewPort().width},getUniqueId:function(t){return t+Math.floor(Math.random()*(new Date).getTime())},getBreakpoint:function(t){var e=this.getCssVariableValue("--kt-"+t);return e&&(e=parseInt(e.trim())),e},isset:function(t,e){var n;if(-1!==(e=e||"").indexOf("["))throw new Error("Unsupported object path notation.");e=e.split(".");do{if(void 0===t)return!1;if(n=e.shift(),!t.hasOwnProperty(n))return!1;t=t[n]}while(e.length);return!0},getHighestZindex:function(t){for(var e,n;t&&t!==document;){if(("absolute"===(e=KTUtil.css(t,"position"))||"relative"===e||"fixed"===e)&&(n=parseInt(KTUtil.css(t,"z-index")),!isNaN(n)&&0!==n))return n;t=t.parentNode}return 1},hasFixedPositionedParent:function(t){for(;t&&t!==document;){if("fixed"===KTUtil.css(t,"position"))return!0;t=t.parentNode}return!1},sleep:function(t){for(var e=(new Date).getTime(),n=0;n<1e7&&!((new Date).getTime()-e>t);n++);},getRandomInt:function(t,e){return Math.floor(Math.random()*(e-t+1))+t},isAngularVersion:function(){return void 0!==window.Zone},deepExtend:function(t){t=t||{};for(var e=1;e<arguments.length;e++){var n=arguments[e];if(n)for(var i in n)n.hasOwnProperty(i)&&("[object Object]"!==Object.prototype.toString.call(n[i])?t[i]=n[i]:t[i]=KTUtil.deepExtend(t[i],n[i]))}return t},extend:function(t){t=t||{};for(var e=1;e<arguments.length;e++)if(arguments[e])for(var n in arguments[e])arguments[e].hasOwnProperty(n)&&(t[n]=arguments[e][n]);return t},getBody:function(){return document.getElementsByTagName("body")[0]},hasClasses:function(t,e){if(t){for(var n=e.split(" "),i=0;i<n.length;i++)if(0==KTUtil.hasClass(t,KTUtil.trim(n[i])))return!1;return!0}},hasClass:function(t,e){if(t)return t.classList?t.classList.contains(e):new RegExp("\\b"+e+"\\b").test(t.className)},addClass:function(t,e){if(t&&void 0!==e){var n=e.split(" ");if(t.classList)for(var i=0;i<n.length;i++)n[i]&&n[i].length>0&&t.classList.add(KTUtil.trim(n[i]));else if(!KTUtil.hasClass(t,e))for(var o=0;o<n.length;o++)t.className+=" "+KTUtil.trim(n[o])}},removeClass:function(t,e){if(t&&void 0!==e){var n=e.split(" ");if(t.classList)for(var i=0;i<n.length;i++)t.classList.remove(KTUtil.trim(n[i]));else if(KTUtil.hasClass(t,e))for(var o=0;o<n.length;o++)t.className=t.className.replace(new RegExp("\\b"+KTUtil.trim(n[o])+"\\b","g"),"")}},triggerCustomEvent:function(t,e,n){var i;window.CustomEvent?i=new CustomEvent(e,{detail:n}):(i=document.createEvent("CustomEvent")).initCustomEvent(e,!0,!0,n),t.dispatchEvent(i)},triggerEvent:function(t,e){var n;if(t.ownerDocument)n=t.ownerDocument;else{if(9!=t.nodeType)throw new Error("Invalid node passed to fireEvent: "+t.id);n=t}if(t.dispatchEvent){var i="";switch(e){case"click":case"mouseenter":case"mouseleave":case"mousedown":case"mouseup":i="MouseEvents";break;case"focus":case"change":case"blur":case"select":i="HTMLEvents";break;default:throw"fireEvent: Couldn't find an event class for event '"+e+"'."}var o="change"!=e;(r=n.createEvent(i)).initEvent(e,o,!0),r.synthetic=!0,t.dispatchEvent(r,!0)}else if(t.fireEvent){var r;(r=n.createEventObject()).synthetic=!0,t.fireEvent("on"+e,r)}},index:function(t){for(var e=t.parentNode.children,n=0;n<e.length;n++)if(e[n]==t)return n},trim:function(t){return t.trim()},eventTriggered:function(t){return!!t.currentTarget.dataset.triggered||(t.currentTarget.dataset.triggered=!0,!1)},remove:function(t){t&&t.parentNode&&t.parentNode.removeChild(t)},find:function(t,e){return null!==t?t.querySelector(e):null},findAll:function(t,e){return null!==t?t.querySelectorAll(e):null},insertAfter:function(t,e){return e.parentNode.insertBefore(t,e.nextSibling)},parents:function(t,e){for(var n=[];t&&t!==document;t=t.parentNode)e?t.matches(e)&&n.push(t):n.push(t);return n},children:function(t,e,n){if(!t||!t.childNodes)return null;for(var i=[],o=0,r=t.childNodes.length;o<r;++o)1==t.childNodes[o].nodeType&&KTUtil.matches(t.childNodes[o],e,n)&&i.push(t.childNodes[o]);return i},child:function(t,e,n){var i=KTUtil.children(t,e,n);return i?i[0]:null},matches:function(t,e,n){var i=Element.prototype,o=i.matches||i.webkitMatchesSelector||i.mozMatchesSelector||i.msMatchesSelector||function(t){return-1!==[].indexOf.call(document.querySelectorAll(t),this)};return!(!t||!t.tagName)&&o.call(t,e)},data:function(t){return{set:function(e,n){t&&(void 0===t.customDataTag&&(window.KTUtilElementDataStoreID++,t.customDataTag=window.KTUtilElementDataStoreID),void 0===window.KTUtilElementDataStore[t.customDataTag]&&(window.KTUtilElementDataStore[t.customDataTag]={}),window.KTUtilElementDataStore[t.customDataTag][e]=n)},get:function(e){if(t)return void 0===t.customDataTag?null:this.has(e)?window.KTUtilElementDataStore[t.customDataTag][e]:null},has:function(e){return!!t&&(void 0!==t.customDataTag&&!(!window.KTUtilElementDataStore[t.customDataTag]||!window.KTUtilElementDataStore[t.customDataTag][e]))},remove:function(e){t&&this.has(e)&&delete window.KTUtilElementDataStore[t.customDataTag][e]}}},outerWidth:function(t,e){var n;return!0===e?(n=parseFloat(t.offsetWidth),n+=parseFloat(KTUtil.css(t,"margin-left"))+parseFloat(KTUtil.css(t,"margin-right")),parseFloat(n)):n=parseFloat(t.offsetWidth)},offset:function(t){var e,n;if(t)return t.getClientRects().length?(e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset,right:window.innerWidth-(t.offsetLeft+t.offsetWidth)}):{top:0,left:0}},height:function(t){return KTUtil.css(t,"height")},outerHeight:function(t,e){var n,i=t.offsetHeight;return void 0!==e&&!0===e?(n=getComputedStyle(t),i+=parseInt(n.marginTop)+parseInt(n.marginBottom)):i},visible:function(t){return!(0===t.offsetWidth&&0===t.offsetHeight)},isVisibleInContainer:function(t,e){const n=t.offsetTop,i=n+t.clientHeight,o=e.scrollTop,r=o+e.clientHeight;return n>=o&&i<=r||n<o&&o<i||n<r&&r<i},getRelativeTopPosition:function(t,e){return t.offsetTop-e.offsetTop},attr:function(t,e,n){if(null!=t)return void 0===n?t.getAttribute(e):void t.setAttribute(e,n)},hasAttr:function(t,e){if(null!=t)return!!t.getAttribute(e)},removeAttr:function(t,e){null!=t&&t.removeAttribute(e)},animate:function(t,e,n,i,o,r){var a={};if(a.linear=function(t,e,n,i){return n*t/i+e},o=a.linear,"number"==typeof t&&"number"==typeof e&&"number"==typeof n&&"function"==typeof i){"function"!=typeof r&&(r=function(){});var l=window.requestAnimationFrame||function(t){window.setTimeout(t,20)},s=e-t;i(t);var u=window.performance&&window.performance.now?window.performance.now():+new Date;l((function a(c){var d=(c||+new Date)-u;d>=0&&i(o(d,t,s,n)),d>=0&&d>=n?(i(e),r()):l(a)}))}},actualCss:function(t,e,n){var i,o="";if(t instanceof HTMLElement!=!1)return t.getAttribute("kt-hidden-"+e)&&!1!==n?parseFloat(t.getAttribute("kt-hidden-"+e)):(o=t.style.cssText,t.style.cssText="position: absolute; visibility: hidden; display: block;","width"==e?i=t.offsetWidth:"height"==e&&(i=t.offsetHeight),t.style.cssText=o,t.setAttribute("kt-hidden-"+e,i),parseFloat(i))},actualHeight:function(t,e){return KTUtil.actualCss(t,"height",e)},actualWidth:function(t,e){return KTUtil.actualCss(t,"width",e)},getScroll:function(t,e){return e="scroll"+e,t==window||t==document?self["scrollTop"==e?"pageYOffset":"pageXOffset"]||browserSupportsBoxModel&&document.documentElement[e]||document.body[e]:t[e]},css:function(t,e,n,i){if(t)if(void 0!==n)!0===i?t.style.setProperty(e,n,"important"):t.style[e]=n;else{var o=(t.ownerDocument||document).defaultView;if(o&&o.getComputedStyle)return e=e.replace(/([A-Z])/g,"-$1").toLowerCase(),o.getComputedStyle(t,null).getPropertyValue(e);if(t.currentStyle)return e=e.replace(/\-(\w)/g,(function(t,e){return e.toUpperCase()})),n=t.currentStyle[e],/^\d+(em|pt|%|ex)?$/i.test(n)?function(e){var n=t.style.left,i=t.runtimeStyle.left;return t.runtimeStyle.left=t.currentStyle.left,t.style.left=e||0,e=t.style.pixelLeft+"px",t.style.left=n,t.runtimeStyle.left=i,e}(n):n}},slide:function(t,e,n,i,o){if(!(!t||"up"==e&&!1===KTUtil.visible(t)||"down"==e&&!0===KTUtil.visible(t))){n=n||600;var r=KTUtil.actualHeight(t),a=!1,l=!1;KTUtil.css(t,"padding-top")&&!0!==KTUtil.data(t).has("slide-padding-top")&&KTUtil.data(t).set("slide-padding-top",KTUtil.css(t,"padding-top")),KTUtil.css(t,"padding-bottom")&&!0!==KTUtil.data(t).has("slide-padding-bottom")&&KTUtil.data(t).set("slide-padding-bottom",KTUtil.css(t,"padding-bottom")),KTUtil.data(t).has("slide-padding-top")&&(a=parseInt(KTUtil.data(t).get("slide-padding-top"))),KTUtil.data(t).has("slide-padding-bottom")&&(l=parseInt(KTUtil.data(t).get("slide-padding-bottom"))),"up"==e?(t.style.cssText="display: block; overflow: hidden;",a&&KTUtil.animate(0,a,n,(function(e){t.style.paddingTop=a-e+"px"}),"linear"),l&&KTUtil.animate(0,l,n,(function(e){t.style.paddingBottom=l-e+"px"}),"linear"),KTUtil.animate(0,r,n,(function(e){t.style.height=r-e+"px"}),"linear",(function(){t.style.height="",t.style.display="none","function"==typeof i&&i()}))):"down"==e&&(t.style.cssText="display: block; overflow: hidden;",a&&KTUtil.animate(0,a,n,(function(e){t.style.paddingTop=e+"px"}),"linear",(function(){t.style.paddingTop=""})),l&&KTUtil.animate(0,l,n,(function(e){t.style.paddingBottom=e+"px"}),"linear",(function(){t.style.paddingBottom=""})),KTUtil.animate(0,r,n,(function(e){t.style.height=e+"px"}),"linear",(function(){t.style.height="",t.style.display="",t.style.overflow="","function"==typeof i&&i()})))}},slideUp:function(t,e,n){KTUtil.slide(t,"up",e,n)},slideDown:function(t,e,n){KTUtil.slide(t,"down",e,n)},show:function(t,e){void 0!==t&&(t.style.display=e||"block")},hide:function(t){void 0!==t&&(t.style.display="none")},addEvent:function(t,e,n,i){null!=t&&t.addEventListener(e,n)},removeEvent:function(t,e,n){null!==t&&t.removeEventListener(e,n)},on:function(t,e,n,i){if(null!==t){var o=KTUtil.getUniqueId("event");return window.KTUtilDelegatedEventHandlers[o]=function(n){for(var o=t.querySelectorAll(e),r=n.target;r&&r!==t;){for(var a=0,l=o.length;a<l;a++)r===o[a]&&i.call(r,n);r=r.parentNode}},KTUtil.addEvent(t,n,window.KTUtilDelegatedEventHandlers[o]),o}},off:function(t,e,n){t&&window.KTUtilDelegatedEventHandlers[n]&&(KTUtil.removeEvent(t,e,window.KTUtilDelegatedEventHandlers[n]),delete window.KTUtilDelegatedEventHandlers[n])},one:function(t,e,n){t.addEventListener(e,(function e(i){return i.target&&i.target.removeEventListener&&i.target.removeEventListener(i.type,e),t&&t.removeEventListener&&i.currentTarget.removeEventListener(i.type,e),n(i)}))},hash:function(t){var e,n=0;if(0===t.length)return n;for(e=0;e<t.length;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;return n},animateClass:function(t,e,n){var i,o={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd",msAnimation:"msAnimationEnd"};for(var r in o)void 0!==t.style[r]&&(i=o[r]);KTUtil.addClass(t,e),KTUtil.one(t,i,(function(){KTUtil.removeClass(t,e)})),n&&KTUtil.one(t,i,n)},transitionEnd:function(t,e){var n,i={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"mozTransitionEnd",WebkitTransition:"webkitTransitionEnd",msTransition:"msTransitionEnd"};for(var o in i)void 0!==t.style[o]&&(n=i[o]);KTUtil.one(t,n,e)},animationEnd:function(t,e){var n,i={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"mozAnimationEnd",WebkitAnimation:"webkitAnimationEnd",msAnimation:"msAnimationEnd"};for(var o in i)void 0!==t.style[o]&&(n=i[o]);KTUtil.one(t,n,e)},animateDelay:function(t,e){for(var n=["webkit-","moz-","ms-","o-",""],i=0;i<n.length;i++)KTUtil.css(t,n[i]+"animation-delay",e)},animateDuration:function(t,e){for(var n=["webkit-","moz-","ms-","o-",""],i=0;i<n.length;i++)KTUtil.css(t,n[i]+"animation-duration",e)},scrollTo:function(t,e,n){n=n||500;var i,o,r=t?KTUtil.offset(t).top:0;e&&(r-=e),i=window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0,o=r,KTUtil.animate(i,o,n,(function(t){document.documentElement.scrollTop=t,document.body.parentNode.scrollTop=t,document.body.scrollTop=t}))},scrollTop:function(t,e){KTUtil.scrollTo(null,t,e)},isArray:function(t){return t&&Array.isArray(t)},isEmpty:function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0},numberString:function(t){for(var e=(t+="").split("."),n=e[0],i=e.length>1?"."+e[1]:"",o=/(\d+)(\d{3})/;o.test(n);)n=n.replace(o,"$1,$2");return n+i},isRTL:function(){return"rtl"===document.querySelector("html").getAttribute("direction")},snakeToCamel:function(t){return t.replace(/(\-\w)/g,(function(t){return t[1].toUpperCase()}))},filterBoolean:function(t){return!0===t||"true"===t||!1!==t&&"false"!==t&&t},setHTML:function(t,e){t.innerHTML=e},getHTML:function(t){if(t)return t.innerHTML},getDocumentHeight:function(){var t=document.body,e=document.documentElement;return Math.max(t.scrollHeight,t.offsetHeight,e.clientHeight,e.scrollHeight,e.offsetHeight)},getScrollTop:function(){return(document.scrollingElement||document.documentElement).scrollTop},colorLighten:function(t,e){const n=function(t,e){let n=parseInt(t,16)+e,i=n>255?255:n;return i=i.toString(16).length>1?i.toString(16):`0${i.toString(16)}`,i};return t=t.indexOf("#")>=0?t.substring(1,t.length):t,e=parseInt(255*e/100),`#${n(t.substring(0,2),e)}${n(t.substring(2,4),e)}${n(t.substring(4,6),e)}`},colorDarken:function(t,e){const n=function(t,e){let n=parseInt(t,16)-e,i=n<0?0:n;return i=i.toString(16).length>1?i.toString(16):`0${i.toString(16)}`,i};return t=t.indexOf("#")>=0?t.substring(1,t.length):t,e=parseInt(255*e/100),`#${n(t.substring(0,2),e)}${n(t.substring(2,4),e)}${n(t.substring(4,6),e)}`},throttle:function(t,e,n){t||(t=setTimeout((function(){e(),t=void 0}),n))},debounce:function(t,e,n){clearTimeout(t),t=setTimeout(e,n)},parseJson:function(t){if("string"==typeof t){var e=(t=t.replace(/'/g,'"')).replace(/(\w+:)|(\w+ :)/g,(function(t){return'"'+t.substring(0,t.length-1)+'":'}));try{t=JSON.parse(e)}catch(t){}}return t},getResponsiveValue:function(t,e){var n,i=this.getViewPort().width;if("object"==typeof(t=KTUtil.parseJson(t))){var o,r,a=-1;for(var l in t)(r="default"===l?0:this.getBreakpoint(l)?this.getBreakpoint(l):parseInt(l))<=i&&r>a&&(o=l,a=r);n=o?t[o]:t}else n=t;return n},each:function(t,e){return[].slice.call(t).map(e)},getSelectorMatchValue:function(t){var e=null;if("object"==typeof(t=KTUtil.parseJson(t))){if(void 0!==t.match){var n=Object.keys(t.match)[0];t=Object.values(t.match)[0],null!==document.querySelector(n)&&(e=t)}}else e=t;return e},getConditionalValue:function(t){t=KTUtil.parseJson(t);var e=KTUtil.getResponsiveValue(t);return null!==e&&void 0!==e.match&&(e=KTUtil.getSelectorMatchValue(e)),null===e&&null!==t&&void 0!==t.default&&(e=t.default),e},getCssVariableValue:function(t){var e=getComputedStyle(document.documentElement).getPropertyValue(t);return e&&e.length>0&&(e=e.trim()),e},isInViewport:function(t){var e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)},onDOMContentLoaded:function(t){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",t):t()},inIframe:function(){try{return window.self!==window.top}catch(t){return!0}},isHexColor:t=>/^#[0-9A-F]{6}$/i.test(t)}}();"undefined"!=typeof module&&void 0!==module.exports&&(module.exports=KTUtil);var KTEventHandler=function(){var t={},e=function(e,n,i,o){var r=KTUtil.getUniqueId("event"),a=KTUtil.data(e).get(n);return a||(a=[]),a.push(r),KTUtil.data(e).set(n,a),t[n]||(t[n]={}),t[n][r]={name:n,callback:i,one:o,fired:!1},r};return{trigger:function(e,n,i){return function(e,n,i){var o,r=!0;if(!0===KTUtil.data(e).has(n))for(var a,l=KTUtil.data(e).get(n),s=0;s<l.length;s++)if(a=l[s],t[n]&&t[n][a]){var u=t[n][a];u.name===n&&(1==u.one?0==u.fired&&(t[n][a].fired=!0,o=u.callback.call(this,i)):o=u.callback.call(this,i),!1===o&&(r=!1))}return r}(e,n,i)},on:function(t,n,i){return e(t,n,i)},one:function(t,n,i){return e(t,n,i,!0)},off:function(e,n,i){return function(e,n,i){var o=KTUtil.data(e).get(n),r=o&&o.indexOf(i);-1!==r&&(o.splice(r,1),KTUtil.data(e).set(n,o)),t[n]&&t[n][i]&&delete t[n][i]}(e,n,i)},debug:function(){for(var e in t)t.hasOwnProperty(e)&&console.log(e)}}}();"undefined"!=typeof module&&void 0!==module.exports&&(module.exports=KTEventHandler);var KTBlockUI=function(t,e){var n=this;if(null!=t){var i={zIndex:!1,overlayClass:"",overflow:"hidden",message:'<span class="spinner-border text-primary"></span>'},o=function(){n.options=KTUtil.deepExtend({},i,e),n.element=t,n.overlayElement=null,n.blocked=!1,n.positionChanged=!1,n.overflowChanged=!1,KTUtil.data(n.element).set("blockui",n)};return KTUtil.data(t).has("blockui")?n=KTUtil.data(t).get("blockui"):o(),n.block=function(){!function(){if(!1!==KTEventHandler.trigger(n.element,"kt.blockui.block",n)){var t="BODY"===n.element.tagName,e=KTUtil.css(n.element,"position"),i=KTUtil.css(n.element,"overflow"),o=t?1e4:1;n.options.zIndex>0?o=n.options.zIndex:"auto"!=KTUtil.css(n.element,"z-index")&&(o=KTUtil.css(n.element,"z-index")),n.element.classList.add("blockui"),"absolute"!==e&&"relative"!==e&&"fixed"!==e||(KTUtil.css(n.element,"position","relative"),n.positionChanged=!0),"hidden"===n.options.overflow&&"visible"===i&&(KTUtil.css(n.element,"overflow","hidden"),n.overflowChanged=!0),n.overlayElement=document.createElement("DIV"),n.overlayElement.setAttribute("class","blockui-overlay "+n.options.overlayClass),n.overlayElement.innerHTML=n.options.message,KTUtil.css(n.overlayElement,"z-index",o),n.element.append(n.overlayElement),n.blocked=!0,KTEventHandler.trigger(n.element,"kt.blockui.after.blocked",n)}}()},n.release=function(){!1!==KTEventHandler.trigger(n.element,"kt.blockui.release",n)&&(n.element.classList.add("blockui"),n.positionChanged&&KTUtil.css(n.element,"position",""),n.overflowChanged&&KTUtil.css(n.element,"overflow",""),n.overlayElement&&KTUtil.remove(n.overlayElement),n.blocked=!1,KTEventHandler.trigger(n.element,"kt.blockui.released",n))},n.isBlocked=function(){return n.blocked},n.destroy=function(){KTUtil.data(n.element).remove("blockui")},n.on=function(t,e){return KTEventHandler.on(n.element,t,e)},n.one=function(t,e){return KTEventHandler.one(n.element,t,e)},n.off=function(t,e){return KTEventHandler.off(n.element,t,e)},n.trigger=function(t,e){return KTEventHandler.trigger(n.element,t,e,n,e)},n}};KTBlockUI.getInstance=function(t){return null!==t&&KTUtil.data(t).has("blockui")?KTUtil.data(t).get("blockui"):null},"undefined"!=typeof module&&void 0!==module.exports&&(module.exports=KTBlockUI);
@@ -0,0 +1,56 @@
1
+ .blockui {
2
+ position: relative;
3
+ }
4
+
5
+ .blockui .blockui-overlay {
6
+ transition: all 0.3s ease;
7
+ position: absolute;
8
+ top: 0;
9
+ bottom: 0;
10
+ left: 0;
11
+ right: 0;
12
+ display: flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ background-color: rgba(255, 255, 255, 0.05);
16
+ }
17
+
18
+ .blockui .blockui-overlay .spinner-border {
19
+ height: 1.5rem;
20
+ width: 1.5rem;
21
+ color: #6366f1 !important;
22
+ }
23
+
24
+ .blockui .blockui-message {
25
+ display: flex;
26
+ align-items: center;
27
+ border-radius: 0.475rem;
28
+ box-shadow: 0px 0px 50px 0px rgba(82, 63, 105, 0.15);
29
+ background-color: #ffffff;
30
+ color: #92929f;
31
+ font-weight: 600;
32
+ margin: 0 !important;
33
+ width: auto;
34
+ padding: 0.85rem 1.75rem !important;
35
+ }
36
+
37
+ .blockui .blockui-message .spinner-border {
38
+ margin-right: 0.65rem;
39
+ }
40
+
41
+ @keyframes spinner-border {
42
+ to {
43
+ transform: rotate(360deg);
44
+ }
45
+ }
46
+
47
+ .spinner-border {
48
+ display: inline-block;
49
+ width: 2rem;
50
+ height: 2rem;
51
+ vertical-align: -0.125em;
52
+ border: 0.3rem solid currentcolor;
53
+ border-right-color: transparent;
54
+ border-radius: 50%;
55
+ animation: 0.65s linear infinite spinner-border;
56
+ }
@@ -1,7 +1,10 @@
1
1
  import { LayoutService } from '../../service/app.layout.service';
2
+ import { KeycloakManager } from 'aril/keycloak';
2
3
  import * as i0 from "@angular/core";
3
4
  export declare class AppProfileSidebarComponent {
4
5
  layoutService: LayoutService;
6
+ keyCloakManager: KeycloakManager;
7
+ username: any;
5
8
  constructor(layoutService: LayoutService);
6
9
  get visible(): boolean;
7
10
  set visible(_val: boolean);