@mediusinc/mng-commons-layout 5.2.0 → 5.3.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/esm2022/index.mjs +5 -2
  2. package/esm2022/lib/components/footer.component.mjs +5 -3
  3. package/esm2022/lib/components/main-layout.component.mjs +11 -13
  4. package/esm2022/lib/components/menu-item.component.mjs +64 -144
  5. package/esm2022/lib/components/menu.component.mjs +10 -13
  6. package/esm2022/lib/components/pages/error/error.page.component.mjs +20 -0
  7. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +20 -0
  8. package/esm2022/lib/components/settings.component.mjs +89 -0
  9. package/esm2022/lib/components/sidebar.component.mjs +11 -12
  10. package/esm2022/lib/components/topbar-user.component.mjs +23 -4
  11. package/esm2022/lib/components/topbar.component.mjs +4 -4
  12. package/esm2022/lib/helpers/menu-items.mjs +26 -0
  13. package/esm2022/lib/models/menu.model.mjs +1 -1
  14. package/esm2022/lib/provide.mjs +3 -1
  15. package/esm2022/lib/services/layout-feature-config.token.mjs +1 -1
  16. package/esm2022/lib/services/layout.service.mjs +166 -0
  17. package/esm2022/lib/services/menu.service.mjs +37 -37
  18. package/fesm2022/mediusinc-mng-commons-layout.mjs +437 -287
  19. package/fesm2022/mediusinc-mng-commons-layout.mjs.map +1 -1
  20. package/index.d.ts +4 -1
  21. package/lib/components/footer.component.d.ts +2 -0
  22. package/lib/components/main-layout.component.d.ts +2 -5
  23. package/lib/components/menu-item.component.d.ts +15 -27
  24. package/lib/components/menu.component.d.ts +3 -4
  25. package/lib/components/pages/error/error.page.component.d.ts +7 -0
  26. package/lib/components/pages/not-found/not-found.page.component.d.ts +7 -0
  27. package/lib/components/settings.component.d.ts +30 -0
  28. package/lib/components/sidebar.component.d.ts +2 -4
  29. package/lib/components/topbar-user.component.d.ts +5 -0
  30. package/lib/components/topbar.component.d.ts +2 -2
  31. package/lib/helpers/menu-items.d.ts +2 -0
  32. package/lib/models/menu.model.d.ts +2 -2
  33. package/lib/services/layout-feature-config.token.d.ts +73 -0
  34. package/lib/services/layout.service.d.ts +46 -0
  35. package/lib/services/menu.service.d.ts +7 -8
  36. package/package.json +2 -2
  37. package/scss/layout/mng/_mng_layout_styles.scss +1 -0
  38. package/scss/layout/mng/_mng_sidebar_vertical.scss +8 -0
  39. package/version-info.json +6 -6
  40. package/esm2022/lib/services/main-layout.component.service.mjs +0 -71
  41. package/lib/services/main-layout.component.service.d.ts +0 -17
@@ -0,0 +1,89 @@
1
+ import { DOCUMENT } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { TranslateModule, TranslateService } from '@ngx-translate/core';
6
+ import { Button } from 'primeng/button';
7
+ import { DropdownModule } from 'primeng/dropdown';
8
+ import { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
9
+ import { InputSwitchModule } from 'primeng/inputswitch';
10
+ import { RadioButtonModule } from 'primeng/radiobutton';
11
+ import { SelectButtonModule } from 'primeng/selectbutton';
12
+ import { CommonsService } from '@mediusinc/mng-commons/core';
13
+ import { LayoutService } from '../services/layout.service';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "@ngx-translate/core";
16
+ import * as i2 from "primeng/radiobutton";
17
+ import * as i3 from "@angular/forms";
18
+ import * as i4 from "primeng/dropdown";
19
+ import * as i5 from "primeng/selectbutton";
20
+ const defaultColorSchemeOpts = [
21
+ {
22
+ value: 'auto',
23
+ label: 'system'
24
+ },
25
+ {
26
+ value: 'light',
27
+ label: 'light'
28
+ },
29
+ {
30
+ value: 'dark',
31
+ label: 'dark'
32
+ }
33
+ ];
34
+ export class SettingsComponent {
35
+ constructor() {
36
+ this.document = inject(DOCUMENT);
37
+ this.dynamicDialogConfig = inject(DynamicDialogConfig);
38
+ this.dynamicDialogRef = inject(DynamicDialogRef);
39
+ this.colorSchemeOptions = signal(defaultColorSchemeOpts);
40
+ this.injector = this.dynamicDialogConfig.data.injector;
41
+ this.translate = this.injector.get(TranslateService);
42
+ this.commons = this.injector.get(CommonsService);
43
+ this.layout = this.injector.get(LayoutService);
44
+ this.menuModes = this.layout.menuModes;
45
+ this.translate
46
+ .stream('mngSettings.title')
47
+ .pipe(takeUntilDestroyed())
48
+ .subscribe(t => {
49
+ setTimeout(() => (this.dynamicDialogConfig.header = t));
50
+ });
51
+ const translateKey = 'mngSettings.colorScheme.options';
52
+ this.translate
53
+ .stream('mngSettings.colorScheme.options')
54
+ .pipe(takeUntilDestroyed())
55
+ .subscribe(t => {
56
+ if (t === translateKey) {
57
+ this.colorSchemeOptions.set(defaultColorSchemeOpts);
58
+ }
59
+ else {
60
+ this.colorSchemeOptions.update(options => options.map(o => ({
61
+ value: o.value,
62
+ label: `${t[o.value]}`
63
+ })));
64
+ }
65
+ });
66
+ }
67
+ switchLocale(language) {
68
+ this.commons.setAppLocale(language);
69
+ }
70
+ switchDataLocale(language) {
71
+ this.commons.setAppDataLocale(language);
72
+ }
73
+ onMenuModeChange(mode) {
74
+ this.layout.onMenuModeChange(mode);
75
+ }
76
+ onColorSchemeChange(scheme) {
77
+ this.layout.setColorScheme(scheme);
78
+ }
79
+ closeDialog() {
80
+ this.dynamicDialogRef.close();
81
+ }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: SettingsComponent, isStandalone: true, selector: "mng-settings", ngImport: i0, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1 mng-action-editor-form-container\">\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\n <div class=\"formgrid grid\">\n @if (commons.appLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-dropdown>\n </div>\n }\n @if (commons.appDataLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-database\"></i>\n <p-dropdown [ngModel]=\"commons.appDataLocale()\" [options]=\"commons.appDataLocales()\" (onChange)=\"switchDataLocale($event.value)\"></p-dropdown>\n </div>\n }\n </div>\n }\n\n <h5>{{ 'mngSettings.colorScheme.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n <p-selectButton\n [options]=\"colorSchemeOptions()\"\n [ngModel]=\"layout.colorSchemeSetting()\"\n (ngModelChange)=\"onColorSchemeChange($event)\"\n optionLabel=\"label\"\n optionValue=\"value\"\n allowEmpty=\"false\" />\n </div>\n\n @if (menuModes.length > 1) {\n <h5>{{ 'mngSettings.menuMode.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n @for (mode of menuModes; track mode) {\n <div class=\"field-radiobutton col-6 md:col-4\">\n <p-radioButton name=\"category\" [value]=\"mode\" [ngModel]=\"layout.menuMode()\" (ngModelChange)=\"onMenuModeChange(mode)\" />\n <label [for]=\"mode\" class=\"ml-2\">\n {{ 'mngSettings.menuMode.' + mode | translate }}\n </label>\n </div>\n }\n </div>\n }\n\n <div class=\"flex flex-row justify-content-between mng-action-editor-footer-container\">\n <div></div>\n <div>\n <p-button (onClick)=\"closeDialog()\" [label]=\"'general.close' | translate\" icon=\"pi pi-times\" styleClass=\"p-button-primary p-button-text\" />\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i2.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "variant", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: InputSwitchModule }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i5.SelectButton, selector: "p-selectButton", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "style", "styleClass", "ariaLabelledBy", "disabled", "dataKey", "autofocus"], outputs: ["onOptionClick", "onChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SettingsComponent, decorators: [{
86
+ type: Component,
87
+ args: [{ standalone: true, selector: 'mng-settings', imports: [TranslateModule, RadioButtonModule, FormsModule, Button, DropdownModule, InputSwitchModule, SelectButtonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-full flex flex-column\">\n <div class=\"flex-grow-1 mng-action-editor-form-container\">\n @if (commons.appLocales().length > 1 || commons.appDataLocales().length > 1) {\n <h5>{{ 'mngSettings.locales' | translate }}</h5>\n <div class=\"formgrid grid\">\n @if (commons.appLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-dropdown>\n </div>\n }\n @if (commons.appDataLocales().length > 1) {\n <div class=\"field pr-4\">\n <i class=\"pi pi-fw pi-database\"></i>\n <p-dropdown [ngModel]=\"commons.appDataLocale()\" [options]=\"commons.appDataLocales()\" (onChange)=\"switchDataLocale($event.value)\"></p-dropdown>\n </div>\n }\n </div>\n }\n\n <h5>{{ 'mngSettings.colorScheme.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n <p-selectButton\n [options]=\"colorSchemeOptions()\"\n [ngModel]=\"layout.colorSchemeSetting()\"\n (ngModelChange)=\"onColorSchemeChange($event)\"\n optionLabel=\"label\"\n optionValue=\"value\"\n allowEmpty=\"false\" />\n </div>\n\n @if (menuModes.length > 1) {\n <h5>{{ 'mngSettings.menuMode.title' | translate }}</h5>\n <div class=\"formgrid grid\">\n @for (mode of menuModes; track mode) {\n <div class=\"field-radiobutton col-6 md:col-4\">\n <p-radioButton name=\"category\" [value]=\"mode\" [ngModel]=\"layout.menuMode()\" (ngModelChange)=\"onMenuModeChange(mode)\" />\n <label [for]=\"mode\" class=\"ml-2\">\n {{ 'mngSettings.menuMode.' + mode | translate }}\n </label>\n </div>\n }\n </div>\n }\n\n <div class=\"flex flex-row justify-content-between mng-action-editor-footer-container\">\n <div></div>\n <div>\n <p-button (onClick)=\"closeDialog()\" [label]=\"'general.close' | translate\" icon=\"pi pi-times\" styleClass=\"p-button-primary p-button-text\" />\n </div>\n </div>\n </div>\n</div>\n" }]
88
+ }], ctorParameters: () => [] });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3NldHRpbmdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBWSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQWMsY0FBYyxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHeEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7O0FBT3pELE1BQU0sc0JBQXNCLEdBQXdCO0lBQ2hEO1FBQ0ksS0FBSyxFQUFFLE1BQU07UUFDYixLQUFLLEVBQUUsUUFBUTtLQUNsQjtJQUNEO1FBQ0ksS0FBSyxFQUFFLE9BQU87UUFDZCxLQUFLLEVBQUUsT0FBTztLQUNqQjtJQUNEO1FBQ0ksS0FBSyxFQUFFLE1BQU07UUFDYixLQUFLLEVBQUUsTUFBTTtLQUNoQjtDQUNKLENBQUM7QUFTRixNQUFNLE9BQU8saUJBQWlCO0lBYzFCO1FBYmlCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFNUIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDbEQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFRdEQsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFHdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFFdkMsSUFBSSxDQUFDLFNBQVM7YUFDVCxNQUFNLENBQUMsbUJBQW1CLENBQUM7YUFDM0IsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVELENBQUMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxZQUFZLEdBQUcsaUNBQWlDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVM7YUFDVCxNQUFNLENBQUMsaUNBQWlDLENBQUM7YUFDekMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7YUFDMUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ1gsSUFBSSxDQUFDLEtBQUssWUFBWSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztZQUN4RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7b0JBQ2QsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRTtpQkFDekIsQ0FBQyxDQUFDLENBQ04sQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxZQUFZLENBQUMsUUFBZ0I7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWdCO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQW9CO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELG1CQUFtQixDQUFDLE1BQW1CO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7OEdBaEVRLGlCQUFpQjtrR0FBakIsaUJBQWlCLHdFQzdDOUIsd2lGQXFEQSwyQ0RaYyxlQUFlLDJGQUFFLGlCQUFpQiw0VUFBRSxXQUFXLCtWQUFFLE1BQU0scVZBQUUsY0FBYywycUNBQUUsaUJBQWlCLDhCQUFFLGtCQUFrQjs7MkZBSS9HLGlCQUFpQjtrQkFQN0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sY0FBYyxXQUNmLENBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixDQUFDLG1CQUV4Ryx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIGluamVjdCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZVVudGlsRGVzdHJveWVkfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7VHJhbnNsYXRlTW9kdWxlLCBUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7QnV0dG9ufSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQge0Ryb3Bkb3duTW9kdWxlfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7RHluYW1pY0RpYWxvZ0NvbmZpZywgRHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7SW5wdXRTd2l0Y2hNb2R1bGV9IGZyb20gJ3ByaW1lbmcvaW5wdXRzd2l0Y2gnO1xuaW1wb3J0IHtSYWRpb0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9yYWRpb2J1dHRvbic7XG5pbXBvcnQge1NlbGVjdEJ1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9zZWxlY3RidXR0b24nO1xuXG5pbXBvcnQge0NvbG9yU2NoZW1lLCBDb21tb25zU2VydmljZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtMYXlvdXRNZW51TW9kZX0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuJztcbmltcG9ydCB7TGF5b3V0U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgQ29sb3JTY2hlbWVPcHRpb24ge1xuICAgIHZhbHVlOiBDb2xvclNjaGVtZTtcbiAgICBsYWJlbDogc3RyaW5nO1xufVxuXG5jb25zdCBkZWZhdWx0Q29sb3JTY2hlbWVPcHRzOiBDb2xvclNjaGVtZU9wdGlvbltdID0gW1xuICAgIHtcbiAgICAgICAgdmFsdWU6ICdhdXRvJyxcbiAgICAgICAgbGFiZWw6ICdzeXN0ZW0nXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHZhbHVlOiAnbGlnaHQnLFxuICAgICAgICBsYWJlbDogJ2xpZ2h0J1xuICAgIH0sXG4gICAge1xuICAgICAgICB2YWx1ZTogJ2RhcmsnLFxuICAgICAgICBsYWJlbDogJ2RhcmsnXG4gICAgfVxuXTtcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1zZXR0aW5ncycsXG4gICAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgUmFkaW9CdXR0b25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBCdXR0b24sIERyb3Bkb3duTW9kdWxlLCBJbnB1dFN3aXRjaE1vZHVsZSwgU2VsZWN0QnV0dG9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZHluYW1pY0RpYWxvZ0NvbmZpZyA9IGluamVjdChEeW5hbWljRGlhbG9nQ29uZmlnKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGR5bmFtaWNEaWFsb2dSZWYgPSBpbmplY3QoRHluYW1pY0RpYWxvZ1JlZik7XG4gICAgcHVibGljIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcjtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNsYXRlO1xuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25zO1xuICAgIHB1YmxpYyByZWFkb25seSBsYXlvdXQ7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgbWVudU1vZGVzO1xuXG4gICAgcHVibGljIGNvbG9yU2NoZW1lT3B0aW9ucyA9IHNpZ25hbChkZWZhdWx0Q29sb3JTY2hlbWVPcHRzKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmluamVjdG9yID0gdGhpcy5keW5hbWljRGlhbG9nQ29uZmlnLmRhdGEuaW5qZWN0b3I7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlID0gdGhpcy5pbmplY3Rvci5nZXQoVHJhbnNsYXRlU2VydmljZSk7XG4gICAgICAgIHRoaXMuY29tbW9ucyA9IHRoaXMuaW5qZWN0b3IuZ2V0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5sYXlvdXQgPSB0aGlzLmluamVjdG9yLmdldChMYXlvdXRTZXJ2aWNlKTtcbiAgICAgICAgdGhpcy5tZW51TW9kZXMgPSB0aGlzLmxheW91dC5tZW51TW9kZXM7XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5zdHJlYW0oJ21uZ1NldHRpbmdzLnRpdGxlJylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh0ID0+IHtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmR5bmFtaWNEaWFsb2dDb25maWcuaGVhZGVyID0gdCkpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdHJhbnNsYXRlS2V5ID0gJ21uZ1NldHRpbmdzLmNvbG9yU2NoZW1lLm9wdGlvbnMnO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVxuICAgICAgICAgICAgLnN0cmVhbSgnbW5nU2V0dGluZ3MuY29sb3JTY2hlbWUub3B0aW9ucycpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHQgPT09IHRyYW5zbGF0ZUtleSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbG9yU2NoZW1lT3B0aW9ucy5zZXQoZGVmYXVsdENvbG9yU2NoZW1lT3B0cyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvclNjaGVtZU9wdGlvbnMudXBkYXRlKG9wdGlvbnMgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMubWFwKG8gPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogby52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogYCR7dFtvLnZhbHVlXX1gXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzd2l0Y2hMb2NhbGUobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbW1vbnMuc2V0QXBwTG9jYWxlKGxhbmd1YWdlKTtcbiAgICB9XG5cbiAgICBzd2l0Y2hEYXRhTG9jYWxlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb21tb25zLnNldEFwcERhdGFMb2NhbGUobGFuZ3VhZ2UpO1xuICAgIH1cblxuICAgIG9uTWVudU1vZGVDaGFuZ2UobW9kZTogTGF5b3V0TWVudU1vZGUpIHtcbiAgICAgICAgdGhpcy5sYXlvdXQub25NZW51TW9kZUNoYW5nZShtb2RlKTtcbiAgICB9XG5cbiAgICBvbkNvbG9yU2NoZW1lQ2hhbmdlKHNjaGVtZTogQ29sb3JTY2hlbWUpIHtcbiAgICAgICAgdGhpcy5sYXlvdXQuc2V0Q29sb3JTY2hlbWUoc2NoZW1lKTtcbiAgICB9XG5cbiAgICBjbG9zZURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5keW5hbWljRGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtY29sdW1uXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIG1uZy1hY3Rpb24tZWRpdG9yLWZvcm0tY29udGFpbmVyXCI+XG4gICAgICAgIEBpZiAoY29tbW9ucy5hcHBMb2NhbGVzKCkubGVuZ3RoID4gMSB8fCBjb21tb25zLmFwcERhdGFMb2NhbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgPGg1Pnt7ICdtbmdTZXR0aW5ncy5sb2NhbGVzJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgICAgIEBpZiAoY29tbW9ucy5hcHBMb2NhbGVzKCkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgcHItNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1nbG9iZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtuZ01vZGVsXT1cImNvbW1vbnMuYXBwTG9jYWxlKClcIiBbb3B0aW9uc109XCJjb21tb25zLmFwcExvY2FsZXMoKVwiIChvbkNoYW5nZSk9XCJzd2l0Y2hMb2NhbGUoJGV2ZW50LnZhbHVlKVwiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoY29tbW9ucy5hcHBEYXRhTG9jYWxlcygpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIHByLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktZGF0YWJhc2VcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cC1kcm9wZG93biBbbmdNb2RlbF09XCJjb21tb25zLmFwcERhdGFMb2NhbGUoKVwiIFtvcHRpb25zXT1cImNvbW1vbnMuYXBwRGF0YUxvY2FsZXMoKVwiIChvbkNoYW5nZSk9XCJzd2l0Y2hEYXRhTG9jYWxlKCRldmVudC52YWx1ZSlcIj48L3AtZHJvcGRvd24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG5cbiAgICAgICAgPGg1Pnt7ICdtbmdTZXR0aW5ncy5jb2xvclNjaGVtZS50aXRsZScgfCB0cmFuc2xhdGUgfX08L2g1PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiY29sb3JTY2hlbWVPcHRpb25zKClcIlxuICAgICAgICAgICAgICAgIFtuZ01vZGVsXT1cImxheW91dC5jb2xvclNjaGVtZVNldHRpbmcoKVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Db2xvclNjaGVtZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICBhbGxvd0VtcHR5PVwiZmFsc2VcIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICBAaWYgKG1lbnVNb2Rlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICA8aDU+e3sgJ21uZ1NldHRpbmdzLm1lbnVNb2RlLnRpdGxlJyB8IHRyYW5zbGF0ZSB9fTwvaDU+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybWdyaWQgZ3JpZFwiPlxuICAgICAgICAgICAgICAgIEBmb3IgKG1vZGUgb2YgbWVudU1vZGVzOyB0cmFjayBtb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1yYWRpb2J1dHRvbiBjb2wtNiBtZDpjb2wtNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtcmFkaW9CdXR0b24gbmFtZT1cImNhdGVnb3J5XCIgW3ZhbHVlXT1cIm1vZGVcIiBbbmdNb2RlbF09XCJsYXlvdXQubWVudU1vZGUoKVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uTWVudU1vZGVDaGFuZ2UobW9kZSlcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIFtmb3JdPVwibW9kZVwiIGNsYXNzPVwibWwtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdtbmdTZXR0aW5ncy5tZW51TW9kZS4nICsgbW9kZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtbmctYWN0aW9uLWVkaXRvci1mb290ZXItY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8ZGl2PjwvZGl2PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8cC1idXR0b24gKG9uQ2xpY2spPVwiY2xvc2VEaWFsb2coKVwiIFtsYWJlbF09XCInZ2VuZXJhbC5jbG9zZScgfCB0cmFuc2xhdGVcIiBpY29uPVwicGkgcGktdGltZXNcIiBzdHlsZUNsYXNzPVwicC1idXR0b24tcHJpbWFyeSBwLWJ1dHRvbi10ZXh0XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,36 +1,35 @@
1
1
  import { ChangeDetectionStrategy, Component, ElementRef, inject, signal } from '@angular/core';
2
2
  import { RouterModule } from '@angular/router';
3
- import { CommonsService, ComponentDirective } from '@mediusinc/mng-commons/core';
3
+ import { ComponentDirective } from '@mediusinc/mng-commons/core';
4
4
  import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
5
- import { MainLayoutComponentService } from '../services/main-layout.component.service';
5
+ import { LayoutService } from '../services/layout.service';
6
6
  import { MenuComponent } from './menu.component';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/router";
9
9
  export class SidebarComponent {
10
10
  constructor() {
11
11
  this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
12
- this.commons = inject(CommonsService);
13
- this.layoutService = inject(MainLayoutComponentService);
12
+ this.layout = inject(LayoutService);
14
13
  this.el = inject(ElementRef);
15
14
  this.menuComponent = signal(this.config?.components?.menu === false ? undefined : this.config?.components?.menu ?? MenuComponent);
16
15
  this.timeout = null;
17
16
  }
18
17
  onMouseEnter() {
19
- if (!this.layoutService.state().anchored) {
18
+ if (!this.layout.state().anchored) {
20
19
  if (this.timeout) {
21
20
  clearTimeout(this.timeout);
22
21
  this.timeout = null;
23
22
  }
24
- this.layoutService.state.update(state => ({
23
+ this.layout.state.update(state => ({
25
24
  ...state,
26
25
  sidebarActive: true
27
26
  }));
28
27
  }
29
28
  }
30
29
  onMouseLeave() {
31
- if (!this.layoutService.state().anchored) {
30
+ if (!this.layout.state().anchored) {
32
31
  if (!this.timeout) {
33
- this.timeout = setTimeout(() => this.layoutService.state.update(state => ({
32
+ this.timeout = setTimeout(() => this.layout.state.update(state => ({
34
33
  ...state,
35
34
  sidebarActive: false
36
35
  })), 300);
@@ -38,16 +37,16 @@ export class SidebarComponent {
38
37
  }
39
38
  }
40
39
  anchor() {
41
- this.layoutService.state.update(state => ({
40
+ this.layout.state.update(state => ({
42
41
  ...state,
43
42
  anchored: !state.anchored
44
43
  }));
45
44
  }
46
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: SidebarComponent, isStandalone: true, selector: "mng-sidebar", ngImport: i0, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small h-2rem\">\n <img [src]=\"commons.appLogo()\" [alt]=\"'App logo'\" />\n </div>\n <div class=\"app-logo-normal\">\n <img class=\"h-2rem\" [src]=\"commons.appLogo()\" [alt]=\"'App logo'\" />\n <img class=\"h-2rem ml-3\" [src]=\"commons.appLogoName()\" [alt]=\"'App name'\" />\n </div>\n </a>\n <button class=\"layout-sidebar-anchor p-link z-2\" type=\"button\" (click)=\"anchor()\"></button>\n </div>\n\n @if (menuComponent()) {\n <div #menuContainer class=\"layout-menu-container\">\n <div [mngComponent]=\"menuComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: SidebarComponent, isStandalone: true, selector: "mng-sidebar", ngImport: i0, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small h-2rem\">\n <img [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n </div>\n <div class=\"app-logo-normal\">\n <img class=\"h-2rem\" [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n <img class=\"h-2rem ml-3\" [src]=\"layout.appLogoName()\" [alt]=\"'App name'\" />\n </div>\n </a>\n <button class=\"layout-sidebar-anchor p-link z-2\" type=\"button\" (click)=\"anchor()\"></button>\n </div>\n\n @if (menuComponent()) {\n <div #menuContainer class=\"layout-menu-container\">\n <div [mngComponent]=\"menuComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
47
  }
49
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: SidebarComponent, decorators: [{
50
49
  type: Component,
51
- args: [{ standalone: true, selector: 'mng-sidebar', imports: [RouterModule, MenuComponent, ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small h-2rem\">\n <img [src]=\"commons.appLogo()\" [alt]=\"'App logo'\" />\n </div>\n <div class=\"app-logo-normal\">\n <img class=\"h-2rem\" [src]=\"commons.appLogo()\" [alt]=\"'App logo'\" />\n <img class=\"h-2rem ml-3\" [src]=\"commons.appLogoName()\" [alt]=\"'App name'\" />\n </div>\n </a>\n <button class=\"layout-sidebar-anchor p-link z-2\" type=\"button\" (click)=\"anchor()\"></button>\n </div>\n\n @if (menuComponent()) {\n <div #menuContainer class=\"layout-menu-container\">\n <div [mngComponent]=\"menuComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n</div>\n" }]
50
+ args: [{ standalone: true, selector: 'mng-sidebar', imports: [RouterModule, MenuComponent, ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-sidebar\" (mouseenter)=\"onMouseEnter()\" (mouseleave)=\"onMouseLeave()\">\n <div class=\"sidebar-header\">\n <a [routerLink]=\"['/']\" class=\"app-logo\">\n <div class=\"app-logo-small h-2rem\">\n <img [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n </div>\n <div class=\"app-logo-normal\">\n <img class=\"h-2rem\" [src]=\"layout.appLogo()\" [alt]=\"'App logo'\" />\n <img class=\"h-2rem ml-3\" [src]=\"layout.appLogoName()\" [alt]=\"'App name'\" />\n </div>\n </a>\n <button class=\"layout-sidebar-anchor p-link z-2\" type=\"button\" (click)=\"anchor()\"></button>\n </div>\n\n @if (menuComponent()) {\n <div #menuContainer class=\"layout-menu-container\">\n <div [mngComponent]=\"menuComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n</div>\n" }]
52
51
  }] });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBUSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsY0FBYyxFQUFFLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFL0UsT0FBTyxFQUFDLGdDQUFnQyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDekYsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFDckYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7QUFTL0MsTUFBTSxPQUFPLGdCQUFnQjtJQVA3QjtRQVFxQixXQUFNLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDckUsWUFBTyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ25ELE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsa0JBQWEsR0FBRyxNQUFNLENBQXdCLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxJQUFJLGFBQWEsQ0FBQyxDQUFDO1FBQ25KLFlBQU8sR0FBeUMsSUFBSSxDQUFDO0tBb0NoRTtJQWxDRyxZQUFZO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdkMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2YsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDeEIsQ0FBQztZQUNELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3RDLEdBQUcsS0FBSztnQkFDUixhQUFhLEVBQUUsSUFBSTthQUN0QixDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUNyQixHQUFHLEVBQUUsQ0FDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN0QyxHQUFHLEtBQUs7b0JBQ1IsYUFBYSxFQUFFLEtBQUs7aUJBQ3ZCLENBQUMsQ0FBQyxFQUNQLEdBQUcsQ0FDTixDQUFDO1lBQ04sQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTTtRQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEMsR0FBRyxLQUFLO1lBQ1IsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVE7U0FDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzhHQTFDUSxnQkFBZ0I7a0dBQWhCLGdCQUFnQix1RUNoQjdCLG02QkFvQkEsMkNEUmMsWUFBWSxnUkFBaUIsa0JBQWtCOzsyRkFJaEQsZ0JBQWdCO2tCQVA1QixTQUFTO2lDQUNNLElBQUksWUFDTixhQUFhLFdBQ2QsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDLG1CQUV6Qyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBUeXBlLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1JvdXRlck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtDb21tb25zU2VydmljZSwgQ29tcG9uZW50RGlyZWN0aXZlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lUfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtNYWluTGF5b3V0Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi1sYXlvdXQuY29tcG9uZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtNZW51Q29tcG9uZW50fSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ21uZy1zaWRlYmFyJyxcbiAgICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLCBNZW51Q29tcG9uZW50LCBDb21wb25lbnREaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWRlYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTaWRlYmFyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVCwge29wdGlvbmFsOiB0cnVlfSk7XG4gICAgcHVibGljIHJlYWRvbmx5IGNvbW1vbnMgPSBpbmplY3QoQ29tbW9uc1NlcnZpY2UpO1xuICAgIHB1YmxpYyByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KE1haW5MYXlvdXRDb21wb25lbnRTZXJ2aWNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBwdWJsaWMgbWVudUNvbXBvbmVudCA9IHNpZ25hbDxUeXBlPGFueT4gfCB1bmRlZmluZWQ+KHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5tZW51ID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5tZW51ID8/IE1lbnVDb21wb25lbnQpO1xuICAgIHByaXZhdGUgdGltZW91dDogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD4gfCBudWxsID0gbnVsbDtcblxuICAgIG9uTW91c2VFbnRlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUoKS5hbmNob3JlZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudGltZW91dCkge1xuICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICAgICAgICAgIHRoaXMudGltZW91dCA9IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgc2lkZWJhckFjdGl2ZTogdHJ1ZVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUxlYXZlKCkge1xuICAgICAgICBpZiAoIXRoaXMubGF5b3V0U2VydmljZS5zdGF0ZSgpLmFuY2hvcmVkKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMudGltZW91dCkge1xuICAgICAgICAgICAgICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoXG4gICAgICAgICAgICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lkZWJhckFjdGl2ZTogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgICAgICAgMzAwXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFuY2hvcigpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBhbmNob3JlZDogIXN0YXRlLmFuY2hvcmVkXG4gICAgICAgIH0pKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXNpZGViYXJcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItaGVhZGVyXCI+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCIgY2xhc3M9XCJhcHAtbG9nb1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1sb2dvLXNtYWxsIGgtMnJlbVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJjb21tb25zLmFwcExvZ28oKVwiIFthbHRdPVwiJ0FwcCBsb2dvJ1wiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHAtbG9nby1ub3JtYWxcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaC0ycmVtXCIgW3NyY109XCJjb21tb25zLmFwcExvZ28oKVwiIFthbHRdPVwiJ0FwcCBsb2dvJ1wiIC8+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImgtMnJlbSBtbC0zXCIgW3NyY109XCJjb21tb25zLmFwcExvZ29OYW1lKClcIiBbYWx0XT1cIidBcHAgbmFtZSdcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxheW91dC1zaWRlYmFyLWFuY2hvciBwLWxpbmsgei0yXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJhbmNob3IoKVwiPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChtZW51Q29tcG9uZW50KCkpIHtcbiAgICAgICAgPGRpdiAjbWVudUNvbnRhaW5lciBjbGFzcz1cImxheW91dC1tZW51LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBbbW5nQ29tcG9uZW50XT1cIm1lbnVDb21wb25lbnQoKVwiIFthdHRhY2hUb0hvc3RdPVwidHJ1ZVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBUSxNQUFNLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7QUFTL0MsTUFBTSxPQUFPLGdCQUFnQjtJQVA3QjtRQVFxQixXQUFNLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFDckUsV0FBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWpDLGtCQUFhLEdBQUcsTUFBTSxDQUF3QixJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLElBQUksSUFBSSxhQUFhLENBQUMsQ0FBQztRQUNuSixZQUFPLEdBQXlDLElBQUksQ0FBQztLQW9DaEU7SUFsQ0csWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNmLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQixHQUFHLEtBQUs7Z0JBQ1IsYUFBYSxFQUFFLElBQUk7YUFDdEIsQ0FBQyxDQUFDLENBQUM7UUFDUixDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FDckIsR0FBRyxFQUFFLENBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDL0IsR0FBRyxLQUFLO29CQUNSLGFBQWEsRUFBRSxLQUFLO2lCQUN2QixDQUFDLENBQUMsRUFDUCxHQUFHLENBQ04sQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU07UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9CLEdBQUcsS0FBSztZQUNSLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRO1NBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQzs4R0F6Q1EsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsdUVDaEI3QixnNkJBb0JBLDJDRFJjLFlBQVksZ1JBQWlCLGtCQUFrQjs7MkZBSWhELGdCQUFnQjtrQkFQNUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sYUFBYSxXQUNkLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxtQkFFekMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVHlwZSwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtSb3V0ZXJNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7Q29tcG9uZW50RGlyZWN0aXZlfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lUfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtMYXlvdXRTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQuc2VydmljZSc7XG5pbXBvcnQge01lbnVDb21wb25lbnR9IGZyb20gJy4vbWVudS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXNpZGViYXInLFxuICAgIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUsIE1lbnVDb21wb25lbnQsIENvbXBvbmVudERpcmVjdGl2ZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNpZGViYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuICAgIHB1YmxpYyByZWFkb25seSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICAgIHB1YmxpYyBtZW51Q29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4odGhpcy5jb25maWc/LmNvbXBvbmVudHM/Lm1lbnUgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogdGhpcy5jb25maWc/LmNvbXBvbmVudHM/Lm1lbnUgPz8gTWVudUNvbXBvbmVudCk7XG4gICAgcHJpdmF0ZSB0aW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IG51bGwgPSBudWxsO1xuXG4gICAgb25Nb3VzZUVudGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMubGF5b3V0LnN0YXRlKCkuYW5jaG9yZWQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5sYXlvdXQuc3RhdGUudXBkYXRlKHN0YXRlID0+ICh7XG4gICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgc2lkZWJhckFjdGl2ZTogdHJ1ZVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUxlYXZlKCkge1xuICAgICAgICBpZiAoIXRoaXMubGF5b3V0LnN0YXRlKCkuYW5jaG9yZWQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy50aW1lb3V0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0LnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZGViYXJBY3RpdmU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICAgIDMwMFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhbmNob3IoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0LnN0YXRlLnVwZGF0ZShzdGF0ZSA9PiAoe1xuICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICBhbmNob3JlZDogIXN0YXRlLmFuY2hvcmVkXG4gICAgICAgIH0pKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXNpZGViYXJcIiAobW91c2VlbnRlcik9XCJvbk1vdXNlRW50ZXIoKVwiIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInNpZGViYXItaGVhZGVyXCI+XG4gICAgICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLyddXCIgY2xhc3M9XCJhcHAtbG9nb1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1sb2dvLXNtYWxsIGgtMnJlbVwiPlxuICAgICAgICAgICAgICAgIDxpbWcgW3NyY109XCJsYXlvdXQuYXBwTG9nbygpXCIgW2FsdF09XCInQXBwIGxvZ28nXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcC1sb2dvLW5vcm1hbFwiPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJoLTJyZW1cIiBbc3JjXT1cImxheW91dC5hcHBMb2dvKClcIiBbYWx0XT1cIidBcHAgbG9nbydcIiAvPlxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJoLTJyZW0gbWwtM1wiIFtzcmNdPVwibGF5b3V0LmFwcExvZ29OYW1lKClcIiBbYWx0XT1cIidBcHAgbmFtZSdcIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxheW91dC1zaWRlYmFyLWFuY2hvciBwLWxpbmsgei0yXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJhbmNob3IoKVwiPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgQGlmIChtZW51Q29tcG9uZW50KCkpIHtcbiAgICAgICAgPGRpdiAjbWVudUNvbnRhaW5lciBjbGFzcz1cImxheW91dC1tZW51LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGRpdiBbbW5nQ29tcG9uZW50XT1cIm1lbnVDb21wb25lbnQoKVwiIFthdHRhY2hUb0hvc3RdPVwidHJ1ZVwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICB9XG48L2Rpdj5cbiJdfQ==
@@ -1,20 +1,27 @@
1
1
  import { AsyncPipe } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, Injector, computed, inject, signal } from '@angular/core';
3
3
  import { DomSanitizer } from '@angular/platform-browser';
4
4
  import { TranslateModule } from '@ngx-translate/core';
5
+ import { DialogService } from 'primeng/dynamicdialog';
5
6
  import { RippleModule } from 'primeng/ripple';
6
7
  import { StyleClassModule } from 'primeng/styleclass';
7
8
  import { CommonsService, EnumerateAsyncPipe } from '@mediusinc/mng-commons/core';
9
+ import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
10
+ import { SettingsComponent } from './settings.component';
8
11
  import * as i0 from "@angular/core";
9
12
  import * as i1 from "@ngx-translate/core";
10
13
  import * as i2 from "primeng/ripple";
11
14
  import * as i3 from "primeng/styleclass";
12
15
  export class TopbarUserComponent {
13
16
  constructor() {
17
+ this.injector = inject(Injector);
18
+ this.dialogService = inject(DialogService);
14
19
  this.commons = inject(CommonsService);
15
20
  this.hrefJsVoid = inject(DomSanitizer).bypassSecurityTrustUrl('javascript:void(0)');
21
+ this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
16
22
  this.user = computed(() => this.commons.user());
17
23
  this.userRoles = computed(() => this.commons.userRoles());
24
+ this.settingsDisabled = signal(this.config?.components?.settings === false);
18
25
  }
19
26
  logout(user, event) {
20
27
  if (typeof user?.logout === 'function') {
@@ -23,11 +30,23 @@ export class TopbarUserComponent {
23
30
  user.logout();
24
31
  }
25
32
  }
33
+ openSettings() {
34
+ if (this.config?.components?.settings === false) {
35
+ return;
36
+ }
37
+ this.dialogService.open(this.config?.components?.settings ?? SettingsComponent, {
38
+ modal: true,
39
+ styleClass: 'mng-dialog mng-action-editor-dialog mng-dialog-xs',
40
+ data: {
41
+ injector: this.injector
42
+ }
43
+ });
44
+ }
26
45
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: TopbarUserComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: TopbarUserComponent, isStandalone: true, selector: "mng-topbar-user-component", ngImport: i0, template: "<a\n class=\"cursor-pointer lg:pr-4\"\n pStyleClass=\"@next\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\"\n [hideOnOutsideClick]=\"true\"\n pRipple>\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"hidden sm:inline-block\">&nbsp; {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu w-15rem z-5 ng-hidden border-round\">\n <li role=\"menuitem\">\n <a\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n @if (user()?.logout || user()?.logoutUrl) {\n <li role=\"menuitem\">\n <a\n [href]=\"user()?.logoutUrl ?? hrefJsVoid\"\n (click)=\"logout(user(), $event)\"\n class=\"flex align-items-center hover:text-primary-500 transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-sign-out text-base mr-2\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.5", type: TopbarUserComponent, isStandalone: true, selector: "mng-topbar-user-component", ngImport: i0, template: "<a\n class=\"cursor-pointer lg:pr-4\"\n pStyleClass=\"@next\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\"\n [hideOnOutsideClick]=\"true\"\n pRipple>\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"hidden sm:inline-block\">&nbsp; {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu w-15rem z-5 ng-hidden border-round\">\n <li role=\"menuitem\">\n <a\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n @if (!settingsDisabled()) {\n <li role=\"menuitem\">\n <a\n [href]=\"hrefJsVoid\"\n (click)=\"openSettings()\"\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-cog text-base mr-2\"></i>\n {{ 'mngSettings.title' | translate }}\n </a>\n </li>\n }\n @if (user()?.logout || user()?.logoutUrl) {\n <li role=\"menuitem\">\n <a\n [href]=\"user()?.logoutUrl ?? hrefJsVoid\"\n (click)=\"logout(user(), $event)\"\n class=\"flex align-items-center hover:text-primary-500 transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-sign-out text-base mr-2\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n }\n</ul>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i2.Ripple, selector: "[pRipple]" }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
47
  }
29
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImport: i0, type: TopbarUserComponent, decorators: [{
30
49
  type: Component,
31
- args: [{ standalone: true, selector: 'mng-topbar-user-component', imports: [AsyncPipe, EnumerateAsyncPipe, TranslateModule, RippleModule, StyleClassModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"cursor-pointer lg:pr-4\"\n pStyleClass=\"@next\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\"\n [hideOnOutsideClick]=\"true\"\n pRipple>\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"hidden sm:inline-block\">&nbsp; {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu w-15rem z-5 ng-hidden border-round\">\n <li role=\"menuitem\">\n <a\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n @if (user()?.logout || user()?.logoutUrl) {\n <li role=\"menuitem\">\n <a\n [href]=\"user()?.logoutUrl ?? hrefJsVoid\"\n (click)=\"logout(user(), $event)\"\n class=\"flex align-items-center hover:text-primary-500 transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-sign-out text-base mr-2\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n }\n</ul>\n" }]
50
+ args: [{ standalone: true, selector: 'mng-topbar-user-component', imports: [AsyncPipe, EnumerateAsyncPipe, TranslateModule, RippleModule, StyleClassModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n class=\"cursor-pointer lg:pr-4\"\n pStyleClass=\"@next\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\"\n [hideOnOutsideClick]=\"true\"\n pRipple>\n <i class=\"pi pi-fw pi-user text-2xl\"></i>\n <span class=\"hidden sm:inline-block\">&nbsp; {{ user()?.displayName ?? user()?.username }}</span>\n</a>\n<ul class=\"topbar-menu active-topbar-menu w-15rem z-5 ng-hidden border-round\">\n <li role=\"menuitem\">\n <a\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-user text-base mr-2\"></i>\n <div>\n <strong>{{ user()?.displayName ?? user()?.username }}</strong>\n @if (userRoles().length > 0) {\n <small>\n <br />\n {{ userRoles() }}\n </small>\n }\n </div>\n </a>\n </li>\n @if (!settingsDisabled()) {\n <li role=\"menuitem\">\n <a\n [href]=\"hrefJsVoid\"\n (click)=\"openSettings()\"\n class=\"flex align-items-center transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-cog text-base mr-2\"></i>\n {{ 'mngSettings.title' | translate }}\n </a>\n </li>\n }\n @if (user()?.logout || user()?.logoutUrl) {\n <li role=\"menuitem\">\n <a\n [href]=\"user()?.logoutUrl ?? hrefJsVoid\"\n (click)=\"logout(user(), $event)\"\n class=\"flex align-items-center hover:text-primary-500 transition-duration-200\"\n pStyleClass=\"@grandparent\"\n enterFromClass=\"ng-hidden\"\n enterActiveClass=\"px-scalein\"\n leaveToClass=\"ng-hidden\"\n leaveActiveClass=\"px-fadeout\">\n <i class=\"pi pi-fw pi-sign-out text-base mr-2\"></i>\n <span>{{ 'mngTopbar.logout' | translate }}</span>\n </a>\n </li>\n }\n</ul>\n" }]
32
51
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RvcGJhci11c2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b3BiYXItdXNlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQVEsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFTdEYsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVFxQixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLGVBQVUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsc0JBQXNCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUUvRSxTQUFJLEdBQUcsUUFBUSxDQUFvQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsY0FBUyxHQUFHLFFBQVEsQ0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7S0FTekU7SUFQVSxNQUFNLENBQUMsSUFBdUIsRUFBRSxLQUFZO1FBQy9DLElBQUksT0FBTyxJQUFJLEVBQUUsTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLENBQUM7SUFDTCxDQUFDOzhHQWJRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHFGQ2pCaEMsMDZEQWtEQSwyQ0RyQzZDLGVBQWUsMkZBQUUsWUFBWSw2RkFBRSxnQkFBZ0I7OzJGQUkvRSxtQkFBbUI7a0JBUC9CLFNBQVM7aUNBQ00sSUFBSSxZQUNOLDJCQUEyQixXQUM1QixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLG1CQUV4RSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtTdHlsZUNsYXNzTW9kdWxlfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnO1xuXG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlLCBFbnVtZXJhdGVBc3luY1BpcGUsIElVc2VyfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXRvcGJhci11c2VyLWNvbXBvbmVudCcsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgRW51bWVyYXRlQXN5bmNQaXBlLCBUcmFuc2xhdGVNb2R1bGUsIFJpcHBsZU1vZHVsZSwgU3R5bGVDbGFzc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvcGJhci11c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb3BiYXJVc2VyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbW1vbnMgPSBpbmplY3QoQ29tbW9uc1NlcnZpY2UpO1xuICAgIHB1YmxpYyBocmVmSnNWb2lkID0gaW5qZWN0KERvbVNhbml0aXplcikuYnlwYXNzU2VjdXJpdHlUcnVzdFVybCgnamF2YXNjcmlwdDp2b2lkKDApJyk7XG5cbiAgICBwdWJsaWMgdXNlciA9IGNvbXB1dGVkPElVc2VyIHwgdW5kZWZpbmVkPigoKSA9PiB0aGlzLmNvbW1vbnMudXNlcigpKTtcbiAgICBwdWJsaWMgdXNlclJvbGVzID0gY29tcHV0ZWQ8c3RyaW5nW10+KCgpID0+IHRoaXMuY29tbW9ucy51c2VyUm9sZXMoKSk7XG5cbiAgICBwdWJsaWMgbG9nb3V0KHVzZXI6IElVc2VyIHwgdW5kZWZpbmVkLCBldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB1c2VyPy5sb2dvdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHVzZXIubG9nb3V0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8YVxuICAgIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXIgbGc6cHItNFwiXG4gICAgcFN0eWxlQ2xhc3M9XCJAbmV4dFwiXG4gICAgZW50ZXJGcm9tQ2xhc3M9XCJuZy1oaWRkZW5cIlxuICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJweC1zY2FsZWluXCJcbiAgICBsZWF2ZVRvQ2xhc3M9XCJuZy1oaWRkZW5cIlxuICAgIGxlYXZlQWN0aXZlQ2xhc3M9XCJweC1mYWRlb3V0XCJcbiAgICBbaGlkZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIlxuICAgIHBSaXBwbGU+XG4gICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS11c2VyIHRleHQtMnhsXCI+PC9pPlxuICAgIDxzcGFuIGNsYXNzPVwiaGlkZGVuIHNtOmlubGluZS1ibG9ja1wiPiZuYnNwOyB7eyB1c2VyKCk/LmRpc3BsYXlOYW1lID8/IHVzZXIoKT8udXNlcm5hbWUgfX08L3NwYW4+XG48L2E+XG48dWwgY2xhc3M9XCJ0b3BiYXItbWVudSBhY3RpdmUtdG9wYmFyLW1lbnUgdy0xNXJlbSB6LTUgbmctaGlkZGVuIGJvcmRlci1yb3VuZFwiPlxuICAgIDxsaSByb2xlPVwibWVudWl0ZW1cIj5cbiAgICAgICAgPGFcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdHJhbnNpdGlvbi1kdXJhdGlvbi0yMDBcIlxuICAgICAgICAgICAgcFN0eWxlQ2xhc3M9XCJAZ3JhbmRwYXJlbnRcIlxuICAgICAgICAgICAgZW50ZXJGcm9tQ2xhc3M9XCJuZy1oaWRkZW5cIlxuICAgICAgICAgICAgZW50ZXJBY3RpdmVDbGFzcz1cInB4LXNjYWxlaW5cIlxuICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgIGxlYXZlQWN0aXZlQ2xhc3M9XCJweC1mYWRlb3V0XCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLXVzZXIgdGV4dC1iYXNlIG1yLTJcIj48L2k+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxzdHJvbmc+e3sgdXNlcigpPy5kaXNwbGF5TmFtZSA/PyB1c2VyKCk/LnVzZXJuYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgQGlmICh1c2VyUm9sZXMoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIDxzbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlclJvbGVzKCkgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9hPlxuICAgIDwvbGk+XG4gICAgQGlmICh1c2VyKCk/LmxvZ291dCB8fCB1c2VyKCk/LmxvZ291dFVybCkge1xuICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cInVzZXIoKT8ubG9nb3V0VXJsID8/IGhyZWZKc1ZvaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2dvdXQodXNlcigpLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGhvdmVyOnRleHQtcHJpbWFyeS01MDAgdHJhbnNpdGlvbi1kdXJhdGlvbi0yMDBcIlxuICAgICAgICAgICAgICAgIHBTdHlsZUNsYXNzPVwiQGdyYW5kcGFyZW50XCJcbiAgICAgICAgICAgICAgICBlbnRlckZyb21DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICAgICAgZW50ZXJBY3RpdmVDbGFzcz1cInB4LXNjYWxlaW5cIlxuICAgICAgICAgICAgICAgIGxlYXZlVG9DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICAgICAgbGVhdmVBY3RpdmVDbGFzcz1cInB4LWZhZGVvdXRcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLXNpZ24tb3V0IHRleHQtYmFzZSBtci0yXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdtbmdUb3BiYXIubG9nb3V0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICB9XG48L3VsPlxuIl19
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLXVzZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RvcGJhci11c2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b3BiYXItdXNlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQVEsTUFBTSw2QkFBNkIsQ0FBQztBQUV0RixPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFTdkQsTUFBTSxPQUFPLG1CQUFtQjtJQVBoQztRQVFxQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3JFLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUU5RSxTQUFJLEdBQUcsUUFBUSxDQUFvQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDOUQsY0FBUyxHQUFHLFFBQVEsQ0FBVyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFFL0QscUJBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQztLQXVCakY7SUFyQlUsTUFBTSxDQUFDLElBQXVCLEVBQUUsS0FBWTtRQUMvQyxJQUFJLE9BQU8sSUFBSSxFQUFFLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNyQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0wsQ0FBQztJQUVNLFlBQVk7UUFDZixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM5QyxPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsSUFBSSxpQkFBaUIsRUFBRTtZQUM1RSxLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSxtREFBbUQ7WUFDL0QsSUFBSSxFQUFFO2dCQUNGLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTthQUMxQjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBaENRLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHFGQ3JCaEMscWlGQWtFQSwyQ0RqRDZDLGVBQWUsMkZBQUUsWUFBWSw2RkFBRSxnQkFBZ0I7OzJGQUkvRSxtQkFBbUI7a0JBUC9CLFNBQVM7aUNBQ00sSUFBSSxZQUNOLDJCQUEyQixXQUM1QixDQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixDQUFDLG1CQUV4RSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEluamVjdG9yLCBjb21wdXRlZCwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEb21TYW5pdGl6ZXJ9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0RpYWxvZ1NlcnZpY2V9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtTdHlsZUNsYXNzTW9kdWxlfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnO1xuXG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlLCBFbnVtZXJhdGVBc3luY1BpcGUsIElVc2VyfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lUfSBmcm9tICcuLi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtTZXR0aW5nc0NvbXBvbmVudH0gZnJvbSAnLi9zZXR0aW5ncy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnbW5nLXRvcGJhci11c2VyLWNvbXBvbmVudCcsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgRW51bWVyYXRlQXN5bmNQaXBlLCBUcmFuc2xhdGVNb2R1bGUsIFJpcHBsZU1vZHVsZSwgU3R5bGVDbGFzc01vZHVsZV0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RvcGJhci11c2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBUb3BiYXJVc2VyQ29tcG9uZW50IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoRGlhbG9nU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwdWJsaWMgaHJlZkpzVm9pZCA9IGluamVjdChEb21TYW5pdGl6ZXIpLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwoJ2phdmFzY3JpcHQ6dm9pZCgwKScpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyB1c2VyID0gY29tcHV0ZWQ8SVVzZXIgfCB1bmRlZmluZWQ+KCgpID0+IHRoaXMuY29tbW9ucy51c2VyKCkpO1xuICAgIHB1YmxpYyB1c2VyUm9sZXMgPSBjb21wdXRlZDxzdHJpbmdbXT4oKCkgPT4gdGhpcy5jb21tb25zLnVzZXJSb2xlcygpKTtcblxuICAgIHB1YmxpYyBzZXR0aW5nc0Rpc2FibGVkID0gc2lnbmFsKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA9PT0gZmFsc2UpO1xuXG4gICAgcHVibGljIGxvZ291dCh1c2VyOiBJVXNlciB8IHVuZGVmaW5lZCwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0eXBlb2YgdXNlcj8ubG9nb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICB1c2VyLmxvZ291dCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5TZXR0aW5ncygpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZGlhbG9nU2VydmljZS5vcGVuKHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5zZXR0aW5ncyA/PyBTZXR0aW5nc0NvbXBvbmVudCwge1xuICAgICAgICAgICAgbW9kYWw6IHRydWUsXG4gICAgICAgICAgICBzdHlsZUNsYXNzOiAnbW5nLWRpYWxvZyBtbmctYWN0aW9uLWVkaXRvci1kaWFsb2cgbW5nLWRpYWxvZy14cycsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGFcbiAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGxnOnByLTRcIlxuICAgIHBTdHlsZUNsYXNzPVwiQG5leHRcIlxuICAgIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCJcbiAgICBlbnRlckFjdGl2ZUNsYXNzPVwicHgtc2NhbGVpblwiXG4gICAgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCJcbiAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiXG4gICAgW2hpZGVPbk91dHNpZGVDbGlja109XCJ0cnVlXCJcbiAgICBwUmlwcGxlPlxuICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktdXNlciB0ZXh0LTJ4bFwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cImhpZGRlbiBzbTppbmxpbmUtYmxvY2tcIj4mbmJzcDsge3sgdXNlcigpPy5kaXNwbGF5TmFtZSA/PyB1c2VyKCk/LnVzZXJuYW1lIH19PC9zcGFuPlxuPC9hPlxuPHVsIGNsYXNzPVwidG9wYmFyLW1lbnUgYWN0aXZlLXRvcGJhci1tZW51IHctMTVyZW0gei01IG5nLWhpZGRlbiBib3JkZXItcm91bmRcIj5cbiAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIHRyYW5zaXRpb24tZHVyYXRpb24tMjAwXCJcbiAgICAgICAgICAgIHBTdHlsZUNsYXNzPVwiQGdyYW5kcGFyZW50XCJcbiAgICAgICAgICAgIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgIGVudGVyQWN0aXZlQ2xhc3M9XCJweC1zY2FsZWluXCJcbiAgICAgICAgICAgIGxlYXZlVG9DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiPlxuICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS11c2VyIHRleHQtYmFzZSBtci0yXCI+PC9pPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IHVzZXIoKT8uZGlzcGxheU5hbWUgPz8gdXNlcigpPy51c2VybmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIEBpZiAodXNlclJvbGVzKCkubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICA8c21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHVzZXJSb2xlcygpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIEBpZiAoIXNldHRpbmdzRGlzYWJsZWQoKSkge1xuICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cImhyZWZKc1ZvaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuU2V0dGluZ3MoKVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciB0cmFuc2l0aW9uLWR1cmF0aW9uLTIwMFwiXG4gICAgICAgICAgICAgICAgcFN0eWxlQ2xhc3M9XCJAZ3JhbmRwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGVudGVyRnJvbUNsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBlbnRlckFjdGl2ZUNsYXNzPVwicHgtc2NhbGVpblwiXG4gICAgICAgICAgICAgICAgbGVhdmVUb0NsYXNzPVwibmctaGlkZGVuXCJcbiAgICAgICAgICAgICAgICBsZWF2ZUFjdGl2ZUNsYXNzPVwicHgtZmFkZW91dFwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktY29nIHRleHQtYmFzZSBtci0yXCI+PC9pPlxuICAgICAgICAgICAgICAgIHt7ICdtbmdTZXR0aW5ncy50aXRsZScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICB9XG4gICAgQGlmICh1c2VyKCk/LmxvZ291dCB8fCB1c2VyKCk/LmxvZ291dFVybCkge1xuICAgICAgICA8bGkgcm9sZT1cIm1lbnVpdGVtXCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIFtocmVmXT1cInVzZXIoKT8ubG9nb3V0VXJsID8/IGhyZWZKc1ZvaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJsb2dvdXQodXNlcigpLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGhvdmVyOnRleHQtcHJpbWFyeS01MDAgdHJhbnNpdGlvbi1kdXJhdGlvbi0yMDBcIlxuICAgICAgICAgICAgICAgIHBTdHlsZUNsYXNzPVwiQGdyYW5kcGFyZW50XCJcbiAgICAgICAgICAgICAgICBlbnRlckZyb21DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICAgICAgZW50ZXJBY3RpdmVDbGFzcz1cInB4LXNjYWxlaW5cIlxuICAgICAgICAgICAgICAgIGxlYXZlVG9DbGFzcz1cIm5nLWhpZGRlblwiXG4gICAgICAgICAgICAgICAgbGVhdmVBY3RpdmVDbGFzcz1cInB4LWZhZGVvdXRcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZ3IHBpLXNpZ24tb3V0IHRleHQtYmFzZSBtci0yXCI+PC9pPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdtbmdUb3BiYXIubG9nb3V0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICB9XG48L3VsPlxuIl19
@@ -7,7 +7,7 @@ import { RippleModule } from 'primeng/ripple';
7
7
  import { StyleClassModule } from 'primeng/styleclass';
8
8
  import { CommonsService, ComponentDirective } from '@mediusinc/mng-commons/core';
9
9
  import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from '../services/layout-feature-config.token';
10
- import { MainLayoutComponentService } from '../services/main-layout.component.service';
10
+ import { LayoutService } from '../services/layout.service';
11
11
  import { BreadcrumbComponent } from './breadcrumb.component';
12
12
  import { SidebarComponent } from './sidebar.component';
13
13
  import { TopbarUserComponent } from './topbar-user.component';
@@ -18,13 +18,13 @@ export class TopbarComponent {
18
18
  constructor() {
19
19
  this.el = inject(ElementRef);
20
20
  this.commons = inject(CommonsService);
21
- this.mainLayoutService = inject(MainLayoutComponentService);
21
+ this.layout = inject(LayoutService);
22
22
  this.config = inject(COMMONS_LAYOUT_FEATURE_CONFIG_IT, { optional: true });
23
23
  this.topbarUserComponent = signal(this.config?.components?.topbarUser === false ? undefined : this.config?.components?.topbarUser ?? TopbarUserComponent);
24
24
  this.breadcrumbComponent = signal(this.config?.components?.breadcrumb === false ? undefined : this.config?.components?.breadcrumb ?? BreadcrumbComponent);
25
25
  }
26
26
  onMenuButtonClick() {
27
- this.mainLayoutService.onMenuToggle();
27
+ this.layout.onMenuToggle();
28
28
  }
29
29
  switchLocale(language) {
30
30
  this.commons.setAppLocale(language);
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.5", ngImpor
36
36
  type: Component,
37
37
  args: [{ standalone: true, selector: 'mng-topbar', imports: [SidebarComponent, NgClass, ButtonModule, StyleClassModule, RippleModule, BreadcrumbComponent, AsyncPipe, DropdownModule, ComponentDirective, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"layout-topbar\">\n <div class=\"topbar-start\">\n <button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\n <i class=\"pi pi-bars\"></i>\n </button>\n\n @if (breadcrumbComponent()) {\n <div class=\"topbar-breadcrumb\">\n <div [mngComponent]=\"breadcrumbComponent()\" [attachToHost]=\"true\"></div>\n </div>\n }\n </div>\n <div class=\"layout-topbar-menu-section\">\n <mng-sidebar></mng-sidebar>\n </div>\n <div class=\"topbar-end\">\n <ul class=\"topbar-menu\">\n @if (commons.appLocales().length > 1) {\n <li class=\"profile-item\">\n <i class=\"pi pi-fw pi-globe\"></i>\n <p-dropdown [ngModel]=\"commons.appLocale()\" [options]=\"commons.appLocales()\" (onChange)=\"switchLocale($event.value)\"></p-dropdown>\n </li>\n }\n @if (topbarUserComponent()) {\n <li #userMenuItem class=\"profile-item topbar-item mr-3\" [mngComponent]=\"topbarUserComponent()\" [attachToHost]=\"true\"></li>\n }\n </ul>\n </div>\n</div>\n" }]
38
38
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b3BiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RvcGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQVM1RCxNQUFNLE9BQU8sZUFBZTtJQVA1QjtRQVFvQixPQUFFLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLFlBQU8sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDakMsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDdEQsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRTlFLHdCQUFtQixHQUFHLE1BQU0sQ0FDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksbUJBQW1CLENBQ3pILENBQUM7UUFDSyx3QkFBbUIsR0FBRyxNQUFNLENBQy9CLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxJQUFJLG1CQUFtQixDQUN6SCxDQUFDO0tBU0w7SUFQVSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFTSxZQUFZLENBQUMsUUFBZ0I7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs4R0FuQlEsZUFBZTtrR0FBZixlQUFlLHNFQ3hCNUIsK3NDQTZCQSw0Q0RUYyxnQkFBZ0IsdURBQVcsWUFBWSw4QkFBRSxnQkFBZ0IsOEJBQUUsWUFBWSw4QkFBa0MsY0FBYyw0cUNBQUUsa0JBQWtCLGdMQUFFLFdBQVc7OzJGQUl6SixlQUFlO2tCQVAzQixTQUFTO2lDQUNNLElBQUksWUFDTixZQUFZLFdBQ2IsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxtQkFFbEosdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXN5bmNQaXBlLCBOZ0NsYXNzfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBUeXBlLCBpbmplY3QsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tICdwcmltZW5nL2J1dHRvbic7XG5pbXBvcnQge0Ryb3Bkb3duTW9kdWxlfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7UmlwcGxlTW9kdWxlfSBmcm9tICdwcmltZW5nL3JpcHBsZSc7XG5pbXBvcnQge1N0eWxlQ2xhc3NNb2R1bGV9IGZyb20gJ3ByaW1lbmcvc3R5bGVjbGFzcyc7XG5cbmltcG9ydCB7Q29tbW9uc1NlcnZpY2UsIENvbXBvbmVudERpcmVjdGl2ZX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVH0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuJztcbmltcG9ydCB7TWFpbkxheW91dENvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL21haW4tbGF5b3V0LmNvbXBvbmVudC5zZXJ2aWNlJztcbmltcG9ydCB7QnJlYWRjcnVtYkNvbXBvbmVudH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGViYXJDb21wb25lbnR9IGZyb20gJy4vc2lkZWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtUb3BiYXJVc2VyQ29tcG9uZW50fSBmcm9tICcuL3RvcGJhci11c2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctdG9wYmFyJyxcbiAgICBpbXBvcnRzOiBbU2lkZWJhckNvbXBvbmVudCwgTmdDbGFzcywgQnV0dG9uTW9kdWxlLCBTdHlsZUNsYXNzTW9kdWxlLCBSaXBwbGVNb2R1bGUsIEJyZWFkY3J1bWJDb21wb25lbnQsIEFzeW5jUGlwZSwgRHJvcGRvd25Nb2R1bGUsIENvbXBvbmVudERpcmVjdGl2ZSwgRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b3BiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRvcGJhckNvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWFpbkxheW91dFNlcnZpY2UgPSBpbmplY3QoTWFpbkxheW91dENvbXBvbmVudFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyB0b3BiYXJVc2VyQ29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oXG4gICAgICAgIHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXJVc2VyID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXJVc2VyID8/IFRvcGJhclVzZXJDb21wb25lbnRcbiAgICApO1xuICAgIHB1YmxpYyBicmVhZGNydW1iQ29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oXG4gICAgICAgIHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5icmVhZGNydW1iID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5icmVhZGNydW1iID8/IEJyZWFkY3J1bWJDb21wb25lbnRcbiAgICApO1xuXG4gICAgcHVibGljIG9uTWVudUJ1dHRvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLm1haW5MYXlvdXRTZXJ2aWNlLm9uTWVudVRvZ2dsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzd2l0Y2hMb2NhbGUobGFuZ3VhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmNvbW1vbnMuc2V0QXBwTG9jYWxlKGxhbmd1YWdlKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXRvcGJhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0b3BiYXItc3RhcnRcIj5cbiAgICAgICAgPGJ1dHRvbiAjbWVudWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJ0b3BiYXItbWVudWJ1dHRvbiBwLWxpbmsgcC10cmlnZ2VyXCIgKGNsaWNrKT1cIm9uTWVudUJ1dHRvbkNsaWNrKClcIj5cbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktYmFyc1wiPjwvaT5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgQGlmIChicmVhZGNydW1iQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b3BiYXItYnJlYWRjcnVtYlwiPlxuICAgICAgICAgICAgICAgIDxkaXYgW21uZ0NvbXBvbmVudF09XCJicmVhZGNydW1iQ29tcG9uZW50KClcIiBbYXR0YWNoVG9Ib3N0XT1cInRydWVcIj48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXItbWVudS1zZWN0aW9uXCI+XG4gICAgICAgIDxtbmctc2lkZWJhcj48L21uZy1zaWRlYmFyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ0b3BiYXItZW5kXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cInRvcGJhci1tZW51XCI+XG4gICAgICAgICAgICBAaWYgKGNvbW1vbnMuYXBwTG9jYWxlcygpLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwcm9maWxlLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1mdyBwaS1nbG9iZVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW25nTW9kZWxdPVwiY29tbW9ucy5hcHBMb2NhbGUoKVwiIFtvcHRpb25zXT1cImNvbW1vbnMuYXBwTG9jYWxlcygpXCIgKG9uQ2hhbmdlKT1cInN3aXRjaExvY2FsZSgkZXZlbnQudmFsdWUpXCI+PC9wLWRyb3Bkb3duPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHRvcGJhclVzZXJDb21wb25lbnQoKSkge1xuICAgICAgICAgICAgICAgIDxsaSAjdXNlck1lbnVJdGVtIGNsYXNzPVwicHJvZmlsZS1pdGVtIHRvcGJhci1pdGVtIG1yLTNcIiBbbW5nQ29tcG9uZW50XT1cInRvcGJhclVzZXJDb21wb25lbnQoKVwiIFthdHRhY2hUb0hvc3RdPVwidHJ1ZVwiPjwvbGk+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90b3BiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL3RvcGJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFRLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXBELE9BQU8sRUFBQyxjQUFjLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFTNUQsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFRb0IsT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixZQUFPLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRTlFLHdCQUFtQixHQUFHLE1BQU0sQ0FDL0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksbUJBQW1CLENBQ3pILENBQUM7UUFDSyx3QkFBbUIsR0FBRyxNQUFNLENBQy9CLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxJQUFJLG1CQUFtQixDQUN6SCxDQUFDO0tBU0w7SUFQVSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sWUFBWSxDQUFDLFFBQWdCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7OEdBbkJRLGVBQWU7a0dBQWYsZUFBZSxzRUN4QjVCLCtzQ0E2QkEsNENEVGMsZ0JBQWdCLHVEQUFXLFlBQVksOEJBQUUsZ0JBQWdCLDhCQUFFLFlBQVksOEJBQWtDLGNBQWMsNHFDQUFFLGtCQUFrQixnTEFBRSxXQUFXOzsyRkFJekosZUFBZTtrQkFQM0IsU0FBUztpQ0FDTSxJQUFJLFlBQ04sWUFBWSxXQUNiLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLENBQUMsbUJBRWxKLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdDbGFzc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgVHlwZSwgaW5qZWN0LCBzaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3Jtc01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0J1dHRvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9idXR0b24nO1xuaW1wb3J0IHtEcm9wZG93bk1vZHVsZX0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQge1JpcHBsZU1vZHVsZX0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHtTdHlsZUNsYXNzTW9kdWxlfSBmcm9tICdwcmltZW5nL3N0eWxlY2xhc3MnO1xuXG5pbXBvcnQge0NvbW1vbnNTZXJ2aWNlLCBDb21wb25lbnREaXJlY3RpdmV9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMvY29yZSc7XG5cbmltcG9ydCB7Q09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVR9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC1mZWF0dXJlLWNvbmZpZy50b2tlbic7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7QnJlYWRjcnVtYkNvbXBvbmVudH0gZnJvbSAnLi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5pbXBvcnQge1NpZGViYXJDb21wb25lbnR9IGZyb20gJy4vc2lkZWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtUb3BiYXJVc2VyQ29tcG9uZW50fSBmcm9tICcuL3RvcGJhci11c2VyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdtbmctdG9wYmFyJyxcbiAgICBpbXBvcnRzOiBbU2lkZWJhckNvbXBvbmVudCwgTmdDbGFzcywgQnV0dG9uTW9kdWxlLCBTdHlsZUNsYXNzTW9kdWxlLCBSaXBwbGVNb2R1bGUsIEJyZWFkY3J1bWJDb21wb25lbnQsIEFzeW5jUGlwZSwgRHJvcGRvd25Nb2R1bGUsIENvbXBvbmVudERpcmVjdGl2ZSwgRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi90b3BiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFRvcGJhckNvbXBvbmVudCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGVsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHB1YmxpYyByZWFkb25seSBjb21tb25zID0gaW5qZWN0KENvbW1vbnNTZXJ2aWNlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGF5b3V0ID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KENPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCB7b3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHB1YmxpYyB0b3BiYXJVc2VyQ29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oXG4gICAgICAgIHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXJVc2VyID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy50b3BiYXJVc2VyID8/IFRvcGJhclVzZXJDb21wb25lbnRcbiAgICApO1xuICAgIHB1YmxpYyBicmVhZGNydW1iQ29tcG9uZW50ID0gc2lnbmFsPFR5cGU8YW55PiB8IHVuZGVmaW5lZD4oXG4gICAgICAgIHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5icmVhZGNydW1iID09PSBmYWxzZSA/IHVuZGVmaW5lZCA6IHRoaXMuY29uZmlnPy5jb21wb25lbnRzPy5icmVhZGNydW1iID8/IEJyZWFkY3J1bWJDb21wb25lbnRcbiAgICApO1xuXG4gICAgcHVibGljIG9uTWVudUJ1dHRvbkNsaWNrKCkge1xuICAgICAgICB0aGlzLmxheW91dC5vbk1lbnVUb2dnbGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3dpdGNoTG9jYWxlKGxhbmd1YWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5jb21tb25zLnNldEFwcExvY2FsZShsYW5ndWFnZSk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImxheW91dC10b3BiYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidG9wYmFyLXN0YXJ0XCI+XG4gICAgICAgIDxidXR0b24gI21lbnVidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwidG9wYmFyLW1lbnVidXR0b24gcC1saW5rIHAtdHJpZ2dlclwiIChjbGljayk9XCJvbk1lbnVCdXR0b25DbGljaygpXCI+XG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWJhcnNcIj48L2k+XG4gICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIEBpZiAoYnJlYWRjcnVtYkNvbXBvbmVudCgpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9wYmFyLWJyZWFkY3J1bWJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IFttbmdDb21wb25lbnRdPVwiYnJlYWRjcnVtYkNvbXBvbmVudCgpXCIgW2F0dGFjaFRvSG9zdF09XCJ0cnVlXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtdG9wYmFyLW1lbnUtc2VjdGlvblwiPlxuICAgICAgICA8bW5nLXNpZGViYXI+PC9tbmctc2lkZWJhcj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwidG9wYmFyLWVuZFwiPlxuICAgICAgICA8dWwgY2xhc3M9XCJ0b3BiYXItbWVudVwiPlxuICAgICAgICAgICAgQGlmIChjb21tb25zLmFwcExvY2FsZXMoKS5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicHJvZmlsZS1pdGVtXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktZncgcGktZ2xvYmVcIj48L2k+XG4gICAgICAgICAgICAgICAgICAgIDxwLWRyb3Bkb3duIFtuZ01vZGVsXT1cImNvbW1vbnMuYXBwTG9jYWxlKClcIiBbb3B0aW9uc109XCJjb21tb25zLmFwcExvY2FsZXMoKVwiIChvbkNoYW5nZSk9XCJzd2l0Y2hMb2NhbGUoJGV2ZW50LnZhbHVlKVwiPjwvcC1kcm9wZG93bj5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICh0b3BiYXJVc2VyQ29tcG9uZW50KCkpIHtcbiAgICAgICAgICAgICAgICA8bGkgI3VzZXJNZW51SXRlbSBjbGFzcz1cInByb2ZpbGUtaXRlbSB0b3BiYXItaXRlbSBtci0zXCIgW21uZ0NvbXBvbmVudF09XCJ0b3BiYXJVc2VyQ29tcG9uZW50KClcIiBbYXR0YWNoVG9Ib3N0XT1cInRydWVcIj48L2xpPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,26 @@
1
+ import { computed, signal } from '@angular/core';
2
+ export function prepareMenuItemsToInternal(menuItems, parentKey = '') {
3
+ const newItems = menuItems.map((item, idx) => {
4
+ const itemsProp = signal([]);
5
+ const lazyChildrenProp = signal(item.lazyChildren ?? false);
6
+ const hasItemsProp = computed(() => itemsProp().length > 0);
7
+ const newItem = {
8
+ ...item,
9
+ isVisible: typeof item.isVisible !== 'undefined' ? item.isVisible : item.visible,
10
+ key: parentKey ? parentKey + '-' + idx : idx.toString(),
11
+ config: item,
12
+ items: itemsProp,
13
+ lazyChildren: lazyChildrenProp,
14
+ itemsVisibility: signal([]),
15
+ hasItems: hasItemsProp,
16
+ hasItemsOrLazyChildren: computed(() => lazyChildrenProp() || hasItemsProp())
17
+ };
18
+ if (Array.isArray(item.items) && item.items.length > 0) {
19
+ newItem.items.set(prepareMenuItemsToInternal(item.items, newItem.key));
20
+ newItem.itemsVisibility.set(newItem.items()?.map(i => signal(true)));
21
+ }
22
+ return newItem;
23
+ });
24
+ return newItems;
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaGVscGVycy9tZW51LWl0ZW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBSS9DLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxTQUE0QixFQUFFLFNBQVMsR0FBRyxFQUFFO0lBQ25GLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDekMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUE0QixFQUFFLENBQUMsQ0FBQztRQUN4RCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQzVELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDNUQsTUFBTSxPQUFPLEdBQTRCO1lBQ3JDLEdBQUcsSUFBSTtZQUNQLFNBQVMsRUFBRSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNoRixHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtZQUN2RCxNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFlBQVksRUFBRSxnQkFBZ0I7WUFDOUIsZUFBZSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDM0IsUUFBUSxFQUFFLFlBQVk7WUFDdEIsc0JBQXNCLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixFQUFFLElBQUksWUFBWSxFQUFFLENBQUM7U0FDL0UsQ0FBQztRQUVGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2RSxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjb21wdXRlZCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtDb21tb25zTWVudUl0ZW0sIEludGVybmFsQ29tbW9uc01lbnVJdGVtfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZU1lbnVJdGVtc1RvSW50ZXJuYWwobWVudUl0ZW1zOiBDb21tb25zTWVudUl0ZW1bXSwgcGFyZW50S2V5ID0gJycpOiBJbnRlcm5hbENvbW1vbnNNZW51SXRlbVtdIHtcbiAgICBjb25zdCBuZXdJdGVtcyA9IG1lbnVJdGVtcy5tYXAoKGl0ZW0sIGlkeCkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtc1Byb3AgPSBzaWduYWw8SW50ZXJuYWxDb21tb25zTWVudUl0ZW1bXT4oW10pO1xuICAgICAgICBjb25zdCBsYXp5Q2hpbGRyZW5Qcm9wID0gc2lnbmFsKGl0ZW0ubGF6eUNoaWxkcmVuID8/IGZhbHNlKTtcbiAgICAgICAgY29uc3QgaGFzSXRlbXNQcm9wID0gY29tcHV0ZWQoKCkgPT4gaXRlbXNQcm9wKCkubGVuZ3RoID4gMCk7XG4gICAgICAgIGNvbnN0IG5ld0l0ZW06IEludGVybmFsQ29tbW9uc01lbnVJdGVtID0ge1xuICAgICAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgICAgIGlzVmlzaWJsZTogdHlwZW9mIGl0ZW0uaXNWaXNpYmxlICE9PSAndW5kZWZpbmVkJyA/IGl0ZW0uaXNWaXNpYmxlIDogaXRlbS52aXNpYmxlLFxuICAgICAgICAgICAga2V5OiBwYXJlbnRLZXkgPyBwYXJlbnRLZXkgKyAnLScgKyBpZHggOiBpZHgudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIGNvbmZpZzogaXRlbSxcbiAgICAgICAgICAgIGl0ZW1zOiBpdGVtc1Byb3AsXG4gICAgICAgICAgICBsYXp5Q2hpbGRyZW46IGxhenlDaGlsZHJlblByb3AsXG4gICAgICAgICAgICBpdGVtc1Zpc2liaWxpdHk6IHNpZ25hbChbXSksXG4gICAgICAgICAgICBoYXNJdGVtczogaGFzSXRlbXNQcm9wLFxuICAgICAgICAgICAgaGFzSXRlbXNPckxhenlDaGlsZHJlbjogY29tcHV0ZWQoKCkgPT4gbGF6eUNoaWxkcmVuUHJvcCgpIHx8IGhhc0l0ZW1zUHJvcCgpKVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGl0ZW0uaXRlbXMpICYmIGl0ZW0uaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgbmV3SXRlbS5pdGVtcy5zZXQocHJlcGFyZU1lbnVJdGVtc1RvSW50ZXJuYWwoaXRlbS5pdGVtcywgbmV3SXRlbS5rZXkpKTtcbiAgICAgICAgICAgIG5ld0l0ZW0uaXRlbXNWaXNpYmlsaXR5LnNldChuZXdJdGVtLml0ZW1zKCk/Lm1hcChpID0+IHNpZ25hbCh0cnVlKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld0l0ZW07XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3SXRlbXM7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbW9kZWxzL21lbnUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWVudUNoYW5nZUV2ZW50IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICByb3V0ZUV2ZW50PzogYm9vbGVhbjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbW9kZWxzL21lbnUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTWVudUNoYW5nZUV2ZW50IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgZXZlbnRUeXBlPzogJ3JvdXRlQ2hhbmdlJyB8ICdyZXNldCc7XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  import { CommonsFeatureTypeEnum } from '@mediusinc/mng-commons/core';
2
2
  import { COMMONS_LAYOUT_FEATURE_CONFIG_IT } from './services/layout-feature-config.token';
3
+ import { LayoutService } from './services/layout.service';
3
4
  import { MenuService } from './services/menu.service';
4
5
  import { VersionService } from './services/version.service';
5
6
  /**
@@ -13,6 +14,7 @@ export function withLayout(config) {
13
14
  providers: [
14
15
  MenuService,
15
16
  VersionService,
17
+ LayoutService,
16
18
  {
17
19
  provide: COMMONS_LAYOUT_FEATURE_CONFIG_IT,
18
20
  useValue: config
@@ -20,4 +22,4 @@ export function withLayout(config) {
20
22
  ]
21
23
  };
22
24
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcHJvdmlkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGdDQUFnQyxFQUFzQixNQUFNLHdDQUF3QyxDQUFDO0FBQzdHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBNEI7SUFDbkQsT0FBTztRQUNILElBQUksRUFBRSxzQkFBc0IsQ0FBQyxNQUFNO1FBQ25DLFNBQVMsRUFBRTtZQUNQLFdBQVc7WUFDWCxjQUFjO1lBQ2Q7Z0JBQ0ksT0FBTyxFQUFFLGdDQUFnQztnQkFDekMsUUFBUSxFQUFFLE1BQU07YUFDbkI7U0FDSjtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21tb25zRmVhdHVyZSwgQ29tbW9uc0ZlYXR1cmVUeXBlRW51bX0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucy9jb3JlJztcblxuaW1wb3J0IHtDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVCwgTGF5b3V0RmVhdHVyZUNvbmZpZ30gZnJvbSAnLi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4nO1xuaW1wb3J0IHtNZW51U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtWZXJzaW9uU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UnO1xuXG4vKipcbiAqIFByZXBhcmVzIHByb3ZpZGVycyBmb3IgdXNhZ2Ugb2YgdGhlIGxheW91dCBmdW5jdGlvbmFsaXRpZXMuXG4gKlxuICogQHJldHVybnMge0NvbW1vbnNGZWF0dXJlfSBUaGUgYENvbW1vbnNGZWF0dXJlYCBvYmplY3Qgd2l0aCB0aGUgbGF5b3V0IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTGF5b3V0KGNvbmZpZz86IExheW91dEZlYXR1cmVDb25maWcpOiBDb21tb25zRmVhdHVyZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogQ29tbW9uc0ZlYXR1cmVUeXBlRW51bS5MYXlvdXQsXG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgTWVudVNlcnZpY2UsXG4gICAgICAgICAgICBWZXJzaW9uU2VydmljZSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwcm92aWRlOiBDT01NT05TX0xBWU9VVF9GRUFUVVJFX0NPTkZJR19JVCxcbiAgICAgICAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICB9O1xufVxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcHJvdmlkZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHNCQUFzQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFFbkYsT0FBTyxFQUFDLGdDQUFnQyxFQUFzQixNQUFNLHdDQUF3QyxDQUFDO0FBQzdHLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTFEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQTRCO0lBQ25ELE9BQU87UUFDSCxJQUFJLEVBQUUsc0JBQXNCLENBQUMsTUFBTTtRQUNuQyxTQUFTLEVBQUU7WUFDUCxXQUFXO1lBQ1gsY0FBYztZQUNkLGFBQWE7WUFDYjtnQkFDSSxPQUFPLEVBQUUsZ0NBQWdDO2dCQUN6QyxRQUFRLEVBQUUsTUFBTTthQUNuQjtTQUNKO0tBQ0osQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbW1vbnNGZWF0dXJlLCBDb21tb25zRmVhdHVyZVR5cGVFbnVtfSBmcm9tICdAbWVkaXVzaW5jL21uZy1jb21tb25zL2NvcmUnO1xuXG5pbXBvcnQge0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHX0lULCBMYXlvdXRGZWF0dXJlQ29uZmlnfSBmcm9tICcuL3NlcnZpY2VzL2xheW91dC1mZWF0dXJlLWNvbmZpZy50b2tlbic7XG5pbXBvcnQge0xheW91dFNlcnZpY2V9IGZyb20gJy4vc2VydmljZXMvbGF5b3V0LnNlcnZpY2UnO1xuaW1wb3J0IHtNZW51U2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHtWZXJzaW9uU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy92ZXJzaW9uLnNlcnZpY2UnO1xuXG4vKipcbiAqIFByZXBhcmVzIHByb3ZpZGVycyBmb3IgdXNhZ2Ugb2YgdGhlIGxheW91dCBmdW5jdGlvbmFsaXRpZXMuXG4gKlxuICogQHJldHVybnMge0NvbW1vbnNGZWF0dXJlfSBUaGUgYENvbW1vbnNGZWF0dXJlYCBvYmplY3Qgd2l0aCB0aGUgbGF5b3V0IGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTGF5b3V0KGNvbmZpZz86IExheW91dEZlYXR1cmVDb25maWcpOiBDb21tb25zRmVhdHVyZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogQ29tbW9uc0ZlYXR1cmVUeXBlRW51bS5MYXlvdXQsXG4gICAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAgICAgTWVudVNlcnZpY2UsXG4gICAgICAgICAgICBWZXJzaW9uU2VydmljZSxcbiAgICAgICAgICAgIExheW91dFNlcnZpY2UsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZTogQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQsXG4gICAgICAgICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ1xuICAgICAgICAgICAgfVxuICAgICAgICBdXG4gICAgfTtcbn1cbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const COMMONS_LAYOUT_FEATURE_CONFIG_IT = new InjectionToken('COMMONS_LAYOUT_FEATURE_CONFIG');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQXFCbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsSUFBSSxjQUFjLENBQXNCLCtCQUErQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtNZW51SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5leHBvcnQgdHlwZSBMYXlvdXRNZW51TW9kZSA9ICdzdGF0aWMnIHwgJ292ZXJsYXknIHwgJ3JldmVhbCcgfCAnZHJhd2VyJyB8ICdzbGltJyB8ICdzbGltLXBsdXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dEZlYXR1cmVDb25maWcge1xuICAgIG1lbnVNb2RlPzogTGF5b3V0TWVudU1vZGU7XG4gICAgbWVudUl0ZW1zPzogTWVudUl0ZW1bXTtcbiAgICByaXBwbGU/OiBib29sZWFuO1xuICAgIGRpc2FibGVOb3RpZmljYXRpb25XcmFwcGVyPzogYm9vbGVhbjtcbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgICB0b3BiYXI/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICAgICAgbWVudT86IFR5cGU8YW55PiB8IGZhbHNlO1xuICAgICAgICBmb290ZXI/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICAgICAgYnJlYWRjcnVtYj86IFR5cGU8YW55PiB8IGZhbHNlO1xuICAgICAgICB0b3BiYXJVc2VyPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIHZlcnNpb24/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQgPSBuZXcgSW5qZWN0aW9uVG9rZW48TGF5b3V0RmVhdHVyZUNvbmZpZz4oJ0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHJyk7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWZlYXR1cmUtY29uZmlnLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9sYXlvdXQtZmVhdHVyZS1jb25maWcudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBTyxNQUFNLGVBQWUsQ0FBQztBQStGbkQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsSUFBSSxjQUFjLENBQXNCLCtCQUErQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VuLCBUeXBlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtNZW51SXRlbX0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5leHBvcnQgdHlwZSBMYXlvdXRNZW51TW9kZSA9ICdzdGF0aWMnIHwgJ292ZXJsYXknIHwgJ3JldmVhbCcgfCAnZHJhd2VyJyB8ICdzbGltJyB8ICdzbGltLXBsdXMnO1xuXG5leHBvcnQgdHlwZSBDb2xvclNjaGVtZSA9ICdsaWdodCcgfCAnZGFyaycgfCAnYXV0byc7XG5cbi8qKlxuICogU2V0IG9mIGNvbmZpZ3VyYXRpb25zIGZvciBsYXlvdXQgY3VzdG9taXphdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYXlvdXRGZWF0dXJlQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBDaG9vc2UgZGVmYXVsdCBtZW51IG1vZGUuXG4gICAgICovXG4gICAgbWVudU1vZGU/OiBMYXlvdXRNZW51TW9kZTtcbiAgICAvKipcbiAgICAgKiBTZXRzIGF2YWlsYWJsZSBtZW51IG1vZGVzLlxuICAgICAqL1xuICAgIG1lbnVNb2Rlcz86IExheW91dE1lbnVNb2RlW107XG4gICAgLyoqXG4gICAgICogUHJlZGVmaW5lcyBtZW51IG1vZGVzIChpbnN0ZWFkIG9mIHRha2luZyB0aGVtIGZyb20gcm91dGUgZGF0YSBjb25maWcpLlxuICAgICAqL1xuICAgIG1lbnVJdGVtcz86IE1lbnVJdGVtW107XG4gICAgLyoqXG4gICAgICogTG9nbyBwYXRoICh1c3VhbGx5IGljb24gcGFydCBvbmx5KS5cbiAgICAgKi9cbiAgICBsb2dvUGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMb2dvIHBhdGggZm9yIGxpZ2h0IGNvbG9yIG1vZGUgKHVzdWFsbHkgaWNvbiBwYXJ0IG9ubHkpLlxuICAgICAqL1xuICAgIGxvZ29QYXRoTGlnaHQ/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogTG9nbyBwYXRoIGZvciBkYXJrIGNvbG9yIG1vZGUgKHVzdWFsbHkgaWNvbiBwYXJ0IG9ubHkpLlxuICAgICAqL1xuICAgIGxvZ29QYXRoRGFyaz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMb2dvIHBhdGggKHVzdWFsbHkgbmFtZSBwYXJ0IG9ubHkpLlxuICAgICAqL1xuICAgIGxvZ29OYW1lUGF0aD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBMb2dvIHBhdGggZm9yIGxpZ2h0IGNvbG9yIG1vZGUgKHVzdWFsbHkgbmFtZSBwYXJ0IG9ubHkpLlxuICAgICAqL1xuICAgIGxvZ29OYW1lUGF0aExpZ2h0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExvZ28gcGF0aCBmb3IgZGFyayBjb2xvciBtb2RlICh1c3VhbGx5IG5hbWUgcGFydCBvbmx5KS5cbiAgICAgKi9cbiAgICBsb2dvTmFtZVBhdGhEYXJrPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgY29sb3Igc2NoZW1lIChkZWZhdWx0cyB0byAnYXV0bycpLlxuICAgICAqL1xuICAgIGNvbG9yU2NoZW1lPzogQ29sb3JTY2hlbWU7XG4gICAgLyoqXG4gICAgICogRW5hYmxlIHJpcHBsZSBlZmZlY3QuXG4gICAgICovXG4gICAgcmlwcGxlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBEaXNhYmxlcyB3cmFwcGluZyBsYXlvdXQgaW4gbm90aWZpY2F0aW9uIHdyYXBwZXIuXG4gICAgICovXG4gICAgZGlzYWJsZU5vdGlmaWNhdGlvbldyYXBwZXI/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFNldCBjdXN0b20gY29tcG9uZW50cyBpbnN0ZWFkIG9mIGRlZmF1bHQgbGF5b3V0J3Mgb25lLiBJZiBmYWxzZSBwcm92aWRlZCBmb3IgY29tcG9uZW50LCB0aGVuIGl0IHdpbGwgbm90IGJlIGRpc3BsYXllZC5cbiAgICAgKi9cbiAgICBjb21wb25lbnRzPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogU3BlY2lmeSBjdXN0b20gdG9wYmFyIGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICB0b3BiYXI/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNwZWNpZnkgY3VzdG9tIG1lbnUgY29tcG9uZW50IG9yIGRpc2FibGUgKGlmIGZhbHNlKS5cbiAgICAgICAgICovXG4gICAgICAgIG1lbnU/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFNwZWNpZnkgY3VzdG9tIGZvb3RlciBjb21wb25lbnQgb3IgZGlzYWJsZSAoaWYgZmFsc2UpLlxuICAgICAgICAgKi9cbiAgICAgICAgZm9vdGVyPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSBicmVhZGNydW1iIGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICBicmVhZGNydW1iPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSB0b3BiYXJVc2VyIGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICB0b3BiYXJVc2VyPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSB2ZXJzaW9uIGNvbXBvbmVudCBvciBkaXNhYmxlIChpZiBmYWxzZSkuXG4gICAgICAgICAqL1xuICAgICAgICB2ZXJzaW9uPzogVHlwZTxhbnk+IHwgZmFsc2U7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBTcGVjaWZ5IGN1c3RvbSBzZXR0aW5ncyBjb21wb25lbnQgb3IgZGlzYWJsZSAoaWYgZmFsc2UpLlxuICAgICAgICAgKi9cbiAgICAgICAgc2V0dGluZ3M/OiBUeXBlPGFueT4gfCBmYWxzZTtcbiAgICB9O1xufVxuXG5leHBvcnQgY29uc3QgQ09NTU9OU19MQVlPVVRfRkVBVFVSRV9DT05GSUdfSVQgPSBuZXcgSW5qZWN0aW9uVG9rZW48TGF5b3V0RmVhdHVyZUNvbmZpZz4oJ0NPTU1PTlNfTEFZT1VUX0ZFQVRVUkVfQ09ORklHJyk7XG4iXX0=