@tilde-nlp/ngx-menu 6.1.52 → 7.0.2

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 (40) hide show
  1. package/fesm2022/tilde-nlp-ngx-menu.mjs +29 -29
  2. package/fesm2022/tilde-nlp-ngx-menu.mjs.map +1 -1
  3. package/package.json +10 -12
  4. package/esm2022/lib/components/menu-columns/menu-columns.component.mjs +0 -108
  5. package/esm2022/lib/components/menu-icon/menu-icon.component.mjs +0 -54
  6. package/esm2022/lib/components/menu-item-btn/menu-item-btn.component.mjs +0 -77
  7. package/esm2022/lib/components/menu-item-link/menu-item-link.component.mjs +0 -91
  8. package/esm2022/lib/components/menu-item-list/menu-item-list.component.mjs +0 -330
  9. package/esm2022/lib/components/menu-lang-switcher/menu-lang-switcher.component.mjs +0 -107
  10. package/esm2022/lib/components/menu-profile/menu-profile.component.mjs +0 -201
  11. package/esm2022/lib/components/nav-base/models/index.mjs +0 -2
  12. package/esm2022/lib/components/nav-base/models/strapi-data-location.enum.mjs +0 -7
  13. package/esm2022/lib/components/nav-base/nav-base.component.mjs +0 -37
  14. package/esm2022/lib/components/side-nav-menu/index.mjs +0 -3
  15. package/esm2022/lib/components/side-nav-menu/models/index.mjs +0 -3
  16. package/esm2022/lib/components/side-nav-menu/models/side-nav-settings.model.mjs +0 -2
  17. package/esm2022/lib/components/side-nav-menu/models/user-menu-option-button.model.mjs +0 -2
  18. package/esm2022/lib/components/side-nav-menu/models/user-menu-option-icon.model.mjs +0 -2
  19. package/esm2022/lib/components/side-nav-menu/models/user-menu-option-link.model.mjs +0 -2
  20. package/esm2022/lib/components/side-nav-menu/models/user-menu-option.model.mjs +0 -2
  21. package/esm2022/lib/components/side-nav-menu/side-nav-menu.component.mjs +0 -212
  22. package/esm2022/lib/constants/index.mjs +0 -2
  23. package/esm2022/lib/constants/user-menu-options.const.mjs +0 -56
  24. package/esm2022/lib/injection-tokens/index.mjs +0 -2
  25. package/esm2022/lib/injection-tokens/menu-shared-config.token.mjs +0 -2
  26. package/esm2022/lib/menu.module.mjs +0 -122
  27. package/esm2022/lib/models/active-menu-item-config.model.mjs +0 -2
  28. package/esm2022/lib/models/active-menu-items.model.mjs +0 -2
  29. package/esm2022/lib/models/custom-menu-item.model.mjs +0 -2
  30. package/esm2022/lib/models/index.mjs +0 -8
  31. package/esm2022/lib/models/menu-icon-strapi-extension.const.mjs +0 -2
  32. package/esm2022/lib/models/menu-item-group.model.mjs +0 -2
  33. package/esm2022/lib/models/menu-layout-direction.model.mjs +0 -6
  34. package/esm2022/lib/models/menu-shared-config.model.mjs +0 -2
  35. package/esm2022/lib/models/menu-title-navigation.model.mjs +0 -2
  36. package/esm2022/lib/services/index.mjs +0 -3
  37. package/esm2022/lib/services/menu-items.service.mjs +0 -126
  38. package/esm2022/lib/services/strapi.service.mjs +0 -95
  39. package/esm2022/public-api.mjs +0 -14
  40. package/esm2022/tilde-nlp-ngx-menu.mjs +0 -5
@@ -1,108 +0,0 @@
1
- import { Component, EventEmitter, Inject, Input, Optional, Output } from '@angular/core';
2
- import { MENU_SHARED_CONFIG } from '../../injection-tokens';
3
- import { MenuLayoutDirection } from '../../models/menu-layout-direction.model';
4
- import { ResolutionHelper } from '@tilde-nlp/ngx-common';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "../../services/menu-items.service";
8
- import * as i3 from "@angular/common";
9
- import * as i4 from "@angular/material/divider";
10
- import * as i5 from "@angular/material/progress-spinner";
11
- import * as i6 from "../menu-item-list/menu-item-list.component";
12
- function MenuColumnsComponent_ng_container_0_menu_item_list_1_Template(rf, ctx) { if (rf & 1) {
13
- const _r1 = i0.ɵɵgetCurrentView();
14
- i0.ɵɵelementStart(0, "menu-item-list", 4);
15
- i0.ɵɵlistener("toggleExpand", function MenuColumnsComponent_ng_container_0_menu_item_list_1_Template_menu_item_list_toggleExpand_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.elementExpanded($event)); });
16
- i0.ɵɵelementEnd();
17
- } if (rf & 2) {
18
- const group_r3 = i0.ɵɵnextContext().$implicit;
19
- const ctx_r1 = i0.ɵɵnextContext();
20
- i0.ɵɵproperty("activeItem", ctx_r1.activeItem)("direction", ctx_r1.direction)("labelsVisible", ctx_r1.isOpen)("menuItemGroup", group_r3)("items", group_r3.items);
21
- } }
22
- function MenuColumnsComponent_ng_container_0_div_2_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelementStart(0, "div", 5);
24
- i0.ɵɵelement(1, "mat-spinner", 6);
25
- i0.ɵɵelementEnd();
26
- } if (rf & 2) {
27
- i0.ɵɵadvance();
28
- i0.ɵɵproperty("diameter", 24);
29
- } }
30
- function MenuColumnsComponent_ng_container_0_div_3_Template(rf, ctx) { if (rf & 1) {
31
- i0.ɵɵelementStart(0, "div", 7);
32
- i0.ɵɵelement(1, "mat-divider");
33
- i0.ɵɵelementEnd();
34
- } }
35
- function MenuColumnsComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
36
- i0.ɵɵelementContainerStart(0);
37
- i0.ɵɵtemplate(1, MenuColumnsComponent_ng_container_0_menu_item_list_1_Template, 1, 5, "menu-item-list", 1)(2, MenuColumnsComponent_ng_container_0_div_2_Template, 2, 1, "div", 2)(3, MenuColumnsComponent_ng_container_0_div_3_Template, 2, 0, "div", 3);
38
- i0.ɵɵelementContainerEnd();
39
- } if (rf & 2) {
40
- const group_r3 = ctx.$implicit;
41
- i0.ɵɵadvance();
42
- i0.ɵɵproperty("ngIf", group_r3.items.length || group_r3.showEmpty);
43
- i0.ɵɵadvance();
44
- i0.ɵɵproperty("ngIf", group_r3.isItemsLoading);
45
- i0.ɵɵadvance();
46
- i0.ɵɵproperty("ngIf", group_r3.bottomDivider && group_r3.items.length);
47
- } }
48
- export class MenuColumnsComponent {
49
- get active() { return this._active; }
50
- set active(value) {
51
- if (this.toggleOnMobileSelect()) {
52
- this.toggleCollapseEvent.emit();
53
- }
54
- this._active = value;
55
- if (!value) {
56
- this.activeItem = undefined;
57
- return;
58
- }
59
- this.elementExpanded(this.active?.root);
60
- }
61
- get mergedGroups() { return this.menuItemsService.mergedGroups; }
62
- constructor(router, menuSharedConfig, menuItemsService) {
63
- this.router = router;
64
- this.menuSharedConfig = menuSharedConfig;
65
- this.menuItemsService = menuItemsService;
66
- this.direction = MenuLayoutDirection.column;
67
- this.isOpen = true;
68
- this.toggleCollapseEvent = new EventEmitter();
69
- }
70
- ngOnInit() {
71
- this.activeItem = this.active.root;
72
- }
73
- elementExpanded(element) {
74
- if (!this.active || !element) {
75
- this.activeItem = undefined;
76
- return;
77
- }
78
- this.activeItem = this.active.root;
79
- }
80
- toggleOnMobileSelect() {
81
- return this.isOpen && ResolutionHelper.isMobileRes() && (this.active && Object.values(this.active)?.length > 0);
82
- }
83
- static { this.ɵfac = function MenuColumnsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuColumnsComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(MENU_SHARED_CONFIG, 8), i0.ɵɵdirectiveInject(i2.MenuItemsService)); }; }
84
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuColumnsComponent, selectors: [["menu-columns"]], inputs: { direction: "direction", isOpen: "isOpen", active: "active" }, outputs: { toggleCollapseEvent: "toggleCollapseEvent" }, decls: 1, vars: 1, consts: [[4, "ngFor", "ngForOf"], [3, "activeItem", "direction", "labelsVisible", "menuItemGroup", "items", "toggleExpand", 4, "ngIf"], ["class", "loader-container", 4, "ngIf"], ["class", "divider", 4, "ngIf"], [3, "toggleExpand", "activeItem", "direction", "labelsVisible", "menuItemGroup", "items"], [1, "loader-container"], [1, "loader", 3, "diameter"], [1, "divider"]], template: function MenuColumnsComponent_Template(rf, ctx) { if (rf & 1) {
85
- i0.ɵɵtemplate(0, MenuColumnsComponent_ng_container_0_Template, 4, 3, "ng-container", 0);
86
- } if (rf & 2) {
87
- i0.ɵɵproperty("ngForOf", ctx.mergedGroups);
88
- } }, dependencies: [i3.NgForOf, i3.NgIf, i4.MatDivider, i5.MatProgressSpinner, i6.MenuItemListComponent], styles: ["[_nghost-%COMP%]{display:inline-block}[_nghost-%COMP%] menu-item-list[_ngcontent-%COMP%]{display:block}.divider[_ngcontent-%COMP%]{margin:10px 0}.loader-container[_ngcontent-%COMP%]{padding-left:20px}"] }); }
89
- }
90
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuColumnsComponent, [{
91
- type: Component,
92
- args: [{ selector: 'menu-columns', template: "<ng-container *ngFor=\"let group of mergedGroups\">\r\n <menu-item-list *ngIf=\"group.items.length || group.showEmpty\" [activeItem]=\"activeItem\" [direction]=\"direction\"\r\n (toggleExpand)=\"elementExpanded($event)\" [labelsVisible]=\"isOpen\" [menuItemGroup]=\"group\"\r\n [items]=\"group.items\">\r\n </menu-item-list>\r\n <div class=\"loader-container\" *ngIf=\"group.isItemsLoading\">\r\n <mat-spinner [diameter]=\"24\" class=\"loader\"></mat-spinner>\r\n </div>\r\n <div class=\"divider\" *ngIf=\"group.bottomDivider && group.items.length\">\r\n <mat-divider></mat-divider>\r\n </div>\r\n</ng-container>", styles: [":host{display:inline-block}:host menu-item-list{display:block}.divider{margin:10px 0}.loader-container{padding-left:20px}\n"] }]
93
- }], () => [{ type: i1.Router }, { type: undefined, decorators: [{
94
- type: Optional
95
- }, {
96
- type: Inject,
97
- args: [MENU_SHARED_CONFIG]
98
- }] }, { type: i2.MenuItemsService }], { direction: [{
99
- type: Input
100
- }], isOpen: [{
101
- type: Input
102
- }], toggleCollapseEvent: [{
103
- type: Output
104
- }], active: [{
105
- type: Input
106
- }] }); })();
107
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuColumnsComponent, { className: "MenuColumnsComponent", filePath: "lib\\components\\menu-columns\\menu-columns.component.ts", lineNumber: 16 }); })();
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1jb2x1bW5zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWNvbHVtbnMvbWVudS1jb2x1bW5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWNvbHVtbnMvbWVudS1jb2x1bW5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUkvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7OztJQ1ByRCx5Q0FFMEI7SUFEdEIsdU9BQWdCLDhCQUF1QixLQUFDO0lBRTVDLGlCQUFpQjs7OztJQURiLEFBRGtFLEFBQXpCLEFBRDJDLEFBQTFCLDhDQUF5QiwrQkFBd0IsZ0NBQzFDLDJCQUF3Qix5QkFDcEU7OztJQUV6Qiw4QkFBMkQ7SUFDdkQsaUNBQTBEO0lBQzlELGlCQUFNOztJQURXLGNBQWU7SUFBZiw2QkFBZTs7O0lBRWhDLDhCQUF1RTtJQUNuRSw4QkFBMkI7SUFDL0IsaUJBQU07OztJQVZWLDZCQUFpRDtJQVE3QyxBQUhBLEFBSkEsMEdBRTBCLHVFQUVpQyx1RUFHWTs7OztJQVB0RCxjQUEyQztJQUEzQyxrRUFBMkM7SUFJN0IsY0FBMEI7SUFBMUIsOENBQTBCO0lBR25DLGNBQStDO0lBQS9DLHNFQUErQzs7QURPekUsTUFBTSxPQUFPLG9CQUFvQjtJQU8vQixJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLElBQWEsTUFBTSxDQUFDLEtBQXNCO1FBQ3hDLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEMsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1lBQzVCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFHRCxJQUFJLFlBQVksS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRWpFLFlBQ3FCLE1BQWMsRUFDMEIsZ0JBQWtDLEVBQzVFLGdCQUFrQztRQUZoQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQzBCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDNUUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNCNUMsY0FBUyxHQUF3QixtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDNUQsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNiLHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUEwQm5ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNyQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQXdCO1FBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDNUIsT0FBTztRQUNULENBQUM7UUFHQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEgsQ0FBQztxSEFoRFUsb0JBQW9CLHdEQTRCVCxrQkFBa0I7b0VBNUI3QixvQkFBb0I7WUNmakMsdUZBQWlEOztZQUFqQiwwQ0FBZTs7O2lGRGVsQyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDRSxjQUFjOztzQkFnQ3JCLFFBQVE7O3NCQUFJLE1BQU07dUJBQUMsa0JBQWtCO29EQTFCL0IsU0FBUztrQkFBakIsS0FBSztZQUNHLE1BQU07a0JBQWQsS0FBSztZQUNJLG1CQUFtQjtrQkFBNUIsTUFBTTtZQUlNLE1BQU07a0JBQWxCLEtBQUs7O2tGQVJLLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTUVOVV9TSEFSRURfQ09ORklHIH0gZnJvbSAnLi4vLi4vaW5qZWN0aW9uLXRva2Vucyc7XHJcbmltcG9ydCB7IEN1c3RvbU1lbnVJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2N1c3RvbS1tZW51LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBNZW51TGF5b3V0RGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21lbnUtbGF5b3V0LWRpcmVjdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IE1lbnVTaGFyZWRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWVudS1zaGFyZWQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgTWVudUl0ZW1zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lbnUtaXRlbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IEFjdGl2ZU1lbnVJdGVtcyB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFJlc29sdXRpb25IZWxwZXIgfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtZW51LWNvbHVtbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWNvbHVtbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUtY29sdW1ucy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51Q29sdW1uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogTWVudUxheW91dERpcmVjdGlvbiA9IE1lbnVMYXlvdXREaXJlY3Rpb24uY29sdW1uO1xyXG4gIEBJbnB1dCgpIGlzT3BlbiA9IHRydWU7XHJcbiAgQE91dHB1dCgpIHRvZ2dsZUNvbGxhcHNlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHByaXZhdGUgX2FjdGl2ZSE6IEFjdGl2ZU1lbnVJdGVtcztcclxuICBnZXQgYWN0aXZlKCkgeyByZXR1cm4gdGhpcy5fYWN0aXZlOyB9XHJcbiAgQElucHV0KCkgc2V0IGFjdGl2ZSh2YWx1ZTogQWN0aXZlTWVudUl0ZW1zKSB7XHJcbiAgICBpZiAodGhpcy50b2dnbGVPbk1vYmlsZVNlbGVjdCgpKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ29sbGFwc2VFdmVudC5lbWl0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fYWN0aXZlID0gdmFsdWU7XHJcblxyXG4gICAgaWYgKCF2YWx1ZSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZUl0ZW0gPSB1bmRlZmluZWQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVsZW1lbnRFeHBhbmRlZCh0aGlzLmFjdGl2ZT8ucm9vdClcclxuICB9XHJcblxyXG4gIGFjdGl2ZUl0ZW0/OiBDdXN0b21NZW51SXRlbTtcclxuICBnZXQgbWVyZ2VkR3JvdXBzKCkgeyByZXR1cm4gdGhpcy5tZW51SXRlbXNTZXJ2aWNlLm1lcmdlZEdyb3VwczsgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUVOVV9TSEFSRURfQ09ORklHKSBwcm90ZWN0ZWQgcmVhZG9ubHkgbWVudVNoYXJlZENvbmZpZzogTWVudVNoYXJlZENvbmZpZyxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVudUl0ZW1zU2VydmljZTogTWVudUl0ZW1zU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGl2ZUl0ZW0gPSB0aGlzLmFjdGl2ZS5yb290O1xyXG4gIH1cclxuXHJcbiAgZWxlbWVudEV4cGFuZGVkKGVsZW1lbnQ/OiBDdXN0b21NZW51SXRlbSkge1xyXG4gICAgaWYgKCF0aGlzLmFjdGl2ZSB8fCAhZWxlbWVudCkge1xyXG4gICAgICB0aGlzLmFjdGl2ZUl0ZW0gPSB1bmRlZmluZWQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgIFxyXG4gICAgICB0aGlzLmFjdGl2ZUl0ZW0gPSB0aGlzLmFjdGl2ZS5yb290O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVPbk1vYmlsZVNlbGVjdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmlzT3BlbiAmJiBSZXNvbHV0aW9uSGVscGVyLmlzTW9iaWxlUmVzKCkgJiYgKHRoaXMuYWN0aXZlICYmIE9iamVjdC52YWx1ZXModGhpcy5hY3RpdmUpPy5sZW5ndGggPiAwKTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZ3JvdXAgb2YgbWVyZ2VkR3JvdXBzXCI+XHJcbiAgICA8bWVudS1pdGVtLWxpc3QgKm5nSWY9XCJncm91cC5pdGVtcy5sZW5ndGggfHwgZ3JvdXAuc2hvd0VtcHR5XCIgW2FjdGl2ZUl0ZW1dPVwiYWN0aXZlSXRlbVwiIFtkaXJlY3Rpb25dPVwiZGlyZWN0aW9uXCJcclxuICAgICAgICAodG9nZ2xlRXhwYW5kKT1cImVsZW1lbnRFeHBhbmRlZCgkZXZlbnQpXCIgW2xhYmVsc1Zpc2libGVdPVwiaXNPcGVuXCIgW21lbnVJdGVtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgIFtpdGVtc109XCJncm91cC5pdGVtc1wiPlxyXG4gICAgPC9tZW51LWl0ZW0tbGlzdD5cclxuICAgIDxkaXYgY2xhc3M9XCJsb2FkZXItY29udGFpbmVyXCIgKm5nSWY9XCJncm91cC5pc0l0ZW1zTG9hZGluZ1wiPlxyXG4gICAgICAgIDxtYXQtc3Bpbm5lciBbZGlhbWV0ZXJdPVwiMjRcIiBjbGFzcz1cImxvYWRlclwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyXCIgKm5nSWY9XCJncm91cC5ib3R0b21EaXZpZGVyICYmIGdyb3VwLml0ZW1zLmxlbmd0aFwiPlxyXG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPiJdfQ==
@@ -1,54 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { MENU_ICON_STRAPI_EXTENSION } from '../../models';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/material/icon";
6
- function MenuIconComponent_ng_container_0_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
7
- i0.ɵɵelement(0, "mat-icon", 3);
8
- } if (rf & 2) {
9
- const ctx_r0 = i0.ɵɵnextContext(2);
10
- i0.ɵɵproperty("svgIcon", ctx_r0.menuItem.icon);
11
- } }
12
- function MenuIconComponent_ng_container_0_ng_template_2_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelementStart(0, "span", 4);
14
- i0.ɵɵtext(1);
15
- i0.ɵɵelementEnd();
16
- } if (rf & 2) {
17
- const ctx_r0 = i0.ɵɵnextContext(2);
18
- i0.ɵɵclassProp("material-icons-outlined", ctx_r0.menuItem == null ? null : ctx_r0.menuItem.isIconOutlined);
19
- i0.ɵɵadvance();
20
- i0.ɵɵtextInterpolate(ctx_r0.menuItem.icon);
21
- } }
22
- function MenuIconComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) {
23
- i0.ɵɵelementContainerStart(0);
24
- i0.ɵɵtemplate(1, MenuIconComponent_ng_container_0_mat_icon_1_Template, 1, 1, "mat-icon", 2)(2, MenuIconComponent_ng_container_0_ng_template_2_Template, 2, 3, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
25
- i0.ɵɵelementContainerEnd();
26
- } if (rf & 2) {
27
- const materialIcon_r2 = i0.ɵɵreference(3);
28
- const ctx_r0 = i0.ɵɵnextContext();
29
- i0.ɵɵadvance();
30
- i0.ɵɵproperty("ngIf", !ctx_r0.menuItem.materialIcon)("ngIfElse", materialIcon_r2);
31
- } }
32
- export class MenuIconComponent {
33
- constructor() {
34
- this.svgExtension = MENU_ICON_STRAPI_EXTENSION;
35
- }
36
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
- isIconMediaType(icon) {
38
- return typeof icon !== "string";
39
- }
40
- static { this.ɵfac = function MenuIconComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuIconComponent)(); }; }
41
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuIconComponent, selectors: [["tld-menu-icon"]], inputs: { menuItem: "menuItem" }, decls: 1, vars: 1, consts: [["materialIcon", ""], [4, "ngIf"], ["class", "menu-icon", 3, "svgIcon", 4, "ngIf", "ngIfElse"], [1, "menu-icon", 3, "svgIcon"], [1, "material-icons", "menu-icon"]], template: function MenuIconComponent_Template(rf, ctx) { if (rf & 1) {
42
- i0.ɵɵtemplate(0, MenuIconComponent_ng_container_0_Template, 4, 2, "ng-container", 1);
43
- } if (rf & 2) {
44
- i0.ɵɵproperty("ngIf", ctx.menuItem.icon);
45
- } }, dependencies: [i1.NgIf, i2.MatIcon], styles: [".menu-icon[_ngcontent-%COMP%]{color:var(--base-30);margin:auto;min-width:24px;min-height:24px;max-width:24px;max-height:24px;vertical-align:middle}"] }); }
46
- }
47
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuIconComponent, [{
48
- type: Component,
49
- args: [{ selector: 'tld-menu-icon', template: "<ng-container *ngIf=\"menuItem.icon\">\r\n <mat-icon class=\"menu-icon\" [svgIcon]=\"menuItem.icon\" *ngIf=\"!menuItem.materialIcon; else materialIcon;\"></mat-icon>\r\n <ng-template #materialIcon>\r\n <span class=\"material-icons menu-icon\" [class.material-icons-outlined]=\"menuItem?.isIconOutlined\">{{menuItem.icon}}</span>\r\n </ng-template>\r\n</ng-container>\r\n", styles: [".menu-icon{color:var(--base-30);margin:auto;min-width:24px;min-height:24px;max-width:24px;max-height:24px;vertical-align:middle}\n"] }]
50
- }], null, { menuItem: [{
51
- type: Input
52
- }] }); })();
53
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuIconComponent, { className: "MenuIconComponent", filePath: "lib\\components\\menu-icon\\menu-icon.component.ts", lineNumber: 10 }); })();
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pY29uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWljb24vbWVudS1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWljb24vbWVudS1pY29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBa0IsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0lDRHhFLDhCQUFvSDs7O0lBQXhGLDhDQUF5Qjs7O0lBRW5ELCtCQUFrRztJQUFBLFlBQWlCO0lBQUEsaUJBQU87OztJQUFuRiwwR0FBMEQ7SUFBQyxjQUFpQjtJQUFqQiwwQ0FBaUI7OztJQUh2SCw2QkFBb0M7SUFFbEMsQUFEQSwyRkFBeUcscUhBQzlFOzs7OztJQUQ0QixjQUE4QjtJQUFBLEFBQTlCLG9EQUE4Qiw2QkFBa0I7O0FEUXpHLE1BQU0sT0FBTyxpQkFBaUI7SUFMOUI7UUFNVyxpQkFBWSxHQUFHLDBCQUEwQixDQUFDO0tBUXBEO0lBSkMsOERBQThEO0lBQzlELGVBQWUsQ0FBQyxJQUFTO1FBQ3ZCLE9BQU8sT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDO0lBQ2xDLENBQUM7a0hBUlUsaUJBQWlCO29FQUFqQixpQkFBaUI7WUNUOUIsb0ZBQW9DOztZQUFyQix3Q0FBbUI7OztpRkRTckIsaUJBQWlCO2NBTDdCLFNBQVM7MkJBQ0UsZUFBZTtnQkFPaEIsUUFBUTtrQkFBaEIsS0FBSzs7a0ZBSEssaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZWRpYSB9IGZyb20gJ0B0aWxkZS1ubHAvc3RyYXBpLW1vZGVscyc7XHJcbmltcG9ydCB7IEN1c3RvbU1lbnVJdGVtLCBNRU5VX0lDT05fU1RSQVBJX0VYVEVOU0lPTiB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC1tZW51LWljb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LWljb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL21lbnUtaWNvbi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51SWNvbkNvbXBvbmVudCB7XHJcbiAgcmVhZG9ubHkgc3ZnRXh0ZW5zaW9uID0gTUVOVV9JQ09OX1NUUkFQSV9FWFRFTlNJT047XHJcblxyXG4gIEBJbnB1dCgpIG1lbnVJdGVtITogQ3VzdG9tTWVudUl0ZW07XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgaXNJY29uTWVkaWFUeXBlKGljb246IGFueSk6IGljb24gaXMgTWVkaWEge1xyXG4gICAgcmV0dXJuIHR5cGVvZiBpY29uICE9PSBcInN0cmluZ1wiO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibWVudUl0ZW0uaWNvblwiPlxyXG4gIDxtYXQtaWNvbiBjbGFzcz1cIm1lbnUtaWNvblwiIFtzdmdJY29uXT1cIm1lbnVJdGVtLmljb25cIiAqbmdJZj1cIiFtZW51SXRlbS5tYXRlcmlhbEljb247IGVsc2UgbWF0ZXJpYWxJY29uO1wiPjwvbWF0LWljb24+XHJcbiAgPG5nLXRlbXBsYXRlICNtYXRlcmlhbEljb24+XHJcbiAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIG1lbnUtaWNvblwiIFtjbGFzcy5tYXRlcmlhbC1pY29ucy1vdXRsaW5lZF09XCJtZW51SXRlbT8uaXNJY29uT3V0bGluZWRcIj57e21lbnVJdGVtLmljb259fTwvc3Bhbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -1,77 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@ngbracket/ngx-layout/flex";
4
- import * as i2 from "@ngbracket/ngx-layout/extended";
5
- import * as i3 from "@angular/common";
6
- import * as i4 from "@angular/material/icon";
7
- import * as i5 from "@angular/material/button";
8
- import * as i6 from "@angular/material/menu";
9
- import * as i7 from "@ngx-translate/core";
10
- function MenuItemBtnComponent_ng_container_4_button_8_Template(rf, ctx) { if (rf & 1) {
11
- const _r2 = i0.ɵɵgetCurrentView();
12
- i0.ɵɵelementStart(0, "button", 7);
13
- i0.ɵɵlistener("click", function MenuItemBtnComponent_ng_container_4_button_8_Template_button_click_0_listener() { const item_r3 = i0.ɵɵrestoreView(_r2).$implicit; return i0.ɵɵresetView(item_r3.onOptionClick()); });
14
- i0.ɵɵtext(1);
15
- i0.ɵɵpipe(2, "translate");
16
- i0.ɵɵelementEnd();
17
- } if (rf & 2) {
18
- const item_r3 = ctx.$implicit;
19
- i0.ɵɵadvance();
20
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, item_r3.title), " ");
21
- } }
22
- function MenuItemBtnComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
23
- const _r1 = i0.ɵɵgetCurrentView();
24
- i0.ɵɵelementContainerStart(0);
25
- i0.ɵɵelementStart(1, "div")(2, "button", 5, 0);
26
- i0.ɵɵlistener("click", function MenuItemBtnComponent_ng_container_4_Template_button_click_2_listener($event) { i0.ɵɵrestoreView(_r1); $event.preventDefault(); return i0.ɵɵresetView($event.stopImmediatePropagation()); });
27
- i0.ɵɵelementStart(4, "mat-icon");
28
- i0.ɵɵtext(5, "more_vert");
29
- i0.ɵɵelementEnd()();
30
- i0.ɵɵelementStart(6, "mat-menu", null, 1);
31
- i0.ɵɵtemplate(8, MenuItemBtnComponent_ng_container_4_button_8_Template, 3, 3, "button", 6);
32
- i0.ɵɵelementEnd()();
33
- i0.ɵɵelementContainerEnd();
34
- } if (rf & 2) {
35
- const menuTrigger_r4 = i0.ɵɵreference(3);
36
- const menu_r5 = i0.ɵɵreference(7);
37
- const ctx_r5 = i0.ɵɵnextContext();
38
- i0.ɵɵadvance();
39
- i0.ɵɵclassProp("open", menuTrigger_r4 == null ? null : menuTrigger_r4.menuOpen);
40
- i0.ɵɵadvance();
41
- i0.ɵɵproperty("matMenuTriggerFor", menu_r5);
42
- i0.ɵɵadvance(6);
43
- i0.ɵɵproperty("ngForOf", ctx_r5.menuItem.subMenu);
44
- } }
45
- export class MenuItemBtnComponent {
46
- static { this.ɵfac = function MenuItemBtnComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuItemBtnComponent)(); }; }
47
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemBtnComponent, selectors: [["lib-menu-item-btn"]], inputs: { direction: "direction", activeItem: "activeItem", menuItem: "menuItem" }, decls: 5, vars: 8, consts: [["menuTrigger", "matMenuTrigger"], ["menu", "matMenu"], ["fxLayoutAlign", "space-between start", 1, "menu-item", "w-full", "flex", "justify-center", "items-center", 3, "click", "ngClass.lt-md"], [1, "btn-label"], [4, "ngIf"], ["mat-icon-button", "", 1, "sub-menu-btn", 3, "click", "matMenuTriggerFor"], ["mat-menu-item", "", 3, "click", 4, "ngFor", "ngForOf"], ["mat-menu-item", "", 3, "click"]], template: function MenuItemBtnComponent_Template(rf, ctx) { if (rf & 1) {
48
- i0.ɵɵelementStart(0, "button", 2);
49
- i0.ɵɵlistener("click", function MenuItemBtnComponent_Template_button_click_0_listener() { return ctx.menuItem.clickAction && ctx.menuItem.clickAction(); });
50
- i0.ɵɵelementStart(1, "span", 3);
51
- i0.ɵɵtext(2);
52
- i0.ɵɵpipe(3, "translate");
53
- i0.ɵɵelementEnd();
54
- i0.ɵɵtemplate(4, MenuItemBtnComponent_ng_container_4_Template, 9, 4, "ng-container", 4);
55
- i0.ɵɵelementEnd();
56
- } if (rf & 2) {
57
- i0.ɵɵclassProp("active-menu-item", ctx.menuItem.isItemActive ? ctx.menuItem.isItemActive(ctx.menuItem.customId) : ctx.menuItem === ctx.activeItem);
58
- i0.ɵɵproperty("ngClass.lt-md", "mobile");
59
- i0.ɵɵattribute("id", ctx.menuItem.customId);
60
- i0.ɵɵadvance(2);
61
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 6, ctx.menuItem.title), " ");
62
- i0.ɵɵadvance(2);
63
- i0.ɵɵproperty("ngIf", ctx.menuItem.subMenu == null ? null : ctx.menuItem.subMenu.length);
64
- } }, dependencies: [i1.DefaultLayoutAlignDirective, i2.DefaultClassDirective, i3.NgForOf, i3.NgIf, i4.MatIcon, i5.MatIconButton, i6.MatMenu, i6.MatMenuItem, i6.MatMenuTrigger, i7.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.menu-item[_ngcontent-%COMP%]:not(:hover) .sub-menu-btn[_ngcontent-%COMP%]{display:none}.menu-item[_ngcontent-%COMP%]:has(.open){background-color:var(--base-95)!important}.open[_ngcontent-%COMP%] .sub-menu-btn[_ngcontent-%COMP%]{display:block!important}.mobile[_ngcontent-%COMP%] .btn-label[_ngcontent-%COMP%]{margin-left:5px}.btn-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;line-height:20px;letter-spacing:.1px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}"] }); }
65
- }
66
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemBtnComponent, [{
67
- type: Component,
68
- args: [{ selector: 'lib-menu-item-btn', standalone: false, template: "<button\r\n [ngClass.lt-md]=\"'mobile'\"\r\n [attr.id]=\"menuItem.customId\"\r\n class=\"menu-item w-full flex justify-center items-center\"\r\n fxLayoutAlign=\"space-between start\"\r\n [class.active-menu-item]=\"menuItem.isItemActive ? menuItem.isItemActive(menuItem.customId) : menuItem === activeItem\"\r\n (click)=\"menuItem.clickAction && menuItem.clickAction()\"\r\n>\r\n <span class=\"btn-label\">\r\n {{ menuItem.title | translate }}\r\n </span>\r\n <ng-container *ngIf=\"menuItem.subMenu?.length\">\r\n <div [class.open]=\"menuTrigger?.menuOpen\">\r\n <button\r\n class=\"sub-menu-btn\"\r\n mat-icon-button\r\n [matMenuTriggerFor]=\"menu\"\r\n #menuTrigger=\"matMenuTrigger\"\r\n (click)=\"$event.preventDefault(); $event.stopImmediatePropagation()\"\r\n >\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let item of menuItem.subMenu\"\r\n mat-menu-item\r\n (click)=\"item.onOptionClick()\"\r\n >\r\n {{ item.title | translate }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n </ng-container>\r\n</button>\r\n", styles: [":host{width:100%}.menu-item:not(:hover) .sub-menu-btn{display:none}.menu-item:has(.open){background-color:var(--base-95)!important}.open .sub-menu-btn{display:block!important}.mobile .btn-label{margin-left:5px}.btn-label{font-size:14px;font-weight:500;line-height:20px;letter-spacing:.1px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
69
- }], null, { direction: [{
70
- type: Input
71
- }], activeItem: [{
72
- type: Input
73
- }], menuItem: [{
74
- type: Input
75
- }] }); })();
76
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuItemBtnComponent, { className: "MenuItemBtnComponent", filePath: "lib\\components\\menu-item-btn\\menu-item-btn.component.ts", lineNumber: 10 }); })();
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWJ0bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWVudS9zcmMvbGliL2NvbXBvbmVudHMvbWVudS1pdGVtLWJ0bi9tZW51LWl0ZW0tYnRuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tYnRuL21lbnUtaXRlbS1idG4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0lDdUIzQyxpQ0FJQztJQURDLHlMQUFTLHVCQUFvQixLQUFDO0lBRTlCLFlBQ0Y7O0lBQUEsaUJBQVM7OztJQURQLGNBQ0Y7SUFERSxvRUFDRjs7OztJQWxCSiw2QkFBK0M7SUFFM0MsQUFERiwyQkFBMEMsbUJBT3ZDO0lBREMsc0lBQVMsdUJBQXVCLHdCQUFFLGlDQUFpQyxLQUFDO0lBRXBFLGdDQUFVO0lBQUEseUJBQVM7SUFDckIsQUFEcUIsaUJBQVcsRUFDdkI7SUFDWCx5Q0FBMEI7SUFDeEIsMEZBSUM7SUFJSCxBQURBLGlCQUFXLEVBQ0w7Ozs7OztJQW5CRCxjQUFvQztJQUFwQywrRUFBb0M7SUFJckMsY0FBMEI7SUFBMUIsMkNBQTBCO0lBUVQsZUFBbUI7SUFBbkIsaURBQW1COztBRGY1QyxNQUFNLE9BQU8sb0JBQW9CO3FIQUFwQixvQkFBb0I7b0VBQXBCLG9CQUFvQjtZQ1RqQyxpQ0FPQztZQURDLDZIQUFpQywwQkFBc0IsSUFBQztZQUV4RCwrQkFBd0I7WUFDdEIsWUFDRjs7WUFBQSxpQkFBTztZQUNQLHVGQUErQztZQXNCakQsaUJBQVM7O1lBNUJQLGtKQUFxSDtZQUpySCx3Q0FBMEI7O1lBUXhCLGVBQ0Y7WUFERSx5RUFDRjtZQUNlLGVBQThCO1lBQTlCLHdGQUE4Qjs7O2lGREZsQyxvQkFBb0I7Y0FOaEMsU0FBUzsyQkFDRSxtQkFBbUIsY0FDakIsS0FBSztnQkFLUixTQUFTO2tCQUFqQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7O2tGQUhLLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ3VzdG9tTWVudUl0ZW0sIE1lbnVMYXlvdXREaXJlY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbWVudS1pdGVtLWJ0bicsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2UsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1idG4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9tZW51LWl0ZW0tYnRuLmNvbXBvbmVudC5zY3NzJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtQnRuQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBkaXJlY3Rpb24hOiBNZW51TGF5b3V0RGlyZWN0aW9uO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW0hOiBDdXN0b21NZW51SXRlbSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBtZW51SXRlbSE6IEN1c3RvbU1lbnVJdGVtO1xyXG59XHJcbiIsIjxidXR0b25cclxuICBbbmdDbGFzcy5sdC1tZF09XCInbW9iaWxlJ1wiXHJcbiAgW2F0dHIuaWRdPVwibWVudUl0ZW0uY3VzdG9tSWRcIlxyXG4gIGNsYXNzPVwibWVudS1pdGVtIHctZnVsbCBmbGV4IGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiXHJcbiAgZnhMYXlvdXRBbGlnbj1cInNwYWNlLWJldHdlZW4gc3RhcnRcIlxyXG4gIFtjbGFzcy5hY3RpdmUtbWVudS1pdGVtXT1cIm1lbnVJdGVtLmlzSXRlbUFjdGl2ZSA/IG1lbnVJdGVtLmlzSXRlbUFjdGl2ZShtZW51SXRlbS5jdXN0b21JZCkgOiBtZW51SXRlbSA9PT0gYWN0aXZlSXRlbVwiXHJcbiAgKGNsaWNrKT1cIm1lbnVJdGVtLmNsaWNrQWN0aW9uICYmIG1lbnVJdGVtLmNsaWNrQWN0aW9uKClcIlxyXG4+XHJcbiAgPHNwYW4gY2xhc3M9XCJidG4tbGFiZWxcIj5cclxuICAgIHt7IG1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtZW51SXRlbS5zdWJNZW51Py5sZW5ndGhcIj5cclxuICAgIDxkaXYgW2NsYXNzLm9wZW5dPVwibWVudVRyaWdnZXI/Lm1lbnVPcGVuXCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cInN1Yi1tZW51LWJ0blwiXHJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIlxyXG4gICAgICAgICNtZW51VHJpZ2dlcj1cIm1hdE1lbnVUcmlnZ2VyXCJcclxuICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7ICRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51SXRlbS5zdWJNZW51XCJcclxuICAgICAgICBtYXQtbWVudS1pdGVtXHJcbiAgICAgICAgKGNsaWNrKT1cIml0ZW0ub25PcHRpb25DbGljaygpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGl0ZW0udGl0bGUgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvYnV0dG9uPlxyXG4iXX0=
@@ -1,91 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { MenuLayoutDirection } from '../../models';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@tilde-nlp/ngx-strapi";
5
- import * as i2 from "@ngbracket/ngx-layout/flex";
6
- import * as i3 from "@ngbracket/ngx-layout/extended";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "@angular/material/tooltip";
9
- import * as i6 from "@tilde-nlp/ngx-common";
10
- import * as i7 from "../menu-icon/menu-icon.component";
11
- import * as i8 from "@ngx-translate/core";
12
- function MenuItemLinkComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
13
- i0.ɵɵelementContainerStart(0);
14
- i0.ɵɵelement(1, "tld-menu-icon", 3);
15
- i0.ɵɵelementContainerEnd();
16
- } if (rf & 2) {
17
- const ctx_r0 = i0.ɵɵnextContext();
18
- i0.ɵɵadvance();
19
- i0.ɵɵproperty("menuItem", ctx_r0.menuItem);
20
- } }
21
- function MenuItemLinkComponent_span_4_Template(rf, ctx) { if (rf & 1) {
22
- i0.ɵɵelementStart(0, "span", 4)(1, "span", 5);
23
- i0.ɵɵpipe(2, "translate");
24
- i0.ɵɵtext(3);
25
- i0.ɵɵpipe(4, "translate");
26
- i0.ɵɵelementEnd()();
27
- } if (rf & 2) {
28
- const ctx_r0 = i0.ɵɵnextContext();
29
- i0.ɵɵadvance();
30
- i0.ɵɵattribute("content", i0.ɵɵpipeBind1(2, 2, ctx_r0.menuItem.title));
31
- i0.ɵɵadvance(2);
32
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 4, ctx_r0.menuItem.title), " ");
33
- } }
34
- export class MenuItemLinkComponent {
35
- get menuItemLayout() {
36
- return this.direction === MenuLayoutDirection.column ? 'column' : 'row';
37
- }
38
- get menuLayoutDirection() {
39
- return (this.direction === MenuLayoutDirection.column || !this.labelsVisible)
40
- ? 'start center' : 'start start';
41
- }
42
- constructor(strapiLinkService, placeholderService) {
43
- this.strapiLinkService = strapiLinkService;
44
- this.placeholderService = placeholderService;
45
- this.showIcons = true;
46
- this.updateTextWithPlaceholders = (textWithReplacedPlaceholders) => this.href = textWithReplacedPlaceholders;
47
- }
48
- ngOnInit() {
49
- this.textWithPlaceholders = this.menuItem.link;
50
- this.placeholderServiceId = this.placeholderService.register(this);
51
- }
52
- linkClick(event, item) {
53
- this.strapiLinkService.strapiLinkClick(event, item.externalLink);
54
- }
55
- ngOnDestroy() {
56
- this.placeholderService.unregister(this.placeholderServiceId);
57
- }
58
- static { this.ɵfac = function MenuItemLinkComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MenuItemLinkComponent)(i0.ɵɵdirectiveInject(i1.StrapiLinkService), i0.ɵɵdirectiveInject(i1.StrapiVariablesService)); }; }
59
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuItemLinkComponent, selectors: [["tld-menu-item-link"]], inputs: { direction: "direction", labelsVisible: "labelsVisible", activeItem: "activeItem", showIcons: "showIcons", menuItem: "menuItem" }, decls: 5, vars: 17, consts: [["matTooltipClass", "menu-tooltip", "matTooltipPosition", "after", 1, "text-m", "menu-item", 3, "click", "matTooltip", "fxLayout", "fxLayoutAlign", "libPlausibleEvent", "href", "ngClass.lt-md"], [4, "ngIf"], ["class", "menu-item-title", 4, "ngIf"], [3, "menuItem"], [1, "menu-item-title"], [1, "title-content"]], template: function MenuItemLinkComponent_Template(rf, ctx) { if (rf & 1) {
60
- i0.ɵɵelementStart(0, "a", 0);
61
- i0.ɵɵpipe(1, "translate");
62
- i0.ɵɵpipe(2, "translate");
63
- i0.ɵɵlistener("click", function MenuItemLinkComponent_Template_a_click_0_listener($event) { return ctx.linkClick($event, ctx.menuItem); });
64
- i0.ɵɵtemplate(3, MenuItemLinkComponent_ng_container_3_Template, 2, 1, "ng-container", 1)(4, MenuItemLinkComponent_span_4_Template, 5, 6, "span", 2);
65
- i0.ɵɵelementEnd();
66
- } if (rf & 2) {
67
- i0.ɵɵclassProp("text-center", ctx.menuItemLayout === "column")("active-menu-item", ctx.menuItem === ctx.activeItem);
68
- i0.ɵɵproperty("matTooltip", !ctx.labelsVisible ? i0.ɵɵpipeBind1(1, 13, ctx.menuItem.title) : "")("fxLayout", ctx.menuItemLayout)("fxLayoutAlign", ctx.menuLayoutDirection)("libPlausibleEvent", ctx.menuItem.plausibleEvent)("href", i0.ɵɵpipeBind1(2, 15, ctx.href), i0.ɵɵsanitizeUrl)("ngClass.lt-md", "mobile");
69
- i0.ɵɵattribute("target", ctx.menuItem.externalLink ? "_blank" : "_self");
70
- i0.ɵɵadvance(3);
71
- i0.ɵɵproperty("ngIf", ctx.showIcons && ctx.menuItem.icon);
72
- i0.ɵɵadvance();
73
- i0.ɵɵproperty("ngIf", ctx.labelsVisible);
74
- } }, dependencies: [i2.DefaultLayoutDirective, i2.DefaultLayoutAlignDirective, i3.DefaultClassDirective, i4.NgIf, i5.MatTooltip, i6.PlausibleEventDirective, i7.MenuIconComponent, i8.TranslatePipe], styles: ["[_nghost-%COMP%]{width:100%}.mobile[_ngcontent-%COMP%] .menu-item-title[_ngcontent-%COMP%]{margin-left:5px}"] }); }
75
- }
76
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemLinkComponent, [{
77
- type: Component,
78
- args: [{ selector: 'tld-menu-item-link', template: "<a\r\n class=\"text-m menu-item\"\r\n matTooltipClass=\"menu-tooltip\"\r\n matTooltipPosition=\"after\"\r\n [matTooltip]=\"!labelsVisible ? (menuItem.title | translate) : ''\"\r\n [fxLayout]=\"menuItemLayout\"\r\n [fxLayoutAlign]=\"menuLayoutDirection\"\r\n [libPlausibleEvent]=\"menuItem.plausibleEvent\"\r\n [href]=\"href | translate\"\r\n [attr.target]=\"menuItem.externalLink ? '_blank' : '_self'\"\r\n [ngClass.lt-md]=\"'mobile'\"\r\n [class.text-center]=\"menuItemLayout === 'column'\"\r\n [class.active-menu-item]=\"menuItem === activeItem\"\r\n (click)=\"linkClick($event, menuItem)\"\r\n>\r\n <ng-container *ngIf=\"showIcons && menuItem.icon\">\r\n <tld-menu-icon [menuItem]=\"menuItem\"></tld-menu-icon>\r\n </ng-container>\r\n <span *ngIf=\"labelsVisible\" class=\"menu-item-title\">\r\n <span class=\"title-content\" [attr.content]=\"menuItem.title | translate\">\r\n {{ menuItem.title | translate }}\r\n </span>\r\n </span>\r\n</a>\r\n", styles: [":host{width:100%}.mobile .menu-item-title{margin-left:5px}\n"] }]
79
- }], () => [{ type: i1.StrapiLinkService }, { type: i1.StrapiVariablesService }], { direction: [{
80
- type: Input
81
- }], labelsVisible: [{
82
- type: Input
83
- }], activeItem: [{
84
- type: Input
85
- }], showIcons: [{
86
- type: Input
87
- }], menuItem: [{
88
- type: Input
89
- }] }); })();
90
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuItemLinkComponent, { className: "MenuItemLinkComponent", filePath: "lib\\components\\menu-item-link\\menu-item-link.component.ts", lineNumber: 10 }); })();
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1lbnUvc3JjL2xpYi9jb21wb25lbnRzL21lbnUtaXRlbS1saW5rL21lbnUtaXRlbS1saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tZW51L3NyYy9saWIvY29tcG9uZW50cy9tZW51LWl0ZW0tbGluay9tZW51LWl0ZW0tbGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFrQixtQkFBbUIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7SUNhakUsNkJBQWlEO0lBQy9DLG1DQUFxRDs7OztJQUF0QyxjQUFxQjtJQUFyQiwwQ0FBcUI7OztJQUdwQyxBQURGLCtCQUFvRCxjQUNzQjs7SUFDdEUsWUFDRjs7SUFDRixBQURFLGlCQUFPLEVBQ0Y7OztJQUh1QixjQUEyQzs7SUFDckUsZUFDRjtJQURFLDRFQUNGOztBRFpKLE1BQU0sT0FBTyxxQkFBcUI7SUFXaEMsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzFFLENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxtQkFBbUIsQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQzNFLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBNkIsaUJBQW9DLEVBQzlDLGtCQUEwQztRQURoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBd0I7UUFqQnBELGNBQVMsR0FBRyxJQUFJLENBQUM7UUE0QjFCLCtCQUEwQixHQUFHLENBQUMsNEJBQW9DLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsNEJBQTRCLENBQUM7SUFYL0MsQ0FBQztJQUVsRSxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQy9DLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBaUIsRUFBRSxJQUFvQjtRQUMvQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUlELFdBQVc7UUFDVCxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7c0hBcENVLHFCQUFxQjtvRUFBckIscUJBQXFCO1lDVGxDLDRCQWNDOzs7WUFEQyxtR0FBUyxtQ0FBMkIsSUFBQztZQUtyQyxBQUhBLHdGQUFpRCwyREFHRztZQUt0RCxpQkFBSTs7WUFYRixBQURBLDhEQUFpRCxxREFDQztZQUZsRCxBQUZBLEFBREEsQUFEQSxBQURBLEFBREEsZ0dBQWlFLGdDQUN0QywwQ0FDVSxrREFDUSwyREFDcEIsMkJBRUM7O1lBS1gsZUFBZ0M7WUFBaEMseURBQWdDO1lBR3hDLGNBQW1CO1lBQW5CLHdDQUFtQjs7O2lGRFRmLHFCQUFxQjtjQUxqQyxTQUFTOzJCQUNFLG9CQUFvQjt1RkFLckIsU0FBUztrQkFBakIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7O2tGQUxLLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBsYWNlaG9sZGVyQ29tcG9uZW50QmFzZSwgU3RyYXBpTGlua1NlcnZpY2UsIFN0cmFwaVZhcmlhYmxlc1NlcnZpY2UgfSBmcm9tICdAdGlsZGUtbmxwL25neC1zdHJhcGknO1xyXG5pbXBvcnQgeyBDdXN0b21NZW51SXRlbSwgTWVudUxheW91dERpcmVjdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC1tZW51LWl0ZW0tbGluaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1saW5rLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0tbGluay5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51SXRlbUxpbmtDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgUGxhY2Vob2xkZXJDb21wb25lbnRCYXNlIHtcclxuICBASW5wdXQoKSBkaXJlY3Rpb24hOiBNZW51TGF5b3V0RGlyZWN0aW9uO1xyXG4gIEBJbnB1dCgpIGxhYmVsc1Zpc2libGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGFjdGl2ZUl0ZW0hOiBDdXN0b21NZW51SXRlbSB8IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBzaG93SWNvbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIG1lbnVJdGVtITogQ3VzdG9tTWVudUl0ZW07XHJcblxyXG4gIHRleHRXaXRoUGxhY2Vob2xkZXJzITogc3RyaW5nO1xyXG4gIGhyZWYhOiBzdHJpbmc7XHJcblxyXG4gIHByaXZhdGUgcGxhY2Vob2xkZXJTZXJ2aWNlSWQhOiBudW1iZXI7XHJcbiAgZ2V0IG1lbnVJdGVtTGF5b3V0KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb24gPT09IE1lbnVMYXlvdXREaXJlY3Rpb24uY29sdW1uID8gJ2NvbHVtbicgOiAncm93JztcclxuICB9XHJcblxyXG4gIGdldCBtZW51TGF5b3V0RGlyZWN0aW9uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKHRoaXMuZGlyZWN0aW9uID09PSBNZW51TGF5b3V0RGlyZWN0aW9uLmNvbHVtbiB8fCAhdGhpcy5sYWJlbHNWaXNpYmxlKVxyXG4gICAgICA/ICdzdGFydCBjZW50ZXInIDogJ3N0YXJ0IHN0YXJ0JztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RyYXBpTGlua1NlcnZpY2U6IFN0cmFwaUxpbmtTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlclNlcnZpY2U6IFN0cmFwaVZhcmlhYmxlc1NlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGV4dFdpdGhQbGFjZWhvbGRlcnMgPSB0aGlzLm1lbnVJdGVtLmxpbms7XHJcbiAgICB0aGlzLnBsYWNlaG9sZGVyU2VydmljZUlkID0gdGhpcy5wbGFjZWhvbGRlclNlcnZpY2UucmVnaXN0ZXIodGhpcyk7XHJcbiAgfVxyXG5cclxuICBsaW5rQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGl0ZW06IEN1c3RvbU1lbnVJdGVtKSB7XHJcbiAgICB0aGlzLnN0cmFwaUxpbmtTZXJ2aWNlLnN0cmFwaUxpbmtDbGljayhldmVudCwgaXRlbS5leHRlcm5hbExpbmspO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVGV4dFdpdGhQbGFjZWhvbGRlcnMgPSAodGV4dFdpdGhSZXBsYWNlZFBsYWNlaG9sZGVyczogc3RyaW5nKSA9PiB0aGlzLmhyZWYgPSB0ZXh0V2l0aFJlcGxhY2VkUGxhY2Vob2xkZXJzO1xyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhY2Vob2xkZXJTZXJ2aWNlLnVucmVnaXN0ZXIodGhpcy5wbGFjZWhvbGRlclNlcnZpY2VJZCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhXHJcbiAgY2xhc3M9XCJ0ZXh0LW0gbWVudS1pdGVtXCJcclxuICBtYXRUb29sdGlwQ2xhc3M9XCJtZW51LXRvb2x0aXBcIlxyXG4gIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFmdGVyXCJcclxuICBbbWF0VG9vbHRpcF09XCIhbGFiZWxzVmlzaWJsZSA/IChtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSkgOiAnJ1wiXHJcbiAgW2Z4TGF5b3V0XT1cIm1lbnVJdGVtTGF5b3V0XCJcclxuICBbZnhMYXlvdXRBbGlnbl09XCJtZW51TGF5b3V0RGlyZWN0aW9uXCJcclxuICBbbGliUGxhdXNpYmxlRXZlbnRdPVwibWVudUl0ZW0ucGxhdXNpYmxlRXZlbnRcIlxyXG4gIFtocmVmXT1cImhyZWYgfCB0cmFuc2xhdGVcIlxyXG4gIFthdHRyLnRhcmdldF09XCJtZW51SXRlbS5leHRlcm5hbExpbmsgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxyXG4gIFtuZ0NsYXNzLmx0LW1kXT1cIidtb2JpbGUnXCJcclxuICBbY2xhc3MudGV4dC1jZW50ZXJdPVwibWVudUl0ZW1MYXlvdXQgPT09ICdjb2x1bW4nXCJcclxuICBbY2xhc3MuYWN0aXZlLW1lbnUtaXRlbV09XCJtZW51SXRlbSA9PT0gYWN0aXZlSXRlbVwiXHJcbiAgKGNsaWNrKT1cImxpbmtDbGljaygkZXZlbnQsIG1lbnVJdGVtKVwiXHJcbj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ljb25zICYmIG1lbnVJdGVtLmljb25cIj5cclxuICAgIDx0bGQtbWVudS1pY29uIFttZW51SXRlbV09XCJtZW51SXRlbVwiPjwvdGxkLW1lbnUtaWNvbj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8c3BhbiAqbmdJZj1cImxhYmVsc1Zpc2libGVcIiBjbGFzcz1cIm1lbnUtaXRlbS10aXRsZVwiPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS1jb250ZW50XCIgW2F0dHIuY29udGVudF09XCJtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICB7eyBtZW51SXRlbS50aXRsZSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuPC9hPlxyXG4iXX0=