aril 1.2.11 → 1.2.12

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.
@@ -147,7 +147,7 @@ export class SiteMapSidebarComponent {
147
147
  return node.key || `${index}`;
148
148
  }
149
149
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SiteMapSidebarComponent, deps: [{ token: i1.LayoutService }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: SiteMapSidebarComponent, isStandalone: true, selector: "app-site-map-sidebar", ngImport: i0, template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\n\t*transloco=\"let t; read: 'siteMap'\">\n\t<ng-template pTemplate=\"header\">\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\n\t\t\t<div class=\"flex align-items-center gap-2\">\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n\n\t<div class=\"sitemap-content\">\n\t\t<div class=\"search-section grid p-fluid m-0\">\n\t\t\t<aril-text\n\t\t\t\t[placeholder]=\"t('searchPages')\"\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\n\t\t\t\tclass=\"col-10 m-0\">\n\t\t\t</aril-text>\n\t\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"expandAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"collapseAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\n\t\t<!-- Site Map Tree -->\n\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"sitemap-tree\">\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\n\t\t\t\t\t<div class=\"tree-container\">\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</p-scrollPanel>\n\t\t\t</div>\n\t\t} @else {\n\t\t\t<div class=\"empty-state\">\n\t\t\t\t<div class=\"empty-content\">\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\n\t\t\t\t\t<h3 class=\"empty-title\">\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p class=\"empty-message\">\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\n\t\t\t\t\t</p>\n\t\t\t\t\t@if (searchTerm()) {\n\t\t\t\t\t\t<aril-button\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\n\t\t\t\t\t\t\ticon=\"TIMES\"\n\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t[outlined]=\"true\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\n\t\t\t\t\t\t</aril-button>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\n\t\t<!-- Recursive Tree Node Template -->\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"node-item\"\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\n\t\t\t\t\t<div class=\"node-content\">\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if (node.icon) {\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\n\n\t\t\t\t\t\t@if (node.routerLink) {\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Recursive Children -->\n\t\t\t\t@if (node.children && node.expanded) {\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</ng-template>\n\t</div>\n</p-sidebar>\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i6.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ScrollPanelModule }, { kind: "component", type: i8.ScrollPanel, selector: "p-scrollPanel", inputs: ["style", "styleClass", "step"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: TranslateJsonPipe, name: "translateJson" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i10.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
150
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: SiteMapSidebarComponent, isStandalone: true, selector: "app-site-map-sidebar", ngImport: i0, template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'siteMap'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\r\n\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\r\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"sitemap-content\">\r\n\t\t<div class=\"search-section grid p-fluid m-0\">\r\n\t\t\t<aril-text\r\n\t\t\t\t[placeholder]=\"t('searchPages')\"\r\n\t\t\t\t[(ngModel)]=\"searchTerm\"\r\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\r\n\t\t\t\tclass=\"col-10 m-0\">\r\n\t\t\t</aril-text>\r\n\t\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\r\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"expandAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"collapseAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t<!-- Site Map Tree -->\r\n\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"sitemap-tree\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"tree-container\">\r\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t@if (searchTerm()) {\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\r\n\t\t\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<!-- Recursive Tree Node Template -->\r\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\r\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"node-item\"\r\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\r\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\r\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\r\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\r\n\t\t\t\t\t<div class=\"node-content\">\r\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\r\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t@if (node.icon) {\r\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\r\n\r\n\t\t\t\t\t\t@if (node.routerLink) {\r\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Recursive Children -->\r\n\t\t\t\t@if (node.children && node.expanded) {\r\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</div>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i6.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ScrollPanelModule }, { kind: "component", type: i8.ScrollPanel, selector: "p-scrollPanel", inputs: ["style", "styleClass", "step"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i2.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: TranslateJsonPipe, name: "translateJson" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i10.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
151
151
  }
152
152
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SiteMapSidebarComponent, decorators: [{
153
153
  type: Component,
@@ -163,6 +163,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
163
163
  TranslocoModule,
164
164
  TranslateJsonPipe,
165
165
  FontAwesomeModule
166
- ], template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\n\t*transloco=\"let t; read: 'siteMap'\">\n\t<ng-template pTemplate=\"header\">\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\n\t\t\t<div class=\"flex align-items-center gap-2\">\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n\n\t<div class=\"sitemap-content\">\n\t\t<div class=\"search-section grid p-fluid m-0\">\n\t\t\t<aril-text\n\t\t\t\t[placeholder]=\"t('searchPages')\"\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\n\t\t\t\tclass=\"col-10 m-0\">\n\t\t\t</aril-text>\n\t\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"expandAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"collapseAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\n\t\t<!-- Site Map Tree -->\n\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"sitemap-tree\">\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\n\t\t\t\t\t<div class=\"tree-container\">\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</p-scrollPanel>\n\t\t\t</div>\n\t\t} @else {\n\t\t\t<div class=\"empty-state\">\n\t\t\t\t<div class=\"empty-content\">\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\n\t\t\t\t\t<h3 class=\"empty-title\">\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p class=\"empty-message\">\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\n\t\t\t\t\t</p>\n\t\t\t\t\t@if (searchTerm()) {\n\t\t\t\t\t\t<aril-button\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\n\t\t\t\t\t\t\ticon=\"TIMES\"\n\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t[outlined]=\"true\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\n\t\t\t\t\t\t</aril-button>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\n\t\t<!-- Recursive Tree Node Template -->\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"node-item\"\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\n\t\t\t\t\t<div class=\"node-content\">\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if (node.icon) {\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\n\n\t\t\t\t\t\t@if (node.routerLink) {\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Recursive Children -->\n\t\t\t\t@if (node.children && node.expanded) {\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</ng-template>\n\t</div>\n</p-sidebar>\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"] }]
166
+ ], template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'siteMap'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\r\n\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\r\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"sitemap-content\">\r\n\t\t<div class=\"search-section grid p-fluid m-0\">\r\n\t\t\t<aril-text\r\n\t\t\t\t[placeholder]=\"t('searchPages')\"\r\n\t\t\t\t[(ngModel)]=\"searchTerm\"\r\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\r\n\t\t\t\tclass=\"col-10 m-0\">\r\n\t\t\t</aril-text>\r\n\t\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\r\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"expandAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"collapseAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t<!-- Site Map Tree -->\r\n\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"sitemap-tree\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"tree-container\">\r\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t@if (searchTerm()) {\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\r\n\t\t\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<!-- Recursive Tree Node Template -->\r\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\r\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"node-item\"\r\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\r\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\r\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\r\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\r\n\t\t\t\t\t<div class=\"node-content\">\r\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\r\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t@if (node.icon) {\r\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\r\n\r\n\t\t\t\t\t\t@if (node.routerLink) {\r\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Recursive Children -->\r\n\t\t\t\t@if (node.children && node.expanded) {\r\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</div>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"] }]
167
167
  }], ctorParameters: () => [{ type: i1.LayoutService }, { type: i2.TranslocoService }] });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7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LHNYQUNiLGVBQWUsOE5BQ2YsYUFBYSxrTEFDYixlQUFlLDROQUNmLGlCQUFpQixxREFDakIsaUJBQWlCOzsyRkFLTix1QkFBdUI7a0JBbkJuQyxTQUFTO2lDQUNHLElBQUksWUFDTixzQkFBc0IsV0FDdkI7d0JBQ1IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFNjcm9sbFBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zY3JvbGxwYW5lbCc7XHJcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IGJyaWRnZSB9IGZyb20gJ2FyaWwvYm9vdC9icmlkZ2UnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3RleHQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVKc29uUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcblxyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgc29saWRJY29ucyB9IGZyb20gJ2FyaWwvdXRpbC9saWInO1xyXG5cclxuaW50ZXJmYWNlIE1lbnVOb2RlIHtcclxuXHRrZXk6IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nIHwgb2JqZWN0O1xyXG5cdGljb24/OiBzdHJpbmc7XHJcblx0cm91dGVyTGluaz86IHN0cmluZztcclxuXHRjaGlsZHJlbj86IE1lbnVOb2RlW107XHJcblx0ZXhwYW5kZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXBwLXNpdGUtbWFwLXNpZGViYXInLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0Um91dGVyTW9kdWxlLFxyXG5cdFx0U2lkZWJhck1vZHVsZSxcclxuXHRcdFNjcm9sbFBhbmVsTW9kdWxlLFxyXG5cdFx0VG9vbHRpcE1vZHVsZSxcclxuXHRcdEJ1dHRvbkNvbXBvbmVudCxcclxuXHRcdFRleHRDb21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVKc29uUGlwZSxcclxuXHRcdEZvbnRBd2Vzb21lTW9kdWxlXHJcblx0XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXRlTWFwU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0c2l0ZU1hcE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRmaWx0ZXJlZE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRzZWFyY2hUZXJtID0gc2lnbmFsPHN0cmluZz4oJycpO1xyXG5cdHRvdGFsUGFnZXMgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuICBzb2xpZEljb25zID0gc29saWRJY29ucztcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuXHRcdHByaXZhdGUgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmxvYWRTaXRlTWFwKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2l0ZU1hcFNpZGViYXJWaXNpYmxlO1xyXG5cdH1cclxuXHJcblx0c2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaXRlTWFwU2lkZWJhclZpc2libGUgPSB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgbG9hZFNpdGVNYXAoKTogdm9pZCB7XHJcblx0XHRjb25zdCBtZW51SXRlbXMgPSBicmlkZ2UuaG9zdE1lbnVJdGVtcygpO1xyXG5cdFx0Y29uc3Qgbm9kZXMgPSB0aGlzLmJ1aWxkU2l0ZU1hcE5vZGVzKG1lbnVJdGVtcyk7XHJcblx0XHRjb25zdCB0b3RhbENvdW50ID0gdGhpcy5jb3VudFRvdGFsUGFnZXMobm9kZXMpO1xyXG5cclxuXHRcdHRoaXMuc2l0ZU1hcE5vZGVzLnNldChub2Rlcyk7XHJcblx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KG5vZGVzKTtcclxuXHRcdHRoaXMudG90YWxQYWdlcy5zZXQodG90YWxDb3VudCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGJ1aWxkU2l0ZU1hcE5vZGVzKGl0ZW1zOiBhbnlbXSwgcGFyZW50S2V5ID0gJycpOiBNZW51Tm9kZVtdIHtcclxuXHRcdHJldHVybiBpdGVtc1xyXG5cdFx0XHQuZmlsdGVyKChpdGVtKSA9PiB7XHJcblx0XHRcdFx0Ly8gS2VlcCB0aGUgaG9tZSBwYWdlIHJvdXRlIChcIi9cIikgYW5kIGFueSBub24tZW1wdHkgcm91dGVzXHJcblx0XHRcdFx0cmV0dXJuICFpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5yb3V0ZXJMaW5rID09PSAnLycgfHwgaXRlbS5yb3V0ZXJMaW5rLnRyaW0oKSAhPT0gJyc7XHJcblx0XHRcdH0pXHJcblx0XHRcdC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qga2V5ID0gcGFyZW50S2V5ID8gYCR7cGFyZW50S2V5fS0ke2luZGV4fWAgOiBgJHtpbmRleH1gO1xyXG5cclxuXHRcdFx0XHRsZXQgbGFiZWw6IHN0cmluZyB8IG9iamVjdDtcclxuXHRcdFx0XHRpZiAoaXRlbS5yb3V0ZXJMaW5rID09PSAnLycpIHtcclxuXHRcdFx0XHRcdGxhYmVsID0geyB0cjogJ0FuYXNheWZhJywgZW46ICdIb21lJyB9O1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsYWJlbCA9IGl0ZW0ubGFiZWwgfHwgeyB0cjogJ0JpbGlubWV5ZW4nLCBlbjogJ1Vua25vd24nIH07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBub2RlOiBNZW51Tm9kZSA9IHtcclxuXHRcdFx0XHRcdGtleSxcclxuXHRcdFx0XHRcdGxhYmVsLFxyXG5cdFx0XHRcdFx0aWNvbjogaXRlbS5pY29uLFxyXG5cdFx0XHRcdFx0cm91dGVyTGluazogaXRlbS5yb3V0ZXJMaW5rLFxyXG5cdFx0XHRcdFx0ZXhwYW5kZWQ6IGZhbHNlXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0aWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRub2RlLmNoaWxkcmVuID0gdGhpcy5idWlsZFNpdGVNYXBOb2RlcyhpdGVtLml0ZW1zLCBrZXkpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cmV0dXJuIG5vZGU7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjb3VudFRvdGFsUGFnZXMobm9kZXM6IE1lbnVOb2RlW10pOiBudW1iZXIge1xyXG5cdFx0bGV0IGNvdW50ID0gMDtcclxuXHRcdGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG5cdFx0XHRpZiAobm9kZS5yb3V0ZXJMaW5rKSB7XHJcblx0XHRcdFx0Y291bnQrKztcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGNvdW50ICs9IHRoaXMuY291bnRUb3RhbFBhZ2VzKG5vZGUuY2hpbGRyZW4pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY291bnQ7XHJcblx0fVxyXG5cclxuXHRvblNlYXJjaENoYW5nZSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKTtcclxuXHRcdGNvbnN0IHNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaFRlcm0oKT8udG9Mb2NhbGVMb3dlckNhc2UoY3VycmVudExhbmcpPy50cmltKCk7XHJcblx0XHRpZiAoIXNlYXJjaFRlcm0pIHtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldCh0aGlzLnNpdGVNYXBOb2RlcygpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGZpbHRlcmVkID0gdGhpcy5maWx0ZXJOb2Rlcyh0aGlzLnNpdGVNYXBOb2RlcygpLCBzZWFyY2hUZXJtKTtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChmaWx0ZXJlZCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGZpbHRlck5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBNZW51Tm9kZVtdIHtcclxuXHRcdGNvbnN0IGZpbHRlcmVkOiBNZW51Tm9kZVtdID0gW107XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCk7XHJcblxyXG5cdFx0Zm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcblx0XHRcdC8vIENvbnZlcnQgbGFiZWwgdG8gc3RyaW5nIGZvciBzZWFyY2ggYmFzZWQgb24gYWN0aXZlIGxhbmd1YWdlXHJcblx0XHRcdGNvbnN0IGxhYmVsVGV4dCA9XHJcblx0XHRcdFx0dHlwZW9mIG5vZGUubGFiZWwgPT09ICdzdHJpbmcnID9cclxuXHRcdFx0XHRcdG5vZGUubGFiZWxcclxuXHRcdFx0XHQ6XHQobm9kZS5sYWJlbCBhcyBhbnkpPy5bY3VycmVudExhbmddIHx8IChub2RlLmxhYmVsIGFzIGFueSk/LnRyIHx8IChub2RlLmxhYmVsIGFzIGFueSk/LmVuIHx8ICcnO1xyXG5cclxuXHRcdFx0Y29uc3QgbWF0Y2hlcyA9IGxhYmVsVGV4dC50b0xvY2FsZUxvd2VyQ2FzZShjdXJyZW50TGFuZykuaW5jbHVkZXMoc2VhcmNoVGVybSk7XHJcblx0XHRcdGxldCBmaWx0ZXJlZENoaWxkcmVuOiBNZW51Tm9kZVtdID0gW107XHJcblxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbHRlck5vZGVzKG5vZGUuY2hpbGRyZW4sIHNlYXJjaFRlcm0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAobWF0Y2hlcyB8fCBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRmaWx0ZXJlZC5wdXNoKHtcclxuXHRcdFx0XHRcdC4uLm5vZGUsXHJcblx0XHRcdFx0XHRjaGlsZHJlbjogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwID8gZmlsdGVyZWRDaGlsZHJlbiA6IG5vZGUuY2hpbGRyZW4sXHJcblx0XHRcdFx0XHRleHBhbmRlZDogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gZmlsdGVyZWQ7XHJcblx0fVxyXG5cclxuXHRleHBhbmRBbGwoKTogdm9pZCB7XHJcblx0XHRjb25zdCBleHBhbmRlZCA9IHRoaXMuZXhwYW5kTm9kZXModGhpcy5maWx0ZXJlZE5vZGVzKCksIHRydWUpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uZXhwYW5kZWRdKTtcclxuXHR9XHJcblxyXG5cdGNvbGxhcHNlQWxsKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY29sbGFwc2VkID0gdGhpcy5leHBhbmROb2Rlcyh0aGlzLmZpbHRlcmVkTm9kZXMoKSwgZmFsc2UpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uY29sbGFwc2VkXSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGV4cGFuZE5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBleHBhbmRlZDogYm9vbGVhbik6IE1lbnVOb2RlW10ge1xyXG5cdFx0cmV0dXJuIG5vZGVzLm1hcCgobm9kZSkgPT4gKHtcclxuXHRcdFx0Li4ubm9kZSxcclxuXHRcdFx0ZXhwYW5kZWQsXHJcblx0XHRcdGNoaWxkcmVuOiBub2RlLmNoaWxkcmVuID8gdGhpcy5leHBhbmROb2Rlcyhub2RlLmNoaWxkcmVuLCBleHBhbmRlZCkgOiB1bmRlZmluZWRcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZU5vZGUobm9kZTogTWVudU5vZGUpOiB2b2lkIHtcclxuXHRcdG5vZGUuZXhwYW5kZWQgPSAhbm9kZS5leHBhbmRlZDtcclxuXHRcdHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQoWy4uLnRoaXMuZmlsdGVyZWROb2RlcygpXSk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5S2V5KGluZGV4OiBudW1iZXIsIG5vZGU6IE1lbnVOb2RlKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBub2RlLmtleSB8fCBgJHtpbmRleH1gO1xyXG5cdH1cclxufVxyXG4iLCI8cC1zaWRlYmFyXG5cdFsodmlzaWJsZSldPVwidmlzaWJsZVwiXG5cdHBvc2l0aW9uPVwicmlnaHRcIlxuXHRbdHJhbnNpdGlvbk9wdGlvbnNdPVwiJy4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSdcIlxuXHRzdHlsZUNsYXNzPVwibGF5b3V0LXNpdGVtYXAtc2lkZWJhciB3LWZ1bGwgc206dy0zMHJlbVwiXG5cdCp0cmFuc2xvY289XCJsZXQgdDsgcmVhZDogJ3NpdGVNYXAnXCI+XG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTIgdy1mdWxsXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1zaXRlbWFwIHRleHQtcHJpbWFyeSB0ZXh0LXhsXCI+PC9pPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cImZvbnQtYm9sZCB0ZXh0LWxnXCI+e3sgdCgnc2l0ZU1hcCcpIH19PC9zcGFuPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cInRvdGFsLXBhZ2VzXCI+e3sgdG90YWxQYWdlcygpIH19IHt7IHQoJ3BhZ2VzJykgfX08L3NwYW4+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9uZy10ZW1wbGF0ZT5cblxuXHQ8ZGl2IGNsYXNzPVwic2l0ZW1hcC1jb250ZW50XCI+XG5cdFx0PGRpdiBjbGFzcz1cInNlYXJjaC1zZWN0aW9uIGdyaWQgcC1mbHVpZCBtLTBcIj5cblx0XHRcdDxhcmlsLXRleHRcblx0XHRcdFx0W3BsYWNlaG9sZGVyXT1cInQoJ3NlYXJjaFBhZ2VzJylcIlxuXHRcdFx0XHRbKG5nTW9kZWwpXT1cInNlYXJjaFRlcm1cIlxuXHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaENoYW5nZSgpXCJcblx0XHRcdFx0Y2xhc3M9XCJjb2wtMTAgbS0wXCI+XG5cdFx0XHQ8L2FyaWwtdGV4dD5cblx0XHRcdEBpZiAoZmlsdGVyZWROb2RlcygpLmxlbmd0aCA+IDApIHtcblx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtMiBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtLTAgcC0wXCI+XG5cdFx0XHRcdFx0PGZhLWljb25cblx0XHRcdFx0XHRcdFtpY29uXT1cInNvbGlkSWNvbnMuZmFBbmdsZXNEb3duXCJcblx0XHRcdFx0XHRcdHNpemU9XCJ4bFwiXG5cdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKVwiXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNvbC0xIGN1cnNvci1wb2ludGVyXCJcblx0XHRcdFx0XHRcdFtwVG9vbHRpcF09XCJ0KCdleHBhbmRBbGwnKVwiXG5cdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImV4cGFuZEFsbCgpXCI+XG5cdFx0XHRcdFx0PC9mYS1pY29uPlxuXHRcdFx0XHRcdDxmYS1pY29uXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJzb2xpZEljb25zLmZhQW5nbGVzVXBcIlxuXHRcdFx0XHRcdFx0c2l6ZT1cInhsXCJcblx0XHRcdFx0XHRcdHN0eWxlPVwiY29sb3I6IHZhcigtLXJlZC01MDApXCJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY29sLTEgbWwtMyBjdXJzb3ItcG9pbnRlclwiXG5cdFx0XHRcdFx0XHRbcFRvb2x0aXBdPVwidCgnY29sbGFwc2VBbGwnKVwiXG5cdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImNvbGxhcHNlQWxsKClcIj5cblx0XHRcdFx0XHQ8L2ZhLWljb24+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0fVxuXHRcdDwvZGl2PlxuXG5cdFx0PCEtLSBTaXRlIE1hcCBUcmVlIC0tPlxuXHRcdEBpZiAoZmlsdGVyZWROb2RlcygpLmxlbmd0aCA+IDApIHtcblx0XHRcdDxkaXYgY2xhc3M9XCJzaXRlbWFwLXRyZWVcIj5cblx0XHRcdFx0PHAtc2Nyb2xsUGFuZWwgW3N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfVwiPlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0cmVlLWNvbnRhaW5lclwiPlxuXHRcdFx0XHRcdFx0QGZvciAobm9kZSBvZiBmaWx0ZXJlZE5vZGVzKCk7IHRyYWNrIHRyYWNrQnlLZXkoJGluZGV4LCBub2RlKSkge1xuXHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJlZU5vZGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG5vZGUsIGxldmVsOiAwIH1cIj48L25nLWNvbnRhaW5lcj5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9wLXNjcm9sbFBhbmVsPlxuXHRcdFx0PC9kaXY+XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImVtcHR5LWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLXNpdGVtYXAgZW1wdHktaWNvblwiPjwvaT5cblx0XHRcdFx0XHQ8aDMgY2xhc3M9XCJlbXB0eS10aXRsZVwiPlxuXHRcdFx0XHRcdFx0e3sgc2VhcmNoVGVybSgpID8gdCgnbm9TZWFyY2hSZXN1bHRzJykgOiB0KCdub1BhZ2VzJykgfX1cblx0XHRcdFx0XHQ8L2gzPlxuXHRcdFx0XHRcdDxwIGNsYXNzPVwiZW1wdHktbWVzc2FnZVwiPlxuXHRcdFx0XHRcdFx0e3sgc2VhcmNoVGVybSgpID8gdCgndHJ5RGlmZmVyZW50S2V5d29yZHMnKSA6ICcnIH19XG5cdFx0XHRcdFx0PC9wPlxuXHRcdFx0XHRcdEBpZiAoc2VhcmNoVGVybSgpKSB7XG5cdFx0XHRcdFx0XHQ8YXJpbC1idXR0b25cblx0XHRcdFx0XHRcdFx0W2xhYmVsXT1cInQoJ2NsZWFyU2VhcmNoJylcIlxuXHRcdFx0XHRcdFx0XHRpY29uPVwiVElNRVNcIlxuXHRcdFx0XHRcdFx0XHRjb2xvcj1cInNlY29uZGFyeVwiXG5cdFx0XHRcdFx0XHRcdFtvdXRsaW5lZF09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtXCJcblx0XHRcdFx0XHRcdFx0KGNsaWNrRXZlbnQpPVwic2VhcmNoVGVybS5zZXQoJycpOyBvblNlYXJjaENoYW5nZSgpXCI+XG5cdFx0XHRcdFx0XHQ8L2FyaWwtYnV0dG9uPlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHR9XG5cblx0XHQ8IS0tIFJlY3Vyc2l2ZSBUcmVlIE5vZGUgVGVtcGxhdGUgLS0+XG5cdFx0PG5nLXRlbXBsYXRlICN0cmVlTm9kZVRlbXBsYXRlIGxldC1ub2RlIGxldC1sZXZlbD1cImxldmVsXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwidHJlZS1ub2RlXCIgW3N0eWxlLm1hcmdpbi1sZWZ0LnB4XT1cImxldmVsICogMjBcIj5cblx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdGNsYXNzPVwibm9kZS1pdGVtXCJcblx0XHRcdFx0XHRbY2xhc3MuaGFzLWNoaWxkcmVuXT1cIm5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwXCJcblx0XHRcdFx0XHRbY2xhc3MuaXMtcGFnZV09XCJub2RlLnJvdXRlckxpbmtcIlxuXHRcdFx0XHRcdFtyb3V0ZXJMaW5rXT1cIm5vZGUucm91dGVyTGlua1wiXG5cdFx0XHRcdFx0KGNsaWNrKT1cIiFub2RlLnJvdXRlckxpbmsgPyB0b2dnbGVOb2RlKG5vZGUpIDogKHZpc2libGUgPSBmYWxzZSlcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwibm9kZS1jb250ZW50XCI+XG5cdFx0XHRcdFx0XHRAaWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0b2dnbGUtYnRuXCIgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgdG9nZ2xlTm9kZShub2RlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwicGlcIiBbY2xhc3MucGktY2hldnJvbi1yaWdodF09XCIhbm9kZS5leHBhbmRlZFwiIFtjbGFzcy5waS1jaGV2cm9uLWRvd25dPVwibm9kZS5leHBhbmRlZFwiPjwvaT5cblx0XHRcdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpZiAobm9kZS5pY29uKSB7XG5cdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwibm9kZS1pY29uXCIgW2NsYXNzXT1cIm5vZGUuaWNvblwiPjwvaT5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiPnt7IG5vZGUubGFiZWwgfCB0cmFuc2xhdGVKc29uIH19PC9zcGFuPlxuXG5cdFx0XHRcdFx0XHRAaWYgKG5vZGUucm91dGVyTGluaykge1xuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImV4dGVybmFsLWljb24gcGkgcGktZXh0ZXJuYWwtbGlua1wiPjwvaT5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cblx0XHRcdFx0PCEtLSBSZWN1cnNpdmUgQ2hpbGRyZW4gLS0+XG5cdFx0XHRcdEBpZiAobm9kZS5jaGlsZHJlbiAmJiBub2RlLmV4cGFuZGVkKSB7XG5cdFx0XHRcdFx0QGZvciAoY2hpbGQgb2Ygbm9kZS5jaGlsZHJlbjsgdHJhY2sgdHJhY2tCeUtleSgkaW5kZXgsIGNoaWxkKSkge1xuXHRcdFx0XHRcdFx0PG5nLWNvbnRhaW5lclxuXHRcdFx0XHRcdFx0XHQqbmdUZW1wbGF0ZU91dGxldD1cInRyZWVOb2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCwgbGV2ZWw6IGxldmVsICsgMSB9XCI+PC9uZy1jb250YWluZXI+XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L25nLXRlbXBsYXRlPlxuXHQ8L2Rpdj5cbjwvcC1zaWRlYmFyPlxuIl19
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3RoZW1lL2xheW91dC9hcHAvc2l0ZS1tYXAvc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFdEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7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LHNYQUNiLGVBQWUsOE5BQ2YsYUFBYSxrTEFDYixlQUFlLDROQUNmLGlCQUFpQixxREFDakIsaUJBQWlCOzsyRkFLTix1QkFBdUI7a0JBbkJuQyxTQUFTO2lDQUNHLElBQUksWUFDTixzQkFBc0IsV0FDdkI7d0JBQ1IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixpQkFBaUI7cUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IFNjcm9sbFBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9zY3JvbGxwYW5lbCc7XHJcbmltcG9ydCB7IFNpZGViYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL3NpZGViYXInO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b29sdGlwJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb01vZHVsZSwgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcclxuXHJcbmltcG9ydCB7IGJyaWRnZSB9IGZyb20gJ2FyaWwvYm9vdC9icmlkZ2UnO1xyXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdhcmlsL3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IFRleHRDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3RleHQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVKc29uUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcblxyXG5pbXBvcnQgeyBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9hcHAubGF5b3V0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgc29saWRJY29ucyB9IGZyb20gJ2FyaWwvdXRpbC9saWInO1xyXG5cclxuaW50ZXJmYWNlIE1lbnVOb2RlIHtcclxuXHRrZXk6IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nIHwgb2JqZWN0O1xyXG5cdGljb24/OiBzdHJpbmc7XHJcblx0cm91dGVyTGluaz86IHN0cmluZztcclxuXHRjaGlsZHJlbj86IE1lbnVOb2RlW107XHJcblx0ZXhwYW5kZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXBwLXNpdGUtbWFwLXNpZGViYXInLFxyXG5cdGltcG9ydHM6IFtcclxuXHRcdENvbW1vbk1vZHVsZSxcclxuXHRcdEZvcm1zTW9kdWxlLFxyXG5cdFx0Um91dGVyTW9kdWxlLFxyXG5cdFx0U2lkZWJhck1vZHVsZSxcclxuXHRcdFNjcm9sbFBhbmVsTW9kdWxlLFxyXG5cdFx0VG9vbHRpcE1vZHVsZSxcclxuXHRcdEJ1dHRvbkNvbXBvbmVudCxcclxuXHRcdFRleHRDb21wb25lbnQsXHJcblx0XHRUcmFuc2xvY29Nb2R1bGUsXHJcblx0XHRUcmFuc2xhdGVKc29uUGlwZSxcclxuXHRcdEZvbnRBd2Vzb21lTW9kdWxlXHJcblx0XSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vc2l0ZS1tYXAtc2lkZWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaXRlTWFwU2lkZWJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblx0c2l0ZU1hcE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRmaWx0ZXJlZE5vZGVzID0gc2lnbmFsPE1lbnVOb2RlW10+KFtdKTtcclxuXHRzZWFyY2hUZXJtID0gc2lnbmFsPHN0cmluZz4oJycpO1xyXG5cdHRvdGFsUGFnZXMgPSBzaWduYWw8bnVtYmVyPigwKTtcclxuICBzb2xpZEljb25zID0gc29saWRJY29ucztcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuXHRcdHByaXZhdGUgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZVxyXG5cdCkge31cclxuXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmxvYWRTaXRlTWFwKCk7XHJcblx0fVxyXG5cclxuXHRnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmxheW91dFNlcnZpY2Uuc3RhdGUuc2l0ZU1hcFNpZGViYXJWaXNpYmxlO1xyXG5cdH1cclxuXHJcblx0c2V0IHZpc2libGUodmFsdWU6IGJvb2xlYW4pIHtcclxuXHRcdHRoaXMubGF5b3V0U2VydmljZS5zdGF0ZS5zaXRlTWFwU2lkZWJhclZpc2libGUgPSB2YWx1ZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgbG9hZFNpdGVNYXAoKTogdm9pZCB7XHJcblx0XHRjb25zdCBtZW51SXRlbXMgPSBicmlkZ2UuaG9zdE1lbnVJdGVtcygpO1xyXG5cdFx0Y29uc3Qgbm9kZXMgPSB0aGlzLmJ1aWxkU2l0ZU1hcE5vZGVzKG1lbnVJdGVtcyk7XHJcblx0XHRjb25zdCB0b3RhbENvdW50ID0gdGhpcy5jb3VudFRvdGFsUGFnZXMobm9kZXMpO1xyXG5cclxuXHRcdHRoaXMuc2l0ZU1hcE5vZGVzLnNldChub2Rlcyk7XHJcblx0XHR0aGlzLmZpbHRlcmVkTm9kZXMuc2V0KG5vZGVzKTtcclxuXHRcdHRoaXMudG90YWxQYWdlcy5zZXQodG90YWxDb3VudCk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGJ1aWxkU2l0ZU1hcE5vZGVzKGl0ZW1zOiBhbnlbXSwgcGFyZW50S2V5ID0gJycpOiBNZW51Tm9kZVtdIHtcclxuXHRcdHJldHVybiBpdGVtc1xyXG5cdFx0XHQuZmlsdGVyKChpdGVtKSA9PiB7XHJcblx0XHRcdFx0Ly8gS2VlcCB0aGUgaG9tZSBwYWdlIHJvdXRlIChcIi9cIikgYW5kIGFueSBub24tZW1wdHkgcm91dGVzXHJcblx0XHRcdFx0cmV0dXJuICFpdGVtLnJvdXRlckxpbmsgfHwgaXRlbS5yb3V0ZXJMaW5rID09PSAnLycgfHwgaXRlbS5yb3V0ZXJMaW5rLnRyaW0oKSAhPT0gJyc7XHJcblx0XHRcdH0pXHJcblx0XHRcdC5tYXAoKGl0ZW0sIGluZGV4KSA9PiB7XHJcblx0XHRcdFx0Y29uc3Qga2V5ID0gcGFyZW50S2V5ID8gYCR7cGFyZW50S2V5fS0ke2luZGV4fWAgOiBgJHtpbmRleH1gO1xyXG5cclxuXHRcdFx0XHRsZXQgbGFiZWw6IHN0cmluZyB8IG9iamVjdDtcclxuXHRcdFx0XHRpZiAoaXRlbS5yb3V0ZXJMaW5rID09PSAnLycpIHtcclxuXHRcdFx0XHRcdGxhYmVsID0geyB0cjogJ0FuYXNheWZhJywgZW46ICdIb21lJyB9O1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRsYWJlbCA9IGl0ZW0ubGFiZWwgfHwgeyB0cjogJ0JpbGlubWV5ZW4nLCBlbjogJ1Vua25vd24nIH07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRjb25zdCBub2RlOiBNZW51Tm9kZSA9IHtcclxuXHRcdFx0XHRcdGtleSxcclxuXHRcdFx0XHRcdGxhYmVsLFxyXG5cdFx0XHRcdFx0aWNvbjogaXRlbS5pY29uLFxyXG5cdFx0XHRcdFx0cm91dGVyTGluazogaXRlbS5yb3V0ZXJMaW5rLFxyXG5cdFx0XHRcdFx0ZXhwYW5kZWQ6IGZhbHNlXHJcblx0XHRcdFx0fTtcclxuXHJcblx0XHRcdFx0aWYgKGl0ZW0uaXRlbXMgJiYgaXRlbS5pdGVtcy5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRub2RlLmNoaWxkcmVuID0gdGhpcy5idWlsZFNpdGVNYXBOb2RlcyhpdGVtLml0ZW1zLCBrZXkpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0cmV0dXJuIG5vZGU7XHJcblx0XHRcdH0pO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBjb3VudFRvdGFsUGFnZXMobm9kZXM6IE1lbnVOb2RlW10pOiBudW1iZXIge1xyXG5cdFx0bGV0IGNvdW50ID0gMDtcclxuXHRcdGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xyXG5cdFx0XHRpZiAobm9kZS5yb3V0ZXJMaW5rKSB7XHJcblx0XHRcdFx0Y291bnQrKztcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGNvdW50ICs9IHRoaXMuY291bnRUb3RhbFBhZ2VzKG5vZGUuY2hpbGRyZW4pO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gY291bnQ7XHJcblx0fVxyXG5cclxuXHRvblNlYXJjaENoYW5nZSgpOiB2b2lkIHtcclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKTtcclxuXHRcdGNvbnN0IHNlYXJjaFRlcm0gPSB0aGlzLnNlYXJjaFRlcm0oKT8udG9Mb2NhbGVMb3dlckNhc2UoY3VycmVudExhbmcpPy50cmltKCk7XHJcblx0XHRpZiAoIXNlYXJjaFRlcm0pIHtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldCh0aGlzLnNpdGVNYXBOb2RlcygpKTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdGNvbnN0IGZpbHRlcmVkID0gdGhpcy5maWx0ZXJOb2Rlcyh0aGlzLnNpdGVNYXBOb2RlcygpLCBzZWFyY2hUZXJtKTtcclxuXHRcdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChmaWx0ZXJlZCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGZpbHRlck5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBNZW51Tm9kZVtdIHtcclxuXHRcdGNvbnN0IGZpbHRlcmVkOiBNZW51Tm9kZVtdID0gW107XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCk7XHJcblxyXG5cdFx0Zm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcblx0XHRcdC8vIENvbnZlcnQgbGFiZWwgdG8gc3RyaW5nIGZvciBzZWFyY2ggYmFzZWQgb24gYWN0aXZlIGxhbmd1YWdlXHJcblx0XHRcdGNvbnN0IGxhYmVsVGV4dCA9XHJcblx0XHRcdFx0dHlwZW9mIG5vZGUubGFiZWwgPT09ICdzdHJpbmcnID9cclxuXHRcdFx0XHRcdG5vZGUubGFiZWxcclxuXHRcdFx0XHQ6XHQobm9kZS5sYWJlbCBhcyBhbnkpPy5bY3VycmVudExhbmddIHx8IChub2RlLmxhYmVsIGFzIGFueSk/LnRyIHx8IChub2RlLmxhYmVsIGFzIGFueSk/LmVuIHx8ICcnO1xyXG5cclxuXHRcdFx0Y29uc3QgbWF0Y2hlcyA9IGxhYmVsVGV4dC50b0xvY2FsZUxvd2VyQ2FzZShjdXJyZW50TGFuZykuaW5jbHVkZXMoc2VhcmNoVGVybSk7XHJcblx0XHRcdGxldCBmaWx0ZXJlZENoaWxkcmVuOiBNZW51Tm9kZVtdID0gW107XHJcblxyXG5cdFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdFx0XHRcdGZpbHRlcmVkQ2hpbGRyZW4gPSB0aGlzLmZpbHRlck5vZGVzKG5vZGUuY2hpbGRyZW4sIHNlYXJjaFRlcm0pO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAobWF0Y2hlcyB8fCBmaWx0ZXJlZENoaWxkcmVuLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRmaWx0ZXJlZC5wdXNoKHtcclxuXHRcdFx0XHRcdC4uLm5vZGUsXHJcblx0XHRcdFx0XHRjaGlsZHJlbjogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwID8gZmlsdGVyZWRDaGlsZHJlbiA6IG5vZGUuY2hpbGRyZW4sXHJcblx0XHRcdFx0XHRleHBhbmRlZDogZmlsdGVyZWRDaGlsZHJlbi5sZW5ndGggPiAwXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRyZXR1cm4gZmlsdGVyZWQ7XHJcblx0fVxyXG5cclxuXHRleHBhbmRBbGwoKTogdm9pZCB7XHJcblx0XHRjb25zdCBleHBhbmRlZCA9IHRoaXMuZXhwYW5kTm9kZXModGhpcy5maWx0ZXJlZE5vZGVzKCksIHRydWUpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uZXhwYW5kZWRdKTtcclxuXHR9XHJcblxyXG5cdGNvbGxhcHNlQWxsKCk6IHZvaWQge1xyXG5cdFx0Y29uc3QgY29sbGFwc2VkID0gdGhpcy5leHBhbmROb2Rlcyh0aGlzLmZpbHRlcmVkTm9kZXMoKSwgZmFsc2UpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZE5vZGVzLnNldChbLi4uY29sbGFwc2VkXSk7XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGV4cGFuZE5vZGVzKG5vZGVzOiBNZW51Tm9kZVtdLCBleHBhbmRlZDogYm9vbGVhbik6IE1lbnVOb2RlW10ge1xyXG5cdFx0cmV0dXJuIG5vZGVzLm1hcCgobm9kZSkgPT4gKHtcclxuXHRcdFx0Li4ubm9kZSxcclxuXHRcdFx0ZXhwYW5kZWQsXHJcblx0XHRcdGNoaWxkcmVuOiBub2RlLmNoaWxkcmVuID8gdGhpcy5leHBhbmROb2Rlcyhub2RlLmNoaWxkcmVuLCBleHBhbmRlZCkgOiB1bmRlZmluZWRcclxuXHRcdH0pKTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZU5vZGUobm9kZTogTWVudU5vZGUpOiB2b2lkIHtcclxuXHRcdG5vZGUuZXhwYW5kZWQgPSAhbm9kZS5leHBhbmRlZDtcclxuXHRcdHRoaXMuZmlsdGVyZWROb2Rlcy5zZXQoWy4uLnRoaXMuZmlsdGVyZWROb2RlcygpXSk7XHJcblx0fVxyXG5cclxuXHR0cmFja0J5S2V5KGluZGV4OiBudW1iZXIsIG5vZGU6IE1lbnVOb2RlKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBub2RlLmtleSB8fCBgJHtpbmRleH1gO1xyXG5cdH1cclxufVxyXG4iLCI8cC1zaWRlYmFyXHJcblx0Wyh2aXNpYmxlKV09XCJ2aXNpYmxlXCJcclxuXHRwb3NpdGlvbj1cInJpZ2h0XCJcclxuXHRbdHJhbnNpdGlvbk9wdGlvbnNdPVwiJy4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSdcIlxyXG5cdHN0eWxlQ2xhc3M9XCJsYXlvdXQtc2l0ZW1hcC1zaWRlYmFyIHctZnVsbCBzbTp3LTMwcmVtXCJcclxuXHQqdHJhbnNsb2NvPVwibGV0IHQ7IHJlYWQ6ICdzaXRlTWFwJ1wiPlxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMiB3LWZ1bGxcIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XHJcblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1zaXRlbWFwIHRleHQtcHJpbWFyeSB0ZXh0LXhsXCI+PC9pPlxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkIHRleHQtbGdcIj57eyB0KCdzaXRlTWFwJykgfX08L3NwYW4+XHJcblx0XHRcdFx0PHNwYW4gY2xhc3M9XCJ0b3RhbC1wYWdlc1wiPnt7IHRvdGFsUGFnZXMoKSB9fSB7eyB0KCdwYWdlcycpIH19PC9zcGFuPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJzaXRlbWFwLWNvbnRlbnRcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJzZWFyY2gtc2VjdGlvbiBncmlkIHAtZmx1aWQgbS0wXCI+XHJcblx0XHRcdDxhcmlsLXRleHRcclxuXHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwidCgnc2VhcmNoUGFnZXMnKVwiXHJcblx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWFyY2hUZXJtXCJcclxuXHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJvblNlYXJjaENoYW5nZSgpXCJcclxuXHRcdFx0XHRjbGFzcz1cImNvbC0xMCBtLTBcIj5cclxuXHRcdFx0PC9hcmlsLXRleHQ+XHJcblx0XHRcdEBpZiAoZmlsdGVyZWROb2RlcygpLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0PGRpdiBjbGFzcz1cImNvbC0yIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIG0tMCBwLTBcIj5cclxuXHRcdFx0XHRcdDxmYS1pY29uXHJcblx0XHRcdFx0XHRcdFtpY29uXT1cInNvbGlkSWNvbnMuZmFBbmdsZXNEb3duXCJcclxuXHRcdFx0XHRcdFx0c2l6ZT1cInhsXCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcilcIlxyXG5cdFx0XHRcdFx0XHRjbGFzcz1cImNvbC0xIGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0W3BUb29sdGlwXT1cInQoJ2V4cGFuZEFsbCcpXCJcclxuXHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImV4cGFuZEFsbCgpXCI+XHJcblx0XHRcdFx0XHQ8L2ZhLWljb24+XHJcblx0XHRcdFx0XHQ8ZmEtaWNvblxyXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJzb2xpZEljb25zLmZhQW5nbGVzVXBcIlxyXG5cdFx0XHRcdFx0XHRzaXplPVwieGxcIlxyXG5cdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiB2YXIoLS1yZWQtNTAwKVwiXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY29sLTEgbWwtMyBjdXJzb3ItcG9pbnRlclwiXHJcblx0XHRcdFx0XHRcdFtwVG9vbHRpcF09XCJ0KCdjb2xsYXBzZUFsbCcpXCJcclxuXHRcdFx0XHRcdFx0dG9vbHRpcFBvc2l0aW9uPVwidG9wXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImNvbGxhcHNlQWxsKClcIj5cclxuXHRcdFx0XHRcdDwvZmEtaWNvbj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0fVxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdFx0PCEtLSBTaXRlIE1hcCBUcmVlIC0tPlxyXG5cdFx0QGlmIChmaWx0ZXJlZE5vZGVzKCkubGVuZ3RoID4gMCkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwic2l0ZW1hcC10cmVlXCI+XHJcblx0XHRcdFx0PHAtc2Nyb2xsUGFuZWwgW3N0eWxlXT1cInsgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfVwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRyZWUtY29udGFpbmVyXCI+XHJcblx0XHRcdFx0XHRcdEBmb3IgKG5vZGUgb2YgZmlsdGVyZWROb2RlcygpOyB0cmFjayB0cmFja0J5S2V5KCRpbmRleCwgbm9kZSkpIHtcclxuXHRcdFx0XHRcdFx0XHQ8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidHJlZU5vZGVUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IG5vZGUsIGxldmVsOiAwIH1cIj48L25nLWNvbnRhaW5lcj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9wLXNjcm9sbFBhbmVsPlxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktc3RhdGVcIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZW1wdHktY29udGVudFwiPlxyXG5cdFx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1zaXRlbWFwIGVtcHR5LWljb25cIj48L2k+XHJcblx0XHRcdFx0XHQ8aDMgY2xhc3M9XCJlbXB0eS10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHR7eyBzZWFyY2hUZXJtKCkgPyB0KCdub1NlYXJjaFJlc3VsdHMnKSA6IHQoJ25vUGFnZXMnKSB9fVxyXG5cdFx0XHRcdFx0PC9oMz5cclxuXHRcdFx0XHRcdDxwIGNsYXNzPVwiZW1wdHktbWVzc2FnZVwiPlxyXG5cdFx0XHRcdFx0XHR7eyBzZWFyY2hUZXJtKCkgPyB0KCd0cnlEaWZmZXJlbnRLZXl3b3JkcycpIDogJycgfX1cclxuXHRcdFx0XHRcdDwvcD5cclxuXHRcdFx0XHRcdEBpZiAoc2VhcmNoVGVybSgpKSB7XHJcblx0XHRcdFx0XHRcdDxhcmlsLWJ1dHRvblxyXG5cdFx0XHRcdFx0XHRcdFtsYWJlbF09XCJ0KCdjbGVhclNlYXJjaCcpXCJcclxuXHRcdFx0XHRcdFx0XHRpY29uPVwiVElNRVNcIlxyXG5cdFx0XHRcdFx0XHRcdGNvbG9yPVwic2Vjb25kYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRbb3V0bGluZWRdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0c2l6ZT1cInNtXCJcclxuXHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJzZWFyY2hUZXJtLnNldCgnJyk7IG9uU2VhcmNoQ2hhbmdlKClcIj5cclxuXHRcdFx0XHRcdFx0PC9hcmlsLWJ1dHRvbj5cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHR9XHJcblxyXG5cdFx0PCEtLSBSZWN1cnNpdmUgVHJlZSBOb2RlIFRlbXBsYXRlIC0tPlxyXG5cdFx0PG5nLXRlbXBsYXRlICN0cmVlTm9kZVRlbXBsYXRlIGxldC1ub2RlIGxldC1sZXZlbD1cImxldmVsXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJ0cmVlLW5vZGVcIiBbc3R5bGUubWFyZ2luLWxlZnQucHhdPVwibGV2ZWwgKiAyMFwiPlxyXG5cdFx0XHRcdDxkaXZcclxuXHRcdFx0XHRcdGNsYXNzPVwibm9kZS1pdGVtXCJcclxuXHRcdFx0XHRcdFtjbGFzcy5oYXMtY2hpbGRyZW5dPVwibm9kZS5jaGlsZHJlbiAmJiBub2RlLmNoaWxkcmVuLmxlbmd0aCA+IDBcIlxyXG5cdFx0XHRcdFx0W2NsYXNzLmlzLXBhZ2VdPVwibm9kZS5yb3V0ZXJMaW5rXCJcclxuXHRcdFx0XHRcdFtyb3V0ZXJMaW5rXT1cIm5vZGUucm91dGVyTGlua1wiXHJcblx0XHRcdFx0XHQoY2xpY2spPVwiIW5vZGUucm91dGVyTGluayA/IHRvZ2dsZU5vZGUobm9kZSkgOiAodmlzaWJsZSA9IGZhbHNlKVwiPlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cIm5vZGUtY29udGVudFwiPlxyXG5cdFx0XHRcdFx0XHRAaWYgKG5vZGUuY2hpbGRyZW4gJiYgbm9kZS5jaGlsZHJlbi5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRvZ2dsZS1idG5cIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOyB0b2dnbGVOb2RlKG5vZGUpXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpXCIgW2NsYXNzLnBpLWNoZXZyb24tcmlnaHRdPVwiIW5vZGUuZXhwYW5kZWRcIiBbY2xhc3MucGktY2hldnJvbi1kb3duXT1cIm5vZGUuZXhwYW5kZWRcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdEBpZiAobm9kZS5pY29uKSB7XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJub2RlLWljb25cIiBbY2xhc3NdPVwibm9kZS5pY29uXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibm9kZS1sYWJlbFwiPnt7IG5vZGUubGFiZWwgfCB0cmFuc2xhdGVKc29uIH19PC9zcGFuPlxyXG5cclxuXHRcdFx0XHRcdFx0QGlmIChub2RlLnJvdXRlckxpbmspIHtcclxuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImV4dGVybmFsLWljb24gcGkgcGktZXh0ZXJuYWwtbGlua1wiPjwvaT5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9kaXY+XHJcblxyXG5cdFx0XHRcdDwhLS0gUmVjdXJzaXZlIENoaWxkcmVuIC0tPlxyXG5cdFx0XHRcdEBpZiAobm9kZS5jaGlsZHJlbiAmJiBub2RlLmV4cGFuZGVkKSB7XHJcblx0XHRcdFx0XHRAZm9yIChjaGlsZCBvZiBub2RlLmNoaWxkcmVuOyB0cmFjayB0cmFja0J5S2V5KCRpbmRleCwgY2hpbGQpKSB7XHJcblx0XHRcdFx0XHRcdDxuZy1jb250YWluZXJcclxuXHRcdFx0XHRcdFx0XHQqbmdUZW1wbGF0ZU91dGxldD1cInRyZWVOb2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBjaGlsZCwgbGV2ZWw6IGxldmVsICsgMSB9XCI+PC9uZy1jb250YWluZXI+XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdDwvbmctdGVtcGxhdGU+XHJcblx0PC9kaXY+XHJcbjwvcC1zaWRlYmFyPlxyXG4iXX0=
@@ -12,7 +12,7 @@ export class MultipleRefValueComponent {
12
12
  this.clickEvent = new EventEmitter();
13
13
  }
14
14
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MultipleRefValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: MultipleRefValueComponent, isStandalone: true, selector: "aril-multiple-ref-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, detailPageUrl: { classPropertyName: "detailPageUrl", publicName: "detailPageUrl", isSignal: true, isRequired: false, transformFunction: null }, maxBadgeCount: { classPropertyName: "maxBadgeCount", publicName: "maxBadgeCount", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<div class=\"flex align-items-center gap-1\">\r\n\t@for (item of model() | slice: 0 : maxBadgeCount(); track item) {\r\n\t\t<aril-ref-value\r\n\t\t\tclass=\"cursor-pointer\"\r\n\t\t\t[assetId]=\"item.value\"\r\n\t\t\t[valueDesc]=\"item.valueDesc\"\r\n\t\t\t[detailPageUrl]=\"detailPageUrl()\"\r\n\t\t\t(clickEvent)=\"clickEvent.emit($event)\" />\r\n\t}\r\n\t@if (model().length > maxBadgeCount()) {\r\n\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\r\n\r\n\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t@for (item of model() | slice: maxBadgeCount(); track item) {\r\n\t\t\t\t\t<aril-ref-value\r\n\t\t\t\t\t\tclass=\"cursor-pointer\"\r\n\t\t\t\t\t\t[assetId]=\"item.value\"\r\n\t\t\t\t\t\t[valueDesc]=\"item.valueDesc\"\r\n\t\t\t\t\t\t[detailPageUrl]=\"detailPageUrl()\"\r\n\t\t\t\t\t\t(clickEvent)=\"clickEvent.emit($event)\" />\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</p-overlayPanel>\r\n\t}\r\n</div>\r\n", dependencies: [{ kind: "component", type: RefValueComponent, selector: "aril-ref-value", inputs: ["overlayPanelShow", "assetId", "valueDesc", "detailPageUrl"], outputs: ["clickEvent"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i1.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: MultipleRefValueComponent, isStandalone: true, selector: "aril-multiple-ref-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, detailPageUrl: { classPropertyName: "detailPageUrl", publicName: "detailPageUrl", isSignal: true, isRequired: false, transformFunction: null }, maxBadgeCount: { classPropertyName: "maxBadgeCount", publicName: "maxBadgeCount", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "<div class=\"flex align-items-center gap-1\">\r\n\t@for (item of model() | slice: 0 : maxBadgeCount(); track item) {\r\n\t\t<aril-ref-value\r\n\t\t\tclass=\"cursor-pointer\"\r\n\t\t\t[assetId]=\"item.value\"\r\n\t\t\t[valueDesc]=\"item.valueDesc\"\r\n\t\t\t[detailPageUrl]=\"detailPageUrl()\"\r\n\t\t\t(clickEvent)=\"clickEvent.emit($event)\" />\r\n\t}\r\n\t@if (model().length > maxBadgeCount()) {\r\n\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\r\n\r\n\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t@for (item of model() | slice: maxBadgeCount(); track item) {\r\n\t\t\t\t\t<aril-ref-value\r\n\t\t\t\t\t\tclass=\"cursor-pointer\"\r\n\t\t\t\t\t\t[assetId]=\"item.value\"\r\n\t\t\t\t\t\t[valueDesc]=\"item.valueDesc\"\r\n\t\t\t\t\t\t[detailPageUrl]=\"detailPageUrl()\"\r\n\t\t\t\t\t\t(clickEvent)=\"clickEvent.emit($event)\" />\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</p-overlayPanel>\r\n\t}\r\n</div>\r\n", dependencies: [{ kind: "component", type: RefValueComponent, selector: "aril-ref-value", inputs: ["overlayPanelShow", "assetId", "valueDesc", "detailPageUrl", "target"], outputs: ["clickEvent"] }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i1.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
17
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: MultipleRefValueComponent, decorators: [{
18
18
  type: Component,
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
20
20
  }], propDecorators: { clickEvent: [{
21
21
  type: Output
22
22
  }] } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtcmVmLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvbXVsdGlwbGUtcmVmLXZhbHVlL3NyYy9tdWx0aXBsZS1yZWYtdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9tdWx0aXBsZS1yZWYtdmFsdWUvc3JjL211bHRpcGxlLXJlZi12YWx1ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBUy9ELE1BQU0sT0FBTyx5QkFBeUI7SUFQdEM7UUFRQyxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBdUMsQ0FBQztRQUM5RCxrQkFBYSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUV2QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUMxQzs4R0FOWSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw2aEJDZHRDLHNpQ0EwQkEsNENEZlcsaUJBQWlCLHNKQUFFLFNBQVMsNkNBQUUsa0JBQWtCOzsyRkFHOUMseUJBQXlCO2tCQVByQyxTQUFTO2lDQUNHLElBQUksWUFDTix5QkFBeUIsV0FFMUIsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLENBQUMsbUJBQzFDLHVCQUF1QixDQUFDLE1BQU07OEJBT3JDLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTbGljZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuXHJcbmltcG9ydCB7IFJlZlZhbHVlQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS1idXNpbmVzcy9yZWYtdmFsdWUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtbXVsdGlwbGUtcmVmLXZhbHVlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbXVsdGlwbGUtcmVmLXZhbHVlLmNvbXBvbmVudC5odG1sJyxcclxuXHRpbXBvcnRzOiBbUmVmVmFsdWVDb21wb25lbnQsIFNsaWNlUGlwZSwgT3ZlcmxheVBhbmVsTW9kdWxlXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVSZWZWYWx1ZUNvbXBvbmVudCB7XHJcblx0bW9kZWwgPSBpbnB1dC5yZXF1aXJlZDx7IHZhbHVlOiBhbnk7IHZhbHVlRGVzYzogc3RyaW5nIH1bXT4oKTtcclxuXHRkZXRhaWxQYWdlVXJsID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0bWF4QmFkZ2VDb3VudCA9IGlucHV0PG51bWJlcj4oMyk7XHJcblxyXG5cdEBPdXRwdXQoKSBjbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG5cdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKSB8IHNsaWNlOiAwIDogbWF4QmFkZ2VDb3VudCgpOyB0cmFjayBpdGVtKSB7XHJcblx0XHQ8YXJpbC1yZWYtdmFsdWVcclxuXHRcdFx0Y2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcblx0XHRcdFthc3NldElkXT1cIml0ZW0udmFsdWVcIlxyXG5cdFx0XHRbdmFsdWVEZXNjXT1cIml0ZW0udmFsdWVEZXNjXCJcclxuXHRcdFx0W2RldGFpbFBhZ2VVcmxdPVwiZGV0YWlsUGFnZVVybCgpXCJcclxuXHRcdFx0KGNsaWNrRXZlbnQpPVwiY2xpY2tFdmVudC5lbWl0KCRldmVudClcIiAvPlxyXG5cdH1cclxuXHRAaWYgKG1vZGVsKCkubGVuZ3RoID4gbWF4QmFkZ2VDb3VudCgpKSB7XHJcblx0XHQ8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLXYgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib3AudG9nZ2xlKCRldmVudClcIj48L2k+XHJcblxyXG5cdFx0PHAtb3ZlcmxheVBhbmVsICNvcCBjbGFzcz1cInNoYWRvdy00XCIgYXBwZW5kVG89XCJib2R5XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGdhcC0yIG1heC13LTMwcmVtIG1heC1oLTIwcmVtIHByLTMgb3ZlcmZsb3cteS1hdXRvXCI+XHJcblx0XHRcdFx0QGZvciAoaXRlbSBvZiBtb2RlbCgpIHwgc2xpY2U6IG1heEJhZGdlQ291bnQoKTsgdHJhY2sgaXRlbSkge1xyXG5cdFx0XHRcdFx0PGFyaWwtcmVmLXZhbHVlXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG5cdFx0XHRcdFx0XHRbYXNzZXRJZF09XCJpdGVtLnZhbHVlXCJcclxuXHRcdFx0XHRcdFx0W3ZhbHVlRGVzY109XCJpdGVtLnZhbHVlRGVzY1wiXHJcblx0XHRcdFx0XHRcdFtkZXRhaWxQYWdlVXJsXT1cImRldGFpbFBhZ2VVcmwoKVwiXHJcblx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImNsaWNrRXZlbnQuZW1pdCgkZXZlbnQpXCIgLz5cclxuXHRcdFx0XHR9XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9wLW92ZXJsYXlQYW5lbD5cclxuXHR9XHJcbjwvZGl2PlxyXG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtcmVmLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvbXVsdGlwbGUtcmVmLXZhbHVlL3NyYy9tdWx0aXBsZS1yZWYtdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9tdWx0aXBsZS1yZWYtdmFsdWUvc3JjL211bHRpcGxlLXJlZi12YWx1ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBUy9ELE1BQU0sT0FBTyx5QkFBeUI7SUFQdEM7UUFRQyxVQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBdUMsQ0FBQztRQUM5RCxrQkFBYSxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLEtBQUssQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUV2QixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQUMxQzs4R0FOWSx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw2aEJDZHRDLHNpQ0EwQkEsNENEZlcsaUJBQWlCLGdLQUFFLFNBQVMsNkNBQUUsa0JBQWtCOzsyRkFHOUMseUJBQXlCO2tCQVByQyxTQUFTO2lDQUNHLElBQUksWUFDTix5QkFBeUIsV0FFMUIsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLENBQUMsbUJBQzFDLHVCQUF1QixDQUFDLE1BQU07OEJBT3JDLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTbGljZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcclxuXHJcbmltcG9ydCB7IFJlZlZhbHVlQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS1idXNpbmVzcy9yZWYtdmFsdWUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtbXVsdGlwbGUtcmVmLXZhbHVlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbXVsdGlwbGUtcmVmLXZhbHVlLmNvbXBvbmVudC5odG1sJyxcclxuXHRpbXBvcnRzOiBbUmVmVmFsdWVDb21wb25lbnQsIFNsaWNlUGlwZSwgT3ZlcmxheVBhbmVsTW9kdWxlXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVSZWZWYWx1ZUNvbXBvbmVudCB7XHJcblx0bW9kZWwgPSBpbnB1dC5yZXF1aXJlZDx7IHZhbHVlOiBhbnk7IHZhbHVlRGVzYzogc3RyaW5nIH1bXT4oKTtcclxuXHRkZXRhaWxQYWdlVXJsID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0bWF4QmFkZ2VDb3VudCA9IGlucHV0PG51bWJlcj4oMyk7XHJcblxyXG5cdEBPdXRwdXQoKSBjbGlja0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG5cdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKSB8IHNsaWNlOiAwIDogbWF4QmFkZ2VDb3VudCgpOyB0cmFjayBpdGVtKSB7XHJcblx0XHQ8YXJpbC1yZWYtdmFsdWVcclxuXHRcdFx0Y2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcblx0XHRcdFthc3NldElkXT1cIml0ZW0udmFsdWVcIlxyXG5cdFx0XHRbdmFsdWVEZXNjXT1cIml0ZW0udmFsdWVEZXNjXCJcclxuXHRcdFx0W2RldGFpbFBhZ2VVcmxdPVwiZGV0YWlsUGFnZVVybCgpXCJcclxuXHRcdFx0KGNsaWNrRXZlbnQpPVwiY2xpY2tFdmVudC5lbWl0KCRldmVudClcIiAvPlxyXG5cdH1cclxuXHRAaWYgKG1vZGVsKCkubGVuZ3RoID4gbWF4QmFkZ2VDb3VudCgpKSB7XHJcblx0XHQ8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLXYgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwib3AudG9nZ2xlKCRldmVudClcIj48L2k+XHJcblxyXG5cdFx0PHAtb3ZlcmxheVBhbmVsICNvcCBjbGFzcz1cInNoYWRvdy00XCIgYXBwZW5kVG89XCJib2R5XCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGdhcC0yIG1heC13LTMwcmVtIG1heC1oLTIwcmVtIHByLTMgb3ZlcmZsb3cteS1hdXRvXCI+XHJcblx0XHRcdFx0QGZvciAoaXRlbSBvZiBtb2RlbCgpIHwgc2xpY2U6IG1heEJhZGdlQ291bnQoKTsgdHJhY2sgaXRlbSkge1xyXG5cdFx0XHRcdFx0PGFyaWwtcmVmLXZhbHVlXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIlxyXG5cdFx0XHRcdFx0XHRbYXNzZXRJZF09XCJpdGVtLnZhbHVlXCJcclxuXHRcdFx0XHRcdFx0W3ZhbHVlRGVzY109XCJpdGVtLnZhbHVlRGVzY1wiXHJcblx0XHRcdFx0XHRcdFtkZXRhaWxQYWdlVXJsXT1cImRldGFpbFBhZ2VVcmwoKVwiXHJcblx0XHRcdFx0XHRcdChjbGlja0V2ZW50KT1cImNsaWNrRXZlbnQuZW1pdCgkZXZlbnQpXCIgLz5cclxuXHRcdFx0XHR9XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9wLW92ZXJsYXlQYW5lbD5cclxuXHR9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -10,6 +10,7 @@ export class RefValueComponent {
10
10
  this.assetId = input.required();
11
11
  this.valueDesc = input.required();
12
12
  this.detailPageUrl = input.required();
13
+ this.target = input('_self');
13
14
  this.clickEvent = new EventEmitter();
14
15
  this.tagStyle = {
15
16
  background: '#f0f0f0',
@@ -28,12 +29,12 @@ export class RefValueComponent {
28
29
  return 'http://' + this.url + this.detailPageUrl() + '/' + this.assetId();
29
30
  }
30
31
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RefValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: RefValueComponent, isStandalone: true, selector: "aril-ref-value", inputs: { overlayPanelShow: { classPropertyName: "overlayPanelShow", publicName: "overlayPanelShow", isSignal: true, isRequired: false, transformFunction: null }, assetId: { classPropertyName: "assetId", publicName: "assetId", isSignal: true, isRequired: true, transformFunction: null }, valueDesc: { classPropertyName: "valueDesc", publicName: "valueDesc", isSignal: true, isRequired: true, transformFunction: null }, detailPageUrl: { classPropertyName: "detailPageUrl", publicName: "detailPageUrl", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "@if (detailPageUrl() && valueDesc() && assetId()) {\r\n\t@if (overlayPanelShow()) {\r\n\t\t<aril-detailed-oveylay-panel [assetId]=\"assetId()\">\r\n\t\t\t<a [href]=\"getFullUrl()\">\r\n\t\t\t\t<p-tag [value]=\"getDisplayValue()\" [style]=\"tagStyle\" />\r\n\t\t\t</a>\r\n\t\t</aril-detailed-oveylay-panel>\r\n\t} @else {\r\n\t\t<a [href]=\"getFullUrl()\">\r\n\t\t\t<p-tag [value]=\"getDisplayValue()\" [style]=\"tagStyle\" />\r\n\t\t</a>\r\n\t}\r\n} @else if (valueDesc() || assetId()) {\r\n\t@if (overlayPanelShow()) {\r\n\t\t<aril-detailed-oveylay-panel [assetId]=\"assetId()\">\r\n\t\t\t<p-tag\r\n\t\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\t\t[style]=\"tagStyle\"\r\n\t\t\t\t(click)=\"clickEvent.emit({ assetId: assetId(), valueDesc: valueDesc() })\" />\r\n\t\t</aril-detailed-oveylay-panel>\r\n\t} @else {\r\n\t\t<p-tag\r\n\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\t[style]=\"tagStyle\"\r\n\t\t\t(click)=\"clickEvent.emit({ assetId: assetId(), valueDesc: valueDesc() })\" />\r\n\t}\r\n} @else {\r\n\t<aril-value type=\"text\" [model]=\"null\" />\r\n}\r\n", dependencies: [{ kind: "component", type: ValueComponent, selector: "aril-value", inputs: ["model", "type", "format", "isClickable", "groupName", "parentSelectionKey", "isTextClamp", "textClampCharacters", "style", "copyable", "shouldShowCopyForClampedText", "arrayTypeDisplayName", "arrayTypeMaxBadgeCount", "bigDecimalRoundingMode", "bigDecimalScale"] }, { kind: "component", type: DetailedOverlayPanelComponent, selector: "aril-detailed-oveylay-panel", inputs: ["assetId", "style", "styleClass", "columns"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i1.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: RefValueComponent, isStandalone: true, selector: "aril-ref-value", inputs: { overlayPanelShow: { classPropertyName: "overlayPanelShow", publicName: "overlayPanelShow", isSignal: true, isRequired: false, transformFunction: null }, assetId: { classPropertyName: "assetId", publicName: "assetId", isSignal: true, isRequired: true, transformFunction: null }, valueDesc: { classPropertyName: "valueDesc", publicName: "valueDesc", isSignal: true, isRequired: true, transformFunction: null }, detailPageUrl: { classPropertyName: "detailPageUrl", publicName: "detailPageUrl", isSignal: true, isRequired: true, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clickEvent: "clickEvent" }, ngImport: i0, template: "@if (detailPageUrl() && valueDesc() && assetId()) {\r\n\t@if (overlayPanelShow()) {\r\n\t\t<aril-detailed-oveylay-panel [assetId]=\"assetId()\">\r\n\t\t\t<a [href]=\"getFullUrl()\" [target]=\"target()\">\r\n\t\t\t\t<p-tag [value]=\"getDisplayValue()\" [style]=\"tagStyle\" />\r\n\t\t\t</a>\r\n\t\t</aril-detailed-oveylay-panel>\r\n\t} @else {\r\n\t\t<a [href]=\"getFullUrl()\" [target]=\"target()\">\r\n\t\t\t<p-tag [value]=\"getDisplayValue()\" [style]=\"tagStyle\" />\r\n\t\t</a>\r\n\t}\r\n} @else if (valueDesc() || assetId()) {\r\n\t@if (overlayPanelShow()) {\r\n\t\t<aril-detailed-oveylay-panel [assetId]=\"assetId()\">\r\n\t\t\t<p-tag\r\n\t\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\t\t[style]=\"tagStyle\"\r\n\t\t\t\t(click)=\"clickEvent.emit({ assetId: assetId(), valueDesc: valueDesc() })\" />\r\n\t\t</aril-detailed-oveylay-panel>\r\n\t} @else {\r\n\t\t<p-tag\r\n\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\t[style]=\"tagStyle\"\r\n\t\t\t(click)=\"clickEvent.emit({ assetId: assetId(), valueDesc: valueDesc() })\" />\r\n\t}\r\n} @else {\r\n\t<aril-value type=\"text\" [model]=\"null\" />\r\n}\r\n", dependencies: [{ kind: "component", type: ValueComponent, selector: "aril-value", inputs: ["model", "type", "format", "isClickable", "groupName", "parentSelectionKey", "isTextClamp", "textClampCharacters", "style", "copyable", "shouldShowCopyForClampedText", "arrayTypeDisplayName", "arrayTypeMaxBadgeCount", "bigDecimalRoundingMode", "bigDecimalScale"] }, { kind: "component", type: DetailedOverlayPanelComponent, selector: "aril-detailed-oveylay-panel", inputs: ["assetId", "style", "styleClass", "columns"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i1.Tag, selector: "p-tag", inputs: ["style", "styleClass", "severity", "value", "icon", "rounded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
33
  }
33
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: RefValueComponent, decorators: [{
34
35
  type: Component,
35
- args: [{ standalone: true, selector: 'aril-ref-value', imports: [ValueComponent, DetailedOverlayPanelComponent, TagModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (detailPageUrl() && valueDesc() && assetId()) {\r\n\t@if (overlayPanelShow()) {\r\n\t\t<aril-detailed-oveylay-panel [assetId]=\"assetId()\">\r\n\t\t\t<a [href]=\"getFullUrl()\">\r\n\t\t\t\t<p-tag [value]=\"getDisplayValue()\" [style]=\"tagStyle\" />\r\n\t\t\t</a>\r\n\t\t</aril-detailed-oveylay-panel>\r\n\t} @else {\r\n\t\t<a [href]=\"getFullUrl()\">\r\n\t\t\t<p-tag [value]=\"getDisplayValue()\" [style]=\"tagStyle\" />\r\n\t\t</a>\r\n\t}\r\n} @else if (valueDesc() || assetId()) {\r\n\t@if (overlayPanelShow()) {\r\n\t\t<aril-detailed-oveylay-panel [assetId]=\"assetId()\">\r\n\t\t\t<p-tag\r\n\t\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\t\t[style]=\"tagStyle\"\r\n\t\t\t\t(click)=\"clickEvent.emit({ assetId: assetId(), valueDesc: valueDesc() })\" />\r\n\t\t</aril-detailed-oveylay-panel>\r\n\t} @else {\r\n\t\t<p-tag\r\n\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\t[style]=\"tagStyle\"\r\n\t\t\t(click)=\"clickEvent.emit({ assetId: assetId(), valueDesc: valueDesc() })\" />\r\n\t}\r\n} @else {\r\n\t<aril-value type=\"text\" [model]=\"null\" />\r\n}\r\n" }]
36
+ args: [{ standalone: true, selector: 'aril-ref-value', imports: [ValueComponent, DetailedOverlayPanelComponent, TagModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (detailPageUrl() && valueDesc() && assetId()) {\r\n\t@if (overlayPanelShow()) {\r\n\t\t<aril-detailed-oveylay-panel [assetId]=\"assetId()\">\r\n\t\t\t<a [href]=\"getFullUrl()\" [target]=\"target()\">\r\n\t\t\t\t<p-tag [value]=\"getDisplayValue()\" [style]=\"tagStyle\" />\r\n\t\t\t</a>\r\n\t\t</aril-detailed-oveylay-panel>\r\n\t} @else {\r\n\t\t<a [href]=\"getFullUrl()\" [target]=\"target()\">\r\n\t\t\t<p-tag [value]=\"getDisplayValue()\" [style]=\"tagStyle\" />\r\n\t\t</a>\r\n\t}\r\n} @else if (valueDesc() || assetId()) {\r\n\t@if (overlayPanelShow()) {\r\n\t\t<aril-detailed-oveylay-panel [assetId]=\"assetId()\">\r\n\t\t\t<p-tag\r\n\t\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\t\t[style]=\"tagStyle\"\r\n\t\t\t\t(click)=\"clickEvent.emit({ assetId: assetId(), valueDesc: valueDesc() })\" />\r\n\t\t</aril-detailed-oveylay-panel>\r\n\t} @else {\r\n\t\t<p-tag\r\n\t\t\t[value]=\"getDisplayValue()\"\r\n\t\t\t[style]=\"tagStyle\"\r\n\t\t\t(click)=\"clickEvent.emit({ assetId: assetId(), valueDesc: valueDesc() })\" />\r\n\t}\r\n} @else {\r\n\t<aril-value type=\"text\" [model]=\"null\" />\r\n}\r\n" }]
36
37
  }], propDecorators: { clickEvent: [{
37
38
  type: Output
38
39
  }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvcmVmLXZhbHVlL3NyYy9yZWYtdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9yZWYtdmFsdWUvc3JjL3JlZi12YWx1ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRQyxxQkFBZ0IsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDeEMsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNuQyxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUUzQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2QixhQUFRLEdBQUc7WUFDN0IsVUFBVSxFQUFFLFNBQVM7WUFDckIsS0FBSyxFQUFFLGNBQWM7WUFDckIsV0FBVyxFQUFFLFFBQVE7WUFDckIsaUJBQWlCLEVBQUUsV0FBVztTQUM5QixDQUFDO0tBYUY7SUFYQSxJQUFJLEdBQUc7UUFDTixPQUFPLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssQ0FBQztJQUN6QyxDQUFDO0lBRVMsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVTLFVBQVU7UUFDbkIsT0FBTyxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzRSxDQUFDOzhHQXpCVyxpQkFBaUI7a0dBQWpCLGlCQUFpQixxcUJDZDlCLHlpQ0E2QkEsNENEbEJXLGNBQWMsd1VBQUUsNkJBQTZCLDhIQUFFLFNBQVM7OzJGQUd0RCxpQkFBaUI7a0JBUDdCLFNBQVM7aUNBQ0csSUFBSSxZQUNOLGdCQUFnQixXQUVqQixDQUFDLGNBQWMsRUFBRSw2QkFBNkIsRUFBRSxTQUFTLENBQUMsbUJBQ2xELHVCQUF1QixDQUFDLE1BQU07OEJBUXJDLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRhZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdGFnJztcclxuXHJcbmltcG9ydCB7IERldGFpbGVkT3ZlcmxheVBhbmVsQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS1idXNpbmVzcy9kZXRhaWxlZC1vdmVybGF5LXBhbmVsJztcclxuaW1wb3J0IHsgVmFsdWVDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpL3ZhbHVlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLXJlZi12YWx1ZScsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3JlZi12YWx1ZS5jb21wb25lbnQuaHRtbCcsXHJcblx0aW1wb3J0czogW1ZhbHVlQ29tcG9uZW50LCBEZXRhaWxlZE92ZXJsYXlQYW5lbENvbXBvbmVudCwgVGFnTW9kdWxlXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVmVmFsdWVDb21wb25lbnQge1xyXG5cdG92ZXJsYXlQYW5lbFNob3cgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRhc3NldElkID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyPigpO1xyXG5cdHZhbHVlRGVzYyA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcclxuXHRkZXRhaWxQYWdlVXJsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nIHwgdW5kZWZpbmVkPigpO1xyXG5cclxuXHRAT3V0cHV0KCkgY2xpY2tFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcblx0cHJvdGVjdGVkIHJlYWRvbmx5IHRhZ1N0eWxlID0ge1xyXG5cdFx0YmFja2dyb3VuZDogJyNmMGYwZjAnLFxyXG5cdFx0Y29sb3I6ICctd2Via2l0LWxpbmsnLFxyXG5cdFx0J2ZvbnQtc2l6ZSc6ICcwLjlyZW0nLFxyXG5cdFx0J3RleHQtZGVjb3JhdGlvbic6ICd1bmRlcmxpbmUnXHJcblx0fTtcclxuXHJcblx0Z2V0IHVybCgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIGAke2dsb2JhbFRoaXMubG9jYXRpb24uaG9zdH0vIy9gO1xyXG5cdH1cclxuXHJcblx0cHJvdGVjdGVkIGdldERpc3BsYXlWYWx1ZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMudmFsdWVEZXNjKCkgPz8gdGhpcy5hc3NldElkKCkudG9TdHJpbmcoKTtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBnZXRGdWxsVXJsKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gJ2h0dHA6Ly8nICsgdGhpcy51cmwgKyB0aGlzLmRldGFpbFBhZ2VVcmwoKSArICcvJyArIHRoaXMuYXNzZXRJZCgpO1xyXG5cdH1cclxufVxyXG4iLCJAaWYgKGRldGFpbFBhZ2VVcmwoKSAmJiB2YWx1ZURlc2MoKSAmJiBhc3NldElkKCkpIHtcclxuXHRAaWYgKG92ZXJsYXlQYW5lbFNob3coKSkge1xyXG5cdFx0PGFyaWwtZGV0YWlsZWQtb3ZleWxheS1wYW5lbCBbYXNzZXRJZF09XCJhc3NldElkKClcIj5cclxuXHRcdFx0PGEgW2hyZWZdPVwiZ2V0RnVsbFVybCgpXCI+XHJcblx0XHRcdFx0PHAtdGFnIFt2YWx1ZV09XCJnZXREaXNwbGF5VmFsdWUoKVwiIFtzdHlsZV09XCJ0YWdTdHlsZVwiIC8+XHJcblx0XHRcdDwvYT5cclxuXHRcdDwvYXJpbC1kZXRhaWxlZC1vdmV5bGF5LXBhbmVsPlxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0PGEgW2hyZWZdPVwiZ2V0RnVsbFVybCgpXCI+XHJcblx0XHRcdDxwLXRhZyBbdmFsdWVdPVwiZ2V0RGlzcGxheVZhbHVlKClcIiBbc3R5bGVdPVwidGFnU3R5bGVcIiAvPlxyXG5cdFx0PC9hPlxyXG5cdH1cclxufSBAZWxzZSBpZiAodmFsdWVEZXNjKCkgfHwgYXNzZXRJZCgpKSB7XHJcblx0QGlmIChvdmVybGF5UGFuZWxTaG93KCkpIHtcclxuXHRcdDxhcmlsLWRldGFpbGVkLW92ZXlsYXktcGFuZWwgW2Fzc2V0SWRdPVwiYXNzZXRJZCgpXCI+XHJcblx0XHRcdDxwLXRhZ1xyXG5cdFx0XHRcdFt2YWx1ZV09XCJnZXREaXNwbGF5VmFsdWUoKVwiXHJcblx0XHRcdFx0W3N0eWxlXT1cInRhZ1N0eWxlXCJcclxuXHRcdFx0XHQoY2xpY2spPVwiY2xpY2tFdmVudC5lbWl0KHsgYXNzZXRJZDogYXNzZXRJZCgpLCB2YWx1ZURlc2M6IHZhbHVlRGVzYygpIH0pXCIgLz5cclxuXHRcdDwvYXJpbC1kZXRhaWxlZC1vdmV5bGF5LXBhbmVsPlxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0PHAtdGFnXHJcblx0XHRcdFt2YWx1ZV09XCJnZXREaXNwbGF5VmFsdWUoKVwiXHJcblx0XHRcdFtzdHlsZV09XCJ0YWdTdHlsZVwiXHJcblx0XHRcdChjbGljayk9XCJjbGlja0V2ZW50LmVtaXQoeyBhc3NldElkOiBhc3NldElkKCksIHZhbHVlRGVzYzogdmFsdWVEZXNjKCkgfSlcIiAvPlxyXG5cdH1cclxufSBAZWxzZSB7XHJcblx0PGFyaWwtdmFsdWUgdHlwZT1cInRleHRcIiBbbW9kZWxdPVwibnVsbFwiIC8+XHJcbn1cclxuIl19
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmLXZhbHVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvcmVmLXZhbHVlL3NyYy9yZWYtdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9yZWYtdmFsdWUvc3JjL3JlZi12YWx1ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUy9DLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRQyxxQkFBZ0IsR0FBRyxLQUFLLENBQVUsSUFBSSxDQUFDLENBQUM7UUFDeEMsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQVUsQ0FBQztRQUNuQyxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBc0IsQ0FBQztRQUNyRCxXQUFNLEdBQUcsS0FBSyxDQUFTLE9BQU8sQ0FBQyxDQUFDO1FBRXRCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZCLGFBQVEsR0FBRztZQUM3QixVQUFVLEVBQUUsU0FBUztZQUNyQixLQUFLLEVBQUUsY0FBYztZQUNyQixXQUFXLEVBQUUsUUFBUTtZQUNyQixpQkFBaUIsRUFBRSxXQUFXO1NBQzlCLENBQUM7S0FhRjtJQVhBLElBQUksR0FBRztRQUNOLE9BQU8sR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxDQUFDO0lBQ3pDLENBQUM7SUFFUyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN0RCxDQUFDO0lBRVMsVUFBVTtRQUNuQixPQUFPLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNFLENBQUM7OEdBMUJXLGlCQUFpQjtrR0FBakIsaUJBQWlCLGd5QkNkOUIscWxDQTZCQSw0Q0RsQlcsY0FBYyx3VUFBRSw2QkFBNkIsOEhBQUUsU0FBUzs7MkZBR3RELGlCQUFpQjtrQkFQN0IsU0FBUztpQ0FDRyxJQUFJLFlBQ04sZ0JBQWdCLFdBRWpCLENBQUMsY0FBYyxFQUFFLDZCQUE2QixFQUFFLFNBQVMsQ0FBQyxtQkFDbEQsdUJBQXVCLENBQUMsTUFBTTs4QkFTckMsVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgVGFnTW9kdWxlIH0gZnJvbSAncHJpbWVuZy90YWcnO1xyXG5cclxuaW1wb3J0IHsgRGV0YWlsZWRPdmVybGF5UGFuZWxDb21wb25lbnQgfSBmcm9tICdhcmlsL3VpLWJ1c2luZXNzL2RldGFpbGVkLW92ZXJsYXktcGFuZWwnO1xyXG5pbXBvcnQgeyBWYWx1ZUNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvdmFsdWUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtcmVmLXZhbHVlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcmVmLXZhbHVlLmNvbXBvbmVudC5odG1sJyxcclxuXHRpbXBvcnRzOiBbVmFsdWVDb21wb25lbnQsIERldGFpbGVkT3ZlcmxheVBhbmVsQ29tcG9uZW50LCBUYWdNb2R1bGVdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZWZWYWx1ZUNvbXBvbmVudCB7XHJcblx0b3ZlcmxheVBhbmVsU2hvdyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdGFzc2V0SWQgPSBpbnB1dC5yZXF1aXJlZDxudW1iZXI+KCk7XHJcblx0dmFsdWVEZXNjID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG5cdGRldGFpbFBhZ2VVcmwgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmcgfCB1bmRlZmluZWQ+KCk7XHJcblx0dGFyZ2V0ID0gaW5wdXQ8c3RyaW5nPignX3NlbGYnKTtcclxuXHJcblx0QE91dHB1dCgpIGNsaWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG5cdHByb3RlY3RlZCByZWFkb25seSB0YWdTdHlsZSA9IHtcclxuXHRcdGJhY2tncm91bmQ6ICcjZjBmMGYwJyxcclxuXHRcdGNvbG9yOiAnLXdlYmtpdC1saW5rJyxcclxuXHRcdCdmb250LXNpemUnOiAnMC45cmVtJyxcclxuXHRcdCd0ZXh0LWRlY29yYXRpb24nOiAndW5kZXJsaW5lJ1xyXG5cdH07XHJcblxyXG5cdGdldCB1cmwoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBgJHtnbG9iYWxUaGlzLmxvY2F0aW9uLmhvc3R9LyMvYDtcclxuXHR9XHJcblxyXG5cdHByb3RlY3RlZCBnZXREaXNwbGF5VmFsdWUoKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiB0aGlzLnZhbHVlRGVzYygpID8/IHRoaXMuYXNzZXRJZCgpLnRvU3RyaW5nKCk7XHJcblx0fVxyXG5cclxuXHRwcm90ZWN0ZWQgZ2V0RnVsbFVybCgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuICdodHRwOi8vJyArIHRoaXMudXJsICsgdGhpcy5kZXRhaWxQYWdlVXJsKCkgKyAnLycgKyB0aGlzLmFzc2V0SWQoKTtcclxuXHR9XHJcbn1cclxuIiwiQGlmIChkZXRhaWxQYWdlVXJsKCkgJiYgdmFsdWVEZXNjKCkgJiYgYXNzZXRJZCgpKSB7XHJcblx0QGlmIChvdmVybGF5UGFuZWxTaG93KCkpIHtcclxuXHRcdDxhcmlsLWRldGFpbGVkLW92ZXlsYXktcGFuZWwgW2Fzc2V0SWRdPVwiYXNzZXRJZCgpXCI+XHJcblx0XHRcdDxhIFtocmVmXT1cImdldEZ1bGxVcmwoKVwiIFt0YXJnZXRdPVwidGFyZ2V0KClcIj5cclxuXHRcdFx0XHQ8cC10YWcgW3ZhbHVlXT1cImdldERpc3BsYXlWYWx1ZSgpXCIgW3N0eWxlXT1cInRhZ1N0eWxlXCIgLz5cclxuXHRcdFx0PC9hPlxyXG5cdFx0PC9hcmlsLWRldGFpbGVkLW92ZXlsYXktcGFuZWw+XHJcblx0fSBAZWxzZSB7XHJcblx0XHQ8YSBbaHJlZl09XCJnZXRGdWxsVXJsKClcIiBbdGFyZ2V0XT1cInRhcmdldCgpXCI+XHJcblx0XHRcdDxwLXRhZyBbdmFsdWVdPVwiZ2V0RGlzcGxheVZhbHVlKClcIiBbc3R5bGVdPVwidGFnU3R5bGVcIiAvPlxyXG5cdFx0PC9hPlxyXG5cdH1cclxufSBAZWxzZSBpZiAodmFsdWVEZXNjKCkgfHwgYXNzZXRJZCgpKSB7XHJcblx0QGlmIChvdmVybGF5UGFuZWxTaG93KCkpIHtcclxuXHRcdDxhcmlsLWRldGFpbGVkLW92ZXlsYXktcGFuZWwgW2Fzc2V0SWRdPVwiYXNzZXRJZCgpXCI+XHJcblx0XHRcdDxwLXRhZ1xyXG5cdFx0XHRcdFt2YWx1ZV09XCJnZXREaXNwbGF5VmFsdWUoKVwiXHJcblx0XHRcdFx0W3N0eWxlXT1cInRhZ1N0eWxlXCJcclxuXHRcdFx0XHQoY2xpY2spPVwiY2xpY2tFdmVudC5lbWl0KHsgYXNzZXRJZDogYXNzZXRJZCgpLCB2YWx1ZURlc2M6IHZhbHVlRGVzYygpIH0pXCIgLz5cclxuXHRcdDwvYXJpbC1kZXRhaWxlZC1vdmV5bGF5LXBhbmVsPlxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0PHAtdGFnXHJcblx0XHRcdFt2YWx1ZV09XCJnZXREaXNwbGF5VmFsdWUoKVwiXHJcblx0XHRcdFtzdHlsZV09XCJ0YWdTdHlsZVwiXHJcblx0XHRcdChjbGljayk9XCJjbGlja0V2ZW50LmVtaXQoeyBhc3NldElkOiBhc3NldElkKCksIHZhbHVlRGVzYzogdmFsdWVEZXNjKCkgfSlcIiAvPlxyXG5cdH1cclxufSBAZWxzZSB7XHJcblx0PGFyaWwtdmFsdWUgdHlwZT1cInRleHRcIiBbbW9kZWxdPVwibnVsbFwiIC8+XHJcbn1cclxuIl19
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
42
42
  type: HostListener,
43
43
  args: ['activeIndexChange', ['$event']]
44
44
  }] } });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1hY3RpdmUtdGFiLXJvdXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdXRpbC9zeW5jLWFjdGl2ZS10YWItcm91dGUvc3JjL3N5bmMtYWN0aXZlLXRhYi1yb3V0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTXBDLE1BQU0sT0FBTywyQkFBMkI7SUFHdkMsWUFDa0IsTUFBYyxFQUNkLE9BQWdCLEVBQ2hCLFFBQWtCO1FBRmxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFMbkIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTWhELENBQUM7SUFFSixRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDO0lBR0QsV0FBVyxDQUFDLENBQVM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3pCLElBQUksQ0FBQyxNQUFNO2FBQ1QsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUNsQixXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO1lBQzdCLG1CQUFtQixFQUFFLE9BQU87U0FDNUIsQ0FBQzthQUNELFFBQVEsRUFBRSxDQUNaLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0FqQ1csMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCO3dIQXFCQSxXQUFXO3NCQURWLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IFRhYlZpZXcgfSBmcm9tICdwcmltZW5nL3RhYnZpZXcnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW3N5bmNBY3RpdmVUYWJSb3V0ZV0nLFxuXHRzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFN5bmNBY3RpdmVUYWJSb3V0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblx0cHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcblx0XHRwcml2YXRlIHJlYWRvbmx5IHRhYlZpZXc6IFRhYlZpZXcsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb25cblx0KSB7fVxuXG5cdG5nT25Jbml0KCkge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcblx0XHRcdHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnJvb3QucXVlcnlQYXJhbU1hcC5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuXHRcdFx0XHRpZiAocGFyYW1zLmhhcygnYWN0aXZlVGFiJykpIHtcblx0XHRcdFx0XHR0aGlzLnRhYlZpZXcuYWN0aXZlSW5kZXggPSBOdW1iZXIocGFyYW1zLmdldCgnYWN0aXZlVGFiJykpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdhY3RpdmVJbmRleENoYW5nZScsIFsnJGV2ZW50J10pXG5cdG9uVGFiQ2hhbmdlKGU6IG51bWJlcikge1xuXHRcdHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKFxuXHRcdFx0dGhpcy5yb3V0ZXJcblx0XHRcdFx0LmNyZWF0ZVVybFRyZWUoW10sIHtcblx0XHRcdFx0XHRxdWVyeVBhcmFtczogeyBhY3RpdmVUYWI6IGUgfSxcblx0XHRcdFx0XHRxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50b1N0cmluZygpXG5cdFx0KTtcblx0fVxuXG5cdG5nT25EZXN0cm95KCkge1xuXHRcdHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cdH1cbn1cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3luYy1hY3RpdmUtdGFiLXJvdXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdXRpbC9zeW5jLWFjdGl2ZS10YWItcm91dGUvc3JjL3N5bmMtYWN0aXZlLXRhYi1yb3V0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTXBDLE1BQU0sT0FBTywyQkFBMkI7SUFHdkMsWUFDa0IsTUFBYyxFQUNkLE9BQWdCLEVBQ2hCLFFBQWtCO1FBRmxCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFMbkIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBTWhELENBQUM7SUFFSixRQUFRO1FBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUNGLENBQUM7SUFDSCxDQUFDO0lBR0QsV0FBVyxDQUFDLENBQVM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQ3pCLElBQUksQ0FBQyxNQUFNO2FBQ1QsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUNsQixXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFO1lBQzdCLG1CQUFtQixFQUFFLE9BQU87U0FDNUIsQ0FBQzthQUNELFFBQVEsRUFBRSxDQUNaLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNWLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDakMsQ0FBQzs4R0FqQ1csMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2hCO3dIQXFCQSxXQUFXO3NCQURWLFlBQVk7dUJBQUMsbUJBQW1CLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgVGFiVmlldyB9IGZyb20gJ3ByaW1lbmcvdGFidmlldyc7XHJcblxyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW3N5bmNBY3RpdmVUYWJSb3V0ZV0nLFxyXG5cdHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIFN5bmNBY3RpdmVUYWJSb3V0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHRwcml2YXRlIHJlYWRvbmx5IHN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSB0YWJWaWV3OiBUYWJWaWV3LFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb25cclxuXHQpIHt9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb24uYWRkKFxyXG5cdFx0XHR0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290LnF1ZXJ5UGFyYW1NYXAuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcclxuXHRcdFx0XHRpZiAocGFyYW1zLmhhcygnYWN0aXZlVGFiJykpIHtcclxuXHRcdFx0XHRcdHRoaXMudGFiVmlldy5hY3RpdmVJbmRleCA9IE51bWJlcihwYXJhbXMuZ2V0KCdhY3RpdmVUYWInKSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2FjdGl2ZUluZGV4Q2hhbmdlJywgWyckZXZlbnQnXSlcclxuXHRvblRhYkNoYW5nZShlOiBudW1iZXIpIHtcclxuXHRcdHRoaXMubG9jYXRpb24ucmVwbGFjZVN0YXRlKFxyXG5cdFx0XHR0aGlzLnJvdXRlclxyXG5cdFx0XHRcdC5jcmVhdGVVcmxUcmVlKFtdLCB7XHJcblx0XHRcdFx0XHRxdWVyeVBhcmFtczogeyBhY3RpdmVUYWI6IGUgfSxcclxuXHRcdFx0XHRcdHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZSdcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdC50b1N0cmluZygpXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG5cdH1cclxufVxyXG4iXX0=
@@ -1124,7 +1124,7 @@ class SiteMapSidebarComponent {
1124
1124
  return node.key || `${index}`;
1125
1125
  }
1126
1126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SiteMapSidebarComponent, deps: [{ token: LayoutService }, { token: i5.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
1127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: SiteMapSidebarComponent, isStandalone: true, selector: "app-site-map-sidebar", ngImport: i0, template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\n\t*transloco=\"let t; read: 'siteMap'\">\n\t<ng-template pTemplate=\"header\">\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\n\t\t\t<div class=\"flex align-items-center gap-2\">\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n\n\t<div class=\"sitemap-content\">\n\t\t<div class=\"search-section grid p-fluid m-0\">\n\t\t\t<aril-text\n\t\t\t\t[placeholder]=\"t('searchPages')\"\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\n\t\t\t\tclass=\"col-10 m-0\">\n\t\t\t</aril-text>\n\t\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"expandAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"collapseAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\n\t\t<!-- Site Map Tree -->\n\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"sitemap-tree\">\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\n\t\t\t\t\t<div class=\"tree-container\">\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</p-scrollPanel>\n\t\t\t</div>\n\t\t} @else {\n\t\t\t<div class=\"empty-state\">\n\t\t\t\t<div class=\"empty-content\">\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\n\t\t\t\t\t<h3 class=\"empty-title\">\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p class=\"empty-message\">\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\n\t\t\t\t\t</p>\n\t\t\t\t\t@if (searchTerm()) {\n\t\t\t\t\t\t<aril-button\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\n\t\t\t\t\t\t\ticon=\"TIMES\"\n\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t[outlined]=\"true\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\n\t\t\t\t\t\t</aril-button>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\n\t\t<!-- Recursive Tree Node Template -->\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"node-item\"\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\n\t\t\t\t\t<div class=\"node-content\">\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if (node.icon) {\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\n\n\t\t\t\t\t\t@if (node.routerLink) {\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Recursive Children -->\n\t\t\t\t@if (node.children && node.expanded) {\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</ng-template>\n\t</div>\n</p-sidebar>\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i6$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ScrollPanelModule }, { kind: "component", type: i7$1.ScrollPanel, selector: "p-scrollPanel", inputs: ["style", "styleClass", "step"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i5.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: TranslateJsonPipe, name: "translateJson" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i10.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
1127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: SiteMapSidebarComponent, isStandalone: true, selector: "app-site-map-sidebar", ngImport: i0, template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'siteMap'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\r\n\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\r\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"sitemap-content\">\r\n\t\t<div class=\"search-section grid p-fluid m-0\">\r\n\t\t\t<aril-text\r\n\t\t\t\t[placeholder]=\"t('searchPages')\"\r\n\t\t\t\t[(ngModel)]=\"searchTerm\"\r\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\r\n\t\t\t\tclass=\"col-10 m-0\">\r\n\t\t\t</aril-text>\r\n\t\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\r\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"expandAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"collapseAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t<!-- Site Map Tree -->\r\n\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"sitemap-tree\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"tree-container\">\r\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t@if (searchTerm()) {\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\r\n\t\t\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<!-- Recursive Tree Node Template -->\r\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\r\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"node-item\"\r\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\r\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\r\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\r\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\r\n\t\t\t\t\t<div class=\"node-content\">\r\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\r\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t@if (node.icon) {\r\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\r\n\r\n\t\t\t\t\t\t@if (node.routerLink) {\r\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Recursive Children -->\r\n\t\t\t\t@if (node.children && node.expanded) {\r\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</div>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: SidebarModule }, { kind: "component", type: i6$1.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ScrollPanelModule }, { kind: "component", type: i7$1.ScrollPanel, selector: "p-scrollPanel", inputs: ["style", "styleClass", "step"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "component", type: TextComponent, selector: "aril-text[ngModel], aril-text[formControl], aril-text[formControlName]", inputs: ["placeholder", "tabindex", "icon", "iconPos", "size"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "directive", type: i5.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "pipe", type: TranslateJsonPipe, name: "translateJson" }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i10.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
1128
1128
  }
1129
1129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: SiteMapSidebarComponent, decorators: [{
1130
1130
  type: Component,
@@ -1140,7 +1140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
1140
1140
  TranslocoModule,
1141
1141
  TranslateJsonPipe,
1142
1142
  FontAwesomeModule
1143
- ], template: "<p-sidebar\n\t[(visible)]=\"visible\"\n\tposition=\"right\"\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\n\t*transloco=\"let t; read: 'siteMap'\">\n\t<ng-template pTemplate=\"header\">\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\n\t\t\t<div class=\"flex align-items-center gap-2\">\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\n\t\t\t</div>\n\t\t</div>\n\t</ng-template>\n\n\t<div class=\"sitemap-content\">\n\t\t<div class=\"search-section grid p-fluid m-0\">\n\t\t\t<aril-text\n\t\t\t\t[placeholder]=\"t('searchPages')\"\n\t\t\t\t[(ngModel)]=\"searchTerm\"\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\n\t\t\t\tclass=\"col-10 m-0\">\n\t\t\t</aril-text>\n\t\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"expandAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t\t<fa-icon\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\n\t\t\t\t\t\tsize=\"xl\"\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\n\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t(click)=\"collapseAll()\">\n\t\t\t\t\t</fa-icon>\n\t\t\t\t</div>\n\t\t\t}\n\t\t</div>\n\n\t\t<!-- Site Map Tree -->\n\t\t@if (filteredNodes().length > 0) {\n\t\t\t<div class=\"sitemap-tree\">\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\n\t\t\t\t\t<div class=\"tree-container\">\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</p-scrollPanel>\n\t\t\t</div>\n\t\t} @else {\n\t\t\t<div class=\"empty-state\">\n\t\t\t\t<div class=\"empty-content\">\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\n\t\t\t\t\t<h3 class=\"empty-title\">\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p class=\"empty-message\">\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\n\t\t\t\t\t</p>\n\t\t\t\t\t@if (searchTerm()) {\n\t\t\t\t\t\t<aril-button\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\n\t\t\t\t\t\t\ticon=\"TIMES\"\n\t\t\t\t\t\t\tcolor=\"secondary\"\n\t\t\t\t\t\t\t[outlined]=\"true\"\n\t\t\t\t\t\t\tsize=\"sm\"\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\n\t\t\t\t\t\t</aril-button>\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t}\n\n\t\t<!-- Recursive Tree Node Template -->\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"node-item\"\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\n\t\t\t\t\t<div class=\"node-content\">\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t@if (node.icon) {\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\n\n\t\t\t\t\t\t@if (node.routerLink) {\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- Recursive Children -->\n\t\t\t\t@if (node.children && node.expanded) {\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\n\t\t\t\t\t\t<ng-container\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t</div>\n\t\t</ng-template>\n\t</div>\n</p-sidebar>\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"] }]
1143
+ ], template: "<p-sidebar\r\n\t[(visible)]=\"visible\"\r\n\tposition=\"right\"\r\n\t[transitionOptions]=\"'.3s cubic-bezier(0, 0, 0.2, 1)'\"\r\n\tstyleClass=\"layout-sitemap-sidebar w-full sm:w-30rem\"\r\n\t*transloco=\"let t; read: 'siteMap'\">\r\n\t<ng-template pTemplate=\"header\">\r\n\t\t<div class=\"flex align-items-center justify-content-between gap-2 w-full\">\r\n\t\t\t<div class=\"flex align-items-center gap-2\">\r\n\t\t\t\t<i class=\"pi pi-sitemap text-primary text-xl\"></i>\r\n\t\t\t\t<span class=\"font-bold text-lg\">{{ t('siteMap') }}</span>\r\n\t\t\t\t<span class=\"total-pages\">{{ totalPages() }} {{ t('pages') }}</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-template>\r\n\r\n\t<div class=\"sitemap-content\">\r\n\t\t<div class=\"search-section grid p-fluid m-0\">\r\n\t\t\t<aril-text\r\n\t\t\t\t[placeholder]=\"t('searchPages')\"\r\n\t\t\t\t[(ngModel)]=\"searchTerm\"\r\n\t\t\t\t(ngModelChange)=\"onSearchChange()\"\r\n\t\t\t\tclass=\"col-10 m-0\">\r\n\t\t\t</aril-text>\r\n\t\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"col-2 flex align-items-center m-0 p-0\">\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesDown\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--primary-color)\"\r\n\t\t\t\t\t\tclass=\"col-1 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('expandAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"expandAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t\t<fa-icon\r\n\t\t\t\t\t\t[icon]=\"solidIcons.faAnglesUp\"\r\n\t\t\t\t\t\tsize=\"xl\"\r\n\t\t\t\t\t\tstyle=\"color: var(--red-500)\"\r\n\t\t\t\t\t\tclass=\"col-1 ml-3 cursor-pointer\"\r\n\t\t\t\t\t\t[pTooltip]=\"t('collapseAll')\"\r\n\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t(click)=\"collapseAll()\">\r\n\t\t\t\t\t</fa-icon>\r\n\t\t\t\t</div>\r\n\t\t\t}\r\n\t\t</div>\r\n\r\n\t\t<!-- Site Map Tree -->\r\n\t\t@if (filteredNodes().length > 0) {\r\n\t\t\t<div class=\"sitemap-tree\">\r\n\t\t\t\t<p-scrollPanel [style]=\"{ width: '100%', height: '100%' }\">\r\n\t\t\t\t\t<div class=\"tree-container\">\r\n\t\t\t\t\t\t@for (node of filteredNodes(); track trackByKey($index, node)) {\r\n\t\t\t\t\t\t\t<ng-container *ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: node, level: 0 }\"></ng-container>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-scrollPanel>\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<div class=\"empty-state\">\r\n\t\t\t\t<div class=\"empty-content\">\r\n\t\t\t\t\t<i class=\"pi pi-sitemap empty-icon\"></i>\r\n\t\t\t\t\t<h3 class=\"empty-title\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('noSearchResults') : t('noPages') }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<p class=\"empty-message\">\r\n\t\t\t\t\t\t{{ searchTerm() ? t('tryDifferentKeywords') : '' }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t@if (searchTerm()) {\r\n\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t[label]=\"t('clearSearch')\"\r\n\t\t\t\t\t\t\ticon=\"TIMES\"\r\n\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t[outlined]=\"true\"\r\n\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t(clickEvent)=\"searchTerm.set(''); onSearchChange()\">\r\n\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t}\r\n\r\n\t\t<!-- Recursive Tree Node Template -->\r\n\t\t<ng-template #treeNodeTemplate let-node let-level=\"level\">\r\n\t\t\t<div class=\"tree-node\" [style.margin-left.px]=\"level * 20\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"node-item\"\r\n\t\t\t\t\t[class.has-children]=\"node.children && node.children.length > 0\"\r\n\t\t\t\t\t[class.is-page]=\"node.routerLink\"\r\n\t\t\t\t\t[routerLink]=\"node.routerLink\"\r\n\t\t\t\t\t(click)=\"!node.routerLink ? toggleNode(node) : (visible = false)\">\r\n\t\t\t\t\t<div class=\"node-content\">\r\n\t\t\t\t\t\t@if (node.children && node.children.length > 0) {\r\n\t\t\t\t\t\t\t<div class=\"toggle-btn\" (click)=\"$event.stopPropagation(); toggleNode(node)\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi\" [class.pi-chevron-right]=\"!node.expanded\" [class.pi-chevron-down]=\"node.expanded\"></i>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t@if (node.icon) {\r\n\t\t\t\t\t\t\t<i class=\"node-icon\" [class]=\"node.icon\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t<span class=\"node-label\">{{ node.label | translateJson }}</span>\r\n\r\n\t\t\t\t\t\t@if (node.routerLink) {\r\n\t\t\t\t\t\t\t<i class=\"external-icon pi pi-external-link\"></i>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!-- Recursive Children -->\r\n\t\t\t\t@if (node.children && node.expanded) {\r\n\t\t\t\t\t@for (child of node.children; track trackByKey($index, child)) {\r\n\t\t\t\t\t\t<ng-container\r\n\t\t\t\t\t\t\t*ngTemplateOutlet=\"treeNodeTemplate; context: { $implicit: child, level: level + 1 }\"></ng-container>\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</div>\r\n</p-sidebar>\r\n", styles: [":host ::ng-deep .layout-sitemap-sidebar .p-sidebar-content{padding:0;background:var(--surface-ground)}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header{background:var(--primary-color);color:var(--primary-color-text);padding:1rem .5rem}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header span{font-size:1.1rem;font-weight:600}:host ::ng-deep .layout-sitemap-sidebar .p-sidebar-header .total-pages{background:#fff3;color:#ffffffe6;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:500}.sitemap-content{display:flex;flex-direction:column;height:100%;background:var(--surface-ground)}.search-section{padding:1rem;border-bottom:1px solid var(--surface-border);background:var(--surface-0)}.sitemap-tree{flex:1;overflow:hidden}.tree-container{padding:.5rem 0}.tree-node .node-item{display:flex;align-items:center;padding:.5rem 1rem;border-radius:6px;margin:.1rem .5rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.tree-node .node-item:hover{background:var(--surface-hover);border-color:var(--surface-border)}.tree-node .node-item.is-page:hover{background:var(--primary-50);border-color:var(--primary-200)}.tree-node .node-item.is-page:hover .external-icon{opacity:1}.tree-node .node-item.has-children{font-weight:500}.tree-node .node-content{display:flex;align-items:center;gap:.5rem;width:100%;min-width:0}.tree-node .toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:4px;color:var(--text-color-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.tree-node .toggle-btn:hover{background:var(--surface-hover);color:var(--primary-color)}.tree-node .toggle-btn i{font-size:.7rem}.tree-node .node-icon{color:var(--primary-color);font-size:.9rem;flex-shrink:0}.tree-node .node-label{flex:1;font-size:.9rem;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node .external-icon{color:var(--text-color-secondary);font-size:.7rem;opacity:.6;transition:opacity .2s ease;flex-shrink:0}.empty-state{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-content{text-align:center;max-width:300px}.empty-icon{font-size:3rem;color:var(--text-color-secondary);margin-bottom:1rem;opacity:.5}.empty-message{font-size:.9rem;color:var(--text-color-secondary);line-height:1.4;margin-bottom:1.5rem}:host ::ng-deep .p-scrollpanel-bar-y{background:var(--primary-200);width:4px;border-radius:2px}:host ::ng-deep .p-scrollpanel-bar-y:hover{background:var(--primary-300)}\n"] }]
1144
1144
  }], ctorParameters: () => [{ type: LayoutService }, { type: i5.TranslocoService }] });
1145
1145
 
1146
1146
  // API Endpoints