@seniorsistemas/angular-components 16.3.0 → 16.3.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.
@@ -0,0 +1,6 @@
1
+ export interface ConfirmationTexts {
2
+ removalHeader: string;
3
+ removalMessage: string;
4
+ removalAcceptLabel: string;
5
+ removalRejectLabel: string;
6
+ }
@@ -1,8 +1,11 @@
1
1
  import { ElementRef, EventEmitter, OnInit } from "@angular/core";
2
+ import { ConfirmationService } from "primeng/api";
2
3
  import { CropperLabelsConfig, FileValidationErrors } from "./models";
3
4
  import { ImageCropperService } from "../image-cropper";
5
+ import { ConfirmationTexts } from "./models/confirmation-texts";
4
6
  export declare class ProfilePicturePickerComponent implements OnInit {
5
7
  private imageCropperService;
8
+ private confirmationService;
6
9
  simpleTitle: string;
7
10
  actionTitle: string;
8
11
  subtitle: string;
@@ -10,6 +13,7 @@ export declare class ProfilePicturePickerComponent implements OnInit {
10
13
  cropperLabelsConfig: CropperLabelsConfig;
11
14
  removeButtonLabel: string;
12
15
  changeButtonLabel: string;
16
+ confirmationTexts: ConfirmationTexts;
13
17
  maxFileSize: number;
14
18
  accept: string;
15
19
  supportedExtensions: string[];
@@ -20,7 +24,7 @@ export declare class ProfilePicturePickerComponent implements OnInit {
20
24
  changedImage: EventEmitter<string>;
21
25
  invalidFile: EventEmitter<FileValidationErrors>;
22
26
  image: string;
23
- constructor(imageCropperService: ImageCropperService);
27
+ constructor(imageCropperService: ImageCropperService, confirmationService: ConfirmationService);
24
28
  ngOnInit(): void;
25
29
  onDragOver(event: DragEvent): void;
26
30
  onDragLeave(event: DragEvent): void;
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLXRleHRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcHJvZmlsZS1waWN0dXJlLXBpY2tlci9tb2RlbHMvY29uZmlybWF0aW9uLXRleHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbmZpcm1hdGlvblRleHRzIHtcbiAgIHJlbW92YWxIZWFkZXI6IHN0cmluZztcbiAgIHJlbW92YWxNZXNzYWdlOiBzdHJpbmc7XG4gICByZW1vdmFsQWNjZXB0TGFiZWw6IHN0cmluZztcbiAgIHJlbW92YWxSZWplY3RMYWJlbDogc3RyaW5nO1xufVxuIl19
@@ -1,13 +1,21 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, } from "@angular/core";
3
+ import { ConfirmationService } from "primeng/api";
3
4
  import { FileValidation } from "./models";
4
5
  import { ImageCropperService } from "../image-cropper";
5
6
  let ProfilePicturePickerComponent = class ProfilePicturePickerComponent {
6
- constructor(imageCropperService) {
7
+ constructor(imageCropperService, confirmationService) {
7
8
  this.imageCropperService = imageCropperService;
9
+ this.confirmationService = confirmationService;
8
10
  this.aspectRatio = 1;
9
11
  this.removeButtonLabel = "Remover";
10
12
  this.changeButtonLabel = "Alterar foto";
13
+ this.confirmationTexts = {
14
+ removalHeader: "Remover foto de perfil",
15
+ removalMessage: "Deseja remover sua foto de perfil? Não pode ser revertida.",
16
+ removalAcceptLabel: "Remover",
17
+ removalRejectLabel: "Cancelar",
18
+ };
11
19
  this.supportedExtensions = [];
12
20
  this.changedImage = new EventEmitter();
13
21
  this.invalidFile = new EventEmitter();
@@ -53,9 +61,17 @@ let ProfilePicturePickerComponent = class ProfilePicturePickerComponent {
53
61
  fileInputElement.click();
54
62
  }
55
63
  removePhoto() {
56
- const fileInputElement = this.fileInput.nativeElement;
57
- fileInputElement.value = "";
58
- this.image = "";
64
+ this.confirmationService.confirm({
65
+ message: this.confirmationTexts.removalMessage,
66
+ acceptLabel: this.confirmationTexts.removalAcceptLabel,
67
+ rejectLabel: this.confirmationTexts.removalRejectLabel,
68
+ header: this.confirmationTexts.removalHeader,
69
+ accept: () => {
70
+ const fileInputElement = this.fileInput.nativeElement;
71
+ fileInputElement.value = "";
72
+ this.image = "";
73
+ },
74
+ });
59
75
  }
60
76
  photoSelected(event) {
61
77
  this._showImageCropper(event.srcElement.files);
@@ -121,7 +137,8 @@ let ProfilePicturePickerComponent = class ProfilePicturePickerComponent {
121
137
  }
122
138
  };
123
139
  ProfilePicturePickerComponent.ctorParameters = () => [
124
- { type: ImageCropperService }
140
+ { type: ImageCropperService },
141
+ { type: ConfirmationService }
125
142
  ];
126
143
  __decorate([
127
144
  Input()
@@ -144,6 +161,9 @@ __decorate([
144
161
  __decorate([
145
162
  Input()
146
163
  ], ProfilePicturePickerComponent.prototype, "changeButtonLabel", void 0);
164
+ __decorate([
165
+ Input()
166
+ ], ProfilePicturePickerComponent.prototype, "confirmationTexts", void 0);
147
167
  __decorate([
148
168
  Input()
149
169
  ], ProfilePicturePickerComponent.prototype, "maxFileSize", void 0);
@@ -186,9 +206,9 @@ __decorate([
186
206
  ProfilePicturePickerComponent = __decorate([
187
207
  Component({
188
208
  selector: "s-profile-picture-picker",
189
- template: "<input #fileInput [accept]=\"accept\" class=\"file-input\" type=\"file\" (change)=\"photoSelected($event)\">\n<div #uploadPicture class=\"upload-picture\">\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"image\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\">\n </s-thumbnail>\n <div #info class=\"info\">\n <ng-container *ngIf=\"image; then withImage; else noImage\"></ng-container>\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n\n<ng-template #withImage>\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel\"\n priority=\"primary\"\n (onClick)=\"selectPhoto()\">\n </s-button>\n <s-button\n [label]=\"removeButtonLabel\"\n priority=\"secondary\"\n (onClick)=\"removePhoto()\">\n </s-button>\n </div>\n</ng-template>\n\n<ng-template #noImage>\n <p class=\"title\">\n {{ simpleTitle }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\">\n {{ actionTitle }}\n </span>\n </p>\n</ng-template>",
209
+ template: "<p-confirmDialog></p-confirmDialog>\n\n<input #fileInput [accept]=\"accept\" class=\"file-input\" type=\"file\" (change)=\"photoSelected($event)\">\n<div #uploadPicture class=\"upload-picture\">\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"image\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\">\n </s-thumbnail>\n <div #info class=\"info\">\n <ng-container *ngIf=\"image; then withImage; else noImage\"></ng-container>\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n\n<ng-template #withImage>\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel\"\n priority=\"primary\"\n (onClick)=\"selectPhoto()\">\n </s-button>\n <s-button\n [label]=\"removeButtonLabel\"\n priority=\"secondary\"\n (onClick)=\"removePhoto()\">\n </s-button>\n </div>\n</ng-template>\n\n<ng-template #noImage>\n <p class=\"title\">\n {{ simpleTitle }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\">\n {{ actionTitle }}\n </span>\n </p>\n</ng-template>",
190
210
  styles: [".file-input{display:none}.upload-picture{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.upload-picture .info{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:12px 20px;-ms-flex-align:start;align-items:flex-start}.upload-picture .info .title{font-family:\"Open Sans\",sans-serif;font-weight:700;font-size:.875rem;line-height:150%;color:#333}.upload-picture .info .title .action-title{cursor:pointer;color:#428bca}.upload-picture .info .buttons{display:-ms-flexbox;display:flex;gap:8px}.upload-picture .info .buttons s-button{margin:0}.upload-picture .info .subtitle{padding:6px 0;font-family:\"Open Sans\",sans-serif;font-weight:400;font-size:.75rem;line-height:150%;color:#697882;text-align:center}.upload-picture--small .info{-ms-flex-align:center;align-items:center}.upload-picture--small .info .subtitle,.upload-picture--small .info .title{text-align:center}.upload-picture--small .info .buttons{-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}"]
191
211
  })
192
212
  ], ProfilePicturePickerComponent);
193
213
  export { ProfilePicturePickerComponent };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBNkMsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT3ZELElBQWEsNkJBQTZCLEdBQTFDLE1BQWEsNkJBQTZCO0lBbUR2QyxZQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXhDckQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFNaEIsc0JBQWlCLEdBQUcsU0FBUyxDQUFDO1FBRzlCLHNCQUFpQixHQUFHLGNBQWMsQ0FBQztRQVNuQyx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFlbkMsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd4RCxnQkFBVyxHQUF1QyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSVosQ0FBQztJQUUxRCxRQUFRO1FBQ1osSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUdNLFVBQVUsQ0FBQyxLQUFnQjtRQUMvQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFHTSxXQUFXLENBQUMsS0FBZ0I7UUFDaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZC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S0FBSyxFQUFFOytEQUNnQjtBQUd4QjtJQURDLEtBQUssRUFBRTtrRUFDZTtBQUd2QjtJQURDLEtBQUssRUFBRTswRUFDd0M7QUFHaEQ7SUFEQyxLQUFLLEVBQUU7d0VBQzZCO0FBR3JDO0lBREMsS0FBSyxFQUFFO3dFQUNrQztBQUcxQztJQURDLEtBQUssRUFBRTtrRUFDbUI7QUFHM0I7SUFEQyxLQUFLLEVBQUU7NkRBQ2M7QUFHdEI7SUFEQyxLQUFLLEVBQUU7MEVBQ2tDO0FBRzFDO0lBREMsU0FBUyxDQUFDLGVBQWUsQ0FBQztvRUFDTTtBQUdqQztJQURDLFNBQVMsQ0FBQyxNQUFNLENBQUM7MkRBQ007QUFHeEI7SUFEQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO2dFQUNoQjtBQUc3QjtJQURDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7Z0VBQ2hCO0FBRzdCO0lBREMsTUFBTSxFQUFFO21FQUNzRDtBQUcvRDtJQURDLE1BQU0sRUFBRTtrRUFDbUU7QUFXNUU7SUFEQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7K0RBSXBDO0FBR0Q7SUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0VBSXJDO0FBR0Q7SUFEQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7MkRBYWhDO0FBSUQ7SUFEQyxZQUFZLENBQUMsZUFBZSxDQUFDOzZEQWE3QjtBQWxHUyw2QkFBNkI7SUFMekMsU0FBUyxDQUFDO1FBQ1IsUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyw2bUNBQW9EOztLQUV0RCxDQUFDO0dBQ1csNkJBQTZCLENBa016QztTQWxNWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgQ29tcG9uZW50LFxuICAgRWxlbWVudFJlZixcbiAgIEV2ZW50RW1pdHRlcixcbiAgIEhvc3RMaXN0ZW5lcixcbiAgIElucHV0LFxuICAgT25Jbml0LFxuICAgT3V0cHV0LFxuICAgVmlld0NoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBDcm9wcGVyTGFiZWxzQ29uZmlnLCBGaWxlVmFsaWRhdGlvbkVycm9ycywgRmlsZVZhbGlkYXRpb24gfSBmcm9tIFwiLi9tb2RlbHNcIjtcbmltcG9ydCB7IEltYWdlQ3JvcHBlclNlcnZpY2UgfSBmcm9tIFwiLi4vaW1hZ2UtY3JvcHBlclwiO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiBcInMtcHJvZmlsZS1waWN0dXJlLXBpY2tlclwiLFxuICAgdGVtcGxhdGVVcmw6IFwicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuaHRtbFwiLFxuICAgc3R5bGVVcmxzOiBbXCJwcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICBASW5wdXQoKVxuICAgcHVibGljIHNpbXBsZVRpdGxlOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYWN0aW9uVGl0bGU6IHN0cmluZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBzdWJ0aXRsZTogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFzcGVjdFJhdGlvID0gMTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBjcm9wcGVyTGFiZWxzQ29uZmlnOiBDcm9wcGVyTGFiZWxzQ29uZmlnO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHJlbW92ZUJ1dHRvbkxhYmVsID0gXCJSZW1vdmVyXCI7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgY2hhbmdlQnV0dG9uTGFiZWwgPSBcIkFsdGVyYXIgZm90b1wiO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXI7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYWNjZXB0OiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgc3VwcG9ydGVkRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgQFZpZXdDaGlsZChcInVwbG9hZFBpY3R1cmVcIilcbiAgIHB1YmxpYyB1cGxvYWRQaWN0dXJlOiBFbGVtZW50UmVmO1xuXG4gICBAVmlld0NoaWxkKFwiaW5mb1wiKVxuICAgcHVibGljIGluZm86IEVsZW1lbnRSZWY7XG5cbiAgIEBWaWV3Q2hpbGQoXCJ0aHVtYm5haWxcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICBwdWJsaWMgdGh1bWJuYWlsOiBFbGVtZW50UmVmO1xuXG4gICBAVmlld0NoaWxkKFwiZmlsZUlucHV0XCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgcHVibGljIGZpbGVJbnB1dDogRWxlbWVudFJlZjtcblxuICAgQE91dHB1dCgpXG4gICBwdWJsaWMgY2hhbmdlZEltYWdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgQE91dHB1dCgpXG4gICBwdWJsaWMgaW52YWxpZEZpbGU6IEV2ZW50RW1pdHRlcjxGaWxlVmFsaWRhdGlvbkVycm9ycz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xuXG4gICBjb25zdHJ1Y3Rvcihwcml2YXRlIGltYWdlQ3JvcHBlclNlcnZpY2U6IEltYWdlQ3JvcHBlclNlcnZpY2UpIHsgfVxuXG4gICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLl9ub3JtYWxpemVTdXBvcnRlZEV4dGVuc2lvbnMoKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdvdmVyXCIsIFtcIiRldmVudFwiXSlcbiAgIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdsZWF2ZVwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwiZHJvcFwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICAgICAgY29uc3QgZGF0YVRyYW5zZmVyRmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVRyYW5zZmVyRmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgIGZpbGVzLnB1c2goZGF0YVRyYW5zZmVyRmlsZXMuaXRlbShpKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3Nob3dJbWFnZUNyb3BwZXIoZmlsZXMpO1xuICAgfVxuXG4gICAvLyBWZXJpZmljYW5kbyBvIHJlZGltZW5zaW9uYW1lbnRvIHBhcmEgYWp1c3RhciBvIGRlc2lnbiBwYXJhIGZpY2FyIHJlc3BvbnNpdm8uXG4gICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICAgcHVibGljIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudXBsb2FkUGljdHVyZSAmJiB0aGlzLmluZm8gJiYgdGhpcy50aHVtYm5haWwpIHtcbiAgICAgICAgIGNvbnN0IHVwbG9hZFBpY3R1cmVXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnVwbG9hZFBpY3R1cmUpO1xuICAgICAgICAgY29uc3QgaW5mb1dpZHRoID0gdGhpcy5fZ2V0V2lkdGhFbGVtZW50KHRoaXMuaW5mbyk7XG4gICAgICAgICBjb25zdCB0aHVtYm5haWxXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnRodW1ibmFpbCk7XG5cbiAgICAgICAgIGlmICh0aHVtYm5haWxXaWR0aCArIGluZm9XaWR0aCA+IHVwbG9hZFBpY3R1cmVXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQaWN0dXJlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInVwbG9hZC1waWN0dXJlLS1zbWFsbFwiKTtcbiAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFBpY3R1cmUubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwidXBsb2FkLXBpY3R1cmUtLXNtYWxsXCIpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgc2VsZWN0UGhvdG8oKTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudDtcbiAgICAgIGZpbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICAgICAgZmlsZUlucHV0RWxlbWVudC5jbGljaygpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVtb3ZlUGhvdG8oKTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudDtcbiAgICAgIGZpbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICAgICAgdGhpcy5pbWFnZSA9IFwiXCI7XG4gICB9XG5cbiAgIHB1YmxpYyBwaG90b1NlbGVjdGVkKGV2ZW50OiBhbnkpIHtcbiAgICAgIHRoaXMuX3Nob3dJbWFnZUNyb3BwZXIoZXZlbnQuc3JjRWxlbWVudC5maWxlcyk7XG4gICB9XG5cbiAgIHByaXZhdGUgX3Nob3dJbWFnZUNyb3BwZXIoZmlsZXM6IEZpbGVbXSkge1xuICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZURhdGEoZmlsZXMpKSB7XG4gICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1swXTtcblxuICAgICAgY29uc3QgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZGVuZCA9IChmaWxlRXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgdGhpcy5pbWFnZUNyb3BwZXJTZXJ2aWNlLnNob3coe1xuICAgICAgICAgICAgaW1hZ2VTb3VyY2U6IGZpbGVFdmVudC50YXJnZXQucmVzdWx0LFxuICAgICAgICAgICAgY3JvcHBlZEltYWdlOiBpbWFnZSA9PiB7XG4gICAgICAgICAgICAgICB0aGlzLmltYWdlID0gaW1hZ2U7XG4gICAgICAgICAgICAgICB0aGlzLmNoYW5nZWRJbWFnZS5lbWl0KGltYWdlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGFuZ2VJbWFnZTogKCkgPT4gdGhpcy5zZWxlY3RQaG90bygpLFxuICAgICAgICAgICAgYWxsb3dTZWxlY3RBbm90aGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGFzcGVjdFJhdGlvOiB0aGlzLmFzcGVjdFJhdGlvLFxuICAgICAgICAgICAgLi4udGhpcy5jcm9wcGVyTGFiZWxzQ29uZmlnLFxuICAgICAgICAgfSk7XG4gICAgICB9O1xuICAgfVxuXG4gICBwcml2YXRlIF9ub3JtYWxpemVTdXBvcnRlZEV4dGVuc2lvbnMoKSB7XG4gICAgICB0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnMgPSB0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnNcbiAgICAgICAgIC5tYXAoZXh0ZW5zaW9uID0+IGV4dGVuc2lvbi5yZXBsYWNlKFwiLlwiLCBcIlwiKS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfdmFsaWRhdGVEYXRhKGZpbGVzOiBGaWxlW10pIHtcbiAgICAgIGlmICghZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlOiBudWxsLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5NYXhGaWxlTGltaXQgfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1swXTtcblxuICAgICAgaWYgKCFmaWxlLnR5cGUuaW5jbHVkZXMoXCJpbWFnZVwiKSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uVHlwZUludmFsaWQgfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5fdmFsaWRhdGVGaWxlRXh0ZW5zaW9uKGZpbGUpKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5VbnN1cHBvcnRlZEV4dGVuc2lvbiB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVTaXplKGZpbGUpKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5NYXhGaWxlU2l6ZSB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICB9XG5cbiAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKSB7XG4gICAgICBpZiAodGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGUubmFtZS5zcGxpdChcIi5cIikucG9wKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgIHJldHVybiB0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnMuaW5jbHVkZXMoZXh0ZW5zaW9uKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgfVxuXG4gICBwcml2YXRlIF92YWxpZGF0ZUZpbGVTaXplKGZpbGU6IEZpbGUpIHtcbiAgICAgIGlmICh0aGlzLm1heEZpbGVTaXplKSB7XG4gICAgICAgICByZXR1cm4gZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgfVxuXG4gICBwcml2YXRlIF9nZXRXaWR0aEVsZW1lbnQoZWxlbWVudDogRWxlbWVudFJlZik6IG51bWJlciB7XG4gICAgICBjb25zdCB7IGxlZnQsIHJpZ2h0IH0gPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICByZXR1cm4gcmlnaHQgLSBsZWZ0O1xuICAgfVxufVxuIl19
214
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxPQUFPLEVBQTZDLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVF2RCxJQUFhLDZCQUE2QixHQUExQyxNQUFhLDZCQUE2QjtJQTJEdkMsWUFDVyxtQkFBd0MsRUFDeEMsbUJBQXdDO1FBRHhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWxENUMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFNaEIsc0JBQWlCLEdBQUcsU0FBUyxDQUFDO1FBRzlCLHNCQUFpQixHQUFHLGNBQWMsQ0FBQztRQUduQyxzQkFBaUIsR0FBc0I7WUFDM0MsYUFBYSxFQUFFLHdCQUF3QjtZQUN2QyxjQUFjLEVBQUUsNERBQTREO1lBQzVFLGtCQUFrQixFQUFFLFNBQVM7WUFDN0Isa0JBQWtCLEVBQUUsVUFBVTtTQUNoQyxDQUFDO1FBU0ssd0JBQW1CLEdBQWEsRUFBRSxDQUFDO1FBZW5DLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEQsZ0JBQVcsR0FBdUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU94RSxD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QUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO2dFQUNoQjtBQUc3QjtJQURDLE1BQU0sRUFBRTttRUFDc0Q7QUFHL0Q7SUFEQyxNQUFNLEVBQUU7a0VBQ21FO0FBYzVFO0lBREMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOytEQUlwQztBQUdEO0lBREMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dFQUlyQztBQUdEO0lBREMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOzJEQWFoQztBQUlEO0lBREMsWUFBWSxDQUFDLGVBQWUsQ0FBQzs2REFhN0I7QUE3R1MsNkJBQTZCO0lBTHpDLFNBQVMsQ0FBQztRQUNSLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsb3BDQUFvRDs7S0FFdEQsQ0FBQztHQUNXLDZCQUE2QixDQXFOekM7U0FyTlksNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgIENvbXBvbmVudCxcbiAgIEVsZW1lbnRSZWYsXG4gICBFdmVudEVtaXR0ZXIsXG4gICBIb3N0TGlzdGVuZXIsXG4gICBJbnB1dCxcbiAgIE9uSW5pdCxcbiAgIE91dHB1dCxcbiAgIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuXG5pbXBvcnQgeyBDcm9wcGVyTGFiZWxzQ29uZmlnLCBGaWxlVmFsaWRhdGlvbkVycm9ycywgRmlsZVZhbGlkYXRpb24gfSBmcm9tIFwiLi9tb2RlbHNcIjtcbmltcG9ydCB7IEltYWdlQ3JvcHBlclNlcnZpY2UgfSBmcm9tIFwiLi4vaW1hZ2UtY3JvcHBlclwiO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uVGV4dHMgfSBmcm9tIFwiLi9tb2RlbHMvY29uZmlybWF0aW9uLXRleHRzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6IFwicy1wcm9maWxlLXBpY3R1cmUtcGlja2VyXCIsXG4gICB0ZW1wbGF0ZVVybDogXCJwcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXG4gICBzdHlsZVVybHM6IFtcInByb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgc2ltcGxlVGl0bGU6IHN0cmluZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBhY3Rpb25UaXRsZTogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHN1YnRpdGxlOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYXNwZWN0UmF0aW8gPSAxO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGNyb3BwZXJMYWJlbHNDb25maWc6IENyb3BwZXJMYWJlbHNDb25maWc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgcmVtb3ZlQnV0dG9uTGFiZWwgPSBcIlJlbW92ZXJcIjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBjaGFuZ2VCdXR0b25MYWJlbCA9IFwiQWx0ZXJhciBmb3RvXCI7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgY29uZmlybWF0aW9uVGV4dHM6IENvbmZpcm1hdGlvblRleHRzID0ge1xuICAgICAgcmVtb3ZhbEhlYWRlcjogXCJSZW1vdmVyIGZvdG8gZGUgcGVyZmlsXCIsXG4gICAgICByZW1vdmFsTWVzc2FnZTogXCJEZXNlamEgcmVtb3ZlciBzdWEgZm90byBkZSBwZXJmaWw/IE7Do28gcG9kZSBzZXIgcmV2ZXJ0aWRhLlwiLFxuICAgICAgcmVtb3ZhbEFjY2VwdExhYmVsOiBcIlJlbW92ZXJcIixcbiAgICAgIHJlbW92YWxSZWplY3RMYWJlbDogXCJDYW5jZWxhclwiLFxuICAgfTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjY2VwdDogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHN1cHBvcnRlZEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgIEBWaWV3Q2hpbGQoXCJ1cGxvYWRQaWN0dXJlXCIpXG4gICBwdWJsaWMgdXBsb2FkUGljdHVyZTogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcImluZm9cIilcbiAgIHB1YmxpYyBpbmZvOiBFbGVtZW50UmVmO1xuXG4gICBAVmlld0NoaWxkKFwidGh1bWJuYWlsXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgcHVibGljIHRodW1ibmFpbDogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcImZpbGVJbnB1dFwiLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgIHB1YmxpYyBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGNoYW5nZWRJbWFnZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGludmFsaWRGaWxlOiBFdmVudEVtaXR0ZXI8RmlsZVZhbGlkYXRpb25FcnJvcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcblxuICAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGltYWdlQ3JvcHBlclNlcnZpY2U6IEltYWdlQ3JvcHBlclNlcnZpY2UsXG4gICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICApIHsgfVxuXG4gICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLl9ub3JtYWxpemVTdXBvcnRlZEV4dGVuc2lvbnMoKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdvdmVyXCIsIFtcIiRldmVudFwiXSlcbiAgIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdsZWF2ZVwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwiZHJvcFwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICAgICAgY29uc3QgZGF0YVRyYW5zZmVyRmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVRyYW5zZmVyRmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgIGZpbGVzLnB1c2goZGF0YVRyYW5zZmVyRmlsZXMuaXRlbShpKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3Nob3dJbWFnZUNyb3BwZXIoZmlsZXMpO1xuICAgfVxuXG4gICAvLyBWZXJpZmljYW5kbyBvIHJlZGltZW5zaW9uYW1lbnRvIHBhcmEgYWp1c3RhciBvIGRlc2lnbiBwYXJhIGZpY2FyIHJlc3BvbnNpdm8uXG4gICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICAgcHVibGljIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudXBsb2FkUGljdHVyZSAmJiB0aGlzLmluZm8gJiYgdGhpcy50aHVtYm5haWwpIHtcbiAgICAgICAgIGNvbnN0IHVwbG9hZFBpY3R1cmVXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnVwbG9hZFBpY3R1cmUpO1xuICAgICAgICAgY29uc3QgaW5mb1dpZHRoID0gdGhpcy5fZ2V0V2lkdGhFbGVtZW50KHRoaXMuaW5mbyk7XG4gICAgICAgICBjb25zdCB0aHVtYm5haWxXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnRodW1ibmFpbCk7XG5cbiAgICAgICAgIGlmICh0aHVtYm5haWxXaWR0aCArIGluZm9XaWR0aCA+IHVwbG9hZFBpY3R1cmVXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQaWN0dXJlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInVwbG9hZC1waWN0dXJlLS1zbWFsbFwiKTtcbiAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFBpY3R1cmUubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwidXBsb2FkLXBpY3R1cmUtLXNtYWxsXCIpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgc2VsZWN0UGhvdG8oKTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudDtcbiAgICAgIGZpbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICAgICAgZmlsZUlucHV0RWxlbWVudC5jbGljaygpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVtb3ZlUGhvdG8oKTogdm9pZCB7XG4gICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICBtZXNzYWdlOiB0aGlzLmNvbmZpcm1hdGlvblRleHRzLnJlbW92YWxNZXNzYWdlLFxuICAgICAgICAgYWNjZXB0TGFiZWw6IHRoaXMuY29uZmlybWF0aW9uVGV4dHMucmVtb3ZhbEFjY2VwdExhYmVsLFxuICAgICAgICAgcmVqZWN0TGFiZWw6IHRoaXMuY29uZmlybWF0aW9uVGV4dHMucmVtb3ZhbFJlamVjdExhYmVsLFxuICAgICAgICAgaGVhZGVyOiB0aGlzLmNvbmZpcm1hdGlvblRleHRzLnJlbW92YWxIZWFkZXIsXG4gICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVJbnB1dEVsZW1lbnQgPSB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgZmlsZUlucHV0RWxlbWVudC52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICB0aGlzLmltYWdlID0gXCJcIjtcbiAgICAgICAgIH0sXG4gICAgICB9KTtcbiAgIH1cblxuICAgcHVibGljIHBob3RvU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xuICAgICAgdGhpcy5fc2hvd0ltYWdlQ3JvcHBlcihldmVudC5zcmNFbGVtZW50LmZpbGVzKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfc2hvd0ltYWdlQ3JvcHBlcihmaWxlczogRmlsZVtdKSB7XG4gICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRGF0YShmaWxlcykpIHtcbiAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xuXG4gICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIGZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgIGZpbGVSZWFkZXIub25sb2FkZW5kID0gKGZpbGVFdmVudDogYW55KSA9PiB7XG4gICAgICAgICB0aGlzLmltYWdlQ3JvcHBlclNlcnZpY2Uuc2hvdyh7XG4gICAgICAgICAgICBpbWFnZVNvdXJjZTogZmlsZUV2ZW50LnRhcmdldC5yZXN1bHQsXG4gICAgICAgICAgICBjcm9wcGVkSW1hZ2U6IGltYWdlID0+IHtcbiAgICAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSBpbWFnZTtcbiAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlZEltYWdlLmVtaXQoaW1hZ2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoYW5nZUltYWdlOiAoKSA9PiB0aGlzLnNlbGVjdFBob3RvKCksXG4gICAgICAgICAgICBhbGxvd1NlbGVjdEFub3RoZXI6IGZhbHNlLFxuICAgICAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW8sXG4gICAgICAgICAgICAuLi50aGlzLmNyb3BwZXJMYWJlbHNDb25maWcsXG4gICAgICAgICB9KTtcbiAgICAgIH07XG4gICB9XG5cbiAgIHByaXZhdGUgX25vcm1hbGl6ZVN1cG9ydGVkRXh0ZW5zaW9ucygpIHtcbiAgICAgIHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucyA9IHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9uc1xuICAgICAgICAgLm1hcChleHRlbnNpb24gPT4gZXh0ZW5zaW9uLnJlcGxhY2UoXCIuXCIsIFwiXCIpLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xuICAgfVxuXG4gICBwcml2YXRlIF92YWxpZGF0ZURhdGEoZmlsZXM6IEZpbGVbXSkge1xuICAgICAgaWYgKCFmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGU6IG51bGwsIHZhbGlkYXRpb246IEZpbGVWYWxpZGF0aW9uLk1heEZpbGVMaW1pdCB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xuXG4gICAgICBpZiAoIWZpbGUudHlwZS5pbmNsdWRlcyhcImltYWdlXCIpKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5UeXBlSW52YWxpZCB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVFeHRlbnNpb24oZmlsZSkpIHtcbiAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGUsIHZhbGlkYXRpb246IEZpbGVWYWxpZGF0aW9uLlVuc3VwcG9ydGVkRXh0ZW5zaW9uIH0pO1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRmlsZVNpemUoZmlsZSkpIHtcbiAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGUsIHZhbGlkYXRpb246IEZpbGVWYWxpZGF0aW9uLk1heEZpbGVTaXplIH0pO1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfdmFsaWRhdGVGaWxlRXh0ZW5zaW9uKGZpbGU6IEZpbGUpIHtcbiAgICAgIGlmICh0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZS5uYW1lLnNwbGl0KFwiLlwiKS5wb3AoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgcmV0dXJuIHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucy5pbmNsdWRlcyhleHRlbnNpb24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICB9XG5cbiAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZVNpemUoZmlsZTogRmlsZSkge1xuICAgICAgaWYgKHRoaXMubWF4RmlsZVNpemUpIHtcbiAgICAgICAgIHJldHVybiBmaWxlLnNpemUgPiB0aGlzLm1heEZpbGVTaXplO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICB9XG5cbiAgIHByaXZhdGUgX2dldFdpZHRoRWxlbWVudChlbGVtZW50OiBFbGVtZW50UmVmKTogbnVtYmVyIHtcbiAgICAgIGNvbnN0IHsgbGVmdCwgcmlnaHQgfSA9IGVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHJldHVybiByaWdodCAtIGxlZnQ7XG4gICB9XG59XG4iXX0=
@@ -1,6 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule } from "@angular/core";
3
3
  import { CommonModule } from "@angular/common";
4
+ import { ConfirmDialogModule } from "primeng/confirmdialog";
5
+ import { ConfirmationService } from "primeng/api";
4
6
  import { ButtonModule } from '../button/button.module';
5
7
  import { ThumbnailModule } from '../thumbnail/thumbnail.module';
6
8
  import { ImageCropperModule } from '../image-cropper/image-cropper.module';
@@ -15,11 +17,15 @@ ProfilePicturePickerModule = __decorate([
15
17
  ButtonModule,
16
18
  ThumbnailModule,
17
19
  ImageCropperModule,
20
+ ConfirmDialogModule,
18
21
  ],
19
22
  declarations: [ProfilePicturePickerComponent],
20
23
  exports: [ProfilePicturePickerComponent],
21
- providers: [ImageCropperService],
24
+ providers: [
25
+ ImageCropperService,
26
+ ConfirmationService,
27
+ ],
22
28
  })
23
29
  ], ProfilePicturePickerModule);
24
30
  export { ProfilePicturePickerModule };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBYW5GLElBQWEsMEJBQTBCLEdBQXZDLE1BQWEsMEJBQTBCO0NBQUksQ0FBQTtBQUE5QiwwQkFBMEI7SUFYdEMsUUFBUSxDQUFDO1FBQ1AsT0FBTyxFQUFFO1lBQ04sWUFBWTtZQUNaLFlBQVk7WUFDWixlQUFlO1lBQ2Ysa0JBQWtCO1NBQ3BCO1FBQ0QsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7UUFDN0MsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7UUFDeEMsU0FBUyxFQUFFLENBQUMsbUJBQW1CLENBQUM7S0FDbEMsQ0FBQztHQUNXLDBCQUEwQixDQUFJO1NBQTlCLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgVGh1bWJuYWlsTW9kdWxlIH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5tb2R1bGUnO1xuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyTW9kdWxlIH0gZnJvbSAnLi4vaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi9wcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICAgaW1wb3J0czogW1xuICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgQnV0dG9uTW9kdWxlLFxuICAgICAgVGh1bWJuYWlsTW9kdWxlLFxuICAgICAgSW1hZ2VDcm9wcGVyTW9kdWxlLFxuICAgXSxcbiAgIGRlY2xhcmF0aW9uczogW1Byb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50XSxcbiAgIGV4cG9ydHM6IFtQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudF0sXG4gICBwcm92aWRlcnM6IFtJbWFnZUNyb3BwZXJTZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVBpY3R1cmVQaWNrZXJNb2R1bGUgeyB9Il19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQWlCbkYsSUFBYSwwQkFBMEIsR0FBdkMsTUFBYSwwQkFBMEI7Q0FBSSxDQUFBO0FBQTlCLDBCQUEwQjtJQWZ0QyxRQUFRLENBQUM7UUFDUCxPQUFPLEVBQUU7WUFDTixZQUFZO1lBQ1osWUFBWTtZQUNaLGVBQWU7WUFDZixrQkFBa0I7WUFDbEIsbUJBQW1CO1NBQ3JCO1FBQ0QsWUFBWSxFQUFFLENBQUMsNkJBQTZCLENBQUM7UUFDN0MsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7UUFDeEMsU0FBUyxFQUFFO1lBQ1IsbUJBQW1CO1lBQ25CLG1CQUFtQjtTQUNyQjtLQUNILENBQUM7R0FDVywwQkFBMEIsQ0FBSTtTQUE5QiwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5cbmltcG9ydCB7IENvbmZpcm1EaWFsb2dNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9jb25maXJtZGlhbG9nXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5cbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJy4uL2J1dHRvbi9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IFRodW1ibmFpbE1vZHVsZSB9IGZyb20gJy4uL3RodW1ibmFpbC90aHVtYm5haWwubW9kdWxlJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlck1vZHVsZSB9IGZyb20gJy4uL2ltYWdlLWNyb3BwZXIvaW1hZ2UtY3JvcHBlci5tb2R1bGUnO1xuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyU2VydmljZSB9IGZyb20gJy4uL2ltYWdlLWNyb3BwZXIvaW1hZ2UtY3JvcHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50IH0gZnJvbSBcIi4vcHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgIGltcG9ydHM6IFtcbiAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgIEJ1dHRvbk1vZHVsZSxcbiAgICAgIFRodW1ibmFpbE1vZHVsZSxcbiAgICAgIEltYWdlQ3JvcHBlck1vZHVsZSxcbiAgICAgIENvbmZpcm1EaWFsb2dNb2R1bGUsXG4gICBdLFxuICAgZGVjbGFyYXRpb25zOiBbUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnRdLFxuICAgZXhwb3J0czogW1Byb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50XSxcbiAgIHByb3ZpZGVyczogW1xuICAgICAgSW1hZ2VDcm9wcGVyU2VydmljZSxcbiAgICAgIENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlUGljdHVyZVBpY2tlck1vZHVsZSB7IH0iXX0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLXRleHRzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcHJvZmlsZS1waWN0dXJlLXBpY2tlci9tb2RlbHMvY29uZmlybWF0aW9uLXRleHRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIENvbmZpcm1hdGlvblRleHRzIHtcbiAgIHJlbW92YWxIZWFkZXI6IHN0cmluZztcbiAgIHJlbW92YWxNZXNzYWdlOiBzdHJpbmc7XG4gICByZW1vdmFsQWNjZXB0TGFiZWw6IHN0cmluZztcbiAgIHJlbW92YWxSZWplY3RMYWJlbDogc3RyaW5nO1xufVxuIl19
@@ -1,13 +1,21 @@
1
1
  import { __assign, __decorate } from "tslib";
2
2
  import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, } from "@angular/core";
3
+ import { ConfirmationService } from "primeng/api";
3
4
  import { FileValidation } from "./models";
4
5
  import { ImageCropperService } from "../image-cropper";
5
6
  var ProfilePicturePickerComponent = /** @class */ (function () {
6
- function ProfilePicturePickerComponent(imageCropperService) {
7
+ function ProfilePicturePickerComponent(imageCropperService, confirmationService) {
7
8
  this.imageCropperService = imageCropperService;
9
+ this.confirmationService = confirmationService;
8
10
  this.aspectRatio = 1;
9
11
  this.removeButtonLabel = "Remover";
10
12
  this.changeButtonLabel = "Alterar foto";
13
+ this.confirmationTexts = {
14
+ removalHeader: "Remover foto de perfil",
15
+ removalMessage: "Deseja remover sua foto de perfil? Não pode ser revertida.",
16
+ removalAcceptLabel: "Remover",
17
+ removalRejectLabel: "Cancelar",
18
+ };
11
19
  this.supportedExtensions = [];
12
20
  this.changedImage = new EventEmitter();
13
21
  this.invalidFile = new EventEmitter();
@@ -53,9 +61,18 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
53
61
  fileInputElement.click();
54
62
  };
55
63
  ProfilePicturePickerComponent.prototype.removePhoto = function () {
56
- var fileInputElement = this.fileInput.nativeElement;
57
- fileInputElement.value = "";
58
- this.image = "";
64
+ var _this = this;
65
+ this.confirmationService.confirm({
66
+ message: this.confirmationTexts.removalMessage,
67
+ acceptLabel: this.confirmationTexts.removalAcceptLabel,
68
+ rejectLabel: this.confirmationTexts.removalRejectLabel,
69
+ header: this.confirmationTexts.removalHeader,
70
+ accept: function () {
71
+ var fileInputElement = _this.fileInput.nativeElement;
72
+ fileInputElement.value = "";
73
+ _this.image = "";
74
+ },
75
+ });
59
76
  };
60
77
  ProfilePicturePickerComponent.prototype.photoSelected = function (event) {
61
78
  this._showImageCropper(event.srcElement.files);
@@ -121,7 +138,8 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
121
138
  return right - left;
122
139
  };
123
140
  ProfilePicturePickerComponent.ctorParameters = function () { return [
124
- { type: ImageCropperService }
141
+ { type: ImageCropperService },
142
+ { type: ConfirmationService }
125
143
  ]; };
126
144
  __decorate([
127
145
  Input()
@@ -144,6 +162,9 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
144
162
  __decorate([
145
163
  Input()
146
164
  ], ProfilePicturePickerComponent.prototype, "changeButtonLabel", void 0);
165
+ __decorate([
166
+ Input()
167
+ ], ProfilePicturePickerComponent.prototype, "confirmationTexts", void 0);
147
168
  __decorate([
148
169
  Input()
149
170
  ], ProfilePicturePickerComponent.prototype, "maxFileSize", void 0);
@@ -186,11 +207,11 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
186
207
  ProfilePicturePickerComponent = __decorate([
187
208
  Component({
188
209
  selector: "s-profile-picture-picker",
189
- template: "<input #fileInput [accept]=\"accept\" class=\"file-input\" type=\"file\" (change)=\"photoSelected($event)\">\n<div #uploadPicture class=\"upload-picture\">\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"image\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\">\n </s-thumbnail>\n <div #info class=\"info\">\n <ng-container *ngIf=\"image; then withImage; else noImage\"></ng-container>\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n\n<ng-template #withImage>\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel\"\n priority=\"primary\"\n (onClick)=\"selectPhoto()\">\n </s-button>\n <s-button\n [label]=\"removeButtonLabel\"\n priority=\"secondary\"\n (onClick)=\"removePhoto()\">\n </s-button>\n </div>\n</ng-template>\n\n<ng-template #noImage>\n <p class=\"title\">\n {{ simpleTitle }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\">\n {{ actionTitle }}\n </span>\n </p>\n</ng-template>",
210
+ template: "<p-confirmDialog></p-confirmDialog>\n\n<input #fileInput [accept]=\"accept\" class=\"file-input\" type=\"file\" (change)=\"photoSelected($event)\">\n<div #uploadPicture class=\"upload-picture\">\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"image\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\">\n </s-thumbnail>\n <div #info class=\"info\">\n <ng-container *ngIf=\"image; then withImage; else noImage\"></ng-container>\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n\n<ng-template #withImage>\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel\"\n priority=\"primary\"\n (onClick)=\"selectPhoto()\">\n </s-button>\n <s-button\n [label]=\"removeButtonLabel\"\n priority=\"secondary\"\n (onClick)=\"removePhoto()\">\n </s-button>\n </div>\n</ng-template>\n\n<ng-template #noImage>\n <p class=\"title\">\n {{ simpleTitle }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\">\n {{ actionTitle }}\n </span>\n </p>\n</ng-template>",
190
211
  styles: [".file-input{display:none}.upload-picture{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.upload-picture .info{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:12px 20px;-ms-flex-align:start;align-items:flex-start}.upload-picture .info .title{font-family:\"Open Sans\",sans-serif;font-weight:700;font-size:.875rem;line-height:150%;color:#333}.upload-picture .info .title .action-title{cursor:pointer;color:#428bca}.upload-picture .info .buttons{display:-ms-flexbox;display:flex;gap:8px}.upload-picture .info .buttons s-button{margin:0}.upload-picture .info .subtitle{padding:6px 0;font-family:\"Open Sans\",sans-serif;font-weight:400;font-size:.75rem;line-height:150%;color:#697882;text-align:center}.upload-picture--small .info{-ms-flex-align:center;align-items:center}.upload-picture--small .info .subtitle,.upload-picture--small .info .title{text-align:center}.upload-picture--small .info .buttons{-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}"]
191
212
  })
192
213
  ], ProfilePicturePickerComponent);
193
214
  return ProfilePicturePickerComponent;
194
215
  }());
195
216
  export { ProfilePicturePickerComponent };
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBNkMsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT3ZEO0lBbURHLHVDQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXhDckQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFNaEIsc0JBQWlCLEdBQUcsU0FBUyxDQUFDO1FBRzlCLHNCQUFpQixHQUFHLGNBQWMsQ0FBQztRQVNuQyx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFlbkMsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd4RCxnQkFBVyxHQUF1QyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSVosQ0FBQztJQUUxRCxnREFBUSxHQUFmO1FBQ0csSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUdNLGtEQUFVLEdBQWpCLFVBQWtCLEtBQWdCO1FBQy9CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdNLG1EQUFXLEdBQWxCLFVBQW1CLEtBQWdCO1FBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENB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aW1wb3J0IHtcbiAgIENvbXBvbmVudCxcbiAgIEVsZW1lbnRSZWYsXG4gICBFdmVudEVtaXR0ZXIsXG4gICBIb3N0TGlzdGVuZXIsXG4gICBJbnB1dCxcbiAgIE9uSW5pdCxcbiAgIE91dHB1dCxcbiAgIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgQ3JvcHBlckxhYmVsc0NvbmZpZywgRmlsZVZhbGlkYXRpb25FcnJvcnMsIEZpbGVWYWxpZGF0aW9uIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL2ltYWdlLWNyb3BwZXJcIjtcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogXCJzLXByb2ZpbGUtcGljdHVyZS1waWNrZXJcIixcbiAgIHRlbXBsYXRlVXJsOiBcInByb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgQElucHV0KClcbiAgIHB1YmxpYyBzaW1wbGVUaXRsZTogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjdGlvblRpdGxlOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgc3VidGl0bGU6IHN0cmluZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBhc3BlY3RSYXRpbyA9IDE7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgY3JvcHBlckxhYmVsc0NvbmZpZzogQ3JvcHBlckxhYmVsc0NvbmZpZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyByZW1vdmVCdXR0b25MYWJlbCA9IFwiUmVtb3ZlclwiO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGNoYW5nZUJ1dHRvbkxhYmVsID0gXCJBbHRlcmFyIGZvdG9cIjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjY2VwdDogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHN1cHBvcnRlZEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgIEBWaWV3Q2hpbGQoXCJ1cGxvYWRQaWN0dXJlXCIpXG4gICBwdWJsaWMgdXBsb2FkUGljdHVyZTogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcImluZm9cIilcbiAgIHB1YmxpYyBpbmZvOiBFbGVtZW50UmVmO1xuXG4gICBAVmlld0NoaWxkKFwidGh1bWJuYWlsXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgcHVibGljIHRodW1ibmFpbDogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcImZpbGVJbnB1dFwiLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgIHB1YmxpYyBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGNoYW5nZWRJbWFnZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGludmFsaWRGaWxlOiBFdmVudEVtaXR0ZXI8RmlsZVZhbGlkYXRpb25FcnJvcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcblxuICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbWFnZUNyb3BwZXJTZXJ2aWNlOiBJbWFnZUNyb3BwZXJTZXJ2aWNlKSB7IH1cblxuICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5fbm9ybWFsaXplU3Vwb3J0ZWRFeHRlbnNpb25zKCk7XG4gICB9XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJkcmFnb3ZlclwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICB9XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJkcmFnbGVhdmVcIiwgW1wiJGV2ZW50XCJdKVxuICAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyb3BcIiwgW1wiJGV2ZW50XCJdKVxuICAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGZpbGVzOiBGaWxlW10gPSBbXTtcbiAgICAgIGNvbnN0IGRhdGFUcmFuc2ZlckZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFUcmFuc2ZlckZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICBmaWxlcy5wdXNoKGRhdGFUcmFuc2ZlckZpbGVzLml0ZW0oaSkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9zaG93SW1hZ2VDcm9wcGVyKGZpbGVzKTtcbiAgIH1cblxuICAgLy8gVmVyaWZpY2FuZG8gbyByZWRpbWVuc2lvbmFtZW50byBwYXJhIGFqdXN0YXIgbyBkZXNpZ24gcGFyYSBmaWNhciByZXNwb25zaXZvLlxuICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIilcbiAgIHB1YmxpYyBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLnVwbG9hZFBpY3R1cmUgJiYgdGhpcy5pbmZvICYmIHRoaXMudGh1bWJuYWlsKSB7XG4gICAgICAgICBjb25zdCB1cGxvYWRQaWN0dXJlV2lkdGggPSB0aGlzLl9nZXRXaWR0aEVsZW1lbnQodGhpcy51cGxvYWRQaWN0dXJlKTtcbiAgICAgICAgIGNvbnN0IGluZm9XaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLmluZm8pO1xuICAgICAgICAgY29uc3QgdGh1bWJuYWlsV2lkdGggPSB0aGlzLl9nZXRXaWR0aEVsZW1lbnQodGhpcy50aHVtYm5haWwpO1xuXG4gICAgICAgICBpZiAodGh1bWJuYWlsV2lkdGggKyBpbmZvV2lkdGggPiB1cGxvYWRQaWN0dXJlV2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUGljdHVyZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ1cGxvYWQtcGljdHVyZS0tc21hbGxcIik7XG4gICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQaWN0dXJlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcInVwbG9hZC1waWN0dXJlLS1zbWFsbFwiKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgcHVibGljIHNlbGVjdFBob3RvKCk6IHZvaWQge1xuICAgICAgY29uc3QgZmlsZUlucHV0RWxlbWVudCA9IHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBmaWxlSW5wdXRFbGVtZW50LnZhbHVlID0gXCJcIjtcbiAgICAgIGZpbGVJbnB1dEVsZW1lbnQuY2xpY2soKTtcbiAgIH1cblxuICAgcHVibGljIHJlbW92ZVBob3RvKCk6IHZvaWQge1xuICAgICAgY29uc3QgZmlsZUlucHV0RWxlbWVudCA9IHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBmaWxlSW5wdXRFbGVtZW50LnZhbHVlID0gXCJcIjtcbiAgICAgIHRoaXMuaW1hZ2UgPSBcIlwiO1xuICAgfVxuXG4gICBwdWJsaWMgcGhvdG9TZWxlY3RlZChldmVudDogYW55KSB7XG4gICAgICB0aGlzLl9zaG93SW1hZ2VDcm9wcGVyKGV2ZW50LnNyY0VsZW1lbnQuZmlsZXMpO1xuICAgfVxuXG4gICBwcml2YXRlIF9zaG93SW1hZ2VDcm9wcGVyKGZpbGVzOiBGaWxlW10pIHtcbiAgICAgIGlmICghdGhpcy5fdmFsaWRhdGVEYXRhKGZpbGVzKSkge1xuICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWxlID0gZmlsZXNbMF07XG5cbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgZmlsZVJlYWRlci5vbmxvYWRlbmQgPSAoZmlsZUV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgIHRoaXMuaW1hZ2VDcm9wcGVyU2VydmljZS5zaG93KHtcbiAgICAgICAgICAgIGltYWdlU291cmNlOiBmaWxlRXZlbnQudGFyZ2V0LnJlc3VsdCxcbiAgICAgICAgICAgIGNyb3BwZWRJbWFnZTogaW1hZ2UgPT4ge1xuICAgICAgICAgICAgICAgdGhpcy5pbWFnZSA9IGltYWdlO1xuICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VkSW1hZ2UuZW1pdChpbWFnZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hhbmdlSW1hZ2U6ICgpID0+IHRoaXMuc2VsZWN0UGhvdG8oKSxcbiAgICAgICAgICAgIGFsbG93U2VsZWN0QW5vdGhlcjogZmFsc2UsXG4gICAgICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5hc3BlY3RSYXRpbyxcbiAgICAgICAgICAgIC4uLnRoaXMuY3JvcHBlckxhYmVsc0NvbmZpZyxcbiAgICAgICAgIH0pO1xuICAgICAgfTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfbm9ybWFsaXplU3Vwb3J0ZWRFeHRlbnNpb25zKCkge1xuICAgICAgdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zID0gdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zXG4gICAgICAgICAubWFwKGV4dGVuc2lvbiA9PiBleHRlbnNpb24ucmVwbGFjZShcIi5cIiwgXCJcIikudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICB9XG5cbiAgIHByaXZhdGUgX3ZhbGlkYXRlRGF0YShmaWxlczogRmlsZVtdKSB7XG4gICAgICBpZiAoIWZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmlsZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZTogbnVsbCwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uTWF4RmlsZUxpbWl0IH0pO1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWxlID0gZmlsZXNbMF07XG5cbiAgICAgIGlmICghZmlsZS50eXBlLmluY2x1ZGVzKFwiaW1hZ2VcIikpIHtcbiAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGUsIHZhbGlkYXRpb246IEZpbGVWYWxpZGF0aW9uLlR5cGVJbnZhbGlkIH0pO1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRmlsZUV4dGVuc2lvbihmaWxlKSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uVW5zdXBwb3J0ZWRFeHRlbnNpb24gfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5fdmFsaWRhdGVGaWxlU2l6ZShmaWxlKSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uTWF4RmlsZVNpemUgfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgfVxuXG4gICBwcml2YXRlIF92YWxpZGF0ZUZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSkge1xuICAgICAgaWYgKHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpLnBvcCgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICByZXR1cm4gdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zLmluY2x1ZGVzKGV4dGVuc2lvbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfdmFsaWRhdGVGaWxlU2l6ZShmaWxlOiBGaWxlKSB7XG4gICAgICBpZiAodGhpcy5tYXhGaWxlU2l6ZSkge1xuICAgICAgICAgcmV0dXJuIGZpbGUuc2l6ZSA+IHRoaXMubWF4RmlsZVNpemU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfZ2V0V2lkdGhFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBudW1iZXIge1xuICAgICAgY29uc3QgeyBsZWZ0LCByaWdodCB9ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgcmV0dXJuIHJpZ2h0IC0gbGVmdDtcbiAgIH1cbn1cbiJdfQ==
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxPQUFPLEVBQTZDLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNyRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVF2RDtJQTJERyx1Q0FDVyxtQkFBd0MsRUFDeEMsbUJBQXdDO1FBRHhDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQWxENUMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFNaEIsc0JBQWlCLEdBQUcsU0FBUyxDQUFDO1FBRzlCLHNCQUFpQixHQUFHLGNBQWMsQ0FBQztRQUduQyxzQkFBaUIsR0FBc0I7WUFDM0MsYUFBYSxFQUFFLHdCQUF3QjtZQUN2QyxjQUFjLEVBQUUsNERBQTREO1lBQzVFLGtCQUFrQixFQUFFLFNBQVM7WUFDN0Isa0JBQWtCLEVBQUUsVUFBVTtTQUNoQyxDQUFDO1FBU0ssd0JBQW1CLEdBQWEsRUFBRSxDQUFDO1FBZW5DLGlCQUFZLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHeEQsZ0JBQVcsR0FBdUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQU94RSxDQUFDO0lBRUUsZ0RBQVEsR0FBZjtRQUNHLElBQUks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QUFFLFVBQVUsRUFBRSxDQUFDO29FQUNoQjtJQUc3QjtRQURDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7b0VBQ2hCO0lBRzdCO1FBREMsTUFBTSxFQUFFO3VFQUNzRDtJQUcvRDtRQURDLE1BQU0sRUFBRTtzRUFDbUU7SUFjNUU7UUFEQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7bUVBSXBDO0lBR0Q7UUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7b0VBSXJDO0lBR0Q7UUFEQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7K0RBYWhDO0lBSUQ7UUFEQyxZQUFZLENBQUMsZUFBZSxDQUFDO2lFQWE3QjtJQTdHUyw2QkFBNkI7UUFMekMsU0FBUyxDQUFDO1lBQ1IsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxvcENBQW9EOztTQUV0RCxDQUFDO09BQ1csNkJBQTZCLENBcU56QztJQUFELG9DQUFDO0NBQUEsQUFyTkQsSUFxTkM7U0FyTlksNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgIENvbXBvbmVudCxcbiAgIEVsZW1lbnRSZWYsXG4gICBFdmVudEVtaXR0ZXIsXG4gICBIb3N0TGlzdGVuZXIsXG4gICBJbnB1dCxcbiAgIE9uSW5pdCxcbiAgIE91dHB1dCxcbiAgIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuXG5pbXBvcnQgeyBDcm9wcGVyTGFiZWxzQ29uZmlnLCBGaWxlVmFsaWRhdGlvbkVycm9ycywgRmlsZVZhbGlkYXRpb24gfSBmcm9tIFwiLi9tb2RlbHNcIjtcbmltcG9ydCB7IEltYWdlQ3JvcHBlclNlcnZpY2UgfSBmcm9tIFwiLi4vaW1hZ2UtY3JvcHBlclwiO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uVGV4dHMgfSBmcm9tIFwiLi9tb2RlbHMvY29uZmlybWF0aW9uLXRleHRzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6IFwicy1wcm9maWxlLXBpY3R1cmUtcGlja2VyXCIsXG4gICB0ZW1wbGF0ZVVybDogXCJwcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXG4gICBzdHlsZVVybHM6IFtcInByb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgc2ltcGxlVGl0bGU6IHN0cmluZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBhY3Rpb25UaXRsZTogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHN1YnRpdGxlOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYXNwZWN0UmF0aW8gPSAxO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGNyb3BwZXJMYWJlbHNDb25maWc6IENyb3BwZXJMYWJlbHNDb25maWc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgcmVtb3ZlQnV0dG9uTGFiZWwgPSBcIlJlbW92ZXJcIjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBjaGFuZ2VCdXR0b25MYWJlbCA9IFwiQWx0ZXJhciBmb3RvXCI7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgY29uZmlybWF0aW9uVGV4dHM6IENvbmZpcm1hdGlvblRleHRzID0ge1xuICAgICAgcmVtb3ZhbEhlYWRlcjogXCJSZW1vdmVyIGZvdG8gZGUgcGVyZmlsXCIsXG4gICAgICByZW1vdmFsTWVzc2FnZTogXCJEZXNlamEgcmVtb3ZlciBzdWEgZm90byBkZSBwZXJmaWw/IE7Do28gcG9kZSBzZXIgcmV2ZXJ0aWRhLlwiLFxuICAgICAgcmVtb3ZhbEFjY2VwdExhYmVsOiBcIlJlbW92ZXJcIixcbiAgICAgIHJlbW92YWxSZWplY3RMYWJlbDogXCJDYW5jZWxhclwiLFxuICAgfTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjY2VwdDogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHN1cHBvcnRlZEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgIEBWaWV3Q2hpbGQoXCJ1cGxvYWRQaWN0dXJlXCIpXG4gICBwdWJsaWMgdXBsb2FkUGljdHVyZTogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcImluZm9cIilcbiAgIHB1YmxpYyBpbmZvOiBFbGVtZW50UmVmO1xuXG4gICBAVmlld0NoaWxkKFwidGh1bWJuYWlsXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgcHVibGljIHRodW1ibmFpbDogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcImZpbGVJbnB1dFwiLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgIHB1YmxpYyBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGNoYW5nZWRJbWFnZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGludmFsaWRGaWxlOiBFdmVudEVtaXR0ZXI8RmlsZVZhbGlkYXRpb25FcnJvcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcblxuICAgY29uc3RydWN0b3IoXG4gICAgICBwcml2YXRlIGltYWdlQ3JvcHBlclNlcnZpY2U6IEltYWdlQ3JvcHBlclNlcnZpY2UsXG4gICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICApIHsgfVxuXG4gICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLl9ub3JtYWxpemVTdXBvcnRlZEV4dGVuc2lvbnMoKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdvdmVyXCIsIFtcIiRldmVudFwiXSlcbiAgIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdsZWF2ZVwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwiZHJvcFwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICAgICAgY29uc3QgZGF0YVRyYW5zZmVyRmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVRyYW5zZmVyRmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgIGZpbGVzLnB1c2goZGF0YVRyYW5zZmVyRmlsZXMuaXRlbShpKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3Nob3dJbWFnZUNyb3BwZXIoZmlsZXMpO1xuICAgfVxuXG4gICAvLyBWZXJpZmljYW5kbyBvIHJlZGltZW5zaW9uYW1lbnRvIHBhcmEgYWp1c3RhciBvIGRlc2lnbiBwYXJhIGZpY2FyIHJlc3BvbnNpdm8uXG4gICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICAgcHVibGljIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudXBsb2FkUGljdHVyZSAmJiB0aGlzLmluZm8gJiYgdGhpcy50aHVtYm5haWwpIHtcbiAgICAgICAgIGNvbnN0IHVwbG9hZFBpY3R1cmVXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnVwbG9hZFBpY3R1cmUpO1xuICAgICAgICAgY29uc3QgaW5mb1dpZHRoID0gdGhpcy5fZ2V0V2lkdGhFbGVtZW50KHRoaXMuaW5mbyk7XG4gICAgICAgICBjb25zdCB0aHVtYm5haWxXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnRodW1ibmFpbCk7XG5cbiAgICAgICAgIGlmICh0aHVtYm5haWxXaWR0aCArIGluZm9XaWR0aCA+IHVwbG9hZFBpY3R1cmVXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQaWN0dXJlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInVwbG9hZC1waWN0dXJlLS1zbWFsbFwiKTtcbiAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFBpY3R1cmUubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwidXBsb2FkLXBpY3R1cmUtLXNtYWxsXCIpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgc2VsZWN0UGhvdG8oKTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudDtcbiAgICAgIGZpbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICAgICAgZmlsZUlucHV0RWxlbWVudC5jbGljaygpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVtb3ZlUGhvdG8oKTogdm9pZCB7XG4gICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICBtZXNzYWdlOiB0aGlzLmNvbmZpcm1hdGlvblRleHRzLnJlbW92YWxNZXNzYWdlLFxuICAgICAgICAgYWNjZXB0TGFiZWw6IHRoaXMuY29uZmlybWF0aW9uVGV4dHMucmVtb3ZhbEFjY2VwdExhYmVsLFxuICAgICAgICAgcmVqZWN0TGFiZWw6IHRoaXMuY29uZmlybWF0aW9uVGV4dHMucmVtb3ZhbFJlamVjdExhYmVsLFxuICAgICAgICAgaGVhZGVyOiB0aGlzLmNvbmZpcm1hdGlvblRleHRzLnJlbW92YWxIZWFkZXIsXG4gICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVJbnB1dEVsZW1lbnQgPSB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgZmlsZUlucHV0RWxlbWVudC52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICB0aGlzLmltYWdlID0gXCJcIjtcbiAgICAgICAgIH0sXG4gICAgICB9KTtcbiAgIH1cblxuICAgcHVibGljIHBob3RvU2VsZWN0ZWQoZXZlbnQ6IGFueSkge1xuICAgICAgdGhpcy5fc2hvd0ltYWdlQ3JvcHBlcihldmVudC5zcmNFbGVtZW50LmZpbGVzKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfc2hvd0ltYWdlQ3JvcHBlcihmaWxlczogRmlsZVtdKSB7XG4gICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRGF0YShmaWxlcykpIHtcbiAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xuXG4gICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIGZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgIGZpbGVSZWFkZXIub25sb2FkZW5kID0gKGZpbGVFdmVudDogYW55KSA9PiB7XG4gICAgICAgICB0aGlzLmltYWdlQ3JvcHBlclNlcnZpY2Uuc2hvdyh7XG4gICAgICAgICAgICBpbWFnZVNvdXJjZTogZmlsZUV2ZW50LnRhcmdldC5yZXN1bHQsXG4gICAgICAgICAgICBjcm9wcGVkSW1hZ2U6IGltYWdlID0+IHtcbiAgICAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSBpbWFnZTtcbiAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlZEltYWdlLmVtaXQoaW1hZ2UpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoYW5nZUltYWdlOiAoKSA9PiB0aGlzLnNlbGVjdFBob3RvKCksXG4gICAgICAgICAgICBhbGxvd1NlbGVjdEFub3RoZXI6IGZhbHNlLFxuICAgICAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW8sXG4gICAgICAgICAgICAuLi50aGlzLmNyb3BwZXJMYWJlbHNDb25maWcsXG4gICAgICAgICB9KTtcbiAgICAgIH07XG4gICB9XG5cbiAgIHByaXZhdGUgX25vcm1hbGl6ZVN1cG9ydGVkRXh0ZW5zaW9ucygpIHtcbiAgICAgIHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucyA9IHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9uc1xuICAgICAgICAgLm1hcChleHRlbnNpb24gPT4gZXh0ZW5zaW9uLnJlcGxhY2UoXCIuXCIsIFwiXCIpLnRvTG9jYWxlTG93ZXJDYXNlKCkpO1xuICAgfVxuXG4gICBwcml2YXRlIF92YWxpZGF0ZURhdGEoZmlsZXM6IEZpbGVbXSkge1xuICAgICAgaWYgKCFmaWxlcy5sZW5ndGgpIHtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGU6IG51bGwsIHZhbGlkYXRpb246IEZpbGVWYWxpZGF0aW9uLk1heEZpbGVMaW1pdCB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xuXG4gICAgICBpZiAoIWZpbGUudHlwZS5pbmNsdWRlcyhcImltYWdlXCIpKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5UeXBlSW52YWxpZCB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVFeHRlbnNpb24oZmlsZSkpIHtcbiAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGUsIHZhbGlkYXRpb246IEZpbGVWYWxpZGF0aW9uLlVuc3VwcG9ydGVkRXh0ZW5zaW9uIH0pO1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRmlsZVNpemUoZmlsZSkpIHtcbiAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGUsIHZhbGlkYXRpb246IEZpbGVWYWxpZGF0aW9uLk1heEZpbGVTaXplIH0pO1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfdmFsaWRhdGVGaWxlRXh0ZW5zaW9uKGZpbGU6IEZpbGUpIHtcbiAgICAgIGlmICh0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnM/Lmxlbmd0aCkge1xuICAgICAgICAgY29uc3QgZXh0ZW5zaW9uID0gZmlsZS5uYW1lLnNwbGl0KFwiLlwiKS5wb3AoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgcmV0dXJuIHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucy5pbmNsdWRlcyhleHRlbnNpb24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICB9XG5cbiAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZVNpemUoZmlsZTogRmlsZSkge1xuICAgICAgaWYgKHRoaXMubWF4RmlsZVNpemUpIHtcbiAgICAgICAgIHJldHVybiBmaWxlLnNpemUgPiB0aGlzLm1heEZpbGVTaXplO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICB9XG5cbiAgIHByaXZhdGUgX2dldFdpZHRoRWxlbWVudChlbGVtZW50OiBFbGVtZW50UmVmKTogbnVtYmVyIHtcbiAgICAgIGNvbnN0IHsgbGVmdCwgcmlnaHQgfSA9IGVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHJldHVybiByaWdodCAtIGxlZnQ7XG4gICB9XG59XG4iXX0=
@@ -1,6 +1,8 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule } from "@angular/core";
3
3
  import { CommonModule } from "@angular/common";
4
+ import { ConfirmDialogModule } from "primeng/confirmdialog";
5
+ import { ConfirmationService } from "primeng/api";
4
6
  import { ButtonModule } from '../button/button.module';
5
7
  import { ThumbnailModule } from '../thumbnail/thumbnail.module';
6
8
  import { ImageCropperModule } from '../image-cropper/image-cropper.module';
@@ -16,13 +18,17 @@ var ProfilePicturePickerModule = /** @class */ (function () {
16
18
  ButtonModule,
17
19
  ThumbnailModule,
18
20
  ImageCropperModule,
21
+ ConfirmDialogModule,
19
22
  ],
20
23
  declarations: [ProfilePicturePickerComponent],
21
24
  exports: [ProfilePicturePickerComponent],
22
- providers: [ImageCropperService],
25
+ providers: [
26
+ ImageCropperService,
27
+ ConfirmationService,
28
+ ],
23
29
  })
24
30
  ], ProfilePicturePickerModule);
25
31
  return ProfilePicturePickerModule;
26
32
  }());
27
33
  export { ProfilePicturePickerModule };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBYW5GO0lBQUE7SUFBMEMsQ0FBQztJQUE5QiwwQkFBMEI7UUFYdEMsUUFBUSxDQUFDO1lBQ1AsT0FBTyxFQUFFO2dCQUNOLFlBQVk7Z0JBQ1osWUFBWTtnQkFDWixlQUFlO2dCQUNmLGtCQUFrQjthQUNwQjtZQUNELFlBQVksRUFBRSxDQUFDLDZCQUE2QixDQUFDO1lBQzdDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO1lBQ3hDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQ2xDLENBQUM7T0FDVywwQkFBMEIsQ0FBSTtJQUFELGlDQUFDO0NBQUEsQUFBM0MsSUFBMkM7U0FBOUIsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBUaHVtYm5haWxNb2R1bGUgfSBmcm9tICcuLi90aHVtYm5haWwvdGh1bWJuYWlsLm1vZHVsZSc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJNb2R1bGUgfSBmcm9tICcuLi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIubW9kdWxlJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlclNlcnZpY2UgfSBmcm9tICcuLi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudCB9IGZyb20gXCIuL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gICBpbXBvcnRzOiBbXG4gICAgICBDb21tb25Nb2R1bGUsXG4gICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICBUaHVtYm5haWxNb2R1bGUsXG4gICAgICBJbWFnZUNyb3BwZXJNb2R1bGUsXG4gICBdLFxuICAgZGVjbGFyYXRpb25zOiBbUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnRdLFxuICAgZXhwb3J0czogW1Byb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50XSxcbiAgIHByb3ZpZGVyczogW0ltYWdlQ3JvcHBlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlUGljdHVyZVBpY2tlck1vZHVsZSB7IH0iXX0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQWlCbkY7SUFBQTtJQUEwQyxDQUFDO0lBQTlCLDBCQUEwQjtRQWZ0QyxRQUFRLENBQUM7WUFDUCxPQUFPLEVBQUU7Z0JBQ04sWUFBWTtnQkFDWixZQUFZO2dCQUNaLGVBQWU7Z0JBQ2Ysa0JBQWtCO2dCQUNsQixtQkFBbUI7YUFDckI7WUFDRCxZQUFZLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztZQUM3QyxPQUFPLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztZQUN4QyxTQUFTLEVBQUU7Z0JBQ1IsbUJBQW1CO2dCQUNuQixtQkFBbUI7YUFDckI7U0FDSCxDQUFDO09BQ1csMEJBQTBCLENBQUk7SUFBRCxpQ0FBQztDQUFBLEFBQTNDLElBQTJDO1NBQTlCLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gXCJwcmltZW5nL2NvbmZpcm1kaWFsb2dcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcblxuaW1wb3J0IHsgQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGUnO1xuaW1wb3J0IHsgVGh1bWJuYWlsTW9kdWxlIH0gZnJvbSAnLi4vdGh1bWJuYWlsL3RodW1ibmFpbC5tb2R1bGUnO1xuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyTW9kdWxlIH0gZnJvbSAnLi4vaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnQgfSBmcm9tIFwiLi9wcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICAgaW1wb3J0czogW1xuICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgQnV0dG9uTW9kdWxlLFxuICAgICAgVGh1bWJuYWlsTW9kdWxlLFxuICAgICAgSW1hZ2VDcm9wcGVyTW9kdWxlLFxuICAgICAgQ29uZmlybURpYWxvZ01vZHVsZSxcbiAgIF0sXG4gICBkZWNsYXJhdGlvbnM6IFtQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudF0sXG4gICBleHBvcnRzOiBbUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnRdLFxuICAgcHJvdmlkZXJzOiBbXG4gICAgICBJbWFnZUNyb3BwZXJTZXJ2aWNlLFxuICAgICAgQ29uZmlybWF0aW9uU2VydmljZSxcbiAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVQaWN0dXJlUGlja2VyTW9kdWxlIHsgfSJdfQ==
@@ -43,6 +43,8 @@ import * as elementResizeDetectorMaker_ from 'element-resize-detector';
43
43
  import { FocusTrapFactory, A11yModule } from '@angular/cdk/a11y';
44
44
  import { ScrollPanelModule } from 'primeng/scrollpanel';
45
45
  import { Sidebar, SidebarModule as SidebarModule$1 } from 'primeng/sidebar';
46
+ import { ConfirmationService } from 'primeng/api';
47
+ import { ConfirmDialogModule } from 'primeng/confirmdialog';
46
48
  import { EditorView } from '@codemirror/view';
47
49
  import { StateField, StateEffect, EditorState } from '@codemirror/state';
48
50
  import { setDiagnostics } from '@codemirror/lint';
@@ -7704,11 +7706,18 @@ var FileValidation;
7704
7706
  })(FileValidation || (FileValidation = {}));
7705
7707
 
7706
7708
  let ProfilePicturePickerComponent = class ProfilePicturePickerComponent {
7707
- constructor(imageCropperService) {
7709
+ constructor(imageCropperService, confirmationService) {
7708
7710
  this.imageCropperService = imageCropperService;
7711
+ this.confirmationService = confirmationService;
7709
7712
  this.aspectRatio = 1;
7710
7713
  this.removeButtonLabel = "Remover";
7711
7714
  this.changeButtonLabel = "Alterar foto";
7715
+ this.confirmationTexts = {
7716
+ removalHeader: "Remover foto de perfil",
7717
+ removalMessage: "Deseja remover sua foto de perfil? Não pode ser revertida.",
7718
+ removalAcceptLabel: "Remover",
7719
+ removalRejectLabel: "Cancelar",
7720
+ };
7712
7721
  this.supportedExtensions = [];
7713
7722
  this.changedImage = new EventEmitter();
7714
7723
  this.invalidFile = new EventEmitter();
@@ -7754,9 +7763,17 @@ let ProfilePicturePickerComponent = class ProfilePicturePickerComponent {
7754
7763
  fileInputElement.click();
7755
7764
  }
7756
7765
  removePhoto() {
7757
- const fileInputElement = this.fileInput.nativeElement;
7758
- fileInputElement.value = "";
7759
- this.image = "";
7766
+ this.confirmationService.confirm({
7767
+ message: this.confirmationTexts.removalMessage,
7768
+ acceptLabel: this.confirmationTexts.removalAcceptLabel,
7769
+ rejectLabel: this.confirmationTexts.removalRejectLabel,
7770
+ header: this.confirmationTexts.removalHeader,
7771
+ accept: () => {
7772
+ const fileInputElement = this.fileInput.nativeElement;
7773
+ fileInputElement.value = "";
7774
+ this.image = "";
7775
+ },
7776
+ });
7760
7777
  }
7761
7778
  photoSelected(event) {
7762
7779
  this._showImageCropper(event.srcElement.files);
@@ -7822,7 +7839,8 @@ let ProfilePicturePickerComponent = class ProfilePicturePickerComponent {
7822
7839
  }
7823
7840
  };
7824
7841
  ProfilePicturePickerComponent.ctorParameters = () => [
7825
- { type: ImageCropperService }
7842
+ { type: ImageCropperService },
7843
+ { type: ConfirmationService }
7826
7844
  ];
7827
7845
  __decorate([
7828
7846
  Input()
@@ -7845,6 +7863,9 @@ __decorate([
7845
7863
  __decorate([
7846
7864
  Input()
7847
7865
  ], ProfilePicturePickerComponent.prototype, "changeButtonLabel", void 0);
7866
+ __decorate([
7867
+ Input()
7868
+ ], ProfilePicturePickerComponent.prototype, "confirmationTexts", void 0);
7848
7869
  __decorate([
7849
7870
  Input()
7850
7871
  ], ProfilePicturePickerComponent.prototype, "maxFileSize", void 0);
@@ -7887,7 +7908,7 @@ __decorate([
7887
7908
  ProfilePicturePickerComponent = __decorate([
7888
7909
  Component({
7889
7910
  selector: "s-profile-picture-picker",
7890
- template: "<input #fileInput [accept]=\"accept\" class=\"file-input\" type=\"file\" (change)=\"photoSelected($event)\">\n<div #uploadPicture class=\"upload-picture\">\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"image\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\">\n </s-thumbnail>\n <div #info class=\"info\">\n <ng-container *ngIf=\"image; then withImage; else noImage\"></ng-container>\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n\n<ng-template #withImage>\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel\"\n priority=\"primary\"\n (onClick)=\"selectPhoto()\">\n </s-button>\n <s-button\n [label]=\"removeButtonLabel\"\n priority=\"secondary\"\n (onClick)=\"removePhoto()\">\n </s-button>\n </div>\n</ng-template>\n\n<ng-template #noImage>\n <p class=\"title\">\n {{ simpleTitle }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\">\n {{ actionTitle }}\n </span>\n </p>\n</ng-template>",
7911
+ template: "<p-confirmDialog></p-confirmDialog>\n\n<input #fileInput [accept]=\"accept\" class=\"file-input\" type=\"file\" (change)=\"photoSelected($event)\">\n<div #uploadPicture class=\"upload-picture\">\n <s-thumbnail\n #thumbnail\n iconClass=\"far fa-user\"\n [imageSource]=\"image\"\n [hasAction]=\"!image\"\n (click)=\"selectPhoto()\">\n </s-thumbnail>\n <div #info class=\"info\">\n <ng-container *ngIf=\"image; then withImage; else noImage\"></ng-container>\n <p class=\"subtitle\">{{ subtitle }}</p>\n </div>\n</div>\n\n<ng-template #withImage>\n <div class=\"buttons\">\n <s-button\n [label]=\"changeButtonLabel\"\n priority=\"primary\"\n (onClick)=\"selectPhoto()\">\n </s-button>\n <s-button\n [label]=\"removeButtonLabel\"\n priority=\"secondary\"\n (onClick)=\"removePhoto()\">\n </s-button>\n </div>\n</ng-template>\n\n<ng-template #noImage>\n <p class=\"title\">\n {{ simpleTitle }}\n <span\n class=\"action-title\"\n (click)=\"selectPhoto()\">\n {{ actionTitle }}\n </span>\n </p>\n</ng-template>",
7891
7912
  styles: [".file-input{display:none}.upload-picture{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.upload-picture .info{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding:12px 20px;-ms-flex-align:start;align-items:flex-start}.upload-picture .info .title{font-family:\"Open Sans\",sans-serif;font-weight:700;font-size:.875rem;line-height:150%;color:#333}.upload-picture .info .title .action-title{cursor:pointer;color:#428bca}.upload-picture .info .buttons{display:-ms-flexbox;display:flex;gap:8px}.upload-picture .info .buttons s-button{margin:0}.upload-picture .info .subtitle{padding:6px 0;font-family:\"Open Sans\",sans-serif;font-weight:400;font-size:.75rem;line-height:150%;color:#697882;text-align:center}.upload-picture--small .info{-ms-flex-align:center;align-items:center}.upload-picture--small .info .subtitle,.upload-picture--small .info .title{text-align:center}.upload-picture--small .info .buttons{-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}"]
7892
7913
  })
7893
7914
  ], ProfilePicturePickerComponent);
@@ -7901,10 +7922,14 @@ ProfilePicturePickerModule = __decorate([
7901
7922
  ButtonModule,
7902
7923
  ThumbnailModule,
7903
7924
  ImageCropperModule,
7925
+ ConfirmDialogModule,
7904
7926
  ],
7905
7927
  declarations: [ProfilePicturePickerComponent],
7906
7928
  exports: [ProfilePicturePickerComponent],
7907
- providers: [ImageCropperService],
7929
+ providers: [
7930
+ ImageCropperService,
7931
+ ConfirmationService,
7932
+ ],
7908
7933
  })
7909
7934
  ], ProfilePicturePickerModule);
7910
7935