ngx-vector-components 4.14.0 → 4.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +6 -3
- package/esm2020/lib/components/fields/filters/filters.component.mjs +26 -10
- package/esm2020/lib/components/top-bar/top-bar.component.mjs +6 -3
- package/esm2020/lib/utils/object.util.mjs +16 -1
- package/fesm2015/ngx-vector-components.mjs +51 -14
- package/fesm2015/ngx-vector-components.mjs.map +1 -1
- package/fesm2020/ngx-vector-components.mjs +51 -14
- package/fesm2020/ngx-vector-components.mjs.map +1 -1
- package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +4 -3
- package/lib/components/fields/filters/filters.component.d.ts +3 -1
- package/lib/components/top-bar/top-bar.component.d.ts +1 -0
- package/lib/utils/object.util.d.ts +1 -0
- package/package.json +1 -1
|
@@ -82,15 +82,18 @@ export class TopBarComponent {
|
|
|
82
82
|
goToTariff() {
|
|
83
83
|
this.router.navigate(['fintech/under-construction']);
|
|
84
84
|
}
|
|
85
|
+
goToOnboarding() {
|
|
86
|
+
this.router.navigate(['onboarding']);
|
|
87
|
+
}
|
|
85
88
|
}
|
|
86
89
|
TopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, deps: [{ token: i1.MenuService }, { token: i2.AuthService }, { token: i3.Router }, { token: i2.ProfileService }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
-
TopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService" }, ngImport: i0, template: "<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container *ngIf=\"otherAccounts?.length\">\n <span class=\"separator\"></span>\n <div class=\"change-account-button\" (click)=\"changeAccountMenu.toggle($event)\">\n <span>Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <ul class=\"user-menu\">\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel> -->\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\n <span class=\"tariffs user-menu-icon\"></span>\n <span>Tarifas</span>\n </li> -->\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E %3Cg id%3D%22exit-to-app%22%3E %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position-y:3px}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"], components: [{ type: i4.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
90
|
+
TopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService" }, ngImport: i0, template: "<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container *ngIf=\"otherAccounts?.length\">\n <span class=\"separator\"></span>\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\n <span class=\"mr-2\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <ul class=\"user-menu\">\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel> -->\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\n <span class=\"tariffs user-menu-icon\"></span>\n <span>Tarifas</span>\n </li> -->\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\n </div>\n </div>\n </div>\n <div>\n <hr />\n <p class=\"text-center add-account\" (click)=\"goToOnboarding()\">Adicionar uma nova conta</p>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E %3Cg id%3D%22exit-to-app%22%3E %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"], components: [{ type: i4.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
88
91
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, decorators: [{
|
|
89
92
|
type: Component,
|
|
90
|
-
args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container *ngIf=\"otherAccounts?.length\">\n <span class=\"separator\"></span>\n <div class=\"change-account-button\" (click)=\"changeAccountMenu.toggle($event)\">\n <span>Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <ul class=\"user-menu\">\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel> -->\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\n <span class=\"tariffs user-menu-icon\"></span>\n <span>Tarifas</span>\n </li> -->\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E %3Cg id%3D%22exit-to-app%22%3E %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position-y:3px}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"] }]
|
|
93
|
+
args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container *ngIf=\"otherAccounts?.length\">\n <span class=\"separator\"></span>\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\n <span class=\"mr-2\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <ul class=\"user-menu\">\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel> -->\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\n <span class=\"tariffs user-menu-icon\"></span>\n <span>Tarifas</span>\n </li> -->\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\n </div>\n </div>\n </div>\n <div>\n <hr />\n <p class=\"text-center add-account\" (click)=\"goToOnboarding()\">Adicionar uma nova conta</p>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E %3Cg id%3D%22exit-to-app%22%3E %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"] }]
|
|
91
94
|
}], ctorParameters: function () { return [{ type: i1.MenuService }, { type: i2.AuthService }, { type: i3.Router }, { type: i2.ProfileService }]; }, propDecorators: { fintech: [{
|
|
92
95
|
type: Input
|
|
93
96
|
}], accountService: [{
|
|
94
97
|
type: Input
|
|
95
98
|
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7QUFPbkQsTUFBTSxPQUFPLGVBQWU7SUFtQjFCLFlBQ1UsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQThCO1FBSDlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF0QmpDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBR3hCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUdwQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBSXhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU92QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQzdELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO2dCQUM5QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQ3ZCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztvQkFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNsRixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztpQkFDdEQ7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1lBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUM3RCxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEcsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFpQixFQUFFLEVBQUU7Z0JBQ2hFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBZTtRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7OzRHQXpHVSxlQUFlO2dHQUFmLGVBQWUsd0hDYjVCLDJtTEFnSkE7MkZEbklhLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsZ0JBQWdCOzhLQWlCbkIsT0FBTztzQkFEYixLQUFLO2dCQUdDLGNBQWM7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgUHJvZmlsZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBNYXNrVXRpbCwgV2luZG93VXRpbCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVjdG9yLXRvcC1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9wLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RvcC1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVG9wQmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgaGlkZUVsZW1lbnRzID0gZmFsc2U7XG4gIHB1YmxpYyBvcGVuZWRNZW51ID0gZmFsc2U7XG4gIHB1YmxpYyBvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSA9IGZhbHNlO1xuICBwdWJsaWMgZG9pbmdPbmJvYXJkaW5nID0gZmFsc2U7XG5cbiAgcHVibGljIHZlY3RvckZpcnN0TmFtZTogYW55O1xuICBwdWJsaWMgY3VycmVudEFjY291bnQ6IGFueSA9IHt9O1xuICBwdWJsaWMgaXNBZG1pbiA9IGZhbHNlO1xuICBwdWJsaWMgb3RoZXJBY2NvdW50czogYW55W10gPSBbXTtcbiAgcHVibGljIG1hc2tVdGlsID0gTWFza1V0aWw7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZpbnRlY2g6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KClcbiAgcHVibGljIGFjY291bnRTZXJ2aWNlOiBhbnk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHByb2ZpbGVTZXJ2aWNlOiBQcm9maWxlU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5wcm9maWxlU2VydmljZS5wcm9maWxlRmlyc3ROYW1lJC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMudmVjdG9yRmlyc3ROYW1lID0gdmFsdWU7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLm1lbnVTZXJ2aWNlLm1lbnVPcGVuZWQkLnN1YnNjcmliZSgoaGFzT3BlbmVkKSA9PiB7XG4gICAgICAgIHRoaXMuaGlkZUVsZW1lbnRzID0gaGFzT3BlbmVkO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuYWNjb3VudFNlcnZpY2UpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgdGhpcy5hY2NvdW50U2VydmljZS5jdXJyZW50QWNjb3VudCQuc3Vic2NyaWJlKChhY2NvdW50OiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRBY2NvdW50ID0gYWNjb3VudDtcbiAgICAgICAgICBpZiAodGhpcy5jdXJyZW50QWNjb3VudCkge1xuICAgICAgICAgICAgY29uc3Qgc3RyID0gYCR7dGhpcy5jdXJyZW50QWNjb3VudC5hY2NvdW50TnVtYmVyfWA7XG4gICAgICAgICAgICBjb25zdCBsZW4gPSBzdHIubGVuZ3RoO1xuICAgICAgICAgICAgY29uc3QgYWNjb3VudFdpdGhIeWZlbiA9IHN0ci5zdWJzdHJpbmcoMCwgbGVuIC0gMSkgKyAnLScgKyBzdHIuc3Vic3RyaW5nKGxlbiAtIDEpO1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50QWNjb3VudC5hY2NvdW50TnVtYmVyID0gYWNjb3VudFdpdGhIeWZlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2U/LnVzZXJBY2NvdW50cyQuc3Vic2NyaWJlKChhY2NvdW50czogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5vdGhlckFjY291bnRzID0gYWNjb3VudHM/LmZpbHRlcigoYWNjOiBhbnkpID0+IGFjYy51dWlkICE9PSB0aGlzLmN1cnJlbnRBY2NvdW50Py51dWlkKSB8fCBbXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgICAgdGhpcy5hY2NvdW50U2VydmljZS5vbk9uYm9hcmRpbmckLnN1YnNjcmliZSgob25PbmJvYXJkaW5nOiBhbnkpID0+IHtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZG9pbmdPbmJvYXJkaW5nID0gb25PbmJvYXJkaW5nO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICB0aGlzLmF1dGhTZXJ2aWNlLnJvbGUkLnN1YnNjcmliZSgocm9sZSkgPT4ge1xuICAgICAgICB0aGlzLmlzQWRtaW4gPSByb2xlID09PSBSb2xlLkFETUlOO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVNZW51KCkge1xuICAgIHRoaXMubWVudVNlcnZpY2UudG9nZ2xlTWVudSQubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIGxvZ291dCgpIHtcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICB9XG5cbiAgcHVibGljIGlzRGVza3RvcCgpIHtcbiAgICByZXR1cm4gV2luZG93VXRpbC5pc0Rlc2t0b3AoKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VBY2NvdW50KG5ld0FjY291bnQ6IGFueSkge1xuICAgIHRoaXMuYWNjb3VudFNlcnZpY2UuY3VycmVudEFjY291bnQkLm5leHQobmV3QWNjb3VudCk7XG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICB9XG5cbiAgcHVibGljIGdvVG9UZXJtc09mVXNlKCkge1xuICAgIHRoaXMuYWNjb3VudFNlcnZpY2UudGVybXNPZlVzZSQubmV4dCgpO1xuICB9XG5cbiAgcHVibGljIGdvVG9QYXNzd29yZENoYW5nZSgpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ3Bhc3N3b3JkJywgJ3JlY292ZXInXSwgeyBxdWVyeVBhcmFtczogeyBjaGFuZ2U6IHRydWUgfSB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvVGFyaWZmKCkge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZmludGVjaC91bmRlci1jb25zdHJ1Y3Rpb24nXSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b3AtYmFyLWNvbnRhaW5lclwiPlxuICA8ZGl2IGlkPVwibWVudS10b2dnbGVcIiBjbGFzcz1cIm1lbnUtdG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZW51LWljb25cIj48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxlZnQtaXRlbXMtY29udGFpbmVyXCIgKm5nSWY9XCJmaW50ZWNoICYmIGlzRGVza3RvcCgpICYmICFkb2luZ09uYm9hcmRpbmcgJiYgIWlzQWRtaW5cIj5cbiAgICA8c3Bhbj5CYW5jbyB7eyBjdXJyZW50QWNjb3VudD8uYmFua0NvZGUgfX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XG4gICAgPHNwYW4+QUcge3sgY3VycmVudEFjY291bnQ/LmFnZW5jeSB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICA8c3Bhbj5DQyB7eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudE51bWJlciB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fVxuICAgICAge3sgbWFza1V0aWwuZm9ybWF0RG9jdW1lbnQoY3VycmVudEFjY291bnQ/LmRvY3VtZW50KSB9fTwvc3BhblxuICAgID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3RoZXJBY2NvdW50cz8ubGVuZ3RoXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGFuZ2UtYWNjb3VudC1idXR0b25cIiAoY2xpY2spPVwiY2hhbmdlQWNjb3VudE1lbnUudG9nZ2xlKCRldmVudClcIj5cbiAgICAgICAgPHNwYW4+QWx0ZXJuYXIgY29udGE8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJmYXNcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZhLWFuZ2xlLWRvd24nOiAhb3BlbmVkQ2hhbmdlQWNjb3VudE1lbnUsICdmYS1hbmdsZS11cCc6IG9wZW5lZENoYW5nZUFjY291bnRNZW51IH1cIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyaWdodC1pdGVtcy1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICdoaWRkZW4taXRlbXMnOiBoaWRlRWxlbWVudHMgfVwiICpuZ0lmPVwiIWlzQWRtaW4gJiYgIWRvaW5nT25ib2FyZGluZ1wiPlxuICAgIDxzcGFuICpuZ0lmPVwiIWZpbnRlY2hcIiBjbGFzcz1cImZhcyBmYS1iZWxsXCI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxuICAgIDxkaXZcbiAgICAgICNtZW51Q29udGFpbmVyXG4gICAgICBjbGFzcz1cIm1lbnUtY29udGFpbmVyXCJcbiAgICAgIChjbGljayk9XCJtZW51LnRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgIHBUb29sdGlwPVwiRW50ZXIgeW91ciB1c2VybmFtZVwiXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgdG9vbHRpcEV2ZW50PVwiY2xpY2tcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwidXNlci1uYW1lXCI+e3sgY3VycmVudEFjY291bnQ/Lm5hbWUgfHwgdmVjdG9yRmlyc3ROYW1lIHx8ICcnIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZE1lbnUsICdmYS1hbmdsZS11cCc6IG9wZW5lZE1lbnUgfVwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSA8cC1vdmVybGF5UGFuZWwgI21lbnUgKG9uSGlkZSk9XCJvcGVuZWRNZW51ID0gZmFsc2VcIiAob25TaG93KT1cIm9wZW5lZE1lbnUgPSB0cnVlXCI+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU+XG4gICAgPHVsIGNsYXNzPVwidXNlci1tZW51XCI+XG4gICAgICA8bGkgKGNsaWNrKT1cImxvZ291dCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibG9nb3V0IHVzZXItbWVudS1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5TYWlyPC9zcGFuPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9wLW92ZXJsYXlQYW5lbD4gLS0+XG5cbjxwLW92ZXJsYXlQYW5lbCAjbWVudSAob25IaWRlKT1cIm9wZW5lZE1lbnUgPSBmYWxzZVwiIChvblNob3cpPVwib3BlbmVkTWVudSA9IHRydWVcIj5cbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvXCIgKm5nSWY9XCIhaXNEZXNrdG9wKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8tcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvdW50LWluZm8tdmFsdWVcIj57eyBjdXJyZW50QWNjb3VudD8uYmFuayB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxuICAgICAgICAgIDxzcGFuPkFHOiA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvdW50LWluZm8tdmFsdWVcIj57eyBjdXJyZW50QWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4+Q0M6IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50TnVtYmVyIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fTogPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+IHt7IG1hc2tVdGlsLmZvcm1hdERvY3VtZW50KGN1cnJlbnRBY2NvdW50Py5kb2N1bWVudCkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhbmdlLWFjY291bnQtbW9iaWxlXCIgKGNsaWNrKT1cImNoYW5nZUFjY291bnRNZW51LnRvZ2dsZSgkZXZlbnQpXCIgKm5nSWY9XCJvdGhlckFjY291bnRzPy5sZW5ndGhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGFuZ2UtYWNjb3VudC1tb2JpbGUtbGFiZWxcIj5BbHRlcm5hciBjb250YTwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImZhc1wiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnZmEtYW5nbGUtZG93bic6ICFvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSwgJ2ZhLWFuZ2xlLXVwJzogb3BlbmVkQ2hhbmdlQWNjb3VudE1lbnUgfVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJ1c2VyLW1lbnVcIj5cbiAgICAgIDxsaSAqbmdJZj1cImZpbnRlY2hcIiAoY2xpY2spPVwiZ29Ub1Rlcm1zT2ZVc2UoKTsgbWVudS5oaWRlKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXJtcy1vZi11c2UgdXNlci1tZW51LWljb25cIj48L3NwYW4+XG4gICAgICAgIDxzcGFuPlRlcm1vcyBkZSBVc288L3NwYW4+XG4gICAgICA8L2xpPlxuICAgICAgPGxpICpuZ0lmPVwiZmludGVjaFwiIChjbGljayk9XCJnb1RvUGFzc3dvcmRDaGFuZ2UoKTsgbWVudS5oaWRlKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaW50ZWNoLXBhc3N3b3JkIHVzZXItbWVudS1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5BbHRlcmFyIFNlbmhhPC9zcGFuPlxuICAgICAgPC9saT5cbiAgICAgIDwhLS0gPGxpICpuZ0lmPVwiZmludGVjaFwiIChjbGljayk9XCJnb1RvVGFyaWZmKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YXJpZmZzIHVzZXItbWVudS1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5UYXJpZmFzPC9zcGFuPlxuICAgICAgPC9saT4gLS0+XG4gICAgICA8bGkgKGNsaWNrKT1cImxvZ291dCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibG9nb3V0IHVzZXItbWVudS1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5TYWlyPC9zcGFuPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9wLW92ZXJsYXlQYW5lbD5cblxuPHAtb3ZlcmxheVBhbmVsICNjaGFuZ2VBY2NvdW50TWVudSAob25IaWRlKT1cIm9wZW5lZENoYW5nZUFjY291bnRNZW51ID0gZmFsc2VcIiAob25TaG93KT1cIm9wZW5lZENoYW5nZUFjY291bnRNZW51ID0gdHJ1ZVwiPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBhY2NvdW50IG9mIG90aGVyQWNjb3VudHNcIlxuICAgICAgY2xhc3M9XCJhY2NvdW50LWluZm8gY2hhbmdlLWFjY291bnQtaW5mb1wiXG4gICAgICAoY2xpY2spPVwiY2hhbmdlQWNjb3VudChhY2NvdW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4+QmFuY286IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmJhbmsgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cbiAgICAgICAgICA8c3Bhbj5BRzogPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgYWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4+Q0M6IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4+e3sgYWNjb3VudD8uYWNjb3VudFR5cGUgPT09ICdDVVJSRU5UX0FDQ09VTlRfUEYnID8gJ0NQRicgOiAnQ05QSicgfX06IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPiB7eyBhY2NvdW50Py5kb2N1bWVudEZvcm1hdHRlZCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1vdmVybGF5UGFuZWw+XG4iXX0=
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9wLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RvcC1iYXIvdG9wLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3BDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7QUFPbkQsTUFBTSxPQUFPLGVBQWU7SUFtQjFCLFlBQ1UsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsTUFBYyxFQUNkLGNBQThCO1FBSDlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF0QmpDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBQ2hDLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBR3hCLG1CQUFjLEdBQVEsRUFBRSxDQUFDO1FBQ3pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsa0JBQWEsR0FBVSxFQUFFLENBQUM7UUFDMUIsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUdwQixZQUFPLEdBQVksS0FBSyxDQUFDO1FBSXhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU92QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1FBQy9CLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBWSxFQUFFLEVBQUU7Z0JBQzdELElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDO2dCQUM5QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQ3ZCLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbkQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztvQkFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNsRixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztpQkFDdEQ7WUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO1lBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUM3RCxJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEcsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUVGLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFpQixFQUFFLEVBQUU7Z0JBQ2hFLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sU0FBUztRQUNkLE9BQU8sVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxhQUFhLENBQUMsVUFBZTtRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDOzs0R0E1R1UsZUFBZTtnR0FBZixlQUFlLHdIQ2I1QixveExBb0pBOzJGRHZJYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLGdCQUFnQjs4S0FpQm5CLE9BQU87c0JBRGIsS0FBSztnQkFHQyxjQUFjO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJvbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIFByb2ZpbGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgTWVudVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFza1V0aWwsIFdpbmRvd1V0aWwgfSBmcm9tICcuLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlY3Rvci10b3AtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvcC1iYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90b3AtYmFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRvcEJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIGhpZGVFbGVtZW50cyA9IGZhbHNlO1xuICBwdWJsaWMgb3BlbmVkTWVudSA9IGZhbHNlO1xuICBwdWJsaWMgb3BlbmVkQ2hhbmdlQWNjb3VudE1lbnUgPSBmYWxzZTtcbiAgcHVibGljIGRvaW5nT25ib2FyZGluZyA9IGZhbHNlO1xuXG4gIHB1YmxpYyB2ZWN0b3JGaXJzdE5hbWU6IGFueTtcbiAgcHVibGljIGN1cnJlbnRBY2NvdW50OiBhbnkgPSB7fTtcbiAgcHVibGljIGlzQWRtaW4gPSBmYWxzZTtcbiAgcHVibGljIG90aGVyQWNjb3VudHM6IGFueVtdID0gW107XG4gIHB1YmxpYyBtYXNrVXRpbCA9IE1hc2tVdGlsO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBmaW50ZWNoOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY2NvdW50U2VydmljZTogYW55O1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBwcm9maWxlU2VydmljZTogUHJvZmlsZVNlcnZpY2VcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLmFkZChcbiAgICAgIHRoaXMucHJvZmlsZVNlcnZpY2UucHJvZmlsZUZpcnN0TmFtZSQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLnZlY3RvckZpcnN0TmFtZSA9IHZhbHVlO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5tZW51U2VydmljZS5tZW51T3BlbmVkJC5zdWJzY3JpYmUoKGhhc09wZW5lZCkgPT4ge1xuICAgICAgICB0aGlzLmhpZGVFbGVtZW50cyA9IGhhc09wZW5lZDtcbiAgICAgIH0pXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmFjY291bnRTZXJ2aWNlKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2UuY3VycmVudEFjY291bnQkLnN1YnNjcmliZSgoYWNjb3VudDogYW55KSA9PiB7XG4gICAgICAgICAgdGhpcy5jdXJyZW50QWNjb3VudCA9IGFjY291bnQ7XG4gICAgICAgICAgaWYgKHRoaXMuY3VycmVudEFjY291bnQpIHtcbiAgICAgICAgICAgIGNvbnN0IHN0ciA9IGAke3RoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlcn1gO1xuICAgICAgICAgICAgY29uc3QgbGVuID0gc3RyLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IGFjY291bnRXaXRoSHlmZW4gPSBzdHIuc3Vic3RyaW5nKDAsIGxlbiAtIDEpICsgJy0nICsgc3RyLnN1YnN0cmluZyhsZW4gLSAxKTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEFjY291bnQuYWNjb3VudE51bWJlciA9IGFjY291bnRXaXRoSHlmZW47XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgICB0aGlzLmFjY291bnRTZXJ2aWNlPy51c2VyQWNjb3VudHMkLnN1YnNjcmliZSgoYWNjb3VudHM6IGFueSkgPT4ge1xuICAgICAgICAgIHRoaXMub3RoZXJBY2NvdW50cyA9IGFjY291bnRzPy5maWx0ZXIoKGFjYzogYW55KSA9PiBhY2MudXVpZCAhPT0gdGhpcy5jdXJyZW50QWNjb3VudD8udXVpZCkgfHwgW107XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi5hZGQoXG4gICAgICAgIHRoaXMuYWNjb3VudFNlcnZpY2Uub25PbmJvYXJkaW5nJC5zdWJzY3JpYmUoKG9uT25ib2FyZGluZzogYW55KSA9PiB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRvaW5nT25ib2FyZGluZyA9IG9uT25ib2FyZGluZztcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKFxuICAgICAgdGhpcy5hdXRoU2VydmljZS5yb2xlJC5zdWJzY3JpYmUoKHJvbGUpID0+IHtcbiAgICAgICAgdGhpcy5pc0FkbWluID0gcm9sZSA9PT0gUm9sZS5BRE1JTjtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTWVudSgpIHtcbiAgICB0aGlzLm1lbnVTZXJ2aWNlLnRvZ2dsZU1lbnUkLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBsb2dvdXQoKSB7XG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0Rlc2t0b3AoKSB7XG4gICAgcmV0dXJuIFdpbmRvd1V0aWwuaXNEZXNrdG9wKCk7XG4gIH1cblxuICBwdWJsaWMgY2hhbmdlQWNjb3VudChuZXdBY2NvdW50OiBhbnkpIHtcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLmN1cnJlbnRBY2NvdW50JC5uZXh0KG5ld0FjY291bnQpO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvVGVybXNPZlVzZSgpIHtcbiAgICB0aGlzLmFjY291bnRTZXJ2aWNlLnRlcm1zT2ZVc2UkLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvUGFzc3dvcmRDaGFuZ2UoKSB7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydwYXNzd29yZCcsICdyZWNvdmVyJ10sIHsgcXVlcnlQYXJhbXM6IHsgY2hhbmdlOiB0cnVlIH0gfSk7XG4gIH1cblxuICBwdWJsaWMgZ29Ub1RhcmlmZigpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2ZpbnRlY2gvdW5kZXItY29uc3RydWN0aW9uJ10pO1xuICB9XG4gIHB1YmxpYyBnb1RvT25ib2FyZGluZygpIHtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ29uYm9hcmRpbmcnXSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0b3AtYmFyLWNvbnRhaW5lclwiPlxuICA8ZGl2IGlkPVwibWVudS10b2dnbGVcIiBjbGFzcz1cIm1lbnUtdG9nZ2xlXCIgKGNsaWNrKT1cInRvZ2dsZU1lbnUoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJtZW51LWljb25cIj48L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImxlZnQtaXRlbXMtY29udGFpbmVyXCIgKm5nSWY9XCJmaW50ZWNoICYmIGlzRGVza3RvcCgpICYmICFkb2luZ09uYm9hcmRpbmcgJiYgIWlzQWRtaW5cIj5cbiAgICA8c3Bhbj5CYW5jbyB7eyBjdXJyZW50QWNjb3VudD8uYmFua0NvZGUgfX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XG4gICAgPHNwYW4+QUcge3sgY3VycmVudEFjY291bnQ/LmFnZW5jeSB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICA8c3Bhbj5DQyB7eyBjdXJyZW50QWNjb3VudD8uYWNjb3VudE51bWJlciB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICA8c3BhblxuICAgICAgPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fVxuICAgICAge3sgbWFza1V0aWwuZm9ybWF0RG9jdW1lbnQoY3VycmVudEFjY291bnQ/LmRvY3VtZW50KSB9fTwvc3BhblxuICAgID5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwib3RoZXJBY2NvdW50cz8ubGVuZ3RoXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGFuZ2UtYWNjb3VudC1idXR0b24gY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiY2hhbmdlQWNjb3VudE1lbnUudG9nZ2xlKCRldmVudClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtci0yXCI+QWx0ZXJuYXIgY29udGE8L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJmYXNcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2ZhLWFuZ2xlLWRvd24nOiAhb3BlbmVkQ2hhbmdlQWNjb3VudE1lbnUsICdmYS1hbmdsZS11cCc6IG9wZW5lZENoYW5nZUFjY291bnRNZW51IH1cIlxuICAgICAgICA+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJyaWdodC1pdGVtcy1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7ICdoaWRkZW4taXRlbXMnOiBoaWRlRWxlbWVudHMgfVwiICpuZ0lmPVwiIWlzQWRtaW4gJiYgIWRvaW5nT25ib2FyZGluZ1wiPlxuICAgIDxzcGFuICpuZ0lmPVwiIWZpbnRlY2hcIiBjbGFzcz1cImZhcyBmYS1iZWxsXCI+PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxuICAgIDxkaXZcbiAgICAgICNtZW51Q29udGFpbmVyXG4gICAgICBjbGFzcz1cIm1lbnUtY29udGFpbmVyXCJcbiAgICAgIChjbGljayk9XCJtZW51LnRvZ2dsZSgkZXZlbnQpXCJcbiAgICAgIHBUb29sdGlwPVwiRW50ZXIgeW91ciB1c2VybmFtZVwiXG4gICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxuICAgICAgdG9vbHRpcEV2ZW50PVwiY2xpY2tcIlxuICAgID5cbiAgICAgIDxzcGFuIGNsYXNzPVwidXNlci1uYW1lXCI+e3sgY3VycmVudEFjY291bnQ/Lm5hbWUgfHwgdmVjdG9yRmlyc3ROYW1lIHx8ICcnIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmYXNcIiBbbmdDbGFzc109XCJ7ICdmYS1hbmdsZS1kb3duJzogIW9wZW5lZE1lbnUsICdmYS1hbmdsZS11cCc6IG9wZW5lZE1lbnUgfVwiPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSA8cC1vdmVybGF5UGFuZWwgI21lbnUgKG9uSGlkZSk9XCJvcGVuZWRNZW51ID0gZmFsc2VcIiAob25TaG93KT1cIm9wZW5lZE1lbnUgPSB0cnVlXCI+XG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU+XG4gICAgPHVsIGNsYXNzPVwidXNlci1tZW51XCI+XG4gICAgICA8bGkgKGNsaWNrKT1cImxvZ291dCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibG9nb3V0IHVzZXItbWVudS1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5TYWlyPC9zcGFuPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9wLW92ZXJsYXlQYW5lbD4gLS0+XG5cbjxwLW92ZXJsYXlQYW5lbCAjbWVudSAob25IaWRlKT1cIm9wZW5lZE1lbnUgPSBmYWxzZVwiIChvblNob3cpPVwib3BlbmVkTWVudSA9IHRydWVcIj5cbiAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvXCIgKm5nSWY9XCIhaXNEZXNrdG9wKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8tcm93XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxuICAgICAgICAgIDxzcGFuPkJhbmNvOiA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvdW50LWluZm8tdmFsdWVcIj57eyBjdXJyZW50QWNjb3VudD8uYmFuayB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxuICAgICAgICAgIDxzcGFuPkFHOiA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY2NvdW50LWluZm8tdmFsdWVcIj57eyBjdXJyZW50QWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4+Q0M6IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50TnVtYmVyIH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzZXBhcmF0b3JcIj48L3NwYW4+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY2NvdW50LWluZm8taXRlbVwiPlxuICAgICAgICAgIDxzcGFuPnt7IGN1cnJlbnRBY2NvdW50Py5hY2NvdW50VHlwZSA9PT0gJ0NVUlJFTlRfQUNDT1VOVF9QRicgPyAnQ1BGJyA6ICdDTlBKJyB9fTogPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+IHt7IG1hc2tVdGlsLmZvcm1hdERvY3VtZW50KGN1cnJlbnRBY2NvdW50Py5kb2N1bWVudCkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY2hhbmdlLWFjY291bnQtbW9iaWxlXCIgKGNsaWNrKT1cImNoYW5nZUFjY291bnRNZW51LnRvZ2dsZSgkZXZlbnQpXCIgKm5nSWY9XCJvdGhlckFjY291bnRzPy5sZW5ndGhcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGFuZ2UtYWNjb3VudC1tb2JpbGUtbGFiZWxcIj5BbHRlcm5hciBjb250YTwvc3Bhbj5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImZhc1wiXG4gICAgICAgICAgW25nQ2xhc3NdPVwieyAnZmEtYW5nbGUtZG93bic6ICFvcGVuZWRDaGFuZ2VBY2NvdW50TWVudSwgJ2ZhLWFuZ2xlLXVwJzogb3BlbmVkQ2hhbmdlQWNjb3VudE1lbnUgfVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJ1c2VyLW1lbnVcIj5cbiAgICAgIDxsaSAqbmdJZj1cImZpbnRlY2hcIiAoY2xpY2spPVwiZ29Ub1Rlcm1zT2ZVc2UoKTsgbWVudS5oaWRlKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXJtcy1vZi11c2UgdXNlci1tZW51LWljb25cIj48L3NwYW4+XG4gICAgICAgIDxzcGFuPlRlcm1vcyBkZSBVc288L3NwYW4+XG4gICAgICA8L2xpPlxuICAgICAgPGxpICpuZ0lmPVwiZmludGVjaFwiIChjbGljayk9XCJnb1RvUGFzc3dvcmRDaGFuZ2UoKTsgbWVudS5oaWRlKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmaW50ZWNoLXBhc3N3b3JkIHVzZXItbWVudS1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5BbHRlcmFyIFNlbmhhPC9zcGFuPlxuICAgICAgPC9saT5cbiAgICAgIDwhLS0gPGxpICpuZ0lmPVwiZmludGVjaFwiIChjbGljayk9XCJnb1RvVGFyaWZmKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YXJpZmZzIHVzZXItbWVudS1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5UYXJpZmFzPC9zcGFuPlxuICAgICAgPC9saT4gLS0+XG4gICAgICA8bGkgKGNsaWNrKT1cImxvZ291dCgpXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibG9nb3V0IHVzZXItbWVudS1pY29uXCI+PC9zcGFuPlxuICAgICAgICA8c3Bhbj5TYWlyPC9zcGFuPlxuICAgICAgPC9saT5cbiAgICA8L3VsPlxuICA8L25nLXRlbXBsYXRlPlxuPC9wLW92ZXJsYXlQYW5lbD5cblxuPHAtb3ZlcmxheVBhbmVsICNjaGFuZ2VBY2NvdW50TWVudSAob25IaWRlKT1cIm9wZW5lZENoYW5nZUFjY291bnRNZW51ID0gZmFsc2VcIiAob25TaG93KT1cIm9wZW5lZENoYW5nZUFjY291bnRNZW51ID0gdHJ1ZVwiPlxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgICpuZ0Zvcj1cImxldCBhY2NvdW50IG9mIG90aGVyQWNjb3VudHNcIlxuICAgICAgY2xhc3M9XCJhY2NvdW50LWluZm8gY2hhbmdlLWFjY291bnQtaW5mb1wiXG4gICAgICAoY2xpY2spPVwiY2hhbmdlQWNjb3VudChhY2NvdW50KVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4+QmFuY286IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmJhbmsgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxzcGFuIGNsYXNzPVwic2VwYXJhdG9yXCI+PC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWNjb3VudC1pbmZvLWl0ZW1cIj5cbiAgICAgICAgICA8c3Bhbj5BRzogPC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWNjb3VudC1pbmZvLXZhbHVlXCI+e3sgYWNjb3VudD8uYWdlbmN5IH19PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1yb3dcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4+Q0M6IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPnt7IGFjY291bnQ/LmFjY291bnROdW1iZXIgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNlcGFyYXRvclwiPjwvc3Bhbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY291bnQtaW5mby1pdGVtXCI+XG4gICAgICAgICAgPHNwYW4+e3sgYWNjb3VudD8uYWNjb3VudFR5cGUgPT09ICdDVVJSRU5UX0FDQ09VTlRfUEYnID8gJ0NQRicgOiAnQ05QSicgfX06IDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjY291bnQtaW5mby12YWx1ZVwiPiB7eyBhY2NvdW50Py5kb2N1bWVudEZvcm1hdHRlZCB9fTwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGhyIC8+XG4gICAgICA8cCBjbGFzcz1cInRleHQtY2VudGVyIGFkZC1hY2NvdW50XCIgKGNsaWNrKT1cImdvVG9PbmJvYXJkaW5nKClcIj5BZGljaW9uYXIgdW1hIG5vdmEgY29udGE8L3A+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L3Atb3ZlcmxheVBhbmVsPlxuIl19
|
|
@@ -8,5 +8,20 @@ export class ObjectUtil {
|
|
|
8
8
|
static isValid(obj) {
|
|
9
9
|
return obj !== null && obj !== undefined;
|
|
10
10
|
}
|
|
11
|
+
static getCodes(obj) {
|
|
12
|
+
if (!obj) {
|
|
13
|
+
return {};
|
|
14
|
+
}
|
|
15
|
+
return Object.keys(obj).reduce((acc, curr) => {
|
|
16
|
+
let value = obj[curr];
|
|
17
|
+
try {
|
|
18
|
+
value = JSON.parse(obj[curr]);
|
|
19
|
+
}
|
|
20
|
+
catch (_) {
|
|
21
|
+
value = obj[curr];
|
|
22
|
+
}
|
|
23
|
+
return { ...acc, [curr]: value?.code || value };
|
|
24
|
+
}, {});
|
|
25
|
+
}
|
|
11
26
|
}
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi91dGlscy9vYmplY3QudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNkLE1BQU0sQ0FBQyxhQUFhLENBQUksR0FBVztRQUN4QyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLEdBQWMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQVE7UUFDNUIsT0FBTyxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxTQUFTLENBQUM7SUFDM0MsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBUTtRQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUVELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLElBQUk7Z0JBQ0YsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDL0I7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixLQUFLLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ25CO1lBQ0QsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNsRCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgT2JqZWN0VXRpbCB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0T2JqZWN0S2V5czxUPihvYmo6IE9iamVjdCk6IEFycmF5PGtleW9mIFQ+IHtcbiAgICBpZiAoIW9iaikge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmopLm1hcCgoa2V5OiBzdHJpbmcpID0+IGtleSBhcyBrZXlvZiBUKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNWYWxpZChvYmo6IGFueSkge1xuICAgIHJldHVybiBvYmogIT09IG51bGwgJiYgb2JqICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldENvZGVzKG9iajogYW55KTogYW55IHtcbiAgICBpZiAoIW9iaikge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmopLnJlZHVjZSgoYWNjLCBjdXJyKSA9PiB7XG4gICAgICBsZXQgdmFsdWUgPSBvYmpbY3Vycl07XG4gICAgICB0cnkge1xuICAgICAgICB2YWx1ZSA9IEpTT04ucGFyc2Uob2JqW2N1cnJdKTtcbiAgICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgdmFsdWUgPSBvYmpbY3Vycl07XG4gICAgICB9XG4gICAgICByZXR1cm4geyAuLi5hY2MsIFtjdXJyXTogdmFsdWU/LmNvZGUgfHwgdmFsdWUgfTtcbiAgICB9LCB7fSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -391,6 +391,21 @@ class ObjectUtil {
|
|
|
391
391
|
static isValid(obj) {
|
|
392
392
|
return obj !== null && obj !== undefined;
|
|
393
393
|
}
|
|
394
|
+
static getCodes(obj) {
|
|
395
|
+
if (!obj) {
|
|
396
|
+
return {};
|
|
397
|
+
}
|
|
398
|
+
return Object.keys(obj).reduce((acc, curr) => {
|
|
399
|
+
let value = obj[curr];
|
|
400
|
+
try {
|
|
401
|
+
value = JSON.parse(obj[curr]);
|
|
402
|
+
}
|
|
403
|
+
catch (_) {
|
|
404
|
+
value = obj[curr];
|
|
405
|
+
}
|
|
406
|
+
return Object.assign(Object.assign({}, acc), { [curr]: (value === null || value === void 0 ? void 0 : value.code) || value });
|
|
407
|
+
}, {});
|
|
408
|
+
}
|
|
394
409
|
}
|
|
395
410
|
|
|
396
411
|
class StringUtil {
|
|
@@ -794,7 +809,7 @@ class BreadcrumbComponent {
|
|
|
794
809
|
this.subscription.unsubscribe();
|
|
795
810
|
}
|
|
796
811
|
navigateToFragment(fragment) {
|
|
797
|
-
this.router.navigate([fragment.route]);
|
|
812
|
+
this.router.navigate([fragment.route], { queryParamsHandling: 'preserve' });
|
|
798
813
|
}
|
|
799
814
|
extractRouteFragmentsFromMenu(url, currentChildren) {
|
|
800
815
|
let foundItem = false;
|
|
@@ -1926,6 +1941,7 @@ class DropdownFieldComponent {
|
|
|
1926
1941
|
this.minLengthToService = 0;
|
|
1927
1942
|
this.initialLoad = true;
|
|
1928
1943
|
this.onFocus = new EventEmitter();
|
|
1944
|
+
this.onChange = new EventEmitter();
|
|
1929
1945
|
this.pagedSuggestions = [];
|
|
1930
1946
|
this.unlistenAutocompleteVirtualScroll = () => { };
|
|
1931
1947
|
this.selectedDynamicFilter = this.dynamicFilters ? this.dynamicFilters[0].code : undefined;
|
|
@@ -2070,10 +2086,10 @@ class DropdownFieldComponent {
|
|
|
2070
2086
|
}
|
|
2071
2087
|
}
|
|
2072
2088
|
DropdownFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
2073
|
-
DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters", minLengthToService: "minLengthToService", initialLoad: "initialLoad" }, outputs: { onFocus: "onFocus" }, ngImport: i0, template: "<div class=\"relative\">\n <div class=\"input-container\">\n <div class=\"input-inner-container\">\n <p-dropdown\n *ngIf=\"dynamicFilters\"\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n [(ngModel)]=\"selectedDynamicFilter\"\n [options]=\"dynamicFilters\"\n >\n </p-dropdown>\n <p-autoComplete\n appendTo=\"body\"\n field=\"name\"\n dataKey=\"code\"\n [forceSelection]=\"true\"\n [dropdown]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"pagedSuggestions\"\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\n (completeMethod)=\"search($event)\"\n (onShow)=\"onOpenAutocompletePanel()\"\n (onHide)=\"onHideAutocompletePanel()\"\n (onFocus)=\"onFocus.emit($event)\"\n >\n </p-autoComplete>\n </div>\n <vector-button\n *ngIf=\"buttonAction\"\n [label]=\"buttonAction.label\"\n [disabled]=\"!control.value\"\n (onClick)=\"buttonAction.onClick(control.value)\"\n ></vector-button>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1$6.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2$6.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2089
|
+
DropdownFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: { options: "options", isRequired: "isRequired", control: "control", label: "label", service: "service", paged: "paged", buttonAction: "buttonAction", dependencies: "dependencies", hiddenErrorMessage: "hiddenErrorMessage", dynamicFilters: "dynamicFilters", minLengthToService: "minLengthToService", initialLoad: "initialLoad" }, outputs: { onFocus: "onFocus", onChange: "onChange" }, ngImport: i0, template: "<div class=\"relative\">\n <div class=\"input-container\">\n <div class=\"input-inner-container\">\n <p-dropdown\n *ngIf=\"dynamicFilters\"\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n [(ngModel)]=\"selectedDynamicFilter\"\n [options]=\"dynamicFilters\"\n >\n </p-dropdown>\n <p-autoComplete\n appendTo=\"body\"\n field=\"name\"\n dataKey=\"code\"\n [forceSelection]=\"true\"\n [dropdown]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"pagedSuggestions\"\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\n (completeMethod)=\"search($event)\"\n (onShow)=\"onOpenAutocompletePanel()\"\n (onHide)=\"onHideAutocompletePanel()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onChange)=\"onChange.emit($event)\"\n >\n </p-autoComplete>\n </div>\n <vector-button\n *ngIf=\"buttonAction\"\n [label]=\"buttonAction.label\"\n [disabled]=\"!control.value\"\n (onClick)=\"buttonAction.onClick(control.value)\"\n ></vector-button>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"], components: [{ type: i1$6.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2$6.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }, { type: FieldErrorMessageComponent, selector: "vector-field-error-message", inputs: ["control"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i2$4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2074
2090
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DropdownFieldComponent, decorators: [{
|
|
2075
2091
|
type: Component,
|
|
2076
|
-
args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\n <div class=\"input-container\">\n <div class=\"input-inner-container\">\n <p-dropdown\n *ngIf=\"dynamicFilters\"\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n [(ngModel)]=\"selectedDynamicFilter\"\n [options]=\"dynamicFilters\"\n >\n </p-dropdown>\n <p-autoComplete\n appendTo=\"body\"\n field=\"name\"\n dataKey=\"code\"\n [forceSelection]=\"true\"\n [dropdown]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"pagedSuggestions\"\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\n (completeMethod)=\"search($event)\"\n (onShow)=\"onOpenAutocompletePanel()\"\n (onHide)=\"onHideAutocompletePanel()\"\n (onFocus)=\"onFocus.emit($event)\"\n >\n </p-autoComplete>\n </div>\n <vector-button\n *ngIf=\"buttonAction\"\n [label]=\"buttonAction.label\"\n [disabled]=\"!control.value\"\n (onClick)=\"buttonAction.onClick(control.value)\"\n ></vector-button>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
|
|
2092
|
+
args: [{ selector: 'vector-dropdown-field', template: "<div class=\"relative\">\n <div class=\"input-container\">\n <div class=\"input-inner-container\">\n <p-dropdown\n *ngIf=\"dynamicFilters\"\n appendTo=\"body\"\n optionLabel=\"name\"\n optionValue=\"code\"\n [(ngModel)]=\"selectedDynamicFilter\"\n [options]=\"dynamicFilters\"\n >\n </p-dropdown>\n <p-autoComplete\n appendTo=\"body\"\n field=\"name\"\n dataKey=\"code\"\n [forceSelection]=\"true\"\n [dropdown]=\"true\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [suggestions]=\"pagedSuggestions\"\n [dropdownIcon]=\"dynamicFilters ? 'pi pi-search' : 'pi pi-chevron-down'\"\n (completeMethod)=\"search($event)\"\n (onShow)=\"onOpenAutocompletePanel()\"\n (onHide)=\"onHideAutocompletePanel()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onChange)=\"onChange.emit($event)\"\n >\n </p-autoComplete>\n </div>\n <vector-button\n *ngIf=\"buttonAction\"\n [label]=\"buttonAction.label\"\n [disabled]=\"!control.value\"\n (onClick)=\"buttonAction.onClick(control.value)\"\n ></vector-button>\n </div>\n <vector-field-error-message *ngIf=\"!hiddenErrorMessage\" [control]=\"control\"></vector-field-error-message>\n</div>\n", styles: [".input-container{display:flex;align-items:flex-end;width:100%}@media (max-width: 575px){.input-container{align-items:flex-start;flex-direction:column}}.input-container p-autoComplete{flex:1}@media (max-width: 575px){.input-container p-autoComplete{width:100%}}.input-container vector-button{margin-left:15px}@media (max-width: 575px){.input-container vector-button{margin-left:0;margin-top:10px;width:100%}}.input-container p-dropdown{margin-right:-5px;width:150px}@media (max-width: 575px){.input-container p-dropdown{width:100px}}.input-container .input-inner-container{display:flex;width:100%}\n"] }]
|
|
2077
2093
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { options: [{
|
|
2078
2094
|
type: Input
|
|
2079
2095
|
}], isRequired: [{
|
|
@@ -2100,6 +2116,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
2100
2116
|
type: Input
|
|
2101
2117
|
}], onFocus: [{
|
|
2102
2118
|
type: Output
|
|
2119
|
+
}], onChange: [{
|
|
2120
|
+
type: Output
|
|
2103
2121
|
}] } });
|
|
2104
2122
|
|
|
2105
2123
|
class SelectButtonFieldComponent {
|
|
@@ -2128,6 +2146,7 @@ var FieldType;
|
|
|
2128
2146
|
FieldType[FieldType["DYNAMIC_DROPDOWN"] = 5] = "DYNAMIC_DROPDOWN";
|
|
2129
2147
|
FieldType[FieldType["SELECT_BUTTON"] = 6] = "SELECT_BUTTON";
|
|
2130
2148
|
FieldType[FieldType["DATE_RANGE"] = 7] = "DATE_RANGE";
|
|
2149
|
+
FieldType[FieldType["MULTISELECT"] = 8] = "MULTISELECT";
|
|
2131
2150
|
})(FieldType || (FieldType = {}));
|
|
2132
2151
|
class FiltersComponent {
|
|
2133
2152
|
constructor(activatedRoute) {
|
|
@@ -2163,10 +2182,6 @@ class FiltersComponent {
|
|
|
2163
2182
|
this.formGroup.addControl(field.name, new FormControl({ value: field.defaultValue, disabled: field.readonly }, this.buildValidators(field)));
|
|
2164
2183
|
}
|
|
2165
2184
|
});
|
|
2166
|
-
const queryParams = this.activatedRoute.snapshot.queryParams;
|
|
2167
|
-
if (Object.keys(queryParams).length) {
|
|
2168
|
-
this.formGroup.patchValue(queryParams);
|
|
2169
|
-
}
|
|
2170
2185
|
(_b = this.fields) === null || _b === void 0 ? void 0 : _b.filter((field) => field.dependencies).forEach((field) => {
|
|
2171
2186
|
var _a;
|
|
2172
2187
|
(_a = field.dependencies) === null || _a === void 0 ? void 0 : _a.forEach((dependency) => {
|
|
@@ -2182,9 +2197,7 @@ class FiltersComponent {
|
|
|
2182
2197
|
}
|
|
2183
2198
|
this.formBuilded.emit();
|
|
2184
2199
|
this.fieldsSubscription.add(this.activatedRoute.queryParams.subscribe((queryParams) => {
|
|
2185
|
-
|
|
2186
|
-
this.formGroup.patchValue(queryParams);
|
|
2187
|
-
}
|
|
2200
|
+
this.patchFormFromQueryParams(Object.assign({}, queryParams));
|
|
2188
2201
|
}));
|
|
2189
2202
|
}
|
|
2190
2203
|
get fields() {
|
|
@@ -2247,6 +2260,27 @@ class FiltersComponent {
|
|
|
2247
2260
|
return 'md:col-4';
|
|
2248
2261
|
}
|
|
2249
2262
|
}
|
|
2263
|
+
patchFormFromQueryParams(queryParams) {
|
|
2264
|
+
if (Object.keys(queryParams).length) {
|
|
2265
|
+
this.fields.forEach((field) => {
|
|
2266
|
+
if (queryParams.hasOwnProperty(field.name)) {
|
|
2267
|
+
queryParams[field.name] = queryParams[field.name]
|
|
2268
|
+
? JSON.parse(queryParams[field.name])
|
|
2269
|
+
: queryParams[field.name];
|
|
2270
|
+
if (field.type === FieldType.DATE_RANGE) {
|
|
2271
|
+
queryParams[field.name] = {
|
|
2272
|
+
startDate: queryParams[field.name].startDate ? new Date(queryParams[field.name].startDate) : undefined,
|
|
2273
|
+
endDate: queryParams[field.name].endDate ? new Date(queryParams[field.name].endDate) : undefined,
|
|
2274
|
+
};
|
|
2275
|
+
}
|
|
2276
|
+
if (field.type === FieldType.DATE) {
|
|
2277
|
+
queryParams[field.name] = queryParams[field.name] ? new Date(queryParams[field.name]) : undefined;
|
|
2278
|
+
}
|
|
2279
|
+
}
|
|
2280
|
+
});
|
|
2281
|
+
this.formGroup.patchValue(queryParams);
|
|
2282
|
+
}
|
|
2283
|
+
}
|
|
2250
2284
|
buildValidators(field) {
|
|
2251
2285
|
const validators = [];
|
|
2252
2286
|
if (field.required) {
|
|
@@ -2268,10 +2302,10 @@ class FiltersComponent {
|
|
|
2268
2302
|
}
|
|
2269
2303
|
}
|
|
2270
2304
|
FiltersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, deps: [{ token: i2$1.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
2271
|
-
FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch", formBuilded: "formBuilded" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\n <label>{{ field.label }}</label>\n <vector-text-field\n *ngIf=\"isTextFieldType(field)\"\n [control]=\"formGroup.get(field.name)\"\n [mask]=\"field.mask\"\n [label]=\"field.placeholder\"\n [isRequired]=\"field.required\"\n [numeric]=\"field.type === fieldTypes.NUMBER\"\n ></vector-text-field>\n <vector-dropdown-field\n *ngIf=\"
|
|
2305
|
+
FiltersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FiltersComponent, selector: "vector-filters", inputs: { fields: "fields" }, outputs: { onSearch: "onSearch", formBuilded: "formBuilded" }, ngImport: i0, template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\n <label>{{ field.label }}</label>\n <vector-text-field\n *ngIf=\"isTextFieldType(field)\"\n [control]=\"formGroup.get(field.name)\"\n [mask]=\"field.mask\"\n [label]=\"field.placeholder\"\n [isRequired]=\"field.required\"\n [numeric]=\"field.type === fieldTypes.NUMBER\"\n ></vector-text-field>\n <vector-dropdown-field\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\n [dynamicFilters]=\"field.filterTypes\"\n [options]=\"field.options || []\"\n [service]=\"field.service\"\n [isRequired]=\"field.required\"\n [minLengthToService]=\"field.minLengthToService || 0\"\n [control]=\"formGroup.get(field.name)\"\n [paged]=\"false\"\n [dependencies]=\"getFieldDependencies(field)\"\n [initialLoad]=\"!!field.defaultValue\"\n ></vector-dropdown-field>\n <vector-currency-field\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\n [control]=\"formGroup.get(field.name)\"\n [outlined]=\"true\"\n ></vector-currency-field>\n <vector-calendar-field\n *ngIf=\"field.type === fieldTypes.DATE\"\n [control]=\"formGroup.get(field.name)\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n <vector-select-button-field\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\n [control]=\"formGroup.get(field.name)\"\n [options]=\"field.options\"\n >\n </vector-select-button-field>\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.startDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n At\u00E9\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.endDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n </div>\n </div>\n <div class=\"search-button sm:col-4\">\n <vector-button\n label=\"Pesquisar\"\n (click)=\"search()\"\n [disabled]=\"!formGroup.valid\"\n style=\"float: right; width: 150px\"\n ></vector-button>\n </div>\n</div>\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"], components: [{ type: TextFieldComponent, selector: "vector-text-field", inputs: ["isRequired", "label", "maxlength", "isPassword", "numeric", "decimal", "onlyText", "alphaNumeric", "mask", "autoClear", "rightIcon", "centered", "enableDocumentTypeChoice", "hiddenErrorMessage", "control"], outputs: ["blurEvent", "enterKeyPress", "focusEvent", "onDocumentTypeChange"] }, { type: DropdownFieldComponent, selector: "vector-dropdown-field", inputs: ["options", "isRequired", "control", "label", "service", "paged", "buttonAction", "dependencies", "hiddenErrorMessage", "dynamicFilters", "minLengthToService", "initialLoad"], outputs: ["onFocus", "onChange"] }, { type: CurrencyFieldComponent, selector: "vector-currency-field", inputs: ["minValue", "maxValue", "placeholder", "control", "outlined", "rounded", "label", "isBankingField", "inputClassName", "disabled"] }, { type: CalendarComponent, selector: "vector-calendar-field", inputs: ["isRequired", "control", "label", "showCalendarOnFocus", "min", "max", "disabledDates", "disabled", "defaultDate", "hiddenErrorMessage"] }, { type: SelectButtonFieldComponent, selector: "vector-select-button-field", inputs: ["options", "control"] }, { type: ButtonComponent, selector: "vector-button", inputs: ["disabled", "label", "type", "leftIcon", "rightIcon", "noShadow", "style"], outputs: ["onClick"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2$4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "notHidden": NotHiddenPipe } });
|
|
2272
2306
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FiltersComponent, decorators: [{
|
|
2273
2307
|
type: Component,
|
|
2274
|
-
args: [{ selector: 'vector-filters', template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\n <label>{{ field.label }}</label>\n <vector-text-field\n *ngIf=\"isTextFieldType(field)\"\n [control]=\"formGroup.get(field.name)\"\n [mask]=\"field.mask\"\n [label]=\"field.placeholder\"\n [isRequired]=\"field.required\"\n [numeric]=\"field.type === fieldTypes.NUMBER\"\n ></vector-text-field>\n <vector-dropdown-field\n *ngIf=\"
|
|
2308
|
+
args: [{ selector: 'vector-filters', template: "<div class=\"grid filter-container\" [ngClass]=\"{ 'display-none': hideFilters }\" [formGroup]=\"formGroup\">\n <div *ngFor=\"let field of fields | notHidden\" class=\"field col-12 sm:col-8 {{ getGridClass(field) }}\">\n <label>{{ field.label }}</label>\n <vector-text-field\n *ngIf=\"isTextFieldType(field)\"\n [control]=\"formGroup.get(field.name)\"\n [mask]=\"field.mask\"\n [label]=\"field.placeholder\"\n [isRequired]=\"field.required\"\n [numeric]=\"field.type === fieldTypes.NUMBER\"\n ></vector-text-field>\n <vector-dropdown-field\n *ngIf=\"[fieldTypes.DYNAMIC_DROPDOWN, fieldTypes.DROPDOWN].includes(field.type)\"\n [dynamicFilters]=\"field.filterTypes\"\n [options]=\"field.options || []\"\n [service]=\"field.service\"\n [isRequired]=\"field.required\"\n [minLengthToService]=\"field.minLengthToService || 0\"\n [control]=\"formGroup.get(field.name)\"\n [paged]=\"false\"\n [dependencies]=\"getFieldDependencies(field)\"\n [initialLoad]=\"!!field.defaultValue\"\n ></vector-dropdown-field>\n <vector-currency-field\n *ngIf=\"field.type === fieldTypes.CURRENCY\"\n [control]=\"formGroup.get(field.name)\"\n [outlined]=\"true\"\n ></vector-currency-field>\n <vector-calendar-field\n *ngIf=\"field.type === fieldTypes.DATE\"\n [control]=\"formGroup.get(field.name)\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n <vector-select-button-field\n *ngIf=\"field.type === fieldTypes.SELECT_BUTTON\"\n [control]=\"formGroup.get(field.name)\"\n [options]=\"field.options\"\n >\n </vector-select-button-field>\n <div *ngIf=\"field.type === fieldTypes.DATE_RANGE\" class=\"range-date-container\">\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.startDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n At\u00E9\n <vector-calendar-field\n [control]=\"formGroup.get(field.name + '.endDate')\"\n [isRequired]=\"field.required\"\n [label]=\"field.placeholder || ''\"\n ></vector-calendar-field>\n </div>\n </div>\n <div class=\"search-button sm:col-4\">\n <vector-button\n label=\"Pesquisar\"\n (click)=\"search()\"\n [disabled]=\"!formGroup.valid\"\n style=\"float: right; width: 150px\"\n ></vector-button>\n </div>\n</div>\n", styles: [".filter-container{align-items:center}.filter-container .field{display:flex;flex-direction:column}.filter-container .search-button{flex:1;padding-right:7px}@media (min-width: 768px){.filter-container .search-button{padding-top:36px}}.filter-container .range-date-container{display:flex;align-items:center;gap:10px}.display-none{display:none!important}\n"] }]
|
|
2275
2309
|
}], ctorParameters: function () { return [{ type: i2$1.ActivatedRoute }]; }, propDecorators: { fields: [{
|
|
2276
2310
|
type: Input
|
|
2277
2311
|
}], onSearch: [{
|
|
@@ -3627,12 +3661,15 @@ class TopBarComponent {
|
|
|
3627
3661
|
goToTariff() {
|
|
3628
3662
|
this.router.navigate(['fintech/under-construction']);
|
|
3629
3663
|
}
|
|
3664
|
+
goToOnboarding() {
|
|
3665
|
+
this.router.navigate(['onboarding']);
|
|
3666
|
+
}
|
|
3630
3667
|
}
|
|
3631
3668
|
TopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, deps: [{ token: MenuService }, { token: AuthService }, { token: i2$1.Router }, { token: ProfileService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3632
|
-
TopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService" }, ngImport: i0, template: "<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container *ngIf=\"otherAccounts?.length\">\n <span class=\"separator\"></span>\n <div class=\"change-account-button\" (click)=\"changeAccountMenu.toggle($event)\">\n <span>Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <ul class=\"user-menu\">\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel> -->\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\n <span class=\"tariffs user-menu-icon\"></span>\n <span>Tarifas</span>\n </li> -->\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E %3Cg id%3D%22exit-to-app%22%3E %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position-y:3px}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"], components: [{ type: i4$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3669
|
+
TopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: TopBarComponent, selector: "vector-top-bar", inputs: { fintech: "fintech", accountService: "accountService" }, ngImport: i0, template: "<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container *ngIf=\"otherAccounts?.length\">\n <span class=\"separator\"></span>\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\n <span class=\"mr-2\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <ul class=\"user-menu\">\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel> -->\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\n <span class=\"tariffs user-menu-icon\"></span>\n <span>Tarifas</span>\n </li> -->\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\n </div>\n </div>\n </div>\n <div>\n <hr />\n <p class=\"text-center add-account\" (click)=\"goToOnboarding()\">Adicionar uma nova conta</p>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E %3Cg id%3D%22exit-to-app%22%3E %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"], components: [{ type: i4$1.OverlayPanel, selector: "p-overlayPanel", inputs: ["dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2$9.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
3633
3670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TopBarComponent, decorators: [{
|
|
3634
3671
|
type: Component,
|
|
3635
|
-
args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container *ngIf=\"otherAccounts?.length\">\n <span class=\"separator\"></span>\n <div class=\"change-account-button\" (click)=\"changeAccountMenu.toggle($event)\">\n <span>Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <ul class=\"user-menu\">\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel> -->\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\n <span class=\"tariffs user-menu-icon\"></span>\n <span>Tarifas</span>\n </li> -->\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\n </div>\n </div>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E %3Cg id%3D%22exit-to-app%22%3E %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position-y:3px}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"] }]
|
|
3672
|
+
args: [{ selector: 'vector-top-bar', template: "<div class=\"top-bar-container\">\n <div id=\"menu-toggle\" class=\"menu-toggle\" (click)=\"toggleMenu()\">\n <div class=\"menu-icon\"></div>\n </div>\n\n <div class=\"left-items-container\" *ngIf=\"fintech && isDesktop() && !doingOnboarding && !isAdmin\">\n <span>Banco {{ currentAccount?.bankCode }}</span>\n <span class=\"separator\"></span>\n <span>AG {{ currentAccount?.agency }}</span>\n <span class=\"separator\"></span>\n <span>CC {{ currentAccount?.accountNumber }}</span>\n <span class=\"separator\"></span>\n <span\n >{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}\n {{ maskUtil.formatDocument(currentAccount?.document) }}</span\n >\n <ng-container *ngIf=\"otherAccounts?.length\">\n <span class=\"separator\"></span>\n <div class=\"change-account-button cursor-pointer\" (click)=\"changeAccountMenu.toggle($event)\">\n <span class=\"mr-2\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </ng-container>\n </div>\n\n <div class=\"right-items-container\" [ngClass]=\"{ 'hidden-items': hideElements }\" *ngIf=\"!isAdmin && !doingOnboarding\">\n <span *ngIf=\"!fintech\" class=\"fas fa-bell\"></span>\n <span class=\"separator\"></span>\n <div\n #menuContainer\n class=\"menu-container\"\n (click)=\"menu.toggle($event)\"\n pTooltip=\"Enter your username\"\n tooltipPosition=\"bottom\"\n tooltipEvent=\"click\"\n >\n <span class=\"user-name\">{{ currentAccount?.name || vectorFirstName || '' }}</span>\n <span class=\"fas\" [ngClass]=\"{ 'fa-angle-down': !openedMenu, 'fa-angle-up': openedMenu }\"></span>\n </div>\n </div>\n</div>\n\n<!-- <p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <ul class=\"user-menu\">\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel> -->\n\n<p-overlayPanel #menu (onHide)=\"openedMenu = false\" (onShow)=\"openedMenu = true\">\n <ng-template pTemplate>\n <div class=\"account-info\" *ngIf=\"!isDesktop()\">\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ currentAccount?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ currentAccount?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ currentAccount?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ currentAccount?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ maskUtil.formatDocument(currentAccount?.document) }}</span>\n </div>\n </div>\n <div class=\"change-account-mobile\" (click)=\"changeAccountMenu.toggle($event)\" *ngIf=\"otherAccounts?.length\">\n <span class=\"change-account-mobile-label\">Alternar conta</span>\n <span\n class=\"fas\"\n [ngClass]=\"{ 'fa-angle-down': !openedChangeAccountMenu, 'fa-angle-up': openedChangeAccountMenu }\"\n ></span>\n </div>\n </div>\n <ul class=\"user-menu\">\n <li *ngIf=\"fintech\" (click)=\"goToTermsOfUse(); menu.hide()\">\n <span class=\"terms-of-use user-menu-icon\"></span>\n <span>Termos de Uso</span>\n </li>\n <li *ngIf=\"fintech\" (click)=\"goToPasswordChange(); menu.hide()\">\n <span class=\"fintech-password user-menu-icon\"></span>\n <span>Alterar Senha</span>\n </li>\n <!-- <li *ngIf=\"fintech\" (click)=\"goToTariff()\">\n <span class=\"tariffs user-menu-icon\"></span>\n <span>Tarifas</span>\n </li> -->\n <li (click)=\"logout()\">\n <span class=\"logout user-menu-icon\"></span>\n <span>Sair</span>\n </li>\n </ul>\n </ng-template>\n</p-overlayPanel>\n\n<p-overlayPanel #changeAccountMenu (onHide)=\"openedChangeAccountMenu = false\" (onShow)=\"openedChangeAccountMenu = true\">\n <ng-template pTemplate>\n <div\n *ngFor=\"let account of otherAccounts\"\n class=\"account-info change-account-info\"\n (click)=\"changeAccount(account)\"\n >\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>Banco: </span>\n <span class=\"account-info-value\">{{ account?.bank }}</span>\n </div>\n\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>AG: </span>\n <span class=\"account-info-value\">{{ account?.agency }}</span>\n </div>\n </div>\n <div class=\"account-info-row\">\n <div class=\"account-info-item\">\n <span>CC: </span>\n <span class=\"account-info-value\">{{ account?.accountNumber }}</span>\n </div>\n <span class=\"separator\"></span>\n <div class=\"account-info-item\">\n <span>{{ account?.accountType === 'CURRENT_ACCOUNT_PF' ? 'CPF' : 'CNPJ' }}: </span>\n <span class=\"account-info-value\"> {{ account?.documentFormatted }}</span>\n </div>\n </div>\n </div>\n <div>\n <hr />\n <p class=\"text-center add-account\" (click)=\"goToOnboarding()\">Adicionar uma nova conta</p>\n </div>\n </ng-template>\n</p-overlayPanel>\n", styles: [".fas{color:#fff}.top-bar-container{height:81px;background-color:var(--theme-light);display:flex;flex:1;align-items:center;padding:15px;color:#fff;font-size:1em;font-weight:600;box-shadow:2px 2px 4px #00000029}.top-bar-container .menu-toggle{cursor:pointer;margin-right:10px;padding:8px}.top-bar-container .menu-toggle .menu-icon{background:url(\"data:image/svg+xml,%3Csvg width%3D%2221%22 height%3D%2214%22 viewBox%3D%220 0 21 14%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M0 13.846H15V11.538H0V13.846ZM0 8.077H11.538V5.769H0V8.077ZM0 0V2.308H15V0H0ZM20.769 11.065L16.638 6.923L20.769 2.781L19.142 1.154L13.373 6.923L19.142 12.692L20.769 11.065Z%22 fill%3D%22white%22%2F%3E%3C%2Fsvg%3E\");background-repeat:no-repeat;background-size:cover;width:20.77px;height:13.85px}.top-bar-container .menu-toggle span{font-size:1.3em}.top-bar-container .left-items-container{display:flex;align-items:center;flex-direction:row}.top-bar-container .right-items-container{flex:1;display:flex;flex-direction:row;justify-content:flex-end;align-items:center}.top-bar-container .right-items-container .menu-container{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;cursor:pointer}.top-bar-container .right-items-container .menu-container .user-name{margin-right:15px}.separator{height:100%;margin-left:15px;margin-right:15px}.separator:after{content:\"\";height:100%;border-right:2px solid #ffffff}.account-info{display:flex;flex-direction:column;background-color:var(--theme-primary);border-radius:var(--border-radius);color:#fff;padding:5px;width:300px}.account-info .account-info-row{display:flex;flex-direction:row;align-items:center}.account-info .account-info-row .account-info-item{flex:1}.account-info .account-info-row .account-info-item:first-child{flex:.6}.account-info .account-info-row .account-info-item .account-info-value{font-weight:200}.account-info .change-account-mobile{font-size:.8em;align-items:center;display:flex}.account-info .change-account-mobile .change-account-mobile-label{margin-right:5px}.change-account-info{background-color:unset;cursor:pointer}.change-account-info:hover{background-color:var(--theme-primary)}.user-menu{padding:0;margin:0;list-style:none;color:#fff}.user-menu li{display:flex;flex-direction:row;align-items:center;padding:4px;font-weight:200;cursor:pointer;border-radius:var(--border-radius)}.user-menu li:hover{background-color:var(--theme-primary)}.user-menu li .user-menu-icon{width:28px;height:25px;background-repeat:no-repeat}.user-menu li .logout{background-image:url(\"data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%2217.687%22 height%3D%2217.686%22 viewBox%3D%220 0 17.687 17.686%22%3E %3Cg id%3D%22Grupo_8513%22 data-name%3D%22Grupo 8513%22 transform%3D%22translate(12.157)%22%3E %3Cg id%3D%22Grupo_1649%22 data-name%3D%22Grupo 1649%22%3E %3Cg id%3D%22exit-to-app%22%3E %3Cpath id%3D%22Caminho_706%22 data-name%3D%22Caminho 706%22 d%3D%22M1628.279%2C320.831l1.375%2C1.375%2C4.914-4.912-4.914-4.913-1.375%2C1.375%2C2.554%2C2.555H1621.3v1.965h9.531Zm8.745-12.381h-13.757a1.971%2C1.971%2C0%2C0%2C0-1.965%2C1.965v3.93h1.965v-3.93h13.757v13.756h-13.757v-3.93H1621.3v3.93a1.971%2C1.971%2C0%2C0%2C0%2C1.965%2C1.965h13.757a1.971%2C1.971%2C0%2C0%2C0%2C1.965-1.965V310.415A1.971%2C1.971%2C0%2C0%2C0%2C1637.024%2C308.45Z%22 transform%3D%22translate(-1633.459 -308.45)%22 fill%3D%22%23fff%22%2F%3E %3C%2Fg%3E %3C%2Fg%3E %3C%2Fg%3E%3C%2Fsvg%3E\");background-position-y:3px}.add-account{color:#fff;font-size:1.1em;padding:10px;margin:0;font-weight:400;letter-spacing:.25px;cursor:pointer}@media screen and (max-width: 441px){.hidden-items{display:none!important}}\n"] }]
|
|
3636
3673
|
}], ctorParameters: function () { return [{ type: MenuService }, { type: AuthService }, { type: i2$1.Router }, { type: ProfileService }]; }, propDecorators: { fintech: [{
|
|
3637
3674
|
type: Input
|
|
3638
3675
|
}], accountService: [{
|