keevo-components 1.8.93 → 1.8.95
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/lib/components/kv-carousel/kv-carousel.component.mjs +11 -79
- package/esm2022/lib/components/kv-image-upload/kv-image-upload.component.mjs +6 -3
- package/fesm2022/keevo-components.mjs +28 -92
- package/fesm2022/keevo-components.mjs.map +1 -1
- package/lib/components/kv-carousel/kv-carousel.component.d.ts +5 -11
- package/lib/components/kv-image-upload/kv-image-upload.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,95 +1,27 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
4
|
-
import * as i2 from "primeng/
|
|
5
|
-
import * as i3 from "primeng/carousel";
|
|
6
|
-
import * as i4 from "primeng/skeleton";
|
|
3
|
+
import * as i1 from "primeng/api";
|
|
4
|
+
import * as i2 from "primeng/carousel";
|
|
7
5
|
export class KvCarouselComponent {
|
|
8
6
|
constructor() {
|
|
9
7
|
this.carouselData = [];
|
|
10
|
-
this.exibirCarousel = false;
|
|
11
|
-
}
|
|
12
|
-
ngOnInit() {
|
|
13
|
-
this.tamanhoTela = window.innerWidth;
|
|
14
|
-
this.listarCarousel();
|
|
15
|
-
this.ImageSizeTake();
|
|
16
|
-
}
|
|
17
|
-
onWindowResize() {
|
|
18
|
-
this.tamanhoTela = window.innerWidth;
|
|
19
|
-
this.ImageSizeTake();
|
|
20
8
|
}
|
|
21
9
|
navigateToLink(link) {
|
|
22
10
|
window.open(link, '_blank');
|
|
23
11
|
}
|
|
24
|
-
|
|
25
|
-
let
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (isNaN(imageWidth))
|
|
30
|
-
imageWidth = imageWidthskeleton;
|
|
31
|
-
if (this.tamanhoTela < 1200)
|
|
32
|
-
this.imageHeight = `${imageWidth / 3}px`;
|
|
33
|
-
else
|
|
34
|
-
this.imageHeight = '200px';
|
|
35
|
-
}
|
|
36
|
-
listarCarousel() {
|
|
37
|
-
this.validarCarousel(this.carouselData);
|
|
38
|
-
this.ImageSizeTake();
|
|
39
|
-
this.exibirCarousel = true;
|
|
40
|
-
// this.bannerServico.Selecionar(this.usuarioLogadoServico.GetUsuarioLogado().codCliente).subscribe({
|
|
41
|
-
// next: (res: any) => {
|
|
42
|
-
// this.validarCarousel(res);
|
|
43
|
-
// },
|
|
44
|
-
// error: (error) => {},
|
|
45
|
-
// complete: () => {
|
|
46
|
-
// this.ImageSizeTake();
|
|
47
|
-
// this.exibirCarousel = true;
|
|
48
|
-
// }
|
|
49
|
-
// })
|
|
50
|
-
}
|
|
51
|
-
validarCarousel(res) {
|
|
52
|
-
const isValidBanner = (banner, dataExpiracao) => {
|
|
53
|
-
return banner != null && (new Date(dataExpiracao) > new Date() || dataExpiracao == null);
|
|
54
|
-
};
|
|
55
|
-
const getObjectUrl = (base64content) => {
|
|
56
|
-
return URL.createObjectURL(getBlobFrom(base64content));
|
|
57
|
-
};
|
|
58
|
-
const getBlobFrom = (base64content) => {
|
|
59
|
-
const binary = atob(base64content);
|
|
60
|
-
const bytenumbers = new Uint8Array(binary.length);
|
|
61
|
-
for (let i = 0; i < binary.length; i++) {
|
|
62
|
-
bytenumbers[i] = binary.charCodeAt(i);
|
|
63
|
-
}
|
|
64
|
-
return new Blob([bytenumbers]);
|
|
65
|
-
};
|
|
66
|
-
let bannersValidos = [
|
|
67
|
-
{ banner: res?.arquivobanner1, dataExpiracao: res?.dataexpiracaobanner1 },
|
|
68
|
-
{ banner: res?.arquivobanner2, dataExpiracao: res?.dataexpiracaobanner2 },
|
|
69
|
-
{ banner: res?.arquivobanner3, dataExpiracao: res?.dataexpiracaobanner3 },
|
|
70
|
-
{ banner: res?.arquivobanner4, dataExpiracao: res?.dataexpiracaobanner4 }
|
|
71
|
-
];
|
|
72
|
-
bannersValidos.forEach((bannerInfo) => {
|
|
73
|
-
if (isValidBanner(bannerInfo.banner, bannerInfo.dataExpiracao)) {
|
|
74
|
-
let img = { img: getObjectUrl(bannerInfo.banner) };
|
|
75
|
-
this.carouselData.push(img);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
// let imgfixa: any = { img: 'https://work-assets.keevo.com.br/img/keex/banner_fixo_KeeX.png' };
|
|
79
|
-
// this.carouselData.unshift(imgfixa);
|
|
12
|
+
getCarouselHeight() {
|
|
13
|
+
let divCarouselHeight = document.getElementById('carousel')?.offsetHeight;
|
|
14
|
+
console.log(divCarouselHeight, 'divCarouselHeight');
|
|
15
|
+
if (divCarouselHeight)
|
|
16
|
+
this.heightCarousel = divCarouselHeight;
|
|
80
17
|
}
|
|
81
18
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
82
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvCarouselComponent, selector: "kv-carousel", inputs: { carouselData: "carouselData"
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.8", type: KvCarouselComponent, selector: "kv-carousel", inputs: { carouselData: "carouselData" }, ngImport: i0, template: "<p-carousel id=\"carousel\" [value]=\"carouselData\" [indicatorStyleClass]=\"'carousel-indicator'\" [autoplayInterval]=\"5000\" \r\n [showIndicators]=\"true\" [showNavigators]=\"false\" [numVisible]=\"1\" [numScroll]=\"1\" [circular]=\"true\" styleClass=\"h-full\">\r\n>\r\n <ng-template pTemplate=\"item\" let-banner class=\"justify-content-center align-items-center \">\r\n <img [src]=\"banner.img\" class=\"w-full border-round\" [style.height.px]=\"heightCarousel\"\r\n (click)=\"navigateToLink(banner.link)\">\r\n </ng-template>\r\n</p-carousel>\r\n\r\n{{getCarouselHeight()}}", styles: ["::ng-deep .p-carousel-indicators{position:absolute;left:50%;transform:translate(-50%);bottom:-1rem}::ng-deep .carousel-indicator{width:15px!important;height:4px!important;margin:-3px!important;padding:0!important;background-color:#eeeeeed0}::ng-deep .carousel-indicator:hover{background-color:#efefef}button.p-carousel-indicator.p-link{background-color:#f0f8ff!important}::ng-deep .p-carousel .p-carousel-content{overflow:hidden!important;position:relative}::ng-deep .border-round{border-radius:20px!important}\n"], dependencies: [{ kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i2.Carousel, selector: "p-carousel", inputs: ["page", "numVisible", "numScroll", "responsiveOptions", "orientation", "verticalViewPortHeight", "contentClass", "indicatorsContentClass", "indicatorsContentStyle", "indicatorStyleClass", "indicatorStyle", "value", "circular", "showIndicators", "showNavigators", "autoplayInterval", "style", "styleClass"], outputs: ["onPage"] }] }); }
|
|
83
20
|
}
|
|
84
21
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvCarouselComponent, decorators: [{
|
|
85
22
|
type: Component,
|
|
86
|
-
args: [{ selector: 'kv-carousel', template: "<p-carousel\
|
|
23
|
+
args: [{ selector: 'kv-carousel', template: "<p-carousel id=\"carousel\" [value]=\"carouselData\" [indicatorStyleClass]=\"'carousel-indicator'\" [autoplayInterval]=\"5000\" \r\n [showIndicators]=\"true\" [showNavigators]=\"false\" [numVisible]=\"1\" [numScroll]=\"1\" [circular]=\"true\" styleClass=\"h-full\">\r\n>\r\n <ng-template pTemplate=\"item\" let-banner class=\"justify-content-center align-items-center \">\r\n <img [src]=\"banner.img\" class=\"w-full border-round\" [style.height.px]=\"heightCarousel\"\r\n (click)=\"navigateToLink(banner.link)\">\r\n </ng-template>\r\n</p-carousel>\r\n\r\n{{getCarouselHeight()}}", styles: ["::ng-deep .p-carousel-indicators{position:absolute;left:50%;transform:translate(-50%);bottom:-1rem}::ng-deep .carousel-indicator{width:15px!important;height:4px!important;margin:-3px!important;padding:0!important;background-color:#eeeeeed0}::ng-deep .carousel-indicator:hover{background-color:#efefef}button.p-carousel-indicator.p-link{background-color:#f0f8ff!important}::ng-deep .p-carousel .p-carousel-content{overflow:hidden!important;position:relative}::ng-deep .border-round{border-radius:20px!important}\n"] }]
|
|
87
24
|
}], ctorParameters: () => [], propDecorators: { carouselData: [{
|
|
88
25
|
type: Input
|
|
89
|
-
}], exibirCarousel: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], onWindowResize: [{
|
|
92
|
-
type: HostListener,
|
|
93
|
-
args: ['window:resize', ['$event']]
|
|
94
26
|
}] } });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtY2Fyb3VzZWwva3YtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUFJOUI7UUFGUyxpQkFBWSxHQUFVLEVBQUUsQ0FBQztJQUVsQixDQUFDO0lBRWpCLGNBQWMsQ0FBQyxJQUFZO1FBQ3pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFLRCxpQkFBaUI7UUFDZixJQUFJLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFDO1FBRTFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQTtRQUVuRCxJQUFJLGlCQUFpQjtZQUNuQixJQUFJLENBQUMsY0FBYyxHQUFHLGlCQUFpQixDQUFDO0lBQzVDLENBQUM7OEdBcEJVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDZGQ1BoQyxrbEJBU3VCOzsyRkRGVixtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTt3REFNZCxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAna3YtY2Fyb3VzZWwnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1jYXJvdXNlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4va3YtY2Fyb3VzZWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3ZDYXJvdXNlbENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGNhcm91c2VsRGF0YTogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmF2aWdhdGVUb0xpbmsobGluazogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB3aW5kb3cub3BlbihsaW5rLCAnX2JsYW5rJyk7XHJcbiAgfVxyXG5cclxuICBoZWlnaHRDYXJvdXNlbCE6IG51bWJlcjtcclxuICB3aWR0aENhcm91c2VsITogbnVtYmVyO1xyXG5cclxuICBnZXRDYXJvdXNlbEhlaWdodCgpIHtcclxuICAgIGxldCBkaXZDYXJvdXNlbEhlaWdodCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbCcpPy5vZmZzZXRIZWlnaHQ7XHJcblxyXG4gICAgY29uc29sZS5sb2coZGl2Q2Fyb3VzZWxIZWlnaHQsICdkaXZDYXJvdXNlbEhlaWdodCcpXHJcblxyXG4gICAgaWYgKGRpdkNhcm91c2VsSGVpZ2h0KVxyXG4gICAgICB0aGlzLmhlaWdodENhcm91c2VsID0gZGl2Q2Fyb3VzZWxIZWlnaHQ7XHJcbiAgfVxyXG59IiwiPHAtY2Fyb3VzZWwgaWQ9XCJjYXJvdXNlbFwiIFt2YWx1ZV09XCJjYXJvdXNlbERhdGFcIiBbaW5kaWNhdG9yU3R5bGVDbGFzc109XCInY2Fyb3VzZWwtaW5kaWNhdG9yJ1wiIFthdXRvcGxheUludGVydmFsXT1cIjUwMDBcIiBcclxuICBbc2hvd0luZGljYXRvcnNdPVwidHJ1ZVwiICBbc2hvd05hdmlnYXRvcnNdPVwiZmFsc2VcIiBbbnVtVmlzaWJsZV09XCIxXCIgW251bVNjcm9sbF09XCIxXCIgW2NpcmN1bGFyXT1cInRydWVcIiBzdHlsZUNsYXNzPVwiaC1mdWxsXCI+XHJcbj5cclxuICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaXRlbVwiIGxldC1iYW5uZXIgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBcIj5cclxuICAgIDxpbWcgW3NyY109XCJiYW5uZXIuaW1nXCIgY2xhc3M9XCJ3LWZ1bGwgYm9yZGVyLXJvdW5kXCIgW3N0eWxlLmhlaWdodC5weF09XCJoZWlnaHRDYXJvdXNlbFwiXHJcbiAgICAgIChjbGljayk9XCJuYXZpZ2F0ZVRvTGluayhiYW5uZXIubGluaylcIj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3AtY2Fyb3VzZWw+XHJcblxyXG57e2dldENhcm91c2VsSGVpZ2h0KCl9fSJdfQ==
|
|
@@ -9,6 +9,7 @@ export class KvImageUploadComponent {
|
|
|
9
9
|
this.file = null;
|
|
10
10
|
this.fileSrc = null;
|
|
11
11
|
this.widthComponent = '400px';
|
|
12
|
+
this.heightComponent = 'auto';
|
|
12
13
|
this.maxHeightImage = '400px';
|
|
13
14
|
this.fileEmit = new EventEmitter();
|
|
14
15
|
}
|
|
@@ -63,13 +64,15 @@ export class KvImageUploadComponent {
|
|
|
63
64
|
this.fileSrc = null;
|
|
64
65
|
}
|
|
65
66
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvImageUploadComponent, deps: [{ token: i1.NotificationService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvImageUploadComponent, selector: "kv-image-upload", inputs: { widthComponent: "widthComponent", maxHeightImage: "maxHeightImage", description: "description" }, outputs: { fileEmit: "fileEmit" }, ngImport: i0, template: "<div\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n class=\"border-dashed border-2 border-round-lg border-gray-400 flex justify-content-end\"\r\n [style.width]=\"widthComponent\"\r\n>\r\n @if(file) {\r\n <button\r\n pButton\r\n (click)=\"deleteImage()\"\r\n class=\"fixed transition-colors transition-duration-500 text-red-700 hover:text-red-500 w-2rem h-2rem\"\r\n [text]=\"true\"\r\n [icon]=\"'pi pi-trash'\"\r\n >\r\n </button>\r\n }\r\n\r\n\r\n <div\r\n class=\"w-full flex align-items-center justify-content-center\"\r\n style=\"cursor: pointer;\"\r\n (click)=\"fileInput.click()\"\r\n >\r\n <input\r\n type=\"file\"\r\n (change)=\"onFileSelected($event)\"\r\n #fileInput\r\n hidden\r\n accept=\"image/*\"\r\n >\r\n <div\r\n *ngIf=\"!file\"\r\n class=\"flex flex-column align-items-center justify-content-center\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined mt-2\"\r\n style=\"font-size: 3rem;\"\r\n >\r\n cloud_upload\r\n </span>\r\n\r\n @if(description) {\r\n <p class=\"font-semibold\">{{description}}</p>\r\n } @else {\r\n <p class=\"font-semibold\">Arraste e solte uma imagem aqui, ou</p>\r\n <p class=\"font-semibold\">clique para selecion\u00E1-la</p>\r\n }\r\n\r\n </div>\r\n <div *ngIf=\"file\">\r\n <img\r\n [src]=\"fileSrc\"\r\n [alt]=\"file.name\"\r\n class=\"w-full\"\r\n [style.maxHeight]=\"maxHeightImage\"\r\n >\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: KvImageUploadComponent, selector: "kv-image-upload", inputs: { widthComponent: "widthComponent", heightComponent: "heightComponent", maxHeightImage: "maxHeightImage", description: "description" }, outputs: { fileEmit: "fileEmit" }, ngImport: i0, template: "<div\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n class=\"border-dashed border-2 border-round-lg border-gray-400 flex justify-content-end\"\r\n [style.width]=\"widthComponent\"\r\n [style.height]=\"heightComponent\"\r\n>\r\n @if(file) {\r\n <button\r\n pButton\r\n (click)=\"deleteImage()\"\r\n class=\"fixed transition-colors transition-duration-500 text-red-700 hover:text-red-500 w-2rem h-2rem\"\r\n [text]=\"true\"\r\n [icon]=\"'pi pi-trash'\"\r\n >\r\n </button>\r\n }\r\n\r\n\r\n <div\r\n class=\"w-full flex align-items-center justify-content-center\"\r\n style=\"cursor: pointer;\"\r\n (click)=\"fileInput.click()\"\r\n >\r\n <input\r\n type=\"file\"\r\n (change)=\"onFileSelected($event)\"\r\n #fileInput\r\n hidden\r\n accept=\"image/*\"\r\n >\r\n <div\r\n *ngIf=\"!file\"\r\n class=\"flex flex-column align-items-center justify-content-center\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined mt-2\"\r\n style=\"font-size: 3rem;\"\r\n >\r\n cloud_upload\r\n </span>\r\n\r\n @if(description) {\r\n <p class=\"font-semibold\">{{description}}</p>\r\n } @else {\r\n <p class=\"font-semibold\">Arraste e solte uma imagem aqui, ou</p>\r\n <p class=\"font-semibold\">clique para selecion\u00E1-la</p>\r\n }\r\n\r\n </div>\r\n <div *ngIf=\"file\">\r\n <img\r\n [src]=\"fileSrc\"\r\n [alt]=\"file.name\"\r\n class=\"w-full\"\r\n [style.maxHeight]=\"maxHeightImage\"\r\n >\r\n </div>\r\n </div>\r\n\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i2.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
67
68
|
}
|
|
68
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: KvImageUploadComponent, decorators: [{
|
|
69
70
|
type: Component,
|
|
70
|
-
args: [{ selector: 'kv-image-upload', template: "<div\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n class=\"border-dashed border-2 border-round-lg border-gray-400 flex justify-content-end\"\r\n [style.width]=\"widthComponent\"\r\n>\r\n @if(file) {\r\n <button\r\n pButton\r\n (click)=\"deleteImage()\"\r\n class=\"fixed transition-colors transition-duration-500 text-red-700 hover:text-red-500 w-2rem h-2rem\"\r\n [text]=\"true\"\r\n [icon]=\"'pi pi-trash'\"\r\n >\r\n </button>\r\n }\r\n\r\n\r\n <div\r\n class=\"w-full flex align-items-center justify-content-center\"\r\n style=\"cursor: pointer;\"\r\n (click)=\"fileInput.click()\"\r\n >\r\n <input\r\n type=\"file\"\r\n (change)=\"onFileSelected($event)\"\r\n #fileInput\r\n hidden\r\n accept=\"image/*\"\r\n >\r\n <div\r\n *ngIf=\"!file\"\r\n class=\"flex flex-column align-items-center justify-content-center\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined mt-2\"\r\n style=\"font-size: 3rem;\"\r\n >\r\n cloud_upload\r\n </span>\r\n\r\n @if(description) {\r\n <p class=\"font-semibold\">{{description}}</p>\r\n } @else {\r\n <p class=\"font-semibold\">Arraste e solte uma imagem aqui, ou</p>\r\n <p class=\"font-semibold\">clique para selecion\u00E1-la</p>\r\n }\r\n\r\n </div>\r\n <div *ngIf=\"file\">\r\n <img\r\n [src]=\"fileSrc\"\r\n [alt]=\"file.name\"\r\n class=\"w-full\"\r\n [style.maxHeight]=\"maxHeightImage\"\r\n >\r\n </div>\r\n </div>\r\n\r\n</div>" }]
|
|
71
|
+
args: [{ selector: 'kv-image-upload', template: "<div\r\n (dragover)=\"onDragOver($event)\"\r\n (dragleave)=\"onDragLeave($event)\"\r\n (drop)=\"onDrop($event)\"\r\n class=\"border-dashed border-2 border-round-lg border-gray-400 flex justify-content-end\"\r\n [style.width]=\"widthComponent\"\r\n [style.height]=\"heightComponent\"\r\n>\r\n @if(file) {\r\n <button\r\n pButton\r\n (click)=\"deleteImage()\"\r\n class=\"fixed transition-colors transition-duration-500 text-red-700 hover:text-red-500 w-2rem h-2rem\"\r\n [text]=\"true\"\r\n [icon]=\"'pi pi-trash'\"\r\n >\r\n </button>\r\n }\r\n\r\n\r\n <div\r\n class=\"w-full flex align-items-center justify-content-center\"\r\n style=\"cursor: pointer;\"\r\n (click)=\"fileInput.click()\"\r\n >\r\n <input\r\n type=\"file\"\r\n (change)=\"onFileSelected($event)\"\r\n #fileInput\r\n hidden\r\n accept=\"image/*\"\r\n >\r\n <div\r\n *ngIf=\"!file\"\r\n class=\"flex flex-column align-items-center justify-content-center\"\r\n >\r\n <span\r\n class=\"material-symbols-outlined mt-2\"\r\n style=\"font-size: 3rem;\"\r\n >\r\n cloud_upload\r\n </span>\r\n\r\n @if(description) {\r\n <p class=\"font-semibold\">{{description}}</p>\r\n } @else {\r\n <p class=\"font-semibold\">Arraste e solte uma imagem aqui, ou</p>\r\n <p class=\"font-semibold\">clique para selecion\u00E1-la</p>\r\n }\r\n\r\n </div>\r\n <div *ngIf=\"file\">\r\n <img\r\n [src]=\"fileSrc\"\r\n [alt]=\"file.name\"\r\n class=\"w-full\"\r\n [style.maxHeight]=\"maxHeightImage\"\r\n >\r\n </div>\r\n </div>\r\n\r\n</div>" }]
|
|
71
72
|
}], ctorParameters: () => [{ type: i1.NotificationService }], propDecorators: { widthComponent: [{
|
|
72
73
|
type: Input
|
|
74
|
+
}], heightComponent: [{
|
|
75
|
+
type: Input
|
|
73
76
|
}], maxHeightImage: [{
|
|
74
77
|
type: Input
|
|
75
78
|
}], description: [{
|
|
@@ -77,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
|
|
|
77
80
|
}], fileEmit: [{
|
|
78
81
|
type: Output
|
|
79
82
|
}] } });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3YtaW1hZ2UtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tlZXZvLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2t2LWltYWdlLXVwbG9hZC9rdi1pbWFnZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2Vldm8tY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMva3YtaW1hZ2UtdXBsb2FkL2t2LWltYWdlLXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQVF2RSxNQUFNLE9BQU8sc0JBQXNCO0lBRWpDLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBRzVELFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLFlBQU8sR0FBZ0MsSUFBSSxDQUFDO1FBRW5DLG1CQUFjLEdBQVcsT0FBTyxDQUFDO1FBQ2pDLG9CQUFlLEdBQVcsTUFBTSxDQUFDO1FBQ2pDLG1CQUFjLEdBQVcsT0FBTyxDQUFDO1FBSWhDLGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVYzRCxDQUFDO0lBWUQsVUFBVSxDQUFDLEtBQWdCO1FBQ3pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZ0I7UUFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFnQjtRQUNyQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoQyxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFZO1FBQ3pCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFVO1FBQ25CLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQy9CLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDMUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLDJDQUEyQyxDQUFDLENBQUE7UUFDbEYsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFnQjtRQUMvQixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUM5QyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsS0FBZ0I7UUFDbEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDOUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDOzhHQXhFVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwwT0NSbkMsODREQTZETTs7MkZEckRPLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7d0ZBWWxCLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrdi1pbWFnZS11cGxvYWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9rdi1pbWFnZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9rdi1pbWFnZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBLdkltYWdlVXBsb2FkQ29tcG9uZW50IHtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBub3RpZmljYXRpb25TZXJ2aWNlOiBOb3RpZmljYXRpb25TZXJ2aWNlKSB7XHJcblxyXG4gIH1cclxuICBmaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XHJcbiAgZmlsZVNyYzogc3RyaW5nIHwgQXJyYXlCdWZmZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KCkgd2lkdGhDb21wb25lbnQ6IHN0cmluZyA9ICc0MDBweCc7XHJcbiAgQElucHV0KCkgaGVpZ2h0Q29tcG9uZW50OiBzdHJpbmcgPSAnYXV0byc7XHJcbiAgQElucHV0KCkgbWF4SGVpZ2h0SW1hZ2U6IHN0cmluZyA9ICc0MDBweCc7XHJcblxyXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uITogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgZmlsZUVtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuYWRkRHJhZ092ZXJDbGFzcyhldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLnJlbW92ZURyYWdPdmVyQ2xhc3MoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMucmVtb3ZlRHJhZ092ZXJDbGFzcyhldmVudCk7XHJcblxyXG4gICAgaWYgKGV2ZW50LmRhdGFUcmFuc2ZlciAmJiBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmhhbmRsZUZpbGUoZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzWzBdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRmlsZVNlbGVjdGVkKGV2ZW50OiBFdmVudCkge1xyXG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGlmIChpbnB1dC5maWxlcyAmJiBpbnB1dC5maWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGFuZGxlRmlsZShpbnB1dC5maWxlc1swXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVGaWxlKGZpbGU6IEZpbGUpIHtcclxuICAgIGlmIChmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykpIHtcclxuICAgICAgdGhpcy5maWxlID0gZmlsZTtcclxuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5maWxlU3JjID0gcmVhZGVyLnJlc3VsdDtcclxuICAgICAgfTtcclxuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XHJcbiAgICAgIHRoaXMuZmlsZUVtaXQuZW1pdChmaWxlKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnRvYXN0RXJyb3IoJ0FwZW5hcyBhcnF1aXZvcyBkZSBpbWFnZW0gc8OjbyBwZXJtaXRpZG9zLicpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGREcmFnT3ZlckNsYXNzKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdkcmFnb3ZlcicpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRHJhZ092ZXJDbGFzcyhldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBjb25zdCBjb250YWluZXIgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb250YWluZXIuY2xhc3NMaXN0LnJlbW92ZSgnZHJhZ292ZXInKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUltYWdlKCkge1xyXG4gICAgdGhpcy5maWxlID0gbnVsbDtcclxuICAgIHRoaXMuZmlsZVNyYyA9IG51bGw7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxyXG4gICAgKGRyYWdsZWF2ZSk9XCJvbkRyYWdMZWF2ZSgkZXZlbnQpXCJcclxuICAgIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQpXCJcclxuICAgIGNsYXNzPVwiYm9yZGVyLWRhc2hlZCBib3JkZXItMiBib3JkZXItcm91bmQtbGcgYm9yZGVyLWdyYXktNDAwIGZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiXHJcbiAgICBbc3R5bGUud2lkdGhdPVwid2lkdGhDb21wb25lbnRcIlxyXG4gICAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHRDb21wb25lbnRcIlxyXG4+XHJcbiAgICBAaWYoZmlsZSkge1xyXG4gICAgPGJ1dHRvblxyXG4gICAgICAgIHBCdXR0b25cclxuICAgICAgICAoY2xpY2spPVwiZGVsZXRlSW1hZ2UoKVwiXHJcbiAgICAgICAgY2xhc3M9XCJmaXhlZCB0cmFuc2l0aW9uLWNvbG9ycyB0cmFuc2l0aW9uLWR1cmF0aW9uLTUwMCB0ZXh0LXJlZC03MDAgaG92ZXI6dGV4dC1yZWQtNTAwIHctMnJlbSBoLTJyZW1cIlxyXG4gICAgICAgIFt0ZXh0XT1cInRydWVcIlxyXG4gICAgICAgIFtpY29uXT1cIidwaSBwaS10cmFzaCdcIlxyXG4gICAgPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICB9XHJcblxyXG5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cInctZnVsbCBmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcclxuICAgICAgICBzdHlsZT1cImN1cnNvcjogcG9pbnRlcjtcIlxyXG4gICAgICAgIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJmaWxlXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgI2ZpbGVJbnB1dFxyXG4gICAgICAgICAgICBoaWRkZW5cclxuICAgICAgICAgICAgYWNjZXB0PVwiaW1hZ2UvKlwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgKm5nSWY9XCIhZmlsZVwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIG10LTJcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJmb250LXNpemU6IDNyZW07XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgY2xvdWRfdXBsb2FkXHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIEBpZihkZXNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICA8cCBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIj57e2Rlc2NyaXB0aW9ufX08L3A+XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICA8cCBjbGFzcz1cImZvbnQtc2VtaWJvbGRcIj5BcnJhc3RlIGUgc29sdGUgdW1hIGltYWdlbSBhcXVpLCBvdTwvcD5cclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJmb250LXNlbWlib2xkXCI+Y2xpcXVlIHBhcmEgc2VsZWNpb27DoS1sYTwvcD5cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZmlsZVwiPlxyXG4gICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICBbc3JjXT1cImZpbGVTcmNcIlxyXG4gICAgICAgICAgICAgICAgW2FsdF09XCJmaWxlLm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGxcIlxyXG4gICAgICAgICAgICAgICAgW3N0eWxlLm1heEhlaWdodF09XCJtYXhIZWlnaHRJbWFnZVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+Il19
|