@elite.framework/ng.core 2.0.22 → 2.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/README.md +3 -0
- package/components/index.d.ts +87 -0
- package/directives/index.d.ts +44 -3
- package/fesm2022/elite.framework-ng.core-abstracts.mjs +4 -4
- package/fesm2022/elite.framework-ng.core-abstracts.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-components.mjs +334 -0
- package/fesm2022/elite.framework-ng.core-components.mjs.map +1 -0
- package/fesm2022/elite.framework-ng.core-directives.mjs +203 -2
- package/fesm2022/elite.framework-ng.core-directives.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-models.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-pipes.mjs +60 -2
- package/fesm2022/elite.framework-ng.core-pipes.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-providers.mjs +7 -6
- package/fesm2022/elite.framework-ng.core-providers.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-services.mjs +182 -7
- package/fesm2022/elite.framework-ng.core-services.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-tokens.mjs +6 -1
- package/fesm2022/elite.framework-ng.core-tokens.mjs.map +1 -1
- package/fesm2022/elite.framework-ng.core-utils.mjs +20 -1
- package/fesm2022/elite.framework-ng.core-utils.mjs.map +1 -1
- package/models/index.d.ts +57 -4
- package/package.json +5 -1
- package/pipes/index.d.ts +21 -3
- package/providers/index.d.ts +2 -2
- package/services/index.d.ts +63 -5
- package/tokens/index.d.ts +6 -2
- package/utils/index.d.ts +10 -1
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, inject, isDevMode, Optional, SkipSelf, Component, Input } from '@angular/core';
|
|
3
|
+
import * as i3 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i1 from '@angular/router';
|
|
6
|
+
import { Router, ActivatedRoute, RouterOutlet } from '@angular/router';
|
|
7
|
+
import * as i2 from '@elite.framework/ng.core/services';
|
|
8
|
+
import { RoutesService, LocalizationService, ReplaceableComponentsService, SubscriptionService, RouterEvents, EnvironmentService, findRoute, getRoutePath } from '@elite.framework/ng.core/services';
|
|
9
|
+
import { DYNAMIC_LAYOUTS_TOKEN } from '@elite.framework/ng.core/tokens';
|
|
10
|
+
import { distinctUntilChanged, Subscription, combineLatest, timer } from 'rxjs';
|
|
11
|
+
|
|
12
|
+
class ComponentsModule {
|
|
13
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
14
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.8", ngImport: i0, type: ComponentsModule, imports: [CommonModule] });
|
|
15
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: ComponentsModule, imports: [CommonModule] });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
18
|
+
type: NgModule,
|
|
19
|
+
args: [{
|
|
20
|
+
imports: [CommonModule],
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
|
|
24
|
+
class DynamicLayoutComponent {
|
|
25
|
+
layout;
|
|
26
|
+
layoutKey;
|
|
27
|
+
layouts = inject(DYNAMIC_LAYOUTS_TOKEN);
|
|
28
|
+
isLayoutVisible = true;
|
|
29
|
+
router = inject(Router);
|
|
30
|
+
route = inject(ActivatedRoute);
|
|
31
|
+
routes = inject(RoutesService);
|
|
32
|
+
localizationService = inject(LocalizationService);
|
|
33
|
+
replaceableComponents = inject(ReplaceableComponentsService);
|
|
34
|
+
subscription = inject(SubscriptionService);
|
|
35
|
+
routerEvents = inject(RouterEvents);
|
|
36
|
+
environment = inject(EnvironmentService);
|
|
37
|
+
constructor(dynamicLayoutComponent) {
|
|
38
|
+
if (dynamicLayoutComponent) {
|
|
39
|
+
if (isDevMode())
|
|
40
|
+
console.warn('DynamicLayoutComponent must be used only in AppComponent.');
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.checkLayoutOnNavigationEnd();
|
|
44
|
+
this.listenToLanguageChange();
|
|
45
|
+
}
|
|
46
|
+
ngOnInit() {
|
|
47
|
+
if (this.layout) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const { oAuthConfig } = this.environment.getEnvironment();
|
|
51
|
+
if (oAuthConfig?.responseType === 'code') {
|
|
52
|
+
this.getLayout();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
checkLayoutOnNavigationEnd() {
|
|
56
|
+
const navigationEnd$ = this.routerEvents.getNavigationEvents('End');
|
|
57
|
+
this.subscription.addOne(navigationEnd$, () => this.getLayout());
|
|
58
|
+
}
|
|
59
|
+
getLayout() {
|
|
60
|
+
let expectedLayout = this.getExtractedLayout();
|
|
61
|
+
if (!expectedLayout)
|
|
62
|
+
expectedLayout = "empty" /* eLayoutType.empty */;
|
|
63
|
+
if (this.layoutKey === expectedLayout)
|
|
64
|
+
return;
|
|
65
|
+
const key = this.layouts.get(expectedLayout);
|
|
66
|
+
if (key) {
|
|
67
|
+
this.layout = this.getComponent(key)?.component;
|
|
68
|
+
this.layoutKey = expectedLayout;
|
|
69
|
+
}
|
|
70
|
+
if (!this.layout) {
|
|
71
|
+
this.showLayoutNotFoundError(expectedLayout);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
getExtractedLayout() {
|
|
75
|
+
const routeData = this.route.snapshot.data || {};
|
|
76
|
+
let expectedLayout = routeData['layout'];
|
|
77
|
+
let node = findRoute(this.routes, getRoutePath(this.router));
|
|
78
|
+
node = { parent: node };
|
|
79
|
+
while (node.parent) {
|
|
80
|
+
node = node.parent;
|
|
81
|
+
if (node.layout) {
|
|
82
|
+
expectedLayout = node.layout;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return expectedLayout;
|
|
87
|
+
}
|
|
88
|
+
showLayoutNotFoundError(layoutName) {
|
|
89
|
+
let message = `Layout ${layoutName} not found.`;
|
|
90
|
+
if (layoutName === 'account') {
|
|
91
|
+
message =
|
|
92
|
+
'Account layout not found. Please check your configuration. If you are using LeptonX, please make sure you have added "AccountLayoutModule.forRoot()" to your app.module configuration.';
|
|
93
|
+
}
|
|
94
|
+
console.warn(message);
|
|
95
|
+
}
|
|
96
|
+
listenToLanguageChange() {
|
|
97
|
+
this.subscription.addOne(this.localizationService.languageChange$, () => {
|
|
98
|
+
this.isLayoutVisible = false;
|
|
99
|
+
setTimeout(() => (this.isLayoutVisible = true), 0);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
getComponent(key) {
|
|
103
|
+
return this.replaceableComponents.get(key);
|
|
104
|
+
}
|
|
105
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
106
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: DynamicLayoutComponent, isStandalone: true, selector: "framework-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: `
|
|
107
|
+
@if (isLayoutVisible) {
|
|
108
|
+
<ng-container [ngComponentOutlet]="layout"></ng-container>
|
|
109
|
+
}
|
|
110
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }] });
|
|
111
|
+
}
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
|
|
113
|
+
type: Component,
|
|
114
|
+
args: [{
|
|
115
|
+
standalone: true,
|
|
116
|
+
imports: [CommonModule],
|
|
117
|
+
selector: 'framework-dynamic-layout',
|
|
118
|
+
template: `
|
|
119
|
+
@if (isLayoutVisible) {
|
|
120
|
+
<ng-container [ngComponentOutlet]="layout"></ng-container>
|
|
121
|
+
}
|
|
122
|
+
`,
|
|
123
|
+
providers: [SubscriptionService],
|
|
124
|
+
}]
|
|
125
|
+
}], ctorParameters: () => [{ type: DynamicLayoutComponent, decorators: [{
|
|
126
|
+
type: Optional
|
|
127
|
+
}, {
|
|
128
|
+
type: SkipSelf
|
|
129
|
+
}] }] });
|
|
130
|
+
|
|
131
|
+
class ReplaceableRouteContainerComponent {
|
|
132
|
+
route;
|
|
133
|
+
replaceable;
|
|
134
|
+
subs;
|
|
135
|
+
defaultComponent;
|
|
136
|
+
componentKey;
|
|
137
|
+
externalComponent;
|
|
138
|
+
constructor(route, replaceable, subs) {
|
|
139
|
+
this.route = route;
|
|
140
|
+
this.replaceable = replaceable;
|
|
141
|
+
this.subs = subs;
|
|
142
|
+
}
|
|
143
|
+
async ngOnInit() {
|
|
144
|
+
// pull the route data once
|
|
145
|
+
const data = this.route.snapshot.data['replaceableComponent'];
|
|
146
|
+
this.componentKey = data.key;
|
|
147
|
+
debugger;
|
|
148
|
+
// 1) initialize the defaultComponent, either eager or lazy:
|
|
149
|
+
if ('defaultLoadComponent' in data) {
|
|
150
|
+
this.defaultComponent = await data.defaultLoadComponent();
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
this.defaultComponent = data
|
|
154
|
+
.defaultComponent;
|
|
155
|
+
}
|
|
156
|
+
// 2) subscribe to overrides; they may also be lazy
|
|
157
|
+
const override$ = this.replaceable
|
|
158
|
+
.get$(this.componentKey)
|
|
159
|
+
.pipe(distinctUntilChanged());
|
|
160
|
+
this.subs.addOne(override$, async (entry) => {
|
|
161
|
+
if (!entry) {
|
|
162
|
+
this.externalComponent = undefined;
|
|
163
|
+
}
|
|
164
|
+
else if ('loadComponent' in entry) {
|
|
165
|
+
// lazy override
|
|
166
|
+
this.externalComponent = await entry.loadComponent();
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
// eager override
|
|
170
|
+
this.externalComponent = entry.component;
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ReplaceableComponentsService }, { token: i2.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: ReplaceableRouteContainerComponent, isStandalone: true, selector: "framework-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
|
|
176
|
+
<ng-container
|
|
177
|
+
*ngComponentOutlet="externalComponent || defaultComponent">
|
|
178
|
+
</ng-container>
|
|
179
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }] });
|
|
180
|
+
}
|
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
|
|
182
|
+
type: Component,
|
|
183
|
+
args: [{
|
|
184
|
+
standalone: true,
|
|
185
|
+
imports: [CommonModule],
|
|
186
|
+
selector: 'framework-replaceable-route-container',
|
|
187
|
+
template: `
|
|
188
|
+
<ng-container
|
|
189
|
+
*ngComponentOutlet="externalComponent || defaultComponent">
|
|
190
|
+
</ng-container>
|
|
191
|
+
`,
|
|
192
|
+
providers: [SubscriptionService],
|
|
193
|
+
}]
|
|
194
|
+
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.ReplaceableComponentsService }, { type: i2.SubscriptionService }] });
|
|
195
|
+
|
|
196
|
+
class RouterOutletComponent {
|
|
197
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
198
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: RouterOutletComponent, isStandalone: true, selector: "framework-router-outlet", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
199
|
+
}
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: RouterOutletComponent, decorators: [{
|
|
201
|
+
type: Component,
|
|
202
|
+
args: [{
|
|
203
|
+
standalone: true,
|
|
204
|
+
imports: [RouterOutlet],
|
|
205
|
+
selector: 'framework-router-outlet',
|
|
206
|
+
template: ` <router-outlet></router-outlet> `,
|
|
207
|
+
}]
|
|
208
|
+
}] });
|
|
209
|
+
|
|
210
|
+
class LoaderBarComponent {
|
|
211
|
+
router;
|
|
212
|
+
cdRef;
|
|
213
|
+
subscription;
|
|
214
|
+
httpWaitService;
|
|
215
|
+
routerWaitService;
|
|
216
|
+
_isLoading;
|
|
217
|
+
set isLoading(value) {
|
|
218
|
+
this._isLoading = value;
|
|
219
|
+
this.cdRef.detectChanges();
|
|
220
|
+
}
|
|
221
|
+
get isLoading() {
|
|
222
|
+
return this._isLoading;
|
|
223
|
+
}
|
|
224
|
+
containerClass = 'framework-loader-bar';
|
|
225
|
+
color = '#77b6ff';
|
|
226
|
+
progressLevel = 0;
|
|
227
|
+
interval = new Subscription();
|
|
228
|
+
timer = new Subscription();
|
|
229
|
+
intervalPeriod = 350;
|
|
230
|
+
stopDelay = 800;
|
|
231
|
+
clearProgress = () => {
|
|
232
|
+
this.progressLevel = 0;
|
|
233
|
+
this.cdRef.detectChanges();
|
|
234
|
+
};
|
|
235
|
+
reportProgress = () => {
|
|
236
|
+
if (this.progressLevel < 75) {
|
|
237
|
+
this.progressLevel += 1 + Math.random() * 9;
|
|
238
|
+
}
|
|
239
|
+
else if (this.progressLevel < 90) {
|
|
240
|
+
this.progressLevel += 0.4;
|
|
241
|
+
}
|
|
242
|
+
else if (this.progressLevel < 100) {
|
|
243
|
+
this.progressLevel += 0.1;
|
|
244
|
+
}
|
|
245
|
+
else {
|
|
246
|
+
this.interval.unsubscribe();
|
|
247
|
+
}
|
|
248
|
+
this.cdRef.detectChanges();
|
|
249
|
+
};
|
|
250
|
+
get boxShadow() {
|
|
251
|
+
return `0 0 10px rgba(${this.color}, 0.5)`;
|
|
252
|
+
}
|
|
253
|
+
constructor(router, cdRef, subscription, httpWaitService, routerWaitService) {
|
|
254
|
+
this.router = router;
|
|
255
|
+
this.cdRef = cdRef;
|
|
256
|
+
this.subscription = subscription;
|
|
257
|
+
this.httpWaitService = httpWaitService;
|
|
258
|
+
this.routerWaitService = routerWaitService;
|
|
259
|
+
}
|
|
260
|
+
ngOnInit() {
|
|
261
|
+
this.subscribeLoading();
|
|
262
|
+
}
|
|
263
|
+
subscribeLoading() {
|
|
264
|
+
this.subscription.addOne(combineLatest([this.httpWaitService.getLoading$(), this.routerWaitService.getLoading$()]), ([httpLoading, routerLoading]) => {
|
|
265
|
+
if (httpLoading || routerLoading)
|
|
266
|
+
this.startLoading();
|
|
267
|
+
else
|
|
268
|
+
this.stopLoading();
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
ngOnDestroy() {
|
|
272
|
+
this.interval.unsubscribe();
|
|
273
|
+
}
|
|
274
|
+
startLoading() {
|
|
275
|
+
if (this.isLoading || !this.interval.closed)
|
|
276
|
+
return;
|
|
277
|
+
this.isLoading = true;
|
|
278
|
+
this.progressLevel = 0;
|
|
279
|
+
this.cdRef.detectChanges();
|
|
280
|
+
this.interval = timer(0, this.intervalPeriod).subscribe(this.reportProgress);
|
|
281
|
+
this.timer.unsubscribe();
|
|
282
|
+
}
|
|
283
|
+
stopLoading() {
|
|
284
|
+
this.interval.unsubscribe();
|
|
285
|
+
this.progressLevel = 100;
|
|
286
|
+
this.isLoading = false;
|
|
287
|
+
if (!this.timer.closed)
|
|
288
|
+
return;
|
|
289
|
+
this.timer = timer(this.stopDelay).subscribe(this.clearProgress);
|
|
290
|
+
}
|
|
291
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: LoaderBarComponent, deps: [{ token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.SubscriptionService }, { token: i2.HttpWaitService }, { token: i2.RouterWaitService }], target: i0.ɵɵFactoryTarget.Component });
|
|
292
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.8", type: LoaderBarComponent, isStandalone: true, selector: "framework-loader-bar", inputs: { isLoading: "isLoading", containerClass: "containerClass", color: "color" }, providers: [SubscriptionService], ngImport: i0, template: `
|
|
293
|
+
<div id="framework-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
|
|
294
|
+
<div
|
|
295
|
+
class="framework-progress"
|
|
296
|
+
[class.progressing]="progressLevel"
|
|
297
|
+
[style.width.vw]="progressLevel"
|
|
298
|
+
[ngStyle]="{
|
|
299
|
+
'background-color': color,
|
|
300
|
+
'box-shadow': boxShadow,
|
|
301
|
+
}"
|
|
302
|
+
></div>
|
|
303
|
+
</div>
|
|
304
|
+
`, isInline: true, styles: [".framework-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.framework-loader-bar.is-loading{opacity:1;transition:none}.framework-loader-bar .framework-progress{height:3px;left:0;position:fixed;top:0}.framework-loader-bar .framework-progress.progressing{transition:width .4s ease}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
305
|
+
}
|
|
306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: LoaderBarComponent, decorators: [{
|
|
307
|
+
type: Component,
|
|
308
|
+
args: [{ standalone: true, imports: [CommonModule], selector: 'framework-loader-bar', template: `
|
|
309
|
+
<div id="framework-loader-bar" [ngClass]="containerClass" [class.is-loading]="isLoading">
|
|
310
|
+
<div
|
|
311
|
+
class="framework-progress"
|
|
312
|
+
[class.progressing]="progressLevel"
|
|
313
|
+
[style.width.vw]="progressLevel"
|
|
314
|
+
[ngStyle]="{
|
|
315
|
+
'background-color': color,
|
|
316
|
+
'box-shadow': boxShadow,
|
|
317
|
+
}"
|
|
318
|
+
></div>
|
|
319
|
+
</div>
|
|
320
|
+
`, providers: [SubscriptionService], styles: [".framework-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.framework-loader-bar.is-loading{opacity:1;transition:none}.framework-loader-bar .framework-progress{height:3px;left:0;position:fixed;top:0}.framework-loader-bar .framework-progress.progressing{transition:width .4s ease}\n"] }]
|
|
321
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i0.ChangeDetectorRef }, { type: i2.SubscriptionService }, { type: i2.HttpWaitService }, { type: i2.RouterWaitService }], propDecorators: { isLoading: [{
|
|
322
|
+
type: Input
|
|
323
|
+
}], containerClass: [{
|
|
324
|
+
type: Input
|
|
325
|
+
}], color: [{
|
|
326
|
+
type: Input
|
|
327
|
+
}] } });
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Generated bundle index. Do not edit.
|
|
331
|
+
*/
|
|
332
|
+
|
|
333
|
+
export { ComponentsModule, DynamicLayoutComponent, LoaderBarComponent, ReplaceableRouteContainerComponent, RouterOutletComponent };
|
|
334
|
+
//# sourceMappingURL=elite.framework-ng.core-components.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elite.framework-ng.core-components.mjs","sources":["../tmp-esm2022/components/lib/components-module.js","../tmp-esm2022/components/lib/dynamic-layout.component.js","../tmp-esm2022/components/lib/replaceable-route-container.component.js","../tmp-esm2022/components/lib/router-outlet.component.js","../tmp-esm2022/components/lib/loader-bar.component.js","../tmp-esm2022/components/elite.framework-ng.core-components.js"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from \"@angular/core\";\nexport class ComponentsModule {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\n static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.8\", ngImport: i0, type: ComponentsModule, imports: [CommonModule] });\n static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: ComponentsModule, imports: [CommonModule] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: ComponentsModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [CommonModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUsvQyxNQUFNLE9BQU8sZ0JBQWdCO3VHQUFoQixnQkFBZ0I7d0dBQWhCLGdCQUFnQixZQUZqQixZQUFZO3dHQUVYLGdCQUFnQixZQUZqQixZQUFZOzsyRkFFWCxnQkFBZ0I7a0JBSDVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50c01vZHVsZSB7fVxuIl19","import { Component, inject, isDevMode, Optional, SkipSelf } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { SubscriptionService, RoutesService, LocalizationService, ReplaceableComponentsService, RouterEvents, EnvironmentService, findRoute, getRoutePath } from '@elite.framework/ng.core/services';\nimport { DYNAMIC_LAYOUTS_TOKEN } from '@elite.framework/ng.core/tokens';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class DynamicLayoutComponent {\n layout;\n layoutKey;\n layouts = inject(DYNAMIC_LAYOUTS_TOKEN);\n isLayoutVisible = true;\n router = inject(Router);\n route = inject(ActivatedRoute);\n routes = inject(RoutesService);\n localizationService = inject(LocalizationService);\n replaceableComponents = inject(ReplaceableComponentsService);\n subscription = inject(SubscriptionService);\n routerEvents = inject(RouterEvents);\n environment = inject(EnvironmentService);\n constructor(dynamicLayoutComponent) {\n if (dynamicLayoutComponent) {\n if (isDevMode())\n console.warn('DynamicLayoutComponent must be used only in AppComponent.');\n return;\n }\n this.checkLayoutOnNavigationEnd();\n this.listenToLanguageChange();\n }\n ngOnInit() {\n if (this.layout) {\n return;\n }\n const { oAuthConfig } = this.environment.getEnvironment();\n if (oAuthConfig?.responseType === 'code') {\n this.getLayout();\n }\n }\n checkLayoutOnNavigationEnd() {\n const navigationEnd$ = this.routerEvents.getNavigationEvents('End');\n this.subscription.addOne(navigationEnd$, () => this.getLayout());\n }\n getLayout() {\n let expectedLayout = this.getExtractedLayout();\n if (!expectedLayout)\n expectedLayout = \"empty\" /* eLayoutType.empty */;\n if (this.layoutKey === expectedLayout)\n return;\n const key = this.layouts.get(expectedLayout);\n if (key) {\n this.layout = this.getComponent(key)?.component;\n this.layoutKey = expectedLayout;\n }\n if (!this.layout) {\n this.showLayoutNotFoundError(expectedLayout);\n }\n }\n getExtractedLayout() {\n const routeData = this.route.snapshot.data || {};\n let expectedLayout = routeData['layout'];\n let node = findRoute(this.routes, getRoutePath(this.router));\n node = { parent: node };\n while (node.parent) {\n node = node.parent;\n if (node.layout) {\n expectedLayout = node.layout;\n break;\n }\n }\n return expectedLayout;\n }\n showLayoutNotFoundError(layoutName) {\n let message = `Layout ${layoutName} not found.`;\n if (layoutName === 'account') {\n message =\n 'Account layout not found. Please check your configuration. If you are using LeptonX, please make sure you have added \"AccountLayoutModule.forRoot()\" to your app.module configuration.';\n }\n console.warn(message);\n }\n listenToLanguageChange() {\n this.subscription.addOne(this.localizationService.languageChange$, () => {\n this.isLayoutVisible = false;\n setTimeout(() => (this.isLayoutVisible = true), 0);\n });\n }\n getComponent(key) {\n return this.replaceableComponents.get(key);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.8\", type: DynamicLayoutComponent, isStandalone: true, selector: \"framework-dynamic-layout\", providers: [SubscriptionService], ngImport: i0, template: `\n @if (isLayoutVisible) {\n <ng-container [ngComponentOutlet]=\"layout\"></ng-container>\n }\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: DynamicLayoutComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n imports: [CommonModule],\n selector: 'framework-dynamic-layout',\n template: `\n @if (isLayoutVisible) {\n <ng-container [ngComponentOutlet]=\"layout\"></ng-container>\n }\n `,\n providers: [SubscriptionService],\n }]\n }], ctorParameters: () => [{ type: DynamicLayoutComponent, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy5jb3JlL2NvbXBvbmVudHMvc3JjL2xpYi9keW5hbWljLWxheW91dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFVLFFBQVEsRUFBRSxRQUFRLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSw0QkFBNEIsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JNLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFjeEUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxNQUFNLENBQWtCO0lBQ3hCLFNBQVMsQ0FBZTtJQUNmLE9BQU8sR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNqRCxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBRUosTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixLQUFLLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0IsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEQscUJBQXFCLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDN0QsWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxD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SSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7WUFDdEUsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7WUFDN0IsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsR0FBVztRQUM5QixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQzt1R0FoR1Usc0JBQXNCOzJGQUF0QixzQkFBc0IsdUVBRnRCLENBQUMsbUJBQW1CLENBQUMsMEJBTHRCOzs7O0dBSVQsMkRBTlEsWUFBWTs7MkZBU1Ysc0JBQXNCO2tCQVhsQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUMsQ0FBQyxZQUFZLENBQUM7b0JBQ3RCLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO2lCQUNqQzs7MEJBZ0JjLFFBQVE7OzBCQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaXNEZXZNb2RlLCBPbkluaXQsIE9wdGlvbmFsLCBTa2lwU2VsZiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgZUxheW91dFR5cGUsIFJlcGxhY2VhYmxlQ29tcG9uZW50cywgUm91dGUgfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLmNvcmUvbW9kZWxzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UsIFJvdXRlc1NlcnZpY2UsIExvY2FsaXphdGlvblNlcnZpY2UsIFJlcGxhY2VhYmxlQ29tcG9uZW50c1NlcnZpY2UsIFJvdXRlckV2ZW50cywgRW52aXJvbm1lbnRTZXJ2aWNlLCBmaW5kUm91dGUsIGdldFJvdXRlUGF0aCB9IGZyb20gJ0BlbGl0ZS5mcmFtZXdvcmsvbmcuY29yZS9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBEWU5BTUlDX0xBWU9VVFNfVE9LRU4gfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLmNvcmUvdG9rZW5zJztcbmltcG9ydCB7IFRyZWVOb2RlIH0gZnJvbSAnQGVsaXRlLmZyYW1ld29yay9uZy5jb3JlL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6W0NvbW1vbk1vZHVsZV0sXG4gIHNlbGVjdG9yOiAnZnJhbWV3b3JrLWR5bmFtaWMtbGF5b3V0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGlzTGF5b3V0VmlzaWJsZSkge1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdDb21wb25lbnRPdXRsZXRdPVwibGF5b3V0XCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuICBgLFxuICBwcm92aWRlcnM6IFtTdWJzY3JpcHRpb25TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxheW91dD86IFR5cGU8YW55PiB8YW55O1xuICBsYXlvdXRLZXk/OiBlTGF5b3V0VHlwZTtcbiAgcmVhZG9ubHkgbGF5b3V0cyA9IGluamVjdChEWU5BTUlDX0xBWU9VVFNfVE9LRU4pO1xuICBpc0xheW91dFZpc2libGUgPSB0cnVlO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlcyA9IGluamVjdChSb3V0ZXNTZXJ2aWNlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsaXphdGlvblNlcnZpY2UgPSBpbmplY3QoTG9jYWxpemF0aW9uU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSByZXBsYWNlYWJsZUNvbXBvbmVudHMgPSBpbmplY3QoUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzdWJzY3JpcHRpb24gPSBpbmplY3QoU3Vic2NyaXB0aW9uU2VydmljZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXJFdmVudHMgPSBpbmplY3QoUm91dGVyRXZlbnRzKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVudmlyb25tZW50ID0gaW5qZWN0KEVudmlyb25tZW50U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgZHluYW1pY0xheW91dENvbXBvbmVudDogRHluYW1pY0xheW91dENvbXBvbmVudCkge1xuXG4gICAgaWYgKGR5bmFtaWNMYXlvdXRDb21wb25lbnQpIHtcbiAgICAgIGlmIChpc0Rldk1vZGUoKSkgY29uc29sZS53YXJuKCdEeW5hbWljTGF5b3V0Q29tcG9uZW50IG11c3QgYmUgdXNlZCBvbmx5IGluIEFwcENvbXBvbmVudC4nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5jaGVja0xheW91dE9uTmF2aWdhdGlvbkVuZCgpO1xuICAgIHRoaXMubGlzdGVuVG9MYW5ndWFnZUNoYW5nZSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGF5b3V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBvQXV0aENvbmZpZyB9ID0gdGhpcy5lbnZpcm9ubWVudC5nZXRFbnZpcm9ubWVudCgpO1xuICAgIGlmIChvQXV0aENvbmZpZz8ucmVzcG9uc2VUeXBlID09PSAnY29kZScpIHtcbiAgICAgIHRoaXMuZ2V0TGF5b3V0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGVja0xheW91dE9uTmF2aWdhdGlvbkVuZCgpIHtcbiAgICBjb25zdCBuYXZpZ2F0aW9uRW5kJCA9IHRoaXMucm91dGVyRXZlbnRzLmdldE5hdmlnYXRpb25FdmVudHMoJ0VuZCcpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZE9uZShuYXZpZ2F0aW9uRW5kJCwgKCkgPT4gdGhpcy5nZXRMYXlvdXQoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldExheW91dCgpIHtcblxuICAgIGxldCBleHBlY3RlZExheW91dCA9IHRoaXMuZ2V0RXh0cmFjdGVkTGF5b3V0KCk7XG5cbiAgICBpZiAoIWV4cGVjdGVkTGF5b3V0KSBleHBlY3RlZExheW91dCA9IGVMYXlvdXRUeXBlLmVtcHR5O1xuXG4gICAgaWYgKHRoaXMubGF5b3V0S2V5ID09PSBleHBlY3RlZExheW91dCkgcmV0dXJuO1xuXG4gICAgY29uc3Qga2V5ID0gdGhpcy5sYXlvdXRzLmdldChleHBlY3RlZExheW91dCk7XG4gICAgaWYgKGtleSkge1xuICAgICAgdGhpcy5sYXlvdXQgPSB0aGlzLmdldENvbXBvbmVudChrZXkpPy5jb21wb25lbnQ7XG5cbiAgICAgIHRoaXMubGF5b3V0S2V5ID0gZXhwZWN0ZWRMYXlvdXQ7XG4gICAgfVxuICAgIGlmICghdGhpcy5sYXlvdXQpIHtcbiAgICAgIHRoaXMuc2hvd0xheW91dE5vdEZvdW5kRXJyb3IoZXhwZWN0ZWRMYXlvdXQpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXh0cmFjdGVkTGF5b3V0KCkge1xuICAgIGNvbnN0IHJvdXRlRGF0YSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YSB8fCB7fTtcbiAgICBsZXQgZXhwZWN0ZWRMYXlvdXQgPSByb3V0ZURhdGFbJ2xheW91dCddIGFzIGVMYXlvdXRUeXBlO1xuXG4gICAgbGV0IG5vZGUgPSBmaW5kUm91dGUodGhpcy5yb3V0ZXMsIGdldFJvdXRlUGF0aCh0aGlzLnJvdXRlcikpO1xuICAgIG5vZGUgPSB7IHBhcmVudDogbm9kZSB9IGFzIFRyZWVOb2RlPFJvdXRlPjtcblxuICAgIHdoaWxlIChub2RlLnBhcmVudCkge1xuICAgICAgbm9kZSA9IG5vZGUucGFyZW50O1xuXG4gICAgICBpZiAobm9kZS5sYXlvdXQpIHtcbiAgICAgICAgZXhwZWN0ZWRMYXlvdXQgPSBub2RlLmxheW91dDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBleHBlY3RlZExheW91dDtcbiAgfVxuXG4gIHNob3dMYXlvdXROb3RGb3VuZEVycm9yKGxheW91dE5hbWU6IHN0cmluZykge1xuICAgIGxldCBtZXNzYWdlID0gYExheW91dCAke2xheW91dE5hbWV9IG5vdCBmb3VuZC5gO1xuICAgIGlmIChsYXlvdXROYW1lID09PSAnYWNjb3VudCcpIHtcbiAgICAgIG1lc3NhZ2UgPVxuICAgICAgICAnQWNjb3VudCBsYXlvdXQgbm90IGZvdW5kLiBQbGVhc2UgY2hlY2sgeW91ciBjb25maWd1cmF0aW9uLiBJZiB5b3UgYXJlIHVzaW5nIExlcHRvblgsIHBsZWFzZSBtYWtlIHN1cmUgeW91IGhhdmUgYWRkZWQgXCJBY2NvdW50TGF5b3V0TW9kdWxlLmZvclJvb3QoKVwiIHRvIHlvdXIgYXBwLm1vZHVsZSBjb25maWd1cmF0aW9uLic7XG4gICAgfVxuICAgIGNvbnNvbGUud2FybihtZXNzYWdlKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVG9MYW5ndWFnZUNoYW5nZSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGRPbmUodGhpcy5sb2NhbGl6YXRpb25TZXJ2aWNlLmxhbmd1YWdlQ2hhbmdlJCwgKCkgPT4ge1xuICAgICAgdGhpcy5pc0xheW91dFZpc2libGUgPSBmYWxzZTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaXNMYXlvdXRWaXNpYmxlID0gdHJ1ZSksIDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnQoa2V5OiBzdHJpbmcpOiBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUmVwbGFjZWFibGVDb21wb25lbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLnJlcGxhY2VhYmxlQ29tcG9uZW50cy5nZXQoa2V5KTtcbiAgfVxufVxuIl19","import { Component } from '@angular/core';\nimport { distinctUntilChanged } from 'rxjs';\nimport { ActivatedRoute } from '@angular/router';\nimport { CommonModule } from '@angular/common';\nimport { SubscriptionService, ReplaceableComponentsService } from '@elite.framework/ng.core/services';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@elite.framework/ng.core/services\";\nimport * as i3 from \"@angular/common\";\nexport class ReplaceableRouteContainerComponent {\n route;\n replaceable;\n subs;\n defaultComponent;\n componentKey;\n externalComponent;\n constructor(route, replaceable, subs) {\n this.route = route;\n this.replaceable = replaceable;\n this.subs = subs;\n }\n async ngOnInit() {\n // pull the route data once\n const data = this.route.snapshot.data['replaceableComponent'];\n this.componentKey = data.key;\n debugger;\n // 1) initialize the defaultComponent, either eager or lazy:\n if ('defaultLoadComponent' in data) {\n this.defaultComponent = await data.defaultLoadComponent();\n }\n else {\n this.defaultComponent = data\n .defaultComponent;\n }\n // 2) subscribe to overrides; they may also be lazy\n const override$ = this.replaceable\n .get$(this.componentKey)\n .pipe(distinctUntilChanged());\n this.subs.addOne(override$, async (entry) => {\n if (!entry) {\n this.externalComponent = undefined;\n }\n else if ('loadComponent' in entry) {\n // lazy override\n this.externalComponent = await entry.loadComponent();\n }\n else {\n // eager override\n this.externalComponent = entry.component;\n }\n });\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.ReplaceableComponentsService }, { token: i2.SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: ReplaceableRouteContainerComponent, isStandalone: true, selector: \"framework-replaceable-route-container\", providers: [SubscriptionService], ngImport: i0, template: `\n <ng-container\n *ngComponentOutlet=\"externalComponent || defaultComponent\">\n </ng-container>\n `, isInline: true, dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i3.NgComponentOutlet, selector: \"[ngComponentOutlet]\", inputs: [\"ngComponentOutlet\", \"ngComponentOutletInputs\", \"ngComponentOutletInjector\", \"ngComponentOutletEnvironmentInjector\", \"ngComponentOutletContent\", \"ngComponentOutletNgModule\", \"ngComponentOutletNgModuleFactory\"], exportAs: [\"ngComponentOutlet\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n imports: [CommonModule],\n selector: 'framework-replaceable-route-container',\n template: `\n <ng-container\n *ngComponentOutlet=\"externalComponent || defaultComponent\">\n </ng-container>\n `,\n providers: [SubscriptionService],\n }]\n }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.ReplaceableComponentsService }, { type: i2.SubscriptionService }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZWFibGUtcm91dGUtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9jb21wb25lbnRzL3NyYy9saWIvcmVwbGFjZWFibGUtcm91dGUtY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFhdEcsTUFBTSxPQUFPLGtDQUFrQztJQU1uQztJQUNBO0lBQ0E7SUFQVixnQkFBZ0IsQ0FBaUI7SUFDakMsWUFBWSxDQUFVO0lBQ3RCLGlCQUFpQixDQUFpQjtJQUVsQyxZQUNVLEtBQXFCLEVBQ3JCLFdBQXlDLEVBQ3pDLElBQXlCO1FBRnpCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGdCQUFXLEdBQVgsV0FBVyxDQUE4QjtRQUN6QyxTQUFJLEdBQUosSUFBSSxDQUFxQjtJQUNoQyxDQUFDO0lBRUosS0FBSyxDQUFDLFFBQVE7UUFDWiwyQkFBMkI7UUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBRVo7UUFFakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzdCLFFBQVEsQ0FBQTtRQUNSLDREQUE0RDtRQUM1RCxJQUFJLHNCQUFzQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGdCQUFnQixHQUFJLElBQTZDO2lCQUNuRSxnQkFBZ0IsQ0FBQztRQUN0QixDQUFDO1FBRUQsbURBQW1EO1FBQ25ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXO2FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQ3ZCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxLQUFLLEVBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFNBQVMsQ0FBQztZQUNyQyxDQUFDO2lCQUFNLElBQUksZUFBZSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNwQyxnQkFBZ0I7Z0JBQ2hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLEtBQUssQ0FBQyxhQUFjLEVBQUUsQ0FBQztZQUN4RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04saUJBQWlCO2dCQUNqQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUMzQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3VHQTNDVSxrQ0FBa0M7MkZBQWxDLGtDQUFrQyxvRkFGbEMsQ0FBQyxtQkFBbUIsQ0FBQywwQkFMdEI7Ozs7R0FJVCwyREFOUyxZQUFZOzsyRkFTWCxrQ0FBa0M7a0JBWDlDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsUUFBUSxFQUFFLHVDQUF1QztvQkFDakQsUUFBUSxFQUFFOzs7O0dBSVQ7b0JBQ0QsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgUmVwbGFjZWFibGVDb21wb25lbnRzIH0gZnJvbSAnQGVsaXRlLmZyYW1ld29yay9uZy5jb3JlL21vZGVscyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25TZXJ2aWNlLCBSZXBsYWNlYWJsZUNvbXBvbmVudHNTZXJ2aWNlIH0gZnJvbSAnQGVsaXRlLmZyYW1ld29yay9uZy5jb3JlL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZyYW1ld29yay1yZXBsYWNlYWJsZS1yb3V0ZS1jb250YWluZXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cImV4dGVybmFsQ29tcG9uZW50IHx8IGRlZmF1bHRDb21wb25lbnRcIj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBbU3Vic2NyaXB0aW9uU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIFJlcGxhY2VhYmxlUm91dGVDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkZWZhdWx0Q29tcG9uZW50ITogVHlwZTx1bmtub3duPjtcbiAgY29tcG9uZW50S2V5ITogc3RyaW5nO1xuICBleHRlcm5hbENvbXBvbmVudD86IFR5cGU8dW5rbm93bj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZXBsYWNlYWJsZTogUmVwbGFjZWFibGVDb21wb25lbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHN1YnM6IFN1YnNjcmlwdGlvblNlcnZpY2UsXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAvLyBwdWxsIHRoZSByb3V0ZSBkYXRhIG9uY2VcbiAgICBjb25zdCBkYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhWydyZXBsYWNlYWJsZUNvbXBvbmVudCddXG4gICAgIC8qICBhcyBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUm91dGVEYXRhPGFueT5cbiAgICAgICB8IFJlcGxhY2VhYmxlQ29tcG9uZW50cy5Sb3V0ZURhdGFMYXp5PGFueT4gKi87XG5cbiAgICB0aGlzLmNvbXBvbmVudEtleSA9IGRhdGEua2V5O1xuICAgIGRlYnVnZ2VyXG4gICAgLy8gMSkgaW5pdGlhbGl6ZSB0aGUgZGVmYXVsdENvbXBvbmVudCwgZWl0aGVyIGVhZ2VyIG9yIGxhenk6XG4gICAgaWYgKCdkZWZhdWx0TG9hZENvbXBvbmVudCcgaW4gZGF0YSkge1xuICAgICAgdGhpcy5kZWZhdWx0Q29tcG9uZW50ID0gYXdhaXQgZGF0YS5kZWZhdWx0TG9hZENvbXBvbmVudCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlZmF1bHRDb21wb25lbnQgPSAoZGF0YSBhcyBSZXBsYWNlYWJsZUNvbXBvbmVudHMuUm91dGVEYXRhPGFueT4pXG4gICAgICAgIC5kZWZhdWx0Q29tcG9uZW50O1xuICAgIH1cblxuICAgIC8vIDIpIHN1YnNjcmliZSB0byBvdmVycmlkZXM7IHRoZXkgbWF5IGFsc28gYmUgbGF6eVxuICAgIGNvbnN0IG92ZXJyaWRlJCA9IHRoaXMucmVwbGFjZWFibGVcbiAgICAgIC5nZXQkKHRoaXMuY29tcG9uZW50S2V5KVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG5cbiAgICB0aGlzLnN1YnMuYWRkT25lKG92ZXJyaWRlJCwgYXN5bmMgZW50cnkgPT4ge1xuICAgICAgaWYgKCFlbnRyeSkge1xuICAgICAgICB0aGlzLmV4dGVybmFsQ29tcG9uZW50ID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIGlmICgnbG9hZENvbXBvbmVudCcgaW4gZW50cnkpIHtcbiAgICAgICAgLy8gbGF6eSBvdmVycmlkZVxuICAgICAgICB0aGlzLmV4dGVybmFsQ29tcG9uZW50ID0gYXdhaXQgZW50cnkubG9hZENvbXBvbmVudCEoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGVhZ2VyIG92ZXJyaWRlXG4gICAgICAgIHRoaXMuZXh0ZXJuYWxDb21wb25lbnQgPSBlbnRyeS5jb21wb25lbnQ7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\nimport * as i0 from \"@angular/core\";\nexport class RouterOutletComponent {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RouterOutletComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: RouterOutletComponent, isStandalone: true, selector: \"framework-router-outlet\", ngImport: i0, template: ` <router-outlet></router-outlet> `, isInline: true, dependencies: [{ kind: \"directive\", type: RouterOutlet, selector: \"router-outlet\", inputs: [\"name\", \"routerOutletData\"], outputs: [\"activate\", \"deactivate\", \"attach\", \"detach\"], exportAs: [\"outlet\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: RouterOutletComponent, decorators: [{\n type: Component,\n args: [{\n standalone: true,\n imports: [RouterOutlet],\n selector: 'framework-router-outlet',\n template: ` <router-outlet></router-outlet> `,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW91dGxldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvY29tcG9uZW50cy9zcmMvbGliL3JvdXRlci1vdXRsZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVEvQyxNQUFNLE9BQU8scUJBQXFCO3VHQUFyQixxQkFBcUI7MkZBQXJCLHFCQUFxQixtRkFGdEIsbUNBQW1DLDREQUZwQyxZQUFZOzsyRkFJVixxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBQyxDQUFDLFlBQVksQ0FBQztvQkFDdEIsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFLG1DQUFtQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6W1JvdXRlck91dGxldF0sXG4gIHNlbGVjdG9yOiAnZnJhbWV3b3JrLXJvdXRlci1vdXRsZXQnLFxuICB0ZW1wbGF0ZTogYCA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+IGAsXG59KVxuZXhwb3J0IGNsYXNzIFJvdXRlck91dGxldENvbXBvbmVudCB7fVxuIl19","import { CommonModule } from '@angular/common';\nimport { ChangeDetectorRef, Component, Input } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { SubscriptionService, HttpWaitService, RouterWaitService } from '@elite.framework/ng.core/services';\nimport { combineLatest, Subscription, timer } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\nimport * as i2 from \"@elite.framework/ng.core/services\";\nimport * as i3 from \"@angular/common\";\nexport class LoaderBarComponent {\n router;\n cdRef;\n subscription;\n httpWaitService;\n routerWaitService;\n _isLoading;\n set isLoading(value) {\n this._isLoading = value;\n this.cdRef.detectChanges();\n }\n get isLoading() {\n return this._isLoading;\n }\n containerClass = 'framework-loader-bar';\n color = '#77b6ff';\n progressLevel = 0;\n interval = new Subscription();\n timer = new Subscription();\n intervalPeriod = 350;\n stopDelay = 800;\n clearProgress = () => {\n this.progressLevel = 0;\n this.cdRef.detectChanges();\n };\n reportProgress = () => {\n if (this.progressLevel < 75) {\n this.progressLevel += 1 + Math.random() * 9;\n }\n else if (this.progressLevel < 90) {\n this.progressLevel += 0.4;\n }\n else if (this.progressLevel < 100) {\n this.progressLevel += 0.1;\n }\n else {\n this.interval.unsubscribe();\n }\n this.cdRef.detectChanges();\n };\n get boxShadow() {\n return `0 0 10px rgba(${this.color}, 0.5)`;\n }\n constructor(router, cdRef, subscription, httpWaitService, routerWaitService) {\n this.router = router;\n this.cdRef = cdRef;\n this.subscription = subscription;\n this.httpWaitService = httpWaitService;\n this.routerWaitService = routerWaitService;\n }\n ngOnInit() {\n this.subscribeLoading();\n }\n subscribeLoading() {\n this.subscription.addOne(combineLatest([this.httpWaitService.getLoading$(), this.routerWaitService.getLoading$()]), ([httpLoading, routerLoading]) => {\n if (httpLoading || routerLoading)\n this.startLoading();\n else\n this.stopLoading();\n });\n }\n ngOnDestroy() {\n this.interval.unsubscribe();\n }\n startLoading() {\n if (this.isLoading || !this.interval.closed)\n return;\n this.isLoading = true;\n this.progressLevel = 0;\n this.cdRef.detectChanges();\n this.interval = timer(0, this.intervalPeriod).subscribe(this.reportProgress);\n this.timer.unsubscribe();\n }\n stopLoading() {\n this.interval.unsubscribe();\n this.progressLevel = 100;\n this.isLoading = false;\n if (!this.timer.closed)\n return;\n this.timer = timer(this.stopDelay).subscribe(this.clearProgress);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: LoaderBarComponent, deps: [{ token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.SubscriptionService }, { token: i2.HttpWaitService }, { token: i2.RouterWaitService }], target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.8\", type: LoaderBarComponent, isStandalone: true, selector: \"framework-loader-bar\", inputs: { isLoading: \"isLoading\", containerClass: \"containerClass\", color: \"color\" }, providers: [SubscriptionService], ngImport: i0, template: `\n <div id=\"framework-loader-bar\" [ngClass]=\"containerClass\" [class.is-loading]=\"isLoading\">\n <div\n class=\"framework-progress\"\n [class.progressing]=\"progressLevel\"\n [style.width.vw]=\"progressLevel\"\n [ngStyle]=\"{\n 'background-color': color,\n 'box-shadow': boxShadow,\n }\"\n ></div>\n </div>\n `, isInline: true, styles: [\".framework-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.framework-loader-bar.is-loading{opacity:1;transition:none}.framework-loader-bar .framework-progress{height:3px;left:0;position:fixed;top:0}.framework-loader-bar .framework-progress.progressing{transition:width .4s ease}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i3.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i3.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }] });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.8\", ngImport: i0, type: LoaderBarComponent, decorators: [{\n type: Component,\n args: [{ standalone: true, imports: [CommonModule], selector: 'framework-loader-bar', template: `\n <div id=\"framework-loader-bar\" [ngClass]=\"containerClass\" [class.is-loading]=\"isLoading\">\n <div\n class=\"framework-progress\"\n [class.progressing]=\"progressLevel\"\n [style.width.vw]=\"progressLevel\"\n [ngStyle]=\"{\n 'background-color': color,\n 'box-shadow': boxShadow,\n }\"\n ></div>\n </div>\n `, providers: [SubscriptionService], styles: [\".framework-loader-bar{left:0;opacity:0;position:fixed;top:0;transition:opacity .4s linear .4s;z-index:99999}.framework-loader-bar.is-loading{opacity:1;transition:none}.framework-loader-bar .framework-progress{height:3px;left:0;position:fixed;top:0}.framework-loader-bar .framework-progress.progressing{transition:width .4s ease}\\n\"] }]\n }], ctorParameters: () => [{ type: i1.Router }, { type: i0.ChangeDetectorRef }, { type: i2.SubscriptionService }, { type: i2.HttpWaitService }, { type: i2.RouterWaitService }], propDecorators: { isLoading: [{\n type: Input\n }], containerClass: [{\n type: Input\n }], color: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLmNvcmUvY29tcG9uZW50cy9zcmMvbGliL2xvYWRlci1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBc0IxRCxNQUFNLE9BQU8sa0JBQWtCO0lBbURuQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBdERBLFVBQVUsQ0FBVztJQUUvQixJQUNJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBR0QsY0FBYyxHQUFHLHNCQUFzQixDQUFDO0lBR3hDLEtBQUssR0FBRyxTQUFTLENBQUM7SUFFbEIsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUVsQixRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUU5QixLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUUzQixjQUFjLEdBQUcsR0FBRyxDQUFDO0lBRXJCLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFFQyxh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QUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRSxDQUFDO3VHQS9GVSxrQkFBa0I7MkZBQWxCLGtCQUFrQix5SkFGbEIsQ0FBQyxtQkFBbUIsQ0FBQywwQkFkdEI7Ozs7Ozs7Ozs7OztHQVlULG1aQWRRLFlBQVk7OzJGQWtCVixrQkFBa0I7a0JBcEI5QixTQUFTO2lDQUNJLElBQUksV0FDUixDQUFDLFlBQVksQ0FBQyxZQUNaLHNCQUFzQixZQUN0Qjs7Ozs7Ozs7Ozs7O0dBWVQsYUFFVSxDQUFDLG1CQUFtQixDQUFDOzJNQU01QixTQUFTO3NCQURaLEtBQUs7Z0JBVU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvblNlcnZpY2UsIEh0dHBXYWl0U2VydmljZSwgUm91dGVyV2FpdFNlcnZpY2UgfSBmcm9tICdAZWxpdGUuZnJhbWV3b3JrL25nLmNvcmUvc2VydmljZXMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czpbQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdmcmFtZXdvcmstbG9hZGVyLWJhcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBpZD1cImZyYW1ld29yay1sb2FkZXItYmFyXCIgW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3NcIiBbY2xhc3MuaXMtbG9hZGluZ109XCJpc0xvYWRpbmdcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJmcmFtZXdvcmstcHJvZ3Jlc3NcIlxuICAgICAgICBbY2xhc3MucHJvZ3Jlc3NpbmddPVwicHJvZ3Jlc3NMZXZlbFwiXG4gICAgICAgIFtzdHlsZS53aWR0aC52d109XCJwcm9ncmVzc0xldmVsXCJcbiAgICAgICAgW25nU3R5bGVdPVwie1xuICAgICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogY29sb3IsXG4gICAgICAgICAgJ2JveC1zaGFkb3cnOiBib3hTaGFkb3csXG4gICAgICAgIH1cIlxuICAgICAgPjwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZVVybHM6IFsnLi9sb2FkZXItYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1N1YnNjcmlwdGlvblNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkZXJCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIHByb3RlY3RlZCBfaXNMb2FkaW5nITogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBzZXQgaXNMb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNMb2FkaW5nID0gdmFsdWU7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbiAgZ2V0IGlzTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNMb2FkaW5nO1xuICB9XG5cbiAgQElucHV0KClcbiAgY29udGFpbmVyQ2xhc3MgPSAnZnJhbWV3b3JrLWxvYWRlci1iYXInO1xuXG4gIEBJbnB1dCgpXG4gIGNvbG9yID0gJyM3N2I2ZmYnO1xuXG4gIHByb2dyZXNzTGV2ZWwgPSAwO1xuXG4gIGludGVydmFsID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHRpbWVyID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGludGVydmFsUGVyaW9kID0gMzUwO1xuXG4gIHN0b3BEZWxheSA9IDgwMDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNsZWFyUHJvZ3Jlc3MgPSAoKSA9PiB7XG4gICAgdGhpcy5wcm9ncmVzc0xldmVsID0gMDtcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlcG9ydFByb2dyZXNzID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnByb2dyZXNzTGV2ZWwgPCA3NSkge1xuICAgICAgdGhpcy5wcm9ncmVzc0xldmVsICs9IDEgKyBNYXRoLnJhbmRvbSgpICogOTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvZ3Jlc3NMZXZlbCA8IDkwKSB7XG4gICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gMC40O1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9ncmVzc0xldmVsIDwgMTAwKSB7XG4gICAgICB0aGlzLnByb2dyZXNzTGV2ZWwgKz0gMC4xO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmludGVydmFsLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9O1xuXG4gIGdldCBib3hTaGFkb3coKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYDAgMCAxMHB4IHJnYmEoJHt0aGlzLmNvbG9yfSwgMC41KWA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgaHR0cFdhaXRTZXJ2aWNlOiBIdHRwV2FpdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXJXYWl0U2VydmljZTogUm91dGVyV2FpdFNlcnZpY2UsXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN1YnNjcmliZUxvYWRpbmcoKTtcbiAgfVxuXG4gIHN1YnNjcmliZUxvYWRpbmcoKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkT25lKFxuICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5odHRwV2FpdFNlcnZpY2UuZ2V0TG9hZGluZyQoKSwgdGhpcy5yb3V0ZXJXYWl0U2VydmljZS5nZXRMb2FkaW5nJCgpXSksXG4gICAgICAoW2h0dHBMb2FkaW5nLCByb3V0ZXJMb2FkaW5nXSkgPT4ge1xuICAgICAgICBpZiAoaHR0cExvYWRpbmcgfHwgcm91dGVyTG9hZGluZykgdGhpcy5zdGFydExvYWRpbmcoKTtcbiAgICAgICAgZWxzZSB0aGlzLnN0b3BMb2FkaW5nKCk7XG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmludGVydmFsLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBzdGFydExvYWRpbmcoKSB7XG4gICAgaWYgKHRoaXMuaXNMb2FkaW5nIHx8ICF0aGlzLmludGVydmFsLmNsb3NlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgIHRoaXMucHJvZ3Jlc3NMZXZlbCA9IDA7XG4gICAgdGhpcy5jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgdGhpcy5pbnRlcnZhbCA9IHRpbWVyKDAsIHRoaXMuaW50ZXJ2YWxQZXJpb2QpLnN1YnNjcmliZSh0aGlzLnJlcG9ydFByb2dyZXNzKTtcbiAgICB0aGlzLnRpbWVyLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBzdG9wTG9hZGluZygpIHtcbiAgICB0aGlzLmludGVydmFsLnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLnByb2dyZXNzTGV2ZWwgPSAxMDA7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIGlmICghdGhpcy50aW1lci5jbG9zZWQpIHJldHVybjtcblxuICAgIHRoaXMudGltZXIgPSB0aW1lcih0aGlzLnN0b3BEZWxheSkuc3Vic2NyaWJlKHRoaXMuY2xlYXJQcm9ncmVzcyk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpdGUuZnJhbWV3b3JrLW5nLmNvcmUtY29tcG9uZW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcuY29yZS9jb21wb25lbnRzL3NyYy9lbGl0ZS5mcmFtZXdvcmstbmcuY29yZS1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1"],"mappings":"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"}
|