@seniorsistemas/angular-components 16.2.2 → 16.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/seniorsistemas-angular-components.umd.js +237 -9
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/dynamic-form/components/lookup/lookup.component.d.ts +1 -0
- package/components/dynamic-form/configurations/fields/lookup-field.d.ts +2 -0
- package/components/dynamic-form/configurations/form-field.d.ts +1 -0
- package/components/profile-picture-picker/index.d.ts +3 -0
- package/components/profile-picture-picker/models/cropper-labels-config.d.ts +9 -0
- package/components/profile-picture-picker/models/file-validation-errors.d.ts +10 -0
- package/components/profile-picture-picker/models/index.d.ts +2 -0
- package/components/profile-picture-picker/profile-picture-picker.component.d.ts +38 -0
- package/components/profile-picture-picker/profile-picture-picker.module.d.ts +2 -0
- package/components/thumbnail/thumbnail.service.d.ts +0 -1
- package/esm2015/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
- package/esm2015/components/dynamic-form/components/lookup/lookup.component.js +6 -2
- package/esm2015/components/dynamic-form/configurations/fields/lookup-field.js +2 -1
- package/esm2015/components/dynamic-form/configurations/form-field.js +1 -1
- package/esm2015/components/image-cropper/image-cropper.component.js +8 -6
- package/esm2015/components/profile-picture-picker/index.js +4 -0
- package/esm2015/components/profile-picture-picker/models/cropper-labels-config.js +1 -0
- package/esm2015/components/profile-picture-picker/models/file-validation-errors.js +8 -0
- package/esm2015/components/profile-picture-picker/models/index.js +2 -0
- package/esm2015/components/profile-picture-picker/profile-picture-picker.component.js +194 -0
- package/esm2015/components/profile-picture-picker/profile-picture-picker.module.js +25 -0
- package/esm2015/components/thumbnail/thumbnail.component.js +5 -4
- package/esm2015/components/thumbnail/thumbnail.service.js +1 -2
- package/esm2015/public-api.js +2 -1
- package/esm5/components/dynamic-form/components/fields/lookup/lookup-field.component.js +2 -2
- package/esm5/components/dynamic-form/components/lookup/lookup.component.js +6 -2
- package/esm5/components/dynamic-form/configurations/fields/lookup-field.js +2 -1
- package/esm5/components/dynamic-form/configurations/form-field.js +1 -1
- package/esm5/components/image-cropper/image-cropper.component.js +8 -6
- package/esm5/components/profile-picture-picker/index.js +4 -0
- package/esm5/components/profile-picture-picker/models/cropper-labels-config.js +1 -0
- package/esm5/components/profile-picture-picker/models/file-validation-errors.js +8 -0
- package/esm5/components/profile-picture-picker/models/index.js +2 -0
- package/esm5/components/profile-picture-picker/profile-picture-picker.component.js +196 -0
- package/esm5/components/profile-picture-picker/profile-picture-picker.module.js +28 -0
- package/esm5/components/thumbnail/thumbnail.component.js +5 -4
- package/esm5/components/thumbnail/thumbnail.service.js +1 -1
- package/esm5/public-api.js +2 -1
- package/fesm2015/seniorsistemas-angular-components.js +231 -11
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +236 -10
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { __assign, __decorate } from "tslib";
|
|
2
|
+
import { Component, ElementRef, EventEmitter, HostListener, Input, Output, ViewChild, } from "@angular/core";
|
|
3
|
+
import { FileValidation } from "./models";
|
|
4
|
+
import { ImageCropperService } from "../image-cropper";
|
|
5
|
+
var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
6
|
+
function ProfilePicturePickerComponent(imageCropperService) {
|
|
7
|
+
this.imageCropperService = imageCropperService;
|
|
8
|
+
this.aspectRatio = 1;
|
|
9
|
+
this.removeButtonLabel = "Remover";
|
|
10
|
+
this.changeButtonLabel = "Alterar foto";
|
|
11
|
+
this.supportedExtensions = [];
|
|
12
|
+
this.changedImage = new EventEmitter();
|
|
13
|
+
this.invalidFile = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
ProfilePicturePickerComponent.prototype.ngOnInit = function () {
|
|
16
|
+
this._normalizeSuportedExtensions();
|
|
17
|
+
};
|
|
18
|
+
ProfilePicturePickerComponent.prototype.onDragOver = function (event) {
|
|
19
|
+
event.preventDefault();
|
|
20
|
+
event.stopPropagation();
|
|
21
|
+
};
|
|
22
|
+
ProfilePicturePickerComponent.prototype.onDragLeave = function (event) {
|
|
23
|
+
event.preventDefault();
|
|
24
|
+
event.stopPropagation();
|
|
25
|
+
};
|
|
26
|
+
ProfilePicturePickerComponent.prototype.onDrop = function (event) {
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
var files = [];
|
|
30
|
+
var dataTransferFiles = event.dataTransfer.files;
|
|
31
|
+
for (var i = 0; i < dataTransferFiles.length; i++) {
|
|
32
|
+
files.push(dataTransferFiles.item(i));
|
|
33
|
+
}
|
|
34
|
+
this._showImageCropper(files);
|
|
35
|
+
};
|
|
36
|
+
// Verificando o redimensionamento para ajustar o design para ficar responsivo.
|
|
37
|
+
ProfilePicturePickerComponent.prototype.onResize = function () {
|
|
38
|
+
if (this.uploadPicture && this.info && this.thumbnail) {
|
|
39
|
+
var uploadPictureWidth = this._getWidthElement(this.uploadPicture);
|
|
40
|
+
var infoWidth = this._getWidthElement(this.info);
|
|
41
|
+
var thumbnailWidth = this._getWidthElement(this.thumbnail);
|
|
42
|
+
if (thumbnailWidth + infoWidth > uploadPictureWidth) {
|
|
43
|
+
this.uploadPicture.nativeElement.classList.add("upload-picture--small");
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.uploadPicture.nativeElement.classList.remove("upload-picture--small");
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
ProfilePicturePickerComponent.prototype.selectPhoto = function () {
|
|
51
|
+
var fileInputElement = this.fileInput.nativeElement;
|
|
52
|
+
fileInputElement.value = "";
|
|
53
|
+
fileInputElement.click();
|
|
54
|
+
};
|
|
55
|
+
ProfilePicturePickerComponent.prototype.removePhoto = function () {
|
|
56
|
+
var fileInputElement = this.fileInput.nativeElement;
|
|
57
|
+
fileInputElement.value = "";
|
|
58
|
+
this.image = "";
|
|
59
|
+
};
|
|
60
|
+
ProfilePicturePickerComponent.prototype.photoSelected = function (event) {
|
|
61
|
+
this._showImageCropper(event.srcElement.files);
|
|
62
|
+
};
|
|
63
|
+
ProfilePicturePickerComponent.prototype._showImageCropper = function (files) {
|
|
64
|
+
var _this = this;
|
|
65
|
+
if (!this._validateData(files)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
var file = files[0];
|
|
69
|
+
var fileReader = new FileReader();
|
|
70
|
+
fileReader.readAsDataURL(file);
|
|
71
|
+
fileReader.onloadend = function (fileEvent) {
|
|
72
|
+
_this.imageCropperService.show(__assign({ imageSource: fileEvent.target.result, croppedImage: function (image) {
|
|
73
|
+
_this.image = image;
|
|
74
|
+
_this.changedImage.emit(image);
|
|
75
|
+
}, changeImage: function () { return _this.selectPhoto(); }, allowSelectAnother: false, aspectRatio: _this.aspectRatio }, _this.cropperLabelsConfig));
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
ProfilePicturePickerComponent.prototype._normalizeSuportedExtensions = function () {
|
|
79
|
+
this.supportedExtensions = this.supportedExtensions
|
|
80
|
+
.map(function (extension) { return extension.replace(".", "").toLocaleLowerCase(); });
|
|
81
|
+
};
|
|
82
|
+
ProfilePicturePickerComponent.prototype._validateData = function (files) {
|
|
83
|
+
if (!files.length) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
if (files.length > 1) {
|
|
87
|
+
this.invalidFile.emit({ file: null, validation: FileValidation.MaxFileLimit });
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
var file = files[0];
|
|
91
|
+
if (!file.type.includes("image")) {
|
|
92
|
+
this.invalidFile.emit({ file: file, validation: FileValidation.TypeInvalid });
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (!this._validateFileExtension(file)) {
|
|
96
|
+
this.invalidFile.emit({ file: file, validation: FileValidation.UnsupportedExtension });
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
if (!this._validateFileSize(file)) {
|
|
100
|
+
this.invalidFile.emit({ file: file, validation: FileValidation.MaxFileSize });
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
return true;
|
|
104
|
+
};
|
|
105
|
+
ProfilePicturePickerComponent.prototype._validateFileExtension = function (file) {
|
|
106
|
+
var _a;
|
|
107
|
+
if ((_a = this.supportedExtensions) === null || _a === void 0 ? void 0 : _a.length) {
|
|
108
|
+
var extension = file.name.split(".").pop().toLowerCase();
|
|
109
|
+
return this.supportedExtensions.includes(extension);
|
|
110
|
+
}
|
|
111
|
+
return true;
|
|
112
|
+
};
|
|
113
|
+
ProfilePicturePickerComponent.prototype._validateFileSize = function (file) {
|
|
114
|
+
if (this.maxFileSize) {
|
|
115
|
+
return file.size > this.maxFileSize;
|
|
116
|
+
}
|
|
117
|
+
return true;
|
|
118
|
+
};
|
|
119
|
+
ProfilePicturePickerComponent.prototype._getWidthElement = function (element) {
|
|
120
|
+
var _a = element.nativeElement.getBoundingClientRect(), left = _a.left, right = _a.right;
|
|
121
|
+
return right - left;
|
|
122
|
+
};
|
|
123
|
+
ProfilePicturePickerComponent.ctorParameters = function () { return [
|
|
124
|
+
{ type: ImageCropperService }
|
|
125
|
+
]; };
|
|
126
|
+
__decorate([
|
|
127
|
+
Input()
|
|
128
|
+
], ProfilePicturePickerComponent.prototype, "simpleTitle", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
Input()
|
|
131
|
+
], ProfilePicturePickerComponent.prototype, "actionTitle", void 0);
|
|
132
|
+
__decorate([
|
|
133
|
+
Input()
|
|
134
|
+
], ProfilePicturePickerComponent.prototype, "subtitle", void 0);
|
|
135
|
+
__decorate([
|
|
136
|
+
Input()
|
|
137
|
+
], ProfilePicturePickerComponent.prototype, "aspectRatio", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
Input()
|
|
140
|
+
], ProfilePicturePickerComponent.prototype, "cropperLabelsConfig", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
Input()
|
|
143
|
+
], ProfilePicturePickerComponent.prototype, "removeButtonLabel", void 0);
|
|
144
|
+
__decorate([
|
|
145
|
+
Input()
|
|
146
|
+
], ProfilePicturePickerComponent.prototype, "changeButtonLabel", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
Input()
|
|
149
|
+
], ProfilePicturePickerComponent.prototype, "maxFileSize", void 0);
|
|
150
|
+
__decorate([
|
|
151
|
+
Input()
|
|
152
|
+
], ProfilePicturePickerComponent.prototype, "accept", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
Input()
|
|
155
|
+
], ProfilePicturePickerComponent.prototype, "supportedExtensions", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
ViewChild("uploadPicture")
|
|
158
|
+
], ProfilePicturePickerComponent.prototype, "uploadPicture", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
ViewChild("info")
|
|
161
|
+
], ProfilePicturePickerComponent.prototype, "info", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
ViewChild("thumbnail", { read: ElementRef })
|
|
164
|
+
], ProfilePicturePickerComponent.prototype, "thumbnail", void 0);
|
|
165
|
+
__decorate([
|
|
166
|
+
ViewChild("fileInput", { read: ElementRef })
|
|
167
|
+
], ProfilePicturePickerComponent.prototype, "fileInput", void 0);
|
|
168
|
+
__decorate([
|
|
169
|
+
Output()
|
|
170
|
+
], ProfilePicturePickerComponent.prototype, "changedImage", void 0);
|
|
171
|
+
__decorate([
|
|
172
|
+
Output()
|
|
173
|
+
], ProfilePicturePickerComponent.prototype, "invalidFile", void 0);
|
|
174
|
+
__decorate([
|
|
175
|
+
HostListener("dragover", ["$event"])
|
|
176
|
+
], ProfilePicturePickerComponent.prototype, "onDragOver", null);
|
|
177
|
+
__decorate([
|
|
178
|
+
HostListener("dragleave", ["$event"])
|
|
179
|
+
], ProfilePicturePickerComponent.prototype, "onDragLeave", null);
|
|
180
|
+
__decorate([
|
|
181
|
+
HostListener("drop", ["$event"])
|
|
182
|
+
], ProfilePicturePickerComponent.prototype, "onDrop", null);
|
|
183
|
+
__decorate([
|
|
184
|
+
HostListener("window:resize")
|
|
185
|
+
], ProfilePicturePickerComponent.prototype, "onResize", null);
|
|
186
|
+
ProfilePicturePickerComponent = __decorate([
|
|
187
|
+
Component({
|
|
188
|
+
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>",
|
|
190
|
+
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
|
+
})
|
|
192
|
+
], ProfilePicturePickerComponent);
|
|
193
|
+
return ProfilePicturePickerComponent;
|
|
194
|
+
}());
|
|
195
|
+
export { ProfilePicturePickerComponent };
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBNkMsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBT3ZEO0lBbURHLHVDQUFvQixtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQXhDckQsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFNaEIsc0JBQWlCLEdBQUcsU0FBUyxDQUFDO1FBRzlCLHNCQUFpQixHQUFHLGNBQWMsQ0FBQztRQVNuQyx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFlbkMsaUJBQVksR0FBeUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUd4RCxnQkFBVyxHQUF1QyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSVosQ0FBQztJQUUxRCxnREFBUSxHQUFmO1FBQ0csSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUdNLGtEQUFVLEdBQWpCLFVBQWtCLEtBQWdCO1FBQy9CLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdNLG1EQUFXLEdBQWxCLFVBQW1CLEtBQWdCO1FBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixLQUFLLENB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aW1wb3J0IHtcbiAgIENvbXBvbmVudCxcbiAgIEVsZW1lbnRSZWYsXG4gICBFdmVudEVtaXR0ZXIsXG4gICBIb3N0TGlzdGVuZXIsXG4gICBJbnB1dCxcbiAgIE9uSW5pdCxcbiAgIE91dHB1dCxcbiAgIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgQ3JvcHBlckxhYmVsc0NvbmZpZywgRmlsZVZhbGlkYXRpb25FcnJvcnMsIEZpbGVWYWxpZGF0aW9uIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL2ltYWdlLWNyb3BwZXJcIjtcblxuQENvbXBvbmVudCh7XG4gICBzZWxlY3RvcjogXCJzLXByb2ZpbGUtcGljdHVyZS1waWNrZXJcIixcbiAgIHRlbXBsYXRlVXJsOiBcInByb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgIHN0eWxlVXJsczogW1wicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgQElucHV0KClcbiAgIHB1YmxpYyBzaW1wbGVUaXRsZTogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjdGlvblRpdGxlOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgc3VidGl0bGU6IHN0cmluZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBhc3BlY3RSYXRpbyA9IDE7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgY3JvcHBlckxhYmVsc0NvbmZpZzogQ3JvcHBlckxhYmVsc0NvbmZpZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyByZW1vdmVCdXR0b25MYWJlbCA9IFwiUmVtb3ZlclwiO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGNoYW5nZUJ1dHRvbkxhYmVsID0gXCJBbHRlcmFyIGZvdG9cIjtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBtYXhGaWxlU2l6ZTogbnVtYmVyO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjY2VwdDogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHN1cHBvcnRlZEV4dGVuc2lvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgIEBWaWV3Q2hpbGQoXCJ1cGxvYWRQaWN0dXJlXCIpXG4gICBwdWJsaWMgdXBsb2FkUGljdHVyZTogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcImluZm9cIilcbiAgIHB1YmxpYyBpbmZvOiBFbGVtZW50UmVmO1xuXG4gICBAVmlld0NoaWxkKFwidGh1bWJuYWlsXCIsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgcHVibGljIHRodW1ibmFpbDogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcImZpbGVJbnB1dFwiLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgIHB1YmxpYyBmaWxlSW5wdXQ6IEVsZW1lbnRSZWY7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGNoYW5nZWRJbWFnZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGludmFsaWRGaWxlOiBFdmVudEVtaXR0ZXI8RmlsZVZhbGlkYXRpb25FcnJvcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICBwdWJsaWMgaW1hZ2U6IHN0cmluZztcblxuICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbWFnZUNyb3BwZXJTZXJ2aWNlOiBJbWFnZUNyb3BwZXJTZXJ2aWNlKSB7IH1cblxuICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgdGhpcy5fbm9ybWFsaXplU3Vwb3J0ZWRFeHRlbnNpb25zKCk7XG4gICB9XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJkcmFnb3ZlclwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICB9XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJkcmFnbGVhdmVcIiwgW1wiJGV2ZW50XCJdKVxuICAgcHVibGljIG9uRHJhZ0xlYXZlKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyb3BcIiwgW1wiJGV2ZW50XCJdKVxuICAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIGNvbnN0IGZpbGVzOiBGaWxlW10gPSBbXTtcbiAgICAgIGNvbnN0IGRhdGFUcmFuc2ZlckZpbGVzID0gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFUcmFuc2ZlckZpbGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICBmaWxlcy5wdXNoKGRhdGFUcmFuc2ZlckZpbGVzLml0ZW0oaSkpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9zaG93SW1hZ2VDcm9wcGVyKGZpbGVzKTtcbiAgIH1cblxuICAgLy8gVmVyaWZpY2FuZG8gbyByZWRpbWVuc2lvbmFtZW50byBwYXJhIGFqdXN0YXIgbyBkZXNpZ24gcGFyYSBmaWNhciByZXNwb25zaXZvLlxuICAgQEhvc3RMaXN0ZW5lcihcIndpbmRvdzpyZXNpemVcIilcbiAgIHB1YmxpYyBvblJlc2l6ZSgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLnVwbG9hZFBpY3R1cmUgJiYgdGhpcy5pbmZvICYmIHRoaXMudGh1bWJuYWlsKSB7XG4gICAgICAgICBjb25zdCB1cGxvYWRQaWN0dXJlV2lkdGggPSB0aGlzLl9nZXRXaWR0aEVsZW1lbnQodGhpcy51cGxvYWRQaWN0dXJlKTtcbiAgICAgICAgIGNvbnN0IGluZm9XaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLmluZm8pO1xuICAgICAgICAgY29uc3QgdGh1bWJuYWlsV2lkdGggPSB0aGlzLl9nZXRXaWR0aEVsZW1lbnQodGhpcy50aHVtYm5haWwpO1xuXG4gICAgICAgICBpZiAodGh1bWJuYWlsV2lkdGggKyBpbmZvV2lkdGggPiB1cGxvYWRQaWN0dXJlV2lkdGgpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUGljdHVyZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJ1cGxvYWQtcGljdHVyZS0tc21hbGxcIik7XG4gICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQaWN0dXJlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcInVwbG9hZC1waWN0dXJlLS1zbWFsbFwiKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgcHVibGljIHNlbGVjdFBob3RvKCk6IHZvaWQge1xuICAgICAgY29uc3QgZmlsZUlucHV0RWxlbWVudCA9IHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBmaWxlSW5wdXRFbGVtZW50LnZhbHVlID0gXCJcIjtcbiAgICAgIGZpbGVJbnB1dEVsZW1lbnQuY2xpY2soKTtcbiAgIH1cblxuICAgcHVibGljIHJlbW92ZVBob3RvKCk6IHZvaWQge1xuICAgICAgY29uc3QgZmlsZUlucHV0RWxlbWVudCA9IHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBmaWxlSW5wdXRFbGVtZW50LnZhbHVlID0gXCJcIjtcbiAgICAgIHRoaXMuaW1hZ2UgPSBcIlwiO1xuICAgfVxuXG4gICBwdWJsaWMgcGhvdG9TZWxlY3RlZChldmVudDogYW55KSB7XG4gICAgICB0aGlzLl9zaG93SW1hZ2VDcm9wcGVyKGV2ZW50LnNyY0VsZW1lbnQuZmlsZXMpO1xuICAgfVxuXG4gICBwcml2YXRlIF9zaG93SW1hZ2VDcm9wcGVyKGZpbGVzOiBGaWxlW10pIHtcbiAgICAgIGlmICghdGhpcy5fdmFsaWRhdGVEYXRhKGZpbGVzKSkge1xuICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWxlID0gZmlsZXNbMF07XG5cbiAgICAgIGNvbnN0IGZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgICAgZmlsZVJlYWRlci5vbmxvYWRlbmQgPSAoZmlsZUV2ZW50OiBhbnkpID0+IHtcbiAgICAgICAgIHRoaXMuaW1hZ2VDcm9wcGVyU2VydmljZS5zaG93KHtcbiAgICAgICAgICAgIGltYWdlU291cmNlOiBmaWxlRXZlbnQudGFyZ2V0LnJlc3VsdCxcbiAgICAgICAgICAgIGNyb3BwZWRJbWFnZTogaW1hZ2UgPT4ge1xuICAgICAgICAgICAgICAgdGhpcy5pbWFnZSA9IGltYWdlO1xuICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VkSW1hZ2UuZW1pdChpbWFnZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hhbmdlSW1hZ2U6ICgpID0+IHRoaXMuc2VsZWN0UGhvdG8oKSxcbiAgICAgICAgICAgIGFsbG93U2VsZWN0QW5vdGhlcjogZmFsc2UsXG4gICAgICAgICAgICBhc3BlY3RSYXRpbzogdGhpcy5hc3BlY3RSYXRpbyxcbiAgICAgICAgICAgIC4uLnRoaXMuY3JvcHBlckxhYmVsc0NvbmZpZyxcbiAgICAgICAgIH0pO1xuICAgICAgfTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfbm9ybWFsaXplU3Vwb3J0ZWRFeHRlbnNpb25zKCkge1xuICAgICAgdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zID0gdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zXG4gICAgICAgICAubWFwKGV4dGVuc2lvbiA9PiBleHRlbnNpb24ucmVwbGFjZShcIi5cIiwgXCJcIikudG9Mb2NhbGVMb3dlckNhc2UoKSk7XG4gICB9XG5cbiAgIHByaXZhdGUgX3ZhbGlkYXRlRGF0YShmaWxlczogRmlsZVtdKSB7XG4gICAgICBpZiAoIWZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmlsZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZTogbnVsbCwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uTWF4RmlsZUxpbWl0IH0pO1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmaWxlID0gZmlsZXNbMF07XG5cbiAgICAgIGlmICghZmlsZS50eXBlLmluY2x1ZGVzKFwiaW1hZ2VcIikpIHtcbiAgICAgICAgIHRoaXMuaW52YWxpZEZpbGUuZW1pdCh7IGZpbGUsIHZhbGlkYXRpb246IEZpbGVWYWxpZGF0aW9uLlR5cGVJbnZhbGlkIH0pO1xuICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRmlsZUV4dGVuc2lvbihmaWxlKSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uVW5zdXBwb3J0ZWRFeHRlbnNpb24gfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5fdmFsaWRhdGVGaWxlU2l6ZShmaWxlKSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uTWF4RmlsZVNpemUgfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgfVxuXG4gICBwcml2YXRlIF92YWxpZGF0ZUZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSkge1xuICAgICAgaWYgKHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlLm5hbWUuc3BsaXQoXCIuXCIpLnBvcCgpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICByZXR1cm4gdGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zLmluY2x1ZGVzKGV4dGVuc2lvbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfdmFsaWRhdGVGaWxlU2l6ZShmaWxlOiBGaWxlKSB7XG4gICAgICBpZiAodGhpcy5tYXhGaWxlU2l6ZSkge1xuICAgICAgICAgcmV0dXJuIGZpbGUuc2l6ZSA+IHRoaXMubWF4RmlsZVNpemU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfZ2V0V2lkdGhFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBudW1iZXIge1xuICAgICAgY29uc3QgeyBsZWZ0LCByaWdodCB9ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgcmV0dXJuIHJpZ2h0IC0gbGVmdDtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { NgModule } from "@angular/core";
|
|
3
|
+
import { CommonModule } from "@angular/common";
|
|
4
|
+
import { ButtonModule } from '../button/button.module';
|
|
5
|
+
import { ThumbnailModule } from '../thumbnail/thumbnail.module';
|
|
6
|
+
import { ImageCropperModule } from '../image-cropper/image-cropper.module';
|
|
7
|
+
import { ImageCropperService } from '../image-cropper/image-cropper.service';
|
|
8
|
+
import { ProfilePicturePickerComponent } from "./profile-picture-picker.component";
|
|
9
|
+
var ProfilePicturePickerModule = /** @class */ (function () {
|
|
10
|
+
function ProfilePicturePickerModule() {
|
|
11
|
+
}
|
|
12
|
+
ProfilePicturePickerModule = __decorate([
|
|
13
|
+
NgModule({
|
|
14
|
+
imports: [
|
|
15
|
+
CommonModule,
|
|
16
|
+
ButtonModule,
|
|
17
|
+
ThumbnailModule,
|
|
18
|
+
ImageCropperModule,
|
|
19
|
+
],
|
|
20
|
+
declarations: [ProfilePicturePickerComponent],
|
|
21
|
+
exports: [ProfilePicturePickerComponent],
|
|
22
|
+
providers: [ImageCropperService],
|
|
23
|
+
})
|
|
24
|
+
], ProfilePicturePickerModule);
|
|
25
|
+
return ProfilePicturePickerModule;
|
|
26
|
+
}());
|
|
27
|
+
export { ProfilePicturePickerModule };
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBYW5GO0lBQUE7SUFBMEMsQ0FBQztJQUE5QiwwQkFBMEI7UUFYdEMsUUFBUSxDQUFDO1lBQ1AsT0FBTyxFQUFFO2dCQUNOLFlBQVk7Z0JBQ1osWUFBWTtnQkFDWixlQUFlO2dCQUNmLGtCQUFrQjthQUNwQjtZQUNELFlBQVksRUFBRSxDQUFDLDZCQUE2QixDQUFDO1lBQzdDLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO1lBQ3hDLFNBQVMsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQ2xDLENBQUM7T0FDVywwQkFBMEIsQ0FBSTtJQUFELGlDQUFDO0NBQUEsQUFBM0MsSUFBMkM7U0FBOUIsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuXG5pbXBvcnQgeyBCdXR0b25Nb2R1bGUgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLm1vZHVsZSc7XG5pbXBvcnQgeyBUaHVtYm5haWxNb2R1bGUgfSBmcm9tICcuLi90aHVtYm5haWwvdGh1bWJuYWlsLm1vZHVsZSc7XG5pbXBvcnQgeyBJbWFnZUNyb3BwZXJNb2R1bGUgfSBmcm9tICcuLi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIubW9kdWxlJztcbmltcG9ydCB7IEltYWdlQ3JvcHBlclNlcnZpY2UgfSBmcm9tICcuLi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudCB9IGZyb20gXCIuL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50XCI7XG5cbkBOZ01vZHVsZSh7XG4gICBpbXBvcnRzOiBbXG4gICAgICBDb21tb25Nb2R1bGUsXG4gICAgICBCdXR0b25Nb2R1bGUsXG4gICAgICBUaHVtYm5haWxNb2R1bGUsXG4gICAgICBJbWFnZUNyb3BwZXJNb2R1bGUsXG4gICBdLFxuICAgZGVjbGFyYXRpb25zOiBbUHJvZmlsZVBpY3R1cmVQaWNrZXJDb21wb25lbnRdLFxuICAgZXhwb3J0czogW1Byb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50XSxcbiAgIHByb3ZpZGVyczogW0ltYWdlQ3JvcHBlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlUGljdHVyZVBpY2tlck1vZHVsZSB7IH0iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import { Component, Input, ViewChild } from "@angular/core";
|
|
2
|
+
import { Component, Input, ViewChild, } from "@angular/core";
|
|
3
3
|
import { from, Subject } from "rxjs";
|
|
4
4
|
import { takeUntil } from "rxjs/operators";
|
|
5
5
|
import { ThumbnailSize } from "./thumbnail-size";
|
|
@@ -24,12 +24,13 @@ var ThumbnailComponent = /** @class */ (function () {
|
|
|
24
24
|
};
|
|
25
25
|
ThumbnailComponent.prototype.ngAfterViewInit = function () {
|
|
26
26
|
var _this = this;
|
|
27
|
-
if (this.imgEl)
|
|
27
|
+
if (this.imgEl) {
|
|
28
28
|
this.imgEl.nativeElement.addEventListener("load", function () {
|
|
29
29
|
from(_this.thumbnailService.getBinaryFile(_this.imgEl.nativeElement))
|
|
30
30
|
.pipe(takeUntil(_this.ngUnsubscribe))
|
|
31
31
|
.subscribe(function (orientation) { return (_this.orientation = orientation); });
|
|
32
32
|
});
|
|
33
|
+
}
|
|
33
34
|
};
|
|
34
35
|
var ThumbnailComponent_1;
|
|
35
36
|
ThumbnailComponent.nextId = 0;
|
|
@@ -72,11 +73,11 @@ var ThumbnailComponent = /** @class */ (function () {
|
|
|
72
73
|
ThumbnailComponent = ThumbnailComponent_1 = __decorate([
|
|
73
74
|
Component({
|
|
74
75
|
selector: "s-thumbnail",
|
|
75
|
-
template: "<div
|
|
76
|
+
template: "<div\n [id]=\"id\"\n class=\"thumbnail-container thumbnail-container--{{size}}\"\n [ngClass]=\"{\n 'thumbnail-container--with-action': hasAction,\n 'thumbnail-container--brand': isBrand\n }\">\n <div\n [id]=\"id + '-image-container'\"\n *ngIf=\"imageSource || imageFallback\"\n class=\"image-container\"\n [ngClass]=\"{\n 'image-container--rounded': !isBrand\n }\">\n <img\n #img\n [id]=\"id + '-image'\"\n (error)=\"fallback = true\"\n [src]=\"imageSource\"\n [alt]=\"imageAlt\"\n *ngIf=\"!fallback\"\n [ngClass]=\"{\n 'smallThumbnail': isTile,\n 'exif-orientation-2': orientation == 2,\n 'exif-orientation-3': orientation == 3,\n 'exif-orientation-4': orientation == 4,\n 'exif-orientation-5': orientation == 5,\n 'exif-orientation-6': orientation == 6,\n 'exif-orientation-7': orientation == 7,\n 'exif-orientation-8': orientation == 8\n }\"/>\n\n <img\n #img\n [id]=\"id + '-image-fallback'\"\n (error)=\"imageFallback = undefined\"\n [src]=\"imageFallback\"\n [alt]=\"imageAlt\"\n *ngIf=\"fallback && imageFallback\"\n [ngClass]=\"{\n 'smallThumbnail': isTile,\n 'exif-orientation-2': orientation == 2,\n 'exif-orientation-3': orientation == 3,\n 'exif-orientation-4': orientation == 4,\n 'exif-orientation-5': orientation == 5,\n 'exif-orientation-6': orientation == 6,\n 'exif-orientation-7': orientation == 7,\n 'exif-orientation-8': orientation == 8\n }\"/>\n\n <i\n *ngIf=\"fallback && !imageFallback\"\n ngClass=\"far fa-image\"\n class=\"fallback-img-color\">\n </i>\n </div>\n <div\n [id]=\"id + '-action-icon-container'\"\n *ngIf=\"hasAction\"\n class=\"action-icon-container action-icon-container--{{size}}\">\n <span\n [id]=\"id + '-action-icon'\"\n [class]=\"actionIconClass\"\n aria-hidden=\"true\">\n </span>\n </div>\n <div\n [id]=\"id + '-icon-container'\"\n *ngIf=\"!imageSource && !imageFallback\"\n class=\"icon-container icon-container--{{size}}\"\n [ngClass]=\"{'image-container--rounded': !isBrand}\">\n <span\n [id]=\"id + '-icon'\"\n [class]=\"iconClass\"\n aria-hidden=\"true\">\n </span>\n </div>\n\n <ng-content></ng-content>\n</div>\n",
|
|
76
77
|
styles: [":host{display:inline-block}.thumbnail-container{color:#fff;position:relative;text-align:center}.thumbnail-container--large{font-size:50px;height:100px;width:100px}.thumbnail-container--large.thumbnail-container--brand{width:200px}.thumbnail-container--medium{font-size:40px;height:70px;width:70px}.thumbnail-container--medium.thumbnail-container--brand{width:140px}.thumbnail-container--small{font-size:22px;height:40px;width:40px}.thumbnail-container--small.thumbnail-container--brand{width:80px}.thumbnail-container--with-action{cursor:pointer}.action-icon-container{background-color:#428bca;border-radius:50%;bottom:0;position:absolute;right:0}.action-icon-container--large,.action-icon-container--medium{font-size:10pt;height:25px;padding:3px;width:25px}.action-icon-container--small{font-size:6pt;height:16px;padding:2px;width:16px}.icon-container,.image-container{-ms-flex-align:center;align-items:center;height:100%;overflow:hidden;width:100%}.icon-container--rounded,.image-container--rounded{border-radius:50%}.smallThumbnail{height:40px!important}.icon-container{background-color:#ccc;color:#fff}.icon-container--large{line-height:98px}.icon-container--medium{line-height:68px}.icon-container--small{line-height:38px}.image-container{-ms-flex-align:center;align-items:center;background-color:#ccc;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.image-container img{width:100%}.image-container img.exif-orientation-2{transform:rotateY(180deg)}.image-container img.exif-orientation-3{transform:rotate(180deg)}.image-container img.exif-orientation-4{transform:rotate(180deg) rotateY(180deg)}.image-container img.exif-orientation-5{transform:rotate(270deg) rotateY(180deg)}.image-container img.exif-orientation-6{transform:rotate(90deg)}.image-container img.exif-orientation-7{transform:rotate(90deg) rotateY(180deg)}.image-container img.exif-orientation-8{transform:rotate(270deg)}.fallback-img-color{color:#fff}"]
|
|
77
78
|
})
|
|
78
79
|
], ThumbnailComponent);
|
|
79
80
|
return ThumbnailComponent;
|
|
80
81
|
}());
|
|
81
82
|
export { ThumbnailComponent };
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL3RodW1ibmFpbC90aHVtYm5haWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBRUgsU0FBUyxFQUVULEtBQUssRUFDTCxTQUFTLEdBSVosTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU92RDtJQXdDSSw0QkFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF0Qy9DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFPakIsT0FBRSxHQUFHLGlCQUFlLG9CQUFrQixDQUFDLE1BQU0sRUFBSSxDQUFDO1FBR2xELFNBQUksR0FBa0IsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQVkzQyxjQUFTLEdBQUcsY0FBYyxDQUFDO1FBRzNCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsb0JBQWUsR0FBRyxlQUFlLENBQUM7UUFHbEMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdmLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFb0IsQ0FBQzsyQkF4Q2xELGtCQUFrQjtJQTBDcEIsd0NBQVcsR0FBbEI7UUFDSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLDRDQUFlLEdBQXRCO1FBQUEsaUJBUUM7UUFQRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQzlDLElBQUksQ0FBQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7cUJBQzlELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO3FCQUNuQyxTQUFTLENBQUMsVUFBQyxXQUFtQixJQUFLLE9BQUEsQ0FBQyxLQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxFQUFoQyxDQUFnQyxDQUFDLENBQUM7WUFDOUUsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7O0lBdERhLHlCQUFNLEdBQUcsQ0FBQyxDQUFDOztnQkF1Q2EsZ0JBQWdCOztJQWxDdEQ7UUFEQyxTQUFTLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO3FEQUNYO0lBR3pCO1FBREMsS0FBSyxFQUFFO2tEQUNpRDtJQUd6RDtRQURDLEtBQUssRUFBRTtvREFDMEM7SUFHbEQ7UUFEQyxLQUFLLEVBQUU7MkRBQ21CO0lBRzNCO1FBREMsS0FBSyxFQUFFOzZEQUNzQjtJQUc5QjtRQURDLEtBQUssRUFBRTt3REFDZ0I7SUFHeEI7UUFEQyxLQUFLLEVBQUU7eURBQzBCO0lBR2xDO1FBREMsS0FBSyxFQUFFO3lEQUNpQjtJQUd6QjtRQURDLEtBQUssRUFBRTsrREFDaUM7SUFHekM7UUFEQyxLQUFLLEVBQUU7c0RBQ2M7SUFHdEI7UUFEQyxLQUFLLEVBQUU7dURBQ2U7SUFwQ2Qsa0JBQWtCO1FBTDlCLFNBQVMsQ0FBQztZQUNQLFFBQVEsRUFBRSxhQUFhO1lBQ3ZCLHd1RkFBeUM7O1NBRTVDLENBQUM7T0FDVyxrQkFBa0IsQ0F3RDlCO0lBQUQseUJBQUM7Q0FBQSxBQXhERCxJQXdEQztTQXhEWSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBmcm9tLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBUaHVtYm5haWxTaXplIH0gZnJvbSBcIi4vdGh1bWJuYWlsLXNpemVcIjtcbmltcG9ydCB7IFRodW1ibmFpbFNlcnZpY2UgfSBmcm9tIFwiLi90aHVtYm5haWwuc2VydmljZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogXCJzLXRodW1ibmFpbFwiLFxuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGh1bWJuYWlsLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RodW1ibmFpbC5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVGh1bWJuYWlsQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwdWJsaWMgc3RhdGljIG5leHRJZCA9IDA7XG4gICAgcHVibGljIGZhbGxiYWNrID0gZmFsc2U7XG4gICAgcHVibGljIG9yaWVudGF0aW9uOiBudW1iZXI7XG5cbiAgICBAVmlld0NoaWxkKFwiaW1nXCIsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIHB1YmxpYyBpbWdFbDogRWxlbWVudFJlZjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlkID0gYHMtdGh1bWJuYWlsLSR7VGh1bWJuYWlsQ29tcG9uZW50Lm5leHRJZCsrfWA7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUaHVtYm5haWxTaXplID0gVGh1bWJuYWlsU2l6ZS5NZWRpdW07XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpbWFnZVNvdXJjZTogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaW1hZ2VGYWxsYmFjaz86IHN0cmluZztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGltYWdlQWx0OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpY29uQ2xhc3MgPSBcImZhciBmYS1pbWFnZVwiO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaGFzQWN0aW9uID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhY3Rpb25JY29uQ2xhc3MgPSBcImZhcyBmYS1jYW1lcmFcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGlzVGlsZSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXNCcmFuZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdGh1bWJuYWlsU2VydmljZTogVGh1bWJuYWlsU2VydmljZSkgeyB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmltZ0VsKSB7XG4gICAgICAgICAgICB0aGlzLmltZ0VsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImxvYWRcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGZyb20odGhpcy50aHVtYm5haWxTZXJ2aWNlLmdldEJpbmFyeUZpbGUodGhpcy5pbWdFbC5uYXRpdmVFbGVtZW50KSlcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKG9yaWVudGF0aW9uOiBudW1iZXIpID0+ICh0aGlzLm9yaWVudGF0aW9uID0gb3JpZW50YXRpb24pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -62,4 +62,4 @@ var ThumbnailService = /** @class */ (function () {
|
|
|
62
62
|
return ThumbnailService;
|
|
63
63
|
}());
|
|
64
64
|
export { ThumbnailService };
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy90aHVtYm5haWwvdGh1bWJuYWlsLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0M7SUFBQTtJQXlEQSxDQUFDO0lBeERVLHdDQUFhLEdBQXBCLFVBQXFCLEdBQXFCO1FBQTFDLGlCQXNCQztRQXJCRyxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUEsT0FBTztZQUN0QixJQUFNLGNBQWMsR0FBRyxLQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsQ0FBQztZQUV0RCxJQUFJLElBQUksR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUU7Z0JBQzFCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUFFO29CQUNwRSxJQUFNLGFBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNsRCxJQUFJLEdBQUcsSUFBSSxDQUFDO29CQUNaLE9BQU8sQ0FBQyxhQUFXLENBQUMsQ0FBQztpQkFDeEI7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQzNCLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLGFBQWEsQ0FBQztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOztPQUVHO0lBQ0sseUNBQWMsR0FBdEIsVUFBdUIsSUFBaUI7UUFDcEMsSUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNO1lBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7UUFFOUQsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMvQixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFFZixPQUFPLE1BQU0sR0FBRyxNQUFNLEVBQUU7WUFDcEIsSUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDN0MsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUVaLElBQUksTUFBTSxJQUFJLE1BQU0sRUFBRTtnQkFDbEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRTtvQkFDcEQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7aUJBQzVCO2dCQUNELElBQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDO2dCQUM5RCxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dCQUM3QyxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDNUMsTUFBTSxJQUFJLENBQUMsQ0FBQztnQkFFWixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRTtvQkFDekIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU07d0JBQUUsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDbEgsdUNBQXVDO2FBQ3RDO2lCQUFNLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLElBQUksTUFBTTtnQkFBRSxNQUFNOztnQkFDekMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2hEO1FBQ0QsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7SUFDN0IsQ0FBQztJQXhEUSxnQkFBZ0I7UUFENUIsVUFBVSxFQUFFO09BQ0EsZ0JBQWdCLENBeUQ1QjtJQUFELHVCQUFDO0NBQUEsQUF6REQsSUF5REM7U0F6RFksZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUaHVtYm5haWxTZXJ2aWNlIHtcbiAgICBwdWJsaWMgZ2V0QmluYXJ5RmlsZShpbWc6IEhUTUxJbWFnZUVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgICAgY29uc3QgZ2V0T3JpZW50YXRpb24gPSB0aGlzLmdldE9yaWVudGF0aW9uLmJpbmQodGhpcyk7XG5cbiAgICAgICAgICAgIGxldCBodHRwID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG4gICAgICAgICAgICBodHRwLmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaHR0cC5yZWFkeVN0YXRlID09PSA0ICYmIChodHRwLnN0YXR1cyA9PSAyMDAgfHwgaHR0cC5zdGF0dXMgPT09IDApKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG9yaWVudGF0aW9uID0gZ2V0T3JpZW50YXRpb24oaHR0cC5yZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgICAgIGh0dHAgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKG9yaWVudGF0aW9uKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaHR0cC5hZGRFdmVudExpc3RlbmVyKFwiZXJyb3JcIiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGh0dHAgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk7Do28gZm9pIHBvc3PDrXZlbCBjYXJyZWdhciBhIGltYWdlbVwiKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBodHRwLm9wZW4oXCJHRVRcIiwgaW1nLnNyYywgdHJ1ZSk7XG4gICAgICAgICAgICBodHRwLnJlc3BvbnNlVHlwZSA9IFwiYXJyYXlidWZmZXJcIjtcbiAgICAgICAgICAgIGh0dHAuc2VuZChudWxsKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0b3JuYSBhIHRhZyBkYSBvcmllbnRhw6fDo28gRVhJRiB7LTF9IE7Do28gZGVmaW5pZG8sIHstMn0gTsOjbyDDqSBmb3JtYXRvIEpQRUcsIHsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4fSB2YWxvcmVzIGRhIG9yaWVudGHDp8Ojby5cbiAgICAgKi9cbiAgICBwcml2YXRlIGdldE9yaWVudGF0aW9uKGZpbGU6IEFycmF5QnVmZmVyKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmlldyA9IG5ldyBEYXRhVmlldyhmaWxlKTtcblxuICAgICAgICBpZiAodmlldy5nZXRVaW50MTYoMCwgZmFsc2UpICE9IDB4ZmZkOCkgcmV0dXJuIC0yOyAvLyBub3QganBlZ1xuXG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHZpZXcuYnl0ZUxlbmd0aDtcbiAgICAgICAgbGV0IG9mZnNldCA9IDI7XG5cbiAgICAgICAgd2hpbGUgKG9mZnNldCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgbWFya2VyID0gdmlldy5nZXRVaW50MTYob2Zmc2V0LCBmYWxzZSk7XG4gICAgICAgICAgICBvZmZzZXQgKz0gMjtcblxuICAgICAgICAgICAgaWYgKG1hcmtlciA9PSAweGZmZTEpIHtcbiAgICAgICAgICAgICAgICBpZiAodmlldy5nZXRVaW50MzIoKG9mZnNldCArPSAyKSwgZmFsc2UpICE9IDB4NDU3ODY5NjYpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOyAvLyBub3QgZGVmaW5lZFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBsaXR0bGUgPSB2aWV3LmdldFVpbnQxNigob2Zmc2V0ICs9IDYpLCBmYWxzZSkgPT0gMHg0OTQ5O1xuICAgICAgICAgICAgICAgIG9mZnNldCArPSB2aWV3LmdldFVpbnQzMihvZmZzZXQgKyA0LCBsaXR0bGUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRhZ3MgPSB2aWV3LmdldFVpbnQxNihvZmZzZXQsIGxpdHRsZSk7XG4gICAgICAgICAgICAgICAgb2Zmc2V0ICs9IDI7XG5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRhZ3M7IGkrKylcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZpZXcuZ2V0VWludDE2KG9mZnNldCArIGkgKiAxMiwgbGl0dGxlKSA9PSAweDAxMTIpIHJldHVybiB2aWV3LmdldFVpbnQxNihvZmZzZXQgKyBpICogMTIgKyA4LCBsaXR0bGUpO1xuICAgICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1iaXR3aXNlXG4gICAgICAgICAgICB9IGVsc2UgaWYgKChtYXJrZXIgJiAweGZmMDApICE9IDB4ZmYwMCkgYnJlYWs7XG4gICAgICAgICAgICBlbHNlIG9mZnNldCArPSB2aWV3LmdldFVpbnQxNihvZmZzZXQsIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gLTE7IC8vIG5vdCBkZWZpbmVkXG4gICAgfVxufVxuIl19
|
package/esm5/public-api.js
CHANGED
|
@@ -31,9 +31,10 @@ export * from "./components/table/index";
|
|
|
31
31
|
export * from "./components/thumbnail/index";
|
|
32
32
|
export * from "./components/tile/index";
|
|
33
33
|
export * from "./components/token-list/index";
|
|
34
|
+
export * from "./components/profile-picture-picker";
|
|
34
35
|
export * from "./components/utils/index";
|
|
35
36
|
export * from "./components/global-search/index";
|
|
36
37
|
export * from "./components/code-editor/index";
|
|
37
38
|
export * from "./components/tooltip";
|
|
38
39
|
export * from "./angular-components.module";
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRDs7R0FFRztBQUNILGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2JyZWFkY3J1bWIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvYnV0dG9uL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2NhbGVuZGFyLW1hc2svaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvY29sbGFwc2UtbGluay9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9jb250cm9sLWVycm9ycy9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9jdXN0b20tZmllbGRzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9lZGl0YWJsZS1vdmVybGF5L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2VtcHR5LXN0YXRlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2ltYWdlLWNyb3BwZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvaW5mby1zaWduL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2xvYWRpbmctc3RhdGUvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvbG9jYWxlL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL2xvY2FsaXplZC1udW1iZXItaW5wdXQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvbWFzay9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9tb3VzZS1ldmVudHMvaW5kZXhcIjtcbi8qKlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIG9uIGEgbWFqb3IgdXBkYXRlIFxuICovXG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL251bWJlci1pbnB1dC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9iaWdudW1iZXItaW5wdXQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvb2JqZWN0LWNhcmQvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvcHJvZHVjdC1oZWFkZXIvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvc2lkZWJhci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9zdGF0cy1jYXJkL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3N0ZXBzL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3RpbWVsaW5lL2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3RhYmxlLWhlYWRlci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy90YWJsZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy90aHVtYm5haWwvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvdGlsZS9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy90b2tlbi1saXN0L2luZGV4XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb21wb25lbnRzL3Byb2ZpbGUtcGljdHVyZS1waWNrZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvdXRpbHMvaW5kZXhcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHMvZ2xvYmFsLXNlYXJjaC9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy9jb2RlLWVkaXRvci9pbmRleFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcG9uZW50cy90b29sdGlwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbmd1bGFyLWNvbXBvbmVudHMubW9kdWxlXCI7XG4iXX0=
|