@seniorsistemas/angular-components 17.3.6 → 17.3.8

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,4 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare namespace ImageUtils {
3
+ function adjustAspectRatio(imageBase64: string): Observable<string>;
4
+ }
@@ -1,5 +1,6 @@
1
1
  var ImageCropperComponent_1;
2
2
  import { __decorate } from "tslib";
3
+ import { ImageUtils } from './../utils/image-utils';
3
4
  import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, ContentChild, } from "@angular/core";
4
5
  import Cropper from "cropperjs";
5
6
  import { HeaderComponent } from "../structure/header.component";
@@ -40,14 +41,17 @@ let ImageCropperComponent = ImageCropperComponent_1 = class ImageCropperComponen
40
41
  initCropper() {
41
42
  if (this.cropper)
42
43
  this.cropper.destroy();
43
- this.image.nativeElement.src = this.imageSource;
44
- this.cropper = new Cropper(this.image.nativeElement, {
45
- aspectRatio: this.rounded ? 1 : this.aspectRatio,
46
- guides: false,
47
- dragMode: "move",
48
- minCropBoxHeight: 2,
49
- minCropBoxWidth: 2,
50
- toggleDragModeOnDblclick: false,
44
+ ImageUtils.adjustAspectRatio(this.imageSource)
45
+ .subscribe(imageBase64 => {
46
+ this.image.nativeElement.src = imageBase64;
47
+ this.cropper = new Cropper(this.image.nativeElement, {
48
+ aspectRatio: this.rounded ? 1 : this.aspectRatio,
49
+ guides: false,
50
+ dragMode: "move",
51
+ minCropBoxHeight: 2,
52
+ minCropBoxWidth: 2,
53
+ toggleDragModeOnDblclick: false,
54
+ });
51
55
  });
52
56
  }
53
57
  getRoundedCanvas(sourceCanvas) {
@@ -181,4 +185,4 @@ ImageCropperComponent = ImageCropperComponent_1 = __decorate([
181
185
  })
182
186
  ], ImageCropperComponent);
183
187
  export { ImageCropperComponent };
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBR2pCLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVFoRSxJQUFhLHFCQUFxQiw2QkFBbEMsTUFBYSxxQkFBcUI7SUFBbEM7UUFJVyxPQUFFLEdBQUcsbUJBQW1CLHVCQUFxQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFHekQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdoQixXQUFNLEdBQUcsaUJBQWlCLENBQUM7UUFHM0IsY0FBUyxHQUFHLFVBQVUsQ0FBQztRQUd2Qix1QkFBa0IsR0FBRyxRQUFRLENBQUM7UUFHOUIsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFHeEIsZ0JBQVcsR0FBRyxVQUFVLENBQUM7UUFHekIsb0JBQWUsR0FBRyxzREFBc0QsQ0FBQztRQUd6RSwwQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQztRQUcxQyx3QkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztRQUd4QyxnQkFBVyxHQUFHLEdBQUcsQ0FBQztRQUdsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBR2hCLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQUcxQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUduQixnQkFBVyxHQUFHLElBQUksQ0FBQztR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RUFBRTswREFDd0I7QUFHaEM7SUFEQyxLQUFLLEVBQUU7OERBQ3dFO0FBR2hGO0lBREMsS0FBSyxFQUFFO29FQUN5QztBQUdqRDtJQURDLEtBQUssRUFBRTtrRUFDdUM7QUFHL0M7SUFEQyxLQUFLLEVBQUU7MERBQ2lCO0FBR3pCO0lBREMsS0FBSyxFQUFFO3NEQUNlO0FBR3ZCO0lBREMsS0FBSyxFQUFFO2lFQUN5QjtBQUdqQztJQURDLEtBQUssRUFBRTswREFDa0I7QUFHMUI7SUFEQyxLQUFLLEVBQUU7MERBQ2tCO0FBRzFCO0lBREMsS0FBSyxFQUFFOzBEQUNvQjtBQUc1QjtJQURDLE1BQU0sRUFBRTs0REFDMEM7QUFHbkQ7SUFEQyxNQUFNLEVBQUU7MERBQytCO0FBR3hDO0lBREMsTUFBTSxFQUFFOzJEQUN3QztBQUdqRDtJQURDLE1BQU0sRUFBRTs0REFDb0Q7QUFHN0Q7SUFEQyxNQUFNLEVBQUU7MkRBQ2dDO0FBR3pDO0lBREMsTUFBTSxFQUFFO3FEQUMwQjtBQUduQztJQURDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7b0RBQ1o7QUFHekI7SUFEQyxZQUFZLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDOzREQUNWO0FBR3RDO0lBREMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzs0REFDVjtBQTVFN0IscUJBQXFCO0lBTmpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0Isb3hHQUE2QztRQUU3QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7S0FDeEMsQ0FBQztHQUNXLHFCQUFxQixDQXlKakM7U0F6SlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ29udGVudENoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IENyb3BwZXIgZnJvbSBcImNyb3BwZXJqc1wiO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3N0cnVjdHVyZS9oZWFkZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb290ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vc3RydWN0dXJlL2Zvb3Rlci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1pbWFnZS1jcm9wcGVyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3JvcHBlcmpzL2Rpc3QvY3JvcHBlci5taW4uY3NzXCIsIFwiLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLWltYWdlLWNyb3BwZXItJHtJbWFnZUNyb3BwZXJDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZpc2libGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRlciA9IFwiUmVjb3J0YXIgaW1hZ2VtXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjcm9wTGFiZWwgPSBcIlJlY29ydGFyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RBbm90aGVyTGFiZWwgPSBcIlRyb2NhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVtb3ZlTGFiZWwgPSBcIlJlbW92ZXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhbmNlbExhYmVsID0gXCJDYW5jZWxhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlTdGF0ZVRpdGxlID0gXCJTZWxlY2lvbmUgdW1hIGZvdG8sIGVtIHNlZ3VpZGEgdm9jw6ogcG9kZXLDoSBhanVzdMOhLWxhXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXB0eVN0YXRlQWN0aW9uTGFiZWwgPSBcIkVzY29saGVyIGltYWdlbVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlTdGF0ZUljb25DbGFzcyA9IFwiZmEgZmEtcGljdHVyZS1vXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhc3BlY3RSYXRpbyA9IE5hTjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJvdW5kZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFsbG93U2VsZWN0QW5vdGhlciA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd1JlbW92ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd0NhbmNlbCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZVNvdXJjZT86IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNoYW5nZUltYWdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNyb3BwZWRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNyb3BwZWRDYW52YXMgPSBuZXcgRXZlbnRFbWl0dGVyPEhUTUxDYW52YXNFbGVtZW50PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlbW92ZWRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKFwiaW1hZ2VcIiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgaW1hZ2U6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKEhlYWRlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgaGVhZGVyU2VjdGlvbjogSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChGb290ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIGZvb3RlclNlY3Rpb246IEZvb3RlckNvbXBvbmVudDtcblxuICAgIHB1YmxpYyBjcm9wcGVyOiBDcm9wcGVyO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5pbWFnZVNvdXJjZSkgdGhpcy5pbml0Q3JvcHBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmltYWdlU291cmNlICYmIGNoYW5nZXMuaW1hZ2VTb3VyY2UuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDcm9wcGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDcm9wcGVyKCkge1xuICAgICAgICBpZiAodGhpcy5jcm9wcGVyKSB0aGlzLmNyb3BwZXIuZGVzdHJveSgpO1xuICAgICAgICB0aGlzLmltYWdlLm5hdGl2ZUVsZW1lbnQuc3JjID0gdGhpcy5pbWFnZVNvdXJjZTtcbiAgICAgICAgdGhpcy5jcm9wcGVyID0gbmV3IENyb3BwZXIodGhpcy5pbWFnZS5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5yb3VuZGVkID8gMSA6IHRoaXMuYXNwZWN0UmF0aW8sXG4gICAgICAgICAgICBndWlkZXM6IGZhbHNlLFxuICAgICAgICAgICAgZHJhZ01vZGU6IFwibW92ZVwiIGFzIENyb3BwZXIuRHJhZ01vZGUsXG4gICAgICAgICAgICBtaW5Dcm9wQm94SGVpZ2h0OiAyLFxuICAgICAgICAgICAgbWluQ3JvcEJveFdpZHRoOiAyLFxuICAgICAgICAgICAgdG9nZ2xlRHJhZ01vZGVPbkRibGNsaWNrOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFJvdW5kZWRDYW52YXMoc291cmNlQ2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCkge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiY2FudmFzXCIpO1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcbiAgICAgICAgY29uc3Qgd2lkdGggPSBzb3VyY2VDYW52YXMud2lkdGg7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IHNvdXJjZUNhbnZhcy5oZWlnaHQ7XG4gICAgICAgIGNhbnZhcy53aWR0aCA9IHdpZHRoO1xuICAgICAgICBjYW52YXMuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICBjb250ZXh0LmltYWdlU21vb3RoaW5nRW5hYmxlZCA9IHRydWU7XG4gICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKHNvdXJjZUNhbnZhcywgMCwgMCwgd2lkdGgsIGhlaWdodCk7XG4gICAgICAgIGNvbnRleHQuZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gXCJkZXN0aW5hdGlvbi1pblwiO1xuICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpO1xuICAgICAgICBjb250ZXh0LmFyYyh3aWR0aCAvIDIsIGhlaWdodCAvIDIsIE1hdGgubWluKHdpZHRoLCBoZWlnaHQpIC8gMiwgMCwgMiAqIE1hdGguUEksIHRydWUpO1xuICAgICAgICBjb250ZXh0LmZpbGwoKTtcbiAgICAgICAgcmV0dXJuIGNhbnZhcztcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Dcm9wSW1hZ2UoKSB7XG4gICAgICAgIGlmICghdGhpcy5pbWFnZVNvdXJjZSkge1xuICAgICAgICAgICAgdGhpcy5jcm9wcGVkSW1hZ2UuZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5jcm9wcGVkQ2FudmFzLmVtaXQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IF9jcm9wcGVkQ2FudmFzID0gdGhpcy5yb3VuZGVkXG4gICAgICAgICAgICAgICAgPyB0aGlzLmdldFJvdW5kZWRDYW52YXModGhpcy5jcm9wcGVyLmdldENyb3BwZWRDYW52YXMoKSlcbiAgICAgICAgICAgICAgICA6IHRoaXMuY3JvcHBlci5nZXRDcm9wcGVkQ2FudmFzKCk7XG5cbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZENhbnZhcy5lbWl0KF9jcm9wcGVkQ2FudmFzKTtcbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZEltYWdlLmVtaXQoX2Nyb3BwZWRDYW52YXMudG9EYXRhVVJMKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNoYW5nZUltYWdlKCkge1xuICAgICAgICB0aGlzLmNoYW5nZUltYWdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25SZW1vdmVJbWFnZSgpIHtcbiAgICAgICAgdGhpcy5pbWFnZVNvdXJjZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5yZW1vdmVkSW1hZ2UuZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy52aXNpYmxlQ2hhbmdlLmVtaXQoZmFsc2UpO1xuICAgICAgICB0aGlzLmNhbmNlbC5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTW9kYWxWaXNpYmxlQ2hhbmdlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCF2aXNpYmxlKSB0aGlzLm9uQ2FuY2VsKCk7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHZpc2libGUpO1xuICAgIH1cbn1cbiJdfQ==
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFDSCxTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixFQUdqQixZQUFZLEdBQ2YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxPQUFPLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFRaEUsSUFBYSxxQkFBcUIsNkJBQWxDLE1BQWEscUJBQXFCO0lBQWxDO1FBSVcsT0FBRSxHQUFHLG1CQUFtQix1QkFBcUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBR3pELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsV0FBTSxHQUFHLGlCQUFpQixDQUFDO1FBRzNCLGNBQVMsR0FBRyxVQUFVLENBQUM7UUFHdkIsdUJBQWtCLEdBQUcsUUFBUSxDQUFDO1FBRzlCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBR3hCLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBR3pCLG9CQUFlLEdBQUcsc0RBQXNELENBQUM7UUFHekUsMEJBQXFCLEdBQUcsaUJBQWlCLENBQUM7UUFHMUMsd0JBQW1CLEdBQUcsaUJBQWlCLENBQUM7UUFHeEMsZ0JBQVcsR0FBRyxHQUFHLENBQUM7UUFHbEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdoQix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFHMUIsZ0JBQVcs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U0EvSlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW1hZ2VVdGlscyB9IGZyb20gJy4vLi4vdXRpbHMvaW1hZ2UtdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ29udGVudENoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IENyb3BwZXIgZnJvbSBcImNyb3BwZXJqc1wiO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3N0cnVjdHVyZS9oZWFkZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb290ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vc3RydWN0dXJlL2Zvb3Rlci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1pbWFnZS1jcm9wcGVyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3JvcHBlcmpzL2Rpc3QvY3JvcHBlci5taW4uY3NzXCIsIFwiLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLWltYWdlLWNyb3BwZXItJHtJbWFnZUNyb3BwZXJDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZpc2libGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRlciA9IFwiUmVjb3J0YXIgaW1hZ2VtXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjcm9wTGFiZWwgPSBcIlJlY29ydGFyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RBbm90aGVyTGFiZWwgPSBcIlRyb2NhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVtb3ZlTGFiZWwgPSBcIlJlbW92ZXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhbmNlbExhYmVsID0gXCJDYW5jZWxhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlTdGF0ZVRpdGxlID0gXCJTZWxlY2lvbmUgdW1hIGZvdG8sIGVtIHNlZ3VpZGEgdm9jw6ogcG9kZXLDoSBhanVzdMOhLWxhXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXB0eVN0YXRlQWN0aW9uTGFiZWwgPSBcIkVzY29saGVyIGltYWdlbVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlTdGF0ZUljb25DbGFzcyA9IFwiZmEgZmEtcGljdHVyZS1vXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhc3BlY3RSYXRpbyA9IE5hTjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJvdW5kZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFsbG93U2VsZWN0QW5vdGhlciA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd1JlbW92ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd0NhbmNlbCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZVNvdXJjZT86IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNoYW5nZUltYWdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNyb3BwZWRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNyb3BwZWRDYW52YXMgPSBuZXcgRXZlbnRFbWl0dGVyPEhUTUxDYW52YXNFbGVtZW50PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlbW92ZWRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKFwiaW1hZ2VcIiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgaW1hZ2U6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKEhlYWRlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgaGVhZGVyU2VjdGlvbjogSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChGb290ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIGZvb3RlclNlY3Rpb246IEZvb3RlckNvbXBvbmVudDtcblxuICAgIHB1YmxpYyBjcm9wcGVyOiBDcm9wcGVyO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5pbWFnZVNvdXJjZSkgdGhpcy5pbml0Q3JvcHBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmltYWdlU291cmNlICYmIGNoYW5nZXMuaW1hZ2VTb3VyY2UuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDcm9wcGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDcm9wcGVyKCkge1xuICAgICAgICBpZiAodGhpcy5jcm9wcGVyKSB0aGlzLmNyb3BwZXIuZGVzdHJveSgpO1xuXG4gICAgICAgIEltYWdlVXRpbHMuYWRqdXN0QXNwZWN0UmF0aW8odGhpcy5pbWFnZVNvdXJjZSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoaW1hZ2VCYXNlNjQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2UubmF0aXZlRWxlbWVudC5zcmMgPSBpbWFnZUJhc2U2NDtcblxuICAgICAgICAgICAgICAgIHRoaXMuY3JvcHBlciA9IG5ldyBDcm9wcGVyKHRoaXMuaW1hZ2UubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5yb3VuZGVkID8gMSA6IHRoaXMuYXNwZWN0UmF0aW8sXG4gICAgICAgICAgICAgICAgICAgIGd1aWRlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGRyYWdNb2RlOiBcIm1vdmVcIiBhcyBDcm9wcGVyLkRyYWdNb2RlLFxuICAgICAgICAgICAgICAgICAgICBtaW5Dcm9wQm94SGVpZ2h0OiAyLFxuICAgICAgICAgICAgICAgICAgICBtaW5Dcm9wQm94V2lkdGg6IDIsXG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZURyYWdNb2RlT25EYmxjbGljazogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSb3VuZGVkQ2FudmFzKHNvdXJjZUNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gc291cmNlQ2FudmFzLndpZHRoO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBzb3VyY2VDYW52YXMuaGVpZ2h0O1xuICAgICAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgY29udGV4dC5pbWFnZVNtb290aGluZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShzb3VyY2VDYW52YXMsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICBjb250ZXh0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IFwiZGVzdGluYXRpb24taW5cIjtcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcbiAgICAgICAgY29udGV4dC5hcmMod2lkdGggLyAyLCBoZWlnaHQgLyAyLCBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KSAvIDIsIDAsIDIgKiBNYXRoLlBJLCB0cnVlKTtcbiAgICAgICAgY29udGV4dC5maWxsKCk7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ3JvcEltYWdlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW1hZ2VTb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZEltYWdlLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZENhbnZhcy5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBfY3JvcHBlZENhbnZhcyA9IHRoaXMucm91bmRlZFxuICAgICAgICAgICAgICAgID8gdGhpcy5nZXRSb3VuZGVkQ2FudmFzKHRoaXMuY3JvcHBlci5nZXRDcm9wcGVkQ2FudmFzKCkpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNyb3BwZXIuZ2V0Q3JvcHBlZENhbnZhcygpO1xuXG4gICAgICAgICAgICB0aGlzLmNyb3BwZWRDYW52YXMuZW1pdChfY3JvcHBlZENhbnZhcyk7XG4gICAgICAgICAgICB0aGlzLmNyb3BwZWRJbWFnZS5lbWl0KF9jcm9wcGVkQ2FudmFzLnRvRGF0YVVSTCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VJbWFnZSgpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VJbWFnZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVtb3ZlSW1hZ2UoKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VTb3VyY2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMucmVtb3ZlZEltYWdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DYW5jZWwoKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk1vZGFsVmlzaWJsZUNoYW5nZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdmlzaWJsZSkgdGhpcy5vbkNhbmNlbCgpO1xuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2aXNpYmxlKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Observable } from 'rxjs';
2
+ export var ImageUtils;
3
+ (function (ImageUtils) {
4
+ function adjustAspectRatio(imageBase64) {
5
+ return new Observable(observer => {
6
+ const image = new Image();
7
+ image.src = imageBase64;
8
+ image.onload = () => {
9
+ const canvas = document.createElement('canvas');
10
+ const context = canvas.getContext('2d');
11
+ const size = Math.max(image.naturalWidth, image.naturalHeight);
12
+ canvas.width = size;
13
+ canvas.height = size;
14
+ context.fillStyle = 'rgba(0, 0, 0, 0)';
15
+ context.fillRect(0, 0, size, size);
16
+ context.drawImage(image, (size - image.naturalWidth) / 2, (size - image.naturalHeight) / 2);
17
+ const adjustedImageBase64 = canvas.toDataURL();
18
+ observer.next(adjustedImageBase64);
19
+ observer.complete();
20
+ };
21
+ });
22
+ }
23
+ ImageUtils.adjustAspectRatio = adjustAspectRatio;
24
+ })(ImageUtils || (ImageUtils = {}));
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy91dGlscy9pbWFnZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE1BQU0sS0FBVyxVQUFVLENBd0IxQjtBQXhCRCxXQUFpQixVQUFVO0lBQ3ZCLFNBQWdCLGlCQUFpQixDQUFDLFdBQW1CO1FBQ2pELE9BQU8sSUFBSSxVQUFVLENBQVMsUUFBUSxDQUFDLEVBQUU7WUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUMxQixLQUFLLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztZQUV4QixLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDaEIsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ3BCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixPQUFPLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDO2dCQUN2QyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNuQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFFNUYsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQy9DLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDbkMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLENBQUMsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQXBCZSw0QkFBaUIsb0JBb0JoQyxDQUFBO0FBR0wsQ0FBQyxFQXhCZ0IsVUFBVSxLQUFWLFVBQVUsUUF3QjFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgbmFtZXNwYWNlIEltYWdlVXRpbHMge1xuICAgIGV4cG9ydCBmdW5jdGlvbiBhZGp1c3RBc3BlY3RSYXRpbyhpbWFnZUJhc2U2NDogc3RyaW5nKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHN0cmluZz4ob2JzZXJ2ZXIgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgICAgICAgIGltYWdlLnNyYyA9IGltYWdlQmFzZTY0O1xuXG4gICAgICAgICAgICBpbWFnZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNpemUgPSBNYXRoLm1heChpbWFnZS5uYXR1cmFsV2lkdGgsIGltYWdlLm5hdHVyYWxIZWlnaHQpO1xuICAgICAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9IHNpemU7XG4gICAgICAgICAgICAgICAgY2FudmFzLmhlaWdodCA9IHNpemU7XG4gICAgICAgICAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAncmdiYSgwLCAwLCAwLCAwKSc7XG4gICAgICAgICAgICAgICAgY29udGV4dC5maWxsUmVjdCgwLCAwLCBzaXplLCBzaXplKTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZSwgKHNpemUgLSBpbWFnZS5uYXR1cmFsV2lkdGgpIC8gMiwgKHNpemUgLSBpbWFnZS5uYXR1cmFsSGVpZ2h0KSAvIDIpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgYWRqdXN0ZWRJbWFnZUJhc2U2NCA9IGNhbnZhcy50b0RhdGFVUkwoKTtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGFkanVzdGVkSW1hZ2VCYXNlNjQpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBcbn0iXX0=
@@ -1,4 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
+ import { ImageUtils } from './../utils/image-utils';
2
3
  import { Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation, ContentChild, } from "@angular/core";
3
4
  import Cropper from "cropperjs";
4
5
  import { HeaderComponent } from "../structure/header.component";
@@ -38,16 +39,20 @@ var ImageCropperComponent = /** @class */ (function () {
38
39
  }
39
40
  };
40
41
  ImageCropperComponent.prototype.initCropper = function () {
42
+ var _this = this;
41
43
  if (this.cropper)
42
44
  this.cropper.destroy();
43
- this.image.nativeElement.src = this.imageSource;
44
- this.cropper = new Cropper(this.image.nativeElement, {
45
- aspectRatio: this.rounded ? 1 : this.aspectRatio,
46
- guides: false,
47
- dragMode: "move",
48
- minCropBoxHeight: 2,
49
- minCropBoxWidth: 2,
50
- toggleDragModeOnDblclick: false,
45
+ ImageUtils.adjustAspectRatio(this.imageSource)
46
+ .subscribe(function (imageBase64) {
47
+ _this.image.nativeElement.src = imageBase64;
48
+ _this.cropper = new Cropper(_this.image.nativeElement, {
49
+ aspectRatio: _this.rounded ? 1 : _this.aspectRatio,
50
+ guides: false,
51
+ dragMode: "move",
52
+ minCropBoxHeight: 2,
53
+ minCropBoxWidth: 2,
54
+ toggleDragModeOnDblclick: false,
55
+ });
51
56
  });
52
57
  };
53
58
  ImageCropperComponent.prototype.getRoundedCanvas = function (sourceCanvas) {
@@ -183,4 +188,4 @@ var ImageCropperComponent = /** @class */ (function () {
183
188
  return ImageCropperComponent;
184
189
  }());
185
190
  export { ImageCropperComponent };
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFHakIsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sT0FBTyxNQUFNLFdBQVcsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBUWhFO0lBQUE7UUFJVyxPQUFFLEdBQUcscUJBQW1CLHVCQUFxQixDQUFDLE1BQU0sRUFBSSxDQUFDO1FBR3pELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsV0FBTSxHQUFHLGlCQUFpQixDQUFDO1FBRzNCLGNBQVMsR0FBRyxVQUFVLENBQUM7UUFHdkIsdUJBQWtCLEdBQUcsUUFBUSxDQUFDO1FBRzlCLGdCQUFXLEdBQUcsU0FBUyxDQUFDO1FBR3hCLGdCQUFXLEdBQUcsVUFBVSxDQUFDO1FBR3pCLG9CQUFlLEdBQUcsc0RBQXNELENBQUM7UUFHekUsMEJBQXFCLEdBQUcsaUJBQWlCLENBQUM7UUFHMUMsd0JBQW1CLEdBQUcsaUJBQWlCLENBQUM7UUFHeEMsZ0JBQVcsR0FBRyxHQUFHLENBQUM7UUFHbEIsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUdoQix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFHMUIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFHbkIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFNbkIsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRzVDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdqQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHMUMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUd0RCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHbEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFzRnZDLENBQUM7OEJBekpZLHFCQUFxQjtJQWdGdkIsd0NBQVEsR0FBZjtRQUNJLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVNLDJDQUFXLEdBQWxCLFVBQW1CLE9BQXNCO1FBQ3JDLElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRTtZQUN6RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7SUFDTCxDQUFDO0lBRU8sMkNBQVcsR0FBbkI7UUFDSSxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNoRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFO1lBQ2pELFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQ2hELE1BQU0sRUFBRSxLQUFLO1lBQ2IsUUFBUSxFQUFFLE1BQTBCO1lBQ3BDLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsZUFBZSxFQUFFLENBQUM7WUFDbEIsd0JBQXdCLEVBQUUsS0FBSztTQUNsQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sZ0RBQWdCLEdBQXZCLFVBQXdCLFlBQStCO1FBQ25ELElBQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsSUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDbkMsTUFBTSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckIsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsT0FBTyxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztRQUNyQyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNyRCxPQUFPLENBQUMsd0JBQXdCLEdBQUcsZ0JBQWdCLENBQUM7UUFDcEQsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEYsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2YsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVNLDJDQUFXLEdBQWxCO1FBQ0ksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzdCO2FBQU07WUFDSCxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTztnQkFDL0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFFdEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7U0FDdEQ7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sNkNBQWEsR0FBcEI7UUFDSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSw2Q0FBYSxHQUFwQjtRQUNJLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBQzdCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLHdDQUFRLEdBQWY7UUFDSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxvREFBb0IsR0FBM0IsVUFBNEIsT0FBZ0I7UUFDeEMsSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQzs7SUF2SmEsNEJBQU0sR0FBRyxDQUFDLENBQUM7SUFHekI7UUFEQyxLQUFLLEVBQUU7cURBQ3dEO0lBR2hFO1FBREMsS0FBSyxFQUFFOzBEQUNlO0lBR3ZCO1FBREMsS0FBSyxFQUFFO3lEQUMwQjtJQUdsQztRQURDLEtBQUssRUFBRTs0REFDc0I7SUFHOUI7UUFEQyxLQUFLLEVBQUU7cUVBQzZCO0lBR3JDO1FBREMsS0FBSyxFQUFFOzhEQUN1QjtJQUcvQjtRQURDLEtBQUssRUFBRTs4REFDd0I7SUFHaEM7UUFEQyxLQUFLLEVBQUU7a0VBQ3dFO0lBR2hGO1FBREMsS0FBSyxFQUFFO3dFQUN5QztJQUdqRDtRQURDLEtBQUssRUFBRTtzRUFDdUM7SUFHL0M7UUFEQyxLQUFLLEVBQUU7OERBQ2lCO0lBR3pCO1FBREMsS0FBSyxFQUFFOzBEQUNlO0lBR3ZCO1FBREMsS0FBSyxFQUFFO3FFQUN5QjtJQUdqQztRQURDLEtBQUssRUFBRTs4REFDa0I7SUFHMUI7UUFEQyxLQUFLLEVBQUU7OERBQ2tCO0lBRzFCO1FBREMsS0FBSyxFQUFFOzhEQUNvQjtJQUc1QjtRQURDLE1BQU0sRUFBRTtnRUFDMEM7SUFHbkQ7UUFEQyxNQUFNLEVBQUU7OERBQytCO0lBR3hDO1FBREMsTUFBTSxFQUFFOytEQUN3QztJQUdqRDtRQURDLE1BQU0sRUFBRTtnRUFDb0Q7SUFHN0Q7UUFEQyxNQUFNLEVBQUU7K0RBQ2dDO0lBR3pDO1FBREMsTUFBTSxFQUFFO3lEQUMwQjtJQUduQztRQURDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7d0RBQ1o7SUFHekI7UUFEQyxZQUFZLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2dFQUNWO0lBR3RDO1FBREMsWUFBWSxDQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztnRUFDVjtJQTVFN0IscUJBQXFCO1FBTmpDLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0Isb3hHQUE2QztZQUU3QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7U0FDeEMsQ0FBQztPQUNXLHFCQUFxQixDQXlKakM7SUFBRCw0QkFBQztDQUFBLEFBekpELElBeUpDO1NBekpZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIENvbnRlbnRDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCBDcm9wcGVyIGZyb20gXCJjcm9wcGVyanNcIjtcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9zdHJ1Y3R1cmUvaGVhZGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRm9vdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3N0cnVjdHVyZS9mb290ZXIuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInMtaW1hZ2UtY3JvcHBlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nyb3BwZXJqcy9kaXN0L2Nyb3BwZXIubWluLmNzc1wiLCBcIi4vaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBJbWFnZUNyb3BwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHVibGljIHN0YXRpYyBuZXh0SWQgPSAwO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaWQgPSBgcy1pbWFnZS1jcm9wcGVyLSR7SW1hZ2VDcm9wcGVyQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB2aXNpYmxlID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoZWFkZXIgPSBcIlJlY29ydGFyIGltYWdlbVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY3JvcExhYmVsID0gXCJSZWNvcnRhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2VsZWN0QW5vdGhlckxhYmVsID0gXCJUcm9jYXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlbW92ZUxhYmVsID0gXCJSZW1vdmVyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjYW5jZWxMYWJlbCA9IFwiQ2FuY2VsYXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcHR5U3RhdGVUaXRsZSA9IFwiU2VsZWNpb25lIHVtYSBmb3RvLCBlbSBzZWd1aWRhIHZvY8OqIHBvZGVyw6EgYWp1c3TDoS1sYVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlTdGF0ZUFjdGlvbkxhYmVsID0gXCJFc2NvbGhlciBpbWFnZW1cIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGVtcHR5U3RhdGVJY29uQ2xhc3MgPSBcImZhIGZhLXBpY3R1cmUtb1wiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXNwZWN0UmF0aW8gPSBOYU47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByb3VuZGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd1NlbGVjdEFub3RoZXIgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxsb3dSZW1vdmUgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYWxsb3dDYW5jZWwgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW1hZ2VTb3VyY2U/OiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjaGFuZ2VJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjcm9wcGVkSW1hZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjcm9wcGVkQ2FudmFzID0gbmV3IEV2ZW50RW1pdHRlcjxIVE1MQ2FudmFzRWxlbWVudD4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZW1vdmVkSW1hZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZChcImltYWdlXCIsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIGltYWdlOiBFbGVtZW50UmVmO1xuXG4gICAgQENvbnRlbnRDaGlsZChIZWFkZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIGhlYWRlclNlY3Rpb246IEhlYWRlckNvbXBvbmVudDtcblxuICAgIEBDb250ZW50Q2hpbGQoRm9vdGVyQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHB1YmxpYyBmb290ZXJTZWN0aW9uOiBGb290ZXJDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgY3JvcHBlcjogQ3JvcHBlcjtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VTb3VyY2UpIHRoaXMuaW5pdENyb3BwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoY2hhbmdlcy5pbWFnZVNvdXJjZSAmJiBjaGFuZ2VzLmltYWdlU291cmNlLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbml0Q3JvcHBlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Q3JvcHBlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuY3JvcHBlcikgdGhpcy5jcm9wcGVyLmRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5pbWFnZS5uYXRpdmVFbGVtZW50LnNyYyA9IHRoaXMuaW1hZ2VTb3VyY2U7XG4gICAgICAgIHRoaXMuY3JvcHBlciA9IG5ldyBDcm9wcGVyKHRoaXMuaW1hZ2UubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMucm91bmRlZCA/IDEgOiB0aGlzLmFzcGVjdFJhdGlvLFxuICAgICAgICAgICAgZ3VpZGVzOiBmYWxzZSxcbiAgICAgICAgICAgIGRyYWdNb2RlOiBcIm1vdmVcIiBhcyBDcm9wcGVyLkRyYWdNb2RlLFxuICAgICAgICAgICAgbWluQ3JvcEJveEhlaWdodDogMixcbiAgICAgICAgICAgIG1pbkNyb3BCb3hXaWR0aDogMixcbiAgICAgICAgICAgIHRvZ2dsZURyYWdNb2RlT25EYmxjbGljazogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSb3VuZGVkQ2FudmFzKHNvdXJjZUNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gc291cmNlQ2FudmFzLndpZHRoO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBzb3VyY2VDYW52YXMuaGVpZ2h0O1xuICAgICAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgY29udGV4dC5pbWFnZVNtb290aGluZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShzb3VyY2VDYW52YXMsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICBjb250ZXh0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IFwiZGVzdGluYXRpb24taW5cIjtcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcbiAgICAgICAgY29udGV4dC5hcmMod2lkdGggLyAyLCBoZWlnaHQgLyAyLCBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KSAvIDIsIDAsIDIgKiBNYXRoLlBJLCB0cnVlKTtcbiAgICAgICAgY29udGV4dC5maWxsKCk7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ3JvcEltYWdlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW1hZ2VTb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZEltYWdlLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZENhbnZhcy5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBfY3JvcHBlZENhbnZhcyA9IHRoaXMucm91bmRlZFxuICAgICAgICAgICAgICAgID8gdGhpcy5nZXRSb3VuZGVkQ2FudmFzKHRoaXMuY3JvcHBlci5nZXRDcm9wcGVkQ2FudmFzKCkpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNyb3BwZXIuZ2V0Q3JvcHBlZENhbnZhcygpO1xuXG4gICAgICAgICAgICB0aGlzLmNyb3BwZWRDYW52YXMuZW1pdChfY3JvcHBlZENhbnZhcyk7XG4gICAgICAgICAgICB0aGlzLmNyb3BwZWRJbWFnZS5lbWl0KF9jcm9wcGVkQ2FudmFzLnRvRGF0YVVSTCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VJbWFnZSgpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VJbWFnZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVtb3ZlSW1hZ2UoKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VTb3VyY2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMucmVtb3ZlZEltYWdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DYW5jZWwoKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk1vZGFsVmlzaWJsZUNoYW5nZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdmlzaWJsZSkgdGhpcy5vbkNhbmNlbCgpO1xuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2aXNpYmxlKTtcbiAgICB9XG59XG4iXX0=
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY3JvcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUNILFNBQVMsRUFFVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBR2pCLFlBQVksR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUM7QUFDaEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQVFoRTtJQUFBO1FBSVcsT0FBRSxHQUFHLHFCQUFtQix1QkFBcUIsQ0FBQyxNQUFNLEVBQUksQ0FBQztRQUd6RCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBR2hCLFdBQU0sR0FBRyxpQkFBaUIsQ0FBQztRQUczQixjQUFTLEdBQUcsVUFBVSxDQUFDO1FBR3ZCLHVCQUFrQixHQUFHLFFBQVEsQ0FBQztRQUc5QixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUd4QixnQkFBVyxHQUFHLFVBQVUsQ0FBQztRQUd6QixvQkFBZSxHQUFHLHNEQUFzRCxDQUFDO1FBR3pFLDBCQUFxQixHQUFHLGlCQUFpQixDQUFDO1FBRzFDLHdCQUFtQixHQUFHLGlCQUFpQixDQUFDO1FBR3hDLGdCQUFXLEdBQUcsR0FBRyxDQUFDO1FBR2xCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHaEIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBRzFCLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBR25CLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBTW5CLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUc1QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHakMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzFDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFHdEQsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2xDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBNEZ2QyxDQUFDOzhCQS9KWSxxQkFBcUI7SUFnRnZCLHdDQUFRLEdBQWY7UUFDSSxJQUFJLElBQUksQ0FBQyxXQUFXO1lBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFTSwyQ0FBVyxHQUFsQixVQUFtQixPQUFzQjtRQUNyQyxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUU7WUFDekQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVPLDJDQUFXLEdBQW5CO1FBQUEsaUJBaUJDO1FBaEJHLElBQUksSUFBSSxDQUFDLE9BQU87WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXpDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxVQUFBLFdBQVc7WUFDbEIsS0FBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQztZQUUzQyxLQUFJLENBQUMsT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFO2dCQUNqRCxXQUFXLEVBQUUsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsV0FBVztnQkFDaEQsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsUUFBUSxFQUFFLE1BQTBCO2dCQUNwQyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNuQixlQUFlLEVBQUUsQ0FBQztnQkFDbEIsd0JBQXdCLEVBQUUsS0FBSzthQUNsQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUVYLENBQUM7SUFFTSxnREFBZ0IsR0FBdkIsVUFBd0IsWUFBK0I7UUFDbkQsSUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDakMsSUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxNQUFNLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUN2QixPQUFPLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JELE9BQU8sQ0FBQyx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUNwRCxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN0RixPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU0sMkNBQVcsR0FBbEI7UUFDSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDN0I7YUFBTTtZQUNILElBQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUV0QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztTQUN0RDtRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSw2Q0FBYSxHQUFwQjtRQUNJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLDZDQUFhLEdBQXBCO1FBQ0ksSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7UUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sd0NBQVEsR0FBZjtRQUNJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVNLG9EQUFvQixHQUEzQixVQUE0QixPQUFnQjtRQUN4QyxJQUFJLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDOztJQTdKYSw0QkFBTSxHQUFHLENBQUMsQ0FBQztJQUd6QjtRQURDLEtBQUssRUFBRTtxREFDd0Q7SUFHaEU7UUFEQyxLQUFLLEVBQUU7MERBQ2U7SUFHdkI7UUFEQyxLQUFLLEVBQUU7eURBQzBCO0lBR2xDO1FBREMsS0FBSyxFQUFFOzREQUNzQjtJQUc5QjtRQURDLEtBQUssRUFBRTtxRUFDNkI7SUFHckM7UUFEQyxLQUFLLEVBQUU7OERBQ3VCO0lBRy9CO1FBREMsS0FBSyxFQUFFOzhEQUN3QjtJQUdoQztRQURDLEtBQUssRUFBRTtrRUFDd0U7SUFHaEY7UUFEQyxLQUFLLEVBQUU7d0VBQ3lDO0lBR2pEO1FBREMsS0FBSyxFQUFFO3NFQUN1QztJQUcvQztRQURDLEtBQUssRUFBRTs4REFDaUI7SUFHekI7UUFEQyxLQUFLLEVBQUU7MERBQ2U7SUFHdkI7UUFEQyxLQUFLLEVBQUU7cUVBQ3lCO0lBR2pDO1FBREMsS0FBSyxFQUFFOzhEQUNrQjtJQUcxQjtRQURDLEtBQUssRUFBRTs4REFDa0I7SUFHMUI7UUFEQyxLQUFLLEVBQUU7OERBQ29CO0lBRzVCO1FBREMsTUFBTSxFQUFFO2dFQUMwQztJQUduRDtRQURDLE1BQU0sRUFBRTs4REFDK0I7SUFHeEM7UUFEQyxNQUFNLEVBQUU7K0RBQ3dDO0lBR2pEO1FBREMsTUFBTSxFQUFFO2dFQUNvRDtJQUc3RDtRQURDLE1BQU0sRUFBRTsrREFDZ0M7SUFHekM7UUFEQyxNQUFNLEVBQUU7eURBQzBCO0lBR25DO1FBREMsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQzt3REFDWjtJQUd6QjtRQURDLFlBQVksQ0FBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0VBQ1Y7SUFHdEM7UUFEQyxZQUFZLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO2dFQUNWO0lBNUU3QixxQkFBcUI7UUFOakMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixveEdBQTZDO1lBRTdDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztTQUN4QyxDQUFDO09BQ1cscUJBQXFCLENBK0pqQztJQUFELDRCQUFDO0NBQUEsQUEvSkQsSUErSkM7U0EvSlkscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW1hZ2VVdGlscyB9IGZyb20gJy4vLi4vdXRpbHMvaW1hZ2UtdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgT25DaGFuZ2VzLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ29udGVudENoaWxkLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IENyb3BwZXIgZnJvbSBcImNyb3BwZXJqc1wiO1xuaW1wb3J0IHsgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL3N0cnVjdHVyZS9oZWFkZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb290ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vc3RydWN0dXJlL2Zvb3Rlci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwicy1pbWFnZS1jcm9wcGVyXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3JvcHBlcmpzL2Rpc3QvY3JvcHBlci5taW4uY3NzXCIsIFwiLi9pbWFnZS1jcm9wcGVyLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQ3JvcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpZCA9IGBzLWltYWdlLWNyb3BwZXItJHtJbWFnZUNyb3BwZXJDb21wb25lbnQubmV4dElkKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHZpc2libGUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhlYWRlciA9IFwiUmVjb3J0YXIgaW1hZ2VtXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjcm9wTGFiZWwgPSBcIlJlY29ydGFyXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZWxlY3RBbm90aGVyTGFiZWwgPSBcIlRyb2NhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVtb3ZlTGFiZWwgPSBcIlJlbW92ZXJcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhbmNlbExhYmVsID0gXCJDYW5jZWxhclwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlTdGF0ZVRpdGxlID0gXCJTZWxlY2lvbmUgdW1hIGZvdG8sIGVtIHNlZ3VpZGEgdm9jw6ogcG9kZXLDoSBhanVzdMOhLWxhXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBlbXB0eVN0YXRlQWN0aW9uTGFiZWwgPSBcIkVzY29saGVyIGltYWdlbVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZW1wdHlTdGF0ZUljb25DbGFzcyA9IFwiZmEgZmEtcGljdHVyZS1vXCI7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhc3BlY3RSYXRpbyA9IE5hTjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJvdW5kZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGFsbG93U2VsZWN0QW5vdGhlciA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd1JlbW92ZSA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhbGxvd0NhbmNlbCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZVNvdXJjZT86IHN0cmluZztcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyB2aXNpYmxlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNoYW5nZUltYWdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNyb3BwZWRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGNyb3BwZWRDYW52YXMgPSBuZXcgRXZlbnRFbWl0dGVyPEhUTUxDYW52YXNFbGVtZW50PigpO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlbW92ZWRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBjYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKFwiaW1hZ2VcIiwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgaW1hZ2U6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKEhlYWRlckNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBwdWJsaWMgaGVhZGVyU2VjdGlvbjogSGVhZGVyQ29tcG9uZW50O1xuXG4gICAgQENvbnRlbnRDaGlsZChGb290ZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgcHVibGljIGZvb3RlclNlY3Rpb246IEZvb3RlckNvbXBvbmVudDtcblxuICAgIHB1YmxpYyBjcm9wcGVyOiBDcm9wcGVyO1xuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5pbWFnZVNvdXJjZSkgdGhpcy5pbml0Q3JvcHBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLmltYWdlU291cmNlICYmIGNoYW5nZXMuaW1hZ2VTb3VyY2UuY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRDcm9wcGVyKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDcm9wcGVyKCkge1xuICAgICAgICBpZiAodGhpcy5jcm9wcGVyKSB0aGlzLmNyb3BwZXIuZGVzdHJveSgpO1xuXG4gICAgICAgIEltYWdlVXRpbHMuYWRqdXN0QXNwZWN0UmF0aW8odGhpcy5pbWFnZVNvdXJjZSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoaW1hZ2VCYXNlNjQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2UubmF0aXZlRWxlbWVudC5zcmMgPSBpbWFnZUJhc2U2NDtcblxuICAgICAgICAgICAgICAgIHRoaXMuY3JvcHBlciA9IG5ldyBDcm9wcGVyKHRoaXMuaW1hZ2UubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5yb3VuZGVkID8gMSA6IHRoaXMuYXNwZWN0UmF0aW8sXG4gICAgICAgICAgICAgICAgICAgIGd1aWRlczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGRyYWdNb2RlOiBcIm1vdmVcIiBhcyBDcm9wcGVyLkRyYWdNb2RlLFxuICAgICAgICAgICAgICAgICAgICBtaW5Dcm9wQm94SGVpZ2h0OiAyLFxuICAgICAgICAgICAgICAgICAgICBtaW5Dcm9wQm94V2lkdGg6IDIsXG4gICAgICAgICAgICAgICAgICAgIHRvZ2dsZURyYWdNb2RlT25EYmxjbGljazogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcblxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRSb3VuZGVkQ2FudmFzKHNvdXJjZUNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KFwiMmRcIik7XG4gICAgICAgIGNvbnN0IHdpZHRoID0gc291cmNlQ2FudmFzLndpZHRoO1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBzb3VyY2VDYW52YXMuaGVpZ2h0O1xuICAgICAgICBjYW52YXMud2lkdGggPSB3aWR0aDtcbiAgICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgY29udGV4dC5pbWFnZVNtb290aGluZ0VuYWJsZWQgPSB0cnVlO1xuICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShzb3VyY2VDYW52YXMsIDAsIDAsIHdpZHRoLCBoZWlnaHQpO1xuICAgICAgICBjb250ZXh0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IFwiZGVzdGluYXRpb24taW5cIjtcbiAgICAgICAgY29udGV4dC5iZWdpblBhdGgoKTtcbiAgICAgICAgY29udGV4dC5hcmMod2lkdGggLyAyLCBoZWlnaHQgLyAyLCBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KSAvIDIsIDAsIDIgKiBNYXRoLlBJLCB0cnVlKTtcbiAgICAgICAgY29udGV4dC5maWxsKCk7XG4gICAgICAgIHJldHVybiBjYW52YXM7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQ3JvcEltYWdlKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW1hZ2VTb3VyY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZEltYWdlLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuY3JvcHBlZENhbnZhcy5lbWl0KCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBfY3JvcHBlZENhbnZhcyA9IHRoaXMucm91bmRlZFxuICAgICAgICAgICAgICAgID8gdGhpcy5nZXRSb3VuZGVkQ2FudmFzKHRoaXMuY3JvcHBlci5nZXRDcm9wcGVkQ2FudmFzKCkpXG4gICAgICAgICAgICAgICAgOiB0aGlzLmNyb3BwZXIuZ2V0Q3JvcHBlZENhbnZhcygpO1xuXG4gICAgICAgICAgICB0aGlzLmNyb3BwZWRDYW52YXMuZW1pdChfY3JvcHBlZENhbnZhcyk7XG4gICAgICAgICAgICB0aGlzLmNyb3BwZWRJbWFnZS5lbWl0KF9jcm9wcGVkQ2FudmFzLnRvRGF0YVVSTCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DaGFuZ2VJbWFnZSgpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VJbWFnZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uUmVtb3ZlSW1hZ2UoKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VTb3VyY2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMucmVtb3ZlZEltYWdlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25DYW5jZWwoKSB7XG4gICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbk1vZGFsVmlzaWJsZUNoYW5nZSh2aXNpYmxlOiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdmlzaWJsZSkgdGhpcy5vbkNhbmNlbCgpO1xuICAgICAgICB0aGlzLnZpc2libGVDaGFuZ2UuZW1pdCh2aXNpYmxlKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { Observable } from 'rxjs';
2
+ export var ImageUtils;
3
+ (function (ImageUtils) {
4
+ function adjustAspectRatio(imageBase64) {
5
+ return new Observable(function (observer) {
6
+ var image = new Image();
7
+ image.src = imageBase64;
8
+ image.onload = function () {
9
+ var canvas = document.createElement('canvas');
10
+ var context = canvas.getContext('2d');
11
+ var size = Math.max(image.naturalWidth, image.naturalHeight);
12
+ canvas.width = size;
13
+ canvas.height = size;
14
+ context.fillStyle = 'rgba(0, 0, 0, 0)';
15
+ context.fillRect(0, 0, size, size);
16
+ context.drawImage(image, (size - image.naturalWidth) / 2, (size - image.naturalHeight) / 2);
17
+ var adjustedImageBase64 = canvas.toDataURL();
18
+ observer.next(adjustedImageBase64);
19
+ observer.complete();
20
+ };
21
+ });
22
+ }
23
+ ImageUtils.adjustAspectRatio = adjustAspectRatio;
24
+ })(ImageUtils || (ImageUtils = {}));
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtdXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy91dGlscy9pbWFnZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE1BQU0sS0FBVyxVQUFVLENBd0IxQjtBQXhCRCxXQUFpQixVQUFVO0lBQ3ZCLFNBQWdCLGlCQUFpQixDQUFDLFdBQW1CO1FBQ2pELE9BQU8sSUFBSSxVQUFVLENBQVMsVUFBQSxRQUFRO1lBQ2xDLElBQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7WUFDMUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxXQUFXLENBQUM7WUFFeEIsS0FBSyxDQUFDLE1BQU0sR0FBRztnQkFDWCxJQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNoRCxJQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN4QyxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLE9BQU8sQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUM7Z0JBQ3ZDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ25DLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUU1RixJQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDL0MsUUFBUSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUNuQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBcEJlLDRCQUFpQixvQkFvQmhDLENBQUE7QUFHTCxDQUFDLEVBeEJnQixVQUFVLEtBQVYsVUFBVSxRQXdCMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgSW1hZ2VVdGlscyB7XG4gICAgZXhwb3J0IGZ1bmN0aW9uIGFkanVzdEFzcGVjdFJhdGlvKGltYWdlQmFzZTY0OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8c3RyaW5nPihvYnNlcnZlciA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgaW1hZ2Uuc3JjID0gaW1hZ2VCYXNlNjQ7XG5cbiAgICAgICAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBjb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2l6ZSA9IE1hdGgubWF4KGltYWdlLm5hdHVyYWxXaWR0aCwgaW1hZ2UubmF0dXJhbEhlaWdodCk7XG4gICAgICAgICAgICAgICAgY2FudmFzLndpZHRoID0gc2l6ZTtcbiAgICAgICAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gc2l6ZTtcbiAgICAgICAgICAgICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDAsIDApJztcbiAgICAgICAgICAgICAgICBjb250ZXh0LmZpbGxSZWN0KDAsIDAsIHNpemUsIHNpemUpO1xuICAgICAgICAgICAgICAgIGNvbnRleHQuZHJhd0ltYWdlKGltYWdlLCAoc2l6ZSAtIGltYWdlLm5hdHVyYWxXaWR0aCkgLyAyLCAoc2l6ZSAtIGltYWdlLm5hdHVyYWxIZWlnaHQpIC8gMik7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBhZGp1c3RlZEltYWdlQmFzZTY0ID0gY2FudmFzLnRvRGF0YVVSTCgpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoYWRqdXN0ZWRJbWFnZUJhc2U2NCk7XG4gICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIFxufSJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __awaiter, __param, __rest } from 'tslib';
2
2
  import { EventEmitter, Input, Output, Component, ContentChildren, ViewChild, HostListener, forwardRef, NgModule, ɵɵdefineInjectable, Injectable, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, Directive, HostBinding, Renderer2, InjectionToken, Inject, Pipe, ViewEncapsulation, TemplateRef, ViewContainerRef, ChangeDetectorRef, Optional, ContentChild } from '@angular/core';
3
3
  import { trigger, transition, style as style$7, animate, state, group, query, animateChild } from '@angular/animations';
4
- import { Subject, ReplaySubject, of, from, throwError, forkJoin } from 'rxjs';
4
+ import { Subject, ReplaySubject, of, from, throwError, forkJoin, Observable } from 'rxjs';
5
5
  import { takeUntil, filter, take, tap, map, switchMap, catchError, delay, debounceTime, repeat, finalize } from 'rxjs/operators';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, FormControl, FormGroup, NG_VALIDATORS, FormBuilder, Validators, FormArray, ControlContainer } from '@angular/forms';
@@ -11818,6 +11818,30 @@ StructureModule = __decorate([
11818
11818
  })
11819
11819
  ], StructureModule);
11820
11820
 
11821
+ var ImageUtils;
11822
+ (function (ImageUtils) {
11823
+ function adjustAspectRatio(imageBase64) {
11824
+ return new Observable(observer => {
11825
+ const image = new Image();
11826
+ image.src = imageBase64;
11827
+ image.onload = () => {
11828
+ const canvas = document.createElement('canvas');
11829
+ const context = canvas.getContext('2d');
11830
+ const size = Math.max(image.naturalWidth, image.naturalHeight);
11831
+ canvas.width = size;
11832
+ canvas.height = size;
11833
+ context.fillStyle = 'rgba(0, 0, 0, 0)';
11834
+ context.fillRect(0, 0, size, size);
11835
+ context.drawImage(image, (size - image.naturalWidth) / 2, (size - image.naturalHeight) / 2);
11836
+ const adjustedImageBase64 = canvas.toDataURL();
11837
+ observer.next(adjustedImageBase64);
11838
+ observer.complete();
11839
+ };
11840
+ });
11841
+ }
11842
+ ImageUtils.adjustAspectRatio = adjustAspectRatio;
11843
+ })(ImageUtils || (ImageUtils = {}));
11844
+
11821
11845
  var ImageCropperComponent_1;
11822
11846
  let ImageCropperComponent = ImageCropperComponent_1 = class ImageCropperComponent {
11823
11847
  constructor() {
@@ -11855,14 +11879,17 @@ let ImageCropperComponent = ImageCropperComponent_1 = class ImageCropperComponen
11855
11879
  initCropper() {
11856
11880
  if (this.cropper)
11857
11881
  this.cropper.destroy();
11858
- this.image.nativeElement.src = this.imageSource;
11859
- this.cropper = new Cropper(this.image.nativeElement, {
11860
- aspectRatio: this.rounded ? 1 : this.aspectRatio,
11861
- guides: false,
11862
- dragMode: "move",
11863
- minCropBoxHeight: 2,
11864
- minCropBoxWidth: 2,
11865
- toggleDragModeOnDblclick: false,
11882
+ ImageUtils.adjustAspectRatio(this.imageSource)
11883
+ .subscribe(imageBase64 => {
11884
+ this.image.nativeElement.src = imageBase64;
11885
+ this.cropper = new Cropper(this.image.nativeElement, {
11886
+ aspectRatio: this.rounded ? 1 : this.aspectRatio,
11887
+ guides: false,
11888
+ dragMode: "move",
11889
+ minCropBoxHeight: 2,
11890
+ minCropBoxWidth: 2,
11891
+ toggleDragModeOnDblclick: false,
11892
+ });
11866
11893
  });
11867
11894
  }
11868
11895
  getRoundedCanvas(sourceCanvas) {