uitec-ng-header 1.0.14 → 1.0.16

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.
@@ -1,6 +1,6 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
2
  import { Component, ContentChild, EventEmitter, Inject, Input, Output, TemplateRef } from '@angular/core';
3
- import { AuthService, BaseUrlService, LayoutService, UsuarioMenuDTO } from 'uitec-ng-core';
3
+ import { AuthService, BaseUrlService, IframeService, LayoutService, UsuarioMenuDTO } from 'uitec-ng-core';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "uitec-ng-core";
6
6
  import * as i2 from "@angular/common";
@@ -8,10 +8,11 @@ import * as i3 from "uitec-ng-icon";
8
8
  import * as i4 from "primeng/tooltip";
9
9
  import * as i5 from "./my-account/my-account.component";
10
10
  export class UiHeaderComponent {
11
- constructor(authService, urlService, layoutService, document) {
11
+ constructor(authService, urlService, layoutService, iframeService, document) {
12
12
  this.authService = authService;
13
13
  this.urlService = urlService;
14
14
  this.layoutService = layoutService;
15
+ this.iframeService = iframeService;
15
16
  this.document = document;
16
17
  this.sidebar = true;
17
18
  this.redirectHome = true;
@@ -36,7 +37,9 @@ export class UiHeaderComponent {
36
37
  this.layoutService.config.settings.layout_version = this.dark ? "dark-only" : this.darkDefault;
37
38
  });
38
39
  this.document.body.classList.add(this.dark ? "dark-only" : "light");
40
+ this.document.documentElement.classList.add(this.dark ? "dark-only" : "light");
39
41
  this.addEventListenerOnIframe();
42
+ this.buildAmbiente();
40
43
  }
41
44
  layoutToggle() {
42
45
  this.dark = !this.dark;
@@ -46,15 +49,28 @@ export class UiHeaderComponent {
46
49
  this.document.body.classList.remove('dark-only');
47
50
  this.document.body.classList.remove('light');
48
51
  this.document.body.classList.add(classColor);
52
+ this.document.documentElement.classList.remove('dark-only');
53
+ this.document.documentElement.classList.remove('light');
54
+ this.document.documentElement.classList.add(classColor);
49
55
  this.updateIframeTheme();
50
56
  }
51
57
  updateIframeTheme() {
52
58
  const iframe = document.querySelector('iframe');
59
+ if (!iframe || !iframe.contentWindow)
60
+ return;
53
61
  const theme = this.dark ? "dark-only" : "light";
54
- if (iframe) {
55
- const origin = iframe.getAttribute('src');
56
- iframe.contentWindow.postMessage({ theme }, origin);
62
+ const iframeSrc = iframe.getAttribute('src');
63
+ let origin = "*"; // Usa "*" por padrão para evitar erro
64
+ if (iframeSrc) {
65
+ try {
66
+ const url = new URL(iframeSrc, window.location.origin);
67
+ origin = url.origin; // Extrai o domínio corretamente
68
+ }
69
+ catch (error) {
70
+ console.error("Erro ao extrair o origin do iframe:", error);
71
+ }
57
72
  }
73
+ iframe.contentWindow.postMessage({ theme }, origin);
58
74
  }
59
75
  addEventListenerOnIframe() {
60
76
  const frame = document.querySelector('iframe');
@@ -89,6 +105,23 @@ export class UiHeaderComponent {
89
105
  clickMenu(menu) {
90
106
  this.onNavigate.emit(menu);
91
107
  }
108
+ buildAmbiente() {
109
+ let textContent = null;
110
+ if (location.host.search('hom-') == 0) {
111
+ textContent = 'Homolog';
112
+ }
113
+ else if (location.host.search('localhost') == 0) {
114
+ textContent = 'Develop';
115
+ }
116
+ if (!textContent)
117
+ return;
118
+ const div = document.createElement('div');
119
+ const span = document.createElement('span');
120
+ div.className = `ambiente ambiente-${textContent.toLowerCase()}`;
121
+ span.textContent = textContent;
122
+ div.appendChild(span);
123
+ document.body.appendChild(div);
124
+ }
92
125
  toggleFullScreen() {
93
126
  this.fullScreen = !this.fullScreen;
94
127
  if (this.fullScreen) {
@@ -127,12 +160,12 @@ export class UiHeaderComponent {
127
160
  }
128
161
  }
129
162
  }
130
- UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
131
- UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus", sidebar: "sidebar", redirectHome: "redirectHome", darkDefault: "darkDefault" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "center", first: true, predicate: ["center"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->", styles: ["::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "directive", type: i4.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: i5.MyAccountComponent, selector: "my-account", inputs: ["menus"], outputs: ["onNavigate"] }] });
163
+ UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: i1.IframeService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
164
+ UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus", sidebar: "sidebar", redirectHome: "redirectHome", darkDefault: "darkDefault" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "center", first: true, predicate: ["center"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-center\">\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\n *ngIf=\"!dark\"></ui-icon>\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\n *ngIf=\"dark\"></ui-icon>\n\n </div>\n </li>\n\n <li class=\"maximize\">\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: ["::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "directive", type: i4.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: i5.MyAccountComponent, selector: "my-account", inputs: ["menus"], outputs: ["onNavigate"] }] });
132
165
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, decorators: [{
133
166
  type: Component,
134
- args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->", styles: ["::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"] }]
135
- }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: undefined, decorators: [{
167
+ args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-center\">\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\n *ngIf=\"!dark\"></ui-icon>\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\n *ngIf=\"dark\"></ui-icon>\n\n </div>\n </li>\n\n <li class=\"maximize\">\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: ["::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"] }]
168
+ }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: i1.IframeService }, { type: undefined, decorators: [{
136
169
  type: Inject,
137
170
  args: [DOCUMENT]
138
171
  }] }]; }, propDecorators: { collapseSidebar: [{
@@ -169,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
169
202
  type: ContentChild,
170
203
  args: ['right']
171
204
  }] } });
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvbGliL3VpLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1oZWFkZXIvc3JjL2xpYi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQWMsV0FBVyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQWUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBT3BILE1BQU0sT0FBTyxpQkFBaUI7SUEyQjFCLFlBQ1csV0FBd0IsRUFDeEIsVUFBMEIsRUFDMUIsYUFBNEIsRUFDVCxRQUFhO1FBSGhDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWdCO1FBQzFCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ1QsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQXhCbEMsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3QixnQkFBVyxHQUFXLE9BQU8sQ0FBQztRQUU3QiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDL0MseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNuRCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFrQnRELENBQUM7SUFFTCxRQUFRO1FBQ0osSUFBSSxDQUFDLElB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QixpNEdBc0V5Qjs0RkQ3RFosaUJBQWlCO2tCQUw3QixTQUFTOytCQUNJLFdBQVc7OzBCQW1DaEIsTUFBTTsyQkFBQyxRQUFROzRDQTdCWCxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUkscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFFZSxJQUFJO3NCQUF6QixZQUFZO3VCQUFDLE1BQU07Z0JBQ0ksTUFBTTtzQkFBN0IsWUFBWTt1QkFBQyxRQUFRO2dCQUNDLEtBQUs7c0JBQTNCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBdXRoQWNlc3NvLCBBdXRoU2VydmljZSwgQmFzZVVybFNlcnZpY2UsIExheW91dFNlcnZpY2UsIFVzZXJBdXRoRFRPLCBVc3VhcmlvTWVudURUTyB9IGZyb20gJ3VpdGVjLW5nLWNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3VpLWhlYWRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdWktaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3VpLWhlYWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaUhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgY29sbGFwc2VTaWRlYmFyOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgZnVsbFNjcmVlbjogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIGhlYWRlckJhY2tkcm9wOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBpc0ZyZWU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIG1lbnVzOiBVc3VhcmlvTWVudURUT1tdO1xyXG4gICAgQElucHV0KCkgc2lkZWJhcjogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSByZWRpcmVjdEhvbWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgQElucHV0KCkgZGFya0RlZmF1bHQ6IHN0cmluZyA9IFwibGlnaHRcIjtcclxuXHJcbiAgICBAT3V0cHV0KCkgY29sbGFwc2VTaWRlYmFyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gICAgQE91dHB1dCgpIGZ1bGxTY3JlZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICBAT3V0cHV0KCkgaGVhZGVyQmFja2Ryb3BDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25OYXZpZ2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VXN1YXJpb01lbnVEVE8+KCk7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZCgnbGVmdCcpIGxlZnQ6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBAQ29udGVudENoaWxkKCdjZW50ZXInKSBjZW50ZXI6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgICBAQ29udGVudENoaWxkKCdyaWdodCcpIHJpZ2h0OiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICAgIHB1YmxpYyBzdGF0dVNpZGViYXI7XHJcbiAgICBwdWJsaWMgZGFyazogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBlbGVtOiBhbnk7XHJcbiAgICBwdWJsaWMgdXNlck9iczogVXNlckF1dGhEVE87XHJcbiAgICBwdWJsaWMgYWNjZXNzT2JzOiBBdXRoQWNlc3NvO1xyXG5cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICAgIHB1YmxpYyB1cmxTZXJ2aWNlOiBCYXNlVXJsU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnlcclxuICAgICkgeyB9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lbGVtID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG5cclxuICAgICAgICB0aGlzLnVzZXJPYnMgPSB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRVc2VyVmFsdWU7XHJcbiAgICAgICAgdGhpcy5hY2Nlc3NPYnMgPSB0aGlzLmF1dGhTZXJ2aWNlLmN1cnJlbnRBY2Nlc3NWYWx1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlci5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51c2VyT2JzID0gZGF0YTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5jdXJyZW50QWNjZXNzLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFjY2Vzc09icyA9IGRhdGE7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuZGFyayA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdkYXJrTW9kZScpID09ICdlbmFibGVkJztcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLmNvbmZpZy5zZXR0aW5ncy5sYXlvdXRfdmVyc2lvbiA9IHRoaXMuZGFyayA/IFwiZGFyay1vbmx5XCIgOiB0aGlzLmRhcmtEZWZhdWx0O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuYWRkKHRoaXMuZGFyayA/IFwiZGFyay1vbmx5XCIgOiBcImxpZ2h0XCIpO1xyXG5cclxuICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJPbklmcmFtZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxheW91dFRvZ2dsZSgpIHtcclxuICAgICAgICB0aGlzLmRhcmsgPSAhdGhpcy5kYXJrO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkYXJrTW9kZScsIHRoaXMuZGFyayA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCcpO1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcuc2V0dGluZ3MubGF5b3V0X3ZlcnNpb24gPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiO1xyXG4gICAgICAgIGNvbnN0IGNsYXNzQ29sb3IgPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdkYXJrLW9ubHknKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbGlnaHQnKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChjbGFzc0NvbG9yKTtcclxuXHJcbiAgICAgICAgdGhpcy51cGRhdGVJZnJhbWVUaGVtZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUlmcmFtZVRoZW1lKCkge1xyXG4gICAgICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpO1xyXG4gICAgICAgIGNvbnN0IHRoZW1lID0gdGhpcy5kYXJrID8gXCJkYXJrLW9ubHlcIiA6IFwibGlnaHRcIlxyXG4gICAgICAgIGlmIChpZnJhbWUpIHtcclxuICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gaWZyYW1lLmdldEF0dHJpYnV0ZSgnc3JjJylcclxuICAgICAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyB0aGVtZSB9LCBvcmlnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhZGRFdmVudExpc3RlbmVyT25JZnJhbWUoKSB7XHJcbiAgICAgICAgY29uc3QgZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTtcclxuICAgICAgICBpZiAoIWZyYW1lKXtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVJZnJhbWVUaGVtZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vcmVjZWJlIG8gdmFsb3IgaW5pY2lhbCBkbyBjb2xsYXBzZVNpZGViYXIgZSBncmF2YSBubyBsb2NhbHN0b3JhZ2VcclxuICAgIHNldFN0YXR1c1NpZGVCYXIoKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0dVNpZGViYXIgPSB0aGlzLmNvbGxhcHNlU2lkZWJhcjtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbG9jYWwnLCB0aGlzLnN0YXR1U2lkZWJhcik7XHJcbiAgICB9XHJcblxyXG4gICAgc2lkZWJhclRvZ2dsZSgpIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlU2lkZWJhciA9ICF0aGlzLmNvbGxhcHNlU2lkZWJhcjtcclxuICAgICAgICB0aGlzLnNldFN0YXR1c1NpZGVCYXIoKTtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlU2lkZWJhckNoYW5nZS5lbWl0KHRoaXMuY29sbGFwc2VTaWRlYmFyKTtcclxuICAgIH1cclxuXHJcbiAgICBob21lKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5yZWRpcmVjdEhvbWUpIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IG1lbnUgPSBuZXcgVXN1YXJpb01lbnVEVE8oKTtcclxuICAgICAgICBtZW51LmRzX3JvdGEgPSAnLyc7XHJcbiAgICAgICAgbWVudS5kc190aXBvID0gJ2xpbmsnO1xyXG4gICAgICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KG1lbnUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvZ291dCgpIHtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGlja01lbnUobWVudTogVXN1YXJpb01lbnVEVE8pIHtcclxuICAgICAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdChtZW51KTtcclxuICAgIH1cclxuXHJcbiAgICB0b2dnbGVGdWxsU2NyZWVuKCkge1xyXG4gICAgICAgIHRoaXMuZnVsbFNjcmVlbiA9ICF0aGlzLmZ1bGxTY3JlZW47XHJcbiAgICAgICAgaWYgKHRoaXMuZnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5lbGVtLnJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmVsZW0ubW96UmVxdWVzdEZ1bGxTY3JlZW4pIHtcclxuICAgICAgICAgICAgICAgIC8qIEZpcmVmb3ggKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbS5tb3pSZXF1ZXN0RnVsbFNjcmVlbigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW0ud2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmVsZW0ubXNSZXF1ZXN0RnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogSUUvRWRnZSAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtLm1zUmVxdWVzdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5kb2N1bWVudC5leGl0RnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5leGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZG9jdW1lbnQubW96Q2FuY2VsRnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogRmlyZWZveCAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kb2N1bWVudC5tc0V4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBJRS9FZGdlICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8IS0tIFBhZ2UgSGVhZGVyIEJhY2tkcm9wIC0tPlxyXG48ZGl2ICpuZ0lmPVwiaGVhZGVyQmFja2Ryb3BcIiAoY2xpY2spPVwibmF2U2VydmljZS5oaWRlQWxsUG9wVXBzKClcIiBjbGFzcz1cImhlYWRlci1iYWNrZ3JvcFwiPjwvZGl2PlxyXG5cclxuPCEtLSBQYWdlIEhlYWRlciBTdGFydCAtLT5cclxuPGRpdiBjbGFzcz1cInBhZ2UtaGVhZGVyXCIgW2NsYXNzLmNsb3NlX2ljb25dPVwiY29sbGFwc2VTaWRlYmFyXCIgW2NsYXNzLm5vdC1zaWRlYmFyXT1cIiFzaWRlYmFyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXdyYXBwZXIgZC1mbGV4IG0tMCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLWxvZ28td3JhcHBlciBjb2wtYXV0byBkLWxnLW5vbmUgcHgtMFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2lkZWJhclwiIGNsYXNzPVwidG9nZ2xlLXNpZGViYXJcIiAoY2xpY2spPVwic2lkZWJhclRvZ2dsZSgpXCI+XHJcbiAgICAgICAgICAgICAgICA8dWktaWNvbiBpY29uPVwibWVudVwiIGNsYXNzPVwic3RhdHVzX3RvZ2dsZSBtaWRkbGVcIj48L3VpLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YSAoY2xpY2spPVwiaG9tZSgpXCIgW2NsYXNzLmN1cnNvci1wb2ludGVyXT1cInJlZGlyZWN0SG9tZVwiPlxyXG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1mbHVpZCBmb3ItZGFyayBpbWFnZS1sb2dvIGQtbWQtbm9uZVwiIHNyYz1cImFzc2V0cy9pbWFnZXMvbG9nby9sb2dvX2RhcmsucG5nXCIgYWx0PVwiXCIgLz5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGVmdC1oZWFkZXIgaG9yaXpvbnRhbC13cmFwcGVyIHBzLTBcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsZWZ0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2VudGVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtcmlnaHQgcC0wXCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdi1tZW51c1wiPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8bGkgY2xhc3M9XCJsYW5ndWFnZS1uYXZcIiAoY2xpY2spPVwibGFuZ3VhZ2VUb2dnbGUoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoZWFkZXItbGFuZ3VhZ2VzPjwvaGVhZGVyLWxhbmd1YWdlcz5cclxuICAgICAgICAgICAgICAgIDwvbGk+IC0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzRnJlZTsgdGhlbiBsaVVwZ3JhZGU7IGVsc2UgbGlFbXB0eVwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbGlVcGdyYWRlPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgYm9yZGVyLTAgcm91bmRlZC1waWxsIGdhcC0yIGItY29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5Nb2RhbCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvY29yb2Euc3ZnXCIgY2xhc3M9XCJ3LWF1dG9cIiBhbHQ9XCJpY29uZS1jb3JvYVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYcOnYSBVcGdyYWRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNsaUVtcHR5PlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48L2xpPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0XCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgPGxpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImxheW91dFRvZ2dsZSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1aS1pY29uIHBUb29sdGlwPVwiQXRpdmFyIE1vZG8gRXNjdXJvXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgaWNvbj1cImRhcmtfbW9kZVwiIHNpemU9XCIyNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiFkYXJrXCI+PC91aS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBwVG9vbHRpcD1cIkF0aXZhciBNb2RvIENsYXJvXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgaWNvbj1cInN1bm55XCIgc2l6ZT1cIjI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGFya1wiPjwvdWktaWNvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1heGltaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgcFRvb2x0aXA9XCJNYXhpbWl6YXJcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBjbGFzcz1cInRleHQtZGFyayBjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwidG9nZ2xlRnVsbFNjcmVlbigpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx1aS1pY29uIGljb249XCJmdWxsc2NyZWVuXCIgc2l6ZT1cIjI0XCI+PC91aS1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwcm9maWxlLW5hdiBvbmhvdmVyLWRyb3Bkb3duIHAtMCBwcy0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG15LWFjY291bnQgW21lbnVzXT1cIm1lbnVzXCIgKG9uTmF2aWdhdGUpPVwib25OYXZpZ2F0ZS5lbWl0KCRldmVudClcIj48L215LWFjY291bnQ+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tIFBhZ2UgSGVhZGVyIEVuZHMgLS0+Il19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWhlYWRlci9zcmMvbGliL3VpLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1oZWFkZXIvc3JjL2xpYi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQWMsV0FBVyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFlLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQU9uSSxNQUFNLE9BQU8saUJBQWlCO0lBMEIxQixZQUNXLFdBQXdCLEVBQ3hCLFVBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGFBQTRCLEVBQ1QsUUFBYTtRQUpoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFnQjtRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNULGFBQVEsR0FBUixRQUFRLENBQUs7UUF4QmxDLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFDeEIsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDN0IsZ0JBQVcsR0FBVyxPQUFPLENBQUM7UUFFN0IsMEJBQXFCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNwRCxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQy9DLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbkQsZUFBVSxHQUFHLElBQUksWUFBWSxF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RE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEF1dGhBY2Vzc28sIEF1dGhTZXJ2aWNlLCBCYXNlVXJsU2VydmljZSwgSWZyYW1lU2VydmljZSwgTGF5b3V0U2VydmljZSwgVXNlckF1dGhEVE8sIFVzdWFyaW9NZW51RFRPIH0gZnJvbSAndWl0ZWMtbmctY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndWktaGVhZGVyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi91aS1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vdWktaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFVpSGVhZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgICBASW5wdXQoKSBjb2xsYXBzZVNpZGViYXI6IGJvb2xlYW47XHJcbiAgICBASW5wdXQoKSBmdWxsU2NyZWVuOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaGVhZGVyQmFja2Ryb3A6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGlzRnJlZTogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgbWVudXM6IFVzdWFyaW9NZW51RFRPW107XHJcbiAgICBASW5wdXQoKSBzaWRlYmFyOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIHJlZGlyZWN0SG9tZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBkYXJrRGVmYXVsdDogc3RyaW5nID0gXCJsaWdodFwiO1xyXG5cclxuICAgIEBPdXRwdXQoKSBjb2xsYXBzZVNpZGViYXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgICBAT3V0cHV0KCkgZnVsbFNjcmVlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBPdXRwdXQoKSBoZWFkZXJCYWNrZHJvcENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAgIEBPdXRwdXQoKSBvbk5hdmlnYXRlID0gbmV3IEV2ZW50RW1pdHRlcjxVc3VhcmlvTWVudURUTz4oKTtcclxuXHJcbiAgICBAQ29udGVudENoaWxkKCdsZWZ0JykgbGVmdDogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ2NlbnRlcicpIGNlbnRlcjogVGVtcGxhdGVSZWY8YW55PjtcclxuICAgIEBDb250ZW50Q2hpbGQoJ3JpZ2h0JykgcmlnaHQ6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gICAgcHVibGljIHN0YXR1U2lkZWJhcjtcclxuICAgIHB1YmxpYyBkYXJrOiBib29sZWFuO1xyXG4gICAgcHVibGljIGVsZW06IGFueTtcclxuICAgIHB1YmxpYyB1c2VyT2JzOiBVc2VyQXV0aERUTztcclxuICAgIHB1YmxpYyBhY2Nlc3NPYnM6IEF1dGhBY2Vzc287XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHVibGljIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgdXJsU2VydmljZTogQmFzZVVybFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGlmcmFtZVNlcnZpY2U6IElmcmFtZVNlcnZpY2UsXHJcbiAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55XHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZWxlbSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcclxuXHJcbiAgICAgICAgdGhpcy51c2VyT2JzID0gdGhpcy5hdXRoU2VydmljZS5jdXJyZW50VXNlclZhbHVlO1xyXG4gICAgICAgIHRoaXMuYWNjZXNzT2JzID0gdGhpcy5hdXRoU2VydmljZS5jdXJyZW50QWNjZXNzVmFsdWU7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudFVzZXIuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudXNlck9icyA9IGRhdGE7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UuY3VycmVudEFjY2Vzcy5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5hY2Nlc3NPYnMgPSBkYXRhO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmRhcmsgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZGFya01vZGUnKSA9PSAnZW5hYmxlZCc7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcuc2V0dGluZ3MubGF5b3V0X3ZlcnNpb24gPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogdGhpcy5kYXJrRGVmYXVsdDtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCh0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuZGFyayA/IFwiZGFyay1vbmx5XCIgOiBcImxpZ2h0XCIpO1xyXG5cclxuICAgICAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXJPbklmcmFtZSgpO1xyXG4gICAgICAgIHRoaXMuYnVpbGRBbWJpZW50ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxheW91dFRvZ2dsZSgpIHtcclxuICAgICAgICB0aGlzLmRhcmsgPSAhdGhpcy5kYXJrO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkYXJrTW9kZScsIHRoaXMuZGFyayA/ICdlbmFibGVkJyA6ICdkaXNhYmxlZCcpO1xyXG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5jb25maWcuc2V0dGluZ3MubGF5b3V0X3ZlcnNpb24gPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiO1xyXG4gICAgICAgIGNvbnN0IGNsYXNzQ29sb3IgPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCdkYXJrLW9ubHknKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnbGlnaHQnKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZChjbGFzc0NvbG9yKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdkYXJrLW9ubHknKTtcclxuICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdsaWdodCcpO1xyXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NDb2xvcik7XHJcblxyXG4gICAgICAgIHRoaXMudXBkYXRlSWZyYW1lVGhlbWUoKTtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVJZnJhbWVUaGVtZSgpIHtcclxuICAgICAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpZnJhbWUnKTtcclxuICAgICAgICBpZiAoIWlmcmFtZSB8fCAhaWZyYW1lLmNvbnRlbnRXaW5kb3cpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgdGhlbWUgPSB0aGlzLmRhcmsgPyBcImRhcmstb25seVwiIDogXCJsaWdodFwiO1xyXG4gICAgICAgIGNvbnN0IGlmcmFtZVNyYyA9IGlmcmFtZS5nZXRBdHRyaWJ1dGUoJ3NyYycpO1xyXG5cclxuICAgICAgICBsZXQgb3JpZ2luID0gXCIqXCI7IC8vIFVzYSBcIipcIiBwb3IgcGFkcsOjbyBwYXJhIGV2aXRhciBlcnJvXHJcblxyXG4gICAgICAgIGlmIChpZnJhbWVTcmMpIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoaWZyYW1lU3JjLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcclxuICAgICAgICAgICAgICAgIG9yaWdpbiA9IHVybC5vcmlnaW47IC8vIEV4dHJhaSBvIGRvbcOtbmlvIGNvcnJldGFtZW50ZVxyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm8gYW8gZXh0cmFpciBvIG9yaWdpbiBkbyBpZnJhbWU6XCIsIGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoeyB0aGVtZSB9LCBvcmlnaW4pO1xyXG4gICAgfVxyXG5cclxuICAgIGFkZEV2ZW50TGlzdGVuZXJPbklmcmFtZSgpIHtcclxuICAgICAgICBjb25zdCBmcmFtZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lmcmFtZScpO1xyXG4gICAgICAgIGlmICghZnJhbWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVJZnJhbWVUaGVtZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vcmVjZWJlIG8gdmFsb3IgaW5pY2lhbCBkbyBjb2xsYXBzZVNpZGViYXIgZSBncmF2YSBubyBsb2NhbHN0b3JhZ2VcclxuICAgIHNldFN0YXR1c1NpZGVCYXIoKSB7XHJcbiAgICAgICAgdGhpcy5zdGF0dVNpZGViYXIgPSB0aGlzLmNvbGxhcHNlU2lkZWJhcjtcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbG9jYWwnLCB0aGlzLnN0YXR1U2lkZWJhcik7XHJcbiAgICB9XHJcblxyXG4gICAgc2lkZWJhclRvZ2dsZSgpIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlU2lkZWJhciA9ICF0aGlzLmNvbGxhcHNlU2lkZWJhcjtcclxuICAgICAgICB0aGlzLnNldFN0YXR1c1NpZGVCYXIoKTtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlU2lkZWJhckNoYW5nZS5lbWl0KHRoaXMuY29sbGFwc2VTaWRlYmFyKTtcclxuICAgIH1cclxuXHJcbiAgICBob21lKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5yZWRpcmVjdEhvbWUpIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IG1lbnUgPSBuZXcgVXN1YXJpb01lbnVEVE8oKTtcclxuICAgICAgICBtZW51LmRzX3JvdGEgPSAnLyc7XHJcbiAgICAgICAgbWVudS5kc190aXBvID0gJ2xpbmsnO1xyXG4gICAgICAgIHRoaXMub25OYXZpZ2F0ZS5lbWl0KG1lbnUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvZ291dCgpIHtcclxuXHJcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIH1cclxuXHJcbiAgICBjbGlja01lbnUobWVudTogVXN1YXJpb01lbnVEVE8pIHtcclxuICAgICAgICB0aGlzLm9uTmF2aWdhdGUuZW1pdChtZW51KTtcclxuICAgIH1cclxuXHJcbiAgICBidWlsZEFtYmllbnRlKCkge1xyXG4gICAgICAgIGxldCB0ZXh0Q29udGVudCA9IG51bGw7XHJcblxyXG4gICAgICAgIGlmIChsb2NhdGlvbi5ob3N0LnNlYXJjaCgnaG9tLScpID09IDApIHtcclxuICAgICAgICAgICAgdGV4dENvbnRlbnQgPSAnSG9tb2xvZyc7XHJcbiAgICAgICAgfSBlbHNlIGlmIChsb2NhdGlvbi5ob3N0LnNlYXJjaCgnbG9jYWxob3N0JykgPT0gMCkge1xyXG4gICAgICAgICAgICB0ZXh0Q29udGVudCA9ICdEZXZlbG9wJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGV4dENvbnRlbnQpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XHJcbiAgICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICBkaXYuY2xhc3NOYW1lID0gYGFtYmllbnRlIGFtYmllbnRlLSR7dGV4dENvbnRlbnQudG9Mb3dlckNhc2UoKX1gO1xyXG4gICAgICAgIHNwYW4udGV4dENvbnRlbnQgPSB0ZXh0Q29udGVudDtcclxuICAgICAgICBkaXYuYXBwZW5kQ2hpbGQoc3Bhbik7XHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xyXG4gICAgfVxyXG5cclxuICAgIHRvZ2dsZUZ1bGxTY3JlZW4oKSB7XHJcbiAgICAgICAgdGhpcy5mdWxsU2NyZWVuID0gIXRoaXMuZnVsbFNjcmVlbjtcclxuICAgICAgICBpZiAodGhpcy5mdWxsU2NyZWVuKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW0ucmVxdWVzdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbS5yZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbS5tb3pSZXF1ZXN0RnVsbFNjcmVlbikge1xyXG4gICAgICAgICAgICAgICAgLyogRmlyZWZveCAqL1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtLm1velJlcXVlc3RGdWxsU2NyZWVuKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5lbGVtLndlYmtpdFJlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEgKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbS53ZWJraXRSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWxlbS5tc1JlcXVlc3RGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBJRS9FZGdlICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVsZW0ubXNSZXF1ZXN0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LmV4aXRGdWxsc2NyZWVuKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5kb2N1bWVudC5tb3pDYW5jZWxGdWxsU2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBGaXJlZm94ICovXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50Lm1vekNhbmNlbEZ1bGxTY3JlZW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRvY3VtZW50LndlYmtpdEV4aXRGdWxsc2NyZWVuKSB7XHJcbiAgICAgICAgICAgICAgICAvKiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEgKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQud2Via2l0RXhpdEZ1bGxzY3JlZW4oKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmRvY3VtZW50Lm1zRXhpdEZ1bGxzY3JlZW4pIHtcclxuICAgICAgICAgICAgICAgIC8qIElFL0VkZ2UgKi9cclxuICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQubXNFeGl0RnVsbHNjcmVlbigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIjwhLS0gUGFnZSBIZWFkZXIgQmFja2Ryb3AgLS0+XG48ZGl2ICpuZ0lmPVwiaGVhZGVyQmFja2Ryb3BcIiAoY2xpY2spPVwibmF2U2VydmljZS5oaWRlQWxsUG9wVXBzKClcIiBjbGFzcz1cImhlYWRlci1iYWNrZ3JvcFwiPjwvZGl2PlxuXG48IS0tIFBhZ2UgSGVhZGVyIFN0YXJ0IC0tPlxuPGRpdiBjbGFzcz1cInBhZ2UtaGVhZGVyXCIgW2NsYXNzLmNsb3NlX2ljb25dPVwiY29sbGFwc2VTaWRlYmFyXCIgW2NsYXNzLm5vdC1zaWRlYmFyXT1cIiFzaWRlYmFyXCI+XG4gICAgPGRpdiBjbGFzcz1cImhlYWRlci13cmFwcGVyIGQtZmxleCBtLTAganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci1sb2dvLXdyYXBwZXIgY29sLWF1dG8gZC1sZy1ub25lIHB4LTBcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaWRlYmFyXCIgY2xhc3M9XCJ0b2dnbGUtc2lkZWJhclwiIChjbGljayk9XCJzaWRlYmFyVG9nZ2xlKClcIj5cbiAgICAgICAgICAgICAgICA8dWktaWNvbiBpY29uPVwibWVudVwiIGNsYXNzPVwic3RhdHVzX3RvZ2dsZSBtaWRkbGVcIj48L3VpLWljb24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxhIChjbGljayk9XCJob21lKClcIiBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwicmVkaXJlY3RIb21lXCI+XG4gICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1mbHVpZCBmb3ItZGFyayBpbWFnZS1sb2dvIGQtbWQtbm9uZVwiIHNyYz1cImFzc2V0cy9pbWFnZXMvbG9nby9sb2dvX2RhcmsucG5nXCIgYWx0PVwiXCIgLz5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtaGVhZGVyIGhvcml6b250YWwtd3JhcHBlciBwcy0wXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxlZnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2VudGVyXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtcmlnaHQgcC0wXCI+XG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYtbWVudXNcIj5cbiAgICAgICAgICAgICAgICA8IS0tIDxsaSBjbGFzcz1cImxhbmd1YWdlLW5hdlwiIChjbGljayk9XCJsYW5ndWFnZVRvZ2dsZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoZWFkZXItbGFuZ3VhZ2VzPjwvaGVhZGVyLWxhbmd1YWdlcz5cbiAgICAgICAgICAgICAgICA8L2xpPiAtLT5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNGcmVlOyB0aGVuIGxpVXBncmFkZTsgZWxzZSBsaUVtcHR5XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xpVXBncmFkZT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGJvcmRlci0wIHJvdW5kZWQtcGlsbCBnYXAtMiBiLWNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbk1vZGFsKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9pbWFnZXMvY29yb2Euc3ZnXCIgY2xhc3M9XCJ3LWF1dG9cIiBhbHQ9XCJpY29uZS1jb3JvYVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgRmHDp2EgVXBncmFkZVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2xpRW1wdHk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT48L2xpPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJpZ2h0XCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RlIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImxheW91dFRvZ2dsZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBwVG9vbHRpcD1cIkF0aXZhciBNb2RvIEVzY3Vyb1wiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIGljb249XCJkYXJrX21vZGVcIiBzaXplPVwiMjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRhcmtcIj48L3VpLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dWktaWNvbiBwVG9vbHRpcD1cIkF0aXZhciBNb2RvIENsYXJvXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgaWNvbj1cInN1bm55XCIgc2l6ZT1cIjI0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRhcmtcIj48L3VpLWljb24+XG5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9saT5cblxuICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIm1heGltaXplXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhIHBUb29sdGlwPVwiTWF4aW1pemFyXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgY2xhc3M9XCJ0ZXh0LWRhcmsgY3Vyc29yLXBvaW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJ0b2dnbGVGdWxsU2NyZWVuKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx1aS1pY29uIGljb249XCJmdWxsc2NyZWVuXCIgc2l6ZT1cIjI0XCI+PC91aS1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJwcm9maWxlLW5hdiBvbmhvdmVyLWRyb3Bkb3duIHAtMCBwcy0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxteS1hY2NvdW50IFttZW51c109XCJtZW51c1wiIChvbk5hdmlnYXRlKT1cIm9uTmF2aWdhdGUuZW1pdCgkZXZlbnQpXCI+PC9teS1hY2NvdW50PlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPCEtLSBQYWdlIEhlYWRlciBFbmRzIC0tPlxuIl19
@@ -59,10 +59,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
59
59
  }] } });
60
60
 
61
61
  class UiHeaderComponent {
62
- constructor(authService, urlService, layoutService, document) {
62
+ constructor(authService, urlService, layoutService, iframeService, document) {
63
63
  this.authService = authService;
64
64
  this.urlService = urlService;
65
65
  this.layoutService = layoutService;
66
+ this.iframeService = iframeService;
66
67
  this.document = document;
67
68
  this.sidebar = true;
68
69
  this.redirectHome = true;
@@ -87,7 +88,9 @@ class UiHeaderComponent {
87
88
  this.layoutService.config.settings.layout_version = this.dark ? "dark-only" : this.darkDefault;
88
89
  });
89
90
  this.document.body.classList.add(this.dark ? "dark-only" : "light");
91
+ this.document.documentElement.classList.add(this.dark ? "dark-only" : "light");
90
92
  this.addEventListenerOnIframe();
93
+ this.buildAmbiente();
91
94
  }
92
95
  layoutToggle() {
93
96
  this.dark = !this.dark;
@@ -97,15 +100,28 @@ class UiHeaderComponent {
97
100
  this.document.body.classList.remove('dark-only');
98
101
  this.document.body.classList.remove('light');
99
102
  this.document.body.classList.add(classColor);
103
+ this.document.documentElement.classList.remove('dark-only');
104
+ this.document.documentElement.classList.remove('light');
105
+ this.document.documentElement.classList.add(classColor);
100
106
  this.updateIframeTheme();
101
107
  }
102
108
  updateIframeTheme() {
103
109
  const iframe = document.querySelector('iframe');
110
+ if (!iframe || !iframe.contentWindow)
111
+ return;
104
112
  const theme = this.dark ? "dark-only" : "light";
105
- if (iframe) {
106
- const origin = iframe.getAttribute('src');
107
- iframe.contentWindow.postMessage({ theme }, origin);
113
+ const iframeSrc = iframe.getAttribute('src');
114
+ let origin = "*"; // Usa "*" por padrão para evitar erro
115
+ if (iframeSrc) {
116
+ try {
117
+ const url = new URL(iframeSrc, window.location.origin);
118
+ origin = url.origin; // Extrai o domínio corretamente
119
+ }
120
+ catch (error) {
121
+ console.error("Erro ao extrair o origin do iframe:", error);
122
+ }
108
123
  }
124
+ iframe.contentWindow.postMessage({ theme }, origin);
109
125
  }
110
126
  addEventListenerOnIframe() {
111
127
  const frame = document.querySelector('iframe');
@@ -140,6 +156,23 @@ class UiHeaderComponent {
140
156
  clickMenu(menu) {
141
157
  this.onNavigate.emit(menu);
142
158
  }
159
+ buildAmbiente() {
160
+ let textContent = null;
161
+ if (location.host.search('hom-') == 0) {
162
+ textContent = 'Homolog';
163
+ }
164
+ else if (location.host.search('localhost') == 0) {
165
+ textContent = 'Develop';
166
+ }
167
+ if (!textContent)
168
+ return;
169
+ const div = document.createElement('div');
170
+ const span = document.createElement('span');
171
+ div.className = `ambiente ambiente-${textContent.toLowerCase()}`;
172
+ span.textContent = textContent;
173
+ div.appendChild(span);
174
+ document.body.appendChild(div);
175
+ }
143
176
  toggleFullScreen() {
144
177
  this.fullScreen = !this.fullScreen;
145
178
  if (this.fullScreen) {
@@ -178,13 +211,13 @@ class UiHeaderComponent {
178
211
  }
179
212
  }
180
213
  }
181
- UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
182
- UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus", sidebar: "sidebar", redirectHome: "redirectHome", darkDefault: "darkDefault" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "center", first: true, predicate: ["center"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->", styles: ["::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "directive", type: i4$1.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: MyAccountComponent, selector: "my-account", inputs: ["menus"], outputs: ["onNavigate"] }] });
214
+ UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: i1.IframeService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
215
+ UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus", sidebar: "sidebar", redirectHome: "redirectHome", darkDefault: "darkDefault" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "center", first: true, predicate: ["center"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-center\">\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\n *ngIf=\"!dark\"></ui-icon>\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\n *ngIf=\"dark\"></ui-icon>\n\n </div>\n </li>\n\n <li class=\"maximize\">\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: ["::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "directive", type: i4$1.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: MyAccountComponent, selector: "my-account", inputs: ["menus"], outputs: ["onNavigate"] }] });
183
216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, decorators: [{
184
217
  type: Component,
185
- args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->", styles: ["::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"] }]
218
+ args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-center\">\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\n *ngIf=\"!dark\"></ui-icon>\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\n *ngIf=\"dark\"></ui-icon>\n\n </div>\n </li>\n\n <li class=\"maximize\">\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: ["::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"] }]
186
219
  }], ctorParameters: function () {
187
- return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: undefined, decorators: [{
220
+ return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: i1.IframeService }, { type: undefined, decorators: [{
188
221
  type: Inject,
189
222
  args: [DOCUMENT]
190
223
  }] }];
@@ -1 +1 @@
1
- {"version":3,"file":"uitec-ng-header.mjs","sources":["../../../projects/ui-header/src/lib/ui-header.service.ts","../../../projects/ui-header/src/lib/my-account/my-account.component.ts","../../../projects/ui-header/src/lib/my-account/my-account.component.html","../../../projects/ui-header/src/lib/ui-header.component.ts","../../../projects/ui-header/src/lib/ui-header.component.html","../../../projects/ui-header/src/lib/ui-header.module.ts","../../../projects/ui-header/src/public-api.ts","../../../projects/ui-header/src/uitec-ng-header.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UiHeaderService {\n\n constructor() { }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AuthAcesso, BaseUrlService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\r\nimport { AuthService } from 'uitec-ng-core';\r\n\r\n@Component({\r\n selector: 'my-account',\r\n templateUrl: './my-account.component.html',\r\n styleUrls: ['./my-account.component.scss']\r\n})\r\nexport class MyAccountComponent implements OnInit {\r\n\r\n @Input() menus: UsuarioMenuDTO[];\r\n\r\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\r\n\r\n public userObs: UserAuthDTO;\r\n public accessObs: AuthAcesso;\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public urlService: BaseUrlService\r\n ) {\r\n this.userObs = this.authService.currentUserValue;\r\n this.accessObs = this.authService.currentAccessValue;\r\n\r\n this.authService.currentUser.subscribe((data) => {\r\n this.userObs = data;\r\n });\r\n\r\n this.authService.currentAccess.subscribe((data) => {\r\n this.accessObs = data;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n clickMenu(menu: UsuarioMenuDTO) {\r\n this.onNavigate.emit(menu);\r\n }\r\n}\r\n","<ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs?.usuario})\" [usuario]=\"userObs?.usuario\"\n [acesso]=\"accessObs\"></ui-user-top>\n\n<ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n</ul>\n","import { DOCUMENT } from '@angular/common';\r\nimport { Component, ContentChild, EventEmitter, HostListener, Inject, Input, OnChanges, OnInit, Output, TemplateRef } from '@angular/core';\r\nimport { AuthAcesso, AuthService, BaseUrlService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\r\n\r\n@Component({\r\n selector: 'ui-header',\r\n templateUrl: './ui-header.component.html',\r\n styleUrls: ['./ui-header.component.scss']\r\n})\r\nexport class UiHeaderComponent implements OnInit {\r\n\r\n @Input() collapseSidebar: boolean;\r\n @Input() fullScreen: boolean;\r\n @Input() headerBackdrop: string;\r\n @Input() isFree: string;\r\n @Input() menus: UsuarioMenuDTO[];\r\n @Input() sidebar: boolean = true;\r\n @Input() redirectHome: boolean = true;\r\n @Input() darkDefault: string = \"light\";\r\n\r\n @Output() collapseSidebarChange = new EventEmitter<boolean>();\r\n @Output() fullScreenChange = new EventEmitter<boolean>();\r\n @Output() headerBackdropChange = new EventEmitter<boolean>();\r\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\r\n\r\n @ContentChild('left') left: TemplateRef<any>;\r\n @ContentChild('center') center: TemplateRef<any>;\r\n @ContentChild('right') right: TemplateRef<any>;\r\n\r\n public statuSidebar;\r\n public dark: boolean;\r\n public elem: any;\r\n public userObs: UserAuthDTO;\r\n public accessObs: AuthAcesso;\r\n\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public urlService: BaseUrlService,\r\n public layoutService: LayoutService,\r\n @Inject(DOCUMENT) private document: any\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.elem = document.documentElement;\r\n\r\n this.userObs = this.authService.currentUserValue;\r\n this.accessObs = this.authService.currentAccessValue;\r\n\r\n this.authService.currentUser.subscribe((data) => {\r\n this.userObs = data;\r\n });\r\n\r\n this.authService.currentAccess.subscribe((data) => {\r\n this.accessObs = data;\r\n });\r\n\r\n this.dark = localStorage.getItem('darkMode') == 'enabled';\r\n setTimeout(() => {\r\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : this.darkDefault;\r\n });\r\n this.document.body.classList.add(this.dark ? \"dark-only\" : \"light\");\r\n\r\n this.addEventListenerOnIframe();\r\n }\r\n\r\n layoutToggle() {\r\n this.dark = !this.dark;\r\n localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');\r\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : \"light\";\r\n const classColor = this.dark ? \"dark-only\" : \"light\";\r\n this.document.body.classList.remove('dark-only');\r\n this.document.body.classList.remove('light');\r\n this.document.body.classList.add(classColor);\r\n\r\n this.updateIframeTheme();\r\n }\r\n\r\n updateIframeTheme() {\r\n const iframe = document.querySelector('iframe');\r\n const theme = this.dark ? \"dark-only\" : \"light\"\r\n if (iframe) {\r\n const origin = iframe.getAttribute('src')\r\n iframe.contentWindow.postMessage({ theme }, origin);\r\n }\r\n }\r\n\r\n addEventListenerOnIframe() {\r\n const frame = document.querySelector('iframe');\r\n if (!frame){\r\n return;\r\n }\r\n\r\n frame.addEventListener('load', () => {\r\n this.updateIframeTheme();\r\n });\r\n }\r\n\r\n //recebe o valor inicial do collapseSidebar e grava no localstorage\r\n setStatusSideBar() {\r\n this.statuSidebar = this.collapseSidebar;\r\n localStorage.setItem('local', this.statuSidebar);\r\n }\r\n\r\n sidebarToggle() {\r\n this.collapseSidebar = !this.collapseSidebar;\r\n this.setStatusSideBar();\r\n this.collapseSidebarChange.emit(this.collapseSidebar);\r\n }\r\n\r\n home() {\r\n if (!this.redirectHome) return;\r\n\r\n let menu = new UsuarioMenuDTO();\r\n menu.ds_rota = '/';\r\n menu.ds_tipo = 'link';\r\n this.onNavigate.emit(menu);\r\n }\r\n\r\n logout() {\r\n\r\n this.authService.logout();\r\n }\r\n\r\n clickMenu(menu: UsuarioMenuDTO) {\r\n this.onNavigate.emit(menu);\r\n }\r\n\r\n toggleFullScreen() {\r\n this.fullScreen = !this.fullScreen;\r\n if (this.fullScreen) {\r\n if (this.elem.requestFullscreen) {\r\n this.elem.requestFullscreen();\r\n } else if (this.elem.mozRequestFullScreen) {\r\n /* Firefox */\r\n this.elem.mozRequestFullScreen();\r\n } else if (this.elem.webkitRequestFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.elem.webkitRequestFullscreen();\r\n } else if (this.elem.msRequestFullscreen) {\r\n /* IE/Edge */\r\n this.elem.msRequestFullscreen();\r\n }\r\n } else {\r\n if (!this.document.exitFullscreen) {\r\n this.document.exitFullscreen();\r\n } else if (this.document.mozCancelFullScreen) {\r\n /* Firefox */\r\n this.document.mozCancelFullScreen();\r\n } else if (this.document.webkitExitFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.document.webkitExitFullscreen();\r\n } else if (this.document.msExitFullscreen) {\r\n /* IE/Edge */\r\n this.document.msExitFullscreen();\r\n }\r\n }\r\n }\r\n}\r\n","<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Faça Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->","import { NgModule } from '@angular/core';\r\nimport { UiHeaderComponent } from './ui-header.component';\r\nimport { UiIconModule } from 'uitec-ng-icon';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { UiUserTopModule } from 'uitec-ng-user-top';\r\nimport { MyAccountComponent } from './my-account/my-account.component';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n@NgModule({\r\n declarations: [\r\n UiHeaderComponent,\r\n MyAccountComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n UiIconModule,\r\n UiUserTopModule,\r\n TooltipModule\r\n ],\r\n exports: [\r\n UiHeaderComponent,\r\n ]\r\n})\r\nexport class UiHeaderModule { }\r\n","/*\n * Public API Surface of ui-header\n */\n\nexport * from './lib/ui-header.service';\nexport * from './lib/ui-header.component';\nexport * from './lib/ui-header.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5.MyAccountComponent"],"mappings":"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"}
1
+ {"version":3,"file":"uitec-ng-header.mjs","sources":["../../../projects/ui-header/src/lib/ui-header.service.ts","../../../projects/ui-header/src/lib/my-account/my-account.component.ts","../../../projects/ui-header/src/lib/my-account/my-account.component.html","../../../projects/ui-header/src/lib/ui-header.component.ts","../../../projects/ui-header/src/lib/ui-header.component.html","../../../projects/ui-header/src/lib/ui-header.module.ts","../../../projects/ui-header/src/public-api.ts","../../../projects/ui-header/src/uitec-ng-header.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UiHeaderService {\n\n constructor() { }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AuthAcesso, BaseUrlService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\r\nimport { AuthService } from 'uitec-ng-core';\r\n\r\n@Component({\r\n selector: 'my-account',\r\n templateUrl: './my-account.component.html',\r\n styleUrls: ['./my-account.component.scss']\r\n})\r\nexport class MyAccountComponent implements OnInit {\r\n\r\n @Input() menus: UsuarioMenuDTO[];\r\n\r\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\r\n\r\n public userObs: UserAuthDTO;\r\n public accessObs: AuthAcesso;\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public urlService: BaseUrlService\r\n ) {\r\n this.userObs = this.authService.currentUserValue;\r\n this.accessObs = this.authService.currentAccessValue;\r\n\r\n this.authService.currentUser.subscribe((data) => {\r\n this.userObs = data;\r\n });\r\n\r\n this.authService.currentAccess.subscribe((data) => {\r\n this.accessObs = data;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n clickMenu(menu: UsuarioMenuDTO) {\r\n this.onNavigate.emit(menu);\r\n }\r\n}\r\n","<ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs?.usuario})\" [usuario]=\"userObs?.usuario\"\n [acesso]=\"accessObs\"></ui-user-top>\n\n<ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n</ul>\n","import { DOCUMENT } from '@angular/common';\r\nimport { Component, ContentChild, EventEmitter, HostListener, Inject, Input, OnChanges, OnInit, Output, TemplateRef } from '@angular/core';\r\nimport { AuthAcesso, AuthService, BaseUrlService, IframeService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\r\n\r\n@Component({\r\n selector: 'ui-header',\r\n templateUrl: './ui-header.component.html',\r\n styleUrls: ['./ui-header.component.scss']\r\n})\r\nexport class UiHeaderComponent implements OnInit {\r\n\r\n @Input() collapseSidebar: boolean;\r\n @Input() fullScreen: boolean;\r\n @Input() headerBackdrop: string;\r\n @Input() isFree: string;\r\n @Input() menus: UsuarioMenuDTO[];\r\n @Input() sidebar: boolean = true;\r\n @Input() redirectHome: boolean = true;\r\n @Input() darkDefault: string = \"light\";\r\n\r\n @Output() collapseSidebarChange = new EventEmitter<boolean>();\r\n @Output() fullScreenChange = new EventEmitter<boolean>();\r\n @Output() headerBackdropChange = new EventEmitter<boolean>();\r\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\r\n\r\n @ContentChild('left') left: TemplateRef<any>;\r\n @ContentChild('center') center: TemplateRef<any>;\r\n @ContentChild('right') right: TemplateRef<any>;\r\n\r\n public statuSidebar;\r\n public dark: boolean;\r\n public elem: any;\r\n public userObs: UserAuthDTO;\r\n public accessObs: AuthAcesso;\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public urlService: BaseUrlService,\r\n public layoutService: LayoutService,\r\n public iframeService: IframeService,\r\n @Inject(DOCUMENT) private document: any\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.elem = document.documentElement;\r\n\r\n this.userObs = this.authService.currentUserValue;\r\n this.accessObs = this.authService.currentAccessValue;\r\n\r\n this.authService.currentUser.subscribe((data) => {\r\n this.userObs = data;\r\n });\r\n\r\n this.authService.currentAccess.subscribe((data) => {\r\n this.accessObs = data;\r\n });\r\n\r\n this.dark = localStorage.getItem('darkMode') == 'enabled';\r\n setTimeout(() => {\r\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : this.darkDefault;\r\n });\r\n this.document.body.classList.add(this.dark ? \"dark-only\" : \"light\");\r\n this.document.documentElement.classList.add(this.dark ? \"dark-only\" : \"light\");\r\n\r\n this.addEventListenerOnIframe();\r\n this.buildAmbiente();\r\n }\r\n\r\n layoutToggle() {\r\n this.dark = !this.dark;\r\n localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');\r\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : \"light\";\r\n const classColor = this.dark ? \"dark-only\" : \"light\";\r\n this.document.body.classList.remove('dark-only');\r\n this.document.body.classList.remove('light');\r\n this.document.body.classList.add(classColor);\r\n this.document.documentElement.classList.remove('dark-only');\r\n this.document.documentElement.classList.remove('light');\r\n this.document.documentElement.classList.add(classColor);\r\n\r\n this.updateIframeTheme();\r\n }\r\n\r\n updateIframeTheme() {\r\n const iframe = document.querySelector('iframe');\r\n if (!iframe || !iframe.contentWindow) return;\r\n\r\n const theme = this.dark ? \"dark-only\" : \"light\";\r\n const iframeSrc = iframe.getAttribute('src');\r\n\r\n let origin = \"*\"; // Usa \"*\" por padrão para evitar erro\r\n\r\n if (iframeSrc) {\r\n try {\r\n const url = new URL(iframeSrc, window.location.origin);\r\n origin = url.origin; // Extrai o domínio corretamente\r\n } catch (error) {\r\n console.error(\"Erro ao extrair o origin do iframe:\", error);\r\n }\r\n }\r\n\r\n iframe.contentWindow.postMessage({ theme }, origin);\r\n }\r\n\r\n addEventListenerOnIframe() {\r\n const frame = document.querySelector('iframe');\r\n if (!frame) {\r\n return;\r\n }\r\n\r\n frame.addEventListener('load', () => {\r\n this.updateIframeTheme();\r\n });\r\n }\r\n\r\n //recebe o valor inicial do collapseSidebar e grava no localstorage\r\n setStatusSideBar() {\r\n this.statuSidebar = this.collapseSidebar;\r\n localStorage.setItem('local', this.statuSidebar);\r\n }\r\n\r\n sidebarToggle() {\r\n this.collapseSidebar = !this.collapseSidebar;\r\n this.setStatusSideBar();\r\n this.collapseSidebarChange.emit(this.collapseSidebar);\r\n }\r\n\r\n home() {\r\n if (!this.redirectHome) return;\r\n\r\n let menu = new UsuarioMenuDTO();\r\n menu.ds_rota = '/';\r\n menu.ds_tipo = 'link';\r\n this.onNavigate.emit(menu);\r\n }\r\n\r\n logout() {\r\n\r\n this.authService.logout();\r\n }\r\n\r\n clickMenu(menu: UsuarioMenuDTO) {\r\n this.onNavigate.emit(menu);\r\n }\r\n\r\n buildAmbiente() {\r\n let textContent = null;\r\n\r\n if (location.host.search('hom-') == 0) {\r\n textContent = 'Homolog';\r\n } else if (location.host.search('localhost') == 0) {\r\n textContent = 'Develop';\r\n }\r\n\r\n if (!textContent) return;\r\n\r\n const div = document.createElement('div');\r\n const span = document.createElement('span');\r\n div.className = `ambiente ambiente-${textContent.toLowerCase()}`;\r\n span.textContent = textContent;\r\n div.appendChild(span);\r\n document.body.appendChild(div);\r\n }\r\n\r\n toggleFullScreen() {\r\n this.fullScreen = !this.fullScreen;\r\n if (this.fullScreen) {\r\n if (this.elem.requestFullscreen) {\r\n this.elem.requestFullscreen();\r\n } else if (this.elem.mozRequestFullScreen) {\r\n /* Firefox */\r\n this.elem.mozRequestFullScreen();\r\n } else if (this.elem.webkitRequestFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.elem.webkitRequestFullscreen();\r\n } else if (this.elem.msRequestFullscreen) {\r\n /* IE/Edge */\r\n this.elem.msRequestFullscreen();\r\n }\r\n } else {\r\n if (!this.document.exitFullscreen) {\r\n this.document.exitFullscreen();\r\n } else if (this.document.mozCancelFullScreen) {\r\n /* Firefox */\r\n this.document.mozCancelFullScreen();\r\n } else if (this.document.webkitExitFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.document.webkitExitFullscreen();\r\n } else if (this.document.msExitFullscreen) {\r\n /* IE/Edge */\r\n this.document.msExitFullscreen();\r\n }\r\n }\r\n }\r\n}\r\n","<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-center\">\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Faça Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\n *ngIf=\"!dark\"></ui-icon>\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\n *ngIf=\"dark\"></ui-icon>\n\n </div>\n </li>\n\n <li class=\"maximize\">\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n","import { NgModule } from '@angular/core';\r\nimport { UiHeaderComponent } from './ui-header.component';\r\nimport { UiIconModule } from 'uitec-ng-icon';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { UiUserTopModule } from 'uitec-ng-user-top';\r\nimport { MyAccountComponent } from './my-account/my-account.component';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n@NgModule({\r\n declarations: [\r\n UiHeaderComponent,\r\n MyAccountComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n UiIconModule,\r\n UiUserTopModule,\r\n TooltipModule\r\n ],\r\n exports: [\r\n UiHeaderComponent,\r\n ]\r\n})\r\nexport class UiHeaderModule { }\r\n","/*\n * Public API Surface of ui-header\n */\n\nexport * from './lib/ui-header.service';\nexport * from './lib/ui-header.component';\nexport * from './lib/ui-header.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5.MyAccountComponent"],"mappings":"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"}
@@ -59,10 +59,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
59
59
  }] } });
60
60
 
61
61
  class UiHeaderComponent {
62
- constructor(authService, urlService, layoutService, document) {
62
+ constructor(authService, urlService, layoutService, iframeService, document) {
63
63
  this.authService = authService;
64
64
  this.urlService = urlService;
65
65
  this.layoutService = layoutService;
66
+ this.iframeService = iframeService;
66
67
  this.document = document;
67
68
  this.sidebar = true;
68
69
  this.redirectHome = true;
@@ -87,7 +88,9 @@ class UiHeaderComponent {
87
88
  this.layoutService.config.settings.layout_version = this.dark ? "dark-only" : this.darkDefault;
88
89
  });
89
90
  this.document.body.classList.add(this.dark ? "dark-only" : "light");
91
+ this.document.documentElement.classList.add(this.dark ? "dark-only" : "light");
90
92
  this.addEventListenerOnIframe();
93
+ this.buildAmbiente();
91
94
  }
92
95
  layoutToggle() {
93
96
  this.dark = !this.dark;
@@ -97,15 +100,28 @@ class UiHeaderComponent {
97
100
  this.document.body.classList.remove('dark-only');
98
101
  this.document.body.classList.remove('light');
99
102
  this.document.body.classList.add(classColor);
103
+ this.document.documentElement.classList.remove('dark-only');
104
+ this.document.documentElement.classList.remove('light');
105
+ this.document.documentElement.classList.add(classColor);
100
106
  this.updateIframeTheme();
101
107
  }
102
108
  updateIframeTheme() {
103
109
  const iframe = document.querySelector('iframe');
110
+ if (!iframe || !iframe.contentWindow)
111
+ return;
104
112
  const theme = this.dark ? "dark-only" : "light";
105
- if (iframe) {
106
- const origin = iframe.getAttribute('src');
107
- iframe.contentWindow.postMessage({ theme }, origin);
113
+ const iframeSrc = iframe.getAttribute('src');
114
+ let origin = "*"; // Usa "*" por padrão para evitar erro
115
+ if (iframeSrc) {
116
+ try {
117
+ const url = new URL(iframeSrc, window.location.origin);
118
+ origin = url.origin; // Extrai o domínio corretamente
119
+ }
120
+ catch (error) {
121
+ console.error("Erro ao extrair o origin do iframe:", error);
122
+ }
108
123
  }
124
+ iframe.contentWindow.postMessage({ theme }, origin);
109
125
  }
110
126
  addEventListenerOnIframe() {
111
127
  const frame = document.querySelector('iframe');
@@ -140,6 +156,23 @@ class UiHeaderComponent {
140
156
  clickMenu(menu) {
141
157
  this.onNavigate.emit(menu);
142
158
  }
159
+ buildAmbiente() {
160
+ let textContent = null;
161
+ if (location.host.search('hom-') == 0) {
162
+ textContent = 'Homolog';
163
+ }
164
+ else if (location.host.search('localhost') == 0) {
165
+ textContent = 'Develop';
166
+ }
167
+ if (!textContent)
168
+ return;
169
+ const div = document.createElement('div');
170
+ const span = document.createElement('span');
171
+ div.className = `ambiente ambiente-${textContent.toLowerCase()}`;
172
+ span.textContent = textContent;
173
+ div.appendChild(span);
174
+ document.body.appendChild(div);
175
+ }
143
176
  toggleFullScreen() {
144
177
  this.fullScreen = !this.fullScreen;
145
178
  if (this.fullScreen) {
@@ -178,12 +211,12 @@ class UiHeaderComponent {
178
211
  }
179
212
  }
180
213
  }
181
- UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
182
- UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus", sidebar: "sidebar", redirectHome: "redirectHome", darkDefault: "darkDefault" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "center", first: true, predicate: ["center"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->", styles: ["::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "directive", type: i4$1.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: MyAccountComponent, selector: "my-account", inputs: ["menus"], outputs: ["onNavigate"] }] });
214
+ UiHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, deps: [{ token: i1.AuthService }, { token: i1.BaseUrlService }, { token: i1.LayoutService }, { token: i1.IframeService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
215
+ UiHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UiHeaderComponent, selector: "ui-header", inputs: { collapseSidebar: "collapseSidebar", fullScreen: "fullScreen", headerBackdrop: "headerBackdrop", isFree: "isFree", menus: "menus", sidebar: "sidebar", redirectHome: "redirectHome", darkDefault: "darkDefault" }, outputs: { collapseSidebarChange: "collapseSidebarChange", fullScreenChange: "fullScreenChange", headerBackdropChange: "headerBackdropChange", onNavigate: "onNavigate" }, queries: [{ propertyName: "left", first: true, predicate: ["left"], descendants: true }, { propertyName: "center", first: true, predicate: ["center"], descendants: true }, { propertyName: "right", first: true, predicate: ["right"], descendants: true }], ngImport: i0, template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-center\">\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\n *ngIf=\"!dark\"></ui-icon>\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\n *ngIf=\"dark\"></ui-icon>\n\n </div>\n </li>\n\n <li class=\"maximize\">\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: ["::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UiIconComponent, selector: "ui-icon", inputs: ["icon", "size", "class"] }, { kind: "directive", type: i4$1.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: MyAccountComponent, selector: "my-account", inputs: ["menus"], outputs: ["onNavigate"] }] });
183
216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UiHeaderComponent, decorators: [{
184
217
  type: Component,
185
- args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Fa\u00E7a Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->", styles: ["::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"] }]
186
- }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: undefined, decorators: [{
218
+ args: [{ selector: 'ui-header', template: "<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-center\">\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Fa\u00E7a Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\n *ngIf=\"!dark\"></ui-icon>\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\n *ngIf=\"dark\"></ui-icon>\n\n </div>\n </li>\n\n <li class=\"maximize\">\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n", styles: ["::ng-deep .ambiente{position:fixed;top:0;right:0;left:0;height:2px;z-index:999;text-align:center}::ng-deep .ambiente span{content:\"\";position:absolute;height:20px;width:100px;right:0;margin:auto;border-radius:0 0 0 20px;text-align:center;color:#fff;font-size:12px;padding:0}::ng-deep .ambiente.ambiente-develop{background-color:#09b409}::ng-deep .ambiente.ambiente-develop span{background-color:#09b409}::ng-deep .ambiente.ambiente-homolog{background-color:#ff5d22}::ng-deep .ambiente.ambiente-homolog span{background-color:#ff5d22}::ng-deep .image-logo{width:auto;height:20px}::ng-deep .header-logo-wrapper.col-auto.d-lg-none.px-0{height:20px}::ng-deep ui-icon.status_toggle.middle{color:#7366ff}::ng-deep ui-icon.icons-menu{height:20px}::ng-deep .mode.d-none.d-md-block{height:20px}::ng-deep .header-backgrop{position:fixed;inset:0;z-index:8}::ng-deep .header-backgrop .page-header{z-index:11!important}::ng-deep .b-color{color:#e9e7ff;background:#7366ff;height:36px;width:136px}::ng-deep .b-color img{height:15px}::ng-deep .page-wrapper .page-header.not-sidebar{margin-left:0!important;width:100vw!important}::ng-deep .page-wrapper .page-header .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li{padding:0 10px!important;margin-right:0}::ng-deep .page-wrapper .page-header .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}@media (min-width: 577px){::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper{display:block!important}::ng-deep .page-wrapper .page-header.not-sidebar .header-logo-wrapper img{display:block!important}}@media (max-width: 576px){::ng-deep .hide-mobile{display:none!important}}@media only screen and (max-width: 575.98px){::ng-deep .nav-menus{margin-right:0!important}::ng-deep .page-wrapper .header-wrapper{flex-direction:row}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li{padding:0 10px!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li:last-child{padding-right:0!important}::ng-deep .page-wrapper .header-wrapper .nav-right>ul li .profile-media img{width:100%!important}}::ng-deep body .dark-only li.maximize .text-dark span{color:#ffffffb3!important}\n"] }]
219
+ }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i1.BaseUrlService }, { type: i1.LayoutService }, { type: i1.IframeService }, { type: undefined, decorators: [{
187
220
  type: Inject,
188
221
  args: [DOCUMENT]
189
222
  }] }]; }, propDecorators: { collapseSidebar: [{
@@ -1 +1 @@
1
- {"version":3,"file":"uitec-ng-header.mjs","sources":["../../../projects/ui-header/src/lib/ui-header.service.ts","../../../projects/ui-header/src/lib/my-account/my-account.component.ts","../../../projects/ui-header/src/lib/my-account/my-account.component.html","../../../projects/ui-header/src/lib/ui-header.component.ts","../../../projects/ui-header/src/lib/ui-header.component.html","../../../projects/ui-header/src/lib/ui-header.module.ts","../../../projects/ui-header/src/public-api.ts","../../../projects/ui-header/src/uitec-ng-header.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UiHeaderService {\n\n constructor() { }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AuthAcesso, BaseUrlService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\r\nimport { AuthService } from 'uitec-ng-core';\r\n\r\n@Component({\r\n selector: 'my-account',\r\n templateUrl: './my-account.component.html',\r\n styleUrls: ['./my-account.component.scss']\r\n})\r\nexport class MyAccountComponent implements OnInit {\r\n\r\n @Input() menus: UsuarioMenuDTO[];\r\n\r\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\r\n\r\n public userObs: UserAuthDTO;\r\n public accessObs: AuthAcesso;\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public urlService: BaseUrlService\r\n ) {\r\n this.userObs = this.authService.currentUserValue;\r\n this.accessObs = this.authService.currentAccessValue;\r\n\r\n this.authService.currentUser.subscribe((data) => {\r\n this.userObs = data;\r\n });\r\n\r\n this.authService.currentAccess.subscribe((data) => {\r\n this.accessObs = data;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n clickMenu(menu: UsuarioMenuDTO) {\r\n this.onNavigate.emit(menu);\r\n }\r\n}\r\n","<ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs?.usuario})\" [usuario]=\"userObs?.usuario\"\n [acesso]=\"accessObs\"></ui-user-top>\n\n<ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n</ul>\n","import { DOCUMENT } from '@angular/common';\r\nimport { Component, ContentChild, EventEmitter, HostListener, Inject, Input, OnChanges, OnInit, Output, TemplateRef } from '@angular/core';\r\nimport { AuthAcesso, AuthService, BaseUrlService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\r\n\r\n@Component({\r\n selector: 'ui-header',\r\n templateUrl: './ui-header.component.html',\r\n styleUrls: ['./ui-header.component.scss']\r\n})\r\nexport class UiHeaderComponent implements OnInit {\r\n\r\n @Input() collapseSidebar: boolean;\r\n @Input() fullScreen: boolean;\r\n @Input() headerBackdrop: string;\r\n @Input() isFree: string;\r\n @Input() menus: UsuarioMenuDTO[];\r\n @Input() sidebar: boolean = true;\r\n @Input() redirectHome: boolean = true;\r\n @Input() darkDefault: string = \"light\";\r\n\r\n @Output() collapseSidebarChange = new EventEmitter<boolean>();\r\n @Output() fullScreenChange = new EventEmitter<boolean>();\r\n @Output() headerBackdropChange = new EventEmitter<boolean>();\r\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\r\n\r\n @ContentChild('left') left: TemplateRef<any>;\r\n @ContentChild('center') center: TemplateRef<any>;\r\n @ContentChild('right') right: TemplateRef<any>;\r\n\r\n public statuSidebar;\r\n public dark: boolean;\r\n public elem: any;\r\n public userObs: UserAuthDTO;\r\n public accessObs: AuthAcesso;\r\n\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public urlService: BaseUrlService,\r\n public layoutService: LayoutService,\r\n @Inject(DOCUMENT) private document: any\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.elem = document.documentElement;\r\n\r\n this.userObs = this.authService.currentUserValue;\r\n this.accessObs = this.authService.currentAccessValue;\r\n\r\n this.authService.currentUser.subscribe((data) => {\r\n this.userObs = data;\r\n });\r\n\r\n this.authService.currentAccess.subscribe((data) => {\r\n this.accessObs = data;\r\n });\r\n\r\n this.dark = localStorage.getItem('darkMode') == 'enabled';\r\n setTimeout(() => {\r\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : this.darkDefault;\r\n });\r\n this.document.body.classList.add(this.dark ? \"dark-only\" : \"light\");\r\n\r\n this.addEventListenerOnIframe();\r\n }\r\n\r\n layoutToggle() {\r\n this.dark = !this.dark;\r\n localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');\r\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : \"light\";\r\n const classColor = this.dark ? \"dark-only\" : \"light\";\r\n this.document.body.classList.remove('dark-only');\r\n this.document.body.classList.remove('light');\r\n this.document.body.classList.add(classColor);\r\n\r\n this.updateIframeTheme();\r\n }\r\n\r\n updateIframeTheme() {\r\n const iframe = document.querySelector('iframe');\r\n const theme = this.dark ? \"dark-only\" : \"light\"\r\n if (iframe) {\r\n const origin = iframe.getAttribute('src')\r\n iframe.contentWindow.postMessage({ theme }, origin);\r\n }\r\n }\r\n\r\n addEventListenerOnIframe() {\r\n const frame = document.querySelector('iframe');\r\n if (!frame){\r\n return;\r\n }\r\n\r\n frame.addEventListener('load', () => {\r\n this.updateIframeTheme();\r\n });\r\n }\r\n\r\n //recebe o valor inicial do collapseSidebar e grava no localstorage\r\n setStatusSideBar() {\r\n this.statuSidebar = this.collapseSidebar;\r\n localStorage.setItem('local', this.statuSidebar);\r\n }\r\n\r\n sidebarToggle() {\r\n this.collapseSidebar = !this.collapseSidebar;\r\n this.setStatusSideBar();\r\n this.collapseSidebarChange.emit(this.collapseSidebar);\r\n }\r\n\r\n home() {\r\n if (!this.redirectHome) return;\r\n\r\n let menu = new UsuarioMenuDTO();\r\n menu.ds_rota = '/';\r\n menu.ds_tipo = 'link';\r\n this.onNavigate.emit(menu);\r\n }\r\n\r\n logout() {\r\n\r\n this.authService.logout();\r\n }\r\n\r\n clickMenu(menu: UsuarioMenuDTO) {\r\n this.onNavigate.emit(menu);\r\n }\r\n\r\n toggleFullScreen() {\r\n this.fullScreen = !this.fullScreen;\r\n if (this.fullScreen) {\r\n if (this.elem.requestFullscreen) {\r\n this.elem.requestFullscreen();\r\n } else if (this.elem.mozRequestFullScreen) {\r\n /* Firefox */\r\n this.elem.mozRequestFullScreen();\r\n } else if (this.elem.webkitRequestFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.elem.webkitRequestFullscreen();\r\n } else if (this.elem.msRequestFullscreen) {\r\n /* IE/Edge */\r\n this.elem.msRequestFullscreen();\r\n }\r\n } else {\r\n if (!this.document.exitFullscreen) {\r\n this.document.exitFullscreen();\r\n } else if (this.document.mozCancelFullScreen) {\r\n /* Firefox */\r\n this.document.mozCancelFullScreen();\r\n } else if (this.document.webkitExitFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.document.webkitExitFullscreen();\r\n } else if (this.document.msExitFullscreen) {\r\n /* IE/Edge */\r\n this.document.msExitFullscreen();\r\n }\r\n }\r\n }\r\n}\r\n","<!-- Page Header Backdrop -->\r\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\r\n\r\n<!-- Page Header Start -->\r\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\r\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\r\n\r\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\r\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\r\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\r\n </div>\r\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\r\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\r\n </a>\r\n </div>\r\n\r\n <div class=\"left-header horizontal-wrapper ps-0\">\r\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-center\">\r\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\r\n </div>\r\n\r\n <div class=\"nav-right p-0\">\r\n <ul class=\"nav-menus\">\r\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\r\n <header-languages></header-languages>\r\n </li> -->\r\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\r\n\r\n <ng-template #liUpgrade>\r\n <li>\r\n <button\r\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\r\n (click)=\"openModal()\">\r\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\r\n Faça Upgrade\r\n </button>\r\n </li>\r\n </ng-template>\r\n <ng-template #liEmpty>\r\n <li></li>\r\n </ng-template>\r\n\r\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\r\n\r\n <li>\r\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\r\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\r\n *ngIf=\"!dark\"></ui-icon>\r\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\r\n *ngIf=\"dark\"></ui-icon>\r\n\r\n </div>\r\n </li>\r\n\r\n <li class=\"maximize\">\r\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\r\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\r\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\r\n </a>\r\n </li>\r\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\r\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n<!-- Page Header Ends -->","import { NgModule } from '@angular/core';\r\nimport { UiHeaderComponent } from './ui-header.component';\r\nimport { UiIconModule } from 'uitec-ng-icon';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { UiUserTopModule } from 'uitec-ng-user-top';\r\nimport { MyAccountComponent } from './my-account/my-account.component';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n@NgModule({\r\n declarations: [\r\n UiHeaderComponent,\r\n MyAccountComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n UiIconModule,\r\n UiUserTopModule,\r\n TooltipModule\r\n ],\r\n exports: [\r\n UiHeaderComponent,\r\n ]\r\n})\r\nexport class UiHeaderModule { }\r\n","/*\n * Public API Surface of ui-header\n */\n\nexport * from './lib/ui-header.service';\nexport * from './lib/ui-header.component';\nexport * from './lib/ui-header.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5.MyAccountComponent"],"mappings":"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"}
1
+ {"version":3,"file":"uitec-ng-header.mjs","sources":["../../../projects/ui-header/src/lib/ui-header.service.ts","../../../projects/ui-header/src/lib/my-account/my-account.component.ts","../../../projects/ui-header/src/lib/my-account/my-account.component.html","../../../projects/ui-header/src/lib/ui-header.component.ts","../../../projects/ui-header/src/lib/ui-header.component.html","../../../projects/ui-header/src/lib/ui-header.module.ts","../../../projects/ui-header/src/public-api.ts","../../../projects/ui-header/src/uitec-ng-header.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UiHeaderService {\n\n constructor() { }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { AuthAcesso, BaseUrlService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\r\nimport { AuthService } from 'uitec-ng-core';\r\n\r\n@Component({\r\n selector: 'my-account',\r\n templateUrl: './my-account.component.html',\r\n styleUrls: ['./my-account.component.scss']\r\n})\r\nexport class MyAccountComponent implements OnInit {\r\n\r\n @Input() menus: UsuarioMenuDTO[];\r\n\r\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\r\n\r\n public userObs: UserAuthDTO;\r\n public accessObs: AuthAcesso;\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public urlService: BaseUrlService\r\n ) {\r\n this.userObs = this.authService.currentUserValue;\r\n this.accessObs = this.authService.currentAccessValue;\r\n\r\n this.authService.currentUser.subscribe((data) => {\r\n this.userObs = data;\r\n });\r\n\r\n this.authService.currentAccess.subscribe((data) => {\r\n this.accessObs = data;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n logout() {\r\n this.authService.logout();\r\n }\r\n\r\n clickMenu(menu: UsuarioMenuDTO) {\r\n this.onNavigate.emit(menu);\r\n }\r\n}\r\n","<ui-user-top [urlImage]=\"urlService.imagemUsuario({model: userObs?.usuario})\" [usuario]=\"userObs?.usuario\"\n [acesso]=\"accessObs\"></ui-user-top>\n\n<ul class=\"profile-dropdown onhover-show-div\">\n <li *ngFor=\"let col of menus\">\n <a (click)=\"clickMenu(col)\">\n <ui-icon [icon]=\"col.ds_icone\" size=\"20\"></ui-icon>\n <span>{{col.no_funcionalidade}}</span>\n </a>\n </li>\n <li>\n <a href=\"javascript:void(0)\" (click)=\"logout()\" class=\"text-danger\">\n <ui-icon icon=\"login\" size=\"20\"></ui-icon>\n <span>Sair</span>\n </a>\n </li>\n</ul>\n","import { DOCUMENT } from '@angular/common';\r\nimport { Component, ContentChild, EventEmitter, HostListener, Inject, Input, OnChanges, OnInit, Output, TemplateRef } from '@angular/core';\r\nimport { AuthAcesso, AuthService, BaseUrlService, IframeService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';\r\n\r\n@Component({\r\n selector: 'ui-header',\r\n templateUrl: './ui-header.component.html',\r\n styleUrls: ['./ui-header.component.scss']\r\n})\r\nexport class UiHeaderComponent implements OnInit {\r\n\r\n @Input() collapseSidebar: boolean;\r\n @Input() fullScreen: boolean;\r\n @Input() headerBackdrop: string;\r\n @Input() isFree: string;\r\n @Input() menus: UsuarioMenuDTO[];\r\n @Input() sidebar: boolean = true;\r\n @Input() redirectHome: boolean = true;\r\n @Input() darkDefault: string = \"light\";\r\n\r\n @Output() collapseSidebarChange = new EventEmitter<boolean>();\r\n @Output() fullScreenChange = new EventEmitter<boolean>();\r\n @Output() headerBackdropChange = new EventEmitter<boolean>();\r\n @Output() onNavigate = new EventEmitter<UsuarioMenuDTO>();\r\n\r\n @ContentChild('left') left: TemplateRef<any>;\r\n @ContentChild('center') center: TemplateRef<any>;\r\n @ContentChild('right') right: TemplateRef<any>;\r\n\r\n public statuSidebar;\r\n public dark: boolean;\r\n public elem: any;\r\n public userObs: UserAuthDTO;\r\n public accessObs: AuthAcesso;\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public urlService: BaseUrlService,\r\n public layoutService: LayoutService,\r\n public iframeService: IframeService,\r\n @Inject(DOCUMENT) private document: any\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.elem = document.documentElement;\r\n\r\n this.userObs = this.authService.currentUserValue;\r\n this.accessObs = this.authService.currentAccessValue;\r\n\r\n this.authService.currentUser.subscribe((data) => {\r\n this.userObs = data;\r\n });\r\n\r\n this.authService.currentAccess.subscribe((data) => {\r\n this.accessObs = data;\r\n });\r\n\r\n this.dark = localStorage.getItem('darkMode') == 'enabled';\r\n setTimeout(() => {\r\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : this.darkDefault;\r\n });\r\n this.document.body.classList.add(this.dark ? \"dark-only\" : \"light\");\r\n this.document.documentElement.classList.add(this.dark ? \"dark-only\" : \"light\");\r\n\r\n this.addEventListenerOnIframe();\r\n this.buildAmbiente();\r\n }\r\n\r\n layoutToggle() {\r\n this.dark = !this.dark;\r\n localStorage.setItem('darkMode', this.dark ? 'enabled' : 'disabled');\r\n this.layoutService.config.settings.layout_version = this.dark ? \"dark-only\" : \"light\";\r\n const classColor = this.dark ? \"dark-only\" : \"light\";\r\n this.document.body.classList.remove('dark-only');\r\n this.document.body.classList.remove('light');\r\n this.document.body.classList.add(classColor);\r\n this.document.documentElement.classList.remove('dark-only');\r\n this.document.documentElement.classList.remove('light');\r\n this.document.documentElement.classList.add(classColor);\r\n\r\n this.updateIframeTheme();\r\n }\r\n\r\n updateIframeTheme() {\r\n const iframe = document.querySelector('iframe');\r\n if (!iframe || !iframe.contentWindow) return;\r\n\r\n const theme = this.dark ? \"dark-only\" : \"light\";\r\n const iframeSrc = iframe.getAttribute('src');\r\n\r\n let origin = \"*\"; // Usa \"*\" por padrão para evitar erro\r\n\r\n if (iframeSrc) {\r\n try {\r\n const url = new URL(iframeSrc, window.location.origin);\r\n origin = url.origin; // Extrai o domínio corretamente\r\n } catch (error) {\r\n console.error(\"Erro ao extrair o origin do iframe:\", error);\r\n }\r\n }\r\n\r\n iframe.contentWindow.postMessage({ theme }, origin);\r\n }\r\n\r\n addEventListenerOnIframe() {\r\n const frame = document.querySelector('iframe');\r\n if (!frame) {\r\n return;\r\n }\r\n\r\n frame.addEventListener('load', () => {\r\n this.updateIframeTheme();\r\n });\r\n }\r\n\r\n //recebe o valor inicial do collapseSidebar e grava no localstorage\r\n setStatusSideBar() {\r\n this.statuSidebar = this.collapseSidebar;\r\n localStorage.setItem('local', this.statuSidebar);\r\n }\r\n\r\n sidebarToggle() {\r\n this.collapseSidebar = !this.collapseSidebar;\r\n this.setStatusSideBar();\r\n this.collapseSidebarChange.emit(this.collapseSidebar);\r\n }\r\n\r\n home() {\r\n if (!this.redirectHome) return;\r\n\r\n let menu = new UsuarioMenuDTO();\r\n menu.ds_rota = '/';\r\n menu.ds_tipo = 'link';\r\n this.onNavigate.emit(menu);\r\n }\r\n\r\n logout() {\r\n\r\n this.authService.logout();\r\n }\r\n\r\n clickMenu(menu: UsuarioMenuDTO) {\r\n this.onNavigate.emit(menu);\r\n }\r\n\r\n buildAmbiente() {\r\n let textContent = null;\r\n\r\n if (location.host.search('hom-') == 0) {\r\n textContent = 'Homolog';\r\n } else if (location.host.search('localhost') == 0) {\r\n textContent = 'Develop';\r\n }\r\n\r\n if (!textContent) return;\r\n\r\n const div = document.createElement('div');\r\n const span = document.createElement('span');\r\n div.className = `ambiente ambiente-${textContent.toLowerCase()}`;\r\n span.textContent = textContent;\r\n div.appendChild(span);\r\n document.body.appendChild(div);\r\n }\r\n\r\n toggleFullScreen() {\r\n this.fullScreen = !this.fullScreen;\r\n if (this.fullScreen) {\r\n if (this.elem.requestFullscreen) {\r\n this.elem.requestFullscreen();\r\n } else if (this.elem.mozRequestFullScreen) {\r\n /* Firefox */\r\n this.elem.mozRequestFullScreen();\r\n } else if (this.elem.webkitRequestFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.elem.webkitRequestFullscreen();\r\n } else if (this.elem.msRequestFullscreen) {\r\n /* IE/Edge */\r\n this.elem.msRequestFullscreen();\r\n }\r\n } else {\r\n if (!this.document.exitFullscreen) {\r\n this.document.exitFullscreen();\r\n } else if (this.document.mozCancelFullScreen) {\r\n /* Firefox */\r\n this.document.mozCancelFullScreen();\r\n } else if (this.document.webkitExitFullscreen) {\r\n /* Chrome, Safari and Opera */\r\n this.document.webkitExitFullscreen();\r\n } else if (this.document.msExitFullscreen) {\r\n /* IE/Edge */\r\n this.document.msExitFullscreen();\r\n }\r\n }\r\n }\r\n}\r\n","<!-- Page Header Backdrop -->\n<div *ngIf=\"headerBackdrop\" (click)=\"navService.hideAllPopUps()\" class=\"header-backgrop\"></div>\n\n<!-- Page Header Start -->\n<div class=\"page-header\" [class.close_icon]=\"collapseSidebar\" [class.not-sidebar]=\"!sidebar\">\n <div class=\"header-wrapper d-flex m-0 justify-content-between\">\n <div class=\"header-logo-wrapper col-auto d-lg-none px-0\">\n <div *ngIf=\"sidebar\" class=\"toggle-sidebar\" (click)=\"sidebarToggle()\">\n <ui-icon icon=\"menu\" class=\"status_toggle middle\"></ui-icon>\n </div>\n <a (click)=\"home()\" [class.cursor-pointer]=\"redirectHome\">\n <img class=\"img-fluid for-dark image-logo d-md-none\" src=\"assets/images/logo/logo_dark.png\" alt=\"\" />\n </a>\n </div>\n\n <div class=\"left-header horizontal-wrapper ps-0\">\n <ng-container [ngTemplateOutlet]=\"left\"></ng-container>\n </div>\n\n <div class=\"nav-center\">\n <ng-container [ngTemplateOutlet]=\"center\"></ng-container>\n </div>\n\n <div class=\"nav-right p-0\">\n <ul class=\"nav-menus\">\n <!-- <li class=\"language-nav\" (click)=\"languageToggle()\">\n <header-languages></header-languages>\n </li> -->\n <ng-container *ngIf=\"isFree; then liUpgrade; else liEmpty\"></ng-container>\n\n <ng-template #liUpgrade>\n <li>\n <button\n class=\"d-flex align-items-center justify-content-center border-0 rounded-pill gap-2 b-color\"\n (click)=\"openModal()\">\n <img src=\"assets/images/coroa.svg\" class=\"w-auto\" alt=\"icone-coroa\" />\n Faça Upgrade\n </button>\n </li>\n </ng-template>\n <ng-template #liEmpty>\n <li></li>\n </ng-template>\n\n <ng-container [ngTemplateOutlet]=\"right\"></ng-container>\n\n <li>\n <div class=\"mode cursor-pointer\" (click)=\"layoutToggle()\">\n <ui-icon pTooltip=\"Ativar Modo Escuro\" tooltipPosition=\"bottom\" icon=\"dark_mode\" size=\"24\"\n *ngIf=\"!dark\"></ui-icon>\n <ui-icon pTooltip=\"Ativar Modo Claro\" tooltipPosition=\"bottom\" icon=\"sunny\" size=\"24\"\n *ngIf=\"dark\"></ui-icon>\n\n </div>\n </li>\n\n <li class=\"maximize\">\n <a pTooltip=\"Maximizar\" tooltipPosition=\"bottom\" class=\"text-dark cursor-pointer\"\n href=\"javascript:void(0)\" (click)=\"toggleFullScreen()\">\n <ui-icon icon=\"fullscreen\" size=\"24\"></ui-icon>\n </a>\n </li>\n <li class=\"profile-nav onhover-dropdown p-0 ps-2\">\n <my-account [menus]=\"menus\" (onNavigate)=\"onNavigate.emit($event)\"></my-account>\n </li>\n </ul>\n </div>\n </div>\n</div>\n<!-- Page Header Ends -->\n","import { NgModule } from '@angular/core';\r\nimport { UiHeaderComponent } from './ui-header.component';\r\nimport { UiIconModule } from 'uitec-ng-icon';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { UiUserTopModule } from 'uitec-ng-user-top';\r\nimport { MyAccountComponent } from './my-account/my-account.component';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\n@NgModule({\r\n declarations: [\r\n UiHeaderComponent,\r\n MyAccountComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n UiIconModule,\r\n UiUserTopModule,\r\n TooltipModule\r\n ],\r\n exports: [\r\n UiHeaderComponent,\r\n ]\r\n})\r\nexport class UiHeaderModule { }\r\n","/*\n * Public API Surface of ui-header\n */\n\nexport * from './lib/ui-header.service';\nexport * from './lib/ui-header.component';\nexport * from './lib/ui-header.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i5.MyAccountComponent"],"mappings":";;;;;;;;;;;;;;MAKa,eAAe,CAAA;AAE1B,IAAA,WAAA,GAAA,GAAiB;;6GAFN,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;4FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCKY,kBAAkB,CAAA;IAS3B,WACW,CAAA,WAAwB,EACxB,UAA0B,EAAA;QAD1B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAgB;AAP3B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAkB,CAAC;QAStD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;QAErD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAC5C,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACxB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAC9C,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,SAAC,CAAC,CAAC;KACN;IAED,QAAQ,GAAA;KACP;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;KAC7B;AAED,IAAA,SAAS,CAAC,IAAoB,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;;gHAlCQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,qHCT/B,0oBAiBA,EAAA,MAAA,EAAA,CAAA,0HAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDRa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACI,YAAY,EAAA,QAAA,EAAA,0oBAAA,EAAA,MAAA,EAAA,CAAA,0HAAA,CAAA,EAAA,CAAA;+HAMb,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAEI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MEJE,iBAAiB,CAAA;IA0B1B,WACW,CAAA,WAAwB,EACxB,UAA0B,EAC1B,aAA4B,EAC5B,aAA4B,EACT,QAAa,EAAA;QAJhC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAgB;QAC1B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QACT,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;QAxBlC,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;QACxB,IAAY,CAAA,YAAA,GAAY,IAAI,CAAC;QAC7B,IAAW,CAAA,WAAA,GAAW,OAAO,CAAC;AAE7B,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAW,CAAC;AACpD,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAW,CAAC;AAC/C,QAAA,IAAA,CAAA,oBAAoB,GAAG,IAAI,YAAY,EAAW,CAAC;AACnD,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAkB,CAAC;KAkBrD;IAEL,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;QAErC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;QAErD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAC5C,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACxB,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AAC9C,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;AAC1B,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;QAC1D,UAAU,CAAC,MAAK;YACZ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACnG,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC,CAAC;QAE/E,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAED,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,QAAA,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC;AACtF,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;IAED,iBAAiB,GAAA;QACb,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO;AAE7C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW,GAAG,OAAO,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAE7C,QAAA,IAAI,MAAM,GAAG,GAAG,CAAC;AAEjB,QAAA,IAAI,SAAS,EAAE;YACX,IAAI;AACA,gBAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvD,gBAAA,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;AACvB,aAAA;AAAC,YAAA,OAAO,KAAK,EAAE;AACZ,gBAAA,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;AAC/D,aAAA;AACJ,SAAA;QAED,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;KACvD;IAED,wBAAwB,GAAA;QACpB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE;YACR,OAAO;AACV,SAAA;AAED,QAAA,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAK;YAChC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC7B,SAAC,CAAC,CAAC;KACN;;IAGD,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC;QACzC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACpD;IAED,aAAa,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;KACzD;IAED,IAAI,GAAA;QACA,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;AAE/B,QAAA,IAAI,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM,GAAA;AAEF,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;KAC7B;AAED,IAAA,SAAS,CAAC,IAAoB,EAAA;AAC1B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,aAAa,GAAA;QACT,IAAI,WAAW,GAAG,IAAI,CAAC;QAEvB,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACnC,WAAW,GAAG,SAAS,CAAC;AAC3B,SAAA;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YAC/C,WAAW,GAAG,SAAS,CAAC;AAC3B,SAAA;AAED,QAAA,IAAI,CAAC,WAAW;YAAE,OAAO;QAEzB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5C,GAAG,CAAC,SAAS,GAAG,CAAA,kBAAA,EAAqB,WAAW,CAAC,WAAW,EAAE,CAAA,CAAE,CAAC;AACjE,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;KAClC;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC7B,gBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACjC,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;;AAEvC,gBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;AACpC,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;;AAE1C,gBAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;AACvC,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;;AAEtC,gBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;AACnC,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE;AAC/B,gBAAA,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;AAClC,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE;;AAE1C,gBAAA,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC;AACvC,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE;;AAE3C,gBAAA,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC;AACxC,aAAA;AAAM,iBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;;AAEvC,gBAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;AACpC,aAAA;AACJ,SAAA;KACJ;;AAxLQ,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,qIA+Bd,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA/BX,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,srBCT9B,qvGAsEA,EAAA,MAAA,EAAA,CAAA,6pEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FD7Da,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;+BACI,WAAW,EAAA,QAAA,EAAA,qvGAAA,EAAA,MAAA,EAAA,CAAA,6pEAAA,CAAA,EAAA,CAAA;;0BAmChB,MAAM;2BAAC,QAAQ,CAAA;4CA7BX,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEI,qBAAqB,EAAA,CAAA;sBAA9B,MAAM;gBACG,gBAAgB,EAAA,CAAA;sBAAzB,MAAM;gBACG,oBAAoB,EAAA,CAAA;sBAA7B,MAAM;gBACG,UAAU,EAAA,CAAA;sBAAnB,MAAM;gBAEe,IAAI,EAAA,CAAA;sBAAzB,YAAY;uBAAC,MAAM,CAAA;gBACI,MAAM,EAAA,CAAA;sBAA7B,YAAY;uBAAC,QAAQ,CAAA;gBACC,KAAK,EAAA,CAAA;sBAA3B,YAAY;uBAAC,OAAO,CAAA;;;MEFZ,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAdnB,iBAAiB;AACjB,QAAA,kBAAkB,aAGlB,YAAY;QACZ,mBAAmB;QACnB,YAAY;QACZ,eAAe;AACf,QAAA,aAAa,aAGb,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAGZ,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAVnB,YAAY;QACZ,mBAAmB;QACnB,YAAY;QACZ,eAAe;QACf,aAAa,CAAA,EAAA,CAAA,CAAA;4FAMR,cAAc,EAAA,UAAA,EAAA,CAAA;kBAhB1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE;wBACV,iBAAiB;wBACjB,kBAAkB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,mBAAmB;wBACnB,YAAY;wBACZ,eAAe;wBACf,aAAa;AAChB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,iBAAiB;AACpB,qBAAA;AACJ,iBAAA,CAAA;;;ACxBD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,10 +1,11 @@
1
1
  import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
2
- import { AuthAcesso, AuthService, BaseUrlService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';
2
+ import { AuthAcesso, AuthService, BaseUrlService, IframeService, LayoutService, UserAuthDTO, UsuarioMenuDTO } from 'uitec-ng-core';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class UiHeaderComponent implements OnInit {
5
5
  authService: AuthService;
6
6
  urlService: BaseUrlService;
7
7
  layoutService: LayoutService;
8
+ iframeService: IframeService;
8
9
  private document;
9
10
  collapseSidebar: boolean;
10
11
  fullScreen: boolean;
@@ -26,7 +27,7 @@ export declare class UiHeaderComponent implements OnInit {
26
27
  elem: any;
27
28
  userObs: UserAuthDTO;
28
29
  accessObs: AuthAcesso;
29
- constructor(authService: AuthService, urlService: BaseUrlService, layoutService: LayoutService, document: any);
30
+ constructor(authService: AuthService, urlService: BaseUrlService, layoutService: LayoutService, iframeService: IframeService, document: any);
30
31
  ngOnInit(): void;
31
32
  layoutToggle(): void;
32
33
  updateIframeTheme(): void;
@@ -36,6 +37,7 @@ export declare class UiHeaderComponent implements OnInit {
36
37
  home(): void;
37
38
  logout(): void;
38
39
  clickMenu(menu: UsuarioMenuDTO): void;
40
+ buildAmbiente(): void;
39
41
  toggleFullScreen(): void;
40
42
  static ɵfac: i0.ɵɵFactoryDeclaration<UiHeaderComponent, never>;
41
43
  static ɵcmp: i0.ɵɵComponentDeclaration<UiHeaderComponent, "ui-header", never, { "collapseSidebar": "collapseSidebar"; "fullScreen": "fullScreen"; "headerBackdrop": "headerBackdrop"; "isFree": "isFree"; "menus": "menus"; "sidebar": "sidebar"; "redirectHome": "redirectHome"; "darkDefault": "darkDefault"; }, { "collapseSidebarChange": "collapseSidebarChange"; "fullScreenChange": "fullScreenChange"; "headerBackdropChange": "headerBackdropChange"; "onNavigate": "onNavigate"; }, ["left", "center", "right"], never, false, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uitec-ng-header",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^15.2.0",
6
6
  "@angular/core": "^15.2.0"