keevo-components 2.0.59 → 2.0.60
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/esm2022/keevo-components.mjs +5 -0
- package/esm2022/lib/api/base-components/base-component-button.mjs +39 -0
- package/esm2022/lib/api/base-components/base-component-chart.mjs +104 -0
- package/esm2022/lib/api/base-components/base-component-crud-form.mjs +308 -0
- package/esm2022/lib/api/base-components/base-component-crud-list.mjs +91 -0
- package/esm2022/lib/api/base-components/base-component-crud.mjs +80 -0
- package/esm2022/lib/api/base-components/base-component-dropdown-external.mjs +31 -0
- package/esm2022/lib/api/base-components/base-component-dropdown.mjs +238 -0
- package/esm2022/lib/api/base-components/base-component-input.mjs +101 -0
- package/esm2022/lib/api/base-components/base-component-multi-select.mjs +174 -0
- package/esm2022/lib/api/base-components/base-component-table.mjs +354 -0
- package/esm2022/lib/api/base-components/base-component.mjs +51 -0
- package/esm2022/lib/api/components/chart/chart.config.mjs +2 -0
- package/esm2022/lib/api/components/chart/chart.model.mjs +2 -0
- package/esm2022/lib/api/components/chart/orchart.config.mjs +2 -0
- package/esm2022/lib/api/components/chart/orchartnode.mjs +2 -0
- package/esm2022/lib/api/components/dropdown/filtro.combo.mjs +2 -0
- package/esm2022/lib/api/components/step/step.model.mjs +2 -0
- package/esm2022/lib/api/components/stepper/kv-stepperpanel.mjs +2 -0
- package/esm2022/lib/api/components/table/action-item.mjs +2 -0
- package/esm2022/lib/api/components/table/kv-menuitem.mjs +46 -0
- package/esm2022/lib/api/components/table/table-dropdown-control.mjs +2 -0
- package/esm2022/lib/api/components/table/table.config.column.mjs +2 -0
- package/esm2022/lib/api/components/table/table.config.mjs +2 -0
- package/esm2022/lib/api/components/table/table.paginate.mjs +10 -0
- package/esm2022/lib/api/components/table/tabledit.config.mjs +2 -0
- package/esm2022/lib/api/components/table/tableedit.config.column.mjs +2 -0
- package/esm2022/lib/api/components/tree-table/tree-table-keys.mjs +2 -0
- package/esm2022/lib/api/components/tree-table/tree-table.config.mjs +3 -0
- package/esm2022/lib/api/directives/directives.module.mjs +30 -0
- package/esm2022/lib/api/directives/drag/drag.directive.mjs +52 -0
- package/esm2022/lib/api/directives/stepper/dynamicinput.directive.mjs +31 -0
- package/esm2022/lib/api/directives/template/template.directive.mjs +24 -0
- package/esm2022/lib/api/helpers/component-providers.mjs +16 -0
- package/esm2022/lib/api/helpers/keevo-validators.mjs +144 -0
- package/esm2022/lib/api/helpers/translate-primeng.mjs +23 -0
- package/esm2022/lib/api/modules/primeng.module.mjs +283 -0
- package/esm2022/lib/api/pipes/capitalize.pipe.mjs +47 -0
- package/esm2022/lib/api/pipes/cpfcnpj.pipe.mjs +25 -0
- package/esm2022/lib/api/pipes/mask.pipe.mjs +29 -0
- package/esm2022/lib/api/pipes/pipes.module.mjs +39 -0
- package/esm2022/lib/api/pipes/telefone.pipe.mjs +45 -0
- package/esm2022/lib/api/services/base.api.service.mjs +74 -0
- package/esm2022/lib/api/services/breadcrumbs.service.mjs +62 -0
- package/esm2022/lib/api/services/chat.service.mjs +37 -0
- package/esm2022/lib/api/services/component.service.mjs +37 -0
- package/esm2022/lib/api/services/docs.service.mjs +129 -0
- package/esm2022/lib/api/services/form.service.mjs +95 -0
- package/esm2022/lib/api/services/image.cutter.service.mjs +192 -0
- package/esm2022/lib/api/services/imagens.service.mjs +28 -0
- package/esm2022/lib/api/services/notification.service.mjs +69 -0
- package/esm2022/lib/api/services/object.service.mjs +39 -0
- package/esm2022/lib/api/services/orgchart.service.mjs +64 -0
- package/esm2022/lib/api/types/breadcrumb.model.mjs +2 -0
- package/esm2022/lib/components/keevo-components.module.mjs +228 -0
- package/esm2022/lib/components/kv-avatar/kv-avatar.component.mjs +136 -0
- package/esm2022/lib/components/kv-avatar/kv-avatar.module.mjs +55 -0
- package/esm2022/lib/components/kv-button/kv-button.component.mjs +51 -0
- package/esm2022/lib/components/kv-button/kv-button.module.mjs +28 -0
- package/esm2022/lib/components/kv-buttons/kv-button-personalize/kv-button-personalize.component.mjs +25 -0
- package/esm2022/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.mjs +39 -0
- package/esm2022/lib/components/kv-buttons/kv-button-secondary/kv-button-secondary.component.mjs +17 -0
- package/esm2022/lib/components/kv-buttons/kv-button-success/kv-button-success.component.mjs +17 -0
- package/esm2022/lib/components/kv-buttons/kv-button.module.mjs +39 -0
- package/esm2022/lib/components/kv-card-selection/kv-card-selection.component.mjs +60 -0
- package/esm2022/lib/components/kv-card-selection/kv-card-selection.module.mjs +31 -0
- package/esm2022/lib/components/kv-carousel/kv-carousel.component.mjs +34 -0
- package/esm2022/lib/components/kv-carousel/kv-carousel.module.mjs +28 -0
- package/esm2022/lib/components/kv-chart/kv-chart.component.mjs +166 -0
- package/esm2022/lib/components/kv-chart/kv-chart.module.mjs +32 -0
- package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.component.mjs +32 -0
- package/esm2022/lib/components/kv-confirmation-modal/kv-confirmation-modal.module.mjs +22 -0
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.component.mjs +185 -0
- package/esm2022/lib/components/kv-content-viewer/kv-content-viewer.module.mjs +44 -0
- package/esm2022/lib/components/kv-error/kv-error.component.mjs +26 -0
- package/esm2022/lib/components/kv-error/kv-error.module.mjs +35 -0
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.component.mjs +162 -0
- package/esm2022/lib/components/kv-file-upload/kv-file-upload.module.mjs +18 -0
- package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.component.mjs +46 -0
- package/esm2022/lib/components/kv-file-viewer/kv-file-viewer.module.mjs +20 -0
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.component.mjs +68 -0
- package/esm2022/lib/components/kv-file-viewer-novo/kv-file-viewer-novo.module.mjs +24 -0
- package/esm2022/lib/components/kv-filter-card/kv-filter-card.component.mjs +29 -0
- package/esm2022/lib/components/kv-filter-card/kv-filter-card.module.mjs +34 -0
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.component.mjs +56 -0
- package/esm2022/lib/components/kv-filter-cards/kv-filter-cards.module.mjs +29 -0
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.component.mjs +26 -0
- package/esm2022/lib/components/kv-filter-fieldset/kv-filter-fieldset.module.mjs +28 -0
- package/esm2022/lib/components/kv-g-icon/kv-g-icon.component.mjs +11 -0
- package/esm2022/lib/components/kv-g-icon/kv-g-icon.module.mjs +19 -0
- package/esm2022/lib/components/kv-home-card/kv-home-card.component.mjs +27 -0
- package/esm2022/lib/components/kv-home-card/kv-home-card.module.mjs +32 -0
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +136 -0
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.module.mjs +18 -0
- package/esm2022/lib/components/kv-inputs/kv-check/kv-check.component.mjs +29 -0
- package/esm2022/lib/components/kv-inputs/kv-dropdown/kv-dropdown.component.mjs +102 -0
- package/esm2022/lib/components/kv-inputs/kv-editor/kv-editor.component.mjs +181 -0
- package/esm2022/lib/components/kv-inputs/kv-input-calendar/kv-input-calendar.component.mjs +168 -0
- package/esm2022/lib/components/kv-inputs/kv-input-mask/kv-input-mask.component.mjs +30 -0
- package/esm2022/lib/components/kv-inputs/kv-input-number/kv-input-number.component.mjs +59 -0
- package/esm2022/lib/components/kv-inputs/kv-input-number-addon/kv-input-number-addon.component.mjs +66 -0
- package/esm2022/lib/components/kv-inputs/kv-input-password/kv-input-password.component.mjs +33 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text/kv-input-text.component.mjs +38 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text-addon/kv-input-text-addon.component.mjs +42 -0
- package/esm2022/lib/components/kv-inputs/kv-input-text-checkbox/kv-input-text-checkbox.component.mjs +50 -0
- package/esm2022/lib/components/kv-inputs/kv-input-textarea/kv-input-textarea.component.mjs +43 -0
- package/esm2022/lib/components/kv-inputs/kv-input-time/kv-input-time.component.mjs +24 -0
- package/esm2022/lib/components/kv-inputs/kv-inputs.module.mjs +141 -0
- package/esm2022/lib/components/kv-inputs/kv-multi-select/kv-multi-select.component.mjs +60 -0
- package/esm2022/lib/components/kv-inputs/kv-radio-group/kv-radio-group.component.mjs +60 -0
- package/esm2022/lib/components/kv-inputs/kv-select-button/kv-select-button.component.mjs +46 -0
- package/esm2022/lib/components/kv-inputs/kv-select-buttons/kv-select-buttons.component.mjs +37 -0
- package/esm2022/lib/components/kv-inputs/kv-switch/kv-switch.component.mjs +42 -0
- package/esm2022/lib/components/kv-inputs/kv-tree-multi-select/kv-tree-multi-select.component.mjs +58 -0
- package/esm2022/lib/components/kv-label/kv-label.component.mjs +15 -0
- package/esm2022/lib/components/kv-label/kv-label.module.mjs +24 -0
- package/esm2022/lib/components/kv-layout/dropdown-master/dropdown-master.component.mjs +28 -0
- package/esm2022/lib/components/kv-layout/kv-layout.module.mjs +72 -0
- package/esm2022/lib/components/kv-layout/layout/kv-layout.component.mjs +433 -0
- package/esm2022/lib/components/kv-layout/top-icons/top-icons.component.mjs +15 -0
- package/esm2022/lib/components/kv-loader/kv-loader.component.mjs +16 -0
- package/esm2022/lib/components/kv-loader/kv-loader.module.mjs +28 -0
- package/esm2022/lib/components/kv-loader/kv-loader.service.mjs +29 -0
- package/esm2022/lib/components/kv-login/kv-login.component.mjs +62 -0
- package/esm2022/lib/components/kv-login/kv-login.module.mjs +47 -0
- package/esm2022/lib/components/kv-modal/kv-modal.component.mjs +98 -0
- package/esm2022/lib/components/kv-modal/kv-modal.module.mjs +20 -0
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.component.mjs +225 -0
- package/esm2022/lib/components/kv-orgchart/kv-orgchart.module.mjs +59 -0
- package/esm2022/lib/components/kv-page-form/kv-page-form.component.mjs +215 -0
- package/esm2022/lib/components/kv-page-form/kv-page-form.module.mjs +41 -0
- package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.component.mjs +205 -0
- package/esm2022/lib/components/kv-page-stepper/kv-page-stepper.module.mjs +51 -0
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.component.mjs +386 -0
- package/esm2022/lib/components/kv-pick-list/kv-pick-list.module.mjs +39 -0
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.component.mjs +58 -0
- package/esm2022/lib/components/kv-progress-bar/kv-progress-bar.module.mjs +28 -0
- package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.component.mjs +62 -0
- package/esm2022/lib/components/kv-progress-bar-alternative/kv-progress-bar-alternative.module.mjs +28 -0
- package/esm2022/lib/components/kv-report/kv-report.component.mjs +44 -0
- package/esm2022/lib/components/kv-report/kv-report.module.mjs +24 -0
- package/esm2022/lib/components/kv-stepper/kv-stepper.component.mjs +74 -0
- package/esm2022/lib/components/kv-stepper/kv-stepper.module.mjs +47 -0
- package/esm2022/lib/components/kv-steps/kv-steps.component.mjs +105 -0
- package/esm2022/lib/components/kv-table/kv-table.component.mjs +673 -0
- package/esm2022/lib/components/kv-table/kv-table.module.mjs +40 -0
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.component.mjs +323 -0
- package/esm2022/lib/components/kv-table-edit/kv-table-edit.module.mjs +45 -0
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.component.mjs +516 -0
- package/esm2022/lib/components/kv-table-expandable/kv-table-expandable.module.mjs +40 -0
- package/esm2022/lib/components/kv-tag/kv-tag.component.mjs +18 -0
- package/esm2022/lib/components/kv-tag/kv-tag.module.mjs +24 -0
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.component.mjs +331 -0
- package/esm2022/lib/components/kv-tree-table/kv-tree-table.module.mjs +39 -0
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.component.mjs +70 -0
- package/esm2022/lib/components/kv-tree-view/kv-tree-view.module.mjs +28 -0
- package/esm2022/lib/components/kv-workspace/empresa/kv-workspace-empresa.component.mjs +40 -0
- package/esm2022/lib/components/kv-workspace/kv-workspace.module.mjs +68 -0
- package/esm2022/lib/components/kv-workspace/logo/kv-workspace-logo.component.mjs +22 -0
- package/esm2022/lib/components/kv-workspace/master/kv-workspace-master.component.mjs +78 -0
- package/esm2022/lib/components/kv-workspace/workspace/kv-workspace.component.mjs +87 -0
- package/esm2022/public-api.mjs +279 -0
- package/fesm2022/keevo-components.mjs +94 -10
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/keevo-components.module.d.ts +3 -2
- package/lib/components/kv-button/kv-button.component.d.ts +1 -1
- package/lib/components/kv-buttons/kv-button-popup/kv-button-popup.component.d.ts +1 -1
- package/lib/components/kv-filter-cards/kv-filter-cards.component.d.ts +24 -0
- package/lib/components/kv-filter-cards/kv-filter-cards.module.d.ts +8 -0
- package/lib/components/kv-table/kv-table.component.d.ts +1 -1
- package/lib/components/kv-table-expandable/kv-table-expandable.component.d.ts +1 -1
- package/lib/components/kv-tag/kv-tag.component.d.ts +1 -1
- package/package.json +3 -1
- package/public-api.d.ts +5 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { Component, Injectable, signal } from '@angular/core';
|
|
2
|
+
import { DialogModule } from 'primeng/dialog';
|
|
3
|
+
import { ImageCropperComponent } from 'ngx-image-cropper';
|
|
4
|
+
// ? Componente de modal usado no cutter
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import { KvLabelModule } from '../../components/kv-label/kv-label.module';
|
|
8
|
+
import { FormService } from './form.service';
|
|
9
|
+
import { KvModalModule } from '../../components/kv-modal/kv-modal.module';
|
|
10
|
+
import { KvButtonModule } from '../../components/kv-button/kv-button.module';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
13
|
+
import * as i2 from "../../components/kv-button/kv-button.component";
|
|
14
|
+
export class ImageCutterService {
|
|
15
|
+
constructor(dialogservice) {
|
|
16
|
+
this.dialogservice = dialogservice;
|
|
17
|
+
}
|
|
18
|
+
cut(imageBase64, width, height, indCircle = false, avatar, maintainAspectRatio = true) {
|
|
19
|
+
const cutConfig = { imageBase64, width, height, indCircle, maintainAspectRatio };
|
|
20
|
+
this.abrirModal(cutConfig, avatar);
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
window.addEventListener('cropImage', (event) => {
|
|
23
|
+
if (event.detail.status == true) {
|
|
24
|
+
resolve(event.detail.result);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
reject('Operacao cancelada.');
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
abrirModal(cutConfig, avatar) {
|
|
33
|
+
let quality = 100;
|
|
34
|
+
if (avatar) {
|
|
35
|
+
quality = 80;
|
|
36
|
+
}
|
|
37
|
+
const params = {
|
|
38
|
+
closable: true,
|
|
39
|
+
maximizable: false,
|
|
40
|
+
popup: true,
|
|
41
|
+
width: '75vw',
|
|
42
|
+
header: `Cortar`,
|
|
43
|
+
id: { imagem: cutConfig.imageBase64, width: cutConfig.width, height: cutConfig.height, indCircle: cutConfig.indCircle, quality: quality, maintainAspectRatio: cutConfig.maintainAspectRatio },
|
|
44
|
+
styleClass: 'modal',
|
|
45
|
+
};
|
|
46
|
+
const dialogRef = FormService.openDialog(this.dialogservice, SimpleComponent, () => { }, params);
|
|
47
|
+
}
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ImageCutterService, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
49
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ImageCutterService, providedIn: 'root' }); }
|
|
50
|
+
}
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ImageCutterService, decorators: [{
|
|
52
|
+
type: Injectable,
|
|
53
|
+
args: [{ providedIn: 'root' }]
|
|
54
|
+
}], ctorParameters: () => [{ type: i1.DialogService }] });
|
|
55
|
+
class SimpleComponent {
|
|
56
|
+
constructor(dynamicDialogRef, dialogService, dynamicDialogConfig) {
|
|
57
|
+
this.dynamicDialogRef = dynamicDialogRef;
|
|
58
|
+
this.dialogService = dialogService;
|
|
59
|
+
this.dynamicDialogConfig = dynamicDialogConfig;
|
|
60
|
+
this.imageChangedEvent = null;
|
|
61
|
+
this.croppedImage = '';
|
|
62
|
+
this.quality = this.dynamicDialogConfig.data.id.quality;
|
|
63
|
+
//#region Variáveis de controle
|
|
64
|
+
this._variaviesDialog = signal(null);
|
|
65
|
+
this.aspectRatio = signal(1 / 1);
|
|
66
|
+
}
|
|
67
|
+
fileChangeEvent(event) {
|
|
68
|
+
this.imageChangedEvent = event;
|
|
69
|
+
}
|
|
70
|
+
imageCropped(event) {
|
|
71
|
+
this.croppedImage = event.base64;
|
|
72
|
+
}
|
|
73
|
+
imageLoaded(image) { }
|
|
74
|
+
cropperReady() { }
|
|
75
|
+
loadImageFailed() { }
|
|
76
|
+
//#endregion
|
|
77
|
+
ngAfterContentInit() {
|
|
78
|
+
this.recuperarVariaviesDialog();
|
|
79
|
+
this.recuperaInstanciaDialog();
|
|
80
|
+
this.setAspectRatio();
|
|
81
|
+
}
|
|
82
|
+
setAspectRatio(width = this._variaviesDialog()?.width, height = this._variaviesDialog()?.height) {
|
|
83
|
+
const gcd = (a, b) => (b === 0 ? a : gcd(b, a % b));
|
|
84
|
+
const divisor = gcd(width, height);
|
|
85
|
+
const aspectWidth = width / divisor;
|
|
86
|
+
const aspectHeight = height / divisor;
|
|
87
|
+
this.aspectRatio.set(aspectWidth / aspectHeight);
|
|
88
|
+
}
|
|
89
|
+
//#region Métodos de recuperação de dados
|
|
90
|
+
recuperaInstanciaDialog() {
|
|
91
|
+
const arr = this.dialogService.dialogComponentRefMap;
|
|
92
|
+
const entries = arr.entries();
|
|
93
|
+
const firstEntry = entries.next().value;
|
|
94
|
+
const [firstKey, firstValue] = firstEntry;
|
|
95
|
+
const instance = this.dialogService.getInstance(firstKey);
|
|
96
|
+
this.dialogInstance = instance;
|
|
97
|
+
return instance;
|
|
98
|
+
}
|
|
99
|
+
recuperarVariaviesDialog() {
|
|
100
|
+
this._variaviesDialog.set(this.recuperaInstanciaDialog().data.id);
|
|
101
|
+
console.log(this._variaviesDialog());
|
|
102
|
+
}
|
|
103
|
+
//#endregion
|
|
104
|
+
//#region Métodos de corte e fechamento do modal
|
|
105
|
+
cropImage() {
|
|
106
|
+
window.dispatchEvent(new CustomEvent('cropImage', { detail: {
|
|
107
|
+
result: this.croppedImage,
|
|
108
|
+
status: true
|
|
109
|
+
} }));
|
|
110
|
+
this.closeCropModal();
|
|
111
|
+
}
|
|
112
|
+
closeCropModal() {
|
|
113
|
+
this.dialogInstance.close();
|
|
114
|
+
}
|
|
115
|
+
cancel() {
|
|
116
|
+
window.dispatchEvent(new CustomEvent('cropImage', { detail: {
|
|
117
|
+
result: Promise.resolve('cancel'),
|
|
118
|
+
status: false
|
|
119
|
+
} }));
|
|
120
|
+
this.closeCropModal();
|
|
121
|
+
}
|
|
122
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: SimpleComponent, deps: [{ token: i1.DynamicDialogRef }, { token: i1.DialogService }, { token: i1.DynamicDialogConfig }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: SimpleComponent, isStandalone: true, selector: "app-simple-component", ngImport: i0, template: `
|
|
124
|
+
<div class="modal-content">
|
|
125
|
+
|
|
126
|
+
<image-cropper
|
|
127
|
+
[imageBase64]="_variaviesDialog()?.imagem"
|
|
128
|
+
(imageCropped)="imageCropped($event)"
|
|
129
|
+
[aspectRatio]="aspectRatio()"
|
|
130
|
+
(imageLoaded)="imageLoaded($event)"
|
|
131
|
+
(cropperReady)="cropperReady()"
|
|
132
|
+
(loadImageFailed)="loadImageFailed()"
|
|
133
|
+
[roundCropper]="this._variaviesDialog()?.indCircle"
|
|
134
|
+
[maintainAspectRatio]="_variaviesDialog()?.maintainAspectRatio"
|
|
135
|
+
[imageQuality]="quality"
|
|
136
|
+
format="jpeg"
|
|
137
|
+
output='base64'
|
|
138
|
+
alignImage="center"
|
|
139
|
+
/>
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
</div>
|
|
143
|
+
<div class="button-container">
|
|
144
|
+
<kv-button label="Cancelar" severity="tertiary" icon="close" (click)="cancel()"></kv-button>
|
|
145
|
+
<kv-button label="Recortar" severity="primary" icon="crop" (click)="cropImage()" class="ml-2"></kv-button>
|
|
146
|
+
</div>
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
`, isInline: true, styles: ["img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.botao-alterar-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-alterar-foto i{color:#fff}.botao-excluir-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal-content{height:60vh;position:relative;background-color:#fefefe;margin:1% auto;padding:20px;width:80%;max-width:fit-content;text-align:center;border-radius:12px;display:flex;align-items:center;justify-content:center}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid #d1d5db;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px dashed #9ca3af;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px;position:fixed;bottom:0;background:#fff;width:90%;padding:15px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: KvModalModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: KvButtonModule }, { kind: "component", type: i2.KvButtonComponent, selector: "kv-button", inputs: ["fullWidth", "type", "loading", "severity", "size", "icon", "iconPosition", "label", "disabled", "items", "popup"], outputs: ["iconChange", "onClick"] }, { kind: "ngmodule", type: KvLabelModule }, { kind: "component", type: ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "options", "cropperFrameAriaLabel", "output", "format", "autoCrop", "cropper", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "checkImageType", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange", "cropperChange"] }] }); }
|
|
151
|
+
}
|
|
152
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: SimpleComponent, decorators: [{
|
|
153
|
+
type: Component,
|
|
154
|
+
args: [{ selector: 'app-simple-component', template: `
|
|
155
|
+
<div class="modal-content">
|
|
156
|
+
|
|
157
|
+
<image-cropper
|
|
158
|
+
[imageBase64]="_variaviesDialog()?.imagem"
|
|
159
|
+
(imageCropped)="imageCropped($event)"
|
|
160
|
+
[aspectRatio]="aspectRatio()"
|
|
161
|
+
(imageLoaded)="imageLoaded($event)"
|
|
162
|
+
(cropperReady)="cropperReady()"
|
|
163
|
+
(loadImageFailed)="loadImageFailed()"
|
|
164
|
+
[roundCropper]="this._variaviesDialog()?.indCircle"
|
|
165
|
+
[maintainAspectRatio]="_variaviesDialog()?.maintainAspectRatio"
|
|
166
|
+
[imageQuality]="quality"
|
|
167
|
+
format="jpeg"
|
|
168
|
+
output='base64'
|
|
169
|
+
alignImage="center"
|
|
170
|
+
/>
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
</div>
|
|
174
|
+
<div class="button-container">
|
|
175
|
+
<kv-button label="Cancelar" severity="tertiary" icon="close" (click)="cancel()"></kv-button>
|
|
176
|
+
<kv-button label="Recortar" severity="primary" icon="crop" (click)="cropImage()" class="ml-2"></kv-button>
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
`, standalone: true, imports: [
|
|
182
|
+
CommonModule,
|
|
183
|
+
DialogModule,
|
|
184
|
+
KvModalModule,
|
|
185
|
+
FormsModule,
|
|
186
|
+
ReactiveFormsModule,
|
|
187
|
+
KvButtonModule,
|
|
188
|
+
KvLabelModule,
|
|
189
|
+
ImageCropperComponent
|
|
190
|
+
], styles: ["img{border-style:solid;border-width:2px;border-radius:50%;object-fit:cover}i{font-size:22px}.botao-alterar-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-alterar-foto i{color:#fff}.botao-excluir-foto{border-style:none;width:max-content;background-color:#002542;color:#000;font-weight:700;cursor:pointer;padding:7px 9px}.botao-excluir-foto i{color:#fff}.btn{position:absolute;top:87%;left:87%;transform:translate(-50%,-50%)}.image-container{display:inline-block;position:relative}.modal-content{height:60vh;position:relative;background-color:#fefefe;margin:1% auto;padding:20px;width:80%;max-width:fit-content;text-align:center;border-radius:12px;display:flex;align-items:center;justify-content:center}.crop-container{display:flex;justify-content:center;align-items:center}.crop-canvas{border:1px solid #d1d5db;border-radius:12px;width:100%;height:auto}.crop-border{position:absolute;border:2px dashed #9ca3af;pointer-events:none}.zoom-container{padding-top:20px;padding-bottom:20px}.button-container{display:flex;align-items:center;justify-content:flex-end;flex-direction:row;margin-top:24px;position:fixed;bottom:0;background:#fff;width:90%;padding:15px}\n"] }]
|
|
191
|
+
}], ctorParameters: () => [{ type: i1.DynamicDialogRef }, { type: i1.DialogService }, { type: i1.DynamicDialogConfig }] });
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY3V0dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rZWV2by1jb21wb25lbnRzL3NyYy9saWIvYXBpL3NlcnZpY2VzL2ltYWdlLmN1dHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBcUIscUJBQXFCLEVBQWUsTUFBTSxtQkFBbUIsQ0FBQztBQXlDMUYsd0NBQXdDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0FBNUM3RSxNQUFNLE9BQU8sa0JBQWtCO0lBRTdCLFlBQTZCLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQUcsQ0FBQztJQUU3RCxHQUFHLENBQUMsV0FBbUIsRUFBRSxLQUFhLEVBQUUsTUFBYyxFQUFFLFlBQXFCLEtBQUssRUFBRSxNQUFnQixFQUFFLHNCQUErQixJQUFJO1FBQ3ZJLE1BQU0sU0FBUyxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLENBQUM7UUFDakYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxT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QUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLHFCQUFxQjtxQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudFJlZiwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UsIER5bmFtaWNEaWFsb2dDb21wb25lbnQsIER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XHJcbmltcG9ydCB7IEltYWdlQ3JvcHBlZEV2ZW50LCBJbWFnZUNyb3BwZXJDb21wb25lbnQsIExvYWRlZEltYWdlIH0gZnJvbSAnbmd4LWltYWdlLWNyb3BwZXInO1xyXG5cclxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUN1dHRlclNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRpYWxvZ3NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHt9XHJcblxyXG4gIGN1dChpbWFnZUJhc2U2NDogc3RyaW5nLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgaW5kQ2lyY2xlOiBib29sZWFuID0gZmFsc2UsIGF2YXRhcj86IGJvb2xlYW4sIG1haW50YWluQXNwZWN0UmF0aW86IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIGNvbnN0IGN1dENvbmZpZyA9IHsgaW1hZ2VCYXNlNjQsIHdpZHRoLCBoZWlnaHQsIGluZENpcmNsZSwgbWFpbnRhaW5Bc3BlY3RSYXRpbyB9O1xyXG4gICAgdGhpcy5hYnJpck1vZGFsKGN1dENvbmZpZywgYXZhdGFyKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2Nyb3BJbWFnZScsIChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYoZXZlbnQuZGV0YWlsLnN0YXR1cyA9PSB0cnVlICkge1xyXG4gICAgICAgICAgcmVzb2x2ZShldmVudC5kZXRhaWwucmVzdWx0KTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHJlamVjdCgnT3BlcmFjYW8gY2FuY2VsYWRhLicpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFicmlyTW9kYWwoY3V0Q29uZmlnOiB7IGltYWdlQmFzZTY0OiBzdHJpbmcsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyLCBpbmRDaXJjbGU6IGJvb2xlYW4sIG1haW50YWluQXNwZWN0UmF0aW86IGJvb2xlYW59LCBhdmF0YXI/OiBib29sZWFuKSB7XHJcbiAgICBsZXQgcXVhbGl0eSA9IDEwMFxyXG4gICAgaWYoYXZhdGFyKSB7XHJcbiAgICAgIHF1YWxpdHkgPSA4MFxyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyYW1zID0gICAgICAge1xyXG4gICAgICBjbG9zYWJsZTogdHJ1ZSxcclxuICAgICAgbWF4aW1pemFibGU6IGZhbHNlLFxyXG4gICAgICBwb3B1cDogdHJ1ZSxcclxuICAgICAgd2lkdGg6ICc3NXZ3JyxcclxuICAgICAgaGVhZGVyOiBgQ29ydGFyYCAsXHJcbiAgICAgIGlkOiB7IGltYWdlbTogY3V0Q29uZmlnLmltYWdlQmFzZTY0LCB3aWR0aDogY3V0Q29uZmlnLndpZHRoLCBoZWlnaHQ6IGN1dENvbmZpZy5oZWlnaHQsIGluZENpcmNsZTogY3V0Q29uZmlnLmluZENpcmNsZSwgcXVhbGl0eTogcXVhbGl0eSwgbWFpbnRhaW5Bc3BlY3RSYXRpbzogY3V0Q29uZmlnLm1haW50YWluQXNwZWN0UmF0aW8gfSxcclxuICAgICAgc3R5bGVDbGFzczogJ21vZGFsJyxcclxuICAgIH1cclxuICAgIGNvbnN0IGRpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZiA9IEZvcm1TZXJ2aWNlLm9wZW5EaWFsb2codGhpcy5kaWFsb2dzZXJ2aWNlLCBTaW1wbGVDb21wb25lbnQsICgpPT57fSwgcGFyYW1zKTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLy8gPyBDb21wb25lbnRlIGRlIG1vZGFsIHVzYWRvIG5vIGN1dHRlclxyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgS3ZMYWJlbE1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMva3YtbGFiZWwva3YtbGFiZWwubW9kdWxlJztcclxuaW1wb3J0IHsgRm9ybVNlcnZpY2UgfSBmcm9tICcuL2Zvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IEt2TW9kYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2t2LW1vZGFsL2t2LW1vZGFsLm1vZHVsZSc7XHJcbmltcG9ydCB7IEt2QnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9rdi1idXR0b24va3YtYnV0dG9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2ltcGxlLWNvbXBvbmVudCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cclxuXHJcbiAgICAgICAgICA8aW1hZ2UtY3JvcHBlclxyXG4gICAgICAgICAgICBbaW1hZ2VCYXNlNjRdPVwiX3Zhcmlhdmllc0RpYWxvZygpPy5pbWFnZW1cIlxyXG4gICAgICAgICAgICAoaW1hZ2VDcm9wcGVkKT1cImltYWdlQ3JvcHBlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2FzcGVjdFJhdGlvXT1cImFzcGVjdFJhdGlvKClcIlxyXG4gICAgICAgICAgICAoaW1hZ2VMb2FkZWQpPVwiaW1hZ2VMb2FkZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIChjcm9wcGVyUmVhZHkpPVwiY3JvcHBlclJlYWR5KClcIlxyXG4gICAgICAgICAgICAobG9hZEltYWdlRmFpbGVkKT1cImxvYWRJbWFnZUZhaWxlZCgpXCJcclxuICAgICAgICAgICAgW3JvdW5kQ3JvcHBlcl09XCJ0aGlzLl92YXJpYXZpZXNEaWFsb2coKT8uaW5kQ2lyY2xlXCJcclxuICAgICAgICAgICAgW21haW50YWluQXNwZWN0UmF0aW9dPVwiX3Zhcmlhdmllc0RpYWxvZygpPy5tYWludGFpbkFzcGVjdFJhdGlvXCJcclxuICAgICAgICAgICAgW2ltYWdlUXVhbGl0eV09XCJxdWFsaXR5XCJcclxuICAgICAgICAgICAgZm9ybWF0PVwianBlZ1wiXHJcbiAgICAgICAgICAgIG91dHB1dD0nYmFzZTY0J1xyXG4gICAgICAgICAgICBhbGlnbkltYWdlPVwiY2VudGVyXCJcclxuICAgICAgICAgIC8+XHJcblxyXG4gICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIj5cclxuICAgICAgICAgIDxrdi1idXR0b24gbGFiZWw9XCJDYW5jZWxhclwiIHNldmVyaXR5PVwidGVydGlhcnlcIiBpY29uPVwiY2xvc2VcIiAoY2xpY2spPVwiY2FuY2VsKClcIj48L2t2LWJ1dHRvbj5cclxuICAgICAgICAgIDxrdi1idXR0b24gbGFiZWw9XCJSZWNvcnRhclwiIHNldmVyaXR5PVwicHJpbWFyeVwiIGljb249XCJjcm9wXCIgKGNsaWNrKT1cImNyb3BJbWFnZSgpXCIgY2xhc3M9XCJtbC0yXCI+PC9rdi1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuXHJcbiAgYCxcclxuICBzdHlsZXM6IFtgXHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGkge1xyXG4gICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5ib3Rhby1hbHRlcmFyLWZvdG8ge1xyXG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMjU0MjtcclxuICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBwYWRkaW5nOiA3cHggOXB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuYm90YW8tYWx0ZXJhci1mb3RvIGkge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmJvdGFvLWV4Y2x1aXItZm90byB7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcclxuICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyNTQyO1xyXG4gICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDdweCA5cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5ib3Rhby1leGNsdWlyLWZvdG8gaSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuYnRuIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDg3JTtcclxuICAgICAgbGVmdDogODclO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmltYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgIGhlaWdodDogNjB2aDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xyXG4gICAgICBtYXJnaW46IDElIGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jcm9wLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY3JvcC1jYW52YXMge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDFkNWRiO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuY3JvcC1ib3JkZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjOWNhM2FmO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnpvb20tY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG4gICAgXHJcbiAgICAgIGBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRGlhbG9nTW9kdWxlLFxyXG4gICAgS3ZNb2RhbE1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEt2QnV0dG9uTW9kdWxlLFxyXG4gICAgS3ZMYWJlbE1vZHVsZSxcclxuICAgIEltYWdlQ3JvcHBlckNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuXHJcbmNsYXNzIFNpbXBsZUNvbXBvbmVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZHluYW1pY0RpYWxvZ1JlZjogRHluYW1pY0RpYWxvZ1JlZiwgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlOiBEaWFsb2dTZXJ2aWNlLCBwcml2YXRlIGR5bmFtaWNEaWFsb2dDb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcpIHt9XHJcbiAgaW1hZ2VDaGFuZ2VkRXZlbnQ6IEV2ZW50IHwgbnVsbCA9IG51bGw7XHJcbiAgY3JvcHBlZEltYWdlOiBTYWZlVXJsICA9ICcnO1xyXG4gIFxyXG4gIHF1YWxpdHk6IG51bWJlciA9IHRoaXMuZHluYW1pY0RpYWxvZ0NvbmZpZy5kYXRhLmlkLnF1YWxpdHk7XHJcbiAgICBcclxuICAgIGZpbGVDaGFuZ2VFdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgICAgdGhpcy5pbWFnZUNoYW5nZWRFdmVudCA9IGV2ZW50O1xyXG4gICAgfVxyXG4gICAgaW1hZ2VDcm9wcGVkKGV2ZW50OiBJbWFnZUNyb3BwZWRFdmVudCkge1xyXG4gICAgICB0aGlzLmNyb3BwZWRJbWFnZSA9IGV2ZW50LmJhc2U2NCE7XHJcbiAgICB9XHJcbiAgICBpbWFnZUxvYWRlZChpbWFnZTogTG9hZGVkSW1hZ2UpIHt9XHJcbiAgICBjcm9wcGVyUmVhZHkoKSB7fVxyXG4gICAgbG9hZEltYWdlRmFpbGVkKCkge31cclxuXHJcblxyXG5cclxuICAvLyNyZWdpb24gVmFyacOhdmVpcyBkZSBjb250cm9sZVxyXG4gICAgX3Zhcmlhdmllc0RpYWxvZyA9IHNpZ25hbDx7IGltYWdlbTogc3RyaW5nLCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgaW5kQ2lyY2xlOiBib29sZWFuLCBtYWludGFpbkFzcGVjdFJhdGlvOmJvb2xlYW4gfXxudWxsPihudWxsKVxyXG4gICAgcHJpdmF0ZSBkaWFsb2dJbnN0YW5jZSE6RHluYW1pY0RpYWxvZ0NvbXBvbmVudDtcclxuICAgIGFzcGVjdFJhdGlvID0gc2lnbmFsPGFueT4oMS8xKVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWN1cGVyYXJWYXJpYXZpZXNEaWFsb2coKVxyXG4gICAgdGhpcy5yZWN1cGVyYUluc3RhbmNpYURpYWxvZygpXHJcbiAgICB0aGlzLnNldEFzcGVjdFJhdGlvKClcclxuICB9XHJcblxyXG5cclxuXHJcbiAgc2V0QXNwZWN0UmF0aW8od2lkdGg6IG51bWJlciA9IHRoaXMuX3Zhcmlhdmllc0RpYWxvZygpPy53aWR0aCEsIGhlaWdodDogbnVtYmVyID0gdGhpcy5fdmFyaWF2aWVzRGlhbG9nKCk/LmhlaWdodCEpIHtcclxuICAgIGNvbnN0IGdjZCA9IChhOiBudW1iZXIsIGI6IG51bWJlcik6IG51bWJlciA9PiAoYiA9PT0gMCA/IGEgOiBnY2QoYiwgYSAlIGIpKTtcclxuICAgIGNvbnN0IGRpdmlzb3IgPSBnY2Qod2lkdGgsIGhlaWdodCk7XHJcbiAgICBjb25zdCBhc3BlY3RXaWR0aCA9IHdpZHRoIC8gZGl2aXNvcjtcclxuICAgIGNvbnN0IGFzcGVjdEhlaWdodCA9IGhlaWdodCAvIGRpdmlzb3I7XHJcbiAgICB0aGlzLmFzcGVjdFJhdGlvLnNldChhc3BlY3RXaWR0aC9hc3BlY3RIZWlnaHQpXHJcblxyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIE3DqXRvZG9zIGRlIHJlY3VwZXJhw6fDo28gZGUgZGFkb3NcclxuICByZWN1cGVyYUluc3RhbmNpYURpYWxvZygpOiBEeW5hbWljRGlhbG9nQ29tcG9uZW50IHtcclxuICAgIGNvbnN0IGFycjogTWFwPER5bmFtaWNEaWFsb2dSZWY8YW55PiwgQ29tcG9uZW50UmVmPGFueT4+ID0gdGhpcy5kaWFsb2dTZXJ2aWNlLmRpYWxvZ0NvbXBvbmVudFJlZk1hcFxyXG4gICAgY29uc3QgZW50cmllcyA9IGFyci5lbnRyaWVzKCk7XHJcbiAgICBjb25zdCBmaXJzdEVudHJ5ID0gZW50cmllcy5uZXh0KCkudmFsdWU7XHJcbiAgICBjb25zdCBbZmlyc3RLZXksIGZpcnN0VmFsdWVdID0gZmlyc3RFbnRyeSE7XHJcbiAgICBjb25zdCBpbnN0YW5jZSA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXRJbnN0YW5jZShmaXJzdEtleSlcclxuICAgIHRoaXMuZGlhbG9nSW5zdGFuY2UgPSBpbnN0YW5jZVxyXG4gICAgcmV0dXJuIGluc3RhbmNlXHJcbiAgfVxyXG5cclxuICByZWN1cGVyYXJWYXJpYXZpZXNEaWFsb2coKTogdm9pZHtcclxuICAgIHRoaXMuX3Zhcmlhdmllc0RpYWxvZy5zZXQodGhpcy5yZWN1cGVyYUluc3RhbmNpYURpYWxvZygpLmRhdGEuaWQpXHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLl92YXJpYXZpZXNEaWFsb2coKSlcclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG5cclxuICAvLyNyZWdpb24gTcOpdG9kb3MgZGUgY29ydGUgZSBmZWNoYW1lbnRvIGRvIG1vZGFsXHJcbiAgY3JvcEltYWdlKCkge1xyXG4gICAgICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCdjcm9wSW1hZ2UnLCB7IGRldGFpbDoge1xyXG4gICAgICAgICAgICByZXN1bHQ6IHRoaXMuY3JvcHBlZEltYWdlLFxyXG4gICAgICAgICAgICBzdGF0dXM6IHRydWVcclxuICAgICAgICAgIH0gfSkpO1xyXG4gICAgICAgICAgdGhpcy5jbG9zZUNyb3BNb2RhbCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VDcm9wTW9kYWwoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ0luc3RhbmNlLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKXtcclxuICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnY3JvcEltYWdlJywgeyBkZXRhaWw6e1xyXG4gICAgICByZXN1bHQ6IFByb21pc2UucmVzb2x2ZSgnY2FuY2VsJyksXHJcbiAgICAgIHN0YXR1czogZmFsc2VcclxuICAgIH0gfSkpO1xyXG5cclxuICAgIHRoaXMuY2xvc2VDcm9wTW9kYWwoKVxyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbn1cclxuIl19
|