@mediusinc/mng-commons-layout 7.0.0-rc.1 → 7.0.0-rc.3
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/fesm2022/mediusinc-mng-commons-layout-components-pages-error.mjs +3 -3
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-error.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-main-lazy.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-main.mjs +4 -4
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-main.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-not-found.mjs +3 -3
- package/fesm2022/mediusinc-mng-commons-layout-components-pages-not-found.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout-components.mjs +33 -33
- package/fesm2022/mediusinc-mng-commons-layout-components.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-layout.mjs +9 -9
- package/fesm2022/mediusinc-mng-commons-layout.mjs.map +1 -1
- package/package.json +13 -13
- package/version-info.json +6 -6
|
@@ -195,10 +195,10 @@ class LayoutService {
|
|
|
195
195
|
}
|
|
196
196
|
return this.config?.menuMode ?? 'static';
|
|
197
197
|
}
|
|
198
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
199
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
198
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
199
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LayoutService }); }
|
|
200
200
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LayoutService, decorators: [{
|
|
202
202
|
type: Injectable
|
|
203
203
|
}], ctorParameters: () => [] });
|
|
204
204
|
|
|
@@ -308,10 +308,10 @@ class MenuService {
|
|
|
308
308
|
eventType: 'reset'
|
|
309
309
|
});
|
|
310
310
|
}
|
|
311
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
312
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
311
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
312
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MenuService }); }
|
|
313
313
|
}
|
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MenuService, decorators: [{
|
|
315
315
|
type: Injectable
|
|
316
316
|
}] });
|
|
317
317
|
|
|
@@ -346,10 +346,10 @@ class VersionService {
|
|
|
346
346
|
}
|
|
347
347
|
return this.cache[url].asObservable();
|
|
348
348
|
}
|
|
349
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
350
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
349
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
350
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VersionService }); }
|
|
351
351
|
}
|
|
352
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
352
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VersionService, decorators: [{
|
|
353
353
|
type: Injectable
|
|
354
354
|
}] });
|
|
355
355
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediusinc-mng-commons-layout.mjs","sources":["../tmp-esm2022/lib/helpers/menu-items.js","../tmp-esm2022/lib/services/layout-feature-config.token.js","../tmp-esm2022/lib/services/layout.service.js","../tmp-esm2022/lib/services/menu.service.js","../tmp-esm2022/lib/services/version.service.js","../tmp-esm2022/lib/provide.js","../tmp-esm2022/index.js","../tmp-esm2022/mediusinc-mng-commons-layout.js"],"sourcesContent":["import { computed, signal } from '@angular/core';\n/**\n * @internal\n */\nexport function prepareMenuItemsToInternal(menuItems, parentKey = '') {\n const newItems = menuItems.map((item, idx) => {\n const itemsProp = signal([], ...(ngDevMode ? [{ debugName: \"itemsProp\" }] : []));\n const lazyChildrenProp = signal(item.lazyChildren ?? false, ...(ngDevMode ? [{ debugName: \"lazyChildrenProp\" }] : []));\n const hasItemsProp = computed(() => itemsProp().length > 0, ...(ngDevMode ? [{ debugName: \"hasItemsProp\" }] : []));\n const newItem = {\n ...item,\n isVisible: item.isVisible,\n key: parentKey ? parentKey + '-' + idx : idx.toString(),\n config: item,\n items: itemsProp,\n lazyChildren: lazyChildrenProp,\n itemsVisibility: signal([]),\n hasItems: hasItemsProp,\n hasItemsOrLazyChildren: computed(() => lazyChildrenProp() || hasItemsProp())\n };\n if (Array.isArray(item.items) && item.items.length > 0) {\n newItem.items.set(prepareMenuItemsToInternal(item.items, newItem.key));\n newItem.itemsVisibility.set(newItem.items()?.map(() => signal(true)));\n }\n return newItem;\n });\n return newItems;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9tZW51LWl0ZW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSS9DOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUFDLFNBQTRCLEVBQUUsU0FBUyxHQUFHLEVBQUU7SUFDbkYsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUN6QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQTRCLEVBQUUscURBQUMsQ0FBQztRQUN4RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssNERBQUMsQ0FBQztRQUM1RCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsd0RBQUMsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBNEI7WUFDckMsR0FBRyxJQUFJO1lBQ1AsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFO1lBQ3ZELE1BQU0sRUFBRSxJQUFJO1lBQ1osS0FBSyxFQUFFLFNBQVM7WUFDaEIsWUFBWSxFQUFFLGdCQUFnQjtZQUM5QixlQUFlLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzQixRQUFRLEVBQUUsWUFBWTtZQUN0QixzQkFBc0IsRUFBRSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxZQUFZLEVBQUUsQ0FBQztTQUMvRSxDQUFDO1FBRUYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDb21tb25zTWVudUl0ZW0sIEludGVybmFsQ29tbW9uc01lbnVJdGVtfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZU1lbnVJdGVtc1RvSW50ZXJuYWwobWVudUl0ZW1zOiBDb21tb25zTWVudUl0ZW1bXSwgcGFyZW50S2V5ID0gJycpOiBJbnRlcm5hbENvbW1vbnNNZW51SXRlbVtdIHtcbiAgICBjb25zdCBuZXdJdGVtcyA9IG1lbnVJdGVtcy5tYXAoKGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtc1Byb3AgPSBzaWduYWw8SW50ZXJuYWxDb21tb25zTWVudUl0ZW1bXT4oW10pO1xuICAgICAgICBjb25zdCBsYXp5Q2hpbGRyZW5Qcm9wID0gc2lnbmFsKGl0ZW0ubGF6eUNoaWxkcmVuID8/IGZhbHNlKTtcbiAgICAgICAgY29uc3QgaGFzSXRlbXNQcm9wID0gY29tcHV0ZWQoKCkgPT4gaXRlbXNQcm9wKCkubGVuZ3RoID4gMCk7XG4gICAgICAgIGNvbnN0IG5ld0l0ZW06IEludGVybmFsQ29tbW9uc01lbnVJdGVtID0ge1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIGlzVmlzaWJsZTogaXRlbS5pc1Zpc2libGUsXG4gICAgICAgICAgICBrZXk6IHBhcmVudEtleSA/IHBhcmVudEtleSArICctJyArIGlkeCA6IGlkeC50b1N0cmluZygpLFxuICAgICAgICAgICAgY29uZmlnOiBpdGVtLFxuICAgICAgICAgICAgaXRlbXM6IGl0ZW1zUHJvcCxcbiAgICAgICAgICAgIGxhenlDaGlsZHJlbjogbGF6eUNoaWxkcmVuUHJvcCxcbiAgICAgICAgICAgIGl0ZW1zVmlzaWJpbGl0eTogc2lnbmFsKFtdKSxcbiAgICAgICAgICAgIGhhc0l0ZW1zOiBoYXNJdGVtc1Byb3AsXG4gICAgICAgICAgICBoYXNJdGVtc09yTGF6eUNoaWxkcmVuOiBjb21wdXRlZCgoKSA9PiBsYXp5Q2hpbGRyZW5Qcm9wKCkgfHwgaGFzSXRlbXNQcm9wKCkpXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS5pdGVtcykgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBuZXdJdGVtLml0ZW1zLnNldChwcmVwYXJlTWVudUl0ZW1zVG9JbnRlcm5hbChpdGVtLml0ZW1zLCBuZXdJdGVtLmtleSkpO1xuICAgICAgICAgICAgbmV3SXRlbS5pdGVtc1Zpc2liaWxpdHkuc2V0KG5ld0l0ZW0uaXRlbXMoKT8ubWFwKCgpID0+IHNpZ25hbCh0cnVlKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld0l0ZW07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3SXRlbXM7XG59XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const COMMONS_LAYOUT_FEATURE_CONFIG_IT = new InjectionToken('COMMONS_LAYOUT_FEATURE_CONFIG');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQStGbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsSUFBSSxjQUFjLENBQXNCLCtCQUErQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtNZW51SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5leHBvcnQgdHlwZSBMYXlvdXRNZW51TW9kZSA9ICdzdGF0aWMnIHwgJ292ZXJsYXknIHwgJ3JldmVhbCcgfCAnZHJhd2VyJyB8ICdzbGltJyB8ICdzbGltLXBsdXMnO1xuXG5leHBvcnQgdHlwZSBDb2xvclNjaGVtZSA9ICdsaWdodCcgfCAnZGFyaycgfCAnYXV0byc7XG5cbi8qKlxuICogU2V0IG9mIGNvbmZpZ3VyYXRpb25zIGZvciBsYXlvdXQgY3VzdG9taXphdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRGZWF0dXJlQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBDaG9vc2UgZGVmYXVsdCBtZW51IG1vZGUuXG4gICAgICovXG4gICAgbWVudU1vZGU/OiBMYXlvdXRNZW51TW9kZTtcbiAgICAvKipcbiAgICAgKiBTZXRzIGF2YWlsYWJsZSBtZW51IG1vZGVzLlxuICAgICAqL1xuICAgIG1lbnVNb2Rlcz86IExheW91dE1lbnVNb2RlW107XG4gICAgLyoqXG4gICAgICogUHJlZGVmaW5lcyBtZW51IG1vZGVzIChpbnN0ZWFkIG9mIHRha2luZyB0aGVtIGZyb20gcm91dGUgZGF0YSBjb25maWcpLlxuICAgICAqL1xuICAgIG1lbnVJdGVtcz86IE1lbnVJdGVtW107XG4gICAgLyoqXG4gICAgICogTG9nbyBwYXRoICh1c3VhbGx5IGljb24gcGFydCBvbmx5KS5cbiAgICAgKi9cbiAgICBsb2dvUGF0aD86IHN0cmluZyB8IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIExvZ28gcGF0aCBmb3IgbGlnaHQgY29sb3IgbW9kZSAodXN1YWxseSBpY29uIHBhcnQgb25seSkuXG4gICAgICovXG4gICAgbG9nb1BhdGhMaWdodD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMb2dvIHBhdGggZm9yIGRhcmsgY29sb3IgbW9kZSAodXN1YWxseSBpY29uIHBhcnQgb25seSkuXG4gICAgICovXG4gICAgbG9nb1BhdGhEYXJrPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExvZ28gcGF0aCAodXN1YWxseSBuYW1lIHBhcnQgb25seSkuXG4gICAgICovXG4gICAgbG9nb05hbWVQYXRoPzogc3RyaW5nIHwgZmFsc2U7XG4gICAgLyoqXG4gICAgICogTG9nbyBwYXRoIGZvciBsaWdodCBjb2xvciBtb2RlICh1c3VhbGx5IG5hbWUgcGFydCBvbmx5KS5cbiAgICAgKi9cbiAgICBsb2dvTmFtZVBhdGhMaWdodD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMb2dvIHBhdGggZm9yIGRhcmsgY29sb3IgbW9kZSAodXN1YWxseSBuYW1lIHBhcnQgb25seSkuXG4gICAgICovXG4gICAgbG9nb05hbWVQYXRoRGFyaz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGNvbG9yIHNjaGVtZSAoZGVmYXVsdHMgdG8gJ2F1dG8nKS5cbiAgICAgKi9cbiAgICBjb2xvclNjaGVtZT86IENvbG9yU2NoZW1lO1xuICAgIC8qKlxuICAgICAqIEVuYWJsZSByaXBwbGUgZWZmZWN0LlxuICAgICAqL1xuICAgIHJpcHBsZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogRGlzYWJsZXMgd3JhcHBpbmcgbGF5b3V0IGluIG5vdGlmaWNhdGlvbiB3cmFwcGVyLlxuICAgICAqL1xuICAgIGRpc2FibGVOb3RpZmljYXRpb25XcmFwcGVyPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBTZXQgY3VzdG9tIGNvbXBvbmVudHMgaW5zdGVhZCBvZiBkZWZhdWx0IGxheW91dCdzIG9uZS4gSWYgZmFsc2UgcHJvdmlkZWQgZm9yIGNvbXBvbmVudCwgdGhlbiBpdCB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQuXG4gICAgICovXG4gICAgY29tcG9uZW50cz86IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNwZWNpZnkgY3VzdG9tIHRvcGJhciBjb21wb25lbnQgb3IgZGlzYWJsZSAoaWYgZmFsc2UpLlxuICAgICAgICAgKi9cbiAgICAgICAgdG9wYmFyPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSBtZW51IGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICBtZW51PzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSBmb290ZXIgY29tcG9uZW50IG9yIGRpc2FibGUgKGlmIGZhbHNlKS5cbiAgICAgICAgICovXG4gICAgICAgIGZvb3Rlcj86IFR5cGU8YW55PiB8IGZhbHNlO1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBjdXN0b20gYnJlYWRjcnVtYiBjb21wb25lbnQgb3IgZGlzYWJsZSAoaWYgZmFsc2UpLlxuICAgICAgICAgKi9cbiAgICAgICAgYnJlYWRjcnVtYj86IFR5cGU8YW55PiB8IGZhbHNlO1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBjdXN0b20gdG9wYmFyVXNlciBjb21wb25lbnQgb3IgZGlzYWJsZSAoaWYgZmFsc2UpLlxuICAgICAgICAgKi9cbiAgICAgICAgdG9wYmFyVXNlcj86IFR5cGU8YW55PiB8IGZhbHNlO1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBjdXN0b20gdmVyc2lvbiBjb21wb25lbnQgb3IgZGlzYWJsZSAoaWYgZmFsc2UpLlxuICAgICAgICAgKi9cbiAgICAgICAgdmVyc2lvbj86IFR5cGU8YW55PiB8IGZhbHNlO1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBjdXN0b20gc2V0dGluZ3MgY29tcG9uZW50IG9yIGRpc2FibGUgKGlmIGZhbHNlKS5cbiAgICAgICAgICovXG4gICAgICAgIHNldHRpbmdzPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lUID0gbmV3IEluamVjdGlvblRva2VuPExheW91dEZlYXR1cmVDb25maWc+KCdDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJRycpO1xuIl19","import { Injectable, afterNextRender, computed, effect, inject, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { CommonsStorageService } from '@mediusinc/mng-commons/core';\nimport { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from './layout-feature-config.token';\nimport * as i0 from \"@angular/core\";\nexport class LayoutService {\n getInitColorScheme() {\n let colorScheme = this.storageService.getItem(this.typeName, this.storageColorSchemeKey);\n if (colorScheme == null || !['dark', 'light', 'auto'].includes(colorScheme)) {\n colorScheme = this.getDefaultColorScheme();\n }\n return colorScheme;\n }\n getInitActualColorScheme(colorScheme) {\n if (colorScheme === 'auto') {\n return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n }\n else {\n return colorScheme;\n }\n }\n getDefaultColorScheme() {\n return this.config?.colorScheme ?? 'auto';\n }\n setColorScheme(scheme) {\n const defaultColorScheme = this.getDefaultColorScheme();\n if (scheme === defaultColorScheme) {\n this.storageService.removeItem(this.typeName, this.storageColorSchemeKey);\n }\n else {\n this.storageService.setItem(this.typeName, this.storageColorSchemeKey, scheme);\n }\n this._colorSchemeSetting.set(scheme);\n this._colorScheme.set(this.getInitActualColorScheme(scheme));\n }\n constructor() {\n this.typeName = 'MainLayoutComponentService';\n this.storageMenuModeKey = 'menuMode';\n this.storageColorSchemeKey = 'colorScheme';\n this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });\n this.storageService = inject(CommonsStorageService);\n this.state = signal({\n staticMenuDesktopInactive: false,\n overlayMenuActive: false,\n rightMenuActive: false,\n configSidebarVisible: false,\n staticMenuMobileActive: false,\n menuHoverActive: false,\n sidebarActive: false,\n anchored: false\n }, ...(ngDevMode ? [{ debugName: \"state\" }] : []));\n this.overlayOpen = new Subject();\n this.overlayOpen$ = this.overlayOpen.asObservable();\n // color scheme\n this._colorSchemeSetting = signal(this.getInitColorScheme(), ...(ngDevMode ? [{ debugName: \"_colorSchemeSetting\" }] : []));\n this.colorSchemeSetting = this._colorSchemeSetting.asReadonly();\n this._colorScheme = signal(this.getInitActualColorScheme(this.colorSchemeSetting()), ...(ngDevMode ? [{ debugName: \"_colorScheme\" }] : []));\n this.colorScheme = this._colorScheme.asReadonly();\n this.colorSchemeIsLight = computed(() => this._colorScheme() === 'light', ...(ngDevMode ? [{ debugName: \"colorSchemeIsLight\" }] : []));\n // menu mode\n this.menuModes = this.config?.menuModes ?? ['static', 'overlay', 'reveal', 'drawer', 'slim', 'slim-plus'];\n this._menuMode = signal(this.initMenuMode(), ...(ngDevMode ? [{ debugName: \"_menuMode\" }] : []));\n this.menuMode = this._menuMode.asReadonly();\n // logos\n this.appLogoLight = signal(this.config?.logoPathLight ?? this.config?.logoPath ?? 'assets/layout/images/logo.png', ...(ngDevMode ? [{ debugName: \"appLogoLight\" }] : []));\n this.appLogoDark = signal(this.config?.logoPathLight ?? this.config?.logoPath ?? 'assets/layout/images/logo.png', ...(ngDevMode ? [{ debugName: \"appLogoDark\" }] : []));\n this.appLogo = computed(() => (this.colorSchemeIsLight() ? this.appLogoLight() : this.appLogoDark()), ...(ngDevMode ? [{ debugName: \"appLogo\" }] : []));\n this.appLogoNameLight = signal(this.config?.logoNamePathLight ?? this.config?.logoNamePath ?? 'assets/layout/images/logo-appname.png', ...(ngDevMode ? [{ debugName: \"appLogoNameLight\" }] : []));\n this.appLogoNameDark = signal(this.config?.logoNamePathDark ?? this.config?.logoNamePath ?? 'assets/layout/images/logo-appname.png', ...(ngDevMode ? [{ debugName: \"appLogoNameDark\" }] : []));\n this.appLogoName = computed(() => (this.colorSchemeIsLight() ? this.appLogoNameLight() : this.appLogoNameDark()), ...(ngDevMode ? [{ debugName: \"appLogoName\" }] : []));\n // overlays\n this.isOverlay = computed(() => this.menuMode() === 'overlay', ...(ngDevMode ? [{ debugName: \"isOverlay\" }] : []));\n this.isSlim = computed(() => this.menuMode() === 'slim', ...(ngDevMode ? [{ debugName: \"isSlim\" }] : []));\n this.isSlimPlus = computed(() => this.menuMode() === 'slim-plus', ...(ngDevMode ? [{ debugName: \"isSlimPlus\" }] : []));\n // used for managing the submenu dropdown overlay in slim and slim+ layouts\n this.submenuOverlayKey = signal(undefined, ...(ngDevMode ? [{ debugName: \"submenuOverlayKey\" }] : []));\n afterNextRender(() => {\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {\n if (this.colorSchemeSetting() === 'auto') {\n const newColorScheme = event.matches ? 'dark' : 'light';\n this._colorScheme.set(newColorScheme);\n }\n });\n });\n effect(() => {\n const colorScheme = this._colorScheme();\n const themeEl = document.documentElement;\n if (colorScheme === 'dark' && !themeEl.classList.contains('app-dark')) {\n themeEl.classList.add('app-dark');\n }\n else if (colorScheme === 'light' && themeEl.classList.contains('app-dark')) {\n themeEl.classList.remove('app-dark');\n }\n // TODO: check\n // const linkElement = this.document.getElementById('app-theme') as HTMLLinkElement | undefined;\n // if (colorScheme === 'dark' && linkElement?.href.includes('light')) {\n // linkElement.href = 'theme-dark.css';\n // } else if (colorScheme === 'light' && linkElement?.href.includes('dark')) {\n // linkElement.href = 'theme-light.css';\n // }\n });\n }\n onMenuModeChange(mode) {\n if (!this.menuModes.includes(mode)) {\n return;\n }\n if (mode === this.config?.menuMode) {\n this.storageService.removeItem(this.typeName, this.storageMenuModeKey);\n }\n else {\n this.storageService.setItem(this.typeName, this.storageMenuModeKey, mode);\n }\n this._menuMode.set(mode);\n }\n onMenuToggle() {\n if (this.isOverlay()) {\n this.state.update(state => ({\n ...state,\n overlayMenuActive: !state.overlayMenuActive\n }));\n if (this.state().overlayMenuActive) {\n this.overlayOpen.next(null);\n }\n }\n if (this.isDesktop()) {\n this.state.update(state => ({\n ...state,\n staticMenuDesktopInactive: !state.staticMenuDesktopInactive\n }));\n }\n else {\n this.state.update(state => ({\n ...state,\n staticMenuMobileActive: !state.staticMenuMobileActive\n }));\n if (this.state().staticMenuMobileActive) {\n this.overlayOpen.next(null);\n }\n }\n }\n onOverlaySubmenuOpen(key) {\n if (this.submenuOverlayKey() === key) {\n return;\n }\n this.submenuOverlayKey.set(key);\n this.overlayOpen.next(null);\n }\n onOverlaySubmenuClose() {\n this.submenuOverlayKey.set(undefined);\n }\n isDesktop() {\n return window.innerWidth > 991;\n }\n isMobile() {\n return !this.isDesktop();\n }\n initMenuMode() {\n const lsMode = this.storageService.getItem(this.typeName, this.storageMenuModeKey);\n if (lsMode && this.menuModes.includes(lsMode)) {\n return lsMode;\n }\n return this.config?.menuMode ?? 'static';\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: LayoutService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: LayoutService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU1RixPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRTdCLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBR2xFLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBOEIsTUFBTSwrQkFBK0IsQ0FBQzs7QUFHNUcsTUFBTSxPQUFPLGFBQWE7SUE2QmQsa0JBQWtCO1FBQ3RCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFjLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdEcsSUFBSSxXQUFXLElBQUksSUFBSSxJQUFJLENBQUUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBbUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUM3RixXQUFXLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3ZCLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxXQUF3QjtRQUNyRCxJQUFJLFdBQVcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUN6QixPQUFPLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDN0csQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLFdBQVcs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LE1BQU0sQ0FBQztRQUNsQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsSUFBSSxRQUFRLENBQUM7SUFDN0MsQ0FBQzs4R0FsTFEsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBhZnRlck5leHRSZW5kZXIsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtDb21tb25zU3RvcmFnZVNlcnZpY2V9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7TGF5b3V0U3RhdGV9IGZyb20gJy4uL21vZGVscy9sYXlvdXQtc3RhdGUubW9kZWwnO1xuaW1wb3J0IHtDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVCwgQ29sb3JTY2hlbWUsIExheW91dE1lbnVNb2RlfSBmcm9tICcuL2xheW91dC1mZWF0dXJlLWNvbmZpZy50b2tlbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHR5cGVOYW1lID0gJ01haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlJztcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VNZW51TW9kZUtleSA9ICdtZW51TW9kZSc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlQ29sb3JTY2hlbWVLZXkgPSAnY29sb3JTY2hlbWUnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoQ29tbW9uc1N0b3JhZ2VTZXJ2aWNlKTtcblxuICAgIHB1YmxpYyBzdGF0ZSA9IHNpZ25hbDxMYXlvdXRTdGF0ZT4oe1xuICAgICAgICBzdGF0aWNNZW51RGVza3RvcEluYWN0aXZlOiBmYWxzZSxcbiAgICAgICAgb3ZlcmxheU1lbnVBY3RpdmU6IGZhbHNlLFxuICAgICAgICByaWdodE1lbnVBY3RpdmU6IGZhbHNlLFxuICAgICAgICBjb25maWdTaWRlYmFyVmlzaWJsZTogZmFsc2UsXG4gICAgICAgIHN0YXRpY01lbnVNb2JpbGVBY3RpdmU6IGZhbHNlLFxuICAgICAgICBtZW51SG92ZXJBY3RpdmU6IGZhbHNlLFxuICAgICAgICBzaWRlYmFyQWN0aXZlOiBmYWxzZSxcbiAgICAgICAgYW5jaG9yZWQ6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBwcml2YXRlIG92ZXJsYXlPcGVuID0gbmV3IFN1YmplY3Q8YW55PigpO1xuICAgIHB1YmxpYyBvdmVybGF5T3BlbiQgPSB0aGlzLm92ZXJsYXlPcGVuLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLy8gY29sb3Igc2NoZW1lXG4gICAgcHJpdmF0ZSBfY29sb3JTY2hlbWVTZXR0aW5nID0gc2lnbmFsKHRoaXMuZ2V0SW5pdENvbG9yU2NoZW1lKCkpO1xuICAgIHB1YmxpYyBjb2xvclNjaGVtZVNldHRpbmcgPSB0aGlzLl9jb2xvclNjaGVtZVNldHRpbmcuYXNSZWFkb25seSgpO1xuICAgIHByaXZhdGUgX2NvbG9yU2NoZW1lID0gc2lnbmFsPEV4Y2x1ZGU8Q29sb3JTY2hlbWUsICdzeXN0ZW0nPj4odGhpcy5nZXRJbml0QWN0dWFsQ29sb3JTY2hlbWUodGhpcy5jb2xvclNjaGVtZVNldHRpbmcoKSkpO1xuICAgIHB1YmxpYyBjb2xvclNjaGVtZSA9IHRoaXMuX2NvbG9yU2NoZW1lLmFzUmVhZG9ubHkoKTtcbiAgICBwdWJsaWMgY29sb3JTY2hlbWVJc0xpZ2h0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY29sb3JTY2hlbWUoKSA9PT0gJ2xpZ2h0Jyk7XG5cbiAgICBwcml2YXRlIGdldEluaXRDb2xvclNjaGVtZSgpOiBDb2xvclNjaGVtZSB7XG4gICAgICAgIGxldCBjb2xvclNjaGVtZSA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0SXRlbTxDb2xvclNjaGVtZT4odGhpcy50eXBlTmFtZSwgdGhpcy5zdG9yYWdlQ29sb3JTY2hlbWVLZXkpO1xuICAgICAgICBpZiAoY29sb3JTY2hlbWUgPT0gbnVsbCB8fCAhKFsnZGFyaycsICdsaWdodCcsICdhdXRvJ10gYXMgQ29sb3JTY2hlbWVbXSkuaW5jbHVkZXMoY29sb3JTY2hlbWUpKSB7XG4gICAgICAgICAgICBjb2xvclNjaGVtZSA9IHRoaXMuZ2V0RGVmYXVsdENvbG9yU2NoZW1lKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbG9yU2NoZW1lO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SW5pdEFjdHVhbENvbG9yU2NoZW1lKGNvbG9yU2NoZW1lOiBDb2xvclNjaGVtZSk6IEV4Y2x1ZGU8Q29sb3JTY2hlbWUsICdzeXN0ZW0nPiB7XG4gICAgICAgIGlmIChjb2xvclNjaGVtZSA9PT0gJ2F1dG8nKSB7XG4gICAgICAgICAgICByZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEgJiYgd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKS5tYXRjaGVzID8gJ2RhcmsnIDogJ2xpZ2h0JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb2xvclNjaGVtZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdENvbG9yU2NoZW1lKCk6IENvbG9yU2NoZW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnPy5jb2xvclNjaGVtZSA/PyAnYXV0byc7XG4gICAgfVxuXG4gICAgcHVibGljIHNldENvbG9yU2NoZW1lKHNjaGVtZTogQ29sb3JTY2hlbWUpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdENvbG9yU2NoZW1lID0gdGhpcy5nZXREZWZhdWx0Q29sb3JTY2hlbWUoKTtcbiAgICAgICAgaWYgKHNjaGVtZSA9PT0gZGVmYXVsdENvbG9yU2NoZW1lKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0odGhpcy50eXBlTmFtZSwgdGhpcy5zdG9yYWdlQ29sb3JTY2hlbWVLZXkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5zZXRJdGVtKHRoaXMudHlwZU5hbWUsIHRoaXMuc3RvcmFnZUNvbG9yU2NoZW1lS2V5LCBzY2hlbWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NvbG9yU2NoZW1lU2V0dGluZy5zZXQoc2NoZW1lKTtcbiAgICAgICAgdGhpcy5fY29sb3JTY2hlbWUuc2V0KHRoaXMuZ2V0SW5pdEFjdHVhbENvbG9yU2NoZW1lKHNjaGVtZSkpO1xuICAgIH1cblxuICAgIC8vIG1lbnUgbW9kZVxuICAgIHB1YmxpYyByZWFkb25seSBtZW51TW9kZXM6IExheW91dE1lbnVNb2RlW10gPSB0aGlzLmNvbmZpZz8ubWVudU1vZGVzID8/IFsnc3RhdGljJywgJ292ZXJsYXknLCAncmV2ZWFsJywgJ2RyYXdlcicsICdzbGltJywgJ3NsaW0tcGx1cyddO1xuICAgIHByaXZhdGUgX21lbnVNb2RlID0gc2lnbmFsKHRoaXMuaW5pdE1lbnVNb2RlKCkpO1xuICAgIHB1YmxpYyBtZW51TW9kZSA9IHRoaXMuX21lbnVNb2RlLmFzUmVhZG9ubHkoKTtcblxuICAgIC8vIGxvZ29zXG4gICAgcHJpdmF0ZSBhcHBMb2dvTGlnaHQgPSBzaWduYWwodGhpcy5jb25maWc/LmxvZ29QYXRoTGlnaHQgPz8gdGhpcy5jb25maWc/LmxvZ29QYXRoID8/ICdhc3NldHMvbGF5b3V0L2ltYWdlcy9sb2dvLnBuZycpO1xuICAgIHByaXZhdGUgYXBwTG9nb0RhcmsgPSBzaWduYWwodGhpcy5jb25maWc/LmxvZ29QYXRoTGlnaHQgPz8gdGhpcy5jb25maWc/LmxvZ29QYXRoID8/ICdhc3NldHMvbGF5b3V0L2ltYWdlcy9sb2dvLnBuZycpO1xuICAgIHB1YmxpYyBhcHBMb2dvID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuY29sb3JTY2hlbWVJc0xpZ2h0KCkgPyB0aGlzLmFwcExvZ29MaWdodCgpIDogdGhpcy5hcHBMb2dvRGFyaygpKSk7XG5cbiAgICBwcml2YXRlIGFwcExvZ29OYW1lTGlnaHQgPSBzaWduYWwodGhpcy5jb25maWc/LmxvZ29OYW1lUGF0aExpZ2h0ID8/IHRoaXMuY29uZmlnPy5sb2dvTmFtZVBhdGggPz8gJ2Fzc2V0cy9sYXlvdXQvaW1hZ2VzL2xvZ28tYXBwbmFtZS5wbmcnKTtcbiAgICBwcml2YXRlIGFwcExvZ29OYW1lRGFyayA9IHNpZ25hbCh0aGlzLmNvbmZpZz8ubG9nb05hbWVQYXRoRGFyayA/PyB0aGlzLmNvbmZpZz8ubG9nb05hbWVQYXRoID8/ICdhc3NldHMvbGF5b3V0L2ltYWdlcy9sb2dvLWFwcG5hbWUucG5nJyk7XG4gICAgcHVibGljIGFwcExvZ29OYW1lID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuY29sb3JTY2hlbWVJc0xpZ2h0KCkgPyB0aGlzLmFwcExvZ29OYW1lTGlnaHQoKSA6IHRoaXMuYXBwTG9nb05hbWVEYXJrKCkpKTtcblxuICAgIC8vIG92ZXJsYXlzXG4gICAgcHVibGljIGlzT3ZlcmxheSA9IGNvbXB1dGVkKCgpID0+IHRoaXMubWVudU1vZGUoKSA9PT0gJ292ZXJsYXknKTtcbiAgICBwdWJsaWMgaXNTbGltID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tZW51TW9kZSgpID09PSAnc2xpbScpO1xuICAgIHB1YmxpYyBpc1NsaW1QbHVzID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5tZW51TW9kZSgpID09PSAnc2xpbS1wbHVzJyk7XG5cbiAgICAvLyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgc3VibWVudSBkcm9wZG93biBvdmVybGF5IGluIHNsaW0gYW5kIHNsaW0rIGxheW91dHNcbiAgICBwdWJsaWMgc3VibWVudU92ZXJsYXlLZXkgPSBzaWduYWw8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICAgICAgICB3aW5kb3cubWF0Y2hNZWRpYSgnKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKScpLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb2xvclNjaGVtZVNldHRpbmcoKSA9PT0gJ2F1dG8nKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NvbG9yU2NoZW1lID0gZXZlbnQubWF0Y2hlcyA/ICdkYXJrJyA6ICdsaWdodCc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbG9yU2NoZW1lLnNldChuZXdDb2xvclNjaGVtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb2xvclNjaGVtZSA9IHRoaXMuX2NvbG9yU2NoZW1lKCk7XG4gICAgICAgICAgICBjb25zdCB0aGVtZUVsID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgICAgICAgaWYgKGNvbG9yU2NoZW1lID09PSAnZGFyaycgJiYgIXRoZW1lRWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdhcHAtZGFyaycpKSB7XG4gICAgICAgICAgICAgICAgdGhlbWVFbC5jbGFzc0xpc3QuYWRkKCdhcHAtZGFyaycpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjb2xvclNjaGVtZSA9PT0gJ2xpZ2h0JyAmJiB0aGVtZUVsLmNsYXNzTGlzdC5jb250YWlucygnYXBwLWRhcmsnKSkge1xuICAgICAgICAgICAgICAgIHRoZW1lRWwuY2xhc3NMaXN0LnJlbW92ZSgnYXBwLWRhcmsnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRPRE86IGNoZWNrXG4gICAgICAgICAgICAvLyAgICAgY29uc3QgbGlua0VsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcHAtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQgfCB1bmRlZmluZWQ7XG4gICAgICAgICAgICAvLyAgICAgaWYgKGNvbG9yU2NoZW1lID09PSAnZGFyaycgJiYgbGlua0VsZW1lbnQ/LmhyZWYuaW5jbHVkZXMoJ2xpZ2h0JykpIHtcbiAgICAgICAgICAgIC8vICAgICAgICAgbGlua0VsZW1lbnQuaHJlZiA9ICd0aGVtZS1kYXJrLmNzcyc7XG4gICAgICAgICAgICAvLyAgICAgfSBlbHNlIGlmIChjb2xvclNjaGVtZSA9PT0gJ2xpZ2h0JyAmJiBsaW5rRWxlbWVudD8uaHJlZi5pbmNsdWRlcygnZGFyaycpKSB7XG4gICAgICAgICAgICAvLyAgICAgICAgIGxpbmtFbGVtZW50LmhyZWYgPSAndGhlbWUtbGlnaHQuY3NzJztcbiAgICAgICAgICAgIC8vICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTWVudU1vZGVDaGFuZ2UobW9kZTogTGF5b3V0TWVudU1vZGUpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1lbnVNb2Rlcy5pbmNsdWRlcyhtb2RlKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RlID09PSB0aGlzLmNvbmZpZz8ubWVudU1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlSXRlbSh0aGlzLnR5cGVOYW1lLCB0aGlzLnN0b3JhZ2VNZW51TW9kZUtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEl0ZW0odGhpcy50eXBlTmFtZSwgdGhpcy5zdG9yYWdlTWVudU1vZGVLZXksIG1vZGUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX21lbnVNb2RlLnNldChtb2RlKTtcbiAgICB9XG5cbiAgICBvbk1lbnVUb2dnbGUoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzT3ZlcmxheSgpKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIG92ZXJsYXlNZW51QWN0aXZlOiAhc3RhdGUub3ZlcmxheU1lbnVBY3RpdmVcbiAgICAgICAgICAgIH0pKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUoKS5vdmVybGF5TWVudUFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheU9wZW4ubmV4dChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzRGVza3RvcCgpKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIHN0YXRpY01lbnVEZXNrdG9wSW5hY3RpdmU6ICFzdGF0ZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgIHN0YXRpY01lbnVNb2JpbGVBY3RpdmU6ICFzdGF0ZS5zdGF0aWNNZW51TW9iaWxlQWN0aXZlXG4gICAgICAgICAgICB9KSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlKCkuc3RhdGljTWVudU1vYmlsZUFjdGl2ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheU9wZW4ubmV4dChudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3ZlcmxheVN1Ym1lbnVPcGVuKGtleTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLnN1Ym1lbnVPdmVybGF5S2V5KCkgPT09IGtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdWJtZW51T3ZlcmxheUtleS5zZXQoa2V5KTtcbiAgICAgICAgdGhpcy5vdmVybGF5T3Blbi5uZXh0KG51bGwpO1xuICAgIH1cblxuICAgIG9uT3ZlcmxheVN1Ym1lbnVDbG9zZSgpIHtcbiAgICAgICAgdGhpcy5zdWJtZW51T3ZlcmxheUtleS5zZXQodW5kZWZpbmVkKTtcbiAgICB9XG5cbiAgICBpc0Rlc2t0b3AoKSB7XG4gICAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJXaWR0aCA+IDk5MTtcbiAgICB9XG5cbiAgICBpc01vYmlsZSgpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLmlzRGVza3RvcCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdE1lbnVNb2RlKCk6IExheW91dE1lbnVNb2RlIHtcbiAgICAgICAgY29uc3QgbHNNb2RlID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRJdGVtPExheW91dE1lbnVNb2RlPih0aGlzLnR5cGVOYW1lLCB0aGlzLnN0b3JhZ2VNZW51TW9kZUtleSk7XG4gICAgICAgIGlmIChsc01vZGUgJiYgdGhpcy5tZW51TW9kZXMuaW5jbHVkZXMobHNNb2RlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGxzTW9kZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWc/Lm1lbnVNb2RlID8/ICdzdGF0aWMnO1xuICAgIH1cbn1cbiJdfQ==","import { DestroyRef, Injectable, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { ReplaySubject, startWith, take } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { CommonsRouterService, LoggerService, adjustRouteMenuLazyChildrenRouterLinks, doesUrlMatchRouterLink } from '@mediusinc/mng-commons/core';\nimport { prepareMenuItemsToInternal } from '../helpers/menu-items';\nimport * as i0 from \"@angular/core\";\nexport class MenuService {\n constructor() {\n this.destroyRef = inject(DestroyRef);\n this.logger = LoggerService.create('MenuService');\n this.router = inject(Router);\n this.commonsRouter = inject(CommonsRouterService);\n this._menuItems = signal([], ...(ngDevMode ? [{ debugName: \"_menuItems\" }] : []));\n this.menuItems = this._menuItems.asReadonly();\n this.menuChangeSubject = new ReplaySubject(1);\n this.menuChange$ = this.menuChangeSubject.asObservable();\n this.routeLoadedChildrenSubscriptions = [];\n }\n setItems(menuItems) {\n this.routeLoadedChildrenSubscriptions.forEach(s => s.unsubscribe());\n this.routeLoadedChildrenSubscriptions = [];\n this._menuItems.set(prepareMenuItemsToInternal(menuItems));\n this.appendListenersToLazyChildren(this._menuItems());\n this.router.events\n .pipe(startWith(new NavigationEnd(0, this.router.url, this.router.url)), filter(event => event instanceof NavigationEnd), map(e => e), takeUntilDestroyed(this.destroyRef))\n .subscribe(e => this.findAndSetActiveMenuItem(e.urlAfterRedirects));\n }\n appendListenersToLazyChildren(menuItems) {\n menuItems.forEach(item => {\n if (item.lazyChildren()) {\n this.listenToMenuItemLazyChildrenLoad(item);\n }\n else if (item.items()) {\n this.appendListenersToLazyChildren(item.items());\n }\n });\n }\n findAndSetActiveMenuItem(url) {\n const matches = this.findActiveRouteMatches(this.menuItems(), url);\n if (matches.length === 0) {\n this.reset();\n }\n else {\n const matchKey = matches[0][matches[0].length - 1].key;\n if (matchKey) {\n this.menuChangeSubject.next({\n key: matchKey,\n eventType: 'routeChange'\n });\n }\n else {\n this.logger.warn(`Found active menu item for url ${url}, but item key is not present`, matches);\n this.reset();\n }\n if (matches.length > 1) {\n this.logger.warn(`Multiple active menu items found for url ${url}`, matches);\n }\n }\n }\n listenToMenuItemLazyChildrenLoad(menuItem) {\n this.routeLoadedChildrenSubscriptions.push(this.commonsRouter\n .getRouteLoadedChildren$(menuItem.routerLink ?? '/')\n .pipe(take(1))\n .subscribe({\n next: routes => {\n const menuItemsFromRoutes = routes\n .filter(r => Array.isArray(r.data?.menuItems))\n .flatMap(r => r.data.menuItems);\n const menuItems = adjustRouteMenuLazyChildrenRouterLinks(menuItem, menuItemsFromRoutes);\n menuItem.items.set(prepareMenuItemsToInternal(menuItems, menuItem.key));\n this.appendListenersToLazyChildren(menuItem.items());\n menuItem.itemsVisibility.set(menuItem.items()?.map(() => signal(true)));\n menuItem.lazyChildren.set(false);\n this.findAndSetActiveMenuItem(this.router.url);\n }\n }));\n }\n findActiveRouteMatches(menuItems, url) {\n const matches = [];\n for (const menuItem of menuItems) {\n const children = menuItem.items();\n if (menuItem.routerLink) {\n const isActive = doesUrlMatchRouterLink(menuItem.routerLink, url);\n if (isActive) {\n if (Array.isArray(children)) {\n const itemsMatches = this.findActiveRouteMatches(children, url);\n if (itemsMatches.length > 0) {\n matches.push(...itemsMatches.map(c => [menuItem, ...c]));\n }\n else {\n matches.push([menuItem]);\n }\n }\n else {\n matches.push([menuItem]);\n }\n }\n }\n else if (Array.isArray(children)) {\n const itemsMatches = this.findActiveRouteMatches(children, url);\n if (itemsMatches.length > 0) {\n matches.push(...itemsMatches.map(c => [menuItem, ...c]));\n }\n }\n }\n return matches;\n }\n reset() {\n this.menuChangeSubject.next({\n eventType: 'reset'\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MenuService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: MenuService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUMsYUFBYSxFQUFFLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBQyxhQUFhLEVBQWdCLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEUsT0FBTyxFQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBR0gsb0JBQW9CLEVBRXBCLGFBQWEsRUFDYixzQ0FBc0MsRUFDdEMsc0JBQXNCLEVBQ3pCLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7O0FBSWpFLE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRXFCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsV0FBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTdDLGVBQVUsR0FBRyxNQUFNLENBQTRCLEVBQUUsc0RBQUMsQ0FBQztRQUM3RCxjQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUUvQixzQkFBaUIsR0FBRyxJQUFJLGFBQWEsQ0FBa0IsQ0FBQyxDQUFDLENBQUM7UUFDM0Us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T0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO1lBQ3hCLFNBQVMsRUFBRSxPQUFPO1NBQ3JCLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdEhRLFdBQVc7a0hBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGVzdHJveVJlZiwgSW5qZWN0YWJsZSwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0YWtlVW50aWxEZXN0cm95ZWR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TmF2aWdhdGlvbkVuZCwgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge1JlcGxheVN1YmplY3QsIFN1YnNjcmlwdGlvbiwgc3RhcnRXaXRoLCB0YWtlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgICBDb21tb25zTWVudUl0ZW0sXG4gICAgQ29tbW9uc1JvdXRlRGF0YSxcbiAgICBDb21tb25zUm91dGVyU2VydmljZSxcbiAgICBJbnRlcm5hbENvbW1vbnNNZW51SXRlbSxcbiAgICBMb2dnZXJTZXJ2aWNlLFxuICAgIGFkanVzdFJvdXRlTWVudUxhenlDaGlsZHJlblJvdXRlckxpbmtzLFxuICAgIGRvZXNVcmxNYXRjaFJvdXRlckxpbmtcbn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtwcmVwYXJlTWVudUl0ZW1zVG9JbnRlcm5hbH0gZnJvbSAnLi4vaGVscGVycy9tZW51LWl0ZW1zJztcbmltcG9ydCB7TWVudUNoYW5nZUV2ZW50fSBmcm9tICcuLi9tb2RlbHMvbWVudS5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyU2VydmljZS5jcmVhdGUoJ01lbnVTZXJ2aWNlJyk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnNSb3V0ZXIgPSBpbmplY3QoQ29tbW9uc1JvdXRlclNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBfbWVudUl0ZW1zID0gc2lnbmFsPEludGVybmFsQ29tbW9uc01lbnVJdGVtW10+KFtdKTtcbiAgICBwdWJsaWMgbWVudUl0ZW1zID0gdGhpcy5fbWVudUl0ZW1zLmFzUmVhZG9ubHkoKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVudUNoYW5nZVN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxNZW51Q2hhbmdlRXZlbnQ+KDEpO1xuICAgIG1lbnVDaGFuZ2UkID0gdGhpcy5tZW51Q2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHByaXZhdGUgcm91dGVMb2FkZWRDaGlsZHJlblN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBzZXRJdGVtcyhtZW51SXRlbXM6IEFycmF5PENvbW1vbnNNZW51SXRlbT4pIHtcbiAgICAgICAgdGhpcy5yb3V0ZUxvYWRlZENoaWxkcmVuU3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICAgICAgdGhpcy5yb3V0ZUxvYWRlZENoaWxkcmVuU3Vic2NyaXB0aW9ucyA9IFtdO1xuXG4gICAgICAgIHRoaXMuX21lbnVJdGVtcy5zZXQocHJlcGFyZU1lbnVJdGVtc1RvSW50ZXJuYWwobWVudUl0ZW1zKSk7XG4gICAgICAgIHRoaXMuYXBwZW5kTGlzdGVuZXJzVG9MYXp5Q2hpbGRyZW4odGhpcy5fbWVudUl0ZW1zKCkpO1xuXG4gICAgICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKG5ldyBOYXZpZ2F0aW9uRW5kKDAsIHRoaXMucm91dGVyLnVybCwgdGhpcy5yb3V0ZXIudXJsKSksXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgICAgICAgbWFwKGUgPT4gZSBhcyBOYXZpZ2F0aW9uRW5kKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShlID0+IHRoaXMuZmluZEFuZFNldEFjdGl2ZU1lbnVJdGVtKChlIGFzIE5hdmlnYXRpb25FbmQpLnVybEFmdGVyUmVkaXJlY3RzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRMaXN0ZW5lcnNUb0xhenlDaGlsZHJlbihtZW51SXRlbXM6IEludGVybmFsQ29tbW9uc01lbnVJdGVtW10pIHtcbiAgICAgICAgbWVudUl0ZW1zLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5sYXp5Q2hpbGRyZW4oKSkge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuVG9NZW51SXRlbUxhenlDaGlsZHJlbkxvYWQoaXRlbSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW0uaXRlbXMoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kTGlzdGVuZXJzVG9MYXp5Q2hpbGRyZW4oaXRlbS5pdGVtcygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQW5kU2V0QWN0aXZlTWVudUl0ZW0odXJsOiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHRoaXMuZmluZEFjdGl2ZVJvdXRlTWF0Y2hlcyh0aGlzLm1lbnVJdGVtcygpLCB1cmwpO1xuICAgICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoS2V5ID0gbWF0Y2hlc1swXVttYXRjaGVzWzBdLmxlbmd0aCAtIDFdLmtleTtcbiAgICAgICAgICAgIGlmIChtYXRjaEtleSkge1xuICAgICAgICAgICAgICAgIHRoaXMubWVudUNoYW5nZVN1YmplY3QubmV4dCh7XG4gICAgICAgICAgICAgICAgICAgIGtleTogbWF0Y2hLZXksXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50VHlwZTogJ3JvdXRlQ2hhbmdlJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBGb3VuZCBhY3RpdmUgbWVudSBpdGVtIGZvciB1cmwgJHt1cmx9LCBidXQgaXRlbSBrZXkgaXMgbm90IHByZXNlbnRgLCBtYXRjaGVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChtYXRjaGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGBNdWx0aXBsZSBhY3RpdmUgbWVudSBpdGVtcyBmb3VuZCBmb3IgdXJsICR7dXJsfWAsIG1hdGNoZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsaXN0ZW5Ub01lbnVJdGVtTGF6eUNoaWxkcmVuTG9hZChtZW51SXRlbTogSW50ZXJuYWxDb21tb25zTWVudUl0ZW0pIHtcbiAgICAgICAgdGhpcy5yb3V0ZUxvYWRlZENoaWxkcmVuU3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgdGhpcy5jb21tb25zUm91dGVyXG4gICAgICAgICAgICAgICAgLmdldFJvdXRlTG9hZGVkQ2hpbGRyZW4kKG1lbnVJdGVtLnJvdXRlckxpbmsgPz8gJy8nKVxuICAgICAgICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgIG5leHQ6IHJvdXRlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZW51SXRlbXNGcm9tUm91dGVzID0gcm91dGVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihyID0+IEFycmF5LmlzQXJyYXkoKHIuZGF0YSBhcyBDb21tb25zUm91dGVEYXRhIHwgdW5kZWZpbmVkKT8ubWVudUl0ZW1zKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmxhdE1hcChyID0+IChyLmRhdGEgYXMgQ29tbW9uc1JvdXRlRGF0YSkubWVudUl0ZW1zISk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZW51SXRlbXMgPSBhZGp1c3RSb3V0ZU1lbnVMYXp5Q2hpbGRyZW5Sb3V0ZXJMaW5rcyhtZW51SXRlbSwgbWVudUl0ZW1zRnJvbVJvdXRlcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVJdGVtLml0ZW1zLnNldChwcmVwYXJlTWVudUl0ZW1zVG9JbnRlcm5hbChtZW51SXRlbXMsIG1lbnVJdGVtLmtleSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRMaXN0ZW5lcnNUb0xhenlDaGlsZHJlbihtZW51SXRlbS5pdGVtcygpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVJdGVtLml0ZW1zVmlzaWJpbGl0eS5zZXQobWVudUl0ZW0uaXRlbXMoKT8ubWFwKCgpID0+IHNpZ25hbCh0cnVlKSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWVudUl0ZW0ubGF6eUNoaWxkcmVuLnNldChmYWxzZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEFjdGl2ZU1lbnVJdGVtKHRoaXMucm91dGVyLnVybCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmluZEFjdGl2ZVJvdXRlTWF0Y2hlcyhtZW51SXRlbXM6IEFycmF5PEludGVybmFsQ29tbW9uc01lbnVJdGVtPiwgdXJsOiBzdHJpbmcpOiBJbnRlcm5hbENvbW1vbnNNZW51SXRlbVtdW10ge1xuICAgICAgICBjb25zdCBtYXRjaGVzOiBJbnRlcm5hbENvbW1vbnNNZW51SXRlbVtdW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBtZW51SXRlbSBvZiBtZW51SXRlbXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gbWVudUl0ZW0uaXRlbXMoKTtcbiAgICAgICAgICAgIGlmIChtZW51SXRlbS5yb3V0ZXJMaW5rKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBkb2VzVXJsTWF0Y2hSb3V0ZXJMaW5rKG1lbnVJdGVtLnJvdXRlckxpbmssIHVybCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzQWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXRlbXNNYXRjaGVzID0gdGhpcy5maW5kQWN0aXZlUm91dGVNYXRjaGVzKGNoaWxkcmVuLCB1cmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zTWF0Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKC4uLml0ZW1zTWF0Y2hlcy5tYXAoYyA9PiBbbWVudUl0ZW0sIC4uLmNdKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoZXMucHVzaChbbWVudUl0ZW1dKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoZXMucHVzaChbbWVudUl0ZW1dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtc01hdGNoZXMgPSB0aGlzLmZpbmRBY3RpdmVSb3V0ZU1hdGNoZXMoY2hpbGRyZW4sIHVybCk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1zTWF0Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hdGNoZXMucHVzaCguLi5pdGVtc01hdGNoZXMubWFwKGMgPT4gW21lbnVJdGVtLCAuLi5jXSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWF0Y2hlcztcbiAgICB9XG5cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5tZW51Q2hhbmdlU3ViamVjdC5uZXh0KHtcbiAgICAgICAgICAgIGV2ZW50VHlwZTogJ3Jlc2V0J1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { ReplaySubject } from 'rxjs';\nimport { CommonsConfigurationService, LoggerService } from '@mediusinc/mng-commons/core';\nimport * as i0 from \"@angular/core\";\nexport class VersionService {\n constructor() {\n this.logger = inject(LoggerService).create('VersionService');\n this.http = inject(HttpClient);\n this.configurationService = inject(CommonsConfigurationService);\n this.cache = {};\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n loadVersion(path, baseConfigKey, jsonPath = '$') {\n const urlSegments = [];\n if (baseConfigKey) {\n const baseUrl = this.configurationService.getConfigValue(baseConfigKey);\n urlSegments.push(baseUrl.endsWith('/') ? baseUrl.substring(0, baseUrl.length - 1) : baseUrl);\n }\n if (path) {\n urlSegments.push(!path.startsWith('/') ? `/${path}` : path);\n }\n const url = urlSegments.join('');\n if (!this.cache[url]) {\n this.cache[url] = new ReplaySubject(1);\n this.http.get(urlSegments.join('')).subscribe({\n next: res => {\n this.cache[url].next(res);\n },\n error: err => {\n this.logger.error('Version could not be retreived', err);\n }\n });\n }\n return this.cache[url].asObservable();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: VersionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: VersionService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: VersionService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBYSxhQUFhLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFL0MsT0FBTyxFQUFDLDJCQUEyQixFQUFFLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDOztBQUd2RixNQUFNLE9BQU8sY0FBYztJQUQzQjtRQUVxQixXQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hELFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUIseUJBQW9CLEdBQUcsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDcEUsVUFBSyxHQUE0QyxFQUFFLENBQUM7S0E0Qi9EO0lBMUJHLDZEQUE2RDtJQUN0RCxXQUFXLENBQUMsSUFBWSxFQUFFLGFBQXNCLEVBQUUsUUFBUSxHQUFHLEdBQUc7UUFDbkUsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN4RSxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pHLENBQUM7UUFDRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hFLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLGFBQWEsQ0FBVSxDQUFDLENBQUMsQ0FBQztZQUVoRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMxQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7b0JBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFO29CQUNULElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUM3RCxDQUFDO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDOzhHQS9CUSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZSwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0fSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtDb21tb25zQ29uZmlndXJhdGlvblNlcnZpY2UsIExvZ2dlclNlcnZpY2V9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWZXJzaW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXIgPSBpbmplY3QoTG9nZ2VyU2VydmljZSkuY3JlYXRlKCdWZXJzaW9uU2VydmljZScpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25TZXJ2aWNlID0gaW5qZWN0KENvbW1vbnNDb25maWd1cmF0aW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSBjYWNoZToge1trZXk6IHN0cmluZ106IFJlcGxheVN1YmplY3Q8dW5rbm93bj59ID0ge307XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHVibGljIGxvYWRWZXJzaW9uKHBhdGg6IHN0cmluZywgYmFzZUNvbmZpZ0tleT86IHN0cmluZywganNvblBhdGggPSAnJCcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHMgPSBbXTtcbiAgICAgICAgaWYgKGJhc2VDb25maWdLZXkpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmNvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldENvbmZpZ1ZhbHVlKGJhc2VDb25maWdLZXkpO1xuICAgICAgICAgICAgdXJsU2VnbWVudHMucHVzaChiYXNlVXJsLmVuZHNXaXRoKCcvJykgPyBiYXNlVXJsLnN1YnN0cmluZygwLCBiYXNlVXJsLmxlbmd0aCAtIDEpIDogYmFzZVVybCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgIHVybFNlZ21lbnRzLnB1c2goIXBhdGguc3RhcnRzV2l0aCgnLycpID8gYC8ke3BhdGh9YCA6IHBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHVybCA9IHVybFNlZ21lbnRzLmpvaW4oJycpO1xuICAgICAgICBpZiAoIXRoaXMuY2FjaGVbdXJsXSkge1xuICAgICAgICAgICAgdGhpcy5jYWNoZVt1cmxdID0gbmV3IFJlcGxheVN1YmplY3Q8dW5rbm93bj4oMSk7XG5cbiAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQodXJsU2VnbWVudHMuam9pbignJykpLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgbmV4dDogcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYWNoZVt1cmxdLm5leHQocmVzKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVycm9yOiBlcnIgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignVmVyc2lvbiBjb3VsZCBub3QgYmUgcmV0cmVpdmVkJywgZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlW3VybF0uYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxufVxuIl19","import { CommonsFeatureTypeEnum } from '@mediusinc/mng-commons/core';\nimport { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from './services/layout-feature-config.token';\nimport { LayoutService } from './services/layout.service';\nimport { MenuService } from './services/menu.service';\nimport { VersionService } from './services/version.service';\n/**\n * Prepares providers for usage of the layout functionalities.\n *\n * @returns {CommonsFeature} The `CommonsFeature` object with the layout configuration.\n */\nexport function withLayout(config) {\n return {\n type: CommonsFeatureTypeEnum.Layout,\n providers: [\n MenuService,\n VersionService,\n LayoutService,\n {\n provide: COMMONS_LAYOUT_FEATURE_CONFIG_IT,\n useValue: config\n }\n ]\n };\n}\n/**\n * Configures PrimeNG theme dark mode selector.\n */\nexport const primeThemeDarkModeOpts = { darkModeSelector: '.app-dark' };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcHJvdmlkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGdDQUFnQyxFQUFzQixNQUFNLHdDQUF3QyxDQUFDO0FBQzdHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTFEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQTRCO0lBQ25ELE9BQU87UUFDSCxJQUFJLEVBQUUsc0JBQXNCLENBQUMsTUFBTTtRQUNuQyxTQUFTLEVBQUU7WUFDUCxXQUFXO1lBQ1gsY0FBYztZQUNkLGFBQWE7WUFDYjtnQkFDSSxPQUFPLEVBQUUsZ0NBQWdDO2dCQUN6QyxRQUFRLEVBQUUsTUFBTTthQUNuQjtTQUNKO0tBQ0osQ0FBQztBQUNOLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEVBQUMsZ0JBQWdCLEVBQUUsV0FBVyxFQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbnNGZWF0dXJlLCBDb21tb25zRmVhdHVyZVR5cGVFbnVtfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCBMYXlvdXRGZWF0dXJlQ29uZmlnfSBmcm9tICcuL3NlcnZpY2VzL2xheW91dC1mZWF0dXJlLWNvbmZpZy50b2tlbic7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtNZW51U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtWZXJzaW9uU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UnO1xuXG4vKipcbiAqIFByZXBhcmVzIHByb3ZpZGVycyBmb3IgdXNhZ2Ugb2YgdGhlIGxheW91dCBmdW5jdGlvbmFsaXRpZXMuXG4gKlxuICogQHJldHVybnMge0NvbW1vbnNGZWF0dXJlfSBUaGUgYENvbW1vbnNGZWF0dXJlYCBvYmplY3Qgd2l0aCB0aGUgbGF5b3V0IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTGF5b3V0KGNvbmZpZz86IExheW91dEZlYXR1cmVDb25maWcpOiBDb21tb25zRmVhdHVyZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogQ29tbW9uc0ZlYXR1cmVUeXBlRW51bS5MYXlvdXQsXG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgTWVudVNlcnZpY2UsXG4gICAgICAgICAgICBWZXJzaW9uU2VydmljZSxcbiAgICAgICAgICAgIExheW91dFNlcnZpY2UsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ1xuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmVzIFByaW1lTkcgdGhlbWUgZGFyayBtb2RlIHNlbGVjdG9yLlxuICovXG5leHBvcnQgY29uc3QgcHJpbWVUaGVtZURhcmtNb2RlT3B0cyA9IHtkYXJrTW9kZVNlbGVjdG9yOiAnLmFwcC1kYXJrJ307XG4iXX0=","// helpers\nexport * from './lib/helpers/menu-items';\n// models\nexport * from './lib/models/layout-state.model';\nexport * from './lib/models/menu.model';\n// services\nexport * from './lib/services/layout-feature-config.token';\nexport * from './lib/services/layout.service';\nexport * from './lib/services/menu.service';\nexport * from './lib/services/version.service';\n// provide\nexport * from './lib/provide';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsU0FBUztBQUNULGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxXQUFXO0FBQ1gsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyxVQUFVO0FBQ1YsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBoZWxwZXJzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9oZWxwZXJzL21lbnUtaXRlbXMnO1xuXG4vLyBtb2RlbHNcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9sYXlvdXQtc3RhdGUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL21lbnUubW9kZWwnO1xuXG4vLyBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL21lbnUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UnO1xuXG4vLyBwcm92aWRlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm92aWRlJztcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLWxheW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZWRpdXNpbmMtbW5nLWNvbW1vbnMtbGF5b3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mediusinc-mng-commons-layout.mjs","sources":["../../src/lib/helpers/menu-items.ts","../../src/lib/services/layout-feature-config.token.ts","../../src/lib/services/layout.service.ts","../../src/lib/services/menu.service.ts","../../src/lib/services/version.service.ts","../../src/lib/provide.ts","../../src/index.ts","../../src/mediusinc-mng-commons-layout.ts"],"sourcesContent":["import {computed, signal} from '@angular/core';\n\nimport {CommonsMenuItem, InternalCommonsMenuItem} from '@mediusinc/mng-commons/core';\n\n/**\n * @internal\n */\nexport function prepareMenuItemsToInternal(menuItems: CommonsMenuItem[], parentKey = ''): InternalCommonsMenuItem[] {\n const newItems = menuItems.map((item, idx) => {\n const itemsProp = signal<InternalCommonsMenuItem[]>([]);\n const lazyChildrenProp = signal(item.lazyChildren ?? false);\n const hasItemsProp = computed(() => itemsProp().length > 0);\n const newItem: InternalCommonsMenuItem = {\n ...item,\n isVisible: item.isVisible,\n key: parentKey ? parentKey + '-' + idx : idx.toString(),\n config: item,\n items: itemsProp,\n lazyChildren: lazyChildrenProp,\n itemsVisibility: signal([]),\n hasItems: hasItemsProp,\n hasItemsOrLazyChildren: computed(() => lazyChildrenProp() || hasItemsProp())\n };\n\n if (Array.isArray(item.items) && item.items.length > 0) {\n newItem.items.set(prepareMenuItemsToInternal(item.items, newItem.key));\n newItem.itemsVisibility.set(newItem.items()?.map(() => signal(true)));\n }\n\n return newItem;\n });\n\n return newItems;\n}\n","import {InjectionToken, Type} from '@angular/core';\n\nimport {MenuItem} from 'primeng/api';\n\nexport type LayoutMenuMode = 'static' | 'overlay' | 'reveal' | 'drawer' | 'slim' | 'slim-plus';\n\nexport type ColorScheme = 'light' | 'dark' | 'auto';\n\n/**\n * Set of configurations for layout customization.\n */\nexport interface LayoutFeatureConfig {\n /**\n * Choose default menu mode.\n */\n menuMode?: LayoutMenuMode;\n /**\n * Sets available menu modes.\n */\n menuModes?: LayoutMenuMode[];\n /**\n * Predefines menu modes (instead of taking them from route data config).\n */\n menuItems?: MenuItem[];\n /**\n * Logo path (usually icon part only).\n */\n logoPath?: string | false;\n /**\n * Logo path for light color mode (usually icon part only).\n */\n logoPathLight?: string;\n /**\n * Logo path for dark color mode (usually icon part only).\n */\n logoPathDark?: string;\n /**\n * Logo path (usually name part only).\n */\n logoNamePath?: string | false;\n /**\n * Logo path for light color mode (usually name part only).\n */\n logoNamePathLight?: string;\n /**\n * Logo path for dark color mode (usually name part only).\n */\n logoNamePathDark?: string;\n /**\n * Default color scheme (defaults to 'auto').\n */\n colorScheme?: ColorScheme;\n /**\n * Enable ripple effect.\n */\n ripple?: boolean;\n /**\n * Disables wrapping layout in notification wrapper.\n */\n disableNotificationWrapper?: boolean;\n /**\n * Set custom components instead of default layout's one. If false provided for component, then it will not be displayed.\n */\n components?: {\n /**\n * Specify custom topbar component or disable (if false).\n */\n topbar?: Type<any> | false;\n /**\n * Specify custom menu component or disable (if false).\n */\n menu?: Type<any> | false;\n /**\n * Specify custom footer component or disable (if false).\n */\n footer?: Type<any> | false;\n /**\n * Specify custom breadcrumb component or disable (if false).\n */\n breadcrumb?: Type<any> | false;\n /**\n * Specify custom topbarUser component or disable (if false).\n */\n topbarUser?: Type<any> | false;\n /**\n * Specify custom version component or disable (if false).\n */\n version?: Type<any> | false;\n /**\n * Specify custom settings component or disable (if false).\n */\n settings?: Type<any> | false;\n };\n}\n\nexport const COMMONS_LAYOUT_FEATURE_CONFIG_IT = new InjectionToken<LayoutFeatureConfig>('COMMONS_LAYOUT_FEATURE_CONFIG');\n","import {Injectable, afterNextRender, computed, effect, inject, signal} from '@angular/core';\n\nimport {Subject} from 'rxjs';\n\nimport {CommonsStorageService} from '@mediusinc/mng-commons/core';\n\nimport {LayoutState} from '../models/layout-state.model';\nimport {COMMONS_LAYOUT_FEATURE_CONFIG_IT, ColorScheme, LayoutMenuMode} from './layout-feature-config.token';\n\n@Injectable()\nexport class LayoutService {\n private readonly typeName = 'MainLayoutComponentService';\n private readonly storageMenuModeKey = 'menuMode';\n private readonly storageColorSchemeKey = 'colorScheme';\n\n private readonly config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, {optional: true});\n private readonly storageService = inject(CommonsStorageService);\n\n public state = signal<LayoutState>({\n staticMenuDesktopInactive: false,\n overlayMenuActive: false,\n rightMenuActive: false,\n configSidebarVisible: false,\n staticMenuMobileActive: false,\n menuHoverActive: false,\n sidebarActive: false,\n anchored: false\n });\n\n private overlayOpen = new Subject<any>();\n public overlayOpen$ = this.overlayOpen.asObservable();\n\n // color scheme\n private _colorSchemeSetting = signal(this.getInitColorScheme());\n public colorSchemeSetting = this._colorSchemeSetting.asReadonly();\n private _colorScheme = signal<Exclude<ColorScheme, 'system'>>(this.getInitActualColorScheme(this.colorSchemeSetting()));\n public colorScheme = this._colorScheme.asReadonly();\n public colorSchemeIsLight = computed(() => this._colorScheme() === 'light');\n\n private getInitColorScheme(): ColorScheme {\n let colorScheme = this.storageService.getItem<ColorScheme>(this.typeName, this.storageColorSchemeKey);\n if (colorScheme == null || !(['dark', 'light', 'auto'] as ColorScheme[]).includes(colorScheme)) {\n colorScheme = this.getDefaultColorScheme();\n }\n return colorScheme;\n }\n\n private getInitActualColorScheme(colorScheme: ColorScheme): Exclude<ColorScheme, 'system'> {\n if (colorScheme === 'auto') {\n return window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';\n } else {\n return colorScheme;\n }\n }\n\n private getDefaultColorScheme(): ColorScheme {\n return this.config?.colorScheme ?? 'auto';\n }\n\n public setColorScheme(scheme: ColorScheme) {\n const defaultColorScheme = this.getDefaultColorScheme();\n if (scheme === defaultColorScheme) {\n this.storageService.removeItem(this.typeName, this.storageColorSchemeKey);\n } else {\n this.storageService.setItem(this.typeName, this.storageColorSchemeKey, scheme);\n }\n this._colorSchemeSetting.set(scheme);\n this._colorScheme.set(this.getInitActualColorScheme(scheme));\n }\n\n // menu mode\n public readonly menuModes: LayoutMenuMode[] = this.config?.menuModes ?? ['static', 'overlay', 'reveal', 'drawer', 'slim', 'slim-plus'];\n private _menuMode = signal(this.initMenuMode());\n public menuMode = this._menuMode.asReadonly();\n\n // logos\n private appLogoLight = signal(this.config?.logoPathLight ?? this.config?.logoPath ?? 'assets/layout/images/logo.png');\n private appLogoDark = signal(this.config?.logoPathLight ?? this.config?.logoPath ?? 'assets/layout/images/logo.png');\n public appLogo = computed(() => (this.colorSchemeIsLight() ? this.appLogoLight() : this.appLogoDark()));\n\n private appLogoNameLight = signal(this.config?.logoNamePathLight ?? this.config?.logoNamePath ?? 'assets/layout/images/logo-appname.png');\n private appLogoNameDark = signal(this.config?.logoNamePathDark ?? this.config?.logoNamePath ?? 'assets/layout/images/logo-appname.png');\n public appLogoName = computed(() => (this.colorSchemeIsLight() ? this.appLogoNameLight() : this.appLogoNameDark()));\n\n // overlays\n public isOverlay = computed(() => this.menuMode() === 'overlay');\n public isSlim = computed(() => this.menuMode() === 'slim');\n public isSlimPlus = computed(() => this.menuMode() === 'slim-plus');\n\n // used for managing the submenu dropdown overlay in slim and slim+ layouts\n public submenuOverlayKey = signal<string | undefined>(undefined);\n\n constructor() {\n afterNextRender(() => {\n window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', event => {\n if (this.colorSchemeSetting() === 'auto') {\n const newColorScheme = event.matches ? 'dark' : 'light';\n this._colorScheme.set(newColorScheme);\n }\n });\n });\n\n effect(() => {\n const colorScheme = this._colorScheme();\n const themeEl = document.documentElement;\n if (colorScheme === 'dark' && !themeEl.classList.contains('app-dark')) {\n themeEl.classList.add('app-dark');\n } else if (colorScheme === 'light' && themeEl.classList.contains('app-dark')) {\n themeEl.classList.remove('app-dark');\n }\n // TODO: check\n // const linkElement = this.document.getElementById('app-theme') as HTMLLinkElement | undefined;\n // if (colorScheme === 'dark' && linkElement?.href.includes('light')) {\n // linkElement.href = 'theme-dark.css';\n // } else if (colorScheme === 'light' && linkElement?.href.includes('dark')) {\n // linkElement.href = 'theme-light.css';\n // }\n });\n }\n\n onMenuModeChange(mode: LayoutMenuMode) {\n if (!this.menuModes.includes(mode)) {\n return;\n }\n if (mode === this.config?.menuMode) {\n this.storageService.removeItem(this.typeName, this.storageMenuModeKey);\n } else {\n this.storageService.setItem(this.typeName, this.storageMenuModeKey, mode);\n }\n this._menuMode.set(mode);\n }\n\n onMenuToggle() {\n if (this.isOverlay()) {\n this.state.update(state => ({\n ...state,\n overlayMenuActive: !state.overlayMenuActive\n }));\n\n if (this.state().overlayMenuActive) {\n this.overlayOpen.next(null);\n }\n }\n\n if (this.isDesktop()) {\n this.state.update(state => ({\n ...state,\n staticMenuDesktopInactive: !state.staticMenuDesktopInactive\n }));\n } else {\n this.state.update(state => ({\n ...state,\n staticMenuMobileActive: !state.staticMenuMobileActive\n }));\n\n if (this.state().staticMenuMobileActive) {\n this.overlayOpen.next(null);\n }\n }\n }\n\n onOverlaySubmenuOpen(key: string) {\n if (this.submenuOverlayKey() === key) {\n return;\n }\n\n this.submenuOverlayKey.set(key);\n this.overlayOpen.next(null);\n }\n\n onOverlaySubmenuClose() {\n this.submenuOverlayKey.set(undefined);\n }\n\n isDesktop() {\n return window.innerWidth > 991;\n }\n\n isMobile() {\n return !this.isDesktop();\n }\n\n private initMenuMode(): LayoutMenuMode {\n const lsMode = this.storageService.getItem<LayoutMenuMode>(this.typeName, this.storageMenuModeKey);\n if (lsMode && this.menuModes.includes(lsMode)) {\n return lsMode;\n }\n return this.config?.menuMode ?? 'static';\n }\n}\n","import {DestroyRef, Injectable, inject, signal} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {NavigationEnd, Router} from '@angular/router';\n\nimport {ReplaySubject, Subscription, startWith, take} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nimport {\n CommonsMenuItem,\n CommonsRouteData,\n CommonsRouterService,\n InternalCommonsMenuItem,\n LoggerService,\n adjustRouteMenuLazyChildrenRouterLinks,\n doesUrlMatchRouterLink\n} from '@mediusinc/mng-commons/core';\n\nimport {prepareMenuItemsToInternal} from '../helpers/menu-items';\nimport {MenuChangeEvent} from '../models/menu.model';\n\n@Injectable()\nexport class MenuService {\n private readonly destroyRef = inject(DestroyRef);\n private readonly logger = LoggerService.create('MenuService');\n private readonly router = inject(Router);\n private readonly commonsRouter = inject(CommonsRouterService);\n\n private readonly _menuItems = signal<InternalCommonsMenuItem[]>([]);\n public menuItems = this._menuItems.asReadonly();\n\n private readonly menuChangeSubject = new ReplaySubject<MenuChangeEvent>(1);\n menuChange$ = this.menuChangeSubject.asObservable();\n\n private routeLoadedChildrenSubscriptions: Subscription[] = [];\n\n setItems(menuItems: Array<CommonsMenuItem>) {\n this.routeLoadedChildrenSubscriptions.forEach(s => s.unsubscribe());\n this.routeLoadedChildrenSubscriptions = [];\n\n this._menuItems.set(prepareMenuItemsToInternal(menuItems));\n this.appendListenersToLazyChildren(this._menuItems());\n\n this.router.events\n .pipe(\n startWith(new NavigationEnd(0, this.router.url, this.router.url)),\n filter(event => event instanceof NavigationEnd),\n map(e => e as NavigationEnd),\n takeUntilDestroyed(this.destroyRef)\n )\n .subscribe(e => this.findAndSetActiveMenuItem((e as NavigationEnd).urlAfterRedirects));\n }\n\n private appendListenersToLazyChildren(menuItems: InternalCommonsMenuItem[]) {\n menuItems.forEach(item => {\n if (item.lazyChildren()) {\n this.listenToMenuItemLazyChildrenLoad(item);\n } else if (item.items()) {\n this.appendListenersToLazyChildren(item.items());\n }\n });\n }\n\n private findAndSetActiveMenuItem(url: string) {\n const matches = this.findActiveRouteMatches(this.menuItems(), url);\n if (matches.length === 0) {\n this.reset();\n } else {\n const matchKey = matches[0][matches[0].length - 1].key;\n if (matchKey) {\n this.menuChangeSubject.next({\n key: matchKey,\n eventType: 'routeChange'\n });\n } else {\n this.logger.warn(`Found active menu item for url ${url}, but item key is not present`, matches);\n this.reset();\n }\n\n if (matches.length > 1) {\n this.logger.warn(`Multiple active menu items found for url ${url}`, matches);\n }\n }\n }\n\n private listenToMenuItemLazyChildrenLoad(menuItem: InternalCommonsMenuItem) {\n this.routeLoadedChildrenSubscriptions.push(\n this.commonsRouter\n .getRouteLoadedChildren$(menuItem.routerLink ?? '/')\n .pipe(take(1))\n .subscribe({\n next: routes => {\n const menuItemsFromRoutes = routes\n .filter(r => Array.isArray((r.data as CommonsRouteData | undefined)?.menuItems))\n .flatMap(r => (r.data as CommonsRouteData).menuItems!);\n const menuItems = adjustRouteMenuLazyChildrenRouterLinks(menuItem, menuItemsFromRoutes);\n\n menuItem.items.set(prepareMenuItemsToInternal(menuItems, menuItem.key));\n this.appendListenersToLazyChildren(menuItem.items());\n menuItem.itemsVisibility.set(menuItem.items()?.map(() => signal(true)));\n menuItem.lazyChildren.set(false);\n\n this.findAndSetActiveMenuItem(this.router.url);\n }\n })\n );\n }\n\n private findActiveRouteMatches(menuItems: Array<InternalCommonsMenuItem>, url: string): InternalCommonsMenuItem[][] {\n const matches: InternalCommonsMenuItem[][] = [];\n for (const menuItem of menuItems) {\n const children = menuItem.items();\n if (menuItem.routerLink) {\n const isActive = doesUrlMatchRouterLink(menuItem.routerLink, url);\n if (isActive) {\n if (Array.isArray(children)) {\n const itemsMatches = this.findActiveRouteMatches(children, url);\n if (itemsMatches.length > 0) {\n matches.push(...itemsMatches.map(c => [menuItem, ...c]));\n } else {\n matches.push([menuItem]);\n }\n } else {\n matches.push([menuItem]);\n }\n }\n } else if (Array.isArray(children)) {\n const itemsMatches = this.findActiveRouteMatches(children, url);\n if (itemsMatches.length > 0) {\n matches.push(...itemsMatches.map(c => [menuItem, ...c]));\n }\n }\n }\n return matches;\n }\n\n reset() {\n this.menuChangeSubject.next({\n eventType: 'reset'\n });\n }\n}\n","import {HttpClient} from '@angular/common/http';\nimport {Injectable, inject} from '@angular/core';\n\nimport {Observable, ReplaySubject} from 'rxjs';\n\nimport {CommonsConfigurationService, LoggerService} from '@mediusinc/mng-commons/core';\n\n@Injectable()\nexport class VersionService {\n private readonly logger = inject(LoggerService).create('VersionService');\n private readonly http = inject(HttpClient);\n private readonly configurationService = inject(CommonsConfigurationService);\n private cache: {[key: string]: ReplaySubject<unknown>} = {};\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public loadVersion(path: string, baseConfigKey?: string, jsonPath = '$'): Observable<unknown> {\n const urlSegments = [];\n if (baseConfigKey) {\n const baseUrl = this.configurationService.getConfigValue(baseConfigKey);\n urlSegments.push(baseUrl.endsWith('/') ? baseUrl.substring(0, baseUrl.length - 1) : baseUrl);\n }\n if (path) {\n urlSegments.push(!path.startsWith('/') ? `/${path}` : path);\n }\n const url = urlSegments.join('');\n if (!this.cache[url]) {\n this.cache[url] = new ReplaySubject<unknown>(1);\n\n this.http.get(urlSegments.join('')).subscribe({\n next: res => {\n this.cache[url].next(res);\n },\n error: err => {\n this.logger.error('Version could not be retreived', err);\n }\n });\n }\n\n return this.cache[url].asObservable();\n }\n}\n","import {CommonsFeature, CommonsFeatureTypeEnum} from '@mediusinc/mng-commons/core';\n\nimport {COMMONS_LAYOUT_FEATURE_CONFIG_IT, LayoutFeatureConfig} from './services/layout-feature-config.token';\nimport {LayoutService} from './services/layout.service';\nimport {MenuService} from './services/menu.service';\nimport {VersionService} from './services/version.service';\n\n/**\n * Prepares providers for usage of the layout functionalities.\n *\n * @returns {CommonsFeature} The `CommonsFeature` object with the layout configuration.\n */\nexport function withLayout(config?: LayoutFeatureConfig): CommonsFeature {\n return {\n type: CommonsFeatureTypeEnum.Layout,\n providers: [\n MenuService,\n VersionService,\n LayoutService,\n {\n provide: COMMONS_LAYOUT_FEATURE_CONFIG_IT,\n useValue: config\n }\n ]\n };\n}\n\n/**\n * Configures PrimeNG theme dark mode selector.\n */\nexport const primeThemeDarkModeOpts = {darkModeSelector: '.app-dark'};\n","// helpers\nexport * from './lib/helpers/menu-items';\n\n// models\nexport * from './lib/models/layout-state.model';\nexport * from './lib/models/menu.model';\n\n// services\nexport * from './lib/services/layout-feature-config.token';\nexport * from './lib/services/layout.service';\nexport * from './lib/services/menu.service';\nexport * from './lib/services/version.service';\n\n// provide\nexport * from './lib/provide';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mediusinc/mng-commons-layout",
|
|
3
|
-
"version": "7.0.0-rc.
|
|
3
|
+
"version": "7.0.0-rc.3",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/animations": "
|
|
6
|
-
"@angular/common": "
|
|
7
|
-
"@angular/core": "
|
|
8
|
-
"@angular/forms": "
|
|
9
|
-
"@angular/platform-browser": "
|
|
10
|
-
"@angular/router": "
|
|
5
|
+
"@angular/animations": "~20.3.0",
|
|
6
|
+
"@angular/common": "~20.3.0",
|
|
7
|
+
"@angular/core": "~20.3.0",
|
|
8
|
+
"@angular/forms": "~20.3.0",
|
|
9
|
+
"@angular/platform-browser": "~20.3.0",
|
|
10
|
+
"@angular/router": "~20.3.0",
|
|
11
11
|
"@ngx-translate/core": "^17.0.0",
|
|
12
|
-
"primeng": "~20.
|
|
12
|
+
"primeng": "~20.4.0",
|
|
13
13
|
"tailwindcss": "^4.1.0",
|
|
14
14
|
"tailwindcss-primeui": "~0.6.0",
|
|
15
15
|
"@primeuix/themes": "~1.2.0",
|
|
16
|
-
"@mediusinc/mng-commons": "~7.0.0-rc.
|
|
16
|
+
"@mediusinc/mng-commons": "~7.0.0-rc.3"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"tslib": "^2.8.1"
|
|
@@ -49,13 +49,13 @@
|
|
|
49
49
|
"types": "./components/pages/main/index.d.ts",
|
|
50
50
|
"default": "./fesm2022/mediusinc-mng-commons-layout-components-pages-main.mjs"
|
|
51
51
|
},
|
|
52
|
-
"./components/pages/not-found": {
|
|
53
|
-
"types": "./components/pages/not-found/index.d.ts",
|
|
54
|
-
"default": "./fesm2022/mediusinc-mng-commons-layout-components-pages-not-found.mjs"
|
|
55
|
-
},
|
|
56
52
|
"./components/pages/main/lazy": {
|
|
57
53
|
"types": "./components/pages/main/lazy/index.d.ts",
|
|
58
54
|
"default": "./fesm2022/mediusinc-mng-commons-layout-components-pages-main-lazy.mjs"
|
|
55
|
+
},
|
|
56
|
+
"./components/pages/not-found": {
|
|
57
|
+
"types": "./components/pages/not-found/index.d.ts",
|
|
58
|
+
"default": "./fesm2022/mediusinc-mng-commons-layout-components-pages-not-found.mjs"
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
"sideEffects": false,
|
package/version-info.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mediusinc/mng-commons-layout",
|
|
3
|
-
"version": "7.0.0-rc.
|
|
4
|
-
"tag":
|
|
5
|
-
"distance":
|
|
6
|
-
"hash": "
|
|
3
|
+
"version": "7.0.0-rc.3",
|
|
4
|
+
"tag": null,
|
|
5
|
+
"distance": null,
|
|
6
|
+
"hash": "56abf46",
|
|
7
7
|
"dirty": true,
|
|
8
|
-
"semver":
|
|
8
|
+
"semver": null,
|
|
9
9
|
"buildTimestamp": null,
|
|
10
|
-
"raw": "
|
|
10
|
+
"raw": "7.0.0-rc.3-56abf46-dirty"
|
|
11
11
|
}
|